DIS选举
1.0参加选举
2.广播链路才选举DIS
3.根据接口优先级选举,0-127,8比特位,第8位保留。
4.用于广播链路上的LSDB同步
5.每10秒泛洪一次CSNP
PSNP CSNP携带报文摘要信息:SEQ,CHECKSUM,ROUTER LIFE LSI ID.用于描述一条LSP。
PSNP 用于请求其描述的LSP,SEQ=0
PSNP 用于确认收到其描述的LSP,SEQ非0
广播链路进行数据库同步:
*不考虑抢占情况下,DIS是AR1,AR3为刚加入的节点。
首先发送HELLO报分别和R1,R2建立邻居
建立后等待LSP刷新定时器,AR3和DIS会各自发送自身产生的所有LSP
AR2收到后将AR3的加入自己的LSDB并泛洪给其他链路邻居,不回复PSNP确认
AR1收到AR3也加入自身的LSDB,不做回复。
收到CSNP后对比自身,请求没有的,不做回复。
使用CSNP周期泛洪达到确认AR1,AR2,AR3数据库完全同步。
LSDB数据库如何更新和老化一条LSP
在数据库中找LSPID 如果没有则加入数据库
如果有,则比较SEQ,如果比自身小,则把自身大的LSP发给入接口的链路,如果比自身大,则替换自身LSP。
如果SEQ相同,则看ROUTER LIFE 是否为0,为0则删除自身相同的LSP并泛洪,如果不为0则比较CHECKSUM。
如果自身CHECKSUM大,则向入接口发送自身LSP,如果自身小,则替换自身LSP。
如果CHECKSUN相同则不转发。
*OSPF如何老化一条LSA:将AGE设为3600秒泛洪出去。
*RIP:将跳数设置为16跳
*ISIS:将ROUTER LIFE 设为0
P2P链路进行数据库同步
各自发送HELLO建立邻居
产品文档:
1.RouterA先与RouterB建立邻居关系。
2.建立邻居关系之后,RouterA与RouterB会先发送CSNP给对端设备。如果对端的LSDB与CSNP没有同步,则发送PSNP请求索取相应的LSP。
3.假定RouterB向RouterA索取相应的LSP。RouterA发送RouterB请求的LSP的同时启动LSP重传定时器5S,并等待RouterB发送的PSNP作为收到LSP的确认。
4.如果在接口LSP重传定时器超时后,RouterA还没有收到RouterB发送的PSNP报文作为应答,则重新发送该LSP直至收到PSNP报文。
ENSP实际结果:
建立邻居关系后互发自身的LSP
收到后确认PSNP
最后CSNP来确认同步的数据库。