EIGRP邻居建立过程

1.路由器A启动,然后在链路上发送hello包
2.路由器B接收到A发来的hello包,然后做出应答,发回update包给A,告诉A它自己的路由表的信息.但是这个时候 邻居关系还没有建立直到B发回hello包给A.在B给A的update包里设置了初始位(init bit)的,说明这是初始过程。
3.当双方交换过hello包以后,邻居关系建立.A发回ACK包给B确认它已经收到了从B而来的update包
4.A吸收update包到它自己的topology table中去.topology table包括了从邻居那里得来的所有目的地信息
5.A发送update包给B
6.B收到A发来的update包后做出应答;发回ACK包给A

OSPF邻居建立过程

1.RT1的一个连接到广播类型网络的接口上激活了OSPF协议,并发送了一个HELLO报文(使用组播地址224.0.0.5)。由于此时RT1在该网段中还未发现任何邻居,所以HELLO报文中的Neighbor字段为空。
2.RT2收到RT1发送的HELLO报文后,为RT1创建一个邻居的数据结构。RT2发送一个HELLO报文回应RT1,并且在报文中的Neighbor字段中填入RT1的Router id,表示已收到RT1的HELLO报文,并且将RT1的邻居状态机置为Init。
3.RT1收到RT2回应的HELLO报文后,为RT2创建一个邻居的数据结构,并将邻居状态机置为Exstart状态。下一步双方开始发送各自的链路状态数据库。
为了提高发送的效率,双方需先了解一下对端数据库中那些LSA是自己所需要的(如果某一条LSA自己已经有了,就不再需要请求了)。方法是先发送DD报文,DD报文中包含了对本地数据库中LSA的摘要描述(每一条摘要可以惟一标识一条LSA,但所占的空间要少得多)。由于OSPF直接用IP报文来封装自己的协议报文,所以在传输的过程中必须考虑到报文传输的可靠性。为了做到这一点,在DD报文的发送过程中需要确定双方的主从关系。作为Master的一方定义一个序列号seq,每发送一个新的DD报文将seq 加一。作为Slave的一方,每次发送DD报文时使用接收到的上一个Master的DD报文中的seq。实际上这种序列号机制是一种隐含的确认方法。如果再加上每个报文都有超时重传,就可以保证这种传输是可靠的。
RT1首先发送一个DD报文,宣称自己是Master(MS=1),并规定序列号为x。I=1表示这是第一个DD报文,报文中并不包含LSA的摘要,只是为了协商主从关系。M=1说明这不是最后一个报文。
4.RT2在收到RT1的DD报文后,将RT1的邻居状态机改为Exstart,并且回应了一个DD报文(该报文中同样不包含LSA的摘要信息)。由于RT2的Router ID较大,所以在报文中RT2认为自己是Master,并且重新规定了序列号为y。
5.RT1收到报文后,同意了RT2为Master,并将RT2的邻居状态机改为Exchange。RT1使用RT2的序列号y来发送新的DD报文,该报文开始正式地传送LSA的摘要。在报文中RT1将MS=0,说明自己是Slave。
6.RT2收到报文后,将RT1的邻居状态机改为Exchange,并发送新的DD报文来描述自己的LSA摘要,需要注意的是:此时RT2已将报文的序列号改为y+1了。
7.上述过程持续进行,RT1通过重复RT2的序列号来确认已收到RT2的报文。RT2通过将序列号+1来确认已收到RT1的报文。当RT2发送最后一个DD报文时,将报文中的M=0,表示这是最后一个DD报文了。
8.RT1收到最后一个DD报文后,发现RT2的数据库中有许多LSA是自己没有的,将邻居状态机改为Loading状态。此时RT2也收到了RT1的最后一个DD报文,但RT1的LSA,RT2都已经有了,不需要再请求,所以直接将RT1的邻居状态机改为Full状态。
9.RT1发送LS Request报文向RT2请求所需要的LSA。RT2用LS Update报文来回应RT1的请求。RT1收到之后,需要发送LS Ack报文来确认。上述过程持续到RT1中的LSA与RT2的LSA完全同步为止。此时RT1将RT2的邻居状态机改为Full状态。

