协议分析实验 11 OSPF

更好的阅读体验:

  1. https://www.cnblogs.com/rabbit-dayi/p/17826062.html
  2. https://blog.dayi.ink/?p=101
  3. https://type.dayiyi.top/index.php/archives/247/
  4. https://cmd.dayi.ink/1BErSmorSiK5ntFzs_Fhcw?both#Multi-Area-OSPF

任务:

① 选择样例中的OSPF2-1等6个和OSPF相关的网络拓扑,依次打开;
② 启动设备;
③ 从任意路由器端口启动wireshark,捕获报文。
④ 将其中的路由器端口shutdown,过一段时间再undo shutdown,观察OSPF报文的变化。
2、分析其中的OSPF报文。

回答下面的问题:
1、每种拓扑结构中用到了OSPF的什么功能?
2、给出协议报文截图并进行分析。

Multi-Area OSPF

开机

开始抓包

他的意思好像是随便找就行,这几个网络大差不差,我在R2上抓包的。

关机

随便找个别的,右键关机

然后抓包。

OSPF Hello报文

Open Shortest Path First
    OSPF Header
        Version: 2 # 版本2
        Message Type: Hello Packet (1) # 这是一个HELLO报文
        Packet Length: 52 # 包的长度
        Source OSPF Router: 10.0.2.2 #发送该报文的OSPF路由器的IP地址是10.0.2.2
        Area ID: 0.0.0.2 # 表示报文所属的区域ID为0.0.0.2。
        Checksum: 0xcb86 [correct] #校验和
        Auth Type: Null (0) #表示认证类型为Null,即无认证
        Auth Data (none): 0000000000000000 #认证数据为空
    OSPF Hello Packet #Hello报文的信息
        Network Mask: 255.255.255.0 #网络掩码
        Hello Interval [sec]: 10 #Hello报文的发送时延
        Options: 0x02, (E) External Routing # 外部路由
        Router Priority: 1 # 表示该路由器的优先级为1
        Router Dead Interval [sec]: 40 #表示路由器失效的时间间隔为40秒。
        Designated Router: 10.0.124.4 #指定路由器的IP地址为10.0.124.4。
        Backup Designated Router: 10.0.124.2 #备份指定路由器的IP地址为10.0.124.2
        Active Neighbor: 10.0.1.1  #表示活动邻居的IP地址是10.0.1.1
        Active Neighbor: 10.0.4.4 #表示活动邻居的IP地址是10.0.4.4

包的长度:

OSPF过程:

假设从启动开始:

  1. 路由器 A 启动:路由器 A 启动并与邻居路由器 B 形成邻接关系。
  2. 数据库描述交换:路由器 A 和 B 通过发送 Database Description 报文来交换它们的链路状态数据库概要。
  3. 路由器 A 发现信息缺失:在数据库描述交换后,路由器 A 发现它缺少路由器 B 的某个链路状态信息。发送 LS Request:路由器 A 向路由器 B 发送 LS Request,请求缺失的链路状态信息。
  4. 路由器 B 响应 LS Update:路由器 B 收到 LS Request 后,回复一个包含所请求链路状态信息的 LS Update 报文。
  5. 路由器 A 收到 LS Update 后,发送 LS Acknowledge 给路由器 B,确认已成功接收到更新信息

这里的话,两个路由器ARP报文交换之后,知道相互的IP,三层可以正常访问后开始OSPF交换信息。

R5->R1

[R5]display ip int brief 
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 5
The number of interface that is DOWN in Physical is 3
The number of interface that is UP in Protocol is 5
The number of interface that is DOWN in Protocol is 3

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              unassigned           down       down      
GigabitEthernet0/0/1              unassigned           down       down      
LoopBack0                         10.0.5.5/24          up         up(s)     
LoopBack1                         10.1.0.1/24          up         up(s)     
LoopBack2                         10.1.1.1/24          up         up(s)     
NULL0                             unassigned           up         up(s)     
Serial2/0/0                       10.0.35.5/24         up         up        
Serial2/0/1                       unassigned           down       down      
[R5]tracert 10.0.1.1

 traceroute to  10.0.1.1(10.0.1.1), max hops: 30 ,packet length: 40,press CTRL_C
 to break 

 1 10.0.35.3 20 ms  10 ms  10 ms 

 2 10.0.23.2 30 ms  40 ms  20 ms 

 3 10.0.124.1 20 ms  20 ms  30 ms 
[R5]

OSPF LS UPDATE 链路更新报文

好大

Open Shortest Path First
    OSPF Header #公共首部
        Version: 2 #版本号2
        Message Type: LS Update (4) #链路更新报文
        Packet Length: 64 #长度64
        Source OSPF Router: 10.0.2.2 #报文来自这个路由器
        Area ID: 0.0.0.2 #来源
        Checksum: 0x5552 [correct]
        Auth Type: Null (0) #认证
        Auth Data (none): 0000000000000000
    LS Update Packet
        Number of LSAs: 1 #LSA(链路状态报告)报文数量
        LSA-type 1 (Router-LSA), len 36
            .000 0000 0000 0001 = LS Age (seconds): 1 #LSA的年龄
            0... .... .... .... = Do Not Age Flag: 0 #无年龄FLAG
            Options: 0x02, (E) External Routing #支持外部路由
                0... .... = DN: Not set
                .0.. .... = O: Not set
                ..0. .... = (DC) Demand Circuits: Not supported
                ...0 .... = (L) LLS Data block: Not Present
                .... 0... = (N) NSSA: Not supported
                .... .0.. = (MC) Multicast: Not capable
                .... ..1. = (E) External Routing: Capable
                .... ...0 = (MT) Multi-Topology Routing: No
            LS Type: Router-LSA (1) #LSA的类型,这里是1 路由LSA
            Link State ID: 10.0.2.2 #链路状态ID
            Advertising Router: 10.0.2.2 #发布此LSA的路由器IP地址
            Sequence Number: 0x80000006 #序列号(防止过失传播)
            Checksum: 0xf321 #校验和
            Length: 36 #长度
            Flags: 0x01, (B) Area border router #标志,该路由器是边界路由
                0... .... = (H) flag: No
                ...0 .... = (N) flag: No
                .... 0... = (W) Wild-card multicast receiver: No
                .... .0.. = (V) Virtual link endpoint: No
                .... ..0. = (E) AS boundary router: No
                .... ...1 = (B) Area border router: Yes
            Number of Links: 1 #LSA包含的链路数量
            Type: Transit  ID: 10.0.124.4      Data: 10.0.124.2      Metric: 10
                Link ID: 10.0.124.4 - IP address of Designated Router 链路ID
                Link Data: 10.0.124.2 #链路数据
                Link Type: 2 - Connection to a transit network #传输网络
                Number of Metrics: 0 - TOS #度量数量
                0 Metric: 10 #度量值为10

