一、OSPF特性

OSPF知识点_数据库

二、报文格式

OSPF报文格式:

OSPF知识点_路由器_02

OSPF头部报文格式:

OSPF知识点_路由器_03

OSPFhello报文格式:

OSPF知识点_数据库_04

OSPF的链路状态描述报文格式:

OSPF知识点_路由器_05

OSPF的链路状态请求报文格式:

OSPF知识点_数据库_06


OSPF知识点_路由表_07

三、OSPF三张表

OSPF知识点_路由表_08

四、OSPF几个状态

OSPF知识点_路由表_09

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

图解

OSPF知识点_路由器_10

OSPF知识点_路由器_11

五、LSA1\LSA2链路状态类型

OSPF知识点_路由表_12

LSA3/4/5链路状态类型(分区域:减少LSDB泛洪,减少网络震荡,收到LSA计算路由,性能问题)

OSPF知识点_数据库_13

LSA7链路状态类型

OSPF知识点_数据库_14

判断一个LSA是否接收

OSPF知识点_路由器_15

OSPF区域

OSPF知识点_数据库_16

type 2 cost值不变,type 1 cost值外部 + 内部开销值,type1优先级更高

路由汇总

OSPF知识点_数据库_17

导致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