什么是路由
路由是从网络设备出发到下一目的地址的路径,而路由表就是这些路径的集合(路由表存在于终端计算机和路由器等的三层设备)
路由信息三要素:
- 目的地址/掩码
- 出接口
- 下一跳地址
路由表
Destination/Mask(目的地址/掩码):数据包最终要到达的地址
Proto(路由类型):D直连路由、S静态路由、RIP等为动态路由
NextHop(下一跳地址):数据包从出接口出来后下一个要到达路由设备的地址
Interface(出接口):数据包到此路由设备后该从哪出
(如果出接口的IP地址与下一跳的地址相同,则说明出接口已经直连到该路由项所指的目的网络,这时出接口与下一跳地址所对应的接口一定是二层设备的接口,同属于一个二层广播域)
路由选择
当路由器的IP转发模块接受到一个IP报文时,就会跟此路由设备的路由表上的路由项一一进行匹配,当IP报文的目的地址与路由项上的Destination/Mask的Mask相“与”后与Destination一致时,就会按此路由项进行转发(当出现多条路由项同时匹配成功时按照最长掩码匹配规则进行转发)
路由信息生成方式
- 自动生成:路由设备自己生成的路由项,也就是直连路由
- 手动配置:手动配置上的静态路由
- 动态学习:通过动态路由协议与其它路由器交换路由表,也称为动态路由
RIP动态路由
RIP(Routing Information Protocol路由信息协议)是一种位于IGP(内部网关协议)的动态路由协议,采用距离矢量算法来选择路径。由于一条路径最大只支持16跳(15台路由器)所以RIP主要应用于规模小、可靠性较低的网络。
使用RIP协议的系统网中,其中所有的路由器一般都是采用RIP协议来动态学习路由表,路由器会先记录直连路由来构成路由表,后定时与邻居分享学习路由表。
两个版本的RIP的下一跳默认都是以通告方路由接口的地址作为下一跳。
RIP路由是谣言路由(有的学就学,不验证)。
- 通过广播更新路由表(广播地址:255.255.255.255)
- 通过组播更新路由表(组播地址:224.0.0.9)以下兼容
- 支持外部路由Tag
- 支持路由聚合和CIDR(变长子网)
- 支持指定下一跳(选择次优路径)
- 支持报文认证
- 同目的不同下一跳并且跳数一样时采用负载均衡
RIPv1报文结构:
Command:1为请求报文,2为响应报文(8bit)
Version:RIP版本号(8bit)
Must by zero:保留位置
Address Family Identifier:对于IPv4协议,该字段取值为2。当该消息是对整张路由表的请求消息时,该字段取值为0。
IP Address:该字段表示路由的目的地址。
Metric:该字段是指RIP中的跳数。虽然该字段取值范围为0-2^32,但是在RIP中,该字段的取值范围为1-16(15台路由器)。
RIPv2报文结构:
Route Tag:用于标记外部路由或者引入到RIPv2协议中的路由。
Subnet Mask:用来标识使用IPv4地址的网络和子网部分(支持无类网段)。
Next Hop:指定下一跳地址。如果该字段为0.0.0.0,说明为直连网段,最优先。
当RIPv2配置认证时,RIPv2会对报文第一条Route Entries进行修改。具体修改如下:
Address Family Identifier字段改为0XFFFF。
Route Tag字段改为Authentication Type字段。
IP Address、Subnet Mask、Next Hop和Metric会变为口令字段。
定时器
RIP主要使用三个定时器
更新定时器(定时触发更新,周期30s)
↓
老化定时器(180s内没有收到同样的路由项则修改该路由项的Metric为16从认定该路由项不可达)
↓
垃圾收集定时器(120s后老化后的路由项目没有收到邻居的更新则删除此路由项)
RIP防环机制
水平分割:不会把刚学到的路由再次从该接口发回给邻居设备(在NMBA网络中,水平分割缺省是禁用的)
毒性逆转:把从再次发回给邻居设备的路由条目设置为16即不可达,这样可以清除对方路由表中无用的路由
触发更新:当路由信息发生改变时,会及时向邻居设备发送触发更新的条目,但不会改变定时器的时间
RIP工作过程
- Request:请求,初始化,向邻居请求路由表
- Response:发送路由表(路由更新)
- 初始状态:路由器开启RIP进程,宣告相应接口,则设备就会从相关接口发送和接收RIP报文。
- 构建路由表:路由器依据收到的RIP报文构建自己的路由表项。
- 维护路由表:路由器每隔30秒发送更新报文以维护自己的路由表项。
- 老化路由表项:路由器为将自己构建的路由表项启动180秒的定时器。180秒内,如果路由器收到更新报文,则重置自己的更新定时器和老化定时器。
- 垃圾收集表项:如果180秒过后,路由器没有收到相应路由表项的更新,则启动时长为120秒的垃圾收集定时器,同时将该路由表项的度量置为16。
- 删除路由表项:如果120秒之后,路由器仍然没有收到相应路由表项的更新,则路由器将该表项删除。
路由聚合
同一自然网段的不同子网的路由项目自动聚合从而缩减路由表
例子:
对于10.1.0.0/16(metric=10)和10.2.0.0/16(metric=2)这两条路由,会聚合成自然网段路由10.0.0.0/8(metric=2)。
OSPF动态路由
OSPF(Open shortest Path First开放式最短路径优先)也是IGP内部网关的一种链路状态协议,采用SPF算法计算并选择出最短的路径,链路状态协议只是通告给邻居一些链路状态。运行该路由协议的路由器不是简单地从相邻的路由器学习路由,而是把路由器分成区域,收集区域的所有的路由器的链路状态信息,根据状态信息生成网络拓扑结构,每一个路由器再根据拓扑结构计算出路由。(OSPF工作在IP协议端口号(89))
OSPF采用一种区域(Area)化的结构来分割网络便于管理和维护,一个OSPF自治系统由一个Area 0 骨干区域(其为中心必须要有)和其它非骨干区域组成,(互不干扰,全网互通),经过其它区域的0区域的信息不学。
- 邻居表
- LSDB数据链路状态数据库表
- 路由表
OSPF五种报文
- Hello报文:用于建立和维持邻居的关系(确认邻居的存活与否)
- DD报文:描述本地LSDB的摘要信息,用于两台路由器进行数据库同步
↓
- LSR报文:请求对方的链路状态(LSA),报文中含有自己所需的对方数据库中的LSA
- LSU报文:响应对方的LSR报文
- LSAck报文:确认接收LSA信息、
OSPF报文头部信息,所有的OSPF报文使用相同的OSPF报文头部。
- Version :OSPF协议号,应当被设置成2。
- Type:OSPF报文类型,OSPF共有五种报文。
- Packet length:OSPF报文总长度,包括报文头部。单位是字节。
- Router ID:生成此报文的路由器的Router ID。
- Area ID:此报文需要被通告到的区域。
- Checksum:是指一个对整个数据包(包括包头)的标准IP校验和。
- AuType:验证此报文所应当使用的验证方法。
- Authentication:验证此报文时所需要的密码等信息。
- Network Mask:发送Hello报文的接口的网络掩码。
- HelloInterval:发送Hello报文的时间间隔。间隔为10秒。
- Options:标识发送此报文的OSPF路由器所支持的可选功能。具体的可选功能不在本课程的讨论范围之列。
- Rtr Pri:发送Hello报文的接口的Router Priority,用于选举DR和BDR。
- RouterDeadInterval:宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。
- Designated Router:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR路由器。
- Backup Designated Router:发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR路由器。
- Neighbor:邻居路由器的Router ID列表(邻居接口地址)。表示本路由器已经从该邻居收到合法的Hello报文。
- 接口MTU:是指在数据包不分段的情况下,始发路由器接口可以发送的最大IP数据包大小。当在虚连接时,该在段为0x0000。
- Option:同hello报文。
- I位:当发送的是一系列DD报文中的第一个数据包时,该为置位为1。后续的DD报文将该位置位0。
- M位:当发送的数据包还不是一个系列DD报文中的最后一个数据包时,该为置为1。如果是最后一个DD报文,则将该为置为0。
- MS位:在数据库同步中,主要用来确认协商过程中的序列号。
- DD Sequence Number:DD的序列号报文。
- LSA头部信息。
- Link State Type:用来指明LSA标识是一个路由器LSA、一个网络LSA还是其他类型的LSA。
- Link State ID:不同类型LSA该字段意义不同。
- Advertising Router:始发LSA通告的路由器的路由器ID。
- Number of LSA:指出这个数据包中包含的LSA的数量。
- LSA:明细LSA信息
- Header of LSA:LSA头部信息。
网络类型
- 广播类型:数据链路层是以太网等(广播转发信息);
- 特点:
- 以太网接口
- 自动发现和建立邻居关系
- Hello:组播224.0.0.5发给所有
- DD:单播
- LSR:单播
- LSU:组播224.0.0.6
- LSAck:组播224.0.0.6
- 选举DR/BDR规则:端口DR优先级→RID(越大越优),2way状态下开始选举(40秒停留时间)
- NBMA类型(非广播):数据链路层是帧中继,当链路层协议是ATM时,缺省情况下,OSPF认为网络类型是NBMA。在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
- 特点:
- 连接方式:帧中继
- 手工方式指定邻居
- 所有报文都是单播方式发送
- 也要选举DR/BDR
- Hello时间/Dead老化时间:30s/120s
- 点对点(P2P)类型:数据链路层对等连接采用PPP、HDLC等协议进行认证,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)
- 特点:
- 连接方式:串口(封装:PPP认证、HDLC默认的不支持认证),帧中继在子接口运行也是P2P模式
- 自动发现和建立邻居关系
- 消息都是以组播的方式发送:224.0.0.5
- 无须选举DR和BDR
- Hello时间/Dead老化时间:10s/40s
- 点对多点(P2MP):点到多点必须是由其他的网络类型强制更改的。常用做法是将非全连通的NBMA改为点到多点的网络。在该类型的网络中以组播形式(224.0.0.5)发送Hello报文,以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。
- 特点:
- 没有物理接口是点对多点的
- 自动发现和建立邻居关系
- 组播方式传播
- Hello时间/Dead老化时间:30s/120s
DR/BDR简介
一个网络中只存在一个DR和BDR,其余为Drother,其中的所有路由信息都会汇总到DR上,由DR整理计算再转发给BDR(储存完整副本)和Drother。BDR不会收到来自Drother发来的路由信息,仅从DR那同步信息:
Drothe与Drother之间建立完全邻居关系(信息的小部分交换)
Drother只与DR/BDR建立完全邻接关系(同步路由表,信息完整交换)。
DR与BDR之间建立完全邻接关系
OSPF组播地址:224.0.0.5(all路由的通信地址)
OSPF组播地址:224.0.0.6(DR/DBR的通信地址)
DR发送LSU报文用的是组播224.0.0.5地址,DR发送给BDR用的是组播地址224.0.0.6
作用:
减少邻居关系的数量,从而减少链路状态信息和路由信息的次数。
DR产生网络LSA来描述NBMA网段或者广播网段信息。
DR/BDR选举规则
- DR/BDR由OSPF的Hello协议选举,选举是根据端口的路由器优先级(Router Priority)进行的。
- 如果Router Priority被设置为0,那么该路由器将不允许被选举成DR或者BDR。
- Router Priority越大越优先。如果相同,Router ID(OSPF的ID首先看配置的ROUTE ID,如果没有配置ROUTE ID,看LOOKBACK 地址作为ID,如果没有LOOKBACK,那么在OPSF接口中选择最大的IP地址作为ID.)大者优先。
- DR/BDR不能抢占。
- 如果当前DR故障,当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR故障,则DR不变,重新选举BDR。
OSPF认证
- 认证分类:
- 接口认证
- 区域认证
- 认证方式:
- Null
- Simle
- MD5
- HMAC-MD5
LSA类型
Router-LSA(Type1):每台路由器产生,本区域内泛洪,描述了路由器的链路状态和开销(link (id、data、tpye、metric))。
Network-LSA(Type2):DR产生,描述MA网段的链路状态(拓扑信息)区域内泛洪(收集完LSA1和LSA2后,会画出区域内的详细拓扑,并通过SPF生成SPF算法计算出区域内的所有路由)
Network-summary-LSA(Type3):LAS1路由汇总生成LSA2后由ABR生成LSA3,描述区域内某个网段的路由,区域间传播(除特殊区域)
报文结构:Is id= 网段
:Mask=网段掩码
:Cost=开销
ASBR-summary-LSA(Type4):ABR产生,描述到ASBR的路由,OSPF域内(整个OSPF自治系统)传播(除特殊区域)
AS-external-LSA(Type5):ASBR产生,描述到AS外部的路由,OSPF域内传播(除特殊区域)
报文结构:Is id= 外部网络的网段
:Mask=网段掩码
:Cost=开销
NSSA LSA(Type7):由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
接口类型
- MA接口:transitnet过渡网络
:Link id:DR接口IP
:data:本地接口IP地址
- PPP/HDLC接口:P2P类型接口
:Link id:邻居 router-id
:data:自身接口IP
还有一段描述自身网络的路由
- Stub末梢接口:没有邻居的接口都是末梢接口
:Link id:接口自身IP地址
:data:自身IP地址的子网掩码
- Vlink:虚链路
:Link id:虚链接的邻居router-id
:data:去往虚链接邻居的本地接口IP地址
Option字段解释:
- DN:用来避免在MPLS VPN中出现环路。当3类、5类和7类LSA中设置了DN位之后,接收路由器就不能够在它的OSPF路由计算中使用该LSA。
- O:该字段指出始发路由器支持Opaque LSA(类型9、类型10和类型11)。
- DC位:当始发路由器支持按需链路上的OSPF的能力时,该位将被设置。
- EA:当始发路由器具有接收和转发外部属性LSA的能力时,该位被置位。
- N位:只在Hello数据包中。N=1表明路由器支持7类LSA。N=0表明该路由器将不接收和发送NSSA LSA。
- P位:只用在NSSA LSA。该位将告诉一个非纯末节区域中的ABR路由器将7类LSA转换为5类LSA。
- MC位:支持MOSPF。
- E位:当始发路由器具有接收OSPF域外部LSA的能力时,该位置位。在所有5类LSA和始发于骨干区域以及非末节区域的LSA中,该位置为1。而始发与末节区域的LSA中,该位置为0。如果Hello报文中该位表明一个接口具有接收和发送5类LSA的能力。
- MT位:表示始发路由器支持多拓扑OSPF。
邻居状态建立:
- Down:这是邻居的初始状态,表示没有从邻居收到任何信息。
- Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。在此状态下的邻居要被包含在自己所发送的Hello报文的邻居列表中。
- 2-Way (停留40秒建立邻居关系):在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。如果网络为广播网络或者NBMA网络则选举DR/BDR。
在形成邻居关系过程中,需要对Hello报文携带的参数进行协商:
- 如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段;
- 路由器双方的Hello报文中的Hello(更新)和Dead(老化)时间必须保持一致;
- 所接收的Hello报文中的认证字段需要一致;
- 所接收的Hello报文中的Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置保持一致。
- 所接收的Hello报文中的区域字段必须一致。
邻接状态建立:
Exstart:确认主从关系,通过两个报文,各自发送DD报文,报文里比对内容(MTU=0单次发送最大数据包的大小,一般为1500),
- 邻居状态机变为ExStart以后,R1向R2发送第一个DD报文,在这个报文中,DD序列号被设置为552A(假设),Initial比特为1表示这是第一个DD报文,More比特为1表示后续还有DD报文要发送,Master比特为1表示R1宣告自己为主路由器。
- 邻居状态机变为ExStart以后,R2向R1发送第一个DD报文,在这个报文中,DD序列号被设置为5528(假设)。由于R2的Router ID比R1的大,所以R2应当为主路由器,Router ID的比较结束后,R1会产生一个NegotiationDone的事件,所以R1将状态机从ExStart改变为Exchange。
- 邻居状态机变为Exchange以后,R1发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息(router-id大的为主路由器Sequence序列号(由大的router-id 的序列号开始计算)),序列号设置为R2在第二步里使用的序列号,More比特为0表示不需要另外的DD报文描述LSDB,Master比特为0表示R1宣告自己为从路由器。收到这样一个报文以后,R2会产生一个NegotiationDone的事件,因此R2将邻居状态改变为Exchange。
- 邻居状态变为Exchange以后,R2发送一个新的DD报文,该报文中包含LSDB的描述信息,DD序列号设为5529(上次使用的序列号加1)。
- 即使R1不需要新的DD报文描述自己的LSDB,但是做为从路由器,R1需要对主路由器R2发送的每一个DD报文进行确认。所以,R1向R2发送一个新的DD报文,序列号为5529,该报文内容为空。
- 邻居状态变为Loading之后,R1开始向R2发送LS request报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。
- R2收到LS Request报文之后,向R1发送LS Update报文,在LS Update报文中,包含了那些被请求的链路状态的详细信息。R1收到LS Update报文之后,将邻居状态从Loading改变成Full。
- R1向R2发送LS Ack报文,确保信息传输的可靠性。LS Ack报文用于泛洪对已接收LSA的确认。
状态机:
Down:初始
↓
Init:Hello协商
↓
2way:建立双向关系(邻居)
↓
Exstart:确认主从
↓
Exchange:同步DD数据库
↓
Loading :发送LSR/LSU
↓
Full:发送/接收到LSAck(邻接)
OSPF的特殊区域(减少路由条目从而提升转发性能):
- Stub区域:位于非骨干区域的末梢区域,不允许外部路由(LSA5类)信息在区域内传播(虚链接不能穿过本区域),但ABR会学到外部的路由信息并发出一条LSA3类缺省路由来通告本区域,想把信息传到外部去却不知道怎么走?辣也不行,没事,爸爸知道,爸爸帮你转发。
特点:
Stub区域拒绝LSA4和LSA5进入,但ABR会自动发布一条LSA3的缺省路由
- Totally Stub区域:跟Stub差不多,不同的是从ABR发出的LSA3类的信息和外部路由LSA5类不能在本区域内传播,路由条目减少的更彻底,去往其它区域的信息都走默认路由指向本区域的ABR转发
特点:
拒绝LSA3、4、5类路由,但ABR会自动发布一条LSA3的缺省路由。(完全末梢区域的ABR会用LSA3的报文把自己区域的路由信息通告出去给骨干区域学习。)
NSSA区域中的ASBR自身可以引入外部路由并向整个自治系统传播(LSA7产生处),但傲娇的它并不会学习到其它ASBR传出来的LSA5类信息,其中的ABR路由(RID最大的)会有选择的转化ASBR传来的7类成5类再告知整个自治系统
Totally NSSA区域既不允许其他区域的外部路由ASE LSA(Type5 LSA)在区域内传播,也不允许区域间路由(Type3 LSA)在区域内传播。
IS-IS动态路由
IS-IS适用于TCP/OSI环境中的大型网络,基于SPF算法的链路状态的内部网关(IGP)协议,工作在数据链路层,与OSPF的划分区域的方式不同:IS-IS以链路状态为单位,OSPF以路由器为单位
Area-ID格式不同:IS-IS数据库是有两张LSP,分别为非骨干Lever-1和骨干Lever-2
使用组播地址:01-80-C2-00-00-14 用于发送L1(Lever-1)报文
:01-80-C2-00-00-15 用于发送L2(Lever-2)报文
两种网络类型:广播和P2P
两层分级的网络拓扑结构(骨干和非骨干):
- Level-1路由器(非骨干路由器,除了不同区域的Level-1路由器不能建立邻居关系外的所有路由器两两之间都可建立邻居关系)
- Level-1路由器负责区域内的路由, Level-1路由器只负责维护Level-1的链路状态数据库LSDB,该LSDB包含本区域的路由信息。
- 到本区域外的报文转发给最近的Level-1-2路由器。
- Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。
- Level-2路由器维护一个Level-2的LSDB,该LSDB包含IS-IS区域的所有路由信息。
- 所有Level-2级别(即形成Level-2邻居关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。
- Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。
- Level-1-2路由器维护两个LSDB,Level-1的LSDB 用于区域内路由,Level-2的LSDB用于区域间路由。
- L1-L1的邻居关系条件:
- 同层次、
- 同区域、
- 同网段、
- 同网络类型、
- MTU、
- 认证
↑
L1-2同时维护
↓
- L2-L2的邻居关系条件:
- 同层次、
- 同区域、
- 同网段、
- 同网络类型、
- MTU、
- 认证
- DIS(在广播链路上选举出DIS负责泛洪链路数据报文)
DIS用来创建和更新伪节点,并负责生成伪节点的链路状态协议数据单元LSP,用来描述这个网络上有那些网络设备并传达给其它路由器, 非DIS之间只会传达一次完整的LSP信息,之后更新的LSP都会传给DIS进行汇总,DIS每隔10s泛洪一次最新最完整的LSP,DIS会每隔10s发送一份CSNP报文给所有路由器同步
选举规则:
- 在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS。
- Level-1和Level-2的DIS是分别选举的。
- DIS优先级数值最大的被选为DIS。如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会被选中。
- 用户可以为不同级别的DIS选举设置不同的优先级。
- 优先级为0的路由器也参与DIS的选举,且DIS选举支持抢占。
- 同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系,但LSDB的同步仍然依靠DIS来保证。
- DIS用来创建和更新伪节点,并负责生成伪节点的链路状态协议数据单元LSP,用来描述这个网络上有哪些网络设备。
IS-IS的DIS与OSPF的DR/BDR的不同点:
- 在IS-IS广播网络中,优先级为0的路由器也参与DIS的选举,而OSPF中优先级为0的路由器则不参与DR的选举
- 在IS-IS广播网络中,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中为新的DIS,原有的伪节点被删除,此更改会引起一组新的LSP泛洪。而在OSPF中,当一台新路由器加入后,即使它的DR优先级最大,也不会即成为该网段的DR。
- 在IS-IS广播网络中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有非DIS路由器之间。
IS-IS消息类型:
- 普通路由器发送hello包时间间隔10s,老化时间30秒
- DIS发送Hello数据包的时间间隔是普通路由器的1/3秒,Dead为10秒
LSP在包里直接把拓扑信息和路由信息封装,而OSPF分为LSA1来封装拓扑信息,LSA2来封装路由信息
- 通告拓扑和路由信息
- 生成时间(Age):20分钟
- 通告间隔:15分钟
- SNP
- CSNP:完全序列号报文(相当于DD报文,数据库的摘要信息)
- PSNP:部分序列号报文(相当于LSR和LSAck,用来请求和确认数据库信息)
- HELLO PDU(IIH)用于建立和维持邻居关系(DIS更新间隔3s/Dead:10s,其它设备之间发送Hello包时间间隔为10s/Dead:30s)
- Level-1 LAN IIH
- Level-2 LAN IIH
- P2P IIH
- Level-1 LSP
- Level-2 LSP
- SNP PDU用于维护LSDB 的完整与同步,且为摘要信息
- CSNP
- Level 1 CSNP
- Level 2 CSNP
- PSNP
- Level 1 PSNP
- Level 2 PSNP
IS-IS协议的地址结构示意图
网络服务访问点NSAP(Network Service Access Point)是OSI协议中用于定位资源的地址。NSAP的地址结构如图4所示,它由IDP(Initial Domain Part)和DSP(Domain Specific Part)组成。IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。
- IDP相当于IP地址中的主网络号。它是由ISO规定,并由AFI(Authority and Format Identifier)与IDI(Initial Domain Identifier)两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。
- DSP相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL(NSAP Selector)用来指示服务类型。
IS-IS路由渗透
Level-1-2路由器手动将Level 2层级路由渗透到Level 1层级,可以避免Level-1路由器次优路由
IS-IS路由过载
- 使用IS-IS过载标记位来标识过载状态
- 对设备设置过载标志位后,其它设备在进行SPF计算时不会使用这台设备做转发,只计算该设备上的直连路由(一般用于承载BGP的核心IS-IS)
IS-IS收敛特性
当路由器之间形成了正确的邻接关系时,它们会把LSP扩散到整个域中与所有的路由器上的LSDB达到一致,在某个节点发生变化时,与其建立邻居或者邻接关系的路由器就会把更新后的LSP扩散,其它的路由器收到新的LSP后生成新的LSDB使整个自治系统再次同步,从而恢复新的流量转发。如果要减少路由器震荡对网络的影响,可以设置LSP的间隔时间
IS-IS路由协议的基本术语
IS(Intermediate System):中间系统。相当于TCP/IP中的路由器路由器,是IS-IS协议中生成路由和传播路由信息的基本单元。在下文中IS和路由器"路由器具有相同的含义。
ES(End System):终端系统。相当于TCP/IP中的主机系统。ES不参与IS-IS路由协议的处理,ISO使用专门的ES-IS协议定义终端系统与中间系统间的通信。
RD(Routing Domain):路由域。在一个路由域中多个IS通过相同的路由协议来交换路由信息。
Area:区域,路由域的细分单元,IS-IS允许将整个路由域分为多个区域。 LSDB(Link State DataBase):链路状态数据库。网络内所有链路的状态组成了链路状态数据库,在每一个IS中都至少有一个LSDB。IS使用SPF算法,利用LSDB来生成自己的路由。
LSP(Link State Protocol Data Unit或Link State Packet):链路状态协议数据单元或链路状态报文。在IS-IS中,每一个IS都会生成LSP,此LSP包含了本IS的所有链路状态信息。每个IS收集本区域内所有的LSP生成自己的LSDB。 NPDU(Network Protocol Data Unit):网络协议数据单元,是ISO中的网络层协议报文,相当于TCP/IP中的IP报文。
DIS(Designated IS):广播网络上选举的指定路由器,也可以称为指定IS或伪节点。
NSAP(Network Service Access Point):网络服务接入点,即ISO中网络层的地址,用来标识一个抽象的网络服务访问点,描述ISO模型的网络地址结构。
-----------------------------------------------------------------我是分割线--------------------------------------------------------------
看完了觉得不错就点个赞或者评论下吧,感谢!!!
如果本文哪里有误随时可以提出了,收到会尽快更正的