OSPF路由协议概念解释和特性介绍

本篇文档针对一些对OSPF路由协议有一定的感性认识的技术人员,提供一些基于OSPF报文格式的介绍,来达到了解OSPF路由协议的特性和特有的一些概念的了解。

一.OSPF的特性:
   快速收敛;
   能够适应大型网络;
   能够正确处理错误路由信息;
   使用区域,能够减少单个路由器的CPU负担,构成结构化的网络;
   支持无类路由,完全支持超网,可变长子网等无类特性;
   支持多条路径负载均衡;
   使用组播地址来进行信息互通,减少了非OSPF路由器的负载;
   使用路由标签来表示来自外部区域的路由。

二.Neighbor和Adjacency的定义:
   Neighbor:
   在网络中,OSPF路由器可以发送Hello报文来进行邻居寻找,当Hello报文中的几个字段的内容是互相一致的时候,相邻的OSPF路由器就会形成Neighbor关系。
   Neighbor是保存在Neighbor表里,需要有Router ID和IP地址信息。
   Router ID的确定:
   1. 选择IP地址最大的Loopback接口的IP地址为Router ID;如果只有一个Loopback接口,那么Router ID就是这个Loopback的地址。
   2. 如果没有Loopback接口,就选择IP地址最大的物理接口的IP地址为Router ID,但是作为Router ID的物理接口,就不能运行OSPF,也就是说这个接口无法发送接受OSPF报文。
   使用Loopback的IP地址作为Router ID的好处:
   a. Loopback接口是逻辑接口,永远不会down,有利于OSPF的稳定运行;
   b. 便于控制OSPF路由器的Router ID。
   Hello协议的特点:
   1. 目的:
   a. 用来发现OSPF Neighbor;
   b. Hello报文包含了多个需要OSPF路由器协商的参数,以形成Neighbor的关系;
   c. 他可以用来维持邻居之间链接的存活;
   d. 用来确定DR,BDR路由器的选择。

2. 报文内容:
   a. Router ID
   b. Area ID
   c. IP地址和掩码
   d. 认证方式和认证信息
   e. Hello Interval和Dead Interval
   f. Router优先权
   g. DR和BDR的Router ID
   h. 五个字节的特性控制信息
   i. 距上次Hello报文后,在Dead Interval中,路由器的Neighbor的Router ID列表
   每个OSPF路由器收到收到hello报文,将会协商上述信息,是否符合,如果不符合,Hello报文会遭到丢弃。
   并且当一个路由器收到一个Hello报文,其中Neighbor Router ID List里有它的Router ID时,就会进入2-way模式,一旦进入2-way模式,就会建立Adjacency。
   3. DR和BDR使用224.0.0.5(ALLSPFRouter Address)发送Hello Packet,而收到报文的路由器以224.0.0.6(ALLDRRouter Address)发送确认报文,表示收到了Hello Packet。
   4. Point-to-Multipoint:相当与多个点对点网络的集合,但是不会产生DR,BDR的选举,通过组播报文发送路由信息报文。
   5. 只有NBMA网络和采用虚拟链路的网络发送的是单播报文。
   6. Stub Network:只有一个出口连接到路由器的网络,通常产生的报文的原地址和目的地址都是本网络中。
   DR和BDR的选择,特性:
   1. DR和BDR是接口的特性,和路由器本身无关。
   2. DR和BDR和multiaccess网络中其他的路由器形成adjancency,但他们之间没有形成adjancency。
   3. 每个接口上都会有优先级,如果优先级为0时,表示不参加选择DR,BDR。

