ensp之OSPF实验(单区域)

距离路由矢量算法交换的是路由表,路由器并不了解整个网络拓扑结构,它只是简单的做加法,只知道到达某个目的地从哪里走,距离多远。例如:RIP
OSPF属于链路状态路由协议,路由器彼此之间交互的不是路由信息,而是LSA(链路状态通告)。【链路指路由器接口,状态指接口及与邻居路由器之间的关系】
一、实验拓扑
ensp之OSPF实验(单区域)
图1 OSPF实验(单区域)拓扑图
二、实验过程及结果分析
(1)根据图1连接各设备;
(2)配置设备;

R1:
[R1]sys R1
[R1]int e0/0/1
[R1-Ethernet0/0/1]
[R1-Ethernet0/0/1]ip add 1.1.1.1 24
[R1-Ethernet0/0/1]quit
[R1]int g0/0/0
[R1-Ethernet0/0/0]ip add 2.2.2.1 24
[R1-Ethernet0/0/0]quit
[R1]int loop 0
[R1-LoopBack0]
[R1-LoopBack0]ip add 10.0.0.1 24
[R1-LoopBack0]qui
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]net 1.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]net 2.2.2.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]net 10.0.0.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]quit
[R1-ospf-1]quit
R2:
[R2]int e0/0/0
[R2-Ethernet0/0/0]ip add 1.1.1.2 24
[R2-Ethernet0/0/0]
[R2-Ethernet0/0/0]quit
[R2]int e0/0/1
[R2-Ethernet0/0/1]ip add 3.3.3.1 24
[R2-Ethernet0/0/1]quit
[R2]int loop 0
[R2-LoopBack0]ip add 20.0.0.1 24
[R2-LoopBack0]qui
[R2]ospf 1
[R2-ospf-1]
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net 1.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]net 3.3.3.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]net 20.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]quit
[R2-ospf-1]quit
R3:
[R3]int e0/0/0
[R3-Ethernet0/0/0]
[R3-Ethernet0/0/0]ip add 3.3.3.2 24
[R3-Ethernet0/0/0]quit
[R3]int e0/0/1
[R3-Ethernet0/0/1]ip add 4.4.4.1 24
[R3-Ethernet0/0/1]quit
[R3]int loop 0
[R3-LoopBack0]ip add 30.0.0.1 24
[R3-LoopBack0]qui
[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]net 3.3.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 4.4.4.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 30.0.0.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]quit
[R3-ospf-1]quit
(3)组网连通性检测;
ensp之OSPF实验(单区域)
图2 PC 1 ping PC 2
(4)监测路由器(OSPF邻居信息、OSPF路由表);
ensp之OSPF实验(单区域)
图3 R1的ospf邻居信息
ensp之OSPF实验(单区域)
图4 R2的ospf邻居信息
ensp之OSPF实验(单区域)
图5 R3的OSPF邻居信息
OSPF邻居信息描述:
(1)Area:邻居路由器所属的区域
(2)Interface:与邻居相连的接口
(3)Router ID:邻居的Router ID(即在该区域中该邻居路由器的唯一标识)
(4)Address:邻居接口地址
(5)State:邻居状态(不是指两者之间的状态,而是站在当前路由器的位置去观望邻居路由器的状态,即于当前路由器而言的邻居状态)
(6)Mode:判断与邻居路由器之前的主从关系(Master和Slave)
(7)Priority:邻居的优先级(可用于选举DR和BDR)
(8)DR:指定路由器
(9)BDR:备份指定路由器
(10)MTU:邻居接口的最大传输单元
(11)Dead timer due in xx sec:Dead定时器在xx秒后到时
(12)Retrans timer interval:重传LSA的时间间隔(秒)
(13)Authentication Sequence:认证***
选举DR的原则:
最高OSPF接口优先级拥有者被选作DR,如果优先级相等(默认为1),具有最高的OSPF Router-ID的路由器被选举成DR,并且DR具有非抢占性(即在已经选出DR后,后来添加的拥有高优先级者不可替代之前的DR)。
ensp之OSPF实验(单区域)
图6 R1的ospf路由表
ensp之OSPF实验(单区域)
图7 R2的ospf路由表
ensp之OSPF实验(单区域)
图8 R3的OSPF路由表
在OSPF路由表中使用cost作为衡量路径的标准,相较于RIP的傻瓜式最短路径优先更为高效,节省带宽资源。
AdvRouter即通告路由器,表示该LSA是由谁通告出来的。在OSPF中该区域的所有LSA将整合为一份共享的LSDB,保证了信息的准确性。
(5)观察路由器OSPF邻居状态变化;
ensp之OSPF实验(单区域)
图9 R1的OSPF邻居状态变化
OSPF邻居状态:
Down:该状态为邻居的初始状态。表示没有邻居收到任何信息。

