路由协议(英语:Routing protocol)是一种指定
数据包转送方式的网上协议。
Internet网络的主要节点设备是
路由器,路由器通过
路由表来转发接收到的数据。转发策略可以是人工指定的(通过
静态路由、
策略路由等方法)。在具有较小规模的网络中,人工指定转发策略没有任何问题。但是在具有较大
规模的网络中(如跨国企业网络、
ISP网络),如果通过人工指定转发策略,将会给网络管理员带来巨大的工作量,并且在管理、维护路由表上也变得十分困难。为了解决这个问题,
动态路由协议应运而生。动态路由协议可以让路由器自动学习到其他路由器的网络,并且网络拓扑发生改变后自动更新路由表。网络管理员只需要配置动态路由协议即可,相比人工指定转发策略,工作量大大减少。
原理
路由协议通过在
路由器之间共享路由信息来支持
可路由协议。路由信息在相邻
路由器之间传递,确保所有路由器知道到其它路由器的路径。总之,路由协议创建了
路由表,描述了
网络拓扑结构;路由协议与
路由器协同工作,执行
路由选择和数据包转发功能。
作用
路由协议主要运行于
路由器上,路由协议是用来确定到达路径的,它包括
RIP,
IGRP(
Cisco私有协议),
EIGRP(Cisco私有协议),
OSPF,
IS-IS,
BGP。起到一个地图导航,负责找路的作用。它工作在
网络层。
路由选择协议主要是运行在
路由器上的协议,主要用来进行路径选择。
路由协议作为
TCP/IP协议族中重要成员之一,其选路过程实现的好坏会影响整个Internet网络的效率。按应用范围的不同,路由协议可分为两类:在一个AS(Autonomous System,
自治系统,指一个
互连网络,就是把整个Internet划分为许多较小的网络单位,这些小的网络有权自主地决定在本系统中应采用何种路由协议)内的路由协议称为
内部网关协议(interior gateway protocol),AS之间的路由协议称为
外部网关协议(exterior gateway protocol)。这里网关是
路由器的旧称。正在使用的
内部网关路由协议有以下几种:RIP-1,RIP-2,IGRP,EIGRP,IS-IS和OSPF。其中前3种路由协议采用的是
距离向量算法,IS-IS和OSPF采用的是链路状态算法,EIGRP是结合了链路状态和
距离矢量型
路由选择协议的Cisco私有路由协议。对于小型网络,采用基于
距离向量算法的路由协议易于配置和管理,且应用较为广泛,但在面对大型网络时,不但其固有的环路问题变得更难解决,所占用的
带宽也迅速增长,以至于网络无法承受。因此对于大型网络,采用链路状态算法的IS-IS和OSPF较为有效,并且得到了广泛的应用。IS-IS与OSPF在质量和性能上的差别并不大,但OSPF更适用于IP,较IS-IS更具有活力。IETF始终在致力于OSPF的改进工作,其修改节奏要比IS-IS快得多。这使得OSPF正在成为应用广泛的一种路由协议。不论是传统的
路由器设计,还是即将成为标准的
MPLS(多协议标记交换),均将OSPF视为必不可少的路由协议。
外部网关协议最初采用的是EGP。EGP是为一个简单的树形
拓扑结构设计的,随着越来越多的用户和网络加入Internet,给EGP带来了很多的局限性。为了摆脱EGP的局限性,IETF
边界网关协议工作组制定了标准的边界网关协议--BGP。
常见路由协议
常见的路由协议有
RIP、
IGRP(Cisco私有协议)、
EIGRP(Cisco私有协议)、
OSPF、
IS-IS、
BGP等。
RIP、IGRP、EIGRP、OSPF、IS-IS是内部网关协议(
IGP),适用于单个
ISP的统一路由协议的运行,一般由一个ISP运营的网络位于一个AS(
自治系统)内,有统一的AS number(自治系统号)。BGP是
自治系统间的路由协议,是一种
外部网关协议,多用于不同ISP之间交换路由信息,以及大型企业、政府等具有较大规模的私有网络。
RIP
RIP很早就被用在Internet上,是最简单的路由协议。它是“路由信息协议(Route Information Protocol)”的简写,主要传递路由信息,通过每隔30秒广播一次
路由表,维护相邻路由器的位置关系,同时根据收到的路由表信息计算自己的路由表信息。RIP是一个
距离矢量路由协议,最大跳数为15跳,超过15跳的网络则认为目标网络不可达。此协议通常用在网络架构较为简单的小型网络环境。分为RIPv1和RIPv2两个版本,后者支持
VLSM技术以及一系列技术上的改进。RIP的收敛速度较慢。
OSPF
OSPF协议是“开放式最短路径优先(Open Shortest Path First)”的缩写,属于
链路状态路由协议。OSPF提出了“区域(area)”的概念,每个区域中所有路由器维护着一个相同的链路状态数据库(LSDB)。区域又分为骨干区域(骨干区域的编号必须为0)和非骨干区域(非0编号区域),如果一个运行OSPF的网络只存在单一区域,则该区域可以是骨干区域或者非骨干区域。如果该网络存在多个区域,那么必须存在骨干区域,并且所有非骨干区域必须和骨干区域直接相连。OSPF利用所维护的链路状态数据库,通过最短路径优先算法(SPF算法)计算得到路由表。OSPF的收敛速度较快。由于其特有的开放性以及良好的扩展性,
OSPF协议在各种网络中广泛部署。
IS-IS
主条目:中间系统到中间系统
IS-IS协议是Intermediate system to intermediate system(中间系统到中间系统)的缩写,属于链路状态路由协议。标准IS-IS协议是由
国际标准化组织制定的ISO/IEC 10589:2002所定义的,标准IS-IS不适合用于IP网络,因此
IETF制定了适用于IP网络的集成化IS-IS协议(Integrated IS-IS)。和OSPF相同,IS-IS也使用了“区域”的概念,同样也维护着一份链路状态数据库,通过最短生成树算法(SPF)计算出最佳路径。IS-IS的收敛速度较快。集成化IS-IS协议是ISP骨干网上最常用的IGP协议。
IGRP
IGRP协议是“内部网关路由协议(Interior Gateway Routing Protocol)”的缩写,由
Cisco于二十世纪八十年代独立开发,属于Cisco私有协议。IGRP和RIP一样,同属距离矢量路由协议,因此在诸多方面有着相似点,如IGRP也是周期性的广播路由表,也存在最大跳数(默认为100跳,达到或超过100跳则认为目标网络不可达)。IGRP最大的特点是使用了混合度量值,同时考虑了链路的带宽、延迟、负载、
MTU、可靠性5个方面来计算路由的度量值,而不像其他IGP协议单纯的考虑某一个方面来计算度量值。IGRP已经被Cisco独立开发的
EIGRP协议所取代,版本号为12.3及其以上的
Cisco IOS(Internetwork Operating System)已经不支持该协议,已经罕有运行IGRP协议的网络。
EIGRP
主条目:增强型内部网关路由协议
由于IGRP协议的种种缺陷以及不足,Cisco开发了EIGRP协议(增强型内部网关路由协议)来取代IGRP协议。EIGRP属于高级距离矢量路由协议(又称混合型路由协议),继承了IGRP的混合度量值,最大特点在于引入了非等价负载均衡技术,并拥有极快的收敛速度。EIGRP协议在Cisco设备网络环境中广泛部署。
BGP
为了维护各个ISP的独立利益,标准化组织制定了ISP间的路由协议BGP。BGP是“边界网关协议(Border Gateway Protocol)”的缩写,处理各ISP之间的路由传递。但是BGP运行在相对核心的地位,需要用户对网络的结构有相当的了解,否则可能会造成较大损失。