ospf协议动态路由实验(一)
OSPF协议相比于RIP协议可以适应大规模网络,路由变化收敛速度块,无路由环路,支持边长子网掩码VLSM,支持区域划分并且支持以组播地址发送协议报。本次实验是通过建立简单的网络拓扑结构,来了解OSPF协议的原理。
实验流程
建立如图所示的网络拓扑图。
以R1为例,进入f0/0和f0/1端口添加直连网段IP地址。之后进入loopback虚拟端口添加route ID,这是路由器在网络中的位移身份标识。
显示路由表,可以看到地址已近成功添加。
进入OSPF模式。
指定OSPF协议运行的接口和所在区域。
以相同的方法配置R2和R3,之后查看路由表发现他们之间已经互相学习好路由表。
PC2开始pingPC1,结果ping通了。
OSPF是链路状态协议,通过学习邻居的链路信息,通过Dijkstra算法选择最优路径从而生成路由表。
补充
1.在OSPF协议中,路由器是怎样的学习路由表的呢?
首先我们需要了解的是OSPF协议在链路中传输:Hello包,DBD包,LSR包,LSU包和LSAck包。
Hello包,是用于发现和唤醒邻居路由器的作用。
DBD包,是告诉邻居自己路由信息状态摘要的数据包。
LSR包,是向邻居发送详细的路由信息的请求包。
LSU包,LSU包含多个LSA其中包含了多种数据。
LSAck包,是用于收到数据包后进行收到确认的数据包。
LSA有以下几种:Type1,是区域内的所有路由器发出的数据包。
Type2,是区域内的DR发出的用于向区域内的路由器宣告通知用的。
Type3,是ABR发出的用于通告其他链路的汇总情况。
Type4,是ABR发出的告诉区域内ASBR的位置信息。
Type5,是ASBR发出用于通告外部路由。
Type7,是NSSA区域内的ASBR发出用于告诉区域内部的外部路由信息。
2.路由器的交互学习过程
在一开始的状态,1.路由器处于DOWN状态,在收到Hello包后进入2.init状态(初始化状态),此时路由器还是只能接收Hello包,经过短暂的init状态,路由器进入3.2-Way状态此时路由器之间通过Hello包的相互发送确认对方的Route ID,之后进入4.Exstart状态此时通过确认后的Route ID路由器之间选出DR和BDR,进入5.Exchange状态路由器之间发送DBD告诉对方路由器自己的路由表信息摘要,之后对方会返回LSAck确认包,6.之后会进入路由器之间最繁忙的状态7.Loading状态期间链路中会有DBD包,LSR包LSAck包和LSU包在链路中进行快速发送此时路由器进过信息交换学习到了全部的路由表。8.Full状态路由器进入稳定的工作状态链路稳定。