Advertisement

OSPF动态路由协议②

阅读量:

OSPF数据包(抓包分析):

该方案采用多层级封装策略。该方案通过将应用层数据嵌入网络层数据包中实现跨四层次结构化连接。其中用于标识特定路径的状态信息字段值设为89。

该方案采用多层级封装策略。该方案通过将应用级数据嵌入网络级数据包实现跨四层次结构化连接。其中用于标识特定路径的状态信息字段值设为89

分析实验图:

OSPF数据包基本结构:头部信息+相应功能数据报文

​​​​​​ OSPF的头部数据:

OSPF报文的头部报文信息 ,是每个OSPF数据包都拥有的相同报文信息

Version Number: The Version Number in this Protocol Indicates that IPV4 is Employed with the Use of OSPFV2 and the Current Version is 2.

Message Type: OSPF Utilizes Specific Data Types for Communication, Including Hello (1), Database Description (DBD) (2), Least Significant Router Response (LSR) (3), Least Significant User Response (LSU) (4), and Lack of Information (LACK) (5).

Packet Length Represents the Size of Each Data Packet Sent Out.

Each Router's Unique Identifier (RID) is Assigned to Indicate the Originating Router.

Area ID: The OSPF Area ID field Indicates Which Area a Particular Data Packet originates From.

Data Integrity Check Utilizes a Checksum Value to Ensure the Accuracy of Transmitted Data.

There Are Three Primary OSPF Authentication Types:

  • null(No Authentication): 0
  • simple(Mail-in Authentication): 1
  • MD5(Message-Digest 5 Hash-Based Authentication): 2

Authentication Data (OSPF Authentication Data): During authentication, it is necessary to have corresponding authentication data.

In the authentication process, OSPF requires comparing two sets of data: one is the authentication type and the other is the authentication data.

OSPF requires comparing two pieces of information during authentication: one is the authentication type information and the other is the allowed access data information.

hello包:

这个包是完成OSPF收敛之前的hello包(1.0.0.1向1.0.0.2发送的hello包)

hello的具体内容:

①网络掩码

OSPF接口一旦激活就会去发送hello包,而hello包内含有这个接口本身配置的IP地址的掩码信息 (我配置的就是1.0.0.1/30 --- 对应掩码就是255.255.255.252)

华为设备要求,邻居之间hello包携带的子网掩码必须相同 ,否则无法建立邻居关系只针对以太网接口进行检测,对P2P网络不做限制(P2P网络对ip地址无限制)

②hello时间和死亡时间:

** 邻居之间所携带的hello和死亡时间必须相同,否则无法建立邻居关系**

③8位可选项:

**** 每一个比特都对应这个路由器携带的某种OSPF特性。这8位特殊标记包含OSPF特殊区域的标记,这个 特殊区域的标记在邻居关系建立中也需要检测,如果特殊区域标记不同,也无法建立邻居关系

④路由优先级:

发出该hello包对应的路由器DR选举的优先级(默认为1)

⑤指定路由器/备份指定路由器:

在DR/BDR选举完成后,会将对应的DR/BDR的信息携带在该字段, 在DR/BDR未选出之前,将以0.0.0.0来填充

⑥邻居路由RID:

本地已知路由的邻居RID,这个是 邻居关系建立的重要标志

这个包是完成OSPF收敛之后的hello包(1.0.0.2向1.0.0.1发送的hello包)

hello包对邻居关系建立的限制条目:

如果有一点双方没有配对成功,则无法建立邻居关系:

  1. 网络掩码(只针对以太网口)
  2. hello时间
  3. dead time
  4. OSPF特殊区域标记
  5. 认证 (认证方式和认证数字)

DBD包:

=

=
= 在主从关系尚未达成选举结果之前,双方设备会在交换过程中动态调整各自的MS字段值,认为自己处于主导地位。

=

= 通过持续的数据交换,最终能够确定稳定的主从关系。

