华为eNSP OSPF验证试验

OSPF报文分析
1.HELLO 发现邻居并建立和维护邻居关系
2.Database Description 检查所有路由器的LSDB是否同步(数据库报文DBD)
3.Link—StateRequest 向另一台路由请求特定的链路状态记录(链路请求报文LSR)
4.Link-State Update 发送被请求的链路状态记录 (链路回应报文LSU)
5.Link-State Acknowledgment 对其他类型的分组进行确认

1、传送的LSA link status advertisement 链路状态通告,包括拓扑信息
具体包括:网段的前缀 掩码 连接的路由器的哪些接口 直连哪些路由器
LSA分为7中类型
某些包含的是拓扑信息 但是有些包含的是路由信息
2、LSDB 他是LSA的的集合 链路状态数据库
对此进行spf 算法 得到spf 树 (基于cost代价)再得出最优的路由 并将其加入到路由表中
3、既支持vlsm 可变掩码、又支持 cidr(无类别域间选路)
4、封装
layer2| ip |ospf| fcs
直接封装到IP报头内 上层协议号为89 eigrp为88

开始实验
OSPF验证试验
实验案列:使用eNSP验证OSPF优先级
实验环境
B公司做了新的设备,顺手实验下OSPF的优先级,以备不时之需。
需求描述
使用eNSP制作拓扑。
将制作的OSPF路由以此关闭,验证优先级。
推荐步骤
1.为R1,R2,R3配置命令。
2.抓包看看谁是带头大哥 。
3.关闭大哥验证剩下两个谁优先。

步骤如下:
根据要求构建拓扑
华为eNSP OSPF验证试验
启动设备
SW1命令
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 13.0.0.1 24
[R1-GigabitEthernet0/0/0]q
[R1]ospf 1 rou
[R1]ospf 1 router-id 1
[R1]ospf 1 router-id 1?
IP_ADDR<X.X.X.X> OSPF Private router ID value
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
Error: Unrecognized command found at ‘^’ position.
[R1-ospf-1-area-0.0.0.0]q
[R1-ospf-1]int Loo 0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1-LoopBack0]q
华为eNSP OSPF验证试验

SW2命令
Enter system view, return user view with Ctrl+Z.
[Huawei]SYS R2
[R2]
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 13.0.0.2 24
[R2]int loo 0
[R2-LoopBack0]ip add 2.2.2.2 255.255.255.255
[R2-LoopBack0]q
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]q
华为eNSP OSPF验证试验

SW3
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 13.0.0.3 24
[R3-GigabitEthernet0/0/0]q
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255

[R3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]q
华为eNSP OSPF验证试验

然后全部save
华为eNSP OSPF验证试验
然后关机
华为eNSP OSPF验证试验

然后开机,瞬间抓包
看到DR是R1 13.0.0.1,BDR是R2 13.0.0.2
华为eNSP OSPF验证试验

关闭R1,再次抓包
华为eNSP OSPF验证试验

发现DR变成了R2,BDR变成了R3
在开启R1
华为eNSP OSPF验证试验

发现DR与BDR不变
再关闭R2
华为eNSP OSPF验证试验
发现DR变成了R3,BDR变成R1

试验结束
观察结果

详解
一、hello发送周期分为10s和30s两种,hello hold的时间为发送时间*4即40s或120s

二、dbd数据库描述报文 包含lsa的报头 即告诉邻居路由器 本地的lsdb中包含哪些LSA信息
同步lsdb过程中如果没有此描述可能会发送重复的LSA 造成资源的浪费导致低效LSA中除了拓扑
或路由信息的载荷外还有LSA的报头也叫LSA的摘要,报头中包含此LSA的标识,从而避免发送重复的LSA信息

三、路由器请求邻居有但是本地没有的LSA,以保证lsdb一致,根据交互的dbd,
将没有的LSA的报头放在LSAR中,表明需要的LSA

四、根据上面的一条 将邻居请求的LSA信息 放在LSU中由本地路由器发送给邻居
LSU包含完整的LSA信息

五、LSACK为确认机制 由OSPF定义的确认机制
ospf定义了两类的确认 一种为显式的确认 另一类为隐式的确认(基于***的确认机制)
前者收到一个报文 针对此报文 生成一个单独的确认报文