Adjacency:
   是在OSPF Neighbor之间形成的虚拟的连接,这些连接有不同的性质,根据路由器连接的不同网络类型。
   形成Adjacency的步骤:
   1. 邻居发现
   2. 双向通信
   3. 数据库同步
   为了使路由器能够实现数据库的一致和同步,通过交换DD,LSR,LSU报文来达到数据库同步的目的。
   4. 完全形成连接

Master和Slave的关系和选择
   在ExStart状态下,邻居之间进行协商,以决定由哪个路由器来控制Database sychronization。
   Neighbor表项的数据结构:
   Neighbor表项中的信息是通过路由器从Hello报文中学到的,关于邻居的一些信息。
   1. Neighbor ID
   2. Neighbor IP Address
   3. Area ID
   4. Interface
   5. Neighbor Priority
   6. State
   7. PollInterval
   这是用于NBMA网络的一个概念,由于NBMA网络无法用组播来发送报文,也就是说无法自动发现邻居,如果当Neighbor处于down的状态时候,Hello报文每隔一个PollInterval时间就会发送一次,来发现和维护邻居关系。
   8. Neighbor Option
   9. Inactivity Time
   10. DR
   11. BDR
   12. Master/Slave
   13. DD Sequence Number
   14. Last Received Database Description Packet
   15. Lik State Retransmission List
   是指已经发送出去的LSA,但是还没有收到Acknowledge的报文,如果超过RxmtInterval还没有收到,就会进行重传。
   16. Database Summary List
   在database synchronization时,所发送的LSA的表单。
   17. Link State Request List
   是指最新收到的在Database Description报文中所带的LSA清单,路由器会发送LSR到Neighbor要最新的LSA,收到LSU后,会把list里的相应条目删掉。

三.Neighbor状态机制
   1. Down
   没有收到任何Hello报文的时候,或是在DeadInterval中,没有收到Hello报文
   2. Attempt
   只有在NBMA网络里才有,手工进行Neighbor的指定。
   3. Init
   收到了Hello报文
   4. 2-way
   当路由器看到自己的Router ID在邻居发来的Hello报文里;在广播网络里,DR和BDR开始被选举。
   5. ExStart
   决定Master/Slave关系,以初始化DD 报文序列号来交换Database Description报文
   6. Exchange
   路由器开始交换DD报文的过程
   7. Loading
   发送LSR报文已处在Loading状态的报文,请求最新的通过Exchange DD报文发现的未收到的LSA
   8. Full
   完成了路由器和网络的LSA的交换
   当路由器收到LSA后,会把LSA存到数据库中,然后会把收到LSA复制并从其它的OSPF接口发送出去,直到整个网络区域的LSA Database获得同步一致。然后每个路由器根据LSA Database里的Link信息进行SPF运算,算出没有回路的最短路径。

四.Database Description报文
   它是包含了路由器所有的LSA信息的报头,可以使路由器知道,Neighbor上有多少LSA是自己不知道的,可以通过LSR报文来请求新的LSA。
   五.多区域OSPF特性
   1.骨干区域:起到了让其他非骨干区域能够知道别的区域的网络情况的作用。也就是说,所有非骨干区域的路由信息都要流经骨干区域。

2.虚拟链路:是一个通过非骨干区域到骨干区域的链路。
   使用目的:
   连接一个非骨干区域到一个骨干区域通过一个非骨干区域
   通过一个非骨干区,连接分开的两个骨干区部分
   规则:
   必须在两个ABR之间进行配置
   虚链路通过的区域作为传输区域,必须有完整的路由信息
   中间传输区不能是存根区

六.区域的Link State报文类型:
   1. Router LSA
   由区域内所有的路由器产生的,并且只能在本个区域泛洪广播。
   2. Network LSA
   由区域内的DR或BDR路由器产生的,报文包括DR和BDR连接的路由器的链路信息。
   3. Network Summary LSA
   由ABR产生的,可以通知本区域内的路由器通往区域外的路由信息;同时可以发送通往相同自治区不同区域的默认路由;把本区域的路由发送到骨干区域,如果有两个到相同目的地的路径,只会把最低cost的路由发送出去;
   4. ASBR Summary LSA
   由ABR产生,但是它是一条主机路由,指向ASBR路由器地路由。
   5. Autonomous System External LSA
   由ASBR产生,它告诉相同自治区的路由器通往外自治区的路径。
   6. NSSA External LSA
   由ASBR产生,在NSSA区域中,当有一个路由器是ASBR时,不得不产生LSA 5报文,但是NSSA中不能有LSA 5报文,所有ASBR产生LSA 7报文,发给本区域的路由器。

