017B

您所在的位置:网站首页 2类lsa到底有什么用 017B

017B

2023-11-06 10:19| 来源: 网络整理| 查看: 265

文章目录 OSPF五种报文Hello报文:DR和BDR 在这里插入图片描述

OSPF报文头部 Version(版本号),默认是V2 IPv6是V3 Message type :1、hello 2、DD 3、LSR 4 LSU 5、LSACK Packet Length:报文长度 Source OSPF router:发送者的Router ID Area ID:区域号:32位的点分十进制(IP地址格式) Auth Type (认证类型) 0不认证 1 明文认证 2 MD5 Auth Data:认证的密码 在这里插入图片描述 验证OSPF报文头部是否合法 1、版本号为2 2、Area ID必须要和接收端的Area ID一致 3、认证类型和认证密码也必须一致

RID也不能冲突 在这里插入图片描述 [Huawei-GigabitEthernet0/0/0]ospf enable 10 area 0 [Huawei]ospf 10 router-id 2.2.2.2 [Huawei-ospf-10]area 0 [Huawei-ospf-10-area-0.0.0.0] 在这里插入图片描述

OSPF五种报文

参考:HCNA网络技术学习指南8.3节

Hello报文: 周期性的发送,用来发现建立,和维护OSPF邻居关系的 邻居关系:两台设备共享同一条链路,并且交互了一些参数(Hello报文),形成邻居关系(2-way状态)

DD:描述本LSDB的摘要信息,用于两台路由器进行数据库的同步 DD报文只是一个LSA的摘要信息,里边不包括LSA DBD:Database Description Packet

LSR:用于向对方请求所需的LSA,只有在OSPF邻居双方成功交换了DBD后才会向对方发送LSR LSR:Link-Status request LSA:Link-Status advertisement 链路状态通告

LSU:用于向对方回复具体的LSA LSU:Link-Status update

LSACK:用来对收到的LSA的一个确认 LSACK:Link-Status Acknowledgement

Hello报文:

重要字段解释: Network Mask:发送Hello报文的接口的网络掩码。 只有在广播网络或者NBMA网络才有意义(在P2P,P2MP链路上是不不检测的 HelloInterval:发送Hello报文的时间间隔。单位为秒。 在广播网络中是10秒一次,在NBMA中是30秒一次 Options:标识发送此报文的OSPF路由器所支持的可选功能。具体的可选功能不在本课程的讨论范围之列。 DN位:Down比特位,是用来防环的(MPLS VPN应用此字段)。3,5,7类LSA防环 O位:用来表明是否支持不透明LSA(9,10,11类LSA的)能力 DC位:当始发链路支持按需链路时该比特位会置位 MC位:是否支持MOSPF N位/P位 N位表明是否支持7 类LSA,N=0 表明不接收和发送7类LSA P位 用在NSSA LSA(七类LSA),是否做七转五 E位:能否接收外部路由(五类LSA) 默认E位是1,是可以接收外部路由

Rtr Pri:发送Hello报文的接口的Router Priority,用于选举DR和BDR。 路由的优先级:用来选举DR和BDR的 RouterDeadInterval:宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。 40 120

Designated Router:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR路由器。 是DR接口的IP地址 Backup Designated Router:发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR路由器。 Neighbor:邻居路由器的Router ID列表。表示本路由器已经从该邻居收到合法的Hello报文。 邻居路由器的Rtouer ID(表明OSPF的邻居状态)

interface GigabitEthernet0/0/0 ip address 12.1.1.1 255.255.255.0 ospf timer hello 5 /修改OSPf的Hello时间,如果修改了Hello时间,Dead时间会自动调整为4倍 ospf timer dead 40 /修改OSPF的Dead时间,如果修改了Dead时间,Hello时间不会自动调整

验证一个Hello报文是否合法之前首先需要验证一个OSPF报文是否合法。 验证一个接收到的Hello报文是否合法包括:

如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段;所接收的Hello报文中的HelloInterval字段必须和接收端口的配置保持一致;所接收的Hello报文中的RouterDeadInterval字段必须和接收端口的配置保持一致;所接收的Hello报文中的Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置保持一致。关于此比特的具体意义将在《OSPF特殊区域》中详细解释。

如果路由器发现所接收的合法Hello报文的邻居列表中有自己的Router ID,则认为已经和邻居建立了双向连接,表示邻居关系已经建立。

这是形成邻居(Neighbor)关系的过程和相关邻居状态的变换过程。

Down:这是邻居的初始状态,表示没有从邻居收到任何信息。在NBMA网络上,此状态下仍然可以向静态配置的邻居发送Hello报文,发送间隔为PollInterval,通常和RouterDeadInterval间隔相同。 Attempt:此状态只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。如果RouterDeadInterval间隔内未收到邻居的Hello报文,则转为Down状态。 Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。在此状态下的邻居要被包含在自己所发送的Hello报文的邻居列表中。 2-WayReceived:此事件表示路由器发现与邻居的双向通信已经开始(发现自己在邻居发送的Hello报文的邻居列表中)。Init状态下产生此事件之后,如果需要和邻居建立邻接关系则进入ExStart状态,开始数据库同步过程,如果不能与邻居建立邻接关系则进入2-Way。 2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。 1-WayReceived:此事件表示路由器发现自己没有在邻居发送Hello报文的邻居列表中,通常是由于对端邻居重启造成的。

两端同时进入2-way标志着邻居关系的建立 进入2-way后,是否要建立邻接(Adjacency)关系(Full)

1、接口类型为p2p(点到点),p2MP(点到多) 2、自己为DR,或者为BDR 3、邻居为DR,或BDR

进入2-way后,开始选择DR和BDR,40秒(Dead时间)

DR和BDR

DR和BDR的作用:

减少邻接关系的数量,从而减少链路状态信息以及路由信息的交换次数,这样可以节省带宽,减少路由器硬件的负担。一个既不是DR也不是BDR的路由器只与DR和BDR形成邻接关系并交换链路状态信息以及路由信息,这样就大大减少了大型广播型网络和NBMA网络中的邻接关系数量

dr和bdr是在hello报文中选举出的 在这里插入图片描述

DR和BDR的选举规则: 两端同时进入2-way,开始选举 1、首先检查Hello报文中的DR字段和BDR字段是否为空,如果都为空(意味着没有DR和BDR),会首先选举出BDR,选举规则:比较优先级,越大越优(默认为1,取值范围为0-255, 0表示不参与选举),如果相同,比较Router ID,越大越优;BDR选举出后,会自动升级为DR,然后重新选举BDR,规则和之前一样 2、如果DR字段为空,BDR不为空 ,BDR升级为DR,重新再选举出BDR 3、如果BDR为空,DR不为空,重新选举出BDR

DR,BDR默认是不支持抢占的(选举期除外)

DRother

在主从选举结束后,会发送DBD报文(空DBD,用于选举主从),就开始进入Exstart状态)

DBD报文: 三个字段:I(标识这是一个始化报文) M(后边还有一个,M=1意思是后边还有,不是最后一个,M=0最后一个DBD报文) MS自己为主 主从的选举比较Router ID,越大越优

前两个DBD报文是空报文,是用来选举主从

OSPF有两种确认机制:显示确认:LSR LSU LSACK 隐示确认 DR,BDR是用来同步数据库的, 主从只是隐示确认,

邻居状态

Down: 这是邻居状态转换的初始状态,表示最近没有从邻居收到信息。在NBMA 网络上,仍然使用较低的频率向”Down”状态的邻居发送Hello包(见第9.5.1 节)。 Attempt: 该状态仅对NBMA 网络上的邻居有效,表示最近没有从邻居收到信息,但仍需作出进一步的尝试,用以与邻居联系。这时按HelloInterval的间隔向邻居发送Hello包(见第9.5.1 节)。Init: 在此状态时,表示收到了由邻居发送的Hello 包,但还没有建立与邻居的双向通讯(也就是说,路由器自身没有出现在该邻居的Hello包中)。从关联接口发出的Hello包中列出所有达到此状态(或更高状态)的邻居。2-Way: 在此状态时,两台路由器的通讯达到双向,这是通过Hello 协议而实现的。并且是建立邻接前的最高状态。DR(BDR)是从达到2-Way或更高状态的邻居中选举出来的。ExStart: 这是两台邻居路由器之间建立邻接的第一步。此步的目标是确定路由器的主从,并确定初始的DD 序号。达到此状态或更高状态的邻居会话被称为邻接。Exchange: 在此状态的路由器通过向邻居发送DD 包,来描述其完整的连接状态数据库。每个DD 包都有一个DD 序号,并需要被明确地确认。在任何时候,一次只能发送一个DD 包。在此状态下,允许向邻居发送LSR 包来取得较新的LSA。所有达到Exchange或更高状态的邻接参与洪泛过程。事实上,这些状态的邻接完全有能力传送和接收所有类型的OSPF路由协议包。Loading: 在此状态下,向邻居发送LSR 包来取得较新的LSA。就是在Exchange状态下发现(但还没有接收到)的那些LSA。Full: 在此状态下,邻居路由器达到完全邻接。现在开始这些邻接将出现在Router-LSA 和Network-LSA 中。

1、从2-way变为exstart标志是发送DBD报文 2、从exstart变为exchange标志是主从选举完毕 3、从exchange变为Loading是DBD的M位=1,开始发送LSR,接收LSU,Lsack 4、从Loading变为full 重传列表为空

MTU在DBD报文中携带,所以MTU不一致不会影响OSPF邻居关系的建立,但是会影响邻接的建立 思科高力默认是会检测MTU的 华为设备默认是不检测MTU的,华为可以通过命令配置检测,如果MTU不一致,会进入什么状态 如果主的MTU大于从的MTU,两端会同时卡在exstart状态 如果主的MTU小于从的MTU,从会进入exchange,主会卡在extart状态 如果忽略MTU检测,有可能会卡在Loading状态

OSPF的接口状态机

端口状态变化-广播型网段和NBMA网段 在这里插入图片描述 RFC2328文档 Down: 这是接口的初始状态,这时下层协议指出接口为断开,接口上没有协议流量的收发。这时,接口上的所有参数都被设为初始值,关闭所有的接口记时器,该接口上也没有相关联的邻接。 Loopback: 这时,路由器到网络的接口处于回环/Loopback,回环可能以硬件或软件的方式实现。回环接口不能用于正常的数据传输,但仍能通过ICMP ping或位错误检测来收集接口信息。IP 包仍需要被发往回环接口。为此,要在Router-LSA 中宣告此接口为接口IP 地址的主机路径

Waiting: 在此状态时,路由器试图判定网络上DR 和BDR。为此,路由器对其接收到的Hello包进行监听。在结束等待前,路由器不能被选举为DR 或BDR。这可以避免不必要地改变DR 和BDR。

Point-to-point: 这时,连接到物理点对点网络或虚拟通道的接口开始工作。进入此状态之后,路由器试图与邻居路由器形成邻接。并按HelloInterval 的间隔发送Hello包。 DR Other: 广播或NBMA 网络上的其他路由器被选举为DR,其自身也没有被选为BDR。路由器开 始与DR 和BDR(如果存在的话)形成邻接。 Backup: 在此状态时,路由器是所接入网络的BDR。并将在当前的DR 失效时成为DR。该路由器与接入该网络的所有其他路由器形成邻接。在洪泛过程中,BDR的工作与DR 稍有不同(见第13.3 节)。关于BDR的工作细节见第7.4 节。 DR: 在此状态时,路由器是所接入网络的DR。该路由器与接入该网络的所有其他路由器形成 邻接。路由器必须为网络节点生成一个Network-LSA。该Network-LSA包含了所有接入该网络的路由器(包括DR 自身)。关于DR的工作细节见第7.3 节。 前面提到,并非所有的邻居关系都可以形成邻接关系进而交换链路状态信息以及路由信息,是否建立邻接关系与网络类型有关。所谓网络类型是指运行OSPF网段的二层链路类型。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3