再看一个非路由协议的LSA

Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 108
        Source OSPF Router: 10.0.4.4
        Area ID: 0.0.0.2
        Checksum: 0x95df [correct]
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    LS Update Packet
        Number of LSAs: 2 # 这里有两个LSA
        LSA-type 1 (Router-LSA), len 48
        LSA-type 2 (Network-LSA), len 32
            .000 0000 0000 0001 = LS Age (seconds): 1 
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x02, (E) External Routing
            LS Type: Network-LSA (2) # 网络路由
            Link State ID: 10.0.124.4 #链路状态ID
            Advertising Router: 10.0.4.4 #发布此LSA的路由器IP地址
            Sequence Number: 0x80000004 #序列号
            Checksum: 0x207a
            Length: 32
            Netmask: 255.255.255.0 #网络子网掩码
            Attached Router: 10.0.4.4 #附加的路由(LSA所代表的网络包含这个路由器)
            Attached Router: 10.0.2.2 #附加的路由

OSPF LS request

这个LS ID 不一定完全等于IP地址。

LS ID:

  • 特定链路状态广告(LSA)的标识符
  • 在路由器 LSA 中,它通常是发出 LSA 的路由器的接口 IP 地址;在网络 LSA 中,它是网络的 IP 地址;而在汇总和外部 LSA 中,它代表了被汇总或外部网络的 IP 地址。
  • 虽然 Link State ID 通常以 IP 地址格式出现,但它的含义和用途与实际的 IP 地址不同。

感觉好多一样的包诶


Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Request (3)
        Packet Length: 168
        Source OSPF Router: 10.0.1.1
        Area ID: 0.0.0.2
        Checksum: 0x2707 [correct]
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
        
    Link State Request # 链路状态请求,表示这是一个请求特定链路状态信息的请求。
        LS Type: Router-LSA (1) # LS类型:路由器-LSA(1),表示请求的是路由器链路状态广告。
        Link State ID: 10.0.2.2 # 链路状态ID:10.0.2.2,标识特定链路状态的唯一ID。
        Advertising Router: 10.0.2.2 # 广告路由器:10.0.2.2,表示发布该链路状态信息的路由器。
        
    Link State Request
        LS Type: Router-LSA (1) #一样的
        Link State ID: 10.0.1.1 #链路状态ID
        Advertising Router: 10.0.1.1
    Link State Request
        LS Type: Router-LSA (1) #路由LSA
        Link State ID: 10.0.4.4
        Advertising Router: 10.0.4.4
    Link State Request
        LS Type: Network-LSA (2) #网络LSA
        Link State ID: 10.0.124.4 
        Advertising Router: 10.0.4.
    #汇总-LSA(IP网络)的请求,用于汇总和传播IP网络的路由信息。    
    Link State Request
        LS Type: Summary-LSA (IP network) (3)
        Link State ID: 10.0.2.0
        Advertising Router: 10.0.2.2
    【...省略一点相同类型的LSA】
    Link State Request
        LS Type: Summary-LSA (IP network) (3)
        Link State ID: 10.1.1.0
        Advertising Router: 10.0.2.2
    Link State Request
        LS Type: AS-External-LSA (ASBR) (5) # AS-外部-LSA(自治系统边界路由器),描述来自外部自治系统的路由。
        Link State ID: 0.0.0.0
        Advertising Router: 10.0.4.4

