路由协议为路由算法提供所需的网络状况信息,以保证结点选择一条最佳路径。路由协议分为内部路由协议和外部路由协议两大类。所谓内、外部是针对自治系统而言的,自治系统就是一个机构管理的一组路由器和网络的集合。每个自治系统都有唯一的自治系统编号,这个编号是由因特网授权的管理机构分配的。常见的内部路由协议有RIP、OSPF等,外部路由协议有BGP等。
RIP(路由信息协议)是ARPNET初期使用的路由协议。RIP采用距离矢量算法,适合规模比较小的网络,目前已逐渐被OSPF协议取代。下面主要介绍OSPF和BGP协议。
1.OSPF路由协议
OSPF(开放最短路径优先)协议用于在单一自治系统内进行路由选择。OSPF采用链路状态路由算法,是目前因特网最常用的内部路由协议。OSPF和其他路由器交换的信息不是路由信息,而是链路信息。OSPF不是告知其他路由器它们可以到达哪些网络,以及距离是多少,而是告知它们的网络接口的状态,这些接口所连的网络,以及使用这些接口的费用。每个路由器都会通过LSA(链路状态通告)报文广播自己的链路状态,直到所有路由器都有完整而相同的链路状态数据库为止。这时,每个路由器就能获得完整的网络拓扑结构,然后,以自己为根,把自己到其他路由器的最短或费用最少的路径作为分支,每个路由器就可以构造一棵树。每个OSPF路由器使用这些最短路径构造路由表,这就是最短路径优先名称的来由。OSPF中的O(开放)只是意味着OSPF标准是对公共开放的,而不是私有的专用路由协议。
OSPF报文的公共首部格式如图8-31所示。OSPF报文直接放在IP数据报的数据字段中发送。
图8-31 OSPF报文的首部格式
1)版本号:标识使用的OSPF版本。
2)类型:指示OSPF的报文类型。OSPF报文有5种类型:Hello、数据库描述、链路状态请求、链路状态更新和链路状态确认。
Hello报文用于建立和维持邻居关系,Hello报文被周期地发向路由器接口,周期长短以网络类型为根据,一般每隔10s交换一次Hello报文。如果一个广播型网络上有多个路由器,则路由协议只需要把报文发送给其中一个路由器就行了,这个路由器称为DR(指定路由器),其他路由器也会收到这个报文,因此没必要把报文重复发送给广播网络上的所有路由器。Hello还负责在广播网络中挑选出DR,以减少在广播网络上的OSPF的流量。
数据库描述报文的内容是拓扑结构数据库,它是形成邻接的第一步。每台路由器通过发送空的数据库描述报文来选举主从关系,一个路由器被指定为主机,其他的被指定为从机,主机发生数据库描述报文,从机通过发出数据库描述报文来发出应答。数据库描述报文包含有链路状态通告(LSA)。LSA根据链路状态的不同具有相应的5种格式,即路由器链路LSA、网络链路LSA、到网络的概括链路LSA、到AS边界路由器的概括链路LSA和外部链路LSA。
链路状态请求报文向相邻路由器请求其拓扑结构数据库的部分内容。当路由器发现它的拓扑结构数据库有些部分过时后,路由器将会使用链路状态请求报文请求对方发送更新,交换消息。
链路状态更新报文是对链路状态请求报文的回应。这些消息也被用于常规的LSA交换。几个LSA报文可以被包括在一个链路状态更新报文内。
链路状态确认报文是对链路状态更新报文的确认,这种确认使OSPF的扩散过程更可靠。
3)数据包长度:以字节为单位的数据包的长度,包括OSPF报文头。(www.daowen.com)
4)路由器ID:标识报文的发送者。
5)区域ID:标识报文所属的区域。所有OSPF报文都与一个单一的区域相关联。
6)校验和:校验整个数据包的内容,以发现传输中可能出现的错误。
7)认证类型:类型0标识不进行认证,类型1表示采用明文式进行认证,类型2表示采用MD5算法进行认证。OSPF协议交换的所有信息都可以被认证,认证类型可按各个区域进行配置。
8)认证:包含认证信息。
9)数据:包含所封装的上层信息(实际的路由信息)。
2.BGP路由协议
BGP(边界网关协议)是用来连接各个自治系统的路由选择协议。它与距离矢量方法相似,只不过发送的不是距离矢量(距离,方向),而是路径矢量(网络,下一跳路由器,路径)。BGP使用属性序列定义路径,它是一套参数,每个属性描述路径的一些信息,使得BGP能够对路由进行过滤和选择,便于实施路由选择策略,如绕开敌对国家的路由器。
BGP是一种外部路由协议,与OSPF、RIP等的内部路由协议不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。BGP交换包含全部自治系统路径的网络可达性信息,按照配置信息执行路由策略。BGP有4种报文格式:打开、更新、保活和通知。BGP报文使用TCP传输。
打开报文用于建立邻居关系,它是BGP路由器之间的初始握手消息,路由器之间通过发送打开报文来交换各自的版本、自治系统号、保持时间、BGP标识符等信息,进行协商。
更新报文携带的是路由更新信息,包括撤销路由信息和可达路由信息及其路径属性。
保活报文周期也在路由器之间发送,告诉其他路由器这个路由器仍存在,以确保连接保持有效。
当BGP检测到连接中断、协商出错、报文差错等差错时,就发送通知报文,关闭路由器之间的连接。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。