目录
路由控制的定义
IP地址与路由控制
互联网是由路由器连接的网络组合而成的。为了能让数据包正确达地到达目 标主机,路由器必须在途中进行正确地转发。这种向“正确的方向“转发数据所 进行的处理就叫做路由控制或路由。
路由器根据路由控制表(Routing Table)转发数据包。它根据所收到的数据 包中目标主机的IP地址与路由控制表的比较得出下一个应该接收的路由器。因 此,这个过程中路由控制表的记录一定要正确无误。但凡出现错误,数据包就有 可能无法到达目标主机。
静态路由与动态路由
那么,是谁又是怎样制作和管理路由控制表的呢?路由控制分静态,和动态 两种类型。
静态路由是指事先设置好路由器和主机中并将路由信息固定的一种方法。
而 动态路由是指让路由协议在运行过程中自动地设置路由控制信息的一种方法。
这 些方法都有它们各自的利弊。
静态路由的设置通常是由使用者手工操作完成的。例如,有100个IP网的时 候,就需要设置近100个路由信息。并且,每增加一个新的网络,就需要将这个 新被追加的网络信息设置在所有的路由器上。因此,静态路由给管理者带来很大 的负担,这是其一。还有一个不可忽视的问题是,一旦某个路由器发生故障,基 本上无法自动绕过发生故障的节点,只有在管理员手工设置以后才能恢复正常。
使用动态路由的情况下,管理员必须设置好路由协议,其设定过程的复杂程 度与具体要设置路由协议的类型有直接关系。例如在RIP的情况下,基本上无需 过多的设置。而根据OSPF进行较详细路由控制时,设置工作将会非常繁琐。
如果有一个新的网络被追加到原有的网络中时,只要在新增加网络的路由器 上进行一个动态路由的设置即可。而不需要像静态路由那样,不得不在其他所有 路由器上进行修改。对于路由器个数较多的网络,采用动态路由显然是一个能够 减轻管理员负担的方法。
况且,网络上一旦发生故障,只要有一个可绕的其他路径,那么数据包就会 自动选择这个路径,路由器的设置也会自动重置。路由器为了能够像这样定期相 互交换必要的路由控制信息,会与相邻的路由器之间互发消息。这些互换的消息 会给网络带来一定程度的负荷。
不论是静态路由还是动态路由,不要只使用其中一种,可以将它们组合起来 使用。
动态路由的基础
动态路由如图所示,会给相邻路由器发送自己已知的网络连接信息,而 这些信息又像接力一样依次传递给其他路由器,直至整个网络都了解时,路由控 制表也就制作完成了。而此时也就可以正确转发IP数据包了
路由控制范围
接入互联网的各种组织机构
互联网连接着世界各地的组织机构,不仅包括语言不相通的,甚至包括宗教 信仰全然不同的组织。没有管理者,也没有被管理者,每个组织之间保持着平等 的关系。
自治系统与路由协议
企业内部网络的管理方针,往往由该企业组织内部自行决定。因此每个企业 或组织机构对网络管理和运维的方法都不尽相同。为了提高自己的销售额和生产 力,各家企业和组织机构都会相应购人必要的机械设备、构建合适的网络以及采 用合理的运维体制。在这种环境下,可以对公司以外的人士屏蔽企业内部的网络 细节,更不必对这些细节上的更新请求作出回应。这好比我们的日常生活,每个 人对家庭内部的私事,都不希望过多暴露给外界,听从外界指挥。
制定自己的路由策略,并以此为准在一个或多个网络群体中采用的小型单位 叫做自治系统(AS : Autonomous System)或路由选择域(Routing Domain)。
说到自治系统,区域网络、ISP (互联网服务提供商)等都是典型的例子。
在区域网络及ISP内部,由构造、管理和运维网络的管理员、运营者制定出路由 控制相关方针,然后根据此方针进行具体路由控制的设定。
而接入到区域网络或ISP的组织机构,则必须根据管理员的指示进行路由控 制设定。如果不遵循这个原则,会给其他使用者带来负面影响,甚至使自己也无 法与任何组织机构进行通信。
自治系统(路由选择域)内部动态路由采用的协议是域内路由协议,即IGP。
而自治系统之间的路由控制采用的是域间路由协议,即EGP。
IGP与EGP
如前面述,路由协议大致分为两大类。一类是外部网关协议EGP, 另一类是 内部网关协议IGP (Interior Gateway Protocol)。
IP地址分为网络部分和主机部分,它们有各自的分功。EGP与IGP的关系与 IP地址网络部分和主机部分的关系有相似之处。就像根据IP地址中的网络部分在 网络之间进行路由选择、根据主机部分在链路内部进行主机识别一样,可以根据 EGP在区域网络之间(或ISP之间)进行路由选择,也可以根据IGP在区域网络 内部(或ISP内部)进行主机识别。
由此,路由协议被分为EGP和IGP两个层次。没有EGP就不可能有世界上 各个不同组织机构之间的通信。没有IGP机构内部也就不可能进行通信。
IGP中还可以使用RIP (Routing Information Protocol, 路由信息协议)、RIP2、 OSPF (Open Shortest Path First, 开放式最短路径优先)等众多协议。
与之相对, EGP使用的是BGP (Border Gateway Protocol, 边界网关协议)协议。
路由算法
距离向量算法
距离向量算法(DV)是指根据距离(代价)和方向决定目标网络或目标主机位置的一种方法。
路由器之间可以互换目标网络的方向及其距离的相关信息,并以这些信息为 基础制作路由控制表。这种方法在处理上比较简单,不过由于只有距离和方向的 信息,所以当网络构造变得分外复杂时,在获得稳定的路由信息之前需要消耗一 定时间,也极易发生路由循环等问题。
链路状态算法
链路状态算法是路由器在了解网络整体连接状态的基础上生成路由控制表的一种方法。该方法中,每个路由器必须保持同样的信息才能进行正确的路由选择。
距离向量算法中每个路由器掌握的信息都不相同。通往每个网络所耗的距离(代价)也根据路由器的不同而不同。因此,该算法的一个缺点就是不太容易判断每个路由器上的信息是否正确。
而链路状态算法中所有路由器持有相同的信息。对于任何一台路由器,网络拓扑都完全一样。因此,只要某一台路由器与其他路由器保持同样的路由控制信息,就意味着该路由器上的路由信息是正确的。只要每个路由器尽快地与其他路由器同步路由信息,就可以使路由信息达到一个稳定的状态。因此,即使网络结构变得复杂,每个路由器也能够保持正确的路由信息、进行稳定的路由选择。这也是该算法的一个优点。
为了实现上述机制,链路状态算法付出的代价就是如何从网络代理获取路由信息表。这一过程相当复杂,特别是在一个规模巨大而又复杂的网络结构中,管理和处理代理信息需要高速CPU处理能力和大量的内存。
主要路由协议
路由协议分很多种。表列出了主要的几种路由协议。
其中,由于EGP不支持CIDR, 现在已经不再用作互联网的对外连接协议 了。