OSPF LS UPDATE

Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 412
        Source OSPF Router: 10.0.2.2
        Area ID: 0.0.0.2
        Checksum: 0xaf95 [correct]
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    LS Update Packet
        Number of LSAs: 12 #包含12个包
        LSA-type 1 (Router-LSA), len 36 #路由LSA
            .000 0000 0000 0001 = LS Age (seconds): 1 #AGE
            0... .... .... .... = Do Not Age Flag: 0 #no age
            Options: 0x02, (E) External Routing #外部路由
            LS Type: Router-LSA (1) #LSA的更新
            Link State ID: 10.0.2.2 #LS ID
            Advertising Router: 10.0.2.2 #LS广播路由器,应该是IP地址
            Sequence Number: 0x80000007 #段序号
            Checksum: 0xf122
            Length: 36 #长度
            Flags: 0x01, (B) Area border router #区域内广播下外部路由?
            Number of Links: 1 #连接数量
            Type: Transit  ID: 10.0.124.4      Data: 10.0.124.2  #路由器接口的IP地址。    Metric: 10
        LSA-type 1 (Router-LSA), len 36
            .000 0010 1011 1010 = LS Age (seconds): 698
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x02, (E) External Routing
            LS Type: Router-LSA (1)
            Link State ID: 10.0.1.1
            Advertising Router: 10.0.1.1
            Sequence Number: 0x80000006
            Checksum: 0x0b0e
            Length: 36
            Flags: 0x02, (E) AS boundary router #区域内信息进行汇总
            Number of Links: 1
            Type: Transit  ID: 10.0.124.4      Data: 10.0.124.1      Metric: 10  # Transit  ID: 10.0.124.4 也是,表示从这个地方也可以访问到10.0.124.4的网络
        LSA-type 1 (Router-LSA), len 48
            .000 0000 0000 0010 = LS Age (seconds): 2
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x02, (E) External Routing
            LS Type: Router-LSA (1)
            Link State ID: 10.0.4.4
            Advertising Router: 10.0.4.4
            Sequence Number: 0x8000000a
            Checksum: 0x499e
            Length: 48
            Flags: 0x02, (E) AS boundary router
            Number of Links: 2
              Type: Transit  ID: 10.0.124.4      Data: 10.0.124.4      Metric: 10 #多个路由穿底
              Type: Stub     ID: 10.0.4.0        Data: 255.255.255.0   Metric: 0 #直连网络或主机路由
        LSA-type 2 (Network-LSA), len 32
            .000 0000 0000 0010 = LS Age (seconds): 2
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x02, (E) External Routing
            LS Type: Network-LSA (2)
            Link State ID: 10.0.124.4
            Advertising Router: 10.0.4.4
            Sequence Number: 0x80000005
            Checksum: 0x1e7b
            Length: 32
            Netmask: 255.255.255.0
            Attached Router: 10.0.4.4
            Attached Router: 10.0.2.2
        LSA-type 3 (Summary-LSA (IP network)), len 28
            .000 0010 1111 0000 = LS Age (seconds): 752
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x02, (E) External Routing
            LS Type: Summary-LSA (IP network) (3)
            Link State ID: 10.0.2.0
            Advertising Router: 10.0.2.2
            Sequence Number: 0x80000001
            Checksum: 0x5ee4
            Length: 28
            Netmask: 255.255.255.0
            TOS: 0
            Metric: 0
       【...省略一点相同类型的LSA】
        LSA-type 3 (Summary-LSA (IP network)), len 28
            .000 0010 1101 1110 = LS Age (seconds): 734
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x02, (E) External Routing
            LS Type: Summary-LSA (IP network) (3)
            Link State ID: 10.1.0.0
            Advertising Router: 10.0.2.2
            Sequence Number: 0x80000001
            Checksum: 0x29d0
            Length: 28
            Netmask: 255.255.255.0
            TOS: 0
            Metric: 9764
        LSA-type 3 (Summary-LSA (IP network)), len 28
            .000 0010 1101 1110 = LS Age (seconds): 734
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x02, (E) External Routing
            LS Type: Summary-LSA (IP network) (3)
            Link State ID: 10.1.1.0
            Advertising Router: 10.0.2.2
            Sequence Number: 0x80000001
            Checksum: 0x1eda
            Length: 28
            Netmask: 255.255.255.0
            TOS: 0
            Metric: 9764
        LSA-type 5 (AS-External-LSA (ASBR)), len 36
            .000 0010 1110 1110 = LS Age (seconds): 750
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x02, (E) External Routing
            LS Type: AS-External-LSA (ASBR) (5)
            Link State ID: 0.0.0.0
            Advertising Router: 10.0.4.4
            Sequence Number: 0x80000001
            Checksum: 0xec52
            Length: 36
            Netmask: 0.0.0.0
            0... .... = External Type: Type 1 (metric is specified in the same units as interface cost)
            .000 0000 = TOS: 0
            Metric: 1
            Forwarding Address: 0.0.0.0
            External Route Tag: 1

OSPF ACK

这里有两个LSA


Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Acknowledge (5)
        Packet Length: 64
        Source OSPF Router: 10.0.2.2
        Area ID: 0.0.0.2
        Checksum: 0xd527 [correct]
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    LSA-type 2 (Network-LSA), len 32
        .000 0000 0000 0001 = LS Age (seconds): 1
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: Network-LSA (2)
        Link State ID: 10.0.124.4
        Advertising Router: 10.0.4.4
        Sequence Number: 0x80000005
        Checksum: 0x1e7b
        Length: 32
    LSA-type 1 (Router-LSA), len 48
        .000 0000 0000 0001 = LS Age (seconds): 1
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: Router-LSA (1)
        Link State ID: 10.0.4.4
        Advertising Router: 10.0.4.4
        Sequence Number: 0x8000000a
        Checksum: 0x499e
        Length: 48

OSPF DB 描述

