路由器原理及路由协议 来源:中国电信网站 http://www.linkwan.com/gb/routertech/netbase/routerbase.htm 本文通过阐述TCP/IP网络中路由器的基本工作原理,介绍了IP路由器的几大功能, 给出了静态路由协议和动态路由协议,以及内部网关协议和外部网关协议的概念,同时简要 介绍了目前最常见的RIP、OSPF、BGP和BGP-4这几种路由协议,然后描述了路由算法的设 计目标和种类,着重介绍了链路状态法和距离向量法。在文章的最后,扼要讲述了新一代路 由器的特征。 ——近十年来,随着计算机网络规模的不断扩大,大型互联网络(如 Internet)的迅 猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备 用户的需求推动着路由技术的发展和路由器的普及,人们已经不满足于仅在本地网络上共享 信息,而希望最大限度地利用全球各个地区、各种类型的网络资源。而在目前的情况下,任 何一个有一定规模的计算机网络(如企业网、校园网、智能大厦等),无论采用的是快速以 大网技术、FDⅠ技术,还是AIM技术,都离不开路由器,否则就无法正常运作和管理。 1网络互连 把自己的网络同其它的网络互连起来,从网络中获取更多的信息和向网络发布自己 的消息,是网络互连的最主要的动力。网络的互连有多种方式,其中使用最多的是网桥互连 和路由器互连。 1.1网桥互连的网络 ——网桥工作在0SI模型中的第二层,即链路层。完成数据帧( frame)的转发,主要 目的是在连接的网络间提供透明的通信。网桥的转发是依据数据帧中的源地址和目的地址来 判断一个帧是否应转发和转发到哪个端口。帧中的地址称为“MAC”地址或“硬件”地址, 一般就是网卡所带的地址。 网桥的作用是把两个或多个网络互连起来,提供透明的通信。网络上的设备看不到 网桥的存在,设备之间的通信就如同在一个网上一样方便。由于网桥是在数据帧上进行转发 的,因此只能连接相同或相似的网络(相同或相似结构的数据帧),如以太网之间、以太网
路由器原理及路由协议 来源:中国电信网站 http://www.linkwan.com/gb/routertech/netbase/routerbase.htm 本文通过阐述 TCP/IP 网络中路由器的基本工作原理,介绍了 IP 路由器的几大功能, 给出了静态路由协议和动态路由协议,以及内部网关协议和外部网关协议的概念,同时简要 介绍了目前最常见的 RIP、OSPF、BGP 和 BGP-4 这几种路由协议,然后描述了路由算法的设 计目标和种类,着重介绍了链路状态法和距离向量法。在文章的最后,扼要讲述了新一代路 由器的特征。 ——近十年来,随着计算机网络规模的不断扩大,大型互联网络(如 Internet)的迅 猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。 用户的需求推动着路由技术的发展和路由器的普及,人们已经不满足于仅在本地网络上共享 信息,而希望最大限度地利用全球各个地区、各种类型的网络资源。而在目前的情况下,任 何一个有一定规模的计算机网络(如企业网、校园网、智能大厦等),无论采用的是快速以 大网技术、FDDI 技术,还是 ATM 技术,都离不开路由器,否则就无法正常运作和管理。 1 网络互连 ——把自己的网络同其它的网络互连起来,从网络中获取更多的信息和向网络发布自己 的消息,是网络互连的最主要的动力。网络的互连有多种方式,其中使用最多的是网桥互连 和路由器互连。 1.1 网桥互连的网络 ——网桥工作在 OSI 模型中的第二层,即链路层。完成数据帧(frame)的转发,主要 目的是在连接的网络间提供透明的通信。网桥的转发是依据数据帧中的源地址和目的地址来 判断一个帧是否应转发和转发到哪个端口。帧中的地址称为“MAC”地址或“硬件”地址, 一般就是网卡所带的地址。 ——网桥的作用是把两个或多个网络互连起来,提供透明的通信。网络上的设备看不到 网桥的存在,设备之间的通信就如同在一个网上一样方便。由于网桥是在数据帧上进行转发 的,因此只能连接相同或相似的网络(相同或相似结构的数据帧),如以太网之间、以太网
与令牌环( token ring)之间的互连,对于不同类型的网络(数据帧结构不同),如以太网 与X.25之间,网桥就无能为力了。 ——网桥扩大了网络的规模,提高了网络的性能,给网络应用带来了方便,在以前的网 络中,网桥的应用较为广泛。但网桥互连也带来了不少问题:一个是广播风暴,网桥不阻挡 网络中广播消息,当网络的规模较大时(几个网桥,多个以太网段),有可能引起广播风暴 ( broadcasting storm),导致整个网络全被广播信息充满,直至完全瘫痪。第二个问题是, 当与外部网络互连时,网桥会把内部和外部网络合二为一,成为一个网,双方都自动向对方 完全开放自己的网络资源。这种互连方式在与外部网络互连时显然是难以接受的。问题的主 要根源是网桥只是最大限度地把网络沟通,而不管传送的信息是什么。 1.2路由器互连网络 一路由器互连与网络的协议有关,我们讨论限于TCP/IP网络的情况 路由器工作在OSI模型中的第三层,即网络层。路由器利用网络层定义的“逻辑” 上的网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的 独立性。路由器不转发广播消息,而把广播消息限制在各自的网络内部。发送到其他网络的 数据茵先被送到路由器,再由路由器转发出去。 IP路由器只转发IP分组,把其余的部分挡在网内(包括广播),从而保持各个网 络具有相对的独立性,这样可以组成具有许多网络(子网)互连的大型的网络。由于是在网 络层的互连,路由器可方便地连接不同类型的网络,只要网络层运行的是IP协议,通过路 由器就可互连起来 网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址 是与硬件地址无关的“逻辑”地址。路由器只根据IP地址来转发数据。IP地址的结构有两 部分,一部分定义网络号,另一部分定义网络内的主机号。目前,在 Internet网络中采用 子网掩码来确定IP地址中网络地址和主机地址。子网掩码与IP地址一样也是32bit,并且 两者是一一对应的,并规定,子网掩码中数字为“1”所对应的IP地址中的部分为网络号, 为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个 网络中的主机IP地址,其网络号必须是相同的,这个网络称为IP子网
与令牌环(token ring)之间的互连,对于不同类型的网络(数据帧结构不同),如以太网 与 X.25 之间,网桥就无能为力了。 ——网桥扩大了网络的规模,提高了网络的性能,给网络应用带来了方便,在以前的网 络中,网桥的应用较为广泛。但网桥互连也带来了不少问题:一个是广播风暴,网桥不阻挡 网络中广播消息,当网络的规模较大时(几个网桥,多个以太网段),有可能引起广播风暴 (broadcasting storm),导致整个网络全被广播信息充满,直至完全瘫痪。第二个问题是, 当与外部网络互连时,网桥会把内部和外部网络合二为一,成为一个网,双方都自动向对方 完全开放自己的网络资源。这种互连方式在与外部网络互连时显然是难以接受的。问题的主 要根源是网桥只是最大限度地把网络沟通,而不管传送的信息是什么。 1.2 路由器互连网络 ——路由器互连与网络的协议有关,我们讨论限于 TCP/IP 网络的情况。 ——路由器工作在 OSI 模型中的第三层,即网络层。路由器利用网络层定义的“逻辑” 上的网络地址(即 IP 地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的 独立性。路由器不转发广播消息,而把广播消息限制在各自的网络内部。发送到其他网络的 数据茵先被送到路由器,再由路由器转发出去。 ——IP 路由器只转发 IP 分组,把其余的部分挡在网内(包括广播),从而保持各个网 络具有相对的独立性,这样可以组成具有许多网络(子网)互连的大型的网络。由于是在网 络层的互连,路由器可方便地连接不同类型的网络,只要网络层运行的是 IP 协议,通过路 由器就可互连起来。 ——网络中的设备用它们的网络地址(TCP/IP 网络中为 IP 地址)互相通信。IP 地址 是与硬件地址无关的“逻辑”地址。路由器只根据 IP 地址来转发数据。IP 地址的结构有两 部分,一部分定义网络号,另一部分定义网络内的主机号。目前,在 Internet 网络中采用 子网掩码来确定 IP 地址中网络地址和主机地址。子网掩码与 IP 地址一样也是 32bit,并且 两者是一一对应的,并规定,子网掩码中数字为“1”所对应的 IP 地址中的部分为网络号, 为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的 IP 地址。同一个 网络中的主机 IP 地址,其网络号必须是相同的,这个网络称为 IP 子网
一通信只能在具有相同网络号的IP地址之间进行,要与其它IP子网的主机进行通信 则必须经过同一网络上的某个路由器或网关( gateway)出去。不同网络号的IP地址不能直 接通信,即使它们接在一起,也不能通信。 路由器有多个端口,用于连接多个IP子网。每个端口的IP地址的网络号要求与所 连接的IP子网的网络号相同。不同的端口为不同的网络号,对应不同的P子网,这样才能 使各子网中的主机通过自己子网的IP地址把要求出去的IP分组送到路由器上 2路由原理 当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把 IP分组送到网络上,对方就能收到。而要送给不同IP于网上的主机时,它要选择一个能到 达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如 果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关( default gateway)” 的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路 由器端口的IP地址。 一路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端 口,把IP分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是, 就直接把分组通过端口送到网络上,否则,也要选择下一个路由器来传送分组。路由器也有 它的缺省网关,用来传送不知道往哪儿送的IP分组。这样,通过路由器把知道如何传送的 IP分组正确转发出去,不知道的IP分组送给“缺省网关”路由器,这样一级级地传送,IP 分组最终将送到目的地,送不到目的地的IP分组则被网络丢弃了。 目前TCP/IP网络,全部是通过路由器互连起来的, Internet就是成千上万个IP 子网通过路由器互连起来的国际性网络。这种网络称为以路由器为基础的网络( router based network),形成了以路由器为节点的“网间网”。在“网间网”中,路由器不仅负 责对IP分组的转发,还要负责与别的路由器进行联络,共同确定“网间网”的路由选择和 维护路由表。 一路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由 路由选择算法来实现。由于涉及到不同的路由选择协议和路由选择算法,要相对复杂一些 为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依 赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不同信息填入路由表中,根
——通信只能在具有相同网络号的IP地址之间进行,要与其它IP子网的主机进行通信, 则必须经过同一网络上的某个路由器或网关(gateway)出去。不同网络号的 IP 地址不能直 接通信,即使它们接在一起,也不能通信。 ——路由器有多个端口,用于连接多个 IP 子网。每个端口的 IP 地址的网络号要求与所 连接的 IP 子网的网络号相同。不同的端口为不同的网络号,对应不同的 IP 子网,这样才能 使各子网中的主机通过自己子网的 IP 地址把要求出去的 IP 分组送到路由器上。 2 路由原理 ——当 IP 子网中的一台主机发送 IP 分组给同一 IP 子网的另一台主机时,它将直接把 IP 分组送到网络上,对方就能收到。而要送给不同 IP 于网上的主机时,它要选择一个能到 达目的子网上的路由器,把 IP 分组送给该路由器,由路由器负责把 IP 分组送到目的地。如 果没有找到这样的路由器,主机就把 IP 分组送给一个称为“缺省网关(default gateway)” 的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路 由器端口的 IP 地址。 ——路由器转发 IP 分组时,只根据 IP 分组目的 IP 地址的网络号部分,选择合适的端 口,把 IP 分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是, 就直接把分组通过端口送到网络上,否则,也要选择下一个路由器来传送分组。路由器也有 它的缺省网关,用来传送不知道往哪儿送的 IP 分组。这样,通过路由器把知道如何传送的 IP 分组正确转发出去,不知道的 IP 分组送给“缺省网关”路由器,这样一级级地传送,IP 分组最终将送到目的地,送不到目的地的 IP 分组则被网络丢弃了。 ——目前 TCP/IP 网络,全部是通过路由器互连起来的,Internet 就是成千上万个 IP 子网通过路由器互连起来的国际性网络。这种网络称为以路由器为基础的网络(router based network),形成了以路由器为节点的“网间网”。在“网间网”中,路由器不仅负 责对 IP 分组的转发,还要负责与别的路由器进行联络,共同确定“网间网”的路由选择和 维护路由表。 ——路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由 路由选择算法来实现。由于涉及到不同的路由选择协议和路由选择算法,要相对复杂一些。 为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依 赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不同信息填入路由表中,根
据路由表可将目的网络与下一站( nex thop)的关系告诉路由器。路由器间互通信息进行路 由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路 径。这就是路由选择协议( routing protocol),例如路由信息协议(RIP)、开放式最短 路径优先协议(0SFF)和边界网关协议(BGP)等。 —转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否 知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通 常将该分组丢弃:否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直 接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协议( routed protocol) —路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的 路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。下文中提到的路由协议 除非特别说明,都是指路由选择协议,这也是普遍的习惯。 3路由协议 典型的路由选择方式有两种:静态路由和动态路由 一静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由 不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结 构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级 最高。当动态路由与静态路由发生冲突时,以静态路由为准 动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更 新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变 化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络, 引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态 路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用 网络带宽和CPU资源 静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静 态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则 根据相应的静态路由转发分组;否则再查找动态路由
据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。路由器间互通信息进行路 由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路 径。这就是路由选择协议(routing protocol),例如路由信息协议(RIP)、开放式最短 路径优先协议(OSPF)和边界网关协议(BGP)等。 ——转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否 知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通 常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直 接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协议(routed protocol)。 ——路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的 路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。下文中提到的路由协议, 除非特别说明,都是指路由选择协议,这也是普遍的习惯。 3 路由协议 ——典型的路由选择方式有两种:静态路由和动态路由。 ——静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由 不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结 构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级 最高。当动态路由与静态路由发生冲突时,以静态路由为准。 ——动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更 新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变 化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络, 引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态 路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用 网络带宽和 CPU 资源。 ——静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静 态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则 根据相应的静态路由转发分组;否则再查找动态路由
一一根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部 网关协议(EGP)。这里的自治域指一个具有统一管理机构、统一路由策略的网络。自治域 内部采用的路由选择协议称为内部网关协议,常用的有RIP、OSPF:外部网关协议主要用于 多个自治域之间的路由选择,常用的是BGP和BGP-4。下面分别进行简要介绍 3.1RIP路由协议 RIP协议最初是为 Xerox网络系统的 Xerox parc通用协议而设计的,是 Internet 中常用的路由协议。RIP采用距离向量算法,即路由器根据距离选择路由,所以也称为距离 向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少 站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也 把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到 了全网 一RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络, 因为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达。而且RIP 每隔30s一次的路由信息广播也是造成网络的广播风暴的重要原因之 3.20SPF路由协议 80年代中期,RIP已不能适应大规模异构网络的互连,OSPF随之产生。它是网间 工程任务组织(IETF)的内部网关协议工作组为IP网络而开发的一种路由协议。 —0SPF是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其 它路由器发送链路状态广播信息。在OSPF的链路状态广播中包括所有接口信息、所有的量 度和其它一些变量。利用0SPF的路由器首先必须收集有关的链路状态信息,并根据一定的 算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关 路由更新信息 与RIP不同,0SPF将一个自治域再划分为区,相应地即有两种类型的路由选择方 式:当源和目的地在同一区时,采用区内路由选择:当源和目的地在不同区时,则采用区间 路由选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故 障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。 3.3BGP和BGP-4路由协议
——根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部 网关协议(EGP)。这里的自治域指一个具有统一管理机构、统一路由策略的网络。自治域 内部采用的路由选择协议称为内部网关协议,常用的有 RIP、OSPF;外部网关协议主要用于 多个自治域之间的路由选择,常用的是 BGP 和 BGP-4。下面分别进行简要介绍。 3.1 RIP 路由协议 ——RIP 协议最初是为 Xerox 网络系统的 Xerox parc 通用协议而设计的,是 Internet 中常用的路由协议。RIP 采用距离向量算法,即路由器根据距离选择路由,所以也称为距离 向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少 站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也 把所收集的路由信息用 RIP 协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到 了全网。 ——RIP 使用非常广泛,它简单、可靠,便于配置。但是 RIP 只适用于小型的同构网络, 因为它允许的最大站点数为 15,任何超过 15 个站点的目的地均被标记为不可达。而且 RIP 每隔 30s 一次的路由信息广播也是造成网络的广播风暴的重要原因之一。 3.2 OSPF 路由协议 ——80 年代中期,RIP 已不能适应大规模异构网络的互连,0SPF 随之产生。它是网间 工程任务组织(1ETF)的内部网关协议工作组为 IP 网络而开发的一种路由协议。 ——0SPF 是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其 它路由器发送链路状态广播信息。在 OSPF 的链路状态广播中包括所有接口信息、所有的量 度和其它一些变量。利用 0SPF 的路由器首先必须收集有关的链路状态信息,并根据一定的 算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关 路由更新信息。 ——与 RIP 不同,OSPF 将一个自治域再划分为区,相应地即有两种类型的路由选择方 式:当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间 路由选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故 障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。 3.3 BGP 和 BGP-4 路由协议