动态选路协议



动态选路,就是动态更新路由表。每个路由器都有个路由守护程序,它运行选路协议,与相邻的路由器进行通信,根据从相邻路由器接收到的信息更新内核中的路由表。


Internet是以一组自治系统的方式组织的,每个自治系统通常由单个管理。

自治系统可以选择系统中各个路由器间的选路协议,这种协议我们称之为域内选路协议(IGP)。常用的IGP是选路信息协议RIP。最新的一种意在取代RIP的IGP是开放最短路径优先协议(OSPF)。

用于自治系统之间的路由器的协议,我们称之为外部网关协议(EGP)。新的EGP是当前在NSFNET骨干网和一些连接到骨干网的区域性网络使用的是边界网关协议(BGP)。


下面描述一下这几种协议:

RIP协议:

        (1)RIP报文包含在UDP数据报中,报文格式如下图:

动态选路协议_第1张图片

                命令字段为1表示请求,2表示应答。请求表示要求其他系统发送全部或部分路由表,应答表示包含发送者全部或部分路由表。

                版本字段为1表示版本1,即RIP-1。版本字段为2表示版本2,即RIP-2。

                地址系列字段表示紧跟在后面的20字节指定的地址系列,对于IP地址来说,其值为2。

                采用这种20字节格式的RIP报文最多可以通告25条路由,这是因为为了RIP报文长度小于512字节。

                度量字段,所谓度量就是以跳计算路由器之间的链路数。

        (2)采用RIP协议的routed程序的运行过程如下:

                1.守护进程启动后,首先判断启动了哪些接口,并在每个接口上广播一个520端口的特殊请求报文(地址系列0,度量字段16),要求其他路由器发送完整路由表。

                2.运行过程中,如果收到的是特殊请求报文,就将完整的路由表发送给请求者。否则,就处理请求的表项,路由表中存在就将度量值填进去,不存在就填16。

                3.接收到响应就更新路由表。

                4.定期选路更新。每30秒主动以广播的形式发送路由表。

                5.触发更新。当某条路由的度量发生变化时,就要把变化的表项发送出去。

                6.如果守护进程发现有一条表项在3分钟内未更新,就将该路由的度量值设置成无穷大(16),并标注为删除。这样再过60秒将从本地路由表中删除该表项。

        (3)缺陷

                1.RIP没有子网的概念,如果出现B类地址,主机号不为0,没法区分这是子网号还是主机地址。

                2.链路故障后很长时间才能稳定下来。

                3.可能发生路由环回。

                4.度量值最大15,限制了使用RIP的网络大小。


RIP-2协议:

        (1)RIP-2报文格式如下图:

动态选路协议_第2张图片

                路由域是守护程序的进程号,该域允许管理者在单个路由器上运行多个RIP实例。

                路由标记是自治系统号,为了支持外部网关协议而存在。

                子网掩码应用于相应的IP上,这就解决了RIP-1不能区分子网的缺陷。

                下一站IP地址指明了发往目的IP地址的报文经过的第一个路由器是谁。该字段为0表示发给发送RIP报文系统。

                RIP-2提供了一种简单的鉴别机制。可以指定前20字节表项地址系列为0xffff,路由标记为2。其余16字节为明文口令。

                RIP-2还支持多播,这可以减少不收听RIP-2报文主机的负载。


OSPF协议:

        OSPF将链路状态(包括接口上的IP地址,子网掩码,网络类型,Cost值等等)组播给其他路由器,所有路由器都维护一个相同结构的数据库,然后通过迪克斯加算法(Dijkstra)生成最短路径树,并通过最短路径构造路由表。


BGP协议:

        每个AS都会有个编号。所谓的AS路径就是前往目标网络通过的AS列表(列出了前往目标网络必须经过的路径)。

        BGP使用TCP作为传输协议,端口号179。

        BGP是一种距离矢量协议,实际上应该叫路径矢量协议。路径矢量信息包括一个自治系统(AS)号列表,下一个AS的路由器IP地址,以及源头编码属性。


        运行过程如下:

                1.BGP启动时,发送整个BGP路由表交换路由信息给相邻体,之后只交换更新信息。

                2.多条路径时,BGP只选择最优的给自己使用,并且只通告最优路线给相邻体。

                3.一般不把BGP路由表注入IGP路由器中,因为BGP路由表太大,会导致IGP网络崩溃。

                4.BGP不接受在AS路径属性中包含本自治系统的编号的路由选择更新,以防止环路。

你可能感兴趣的:(杂项)