作者简介:大家好,我是Asshebaby,热爱网工,有网络方面不懂的可以加我一起探讨
:1125069544
个人主页:Asshebaby博客
当前专栏: 网络HCIP内容
特色专栏: 常见的项目配置
本文内容:ospf宣告默认路由使得其他路由器自动学到
OSPF技术
链路状态路由选择协议又被称为最短路径优先协议,它基SPF(shortest path first )算法。他比距离矢量协议复杂的多。路由器的链路状态的信息称为链路状态,包括:接口的IP地址和子网掩码,网络类型,(如以太网链路或串行点对点链路),该链路的开销,该链路上的所有的相邻路由器。
OSPF报文头
1、Hello报文:
- 最常用的一种报文,用于发现、维护邻居关系。
- 在广播和NBMA(None-Broadcast Multi-Access)类型的网络中选举指定路由器DR(Designated Router)和备份指定路由器BDR(Backup Designated Router)。
2、DD报文:
- 两台路由器进行LSDB数据库同步时,用DD报文来描述自己的LSDB。
- DD报文的内容包括LSDB中每一条LSA的头部(LSA的头部可以唯一标识一条LSA)。LSA头部只占一条LSA的整个数据量的一小部分,所以,这样就可以减少路由器之间的协议报文流量。
3、LSR报文:
- 两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地LSDB所缺少的,这时需要发送LSR报文向对方请求缺少的LSA,LSR只包含了所需要的LSA的摘要信息。
4、LSU报文: 用来向对端路由器发送所需要的LSA。
5、LSACK报文: 用来对接收到的LSU报文进行确认。
七种邻居状态机
**Down:**这是邻居的初始状态,表示没有从邻居收到任何信息。
**Attempt:**此状态只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。如果RouterDeadInterval间隔内未收到邻居的Hello报文,则转为Down状态。
**Init:**在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,尚未与邻居建立双向通信关系。
**2-Way:**在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。
**ExStart:**这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。主从关系是在此状态下形成的,初始DD序列号也是在此状态下决定的。在此状态下发送的DD报文不包含链路状态描述。
**Exchange:**此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。
**Loading:**相互发送LSR报文请求LSA,发送LSU报文通告LSA。
**Full:**路由器的LSDB已经同步
本次实验拓扑
配置过程:
r1:
python
#
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.3.1 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 192.168.1.0 0.0.0.255
network 192.168.3.0 0.0.0.255
#
r2:
php
interface GigabitEthernet0/0/0
ip address 192.168.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.2.1 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 192.168.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
#
r3:
php
#
interface GigabitEthernet0/0/0
ip address 192.168.4.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.3.2 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 192.168.3.0 0.0.0.255
network 192.168.4.0 0.0.0.255
#
r4
php
#
interface GigabitEthernet0/0/0
ip address 192.168.2.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.4.2 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
#
ospf 1
default-route-advertise always type 2 //在ospf里引入静态路由 宣告给其他的路由器
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 192.168.2.0 0.0.0.255
network 192.168.4.0 0.0.0.255
#
ip route-static 0.0.0.0 0.0.0.0 NULL0 //宣告黑洞路由 下一跳地址为空
#
实验效果:
r1:
r1已经学到了来自R4的外部默认路由,代表本次实验的成功
r2和r3上面查看路由表:
r3: