1. 简要介绍 (Introduction)
1.1 计算机网络与路由简述
计算机网络(computer networks)是一个复杂的系统,其中存在许多技术,并且每种技术都与其它的技术一样起着不可替代的作用。许多国际组织和公司已经独立地设置了网络标准,而且彼此并不完全兼容。许多企业也已经推出了各种使用非常规的网络技术的产品和网络服务及其网络协议。计算机网络正变得越来越复杂,使其变得复杂的原因在于有多种网络技术以及各种网络协议被用来连接两个或者多个网络,这也就导致网络间有多种可能的连接方式。 比如,CISCO公司的路由器有其自主开发的动态路由协议IGRP和EIGRP,在广域网三层使用路由协议进行PACKET的分组交换路由的时候,目的路由器必须是使用的CISCO的路由器并且使用的是IGRP或者EIGRP路由选择协议,否者在路由器所连接的源和目的主机间不能进行通讯,因为IGRP和EIGRP是CISCO专有的路由协议。
1.2 计算机网络公司(厂商)简介
国外计算机网络设备企业:
Cisco Systems 世界靠前大网络公司;
3COM 2、3层交换机市场业内知名;
Nortel 光网络业内知名;
IPer target=_blank class=qqx_gjz>Juniper 移动IP网络市场地位稳固;
Foundry MAN(城域网)巨头;
Lucent 电信行业的巨头。
国内计算机网络设备企业:
华 为 核心路由器通过测试 (Cisco在中国内地最大的竞争对手);
中 兴 喜获首张高端路由器入网证;
实达网络;
港湾;
博达;
迈普;
TCL;
安奈特;
TP-Link;
Accton 老牌的台湾厂商;
神州数码 一个品牌厂商,系统集成公司;
紫光网络 主要产品是防火墙系列。
2. 路由 / 路由协议 (route / routing protocols)
2.1 路 由(Route)与 路由器 (Router)
- 路 由(Route) 将分组从网间网的一个地方转发到另一个地方的路径和过程。
- 路由器(Router) 用来网络互连计算机三层网络边缘设备,工作在OSI七层参考模型的网络层,为不同的网络之间报文寻径并存储转发。
2.2 路由选择协议(Routing Protocol)与可路由选择协议(routed protocols)
我们可以想象一种情况,如果整个武汉市只有一条公路,每辆汽车、每辆自行车、每个摩托车、每个行人都必须使用这唯一的一条公路。成千上万的汽车造成的交通通信量将在所有的地方造成拥塞。显然,需要将过多的交通量转移到不同的道路上,以将其分解为可以管理的部分。道路仍然需要交叉,这样人们仍然可以到达它们需要的任何目的地。多个交叉也可以提供富余的路由,这样可以避免巨大的交通延迟。通过在不同的路由上发送交通量,可以将交通拥塞压缩到最低限度。按照相同的方法,互连网络通信量需要分解,以避免网络通信量拥塞。引导互连网络通信量达到不同网络上的过程称为 路由选择(Routing)。
-路由选择协议(Routing Protocols): 用于建立和维护路由表和按照达到数据包的目的地的非常好的路径转发数据数据包的协议。比如,RIPV1,IGRP,OSPF等。
-可路由选择协议(Routed protocols): 已选择路由协议由最终节点使用,以将数据和网络层地址分配信息一起封装在数据包中,目的是它可以通过互连网络进行中继。AppleTalk、IP和IPX都是已选择路由协议。注:当一个协议不支持网络层地址时,那么它就不是一个已路由协议。
路由器使用路由选择协议(routing protocols),以建立和维护路由表和按照达到数据包的目的地的非常好的路径转发数据数据包。路由选择协议使路由器可以了解没有直接连接的网络的状态和与其他的路由器通信,以了解它们所关心的网络。这种通信不断进行,这样当互连网络中发生变化时,路由选择表中的信息可以随时更新。
2.3 路由选择算法(Algorith)和度量值(Metric)
路由选择算法就是路由选择协议用于决定达到目的网络的非常好的路径的计算方法。路由选择算法越简单,则路由器将使用的处理能力就越小。这将减少路由器的日常费用。
路由选择算法的主要目的有3个:
• 准确性
• 低开销
• 快速收敛
度量值(Metric)是那些用于决定哪个路由是最优的值。根据所使用的路由选择协议,不同的因素可以决定一个路由的度,包括中继数量、链路速度、延迟(delay)、可靠性(capability)和负载(load)。
3.动态路由选择协议(Dynamic Routing Protocols)分类
动态路由是用某种算法寻找网络中的非常好的路径和维护这张路由表的过程。
动态路由选择协议(Dynamic Routing Protocols)主要类型,如下:
距离矢量 (Distance-Vector)
链路状态路由协议 (Link-State)
3.1 距离矢量 (Distance-Vector)
距离向量路由选择协议也称为Bellman-Ford协议。
距离矢量路由协议主要有: RIPV1 , RIPV2 , IGRP
( RIP -- Routing Information Protocols , IGRP -- Interior Gateway Routing Protocols )
距离矢量路由器定期向相邻的路由器发送它们的整个路由选择表(routing table)。距离相邻路由器在从相邻路由器接收到的信息的基础之上建立自己的路由选择信息表。无论使用何种类型的路由选择算法,互连网络上的所有路由器都需要时间以更新它们的路由选择表中的改动,这个过程称为聚合(convergence)。
距离向量路由选择是最古老也是最简单的一种路由选择协议算法。
距离矢量路由协议有一个严重的缺点,缓慢的收敛时间过程会造成路由回路(Routing Loop)。
解决路由回环方法:水平分割,定义最大跳数,路由毒杀,反转毒杀,抑制时间。
(注: 真正的距离矢量路由协议只有RIPV1和RIPV2,因为它们只用到了HOP跳数做为唯一的计算路由的方法。IGRP是CISCO公司专有的动态距离矢量路由协议,它使用到了跳数,但是主要决定路由因数是链路带宽,延迟,负载,最大传输单元,设备可靠性,能力等。)
3.2 链路状态路由协议 (Link-State)
链路状态路由选择协议的目的是映射互连网络的拓扑结构,它是一种比距离矢量更复杂的路由选择协议,目前最流行的动态路由协议就是一种链路状态协议:OSPF 。OSPF的普及因为多协议标签交换(MPLS)的出现而更流行。
链路状态路由协议主要有: OSPF , IS-IS
( OSPF -- Open Shortest Path First , IS-IS -- Intermediate System to Intermediate System )
每个链路状态路由器提供关于它邻居的拓扑结构的信息。这包括:
• 路由器所连接的网段(链路) • 那些链路的情况(状态)
链路状态路由器并不会广播包含在它们的路由表内的所有信息。链路状态路由协议只发送已经改动的路由的信息。链路状态路由器将向它们的邻居发送呼叫消息,这称为链路状态通告( LSA )。然后,邻居将LSA复制到它们的路由选择表中,并传递那个信息到网络的剩余部分。这个过程称为泛洪( flooding )。链路状态路由选择协议使用称为代价(cost)的方法,而不是使用跳(hop)。代价是自动或人工赋值的。链路状态路由选择协议的一个主要优点,即路由选择循环不可能形成,第2个优点,在链路状态互连网络中聚合是非常快。这些优点释放了路由器的资源,因为对不好的路由信息所花费的处理能力和带宽消耗都很少。
(注:EIGRP是一种混合动态路由协议,它综合了距离矢量和链路状态的两种路由方法。但是我们还是认为它属于一种高级距离矢量路由协议(HYBRID),这里就不在过多讨论了。EIGRP和IGRP都是CISCO公司专有的路由协议,只有运用在CISCO公司或者它授权的路由产品中才能使用。)
4. 内部和外部网关协议 (IGP和EGP)
在大型网络中,例如Internet,极小的互连网络分解为自治系统AS(Autonomous System)。每个AS被认为是一个自我管理的互连网络,一个自治系统内部运用相同的路有策略和路由算法。连接到Internet上的大型公司网络是自己拥有的自治系统,因为Internet上的其他主机并不由它来管理,而且它和Internet路由器并不共享内部路由选择信息。
路由选择协议是在一个自治系统内部为管理系统而开发的。它们也称为内部网关协议( IGP - Interior Gateway Protocols )。内部网关协议也称为域内协议,因为它们工作在域内,而不是在域之间。这些协议认为,它们所处理的路由器是它们系统的一部分,并且可以自由交换路由选择信息。内部网关路由协议主要有: RIPv1 , RIPv2 , IGRP , EIGRP , OSPF , IS-IS等。
有些路由选择协议也是为在一个较大的互连网络中连接自治系统而开发的。它们称为外部网关协议(EGP – Exterior Gateway Protocls)。外部网关协议就是所谓的域间协议,因为它们工作在域之间。这些协议认为,它们在系统的边缘上,而且仅仅交换必须的最少的信息,以维持对信息提供路由的能力。外部网关路由协议主要有: EGP 和 BGP4(Border Gateway protocol 4)。
总结
综述,路由选择协议是三层网络设备路由器转发分组寻找路由的动态算法和方法,一个好的动态路由算法不仅仅能增加网络可利用带宽,降低路由器CPU利用率,还将更好的转发分组增加网络的稳定性。动态路由协议的开发和不断完善是计算机广域网的一个重要部分。