ensp_OSPF单区域
0x0 OSPF相关知识
- 为什么使用OSPF
RIP是距离矢量路由选择协议,没有网络延迟和链路开销的概念,路由选路基于跳数- OSPF是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟
RIP收敛速度过慢,30 180 240- OSPF收敛速度快
- OSPF使用的SPF算法从根源上解决了环路的问题
- 具有区域的概念
- 工作模型
- OSPF:Open Shortest Path First(开放式最短路径优先)
- 建立邻居 : Hello探测邻居,形成邻居表
- 发起路由 : 发起LSA,存到LSDB
- 传播路由 : LSA洪范,直到区域内的LSDB一致
- 计算路由 : 以自己的LSA1为根进行SPF计算,算出路由
- LSA ; 链路状态通告,按一定格式封装后的链路状态信息
- LSDB : 链路状态数据库,用来存储LSA的数据库
- LS : 链路状态,描述路由器周边的链路的状态
- Router-id :配置了Loopback,选取Loopback中最大ID;未配置,选取所有UP接口中数值最大的IP
- SPF :最短路径优先?
- 报文类型
- 建立邻居
- 当两台路由器启动了OSPF协议后,两台路由器都会再组播地址224.0.0.5上发送HOLLE报文,发现邻居以后,就开始建立邻居关系(tow-way),如果一段时间没有收到HELLO报文,就认为邻居关系失效,从邻居表中删除。
过程
- 当两台路由器启动了OSPF协议后,两台路由器都会再组播地址224.0.0.5上发送HOLLE报文,发现邻居以后,就开始建立邻居关系(tow-way),如果一段时间没有收到HELLO报文,就认为邻居关系失效,从邻居表中删除。
- 详情
- OSPF路由器接口up,发送Hello包,(NBMA模式时将进入Attempt状态)。
- OSPF路由器接口收到Hello包,检查Hello中携带的参数,如果匹配,进入Init状态;并将该Hello包的发送者的Router ID,添加到Hello包(自己将要从该接口发送出去的Hello包)的邻居列表中。
- OSPF路由器接口收到邻居列表中含有自己Router ID的Hello包,进入Two-way状态,形成OSPF邻居关系,并把该路由器的Router ID添加到自己的OSPF邻居表中。
- 在进入Two-way状态后,广播、非广播网络类型的链路,在DR选举等待时间内进行DR选举。点对点没有这个过程。
- 在DR选举完成或跳过DR选举后,建立OSPF邻接关系,进入exstart(准启动)状态;使用类hello的BDB包进行主从关系选举,RID数值大为主,主从优先进入下一个状态Exchange。
- 主从路由器选举完成后,进入Exchange(交换)状态,通过交换携带lsa头部信息的DBD包描述各自的LSDB。
- 进入Loading状态,对链路状态数据库和收到的DBD的LSA头部进行比较,发现自己数据库中没有的LSA就发送LSR,向邻居请求该LSA;邻居收到LSR后,回应LSU;收到邻居发来的LSU,存储这些LSA到自己的链路状态数据库,并发送LSAck确认。
- LSA交换完成后,进入FULL状态,同一个区域内所有OSPF路由器都拥有相同链路状态数据库。
- 定期发送Hello包,维护邻居关系。
- 状态机
0x1 拓扑图
- 要求
- 内部互通
- 内部可以访问外网202.202.202.202/29
0x2 指令
- R1
interface Ethernet0/0/0 ip address 192.168.1.2 255.255.255.252 interface Ethernet0/0/1 ip address 192.168.1.6 255.255.255.252 interface GigabitEthernet0/0/0 ip address 192.168.36.1 255.255.255.0 interface GigabitEthernet0/0/1 ip address 192.168.37.1 255.255.255.0 ospf 1 router-id 192.168.0.3 area 0.0.0.0 network 192.168.0.3 0.0.0.0 network 192.168.1.0 0.0.0.3 network 192.168.1.4 0.0.0.3 network 192.168.36.0 0.0.0.255 network 192.168.37.0 0.0.0.255
- R3
interface GigabitEthernet0/0/0 ip address 192.168.1.9 255.255.255.252 interface GigabitEthernet0/0/1 ip address 192.168.2.9 255.255.255.248 interface GigabitEthernet0/0/2 ip address 192.168.20.1 255.255.255.0 interface GigabitEthernet0/0/3 ip address 192.168.21.1 255.255.255.0 ip route-static 0.0.0.0 0.0.0.0 192.168.2.10 //配置去外网的缺省路由 ospf 1 router-id 192.168.0.1 //声明router-id default-route-advertise always cost 200 type 1 //静态路由重发布 area 0.0.0.0 network 192.168.0.1 0.0.0.0 network 192.168.20.0 0.0.0.255 network 192.168.21.0 0.0.0.255 network 192.168.1.0 0.0.0.3 network 192.168.1.4 0.0.0.3 network 192.168.1.8 0.0.0.3 network 192.168.2.8 0.0.0.7
- R2
interface Ethernet0/0/0 ip address 192.168.1.10 255.255.255.252 interface Ethernet0/0/1 ip address 192.168.44.1 255.255.255.0 ospf 1 router-id 192.168.0.5 area 0.0.0.0 network 192.168.0.5 0.0.0.0 network 192.168.1.8 0.0.0.3 network 192.168.44.0 0.0.0.255
- R4
interface Ethernet0/0/0 ip address 192.168.2.10 255.255.255.248 interface Ethernet0/0/1 ip address 202.202.202.202 255.255.255.248 ip route-static 192.168.0.0 255.255.0.0 192.168.2.9 //条去内网的静态路由
0x3 连通性测试
-
内网通信PC3(192.168.36.10)->PC5(192.168.44.10)
-
内网访问外网PC1(192.168.20.5)->PC5(202.202.202.201)