您的位置:首页 > 其它

ospf的建立过程

2009-07-17 18:32 267 查看
ospf建立过程 刚学完了ospf(open shortest path first)、eigrp、bgp等三大协议,这也是路由原理所要求会的知识,尤其ospf,是我们这门课的重点的重点,所以在这里也觉得有了一些自己的看法,也分享一下吧!!! 在理解之前,我觉得,脑中最好有这些东西,它们就像是ospf学习的一些主干吧!![align=center] 首先有5个报文[/align]1.hello报文2.database dscription (DBD)数据描述报文3.link-state request (LSR) 链路状态请求报文4.link-state update (LSU) 链路状态更新报文5.link-state ACK(LSAck) 链路状态确认报文 [align=center]然后是七个状态[/align]1.DOWN 状态2.INIT状态3.TWO-WAY状态4.EXSTART状态5.CXCHANGE状态6.LODING 状态7.FULL状态 只有有了这些东西,然后 把5个报文分别放入相应的状态里,相信你就会有一个新的理解了!!!! 好了先从状态入手吧!1.DOWN状态 在这状态下,所有的设备刚起动,所以相互之间没有交换任何数据,所以也称关闭状态!2.INIT状态 这个状态又称准启动状态,这时所有的设备开始交换hello报文了(有了报文了注意,hello报文就是在这里出现了,内容是通告自己是谁,谁在这个链路上),邻居收到同样也用hello报文回复一个(我是谁,我有这个链路上)这时,设备知道了对方的存在了,所以开始进入下一个状态3.TWO-WAY 状态 承上启下,通过比较hello报文中(是否routr-id唯一、是否有相同的生存时间和死亡时间等条件)所有要求符合了,这时就建立了邻居关系(补一点,hello报文也是区分链路状态和距离矢量的重要之处) &&&如果所属的网络类型是广播类型,这时就要在这里选举DR/BDR(靠优先级选,优先级相同时,由router-id来选举),再进入下一状态4.EXSTART状态 邻居已建立了(从这里到最后都属于邻接关系的建立了),开始传送一个DBD报文(又出现了一个报文),开始交换自己的(LSDB的一个摘要数据),当彼此收到了DBD报文后就回复一个LSAck报文(出现了一个报文)表示我收到了,双方确认后,进入下一个状态5.EXCHANGE状态 这时设备之间就开始用这个DBD报文描述的内容与自身的LSDB(Link-state database 链路状态数据库)比较,当发现了DBD报文中的自己没有的内容时,这时便进入了下一个状态 6.LOAING状态 设备由对方的DBD报文比较出了自己没有的内容,所以要开始发送LSR报文(出现了一个报文)向邻居学习,这时邻居没有的也会向自己发送LSR报文学习,当彼此收到了LSR便发送一个LSAck报文确认收到,并且再向对方发送一个LSU报文(出现了一个报文)告诉邻居所请求的内容,彼此收到了LSU报文后也要发送一个LSAck报文确认!!这时都开始记录了,随之也进入了下一个状态7.FULL状态 设备都学习到了LSU报文内容,这时邻接建立完成!!FULL状态也完成! 在时,其实设备的路由表中是不会有任何学习来的条目的,因为ospf是基于报文来让其它设备学习记录的,(这也是链路状态与距离矢量的区别吧)这时如果在设备上show ip route只能看到直连网段,因为ospf协议在进行完了上面的七种状态后,还要进行spf计算,最后再由管理距离决定最后进入路由表中的条目!! 是不是看了上面的过程有点晕,呵呵!毕竟是我的理解,由于知识及表达能力上的不足,所以也希望你能多看山山几遍!希望对你有些帮助吧!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: