OSPF路由协议中的邻居与邻接

1. OSPF的邻居Neighbors 同一个网段上的路由器可以成为邻居邻居是通过Hello报文来选择的Hello 报 文使用IP多播方式在每个端口定期发送路由器一旦在其相邻路由器的Hello 报 文中发现他们自己则他们就成为邻居关系了在这种方式中需要通信的双 方确认邻居的协商只在主地址Primary address 间协商 两个路由器之间如果他们不满足下列条件则他们就不能成为邻居 1 Area-id 两个路由器必须有共同的网段上它们的端口必须属于该网段上的 同一个区当然这些端口必须属于同一个子网 2 验证Authentication OSPF允许给每一个区域配置一个密码来进行互相验 证路由器必须交换相同的密码才能成为邻居 3 Hello Interval和Dead Interval OSPF协议在每个网段上交换Hello 报文这是 Keeplive的一种形式路由器用它来确认该网段上存在哪些路由器并且选定一 个指定路由器DR Designated Router Hello Interval定义了路由器上OSPF端口 上发送Hello 报文时间间隔长度秒为单位Dead Interval是指邻居路由器宣 布其状态为DOWN之前没有收到其Hello报文的时间 OSPF协议需要两个邻居路由器的这些时间间隔相同如果这些时间间隔不同 这些路由器就不能成为邻居路由器可在路由器的端口模式下设置这些定时器 ip ospf hello-interval ip ospf dead-interval 4 Stub区标记两个路由器为了成为邻居还可以在Hello报文中通过协商Stub区 的标记来达到Stub区的定义会影响邻居选择的过程 2. 邻接Adjacencies 邻居关系形成后路由器之间就会进行邻接关系的形成成为邻接关系的路由 器之间不仅仅是进行简单的Hello报文的交换而是进行数据库的交换为了 减少特定网段上的交换信息OSPF协议在每一个多址可达的网段上选择一个路 由器作为指定路由器DR Designated Router 选择另外一个路由器作为备份的 指定路由器BDR Backup Designated Router BDR作为DR的备份这种设计 的考虑是让DR或BDR成为信息交换的中心而不是让每个路由器与该网段上其 它路由器两两做更新信息的交换路由器首先与DR BDR交换更新信息然后 DR BDR将这些更新信息转发给该网段上的其他路由器这样信息交换的复杂 度就会从O n*n 降到O n 其中n是多址可达网段上的路由器的数量如 图1 显示了DR和BDR的关系 在上图中所有的路由器在同一个多址可达网段上通过相互交换Hello报 文来选择DR和BDR 在该网段上的每个路由器他们之间已经成为Neighbor 会进一步与DR和BDR建立邻接Adjacency 关系 2.1 DR 的选择 DR与BDR的选择是通过Hello报文来进行的而Hello报文又是通过每个网段上 IP多播报文来进行交换的在一个网段上OSPF优先级最高的那台路由器将成 为DR OSPF优先级次高的那台路由器将成为BDR 若OSPF的优先级相同则 路由器的Router ID大者将成为DR 默认情况下OSPF的优先级为1 一定要记 住DR和BDR的概念只在每个多址可达的网段上才有如Point to Point Point to MultiPoint等网络上没有这个概念 可以在端口模式下使用下面的命令来设置路由器端口的OSPF优先级 ip ospf priority 可用在特权模式下使用下面的命令查看端口的OSPF优先级 show ip ospf interface Ethernet 0 如果端口的OSPF优先级为0 则表示该端口永远不会被选择为DR或BDR OSPF端口优先级为0时端口状态为DROTHER 如图2 显示了DR选择过程 在上图Segment 1中RTA与RTB的端口OSPF优先级相同都为1 默认值 但是RTB的RID 4.4.4.4 比RTA的RID 3.3.3.3 大则RTB将成为那个网段 的DR 在Segment 2中RTC比RTB相应OSPF端口的优先级高则RTC是该网段 的DR 2.2 建立邻接关系Adjacency 邻接关系的建立过程由多个步骤组成成为邻接关系的路由器会保留一份精确 的链路状态数据库下面是路由器之间在形成邻接关系过程中端口状态变化的 一个简单总结 1 DOWN状态表示在多址可达网络中没有收到任何信息 2 Attempt状态在Frame Relay和X.25等NBMA网络中这种状态表示路由器没 有从其邻居路由器上接收任何信息 3 Init 状态端口检测到从邻居路由器上来的Hello报文但还没有建立起双向 通信 4 Two-way 状态路由器与其邻居路由器建立起双向通信路由器会在其邻居 路由器发送过来的Hello报文中看到自己在这个状态的末段将进行DR和 BDR的选择邻居路由器间决定是否建立邻接关系 5 Exstart状态在该状态中路由器会产生一个初始序列号用来交换信息报文 这个序列号能确保路由器收到的是最新的报文信息一个路由器将成为主另 一个路由器则成为辅主路由器会获得辅路由器的信息 6 Exchang状态路由器通过发送DD报文Database Description Packects 来建 立他们的整个链路状态数据库在这个状态过程中报文会通过泛洪 Fooding 到路由器的其他端口上 7 Loading状态在这个状态中路由器将结束信息的交换路由器会建立一个 链路状态请求列表Link-state Request List 和一个链路状态转发列表 Link-state Retransmission List 所有的不完整的或废弃的信息都将放到请求 列表中所有的更新报文将被送到转发列表中直到该报文得到回应 8 Full状态在这个状态过程中邻接关系已经形成邻居路由器完全邻接 邻接路由器具有相同的链路状态数据库 如图3 RTA RTB RTD和RTF的以太口0在同一个区域0.0.0.0 中下面是 RTA和RTF的配置RTB RTD的配置类似在这里就不一一列出 RTA# hostname RTA interface Loopback0 ip address 203.250.13.41 255.255.255.0 interface Ethernet0 ip address 203.250.14.1 255.255.255.0 router ospf network 203.250.13.41 0.0.0.0 area 1 network 203.250.0.0 0.0.255.255 area 0.0.0.0 RTF# hostname RTF interface Ethernet0 ip address 203.250.14.2 255.255.255.0 router ospf 10 network 203.250.0.0 0.0.255.255 area 0.0.0.0 可以用show ip ospf interface 来快速检查各个端口属于那个区域 尤其OSPF 网络配置命令的顺序非常重要如RTA配置中的斜体部分如果 "network 203.250.0.0 0.0.255.255 area 0.0.0.0" 语句放在"network 203.250.13.41 0.0.0.0 area 1"之前所有的端口都会将属于区域0 这会有问题的因为 Loopback端口被划在区域1中让我们看一看RTA RTB RTD RTF的show ip ospf interface e 0的输出 RTA#sh ip ospf interface e 0 Ethernet0 is up, line protocol is up Internet Address 203.250.14.1 255.255.255.0, Area 0.0.0.0 Router ID 203.250.13.41, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2 Backup Designated router (ID) 203.250.13.41, Interface address 203.250.14.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 0:00:02 Neighbor Count is 3, Adjacent neighbor count is 3 Adjacent with neighbor 203.250.15.1 (Designated Router) Loopback0 is up, line protocol is up Internet Address 203.250.13.41 255.255.255.255, Area 1 Router ID 203.250.13.41, Network Type LOOPBACK, Cost: 1 Loopback interface is treated as a stub Host RTF#sh ip o int e 0 Ethernet0 is up, line protocol is up Internet Address 203.250.14.2 255.255.255.0, Area 0.0.0.0 Router ID 203.250.15.1, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2 Backup Designated router (ID) 203.250.13.41, Interface address 203.250.14.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 0:00:08 Neighbor Count is 3, Adjacent neighbor count is 3 Adjacent with neighbor 203.250.13.41 (Backup Designated Router) RTD#sh ip ospf interface e 0 Ethernet0 is up, line protocol is up Internet Address 203.250.14.4 255.255.255.0, Area 0.0.0.0 Router ID 192.208.10.174, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State DROTHER, Priority 1 Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2 Backup Designated router (ID) 203.250.13.41, Interface address 203.250.14.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 0:00:03 Neighbor Count is 3, Adjacent neighbor count is 2 Adjacent with neighbor 203.250.15.1 (Designated Router) Adjacent with neighbor 203.250.13.41 (Backup Designated Router) RTB#sh ip o int e 0 Ethernet0 is up, line protocol is up Internet Address 203.250.14.3 255.255.255.0, Area 0.0.0.0 Process ID 10, Router ID 203.250.12.1, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State DROTHER, Priority 1 Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2 Backup Designated router (ID) 203.250.13.41, Interface address 203.250.14.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 0:00:03 Neighbor Count is 3, Adjacent neighbor count is 2 Adjacent with neighbor 203.250.15.1 (Designated Router) Adjacent with neighbor 203.250.13.41 (Backup Designated Router) 上面的输出信息非常重要让我们看一看RTA的输出信息以太口0属于区域 0 RID为203.250.13.41 RID是路由器上所有端口中IP地址最大者如果有 Loopback地址则为最大的Loopback地址RID的选择只是在路由器启动时或 OSPF进程重启时进行RTA以太口的状态是BDR 由于所有的路由器OSPF端 口的优先级都相同Priority 1 所以要根据RID来选择DR RTF的RID最大 则其以太口成为DR 通过同样的过程RTA的以太口成为BDR RTB和RTD的 以太口状态为DROTHER 同样要注意邻居数目和邻接数目RTD有三个邻居而邻接路由器只有两个 一个为DR 另一个为BDR RTF有三个邻居三个邻接路由器因为他自己为 DR 网络类型也是一个非常重要的概念它将决定端口的状态在如以太网的广播 型的网络中DR BDR的选择与最终用户没有关系谁是DR 谁是BDR 好像没 有多大关系但在其他的情况下如帧中继X.25等NBMA网络中DR BDR 将影响OSPF 的功能是否正常很幸运在介绍point-to-point 和 point-to-multipoint 子接口时DR的选择不再是个问题了OSPF协议在NBMA网 络中的应用将在下一章介绍 我们看一看另外一个命令 show ip ospf neighbor RTD#sh ip o nei Neighbor ID Pri State Dead Time Address Interface 203.250.12.1 1 2WAY/DROTHER 0:00:37 203.250.14.3 Ethernet0 203.250.15.1 1 FULL/DR 0:00:36 203.250.14.2 Ethernet0 203.250.13.41 1 FULL/BDR 0:00:34 203.250.14.1 Ethernet0 上述命令显示的是一个特定网段上路由器与所有邻居的状态关系Neighbor ID 就是RID RTD与RTB只是邻居关系状态为2WAY/DROTHER RTD与 RTA RTF的状态关系为FULL/BDR FULL/DR 2.3 点到点端口的邻接关系 在点到点串行链路上OSPF协议会始终保持两端的邻居成为邻接关系在这种 链路上没有DR或BDR的概念串口的网络状态为Point to Point 2.4 NBMA网络中的邻接关系 在Frame Relay X.25 ATM等NBMA网络中配置OSPF协议时需要特别小心 OSPF协议会把这些网络与其他广播型网络如以太网同等看待一般PVC和 SVC提供的只是部分连接而达不到完全网状连接不能提供多址可达的物理 网络在这样的网络中DR和BDR的选择将会有问题因为DR和BDR的选择要 求网络中的路由器进行全网连接Full Mesh 由于NBMA网络没有广播功能 DR和BDR与网络中其他路由器也可以通过静态列表来指定用下面的命令 neigbhor ip-address [priority number] [poll-interval seconds] 其中ip-address 和priotity 是邻居路由器的端口IP地址和优先级 poll-interval 是NBMA端口发送Hello报文测试邻居路由器状态的时间间隔 这个命令一般用在有可能成为DR或BDR的路由器上端口的OSPF优先级一定不 能为0 下面这个网络中DR的选择非常重要 在图4 RTA具备成为DR的条件它的一个端口与网络中其他的路由器是全链接 的DR的选择可通过设置端口的OSPF优先级来决定Neighbor命令在这里只讲 这些另外一种方法可以定置OSPF端口的网络类型这样就不用考虑底层的 物理介质是什么了
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值