=

=
= 在使用带有LSA摘要信息的数据链路地址共享过程中,每个DBD报文都会依次递增序号DD字段值。
= 这种递增操作有助于确保数据传输过程中的有序性和可靠性(采用隐形确认机制)

主从关系选举作用:

** 1.主设备的可以优先进行LSA交换 **

2.主设备可以决定隐性确认包的主导权

DBD包的确认机制的通过发送相同的序列号来实现的 隐形确认,而通过发送ACK数据包来实现信息确认的方法为显性确认

** !!!BR/BDR和主从选举不是同一个概念!!!**

④LSA头部信息

**!这个LSA头部信息并不是一个完整的LSA信息,**相当于LSA信息的一个摘要信息 !

抓包解析具体过程:

在选举前阶段,在R1和R2之间传输的数据包内容(具体为主从抢占包配置信息:其中初始化标志位设置为1,并未包含LSA相关信息):

1.0.0.2发给1.0.0.1的DB主从抢占包

投票已结束,** 1. 0. 0. 1. 的数据包具体内容**(自发送带有 LSA 指令, init设为 0)**:

③1.0.0.2更新完本地LSA数据,发送携带本地的LSA的DB给1.0.0.1:

1.  ⁰.  ⁰.  ¹返回DB包至 **¹.  ⁰.  ⁰.  ²以表示接收确认作用:

此数据包无实际价值仅作为seq的序列号返回至¹.   ⁰.   ⁰.   ²用于表示确认。

⑤此时完成OSPF的DB包的LSA信息收集

LSR包:

此为1.0.0.2发送给1.0.0.1的请求LSA信息的request包

申请 LSA 信息

基于接收到携带 LSA 信息的 DBD 包,并与本地 LSDB 进行对比分析后,请示未知类型的 LSA 信息。该过程主要依靠 LSS 类型、LSS ID 和由路由器构成 的三元组 来确定 LSA 相关信息。

LSS 类型、LSS ID 和由路由器构成 的三元组(构成 LSA 信息的关键要素):能够唯一标识出一条特定的 LSA 描述

LSU包:

此为1.0.0.1发送给1.0.0.2的请求LSR信息的对应LSA信息的回复包

包含的LSA数量

所携带的信息

在数据传输协议中:
每个数据包中的每一个LSU都携带特定数量的特定类型的**lsa(lsb编码)字段值,并且这些值与该lsu对应的业务逻辑参数相关联。
在每次回复时,并非只发送一次完整的lsu更新报文(即lsu内部包含一个序列号字段),而是会根据lsa字段中的seq值判断最新的状态并相应地进行更新报文发送。

LSAck:

链路状态确认报文,通过携带LSA头部信息来确认(确认的为最新的LSU包)

OSPF的接口网络类型:

接口网络类型有:P2P,MA(BMA/NBMA),NBMA,P2MP。OSPF的接口网络类型:实际上指的是OSPF接口在 不同网络环境下默认的不同工作模式

网络类型 OSPF接口的网络类型(工作方式)
BMA(以太网-广播式) Broadcast类型 需要进行DR/BDR选举,hello 10S,dead time 40S
P2P(PPP/HDLC/MGRE) P2P类型 P2P网络,只能建立一个邻居关系,不需要进行DR/BDR的选举, hello 10S,dead time 40S
环回接口(虚拟接口) P2P类型 实际无数据收发,默认学习到是32 位主机路由
P2MP(人造的,不存在) 没有正式的网络环境(NBAM的改进版) 可以创建多个邻居关系,不需要进行DR和BDR的选 举,hello 30S,dead time 120S
NBMA(帧中继) NBMA类型 不会自动建立邻居关系,需要手工指定。需要进行 DR/BDR的选举,hello 30S,dead time 120S

1.BMA网络:

**接口类型为Broadcast,**需要进行DR/BDR选举,hello 10S,dead time 40S

此时打开R4的ospf的G0/0/0的接口表和邻居表

复制代码
 [r4]display  ospf interface  g0/0/0

    
  
    
 	 OSPF Process 1 with Router ID 1.1.1.1
    
 		 Interfaces 
    
  
    
  
    
  Interface: 192.168.1.1 (GigabitEthernet0/0/0)
    
  Cost: 1       State: DR        Type: Broadcast    MTU: 1500  
    
  Priority: 1
    
  Designated Router: 192.168.1.1
    
  Backup Designated Router: 192.168.1.2
    
  Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1
    
  
    
 [r5]display ospf peer 
    
  
    
 	 OSPF Process 1 with Router ID 2.2.2.2
    
 		 Neighbors 
    
  
    
  Area 0.0.0.0 interface 192.168.1.2(GigabitEthernet0/0/0)'s neighbors
    
  Router ID: 1.1.1.1          Address: 192.168.1.1     
    
    State: Full  Mode:Nbr is  Slave  Priority: 1
    
    DR: 192.168.1.1  BDR: 192.168.1.2  MTU: 0    
    
    Dead timer due in 36  sec 
    
    Retrans timer interval: 5 
    
    Neighbor is up for 00:02:16     
    
    Authentication Sequence: [ 0 ] 
    
   28. 		 Neighbors 
    
   30.  Area 0.0.0.0 interface 192.168.2.1(GigabitEthernet0/0/1)'s neighbors
    
  Router ID: 3.3.3.3          Address: 192.168.2.2     
    
    State: Full  Mode:Nbr is  Master  Priority: 1
    
    DR: 192.168.2.1  BDR: 192.168.2.2  MTU: 0    
    
    Dead timer due in 35  sec 
    
    Retrans timer interval: 5 
    
    Neighbor is up for 00:00:35     
    
    Authentication Sequence: [ 0 ]

在MA网络中,在该状态下的网络类型表现为广播模式,在这种状态下能够支持多端节点之间的通信连接,并且支持动态路由(DR)和广播-多路转发(BDR)机制

2.P2P网络:

在P2P网络中,仅限于每个节点最多支持一个邻居连接,并无需执行DR/BDR选举过程.默认情况下,默认Hello flooding的时间设置为10秒;而Hello计时器的重传次数或超时时间设置为40秒.

查看R对应的接口的网络类型:

复制代码
 [R1]display ospf interface  Serial  4/0/0

    
  
    
 	 OSPF Process 1 with Router ID 1.1.1.1
    
 		 Interfaces 
    
  
    
  
    
  Interface: 1.0.0.1 (Serial4/0/0) --> 1.0.0.2
    
  Cost: 48      State: P-2-P     Type: P2P       MTU: 1500  
    
  Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1

在P2P网络架构下运行PPP协议时会遇到特定的状态配置:即节点之间的连接关系(neighbor relationship)会被明确标识出来并且不会存在保护数据链路层(DR)或保护业务数据链路层(BDR)的情况出现;具体原因在于华为设备采用的是E1接口规范

②HDLC网络

此时修改PPP为HDLC网络,并重新查看接口类型

复制代码
 [R1]display ospf interface Serial 4/0/0

    
  
    
 	 OSPF Process 1 with Router ID 1.1.1.1
    
 		 Interfaces 
    
  
    
  
    
  Interface: 1.0.0.1 (Serial4/0/0) --> 1.0.0.2
    
  Cost: 48      State: P-2-P     Type: P2P       MTU: 1500  
    
  Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1

在当前的P2P网络环境中,在HDCL系统中其网络类型状态仍维持着P-2-P的状态,并且其接口类型也属于P2P类。系统会列出所有直接相连的设备邻居节点,并无相应的保护机制(如DR和BDR)。此外,在这种情况下,计算成本(cost)为48的原因归因于华为设备所采用的E1接口标准,在该标准下最大传输速率为每秒达2.048兆比特。

③此时再次添加一个路由器,使用P2P进行连接 (重启R1,R2,R3的ospf进程)

此时在R2上查看邻居表

复制代码
 [R2]display  ospf peer

    
  
    
 	 OSPF Process 1 with Router ID 2.2.2.2
    
 		 Neighbors 
    
  
    
  Area 0.0.0.0 interface 1.0.0.2(Serial4/0/0)'s neighbors
    
  Router ID: 1.1.1.1          Address: 1.0.0.1         
    
    State: Full  Mode:Nbr is  Slave  Priority: 1
    
    DR: None   BDR: None   MTU: 0    
    
    Dead timer due in 31  sec 
    
    Retrans timer interval: 5 
    
    Neighbor is up for 00:21:29     
    
    Authentication Sequence: [ 0 ] 
    
   15. 		 Neighbors 
    
   17.  Area 0.0.0.0 interface 2.0.0.1(Serial4/0/1)'s neighbors
    
  Router ID: 3.3.3.3          Address: 2.0.0.2         
    
    State: Full  Mode:Nbr is  Master  Priority: 1
    
    DR: None   BDR: None   MTU: 0    
    
    Dead timer due in 32  sec 
    
    Retrans timer interval: 5 
    
    Neighbor is up for 00:17:08     
    
    Authentication Sequence: [ 0 ]

证明:**P2P网络,只能建立一个邻居关系,**并且没有DR和BDR选举

3.环回接口:

实际无数据收发,学习到是32 位主机路由

查看环回接口的网络类型

复制代码
 <r4>display  ospf  interface  LoopBack  0

    
  
    
 	 OSPF Process 1 with Router ID 1.1.1.1
    
 		 Interfaces 
    
  
    
  
    
  Interface: 1.1.1.1 (LoopBack0)
    
  Cost: 0       State: P-2-P     Type: P2P       MTU: 1500  
    
  Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1

华为设备的环回接口默认设置其开销值为零,并且该数值具有高度稳定性(即使对参考带宽进行调整也不会对环回接口的性能造成影响)。

复制代码
 [r4-LoopBack0]ospf network-type broadcast --- 修改接口默认的网络类型

    
 如果将环回接口的默认网络类型从P2P修改为Broadcast,则将还原环回接口真实的网络掩码
    
  
    
 //此时去R5上查看,此时R4的环回已经修改为/24,而r6仍然为/32
    
 <r5>display  ip routing-table  protocol ospf 
    
 Route Flags: R - relay, D - download to fib
    
 ------------------------------------------------------------------------------
    
 Public routing table : OSPF
    
      Destinations : 2        Routes : 2        
    
  
    
 OSPF routing table status : <Active>
    
      Destinations : 2        Routes : 2
    
  
    
 Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
    
  
    
     1.1.1.0/24  OSPF    10   1           D   192.168.1.1     GigabitEthernet
    
 0/0/0
    
     3.3.3.3/32  OSPF    10   1           D   192.168.2.2     GigabitEthernet
    
 0/0/1
    
  
    
 OSPF routing table status : <Inactive>
    
      Destinations : 0        Routes : 0

4.NMMA:

可以创建多个邻居关系,不需要进行DR和BDR的选 举,hello 30S,dead time 120S

NBMA网络中将出现一个尝试状态(一种过渡状态,在双方均指定对方为邻居时会转换为下一状态init)

5.P2MP:

不自动建立邻居关系需手动指定;完成DR/BDR选举,并设置Hello flooding时间(30秒)及死机时间(120秒)

华为设备采用了对管道接口传输速率进行规定的做法,默认值设定为64Kbps(实际上该界面已不再直接支持真实传输速率参数设置;而采用的是基于物理层的实际参数进行计算)。为了避免在选路时选择管道接口这一选项(因为隧道入口端口通常采用复杂的封装方式),导致实际使用的带宽效率受到影响。

全部评论 (0)

还没有任何评论哟~