OSPF
参考拓扑
1.OSPF的邻居拍错(续)
1.1 相邻设备的RID不能重复
[R6-ospf-1]ospf router-id 5.5.5.5 //修改RID和邻居相同
<R6>reset ospf process //Y
Dec 10 2017 10:09:00-08:00 R6 %%01OSPF/4/CONFLICT_ROUTERID_INTF(l)[7]:OSPF Router id conflict is detected on interface. (ProcessId=256, RouterId=5.5.5.5, AreaId=56.0.0.0, InterfaceName=Serial2/0/0, IpAddr=6.56.1.10, PacketSrcIp=5.56.1.10)
<R6>display ospf error
OSPF Process 1 with Router ID 5.5.5.5
OSPF error statistics
General packet errors:
0 : IP: received my own packet 0 : Bad packet
0 : Bad version 0 : Bad checksum
0 : Bad area id 0 : Drop on unnumbered interface
0 : Bad virtual link 0 : Bad authentication type
0 : Bad authentication key 0 : Packet too small
0 : Packet size > ip length 0 : Transmit error
0 : Interface down 0 : Unknown neighbor
0 : Bad net segment 0 : Extern option mismatch
10 : Router id confusion //RID包含在OSPF头部中,所以出现在通用错误!
同一区域中不相邻的设备,RID冲突会引发缺少路由(1类LSA的通告者引发的)
1.2 Hello和死亡时间都需要匹配
[SW1]dis ospf int Vlanif 30
OSPF Process 1 with Router ID 10.10.10.10
Interfaces
Interface: 10.1.30.10 (Vlanif30)
Cost: 1 State: BDR Type: Broadcast MTU: 1500
Priority: 1
Designated Router: 10.1.30.3
Backup Designated Router: 10.1.30.10
Timers: Hello 10 , Dead 40
[R4]dis ospf int s1/0/0
OSPF Process 1 with Router ID 4.4.4.4
Interfaces
Interface: 10.1.1.4 (Serial1/0/0)
Cost: 48 State: BDR Type: NBMA MTU: 1500
Priority: 1
Designated Router: 10.1.1.1
Backup Designated Router: 10.1.1.4
Timers: Hello 30 , Dead 120 ,
[R6-Serial2/0/0]ospf timer hello 9 //修改Hello时间为9秒,dead时间默认会随之改变为36。但是死亡时间也可以自定义(不是4倍关系),如果仅仅修改死亡时间,Hello时间不变
[R6-Serial2/0/0]dis ospf int s2/0/0
OSPF Process 1 with Router ID 6.6.6.6
Interfaces
Interface: 10.1.56.6 (Serial2/0/0) --> 10.1.56.5
Cost: 48 State: P-2-P Type: P2P MTU: 1500
Timers: Hello 9 , Dead 36
[R6-Serial2/0/0]dis ospf error
HELLO packet errors:
0 : Netmask mismatch 6 : Hello timer mismatch
0 : Dead timer mismatch 0 : Virtual neighbor unknown
0 : NBMA neighbor unknown 0 : Invalid Source Address
HELLO packet errors:
0 : Netmask mismatch 92 : Hello timer mismatch
1 : Dead timer mismatch // 1 : Dead timer mismatch ,死亡时间不匹配
2-way
1.3 MTU检测
ospf mtu-enable命令用来使能接口在发送DBD(数据库描述报文)报文时填MTU值
在发送DBD的时候默认填充为0,不在意该值
R3(S MTU1492 ENABLE)
SW1(S MTU 0 UNDO)
0.0.0.34 Vlanif30 3.3.3.3 Full
!
2侧开启MTU,M设备较大
全部exstart
0.0.0.34 Vlanif30 3.3.3.3 ExStart
!
S设备的MTU较大,两侧开启MTU-ENABLE
<R3>dis ospf peer brief //SLAVE看到MASTER,交互了!
OSPF Process 1 with Router ID 3.3.3.3
Peer Statistic Information
Area Id Interface Neighbor id State
0.0.0.34 GigabitEthernet0/0/1 10.10.10.10 Exchange
[SW1-Vlanif30]dis ospf peer brief //MASTER设备看到对端exstart
OSPF Process 1 with Router ID 10.10.10.10
Peer Statistic Information
Area Id Interface Neighbor id State
0.0.0.34 Vlanif30 3.3.3.3 ExStart
DD packet errors:
0 : Neighbor state low 0 : Unknown LSA type
141 : MTU option mismatch //MTU不匹配引发的错误
OSPF的进程
1.4 FLAG位,即标识位的一致性
NP,代表特殊区域NSSA(特区)
E,接收外部路由的能力,E=1可以接收外部路由(改革开放)
E=0不可以接收外部路由(闭关锁国)
13 : Extern option mismatch
2.OSPF的链路状态和网络类型
网络物理介质
1)光纤、双绞线 --OSPF的网络类型->广播
2)串口的FR物理链路--OSPF的网络类型->NBMA
3)串口的点到的 --OSPF的网络类型->P2P
4) --OSPF的网络类型->P2MP(点到多点)
为了适应复杂的企业网接入
2.1 OSPF的点到点网络类型
仅仅适用于链路上只有2个设备的情况
邻居如何发现呢?
单播发现
组播发现
如下几个角度去考虑:
1)如何发现邻居:组播
2)时间:10,40
3)是否需要DR(指定路由器,在多点接入网络就需要DR):不需要
<R5>dis ospf int s2/0/0
OSPF Process 1 with Router ID 5.5.5.5
Interfaces
Interface: 10.1.56.5 (Serial2/0/0) --> 10.1.56.6
Cost: 48 State: P-2-P Type: P2P MTU: 1500
2.2 OSPF的广播的网络类型
如下几个角度去考虑:
1)如何发现邻居:组播自动发现
2)时间:10,40
3)是否需要DR:需要
DR需要选举,waiting time(40s)
2.3 P2MP(点到多点)
看做多个点到点的集合
如下几个角度去考虑:
1)如何发现邻居:组播自动发现
2)时间:30,120
3)是否需要DR:不需要
DR需要选举,waiting time(40s)
4)因为是点到点的集合,所以额外的需要一种标识(接口的物理地址)
interface Serial1/0/0
link-protocol fr
ip address 10.1.1.1 255.255.255.0
ospf network-type p2mp //修改网络类型为点到多点
[R1]dis ospf int s1/0/0
OSPF Process 1 with Router ID 1.1.1.1
Interfaces
Interface: 10.1.1.1 (Serial1/0/0)
Cost: 48 State: P-2-P Type: P2MP MTU: 1500
Timers: Hello 30 , Dead 120 , Poll 120 , Retransmit 5 , Transmit Delay 1
华为设备P2MP的OSPF网络类型,类比封装为P2P的链路会自动得到对端直连地址的/32位主机路由
2.5 NBMA
interface Serial1/0/0
link-protocol fr //物理链路为FR,所以默认OSPF网络类型为NBMA
ip address 10.1.1.1 255.255.255.0
ospf dr-priority 10
ospf enable 1 area 0.0.0.0
<R1>dis ospf int s1/0/0
OSPF Process 1 with Router ID 1.1.1.1
Interfaces
Interface: 10.1.1.1 (Serial1/0/0)
Cost: 48 State: DR Type: NBMA MTU: 1500
ospf 1 router-id 1.1.1.1
peer 10.1.1.4 //相互指定对端的直连地址邻居,作为HUB指定了R4和R5
peer 10.1.1.5
area 0.0.0.0
area 0.0.0.15
R4:
ospf 1 router-id 4.4.4.4
peer 10.1.1.1
area 0.0.0.0
area 0.0.0.34
<R4>dis ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
Public routing table : OSPF
Destinations : 11 Routes : 13
OSPF routing table status : <Active>
Destinations : 11 Routes : 13
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.15.0/24 OSPF 10 49 D 10.1.1.1 Serial1/0/0
OSPF 10 49 D 10.1.1.5 Serial1/0/0
10.1.30.0/24 OSPF 10 49 D 10.1.34.3 Serial2/0/0
10.1.35.0/24 OSPF 10 49 D 10.1.1.5 Serial1/0/0
10.1.56.0/24 OSPF 10 96 D 10.1.1.5 Serial1/0/0
10.10.10.9/32 O_ASE 150 1 D 10.1.34.3 Serial2/0/0
10.10.10.10/32 OSPF 10 49 D 10.1.34.3 Serial2/0/0
11.1.1.1/32 OSPF 10 48 D 10.1.1.1 Serial1/0/0
15.15.15.15/32 OSPF 10 49 D 10.1.1.1 Serial1/0/0
OSPF 10 49 D 10.1.1.5 Serial1/0/0
33.1.1.1/32 OSPF 10 49 D 10.1.1.5 Serial1/0/0
55.1.1.1/32 OSPF 10 48 D 10.1.1.5 Serial1/0/0
66.1.1.1/32 OSPF 10 96 D 10.1.1.5 Serial1/0/0
到达66.1.1.1的下一跳为10.1.1.5
HUB&SPOKE结构(分支间没有直连的封装)
不建议使用NBMA(需要使得HUB成为DR、需要手工指定邻居、没有去往下一跳的封装)
不建议使用Broadcast(需要使得HUB成为DR、不需要手工指定邻居、没有去往下一跳的封装)
推荐使用P2MP
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
点到多点支持组播 咱这个实验R1\R4\R5邻居能自动发现吗
军哥,是不是所有自动发现邻居的都是组播?是
军哥 R5、R6串行链路ppp封装,一端调整了MTU,另一端会自动更改?会 (MRU)
和昨天的帧中继是啥关系,帧中继是指定的邻居?答:FR是物理介质,对应的默认的OSPF网络类型是NBMA,而NBMA不能自动通过组播发现邻居,所以需要手动指定邻居!
如果不想手动指定邻居怎么解决?修改网络类型为P2MP
OSPF接口开销
公式=参考带宽/物理带宽
3.1 修改公式的分母
interface GigabitEthernet0/0/1
ip address 10.1.30.3 255.255.255.0
ospf mtu-enable
ospf network-type p2p
ospf enable 1 area 0.0.0.34
undo negotiation auto //关闭自动协商
speed 10 //修改速率为10,修改分母
dis ospf int g0/0/1OSPF Process 1 with Router ID 3.3.3.3 Interfaces
Interface: 10.1.30.3 (GigabitEthernet0/0/1) --> 10.1.30.10
Cost: 10 State: P-2-P Type: P2P MTU: 1500
Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1
100Mbps/10Mbps=10
3.2 修改公式的分子
[R1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
3.3 绝对的方式修改接口OSPF开销
[R1-Serial1/0/0]ospf cost ?
INTEGER<1-65535> Cost value <1-65535>
除大的都是1 除小的算成数么?
100/1.54=64,小数一律拿掉
OSPF的报文类型
Hello
DBD
LSrequest
LSUpdate
LSAck
作业:
1.区域0观察广播、NBMA和p2mp类型的时的下一跳情况以及数据通信情况
2.所有的(除了area 15)修改为不需要DR的网络环境
本文转自EnderJoe 51CTO博客,原文链接:http://blog.51cto.com/enderjoe/2049140