建立邻居关系后,交换数据库概要

Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: DB Description (2)
        Packet Length: 332
        Source OSPF Router: 10.0.1.1
        Area ID: 0.0.0.2
        Checksum: 0xcece [correct]
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    OSPF DB Description
        Interface MTU: 0
        Options: 0x02, (E) External Routing
        DB Description: 0x00
        DD Sequence: 52
    LSA-type 1 (Router-LSA), len 36
        .000 0000 0000 0001 = LS Age (seconds): 1
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: Router-LSA (1)
        Link State ID: 10.0.1.1
        Advertising Router: 10.0.1.1
        Sequence Number: 0x80000007
        Checksum: 0xf425
        Length: 36
    LSA-type 1 (Router-LSA), len 36
        .000 0000 0000 0010 = LS Age (seconds): 2
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: Router-LSA (1)
        Link State ID: 10.0.2.2
        Advertising Router: 10.0.2.2
        Sequence Number: 0x80000008
        Checksum: 0xef23
        Length: 36
    LSA-type 1 (Router-LSA), len 48
        .000 0000 0000 0100 = LS Age (seconds): 4
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: Router-LSA (1)
        Link State ID: 10.0.4.4
        Advertising Router: 10.0.4.4
        Sequence Number: 0x8000000a
        Checksum: 0x499e
        Length: 48
    LSA-type 2 (Network-LSA), len 32
        .000 0000 0000 0100 = LS Age (seconds): 4
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: Network-LSA (2)
        Link State ID: 10.0.124.4
        Advertising Router: 10.0.4.4
        Sequence Number: 0x80000005
        Checksum: 0x1e7b
        Length: 32
    LSA-type 3 (Summary-LSA (IP network)), len 28
        .000 0010 1111 0010 = LS Age (seconds): 754
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: Summary-LSA (IP network) (3)
        Link State ID: 10.0.2.0
        Advertising Router: 10.0.2.2
        Sequence Number: 0x80000001
        Checksum: 0x5ee4
        Length: 28
    【...省略一点相同类型的LSA】
    LSA-type 3 (Summary-LSA (IP network)), len 28
        .000 0010 1110 0000 = LS Age (seconds): 736
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: Summary-LSA (IP network) (3)
        Link State ID: 10.1.1.0
        Advertising Router: 10.0.2.2
        Sequence Number: 0x80000001
        Checksum: 0x1eda
        Length: 28
    LSA-type 5 (AS-External-LSA (ASBR)), len 36
        .000 0010 1111 0000 = LS Age (seconds): 752
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: AS-External-LSA (ASBR) (5)
        Link State ID: 0.0.0.0
        Advertising Router: 10.0.4.4
        Sequence Number: 0x80000001
        Checksum: 0xec52
        Length: 36
    LSA-type 5 (AS-External-LSA (ASBR)), len 36
        .000 0000 0000 0101 = LS Age (seconds): 5
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: AS-External-LSA (ASBR) (5)
        Link State ID: 10.0.1.0
        Advertising Router: 10.0.1.1
        Sequence Number: 0x80000001
        Checksum: 0x0aaf
        Length: 36
    LSA-type 5 (AS-External-LSA (ASBR)), len 36
        .000 0000 0000 0101 = LS Age (seconds): 5
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: AS-External-LSA (ASBR) (5)
        Link State ID: 10.2.0.0
        Advertising Router: 10.0.1.1
        Sequence Number: 0x80000001
        Checksum: 0x02b6
        Length: 36
    LSA-type 5 (AS-External-LSA (ASBR)), len 36
        .000 0000 0000 0010 = LS Age (seconds): 2
        0... .... .... .... = Do Not Age Flag: 0
        Options: 0x02, (E) External Routing
        LS Type: AS-External-LSA (ASBR) (5)
        Link State ID: 10.0.124.0
        Advertising Router: 10.0.1.1
        Sequence Number: 0x80000001
        Checksum: 0xbb82
        Length: 36

功能

  • LS Update(链路状态更新):
    用途:LS Update 报文用于传播链路状态信息。这些报文携带链路状态广告(LSA)
  • LS Acknowledge(链路状态确认):
    用途:LS Acknowledge 报文用于确认收到 LS Update 报文。每当一个路由器接收到一个 LS Update 报文,它就会发送一个 LS Acknowledge 报文来确认收到。相当于TCP的ACK
  • LS Request(链路状态请求):
    用途:LS Request 报文用于请求更多的链路状态信息。当一个路由器需要获取特定的链路状态信息来更新其本地数据库时,它会发送 LS Request 报文。
  • Database Description (数据库描述):
    用途:Database Description (DBD) 报文用于在 OSPF 的邻接建立过程中交换路由器的链路状态数据库的概要信息。在 OSPF 邻居关系建立过程中,路由器首先通过发送 DBD 报文来描述其链路状态数据库的内容。

过程大概这样

  1. 发送 LS Request:路由器发现它的链路状态数据库缺少某些信息或某些信息已过时时,发送 LS Request 报文给邻居路由器,请求缺失的或最新的链路状态信息。
  2. 收到 LS Request 的响应:收到 LS Request 的路由器会检查其数据库,如果有被请求的信息,它会使用 LS Update 报文来响应。LS Update 报文包含了被请求的链路状态信息。
  3. 发送 LS Acknowledge:发送 LS Request 的路由器收到 LS Update 后,会发送 LS Acknowledge 报文来确认收到更新。

对于具体的信息就是LSA啦,然后LSA又分11种。

1.每种拓扑结构中用到了OSPF的什么功能

拓扑结构中使用了OSPF协议的多区域(Multi-Area)功能。在图中可以看到,有多个区域(Area0, Area1, Area2),而且每个区域内部有不同的路由器(R1, R2, R3, R4, R5)和网络。每个路由器的接口旁边有IP地址和子网掩码,以及区域标识。

OSPF将一个自治系统(AS)分割成不同的区域以减少路由表的大小和路由更新的复杂性。每个区域内部进行路由选择,而区域之间的路由选择则通过区域边界路由器(Area Border Router, ABR)来完成。

拓扑中的"LookBack"指的是用于OSPF路由器ID分配的环回(loopback)接口,这是OSPF网络设计中的一个常见做法,以确保路由器ID的稳定性。环回接口的地址不会因为物理接口的状态变化而改变,因此它为OSPF提供了一个稳定的标识。

2.给出协议报文截图并进行分析。

上面已经分析啦。

OSPF&LSA

1.每种拓扑结构中用到了OSPF的什么功能

  • 多区域 OSPF 三个不同的OSPF区域(Area 0, Area 1, 和 Area 2)。
  • 环回接口 (Loopback Interfaces): 每个路由器配置有环回接口,用于稳定的 OSPF 路由器 ID。
  • ABR(区域边界路由器): 这里由于是Area2的直接交换机连上了Area0,然后就等于直接连上了三个路由器,这样的话Area0估计要选举出来一个路由器。