七.OSPF Over Demand Circuits
   是应用于有交换虚电路的链路中,当链路在是空闲的时候,它不会有虚电路的连接,只有在链路上有通信量的时候,才会建立虚电路。而OSPF的Hello,LSA报文是要每隔一段时间要发送一次,而Demand Circuits提供了一种特性,在虚电路上只需要传一次Hello和LSA报文进行OSPF的邻居和数据库同步,接下来就不需要再发送以上这些报文,LSA也不会由于收不到Update报文而过期,邻居关系也不会Dead。这样可是减少链路的使用情况,节省了广域网链路的开支。
   OSPF通过在LSA报文中设置一个DonotAge字节,来使两端得到协商,使收到的LSA永不过期。并且在LSA中加了一个标志位,DC bit,使其他路由器知道这个LSA具有Demand Circuit的特性,使其他路由器不会认为这条路由过期。

八.OSPF的配置(只有一些特点,比较常规的东西不讲了)
   OSPF 具有DNS功能,可以使用路由器名来取代Router ID。
   配置:
   ip name-server 172.19.45.1
   指定OSPF使用的DNS-SERVER的 IP地址
   ip ospf name-lookup
   使OSPF可以启用DNS功能

OSPF针对接口有多个地址的解决方法:
   1. OSPF只有当接口主地址启用了OSPF时候,才会对secondary IP address Network的路由信息进行处理。
   2. OSPF把secondary IP address Network看作是Stub Network,没有别的OSPF邻居,并且不会送Hello报文,也不会和从地址网络形成链接。所以当secondary IP address Network上有连着一台路由器时,而又需要这两台路由器互通路由信息,可以考虑采用静态路由。

Area 1 nssa no-summary no-redistribution命令使用在既是ABR又是ASBR上,可以让他所连接的NSSA区域中,只有Router LSA,没有其他的类型LSA,甚至LSA 7也没有,只有一条指向ABR的默认路由。

Area 1 nssa no-redistribution default-information-originate命令可以使上述情况中,可以让LSA 3和4进入NSSA区域,但是LSA 5和LSA 7会被过滤掉。由于把no-summary去掉后,虽然可以使LSA 3和4可以进入NSSA区域,但是ABR就不能产生一个指向外面网络的默认路由,使NSSA区域内的路由器和自治区外的路由隔离。使用default-information-originate参数,可以使ABR产生一个默认路由。

转载于:https://www.cnblogs.com/milo85/archive/2010/01/04/1638935.html

eigrp ospf 邻居建立过程比较相关推荐

  1. 【LAB4-Cisco】OSPF邻居建立过程与LSDB分析

    实验需求 1.根据拓扑提示,对各路由启用OSPF路由协议并划分相应区域,并验证邻居关系以及数据库信息,从而保证内网全网互通.其中,要求R7上的回环口条目作为外部条目引进来. 2.新加入公司网络的Are ...

  2. OSPF邻居建立过程详解

    目录 OSPF的五种包: 1.Hello包 2.DBD包(database description) 3.LSR包(Link State Request) 4.LSU包(Link State Upda ...

  3. 华为 OSPF邻居建立的过程

    哈喽,大家好!我是艺博东 ,是一个思科出身.专注于华为的网工:好了,话不多说,我们直接进入正题. 文章目录 一.拓扑 二.基础配置 三.状态机 一.拓扑 二.基础配置 AR1 [Huawei]sysn ...

  4. HCIA-RS自用笔记(15)OSPF基础、OSPF核心工作流程、OSPF数据包类型、OSPF邻居建立条件及过程

    OSPF(7/20,41min) 开放式最短路径优先(Open Shortest Path First)协议是IETF定义的一种基于链路状态的内部网关路由协议 Open指公有协议:Cost以带宽进行计 ...

  5. bgp 建立邻居发送的报文_bgp邻居建立过程及报文详解.doc

    bgp邻居建立过程及报文详解.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 前缀长度和网络号8.当路由失效时,也发送 update ...

  6. 深入理解IGP-ISIS——ISIS邻居建立过程,影响ISIS邻居建立因素,ISIS报文

    一.邻居关系建立过程(2-way,3-way) 一.邻居关系建立过程(2-way,3-way) (1)p2p网络 (TLV240,对端的system-id) 当收到对方发来的HELLO包中有自己的sy ...

  7. 华为路由器:ospf协议三张表及邻居建立过程

    说明:本篇接上一篇继续讲解 拓扑图 为了方便,我把R1/2/3/4/5的router id改成了回环网卡的IP. ospf协议三张表 邻居表(neighbortable) OSPF用邻居机制来发现和维 ...

  8. OSPF协议之邻居建立

    OSPF协议之邻居建立 OSPF的工作过程 1.建立邻居关系 2.同步链路状态数据库 3.计算最优路由 OSPF路由器之间在交换链路状态信息之前,首先需要彼此建立邻居关系,通过Hello报文实现. 1 ...

  9. Renix软件如何建立OSPF邻居——网络测试仪实操

    OSPF可以通过OSPF向导的方式方便的创建OSPF邻居, 也可以通过纯手工的方式创建OSPF邻居, 本文介绍的是纯手工的方式创建. 在工作中, 推荐使用OSPF向导的方式来创建, 会比较简单和高效. ...

最新文章

  1. 右值引用 移动构造函数 移动语义
  2. Python基础(三):字符串和元组常用方法
  3. 创建文件夹 java_java怎么建文件夹
  4. 浮点类型误区 “!=”
  5. SpringBoot集成Cache缓存(Ehcache缓存框架,注解方式)
  6. TCP的慢启动、拥塞避免、重传、快恢复乱七八糟总是记不清?11个连环问让你一次性打通任督二脉
  7. 超级实用的设计类网址导航--一流设计导航
  8. android--手机桌面添加网址链接图标(解决方式)
  9. Win10 UWP版《芒果TV》v2.4.0直播超女,芒果台综艺一网打尽
  10. Cypress下载安装+问题记录
  11. linux内核网桥源码,Linux-kernel网桥代码分析(二)
  12. 企业微信4.0:上下游功能上线,用一款APP连接所有企业组织和用户
  13. matlab 矩阵分行标准化,matlab矩阵标准化
  14. rabbitmq User can only log in via localhost
  15. 基于奇异值分解的图像压缩和信息隐藏
  16. opencv(三)对图像进行简单算术运算(加减乘除)
  17. 视频教程-AI 教程illustrator从入门到精通-Illustrator
  18. 什么是VOIP和SIP?
  19. 软考 - 软件设计师 - 下午-案例分析 做题技巧与考点整理
  20. 基于SSM框架的人力资源管理系统毕业设计源码060936

热门文章

  1. 2013 Multi-University Training Contest 6 部分解题报告
  2. linux命令使用全集
  3. 办公室30个经典赞美句子
  4. opencv python 生成画布_用Python做自己的2020专属Flag动图
  5. jsp分页显示的代码与详细步骤 复制代码
  6. Hadoop Eclipse开发环境设置
  7. SSL,SSH,OpenSSL,OpenSSH,HTTPS的区别
  8. STM32用keil5调试程序出现 Error:Flash Download Failed-Cortex-M3解决方案
  9. <X86汇编语言:实模式到保护模式>四十六 中断和异常的处理与抢占式多任务
  10. WWDC2019:iPad全新发布