一、OSPF特性
二、报文格式
OSPF报文格式:
OSPF头部报文格式:
OSPFhello报文格式:
OSPF的链路状态描述报文格式:
OSPF的链路状态请求报文格式:
三、OSPF三张表
四、OSPF几个状态
DR竞选规则:(:先比优先级默认为1、在比router-id)
1.比较priority 比大,默认1,范围0-255 ,0=退出选举
2.router-ID 比大
MA网络中DR,BDR建立完成2way状态 所有的路由器会将自己的信息发送给224.0.0.6,让DR,BDR收到 DR,BDR会将自己的信息发送给224.0.0.5,让所有ospf路由器收到
[Huawei]dis ospf interface e0/0/0
OSPF Process 1 with Router ID 2.2.2.2
Interfaces
Interface: 123.1.1.2 (Ethernet0/0/0)
Cost: 1 State: DROther Type: Broadcast MTU: 1500
Priority: 1
Designated Router: 123.1.1.1
Backup Designated Router: 123.1.1.3
Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1
图解
五、LSA1\LSA2链路状态类型
LSA3/4/5链路状态类型(分区域:减少LSDB泛洪,减少网络震荡,收到LSA计算路由,性能问题)
LSA7链路状态类型
判断一个LSA是否接收
OSPF区域
type 2 cost值不变,type 1 cost值外部 + 内部开销值,type1优先级更高
路由汇总
导致OSPF的Area0区域出现双BackBone
解决办法:虚链路(配置简单)、GRE(配置复杂)、不同进程间的重分布(配置复杂)
同一个路由器可以启用不同的进程,但不同的进程分属与不同的as,不能互相同步信息
同一个路由器不同的进程不能使用相同的router-id
因为loopback的路由在OSPF中会当成32bit主机路由,所以要还原真实掩码,需要将loopback的网络的类型修改为broadcast
故障排查:
控制平面测试,查看邻居是否正常,路由是否学习到?
数据平面测试:ping,tracert
域间:in/out,针对LSA3整个区域(LSA1和LSA2除外)
[R3]ip ip-prefix 3 permit 192.168.10.0 24
[R3]ospf
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0] filter ip-prefix 3 export ----将area0的路由传出到其他所有区域时,根据前缀列表OIA过滤
[R3-ospf-1-area-0.0.0.0]q
或者:
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]filter ip-prefix 3 import ----将其他区域的路由传入进area1时,根据前缀列表OIA过滤
[R3-ospf-1-area-0.0.0.1]q
外部:out,针对整个OSPF进程
[R4]acl 2000
[R4-acl-basic-2000]rule 10 permit source 172.16.1.0 0.0.2.0
[R4-acl-basic-2000]q
[R4]ospf
[R4-ospf-1]filter-policy 2000 export direct 或者可以定义一个route-policy,在import-route的时候,调用route-policy进行过滤
第一种做法:需要先写一条静态的默认路由,再用命令下发
ip route 0.0.0.0 0.0.0.0 Serial 0
default-information originate
第二种做法:不需要写一条静态的默认路由,直接下发
router ospf 100
default-information originate always
log adjcency-changes detail 日志管理
ospf的重分布需要加上subnet
OSPF配置
interface g0/0/0
ospf authentication-mode simple plain 123 #接口下启用明文密码
route-policy test permit node 10
if-match interface lo0
ospf 110 router-id 1.1.1.1 #建立进程号 router-id
peer 10.1.1.2 #配置邻居
log-peer-change #开启邻居变化日志信息
asbr-summary 10.1.0.0 255.255.252.0 #ASBR地址汇总
area 0
import-route direct #重分布直连路由
default-route-advertise #下放默认路由
import-route direct route-policy test type 1 #路由策略只放行lo0口,修改metric类型
authentication-mode simple plain 123 #区域下启用明文密码
network 12.1.1.0 0.0.0.255
area 1
abr-summary 192.168.1.0 255.255.252.0 #汇总ABR路由
vlink-peer 23.1.1.3 MD5 1 plain 123 #启用虚链路认证
display ospf peer brief #查看邻居表
display ospf lsdb #查看数据库
display ospf rout #查看路由表
display ip rout process ospf 11
display ospf vlink #查看虚链路
display ospf error 排除
reset ospf process #重启ospf进程
当网络中出现两台核心时,ospf的cost一定要做修改,不然路径等价负载会出现丢包现象。
修改cost值不在ospf进程打 bandwidth-reference 不然你改cost的值就会出现麻烦
路由查表规则:路由表项从左到右匹配
1、子网掩码与操作(最长匹配(目的/掩码)同协议)
2、通过什么路由协议(不同路由协议优先级是不同的,direct>ospf>isis>static>rip>BGP>)
direct 优先级 0
static 优先级 60
ospf 优先级 10
isis 优先级 15
rip 优先级 100
BGP 优先级 255
3、通过cost值比较
Route Flags:路由标记;
其中,R是relay的首字母,说明是迭代路由,会根据路由下一跳的IP地址获取出接口。配置静态路由时如果你只指定下一跳IP地址,而不指定出接口,那么就是迭代路由,需要根据下一跳IP地址的路由获取出接口
D是download的首字母,表示该路由下发到FIB表
黑洞路由汇总路由
精确网段没有,然后最后匹配汇总路由,指向null
LSA1-Router
[R1]display ospf lsdb router self-originate
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0 #本ospf进程为1router-id为1.1.1.1区域0
Link State Database
Type : Router #LSA类型
Ls id : 1.1.1.1 #链路状态ID
Adv rtr : 1.1.1.1 #产生此LSA的路由器Router ID
Ls age : 100 #LSA老化时间
Len : 60
Options : E
seq# : 8000000b
chksum : 0x5d9a
Link count: 3
* Link ID: 1.1.1.1 #该stub网络的IP地址(路由信息)
Data : 255.255.255.255 #该stub网络的网络掩码
Link Type: StubNet #末节网络
Metric : 0 #开销
Priority : Medium
* Link ID: 2.2.2.2 #邻居路由器的Router ID (拓扑信息)
Data : 12.1.1.1 #宣告该Router LSA的路由器接口的地址
Link Type: P-2-P #点对点网络
Metric : 1 #开销值为1
* Link ID: 12.1.1.0 #该stub网络的的IP地址 (路由信息)
Data : 255.255.255.0
Link Type: StubNet
Metric : 1
Priority : Low
[R3]display ospf lsdb router self-originate
OSPF Process 1 with Router ID 3.3.3.3
Area: 0.0.0.0
Link State Database
Type : Router
Ls id : 3.3.3.3
Adv rtr : 3.3.3.3
Ls age : 34
Len : 48
Options : E
seq# : 80000006
chksum : 0x6978
Link count: 2
* Link ID: 3.3.3.3 (路由信息)
Data : 255.255.255.255
Link Type: StubNet
Metric : 0
Priority : Medium
* Link ID: 23.1.1.3 #DR接口的IP地址(拓扑信息)
Data : 23.1.1.3 #宣告该RouterLSA的路由器接口的IP地址
Link Type: TransNet
Metric : 1
LSA2-Network
[R3]display ospf lsdb network
OSPF Process 1 with Router ID 3.3.3.3
Area: 0.0.0.0
Link State Database
Type : Network #LSA类型 (网络拓扑信息都有)
Ls id : 23.1.1.2 #DR接口的IP地址
Adv rtr : 2.2.2.2 #DR的router-id
Ls age : 73
Len : 32
Options : E
seq# : 80000002
chksum : 0xc65b
Net mask : 255.255.255.0 #网络掩码
Priority : Low
Attached Router 2.2.2.2 #连接到该网段的路由器列表
Attached Router 3.3.3.3
LSA3-ABR
[R3]display ospf lsdb summary self-originate
OSPF Process 1 with Router ID 3.3.3.3
Area: 0.0.0.0
Link State Database
Type : Sum-Net #三类LSA
Ls id : 4.4.4.4 #目的网段地址
Adv rtr : 3.3.3.3 #产生此三类LSA的Router ID
Ls age : 29
Len : 28
Options : E
seq# : 80000001
chksum : 0x62dd
Net mask : 255.255.255.255 #网络掩码
Tos 0 metric: 1 #开销值
Priority : Low
Type : Sum-Net
Ls id : 34.1.1.0
Adv rtr : 3.3.3.3
Ls age : 203
Len : 28
Options : E
seq# : 80000001
chksum : 0x48e3
Net mask : 255.255.255.0
Tos 0 metric: 1
Priority : Low
Area: 0.0.0.1
Link State Database
Type : Sum-Net
Ls id : 12.1.1.0
Adv rtr : 3.3.3.3
Ls age : 203
Len : 28
Options : E
seq# : 80000001
chksum : 0x71cf
Net mask : 255.255.255.0
Tos 0 metric: 2
Priority : Low
Type : Sum-Net
Ls id : 23.1.1.0
Adv rtr : 3.3.3.3
Ls age : 204
Len : 28
Options : E
seq# : 80000001
chksum : 0xd75f
Net mask : 255.255.255.0
Tos 0 metric: 1
Priority : Low
Type : Sum-Net
Ls id : 3.3.3.3
Adv rtr : 3.3.3.3
Ls age : 204
Len : 28
Options : E
seq# : 80000001
chksum : 0x86be
Net mask : 255.255.255.255
Tos 0 metric: 0
Priority : Low
Type : Sum-Net
Ls id : 2.2.2.2
Adv rtr : 3.3.3.3
Ls age : 205
Len : 28
Options : E
seq# : 80000001
chksum : 0xbe89
Net mask : 255.255.255.255
Tos 0 metric: 1
Priority : Low
Type : Sum-Net
Ls id : 1.1.1.1
Adv rtr : 3.3.3.3
Ls age : 205
Len : 28
Options : E
seq# : 80000001
chksum : 0xf654
Net mask : 255.255.255.255
Tos 0 metric: 2
Priority : Low