OSPF与BGP

OSPF

        OSPF协议仅在单一自治系统内部路由网际协议(IP)数据包,因此被分类为内部网关协议。该协议从所有可用的路由器中搜集链路状态信息从而构建该网络的拓扑图,由此决定提交给网际层(Internet Layer)的路由表,最终路由器依据在网际协议数据包中发现的目的IP地址,结合路由表作出转发决策。OSPF原生支持VLSM与CIDR。

        本协议使用Dijkstra算法计算出到达每一网络的最短路径,并在检测链路的变化情况(如链路失效)时执行该算法快速收敛到新的无环路拓扑。

具体如下:

a>.寻找邻居

b>.建立邻接关系

c>.链路状态信息传递


d.路由计算

        在今天的学习中,我们知道RIP使用UDP,OSPF使用IP,而BGP使用TCP,其中OSPF基于IP协议,端口号为89。

        因为OSPF自身提供主从协商机制,可以保证可靠的传输,另外全网路由器保持着同样的一个lsdb,当拓扑发生变化时,需要携带的变更信息较少,通过IP协议即可完成

        RIP协议采用UDP是因为,rip每周期需全网组播路由信息,路由信息数目较大,故使用UDP协议可提高效率
        BGP为边界网关协议,因携带的路由信息较多,且可能跨不同网络传送路由信息,为保证可靠性,需使用TCP协议,可兼顾容量和可靠性

BGP

        边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。

BGP session

        BGP相邻路由器之间的会话是建立在TCP协议之上的。TCP协议提供种可靠的传输机制,支持两种类型的会话:

      1、外部BGP(EBGP):是在属于两个不同的自治系统的路由器之间的会话。这些路由器是毗邻的,共享相同的介质和子网。

      2、内部BGP(IBGP):是在一个自治系统内部的路由器之间的会话。它被用来在自治系统内部协调和同步寻找路由的进程。BGP路由器可以在自治系统的任何位置,甚至中间可以相隔数个路由器。

        BGP建立一个BGP会话的过程:

        1、空闲状态:BGP通常以空闲状态开始。在该状态下,它拒绝接收所有入连接。当一个开始时间出现的时候,BGP过程初始化所有的BGP资源,打开重试连接计时器、初始化到邻居的TCP连接,接听来自邻居的TCP初始化消息并将它的状态转到接连状态,开始事件是又一个操作者配置BGP的一个过程。

        2、连接状态:在这种状态下,BGP过程会等到TCP连接完成以后再决定后续的动作。如果连接建立成功,BGP连接将ConnectRetry清零,完成初始化过程,给邻居发送一个Open消息并转移到发送Open消息状态。如果TCP连接失败,BGP过程会继续监听由邻居发起的连接,重置ConnectRetry计时器并转移到激活状态。

        3、激活状态:在这个状态下,BGP过程试图与邻居建立一个TCP连接。如果连接建立成功,BGP连接将ConnectRetry清零,完成初始化过程,给邻居发送一个Open消息并转移到发送Open消息状态,如果在激活状态时,ConnectRetry计时器超时,该过程回到连接状态。

        4、发送Open消息状态:在这种状态下,已经发送了Open消息,BGP正在等待从邻居发来的Open消息。当收到一个Open消息后,检查该消息所有的字段。如果发现了差错,会给它邻居发送一个Notification消息并且将状态转移到空闲。如果在接收到的Open消息中没有发现差错,BGP给邻居发送一个Keepalive消息并且将Keepalive计时器置位。邻居之间协商一个Hold时间,它们会选用较小的值。如果协商的Hold时间是0,则没有启动Hold和keepalive计时器。根据对等的AS号,决定该连接是内部的还是外部的,并且将状态转移到Open消息确认。

        5、Open消息确认状态:在这种状态下,BGP过程会等待一个Keepalive或者Notification消息。如果收到了Keepalive消息,转移到建立状态,如果收到了Notification消息或者TCP断开消息,转移到空闲状态。

        6、建立状态:在这种状态之下,BGP对等之间的连接完全建立起来了。对等之间可以交换Update,Keepalive和Notification消息。如果收到了Update或Keepalive消息,重新启动Hold计时器 ,如果收到Notification消息。状态会转移到空闲。

猜你喜欢

转载自www.cnblogs.com/Romantic-Blood/p/12600231.html
BGP