l对于Level-1路由器来说,只有属于同一区域才可以建立邻居,对于Level-2路由器则没有此同一区域限制
Attatch bit(ATT bit)
由L1/L2路由器产生
当某个区域的L1/L2 路由器和其它区域有连接关系的时候,它将在它产生的L1 LSP中设置ATT bit,来告诉本区域中的L1路由器,它有一个区域出口点;
本区域的L1路由器利用L1 LSPDB中的ATT bit来作为可能的区域出口点
如果有多个,选择一个离自己最近的设置了ATT bit的L1/L2路由器作为区域的缺省出口点,对于IP路由来说,具体表现就是L1路由安装一条指向该L1/L2路由的缺省路由0.0.0.0/0在路由表中。
Checksum:LSP的校验和。
P(Partition Repair):仅与L2 LSP有关,表示路由器是否支持自动修复区域分割。
ATT(Attachment):由L1/L2路由器产生。
如果L1/2路由器分别连接Level-1路由器和Level-2路由器,则会分别维护这两份路由表。当只有Level-2路由表中有Level-1路由表中没有的路由表项时才会产生ATT标志位。
OL(LSDB Overload):表示本路由器因内存不足而导致LSDB不完整。其他路由器在得知这一信息后,就不会把需要此路由器转发的报文发给它,但到此路由器直连地址的报文仍然可以被转发。
1. 新加入的路由器RouterC 首先发送Hello 报文,与该广播域中的路由器建立邻居关
系。(请参见广播链路邻居关系的建立)
2. 邻居关系建立起来后,RouterC 等待LSP 定时器超时然后将自己的LSP 发送往组
播地址:
− Level-1:01-80-C2-00-00-14
− Level-2:01-80-C2-00-00-15
即网络上所有的邻居都将收到该LSP。
3. 该网段中的DIS 会把收到RouterC 的LSP 加入到LSDB 中,并等待CSNP 报文定
时器超时并发送CSNP 报文,进行该网络内的LSDB 同步。CSNP 报文的发送间
隔缺省值为10 秒。
4. 路由器RouterC 收到DIS 发来的CSNP 报文,对比自己的LSDB 数据库,发送
PSNP 报文请求自己没有的LSP。
5. DIS 收到该PSNP 报文请求后发送对应的LSP 进行LSDB 的同步。
DIS 的LSDB 更新过程
DIS 接收到LSP,在数据库中搜索对应的记录。若没有该LSP,则将其加入数据
库,并广播新数据库内容。
若数据库中的序列号小于报文中序列号,就替换为新报文,并广播新数据库内
容。
若数据库中序列号较大,就向入端接口发送一个本地数据库中的该LSP 新报文。
若两个序列号相等,则不做任何事情。
1. 邻居关系建立请参见点到点链路邻居关系的建立
2. 第一次建立起邻居时,路由器会先发送CSNP 给对端。如果对端的LSDB 与
CSNP 没有同步,则发送PSNP 请求索取相应的LSP。达到数据库同步后,路由器
会启动点到点(P2P)接口上的LSP 和PSNP 定时器,等到LSP 定时器超时后发
送所有的LSP 报文。
3. 如果在LSP 定时器超时后还没有收到对端发送的PSNP 报文作为应答,则重新发
送该LSP。
在点到点(P2P)链路上PSNP 用来作为Ack 应答以确认收到某个LSP。
LSDB 更新的过程
如果收到的LSP 比已有的序列号更大,则将这个新的LSP 存入自己的LSDB 中,
再通过一个PSNP 报文来确认收到此LSP,最后将这个新LSP 再接着发到所有其
他邻居。
如果收到的LSP 和已有的具有相同的序列号,则直接通过一个PSNP 报文确认收
到此LSP。
如果收到的LSP 比已有的序列号更小,则直接给对方发送自己版本的LSP,然后
等待对方给自己一个PSNP 报文作为回答。
相同点:
IS-IS和OSPF是链路状态路由协议的两个最典型的代表,都采用SPF算法来计算路由;
由于具有快速收敛、无环路等特点,IS-IS和OSPF都能很好地支持大型网络,但从全球的部署来看,采用OSPF的还是占了多数,而IS-IS在近几年开始得到比较多的应用;
IS-IS和OSPF一样采用Hello协议来维护邻居关系,但IS-IS的Hello协议与OSPF具体实现上有所不同;
IS-IS和OSPF都采用分层路由的概念,都有骨干区域,为网络规划提供了比较灵活而且实际的设计方案;
为了控制链路状态数据库的规模和复杂度,IS-IS和OSPF在广播网络上都选举DR来担任数据库同步的主要角色,但在细节处理上还是有较大的差别的;
对协议报文的验证能力是所有高级路由协议所必须具备的功能,IS-IS对于协议报文的验证处理是有些特别的,它按照Level和PDU类型来处理;
IS-IS和OSPF对路由开销的度量(metric)都采用了接口可配置的cost,能够比较正确地反映网络的实际情况;
在支持大型网络的时候,触发更新的Update方式比周期性广播方式要节约大量的协议报文所产生带宽消耗;
对于每个LSP(LSA)都有一个记时器相关联,正常情况下在一定时间内(较长时间)会更新重新计时,如果在规定时间内没有收到新的更新,将从数据库中清除该LSP(LSA),不再用做路由计算用;
对于边缘区域中的路由器,一是通过区域划分,二是通过设置区域类型来减少对路由器资源的需求。IS-IS可以将区域中的路由器设置为level-1 only类型,OSPF可以将整个区域设置为stub来减少数据库的大小,同时保证正确路由。
不同点:
IS-IS最初是为ISO的标准协议,为CLNS(connectless network service 无连接网络服务)设计的,后来增加了对IP的支持;而OSPF一开始就是IETF为IP网络设计的;由于IS-IS历史上是为CLNS路由而制定的,发展比较缓慢,对于IP的支持很多地方需要改进,虽然已经提出了draft,但大部分还没有形成RFC,CNLP(connectless network protocol 无连接网络协议)和IP双环境使用的优势并不明显,是一个不是很成熟的协议; OSPF是专门为IP设计的,更适合IP的路由,发展成熟,标准化程度高,支持厂商多,使用多缺点暴露多,改进也多。
IS-IS协议直接在链路层上运行,报文直接封装在链路层报文中,支持CLNS、IP等多种协议;OSPF报文封装在IP中,只支持IP协议;
IS-IS协议中整个路由器只能全部属于一个区域,区域边界位于两个路由器之间,路由器的LSDB按Level来维护;而OSPF按接口来,一个路由器可以属于多个区域,为每个区域维护一个LSDB数据库;
OSPF通过特殊的区域ID Area0区来定义骨干区,而IS-IS是通过连续的L2路由器来组成骨干区;
IS-IS的采用的Hello协议比较简单,OSPF比较复杂;而且IS-IS检查比较宽松,邻居之间的Hello和Dead等间隔不一定必须一样,不象OSPF要求必须一致才能形成邻居关系;
IS-IS的LSP生存时间是从15分钟(可配置)往下计算到0来清除旧的LSP,而OSPF是从0往最大值涨到60分钟(周期不可配置)来清除更新旧的LSA的;
IS-IS协议的DR选举比较简单,而且是抢占式可预见的,优先级最高的是DR,优先级别为0的也可能成为DR;为了保证变动比较小,OSPF协议DR选举机制比较复杂并不可预见,优先级最高的不一定是DR,优先级为0的不可能成为DR,并且有BDR的概念,DR失败,BDR立即承担DR的职责,而IS-IS没有BDR,DR失败,重新选举DR;
IS-IS不支持P-2-MP类型的网络,并且NBMA网络都只能设置为子接口模拟成P2P来运行;OSPF可以很好地支持以下各种网络类型:Broadcast,NBMA,P-2-P,P-2-MP;
标准的IS-IS 接口cost取值为:0-63,对链路层区分不够,并且一个网络的metric达到1024就认为不可达;而OSPF接口cost取值范围为:0-1024,一个网络的metric达到65535才认为不可达。