2.给出协议报文截图并进行分析。

关机这三个,然后启动:

二层交换机里没东西,可以当傻瓜交换机用

在GE3上抓的包:

他们几个用了组播..

234.1

ip.addr==10.1.234.1

是它

包:

发送完HELLO报文之后交换数据库描述

3->1 DB交换
3<-1 先建立连接

这个包没数据,感觉可能是没有LSA的数据,也可能是为了先建立连接。对上号。

然后开始发概要:

然后3给1发了一大堆LSA概要:

然后1问3要LSA信息:

1跟3又来了次DB描述(不是很清楚为啥)

然后3->1 LSA信息:

然后1 往组播地址发了信息:

然后1 往组播发了一堆ACK:

DB描述交换过程

  • 1.主动方发送DB描述报文:OSPF邻居关系建立时,主动方(Master)首先发送DB描述报文给被动方(Slave)。DB描述报文中包含了主动方所知道的链路状态数据库的描述信息。
  • 2.被动方确认并发送确认号:被动方收到DB描述报文后,会确认接收到的DB描述报文,并发送一个确认号(DD Sequence Number)给主动方。确认号表示被动方期望接收到的下一个DB描述报文的序列号。
  • 3.主动方发送下一个DB描述报文:主动方收到被动方发送的确认号后,会根据确认号确定下一个需要发送的DB描述报文,并将其发送给被动方。这个过程会一直进行,直到主动方发送完所有的DB描述报文。
  • 4.被动方确认并发送确认号:被动方收到主动方发送的DB描述报文后,会确认接收到的报文,并发送下一个期望接收到的DB描述报文的确认号。
  • 重复步骤3和步骤4:主动方和被动方交替进行DB描述报文的发送和确认,直到双方的链路状态数据库的描述信息完全交换。

234.2

几乎一样

234.4

也几乎一样

组播:

  • 224.0.0.5: 所有OSPF路由器的地址,用于大多数OSPF控制和更新消息。
  • 224.0.0.6: 所有OSPF指定路由器的地址,主要用于从指定路由器(Designated Router, DR)和备份指定路由器(Backup Designated Router, BDR)到其它OSPF路由器的更新消息。

LSA

LSA-TYPE1

  • 描述路由器自身的直连链路信息(接口的地址、接口类型、接口开销打包成1类LSA通告给邻居)
  • 每个在OSPF里的路由器都会生成一个这个
  • 但,每台OSPF路由器只能产生一条类型1的LSA,即使有多个 OSPF接口,也只有一条类型 1 的 LSA
LSA-type 1 (Router-LSA), len 48
    .000 0000 0000 0001 = LS Age (seconds): 1 
    0... .... .... .... = Do Not Age Flag: 0
    Options: 0x02, (E) External Routing
    LS Type: Router-LSA (1) #类型1 路由LSA
    Link State ID: 10.0.3.3
    Advertising Router: 10.0.3.3
    Sequence Number: 0x80000011
    Checksum: 0x1cf6
    Length: 48
    Flags: 0x01, (B) Area border router
    Number of Links: 2
    Type: Transit  ID: 10.1.234.3      Data: 10.1.234.3      Metric: 1 #接口
        Link ID: 10.1.234.3 - IP address of Designated Router
        Link Data: 10.1.234.3
        Link Type: 2 - Connection to a transit network 
        Number of Metrics: 0 - TOS
        0 
        Metric: 1
    Type: Stub     ID: 10.0.3.0        Data: 255.255.255.0   Metric: 0 #连了个子网
        Link ID: 10.0.3.0 - IP network/subnet number #子网信息
        Link Data: 255.255.255.0 #掩码
        Link Type: 3 - Connection to a stub network
        Number of Metrics: 0 - TOS
        0 # 指示有多少不同类型的服务(TOS)的度量值。过时了
        Metric: 0 #成本

LSA-TYPE 2

  • 作用:描述多点可达环境中的路由器,以及掩码网段信息(描述广播网段上的路由器的router-id)
  • 产生者:DR(指定路由器)
  • OSPF网络和该网络上直接连接的路由器。它包含以下关键信息:
    -(Netmask),这里是255.255.255.0,用来定义网络的大小。

    • 附加路由器(Attached Router)列表,包括了所有直接连接到这个网络的路由器的IP地址。这些信息对于OSPF协议构建整个网络的拓扑图是必要的。
  • 范围:区域内。

LSA-type 2 (Network-LSA), len 36 
    .000 0000 0000 0001 = LS Age (seconds): 1 # LS年龄:1秒,该LSA存在于OSPF区域中的时间。
    0... .... .... .... = Do Not Age Flag: 0 # 不老化标志:0
    Options: 0x02, (E) External Routing # 选项:0x02,表示支持外部路由(E位)。
    LS Type: Network-LSA (2) # LS类型:网络LSA(2)
    Link State ID: 10.1.234.3 # 链路状态ID:10.1.234.3
    Advertising Router: 10.0.3.3 # 广告路由器:10.0.3.3 指发布此LSA的路由器IP地址。
    Sequence Number: 0x80000003 # 序列号:0x80000003
    Checksum: 0x25fb # 校验
    Length: 36 # 长度:36字节,表示整个LSA的长度。
    Netmask: 255.255.255.0 # 网络掩码:255.255.255.0,定义了网络的大小。
    
    
    #下面的这些路由器直连到了咱们的Area
    Attached Router: 10.0.3.3 # 附加路由器:10.0.3.3,直接连接的路由器。
    Attached Router: 10.0.1.1 # 附加路由器:10.0.1.1,直接连接的路由器。
    Attached Router: 10.0.2.2 # 附加路由器:10.0.2.2,直接连接的路由器。

LSA-TYPE 3

  • 对于类型 3 的 LSA(Summary-LSA),它们通常由 Area Border Routers (ABRs) 生成。ABR 负责在 OSPF 区域之间传递路由信息。
  • (DR) 主要用于管理类型 1 和类型 2 的 LSA(Router-LSA 和 Network-LSA)在 OSPF 区域内的传播,特别是在广播和非点对点多路访问网络中。DR 的角色通常与类型 3 LSA 的生成无关。
  • Link State ID:在类型 3 LSA 中,Link State ID 通常表示该 LSA 所描述的目标网络的 IP 地址。它提供了 LSA 所涉及的网络范围的信息。
  • 范围:area之间
LSA-type 3 (Summary-LSA (IP network)), len 28 # 网络摘要LSA,长度为28字节。
    .000 0010 0000 1010 = LS Age (seconds): 522 # LS年龄(秒):522,
    0... .... .... .... = Do Not Age Flag: 0 # 不老化标志:0,表示这个LSA会随时间老化。
    Options: 0x02, (E) External Routing # 选项:0x02,(E)表示支持外部路由。
    LS Type: Summary-LSA (IP network) (3) # LS类型:网络摘要LSA(类型3),用于在区域之间传播网络路由信息。
    Link State ID: 10.0.1.0 # 链路状态ID:10.0.1.0,通常是该LSA所描述的目标网络的IP地址。
    Advertising Router: 10.0.1.1 # 广告路由器:10.0.1.1,表示发布这个LSA的路由器的IP地址。
    Sequence Number: 0x80000001 # 序列号:0x80000001
    Checksum: 0x76cf # 校验和:0x76cf
    Length: 28 # 长度:28字节
    Netmask: 255.255.255.0 # 网络掩码:255.255.255.0,指示所描述网络的大小。
    TOS: 0 # TOS(Type of Service):0,表示服务类型,这里为默认值无意义内容。
    Metric: 0 # 度量值:0,表示到达所宣告网络的成本。

这里实际上描述了Area2

LSA-TYPE 4

  • 产生:它们是由区域内的每个路由器产生,用于通告到达 ASBR (Autonomous System Boundary Router,自治系统边界路由器) 的路由信息。ASBR 是那些连接到外部网络(如其他自治系统)的路由器。
  • Link State ID: ASBR的Router-id
  • Advertising Router: 谁吆喝的
  • 范围:OSPF内部

大体:内部的人找出口在哪

LSA-type 4 (Summary-LSA (ASBR)), len 28 
    .000 0001 1111 0100 = LS Age (seconds): 500 # LS年龄:500秒,
    0... .... .... .... = Do Not Age Flag: 0 # 不老化标志:0,表示该LSA会正常老化。
    Options: 0x02, (E) External Routing # 选项:0x02,表示支持外部路由(E)。
    LS Type: Summary-LSA (ASBR) (4) # LS类型:ASBR的Summary-LSA(4),表示这是一个总结LSA,用于描述到ASBR的路由。
    Link State ID: 10.0.5.5 # 链路状态ID:10.0.5.5,唯一标识这个LSA。 ASBR的Router-id
    Advertising Router: 10.0.3.3 # 广告路由器:10.0.3.3,表示发布这个LSA的路由器。
    Sequence Number: 0x80000001 # 序列号:0x80000001,用于确保LSA的更新能被正确识别。
    Checksum: 0xd136 # 校验和:0xd136
    Length: 28 # 长度:28字节
    Netmask: 0.0.0.0 # 网络掩码:0.0.0.0,对于类型4的LSA,通常设置为0。
    TOS: 0 
    Metric: 48 # 度量值:48,表示到达广告路由器的路径代价。

LSA-TYPE5

作用:描述AS外部路由信息(被引入的路由信息)告诉大家我是谁。
产生:ASBR
Link State ID:在AS-External-LSA中,Link State ID是与被广告路由相关的IP地址。它唯一标识了这个特定的LSA。
Advertising Router:是指生成并发送这个LSA的路由器。在AS-External-LSA的情况下,这通常是ASBR本身的IP地址。
范围:AS-External-LSA整个自治系统。它们被ASBR生成后,会在整个OSPF域中传播,以通知所有路由器关于外部(非OSPF)目的地的存在和路径。
感觉是相互广播。

LSA-type 5 (AS-External-LSA (ASBR)), len 36 # LSA类型5(AS外部LSA(ASBR)),
    .000 0001 1111 1111 = LS Age (seconds): 511 # LS年龄:511秒,
    0... .... .... .... = Do Not Age Flag: 0 
    Options: 0x02, (E) External Routing # 选项:0x02,(E)表示支持外部路由。
    LS Type: AS-External-LSA (ASBR) (5) # LS类型:AS外部LSA(ASBR)(5),表示这是一个描述自治系统外部路由的LSA。
    Link State ID: 10.0.35.3 # 链路状态ID:10.0.35.3,唯一标识这个LSA。
    Advertising Router: 10.0.5.5 # 广告路由器:10.0.5.5,表示发布这个LSA的路由器。
    Sequence Number: 0x80000001 
    Checksum: 0x404c 
    Length: 36
    Netmask: 255.255.255.255 # 子网掩码:255.255.255.255,表示路由的精确度。
    1... .... = External Type: Type 2 # 外部类型:类型2,表示这个LSA的度量值大于任何其他链路状态路径。
    .000 0000 = TOS: 0 # TOS:0,服务类型,这里为0。
    Metric: 1 # 度量:1,表示到达该目的网络的代价。
    Forwarding Address: 0.0.0.0 # 转发地址:0.0.0.0,用于指定数据包的下一跳地址。
    External Route Tag: 1 # 外部路由标签:1,可以用来传递附加信息,比如路由的来源。

LSA-TYPE5 LSA-TYPE7

类型5 LSA(AS-External-LSA):

  • 用途:用于在整个OSPF自治系统中宣告从非OSPF网络学习到的路由。这些LSA通常由ASBR(自治系统边界路由器)产生。
  • 传播范围:可以在整个OSPF区域内传播,除非被区域边界路由器(ABR)阻挡。
  • 适用场景:在标准OSPF环境中使用,尤其是当路由信息需要从ASBR传播到整个OSPF域时。

类型7 LSA(NSSA-External-LSA):

  • 用途:专门用于NSSA(不邻接存储区域)中。它允许在NSSA内部引入外部路由,同时不破坏NSSA的主要特性,即不允许普通的类型5 LSA进入。
  • 传播范围:类型7 LSA仅在NSSA内部传播。当它们到达NSSA的ABR时,ABR会将它们转换成类型5 LSA,以便在整个OSPF域中传播。
  • 适用场景:在特殊类型的OSPF区域(NSSA)中使用,允许在这些区域内部引入外部路由,同时限制这些路由的传播仅限于NSSA内部。

"不邻接存储区域"(Not-So-Stubby Area,NSSA)是一种特殊类型的区域在 OSPF(Open Shortest Path First)路由协议中使用。
NSSA 是为了解决标准存储区域(Stub Area)和完全存储区域(Totally Stub Area)的限制而设计的。

标准存储区域的限制:

  • 在标准存储区域中,外部路由(类型5 LSA)不被允许传入。这种区域只允许内部路由和到达自治系统边界路由器(ASBR)的默认路由。

NSSA的特性:

  • NSSA 允许在存储区域内引入外部路由。这是通过类型7 LSA(NSSA-External-LSA)实现的,它们在 NSSA 内部传播外部路由信息。
  • 类型7 LSA 在到达 NSSA 的区域边界路由器(ABR)时,会被转换成标准的类型5 LSA,然后在整个 OSPF 域中传播。

OSPF2-4

感觉也差不多。

1.拓扑结构中用到了OSPF的什么功能

  • 有4个AREA诶。多个区域(Area)
  • 区域边界路由器(Area Border Router, ABR)
  • 路由聚合:OSPF允许通过网络地址和掩码来聚合路由,这可以减少路由表的大小并减少区域间的路由信息交换。
  • Loopback接口:在OSPF中,loopback接口的IP地址经常被用作路由器的标识。图中显示了多个loopback接口的地址。

2.给出协议报文截图并进行分析。

感觉跟之前的也差不多?

随便分析一个bia:

LSA-type5:向外部宣告我是谁:

LSA-type 5 (AS-External-LSA (ASBR)), len 36
    .000 0001 1111 1111 = LS Age (seconds): 511
    0... .... .... .... = Do Not Age Flag: 0
    Options: 0x02, (E) External Routing
    LS Type: AS-External-LSA (ASBR) (5)
    Link State ID: 10.0.35.0
    Advertising Router: 10.0.5.5
    Sequence Number: 0x80000001
    Checksum: 0x5e31
    Length: 36
    Netmask: 255.255.255.0
    1... .... = External Type: Type 2 (metric is larger than any other link state path)
    .000 0000 = TOS: 0
    Metric: 1
    Forwarding Address: 0.0.0.0
    External Route Tag: 1

这样访问10.0.35.0/24需要通过10.0.5.5来访问。

当当:

OSPF VCs and Inter-Area Route Filtering

1.拓扑结构中用到了OSPF的什么功能

  1. OSPF VCs(Virtual Circuits):这是一种在不同区域之间建立虚拟链路的技术。OSPF VCs允许在不同OSPF区域之间建立逻辑上的连接,使得跨区域的路由信息可以互相传递。
  2. Inter-Area Route Filtering:这是一种通过过滤OSPF路由信息来控制区域间路由传播的方法。通过配置适当的过滤规则,可以限制某个OSPF区域向其他区域传播特定的路由信息。

2.给出协议报文截图并进行分析。

ENSP的虚拟路由器诶

从LS UPDATE里找:

有个P2P的子网

这里有个虚拟链路:

然后他有三个子网:

好像是说他可以建立虚拟链路。

AR1的PEER:

AR4的PEER:

好像也不是很多东西

AR4上有个vlink:

AR3上也有vlink:

AR2的OSPF brief:


[R2-ospf-1]display ospf brief

     OSPF Process 1 with Router ID 10.0.2.2
         OSPF Protocol Information

 RouterID: 10.0.2.2         Border Router:  AREA 
 Multi-VPN-Instance is not enabled
 Global DS-TE Mode: Non-Standard IETF Mode
 Graceful-restart capability: disabled
 Helper support capability  : not configured
 Applications Supported: MPLS Traffic-Engineering 
 Spf-schedule-interval: max 10000ms, start 500ms, hold 1000ms
 Default ASE parameters: Metric: 1 Tag: 1 Type: 2
 Route Preference: 10 
 ASE Route Preference: 150 
 SPF Computation Count: 14    
 RFC 1583 Compatible
 Retransmission limitation is disabled
 Area Count: 2   Nssa Area Count: 0 
 ExChange/Loading Neighbors: 0
 Process total up interface count: 4
 Process valid up interface count: 2
 
 Area: 0.0.0.0          (MPLS TE not enabled)
 Authtype: None   Area flag: Normal
 SPF scheduled Count: 14    
 ExChange/Loading Neighbors: 0
 Router ID conflict state: Normal
 Area interface up count: 3

 Interface: 10.0.2.2 (LoopBack0)
 Cost: 0       State: DR        Type: Broadcast    MTU: 1500  
 Priority: 1
 Designated Router: 10.0.2.2
 Backup Designated Router: 0.0.0.0
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 

 Interface: 10.0.23.2 (Serial2/0/1) --> 10.0.23.3
 Cost: 48      State: P-2-P     Type: P2P       MTU: 1500  
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 
 
 Area: 0.0.0.2          (MPLS TE not enabled)
 Authtype: None   Area flag: Transit
 SPF scheduled Count: 13    
 ExChange/Loading Neighbors: 0
 Router ID conflict state: Normal
 Area interface up count: 1

 Interface: 10.0.12.2 (Serial2/0/0) --> 10.0.12.1
 Cost: 48      State: P-2-P     Type: P2P       MTU: 1500  
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 

这个图:

10.0.5.5 和 10.0.3.3之间有一条虚电路

不过虚电路到OSPF AREA 0 是如何交互数据的包我好像没太捕明白。

OSPF Troubleshooting

1.拓扑结构中用到了OSPF的什么功能

  • 多区域(Multi-Area)配置:图中显示了多个OSPF区域(AREA1, AREA2, 和 AREA0)。AREA0是OSPF的骨干区域,其他区域(如AREA1和AREA2)则是非骨干区域。这种设计可以减少路由更新的数量,从而降低CPU和内存的使用,提高网络稳定性。
  • 环回接口(Loopback Interfaces): 每个路由器都有一个环回地址,如10.0.1.1/24。在OSPF中,环回接口通常用来确保稳定的OSPF路由器ID,即使物理接口宕机,路由器ID也不会改变。
  • 路由器ID(Router IDs):每个路由器似乎都有一个明确的标识符,如AR1、AR2等。在OSPF中,这个ID通常是最高的活跃IP地址或者是手动配置的环回接口地址。
  • OSPF设计类型:尽管图中未明示,但路由器之间的连接可能表示点对点连接或广播网络。这些不同的网络类型在OSPF中会影响选举DR(指定路由器)和BDR(备份指定路由器)的行为。
  • LSDB(链路状态数据库):所有路由器在同一个OSPF区域中共享相同的LSDB,以确保所有路由器对网络拓扑有相同的视图。

2.给出协议报文截图并进行分析。

抓了两个路由器也都是只有hello报文

可能要修一下,但是不是很会华为的命令..

2-1Single-Area OSPF

1.拓扑结构中用到了OSPF的什么功能

这个就只有一个区域啦。

2.给出协议报文截图并进行分析。

跟之前的一样啦

之前已经提过了。这里就随便抓一个:

OSPF Header # OSPF报头
    Version: 2 # 版本号:2
    Message Type: LS Update (4) # 消息类型:LS更新(4)
    Packet Length: 156 
    Source OSPF Router: 10.0.1.1 # 来源OSPF路由器:10.0.1.1,标识发送此数据包的路由器的IP地址。
    Area ID: 0.0.0.0 (Backbone) # 区域ID:0.0.0.0,表示这是骨干区域的一个数据包。
    Checksum: 0xdd64 [correct] # 校验和:0xdd64,
    Auth Type: Simple password (1) # 认证类型:简单密码(1),表示使用了简单密码认证。
    Auth Data (Simple): huawei # 认证数据:'huawei',为密码认证的内容。

LS Update Packet # LS更新数据包,包含多个链路状态广告(LSA)的更新信息。
    Number of LSAs: 3 # LSA数量:3,表示此数据包包含3个链路状态广告。

    # 第一个LSA
    LSA-type 1 (Router-LSA), len 48
        LS Age: 1 # LS年龄:1秒,表示自LSA发布以来的时间。
        Do Not Age Flag: 0 # 不老化标志:0,表示该LSA会随时间老化。
        Options: (E) External Routing # 选项:(E) 外部路由,表示支持外部路由。
        LS Type: Router-LSA (1) # LS类型:路由器-LSA。
        Link State ID: 10.0.1.1 # 链路状态ID:10.0.1.1。
        Advertising Router: 10.0.1.1 # 广告路由器:10.0.1.1。
        Sequence Number: 0x80000007 # 序列号。
        Checksum: 0x9970 # 校验和。
        Length: 48 # 长度:48字节。
        Flags: 0x00 # 标志。
        Number of Links: 2 # 链接数量:2。
        Link details: # 链接详情。
            - Transit, ID: 10.0.123.3, Data: 10.0.123.1, Metric: 1 #直连
            - Stub, ID: 10.0.1.1, Data: 255.255.255.255, Metric: 0 #子网

    # 第二个LSA
    LSA-type 1 (Router-LSA), len 48 # 同上,不同的是Link State ID和Advertising Router变为10.0.3.3。

    # 第三个LSA
    LSA-type 2 (Network-LSA), len 32 # LSA类型:2(网络-LSA),长度:32字节。
        LS Age: 5 # LS年龄:5秒。
        Do Not Age Flag: 0 # 不老化标志:0。
        Options: (E) External Routing # 选项:(E) 外部路由。
        LS Type: Network-LSA (2) # LS类型:网络-LSA。
        Link State ID: 10.0.123.3 # 链路状态ID:10.0.123.3。
        Advertising Router: 10.0.3.3 # 广告路由器:10.0.3.3。
        Sequence Number: 0x80000001 # 序列号。
        Checksum: 0x1a8b # 校验和。
        Length: 32 # 长度:32字节。
        Netmask: 255.255.255.0 # 网络掩码。
        Attached Routers: # 附属路由器。
            - 10.0.3.3
            - 10.0.1.1

文件下载:

https://p.dabbit.net/ctf/实验10.rar

最后修改:2023 年 11 月 11 日
如果觉得我的文章对你有用,请随意赞赏