目录

一、OSPF工作原理:

二、BGP工作原理:

三、RIP工作原理:


一、OSPF工作原理:

       开放式最短路径优先OSPF(Open Shortest Path First)协议是一种基于链路状态的内部网关协议,它封装在IP报文中,协议号是89
其相对于RIP(一种基于距离矢量算法)协议,有着收敛快、不易产生路由环路、可拓展性好等特点,目前已逐渐取代RIP。

1、邻居建立  2、同步链路状态数据库 3、计算最优路由

 1、邻居建立:

       发送hello报文,来发现,建立,维护邻居关系

 2、同步链路状态数据库

       进行LSA泛洪,直到LSDB(链路状态信息数据库,用来存放LSA)同步:首先发送一个DD(数据库摘要信息)报文,如果该DD报文中存在自己没有的链路状态信息,则发送一个LSR请求报文(摘要,不是完整的LSA);收到LSR请求报文,会发送LSU更新报文(完整的LSA);收到LSU更新报文,会发送一个LSAck确认报文。

 3、计算最优路由

        以自身为结点,用SPF算法,算出最短最优路径,然后将计算好的路由加表。

二、BGP工作原理:

        BGP是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。

        1、BGP对等体的建立、更新,删除等交互

             过程主要

             有5种报文、6种状态机和9个原则。

1、BGP5种报文:

      BGP通过报文的交互完成邻居建立、路由更新等操作,共有Open、 Update、 Notification、 Keepalive和 Route-refresh等5种报文类型
      (1)open报文:是TCP连接建立后发送的第一个报文,用于建立BGP邻居之间的连接关系。BGP邻居在接收到Open报文并协商成功后,将发送 Keepalive报文确认并保持连接的有效性。确认后,BGP邻居间可以进行 Update、 Notification、 Keepalive和 Route-refresh报文的交换。
       (2) Update报文:用于在BGP邻居之间交换路由信息。 Update报文可以发布多条属性相同的可达路由信息,也可以撤销多条不可达路由信息。
       (3) Notification报文:当BGP路由器检测到错误状态时,就向邻居发出 Notification报文,之后BGP
连接会立即中断。
       (4) Keepalive报文:BGP路由器会周期性地向邻居发出 Keepalive报文,用来保持连接的有效性。
       (5) Route-refresh报文: Route-refresh用于在改变路由策略后请求对等体重新发送路由信息

2、6种状态机

      空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established)。在BGP对等体建立的过程中,通常可见的3个状态是:Idle、Active和Established。

    1、Idle状态是BGP初始状态。在Idle状态下,BGP拒绝邻居发送的连接请求。只有在收到本设备的Start事件后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect状态。

    2、在Connect状态下,BGP启动连接重传定时器(Connect Retry),等待TCP完成连接。

●如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态。

●如果TCP连接失败,那么BGP转至Active状态,反复尝试连接。

●如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP继续尝试和其它BGP对等体进行TCP连接,停留在Connect状态。

   3、在Active状态下,BGP总是在试图建立TCP连接。

●如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态。

●如果TCP连接失败,那么BGP停留在Active状态。

●如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态。

    4、在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。

●如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态。

●如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态。

    5、在OpenConfirm状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idle状态。

     6、在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。

●如果收到正确的Update或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接。

●如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至Idle状态。

●Route-refresh报文不会改变BGP状态。

●如果收到Notification报文,那么BGP转至Idle状态。

●如果收到TCP拆链通知,那么BGP断开连接,转至Idle状态。

3、9个原则
 

(1)从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体

(2)从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体

(3)当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体

(4)路由更新时,BGP设备只发送更新的BGP路由

(5)所有对等体发送的路由,BGP设备都会接收

(6)所有EBGP对等体在传递过程中下一跳改变

(7)所有IBGP对等体在传递过程中下一跳不变

(8)默认EBGP传递时TTL值为1

(9)默认IBGP传递时TTL值为255

三、RIP工作原理:

       RIP(Routing Information Protocol(路由信息协议)的简称是为TCP/IP环境中开发的第一个路由选择协议标准
       RIP是一个距离-矢量路由选择协议 ,它通过UDP(User Datagram Protocol)数据报交换路由信息,端口号为520.
适用于中小型网络路由。

      1. 向邻居发送整个路由表2、选择最佳路由3、默认情况下,每隔30秒广播

       1.RIP路由协议向邻居发送整个路由表信息
       2.RIP路由协议以跳数作为度量值根据跳数的多少来选择最佳路由
       3.每经过一个路由器,跳数自动加1
       4.最大跳数为15跳,16跳为网络不可达
       5.默认情况下,每隔30秒广播一次更新信息。