Init:该状态表明已经接收到了从邻居发送来的Hello报文。

2-Way:该状态表明已经接收到了从邻居发送过来的Hello报文,并且该Hello报文的Neighbor List中包含本地Router ID,即双方可以互通。

ExStart:该状态为建立Adjacency的第一步,进行主从关系、DD Sequence Number的协商。

Exchange:从该状态开始,进行LSDB同步操作,交互的报文有DD报文、LSR报文、LSU报文。

Loading:LSDB正在进行同步操作,交互的报文有LSR报文和LSU报文。

Full:该状态说明,邻居的LSDB已经同步完成,双方建立了Full邻接关系。
(6)抓包分析;
ensp之OSPF实验(单区域)
图10 R1的E0/0/1处抓包
①Hello:建立和维护OSPF邻居关系
ensp之OSPF实验(单区域)
图11 Hello报文
②DBD:链路状态数据库描述信息(描述LSDB中LSA头部信息)
ensp之OSPF实验(单区域)
图12 DBD报文
③LSR:链路状态请求,向OSPF邻居请求链路状态信息
ensp之OSPF实验(单区域)
图13 LSR报文
④LSU:链路状态更新(包含一条或多条LSA)
ensp之OSPF实验(单区域)
图14 LSU报文
⑤LSAck:对LSU中的LSA进行确认
ensp之OSPF实验(单区域)
图15 LSAck报文
ensp之OSPF实验(单区域)
图16 OSPF邻居关系建立过程及其相应报文类型
三、知识总结
1.SPF最短路径优先算法:
每台路由器基于LSDB进行计算,得到一个以自己为根、覆盖全网的一棵无环的树。
2.OSPF的基本特点:
(1)适合大规模组网
(2)快速收敛:在网络拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步
(3)无自环:SPF最短路径树算法
(4)区域划分:允许自治系统的网络被划分成区域来管理,链路状态数据库LSDB减小了区域间传送的路由信息量,降低了网络带宽的占用。
(5)等价路由:支持到同一目的的地址的多条等价路由
(6)路由分级:区域内路由、区域间路由、第一类外部路由、第二类外部路由
(7)支持验证:支持基于区域和接口的报文验证,以保证报文交互的安全性
(8)组播发送:减少对其他未使能OSPF设备的干扰,使用用224.0.0.5和224.0.0.6
3.Router-ID:
相当于是OSPF路由器的身份标识,在整个域内必须唯一,类似于IP地址
(1)手工配置
(2)系统自动选定:在该路由器上随机选择一个端口的IP地址作为Router-ID
一旦OSPF的进程开始工作,Router-ID将不会发生改变,除非重新手工配置并且重启OSPF进程。
4.OSPF报文类型:
(1)Hello:建立和维护OSPF邻居关系,用于发现直连链路上的其他OSPF路由器
(2)DBD:链路状态数据库描述信息(描述LSDB中LSA头部信息)
(3)LSR:链路状态请求,向OSPF邻居请求链路状态信息
(4)LSU:链路状态更新(包含一条或多条LSA)
(5)LSAck:对LSU中的LSA进行确认
5.DR与BDR:
OSPF中需要维护很多的邻居关系,消耗大量设备资源,也增加了网络中LSA的泛洪数量,因此定义了DR指定路由器、BDR备份指定路由器。
DR负责使用该变化信息更新其它所有OSPF路由器。
BDR会监控DR的状态,并在当前DR发生故障时接替其角色。
6.DR选举规则:
最高OSPF接口优先级拥有者被选作DR,如果优先级相等(默认为1),具有最高的OSPF Router-ID的路由器被选举成DR,并且DR具有非抢占性(即在已经选出DR后,后来添加的拥有高优先级者不可替代之前的DR)。
7. OSPF的基础配置:
(1)创建进程
[Router]ospf [process-id|router-id router-id]
(2)**协议
在area中宣告指定接口
[Router-ospf]area area-id
[Router-ospf-area]network ip-address wildcard-mask(通配符掩码)
8.网络掩码:
用于区分IP地址中网络及主机部分
通配符掩码(反掩码):
用于决定一个IP中哪些位该匹配(1位表示无所谓;0位表示需严格匹配)