新编计算机网络教程——第7章_第1页
新编计算机网络教程——第7章_第2页
新编计算机网络教程——第7章_第3页
新编计算机网络教程——第7章_第4页
新编计算机网络教程——第7章_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网络互联的原因7.1网络互联分类7.2网络互联设备的工作原理7.3路由选择算法7.4目录Contents互联网路由选择7.5广域网相关技术7.6项目一些可能性提供的服务面向连接的和面向无连接的协议IP,IPX,CLNP,AppleTalk,DECnet等寻址方式平面的(802)和分层的(IP,IPX)多点播送存在或不存在(也可能是广播)分组大小每一个网络都有它自己的最大值服务质量存在或不存在;许多不同的方法出错处理可靠的,有序的和无序的递交流量控制滑动窗口,速度控制,其他办法或没有拥塞控制漏桶,抑制分组,等等安全性应用规则,加密,等等参数不同的超时值,流说明,等等计费方式按连接时间,按分组数,

2、按字节数,或不计费表7-1 网络互联的差异 由于网络在很多方面存在着不同之处,因此网络互联除了必须提供网络间物理的和链路的连接控制,并提供不同网络间的路由选择和数据转发外,还必须容纳网络的差别。 下面我们来讨论一些可能存在的网络间的差异, 当一个分组在到达目的网络前必须通过一个或多个外部网络时,在网络接口层就会出现问题,比如,当分组从一个面向连接的网络经过无连接网络时,它们可能需要重新安排,以处理一些发送者没有想到的而接受者又不准备管的事情(例如,确认机制等),并且互联的网络可能使用不同的命名、地址及目录维护机制,这就必须进行地址转换。 不同网络间使用的不同分组长度也是让人头痛的事。怎样保证一

3、个以太网(1500字节)能够传递一个令牌总线(8000字节)的分组? 当然,差错控制、存取机制、不同的传输速率在不同的网络上往往是不同的。这样,在网络互联的时候都会引发各种各样的问题,如表7-1所示。 网络互联的原因7.1网络互联分类7.2网络互联设备的工作原理7.3路由选择算法7.4目录Contents互联网路由选择7.5广域网相关技术7.6常用的网络互联方式有两种:面向连接的连锁虚电路和数据报模式。 顾名思义,连锁虚电路就是利用虚电路数据交换模式,它类似于通常建立连接的方式。 一台主机和远程网络中的主机通信,首先,源主机对比目标主机发现网络号不同,会建立一条和本子网直接相连的路由器的虚电路

4、,然后,从该路由器出发经路由,建立一条到一个外部“网关”(多协议路由器)的虚电路,这个网关在其表中记录下这条虚电路,并继续建立另一条到下一个子网中的路由器的虚电路,继续这一过程直到到达目的主机。 当第一次建立好了这条虚电路,以后每个分组都沿着这条路径发送,每个网关都负责转发输入分组,并按要求转换分组格式和虚电路号。这种方法互联的关键在于,整个过程中分组要经过一个或多个网关才能到达目的端。每个网关维护一些记录表,表中记录了有那些虚电路经过它,要到哪里,以及虚电路号是多少,如图7-1所示。 在所有网络都有大致相同的特性时这一方案工作的最好。 连锁虚电路常用于X.25和ATM。同时它也可以用于传输层

5、,建立一条TCP连接。二.计算机网络的形成7.2.1 连锁虚电路图7-1 采用连锁虚电路的网络互联 另一可选的网络互联模式是数据报模式,如图7-2所示,在这种模式中,网络层为传输层提供的唯一服务就是将数据报送入子网,它不需要建立连接和拆除连接。数据报模式主要适用于各种无连接的网络层协议,如IP、IPX、APPLETALK、CLNP等,这种模式的分组都是单独进行路由选择,分组的路由取决于当前网络的通信量状况,并且分组不要求按顺序到达,因此,无连接的网络互联可以是多条路由,充分利用了带宽。但是,当分组全部到达目的端时,由于不能保证分组是按顺序到达的,所以需要传输层进行分组的排序。 这种模式的最大问

6、题是各种网络层协议的地址问题。例如,一个因特网上的主机试图给一个相连的APPLETALK主机发送一个IP分组,但是,APPLETALK使用的是3字节的地址信息,并没有使用IP地址,因此通信将无法完成。解决的方法是给每个APPLETALK主机分配一个32位的因特网地址,同样,对于其他协议的地址空间(CLNP、SNA)也存在这样的问题。这意味着要把世界上每个因特网主机想访问的主机分配一个因特网地址,这个问题是无法避免的。 当然,我们可以使用一个统一的地址空间,即IP地址。这也是IP的目的 一个可在许多网络中传送的分组。 介绍完了两种互联方式,我们来比较一下两种互联方式,如表7-2所示。二.计算机网

7、络的形成7.2.2 无连接的网络互连图7-2 一个无连接的网络互联特点连锁虚电路数据报模式分组是否按顺序是否路由标识虚电路号目的地址对路由器要求崩溃脆弱性崩溃健壮性网络要求子网存储状态信息子网不存储状态信息路由选择虚电路建立后,所有分组都经过此路由每个分组独立路由表7-2 两种互联方式的比较网络互联的原因7.1网络互联分类7.2网络互联设备的工作原理7.3路由选择算法7.4目录Contents互联网路由选择7.5广域网相关技术7.6 网桥又称桥接器或信桥,如图7-3所示,提供了一种对LAN的扩展,最早是为把那些具有相同物理层和媒体访问子层的局域网互连起来而设计的,后来也用于具有不同MAC协议的

8、局域网的互连。7.3.1 网桥图7-3 网桥1网桥的常用场合以太网以太网(相同网络,交换机)。以太网FDDI。以太网令牌环。以太网ATM网。 网桥比较简单,适合于不太复杂的局域网之间互连,工作在数据链路层,进行相似的网络间的帧的转发,实现MAC子层的连接。对于遵循IEEE 802标准的局域网来说网桥是透明的,它不需要对连接在这些LAN上的站点的通信软件进行修改。2网桥的特点(1)地址过滤 利用网桥互连的网络应当可以容纳不同数据链路层的编址格式(即各种MAC地址),因此,网桥应能够识别各种地址,并根据数据帧的宿地址,有选择地让数据帧穿越网桥。实际上,目前很多网桥产品都添加了各种过滤功能,允许用户

9、进行设置,以滤去不希望被转发的帧。(2)帧限制功能 网桥不对帧进行分段,只进行必要的帧格式转换,以适应不同的子网。超过信宿结点所在子网帧长限制的帧将被网桥丢弃,因此,当采用网桥支持不同LAN之间的互连时,更高层的协议应当保证被传送的信息长度的一致性。帧限制的另一方面是为了维护各个子网的独立性,不允许控制帧和要求应答的信息帧穿越网桥。(3)监控能力 网桥作为单个子网的一部分,参与对子网的监控和对信息帧的校验。网桥区别于转发器的关键之一是它具有“存储转发”的能力。存储有利于网桥对被转发的帧进行差错校验,网桥不应将有差错的帧转发到其他子网上。同一网络内的处理则根据该子网的约定。网桥的工作过程包括接收

10、帧、检查帧和转发帧三个部分。(4)缓冲能力 网桥应当具有一定的缓冲(存储转发)能力,可以解决穿越网桥的信息量临时超载的问题,即:网桥应当可以解决数据传输速率不匹配的子网之间的互连。事实上即使是速率相同的网络进行互连,这种缓冲能力也是必须的。(5)透明性 网桥的引入不应影响原有子网的通信能力,不应产生信宿结点无法检测的差错。无序性一个组织内部有许多不同的部门,由于各部门的工作性质不同,因此,可能选用了不同的局域网;当这些部门的局域网之间需要相互连接时,就可能需要网桥可靠性通过使用网桥,网络可以被分成一些自适应的实体,可以对网桥进行编程以决定接收到的内容是否转发性能考虑一般来说,LAN或MAN的性

11、能将随着连在其上的设备数量或媒体长度的增加而降低。将这些设备分别集中起来,使得在LAN内部的通信大大超过跨越LAN间的通信,这时采用多个更小的LAN往往可以获得更好的性能地理考虑一个组织在地理位置上较分散,无法将它们连在同一个局域网内,唯一的办法是将局域网分段,在各段之间放置网桥。通过使用网桥,可以增加工作的物理距离安全考虑建立多个LAN可以提供通信的安全性。可以把那些不同类型的具有不同安全性要求的信息分别在不同的分隔的物理媒体上传输。同时,具有不同安全级别的不同用户必须通过集中控制和监控机制来进行通信表7-3 网桥使用的原因3使用原因(如表7-3所示)图7-4 网桥的协议结构4网桥的协议结构

12、 IEEE 802.1定义了网桥的协议结构。图7-4给出了一种最简单的情况,两个局域网通过一个网桥连接。 网桥接收它所连接的每个局域网中的所有帧。连接k个不同局域网的网桥有k个相应的不同的MAC子层和物理层。 网桥的作用通过它的“过滤和转发”功能实现。当网桥接收到一个MAC帧时,检查该帧的源地址和目的地址,如果目的地址和源地址在同一网络中,则不对其进行转发,这起到了相应的“过滤”作用,从而实现了对网络的隔离。否则,根据它所保持的MAC地址表选择正确的网络来进行“转发”。5网桥的分类 (1)透明网桥 第一种802网桥是透明网桥(Transparent Bridge)或生成树网桥(Spanning

13、 Tree Bridge)。支持这种设计的人首要关心的是完全透明,按照他们的观点,装有多个LAN的单位在买回IEEE标准网桥之后,只需把连接插头插入网桥,就万事大吉。不需要改动硬件和软件,无需设置地址开关,无需装入路由表或参数,总之什么也不干,只须插入电缆就完事,现有LAN的运行完全不受网桥的任何影响。这真是不可思议,但他们最终成功了。 透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。当一帧到达时,网桥必须决定将其丢弃还是转发,如果要转发,则必须决定发往哪个LAN,这需要通过查询网桥中一张大型散列表里的目的地址而作出决定。该表可列出每个可能的目的地,以及它属于哪一条输出线路(L

14、AN)。在插入网桥之初,所有的散列表均为空,由于网桥不知道任何目的地的位置,因而采用扩散算法(flooding algorithm):把每个到来的、目的地不明的帧输出到连在此网桥的所有LAN中(除了发送该帧的LAN),随着时间的推移,网桥将了解每个目的地的位置。一旦知道了目的地位置,发往该处的帧就只放到适当的LAN上,而不再扩散发送。 透明网桥采用的算法是逆向学习法(Backward Learning)。网桥按混杂的方式工作,故它能看见所连接的任一LAN上传送的帧。查看源地址即可知道在哪个LAN上可访问哪台机器,于是在散列表中添上一项。 当计算机和网桥加电、断电或迁移时,网络的拓扑结构会随之改

15、变,为了处理动态拓扑问题,每当增加散列表项时,网桥均会在该项中注明帧的到达时间,当目的地已在表中的帧到达时,将以当前时间更新该项,这样,从表中每项的时间即可知道该机器最后帧到来的时间。网桥中有一个进程定期地扫描散列表,清除时间早于当前时间若干分钟的全部表项。于是,如果从LAN上取下一台计算机,并在别处重新连到LAN上的话,那么在几分钟内,它即可重新开始正常工作而无须人工干预。这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不扩散发送,一直到它自己发送出一帧为止。 到达帧的路由选择过程取决于发送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:如果源LAN和目

16、的LAN相同,则丢弃该帧。如果源LAN和目的LAN不同,则转发该帧。如果目的LAN未知,则进行扩散。 为了提高可靠性,有人在LAN之间设置了并行的两个或多个网桥,但是,这种配置引起了另外一些问题,因为在拓扑结构中产生了回路,可能引发无限循环。其解决方法就是下面要讲的生成树(Spanning Tree)算法。解决上面所说的无限循环问题的方法是让网桥相互通信,并用一棵到达每个LAN的生成树覆盖实际的拓扑结构。使用生成树,可以确保任意两个LAN之间只有唯一一条路径,一旦网桥商定好生成树,LAN间的所有传送都遵从此生成树。 由于从每个源到每个目的地只有唯一的路径,故不可能再有循环。为了建造生成树,首先

17、必须选出一个网桥作为生成树的根。实现的方法是每个网桥广播其序列号(该序列号由厂家设置并保证全球唯一),选序列号最小的网桥作为根。接着,按根到每个网桥的最短路径来构造生成树。如果某个网桥或LAN出现故障,则重新计算。 网桥通过BPDU(Bridge Protocol Data Unit)互相通信,在网桥做出配置自己的决定前,每个网桥和每个端口需要下列配置数据:网桥:网桥ID(唯一的标识)。端口:端口ID(唯一的标识)。端口相对优先权。各端口的花费(高带宽=低花费)。 配置好各个网桥后,网桥将根据配置参数自动确定生成树,这一过程有三个阶段:1)选择根网桥 具有最小网桥ID的网桥被选作根网桥。网桥I

18、D应为唯一的,但若两个网桥具有相同的最小ID,则MAC地址小的网桥被选作根。2)在其他所有网桥上选择根端口 除根网桥外的各个网桥需要选一个根端口,这应该是最适合与根网桥通信的端口。通过计算各个端口到根网桥的花费,取最小者作为根端口。 3)选择每个LAN的“指定(Designated)网桥”和“指定端口” 如果只有一个网桥连到某LAN,它必然是该LAN的指定网桥,如果多于一个,则到根网桥花费最小的被选为该LAN的指定网桥。 指定端口连接指定网桥和相应的LAN(如果这样的端口多于一个,则低优先权的被选),此端口必须为下列之一:根端口,某LAN的指定端口,阻塞端口。 (2)源路由选择网桥 透明网桥的

19、优点是易于安装,只需插进电缆即大功告成。但是从另一方面来说,这种网桥并没有最佳地利用带宽,因为它们仅仅用到了拓扑结构的一个子集(生成树)。这些因素的相对重要性导致了802委员会内部的分裂,支持CSMA/CD和令牌总线的人选择了透明网桥,而令牌环的支持者则偏爱一种称为源路由选择(Source Routing)的网桥(受到IBM的鼓励)。 源路由选择的核心思想是假定每个帧的发送者都知道接收者是否在同一LAN上。当发送一帧到另外的LAN时,源机器将目的地址的高位设置成1作为标记,另外,它还在帧头加进此帧应走的实际路径。 源路由选择网桥只关心那些目的地址高位为1的帧,当见到这样的帧时,它扫描帧头中的路

20、由,寻找发来此帧的那个LAN的编号,如果发来此帧的那个LAN编号后跟的是本网桥的编号,则将此帧转发到路由表中自己后面的那个LAN,如果该LAN编号后跟的不是本网桥,则不转发此帧。这一算法有3种可能的具体实现:软件、硬件、混合,这3种具体实现的价格和性能各不相同。第一种没有接口硬件开销,但需要速度很快的CPU处理所有到来的帧,最后一种实现需要特殊的VLSI芯片,该芯片分担了网桥的许多工作,因此,网桥可以采用速度较慢的CPU,或者可以连接更多的LAN。 源路由选择的前提是互联网中的每台机器都知道所有其他机器的最佳路径,获取路由算法的基本思想是:如果不知道目的地地址的位置,源机器就发布一广播帧,询问

21、它在哪里。每个网桥都转发该查找帧(Discovery Frame),这样该帧就可到达互联网中的每一个LAN。当答复回来时,途经的网桥将它们自己的标识记录在答复帧中,于是,广播帧的发送者就可以得到确切的路由,并可从中选取最佳路由。 虽然此算法可以找到最佳路由(它找到了所有的路由),但同时也面临着帧爆炸的问题。透明网桥也会发生类似的状况,但是没有这么严重,其扩散是按生成树进行,所以传送的总帧数是网络大小的线性函数,而不象源路由选择是指数函数。一旦主机找到至某目的地的一条路由,它就将其存入到高速缓冲器之中,无需再作查找。虽然这种方法大大遏制了帧爆炸,但它给所有的主机增加了事务性负担,而且整个算法肯定

22、是不透明的。(3)两种网桥的比较(如表7-4所示)特点透明网桥源路由选择网桥注解连接方式无连接面向连接透明性完全透明不透明透明网桥对主机来说是完全可见的,而且它与所有现在的802产品完全兼容。源路由选择网桥既不透明又不兼容。如果要用源路由选择网桥,主机必须知道桥接模式,必须主动地参与工作配置方式自动手工路由次优化优化源路由选择网桥的几个不多的优点之一是:从理论上讲,它可使用最佳路由,而透明网桥则只限于生成树,另外,源路由选择网桥还可以很好地利用网间的并行网桥来分散载荷。不过在实际中,网桥能否利用这些理论上的优点是令人怀疑的定位逆向学习发现帧逆向学习的缺点是:网桥必须一直等到碰巧有一特别的帧到来

23、,才能知道目的地在何处。查找帧的缺点是:在有并行网桥的大型互联网中,会发生指数级的帧爆炸失效处理由网桥处理由主机处理复杂性在网桥中在主机中由于主机数量通常比网桥大一两个数量级,因此,最好把额外的开销和复杂性放到少量的网桥中而不是全部的主机中表7-4 透明网桥和源路由网桥的比较透明网桥一般用于连接以太网段,而源路由选择网桥则一般用于连接令牌环网段。6远程网桥 网桥有时也被用来连接两个或多个相距较远的LAN。比如,某个公司分布在多个城市中,该公司在每个城市中均有一个本地的LAN,最理想的情况就是所有的LAN均连接起来,整个系统就像一个大型的LAN一样。 该目标可通过下述方法实现:每个LAN中均设置

24、一个网桥,并且用点到点的连接(比如租用电话公司的电话线)将它们两个两个地连接起来。点到点连线可采用各种不同的协议,办法之一就是选用某种标准的点到点数据链路协议,将完整的MAC帧加到有效载荷中,如果所有的LAN均相同,这种办法的效果最好,它的唯一问题就是必须将帧送到正确的LAN中;另一种办法是在源网桥中去掉MAC的头部和尾部,并把剩下的部分加到点到点协议的有效载荷中,然后在目的网桥中产生新的头部和尾部。它的缺点是到达目的主机的校验和并非是源主机所计算的校验和,因此网桥存储器中某位损坏所产生的错误可能不会被检测到。 在互联网日益发展的今天,是什么把网络相互联接起来?是路由器。路由器在互联网中扮演着

25、十分重要的角色,那么什么是路由器呢?通俗的来讲,路由器就是互联网的枢纽,网络中的“交通警察”。 路由器的定义是:用来实现路由选择功能的一种媒介系统设备。所谓路由就是指通过相互联接的网络把信息从源地点移动到目标地点的活动。一般来说,在路由过程中,信息至少会经过一个或多个中间节点。通常,人们会把路由和交换进行对比,这主要是因为在普通用户看来两者所实现的功能是完全一样的。其实,路由和交换之间的主要区别就是交换发生在OSI参考模型的第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换在移动信息的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。 路由器是互联网的

26、主要节点设备。路由器通过路由决定数据的转发。转发策略称为路由选择(Routing),这也是路由器名称的由来(Router,转发者)。作为不同网络之间互相连接的枢纽,路由器系统构成了基于TCP/IP的国际互联网络Internet的主体脉络,也可以说,路由器构成了Internet的骨架。它的处理速度是网络通信的主要瓶颈之一,它的可靠性则直接影响着网络互联的质量。因此,在园区网、地区网乃至整个Internet研究领域中,路由器技术始终处于核心地位,其发展历程和方向,成为整个Internet研究的一个缩影。7.3.2 路由器1路由器的作用 路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线

27、路。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。 从过滤网络流量的角度来看,路由器的作用与交换机和网桥非常相似,但是与工作在网络物理层,从物理上划分网段的交换机不同,路由器使用专门的软件协议从逻辑上对整个网络进行划分。因此,使用路由器转发和过滤数据的速度往往要比只查看数据包物理地址的交换机慢,但是,对于那些结构复杂的网络,使用路由器可以提高网络的整体效率。路由器的另外一个明显优势就是可以自动过滤网络广播。从总体上说,在网络中添加路由器的整个安装过程要比即插即用的交换机复杂很多。 一般说来,异种网络互联与多

28、个子网互联都应采用路由器来完成,路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据路径表(Routing Table),供路由选择时使用。路径表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路径表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。图7-5 静态路由的设置(1)静态(Static)路径表 由系统管理员事先设置好固定的路径表称之为静态路径表,一般是在系统安装

29、时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变,如图7-5所示。 源主机A若想和目的主机B通信,必须在路由器上添加路由。路由器1和LAN1、LAN2通过Ethernet接口直连,路由器1能够理解到达这两个网络的路径,故不需要路由,而到达LAN3需要路由。我们在路由器1上添加静态路由表项,Ip Route (想要到达的网络) (该网络的子网掩码) (到达目的网络需要经过的下一个路由器的地址)。这样源主机A的数据包就可以到达LAN3。同理,我们在路由器2上设置静态路由使目的主机B的数据包可以到达LAN1。Ip Route 。(2)动态(Dynamic)路径表 动态路径表是路由器

30、根据网络系统的运行情况而自动调整的路径表。路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,无需用户的操作,在需要时自动计算数据传输的最佳路径。在中小企业网中我们常用的是RIP协议。2路由器的结构 (1)路由器的体系结构 从体系结构上看,路由器可以分为第一代单总线单CPU结构路由器、第二代单总线主从CPU结构路由器、第三代单总线对称式多CPU结构路由器、第四代多总线多CPU结构路由器、第五代共享内存式结构路由器、第六代交叉开关体系结构路由器和基于集群系统的路由器等多类。 (2)路由器的构成 路由器具有四个要素:输入端口、输出端口、交换开关和路由处

31、理器。 输入端口是物理链路和输入包的进口处,通常由线卡提供,一块线卡一般支持4、8或16个端口,一个输入端口具有许多功能。第一个功能是进行数据链路层的封装和解封装;第二个功能是在转发表中查找输入包目的地址从而决定目的端口(称为路由查找),路由查找可以使用一般的硬件来实现,或者通过在每块线卡上嵌入一个微处理器来完成;第三,为了提供QoS(服务质量),端口要对收到的包分成几个预定义的服务级别;第四,端口可能需要运行诸如SLIP(串行线网际协议)和PPP(点对点协议)这样的数据链路级协议或者诸如PPTP(点对点隧道协议)这样的网络级协议。 一旦路由查找完成,必须用交换开关将包送到其输出端口,如果路由

32、器是输入端加队列的,则有几个输入端共享同一个交换开关,这样输入端口的最后一项功能是参加对公共资源(如交换开关)的仲裁协议。 交换开关可以使用多种不同的技术来实现,迄今为止使用最多的交换开关技术是总线、交叉开关和共享存贮器。最简单的开关使用一条总线来连接所有输入和输出端口,总线开关的缺点是其交换容量受限于总线的容量以及为共享总线仲裁所带来的额外开销。交叉开关通过开关提供多条数据通路,具有NN个交叉点的交叉开关可以被认为具有2N条总线,如果一个交叉闭合,输入总线上的数据在输出总线上可用,否则不可用,交叉点的闭合与打开由调度器来控制,因此,调度器限制了交换开关的速度。在共享存贮器路由器中,进来的包被

33、存贮在共享存贮器中,所交换的仅是包的指针,这提高了交换容量,但是,开关的速度受限于存贮器的存取速度,尽管存贮器容量每18个月能够翻一番,但存贮器的存取时间每年仅降低5%,这是共享存贮器交换开关的一个固有限制。 输出端口在包被发送到输出链路之前对包存贮,可以实现复杂的调度算法以支持优先级等要求,与输入端口一样,输出端口同样要能支持数据链路层的封装和解封装,以及许多较高级协议。 路由处理器计算线卡转发表实现路由协议,并运行对路由器进行配置和管理的软件,同时,它还处理那些目的地址不在线卡转发表中的包。3路由器的类型 互联网各种级别的网络中随处都可见到路由器。接入网中的路由器使得家庭和小型企业可以连接

34、到某个互联网服务提供商;企业网中的路由器连接一个校园或企业内成千上万的计算机;骨干网上的路由器终端系统通常是不能直接访问的,它们连接长距离骨干网上的ISP和企业网络。互联网的快速发展无论是对骨干网、企业网还是接入网都带来了不同的挑战。骨干网要求路由器能对少数链路进行高速路由转发。企业级路由器不但要求端口数目多、价格低廉,而且要求配置起来简单方便,并提供QoS。 (1)接入路由器 接入路由器连接家庭或ISP内的小型企业客户。接入路由器已经开始不只是提供SLIP或PPP连接,还支持诸如PPTP和IPSec等虚拟私有网络协议,这些协议要能在每个端口上运行。诸如ADSL等技术将很快提高各家庭的可用带宽

35、,这将进一步增加接入路由器的负担。由于这些趋势,接入路由器将来会支持许多异构和高速端口,并在各个端口能够运行多种协议,同时还要避开电话交换网。(2)企业级路由器 企业或校园级路由器连接许多终端系统,其主要目标是以尽量便宜的方法实现尽可能多的端点互联,并且进一步要求支持不同的服务质量。许多现有的企业网络都是由Hub或网桥连接起来的以太网段,尽管这些设备价格便宜、易于安装、无需配置,但是它们不支持服务等级,相反,有路由器参与的网络能够将机器分成多个碰撞域,并因此能够控制一个网络的大小。此外,路由器还支持一定的服务等级,至少允许分成多个优先级别,但是路由器的每端口造价要贵些,并且在能够使用之前要进行

36、大量的配置工作。因此,企业路由器的成败就在于是否提供大量端口且每端口的造价很低,是否容易配置,是否支持QoS,另外还要求企业级路由器有效地支持广播和组播,企业网络还要处理历史遗留的各种LAN技术,支持多种协议,包括IP、IPX和Vine。它们还要支持防火墙、包过滤以及大量的管理和安全策略以及VLAN。 (3)骨干级路由器 骨干级路由器实现企业级网络的互联。对它的要求是速度和可靠性,而代价则处于次要地位。硬件可靠性可以采用电话交换网中使用的技术,如热备份、双电源、双数据通路等来获得,这些技术对所有骨干路由器而言差不多是标准的。骨干IP路由器的主要性能瓶颈是在转发表中查找某个路由所耗的时间,当收到

37、一个包时,输入端口在转发表中查找该包的目的地址以确定其目的端口,当包越短或者当包要发往许多目的端口时,势必增加路由查找的代价,因此,将一些常访问的目的端口放到缓存中能够提高路由查找的效率。不管是输入缓冲还是输出缓冲路由器,都存在路由查找的瓶颈问题。除了性能瓶颈问题,路由器的稳定性也是一个常被忽视的问题。(4)太比特路由器 在未来核心互联网使用的三种主要技术中,光纤和DWDM都已经是很成熟的并且是现成的,如果没有与现有的光纤技术和DWDM技术提供的原始带宽对应的路由器,新的网络基础设施将无法从根本上得到性能的改善,因此开发高性能的骨干交换/路由器(太比特路由器)已经成为一项迫切的要求。太比特路由

38、器技术现在还主要处于开发实验阶段。 网关曾经是很容易理解的概念,在早期的因特网中,术语网关即指路由器。路由器是网络中超越本地网络的标记,这个走向未知的“大门”曾经、现在仍然用于计算路由并把分组数据转发到源始网络之外的部分,因此,它被认为是通向因特网的大门。随着时间的推移,路由器不再神奇,公共的基于IP的广域网的出现和成熟促进了路由器的成长。现在路由功能也能由主机和交换集线器来行使,网关不再是神秘的概念。现在,路由器变成了多功能的网络设备,它能将局域网分割成若干网段、互连私有广域网中相关的局域网以及将各广域网互连形成因特网,这样路由器就失去了原有的网关概念。然而术语网关仍然沿用了下来,它不断地应

39、用到多种不同的功能中,定义网关已经不再是件容易的事。 目前,主要有三种网关:协议网关。应用网关。安全网关。 唯一保留的通用意义是作为两个不同的域或系统间中介的网关,要克服的差异本质决定了需要的网关类型。7.3.3 网关 协议网关通常在使用不同协议的网络区域间做协议转换。这一转换过程可以发生在OSI参考模型的第2层、第3层或2、3层之间。这些网关通常是需要安装在连接到局域网的计算机上的便宜、单功能的电路板,这使其价格很低且很容易升级。2层协议网关提供局域网到局域网的转换,它们通常被称为翻译网桥而不是协议网关。在使用不同帧类型或时钟频率的局域网间互连可能就需要这种转换。 应用网关是在使用不同数据格

40、式间翻译数据的系统。典型的应用网关接收一种格式的输入,将之翻译,然后以新的格式发送。输入和输出接口可以是分立的也可以使用同一网络连接。 一种应用可以有多种应用网关。如e-mail可以以多种格式实现,提供e-mail的服务器可能需要与各种格式的邮件服务器交互,实现此功能唯一的方法是支持多个网关接口。 应用网关也可以用于将局域网客户机与外部数据源相连,这种网关为本地主机提供了与远程交互式应用的连接。将应用的逻辑和执行代码置于局域网中客户端避免了低带宽、高延迟的广域网的缺点,这就使得客户端的响应时间更短。应用网关将请求发送给相应的计算机,获取数据,如果需要就把数据格式转换成客户机所要求的格式。 安全

41、网关是各种技术的融合,具有重要且独特的保护作用,其范围从协议级过滤到十分复杂的应用级过滤。1协议网关2应用网关3安全网关网络互联的原因7.1网络互联分类7.2网络互联设备的工作原理7.3路由选择算法7.4目录Contents互联网路由选择7.5广域网相关技术7.6 前面我们简单学习了网络互联的概念,本节我们来学习当网络互联时数据报如何发送。网络通信时,当需要向非本计算机所属网络之外的计算机发送分组时,需要借助于中间节点,以存储转发的形式将分组传送到目的节点,而为了实现这一功能,必须使中间节点知道通信子网的拓扑结构,从而使中间节点选定合适的路径,路由选择算法可以实现这一功能。路由选择算法是网络层

42、软件的一部分,负责确定所收到分组应传送的外出路线。不管如何选择分组路由,理想的路由选择算法都该具有下列特点:算法的正确性(Correctness)。在这里,正确性的含义是指沿着各节点中路由表所指引的路由,分组一定能够最终到达目的计算机所在的那个节点。算法的简单性(Simplicity)。简单性是指在每个节点上进行的路由计算量应该尽可能少,不应给节点造成过重的处理负担。算法的健壮性(Robustness)。这要求算法具有自适应能力,当某些节点或链路发生故障时,算法也能相应地改变路由,不会造成整个网络的瘫痪。算法的稳定性(Stability)。在网络通信量和网络拓扑相对稳定的情况下,算法应收敛于一

43、个可以接受的路由器,而且要求流量均匀分布,不应产生过多的变化。算法的公平性(Fairness)。要求算法对所有用户,在同一优先级下都是平等的。算法的最佳性(Optimality)。获取路由的费用应该尽可能低。算法的正确性(Correctness)。在这里,正确性的含义是指沿着各节点中路由表所指引的路由,分组一定能够最终到达目的计算机所在的那个节点。 一个实际的路由选择算法,应尽可能接近于理想的要求,但是由于这些要求本身存在相互矛盾(例如,算法的公平性和稳定性),不可能同时满足,因此一个实际的算法往往是折衷方案。 路由选择算法可以分为两大类:非自适应的和自适应的。非自适应算法不用测量也无须利用网

44、络信息,这种策略按某种固定规则进行路由选择,在网络启动时就下载到路由器中。这一过程有时称作静态路由选择。其中还可分为泛射路由选择、固定路由选择和随机路由选择三种算法。 (1)泛射路由选择法 这是一种最简单的路由算法。一个网络节点从某条线路收到一个分组后,再向除该条线路外的所有线路重复发送收到的分组。结果,最先到达目的节点的一个或若干个分组肯定经过了最短的路线,而且所有可能的路径都被同时尝试过。 (2)固定路由选择 这是一种使用较多的简单算法。每个网络节点存储一张表格,表格中每一项记录对应着某个目的节点或链路。当一个分组到达某节点时,该节点只要根据分组的地址信息便按照人为的、固定的路由表中查出对

45、应的目的节点及所应选择的下一节点。 固定路由选择的优点是简便易行,在负载稳定,拓扑结构变化不大的网络中运行效果很好。它的缺点是灵活性差,无法应付网络中发生的阻塞和故障。 (3)随机路由选择 在这种方法中,收到分组的节点,在所有与之相邻的节点中为分组随机选择一个出路节点。方法虽然简单,也较可靠,但实际路由不是最佳路由,增加了不必要的负担,而且分组传输延迟也不可预测,故此法应用不广。 与非自适应算法相反,自适应算法根据网络拓扑结构和通信量的变化来改变路由选择,在这类路由算法中,节点仅根据自己搜到的有关信息作出路由选择的决定,与其他节点交换路由选择信息,虽然不能正确确定距离本节点较远的路由选择,但还

46、是能较好地适应网络流量和拓扑结构的变化,因此,现代计算机网络通常使用自适应算法,而不是非自适应算法。以下几节我们将讨论各种动态路由选择算法。 距离矢量路由算法属于自适应路由算法,它是让每一个路由器维护一张表,表中给出了到每个目的地已知的最佳距离和路线。通过与相邻路由器交换信息来更新自己路由器中的路由向量表,该表能够提供当时通往各目的节点的最佳选径通道和距离信息。它最初用于ARPANET路由选择算法,还用于因特网和早期版本的DECnet以及Novell的IPX中,其名字为RIP。7.4.1 距离矢量协议(Distance Vector Routing)1工作原理 在距离矢量路由选择算法中,每个路

47、由器维持一张以子网中其他路由器为索引的路由选择表,表中的每一个项目都对应于子网中的路由器,此表项中有两部分,即希望使用的到目的地的输出线路和估计到达目的地所需的时间或距离,所用度量标准可以是站点,估计的时间延迟,以及估计的在该路由排队的分组总数或类似的值。2距离矢量路由选择算法的缺点 距离矢量路由选择算法的缺点是收敛较慢,路由变化的消息不能很快传播到所有节点,尤其是链路或节点发生故障后,需要经过很长时间才能被发现,致使节点在一个较长的时间里使用不正确的路由信息,这从以下的例子可以清楚地看到。 在图中的例子中,用站段数来计量距离,并假定所有的节点都在同一时刻发送距离矢量。假设在起始时,A不工作或

48、A-B之间的链路失效,则B,C,D都发现A不可到达,于是在路由表中到A的距离都标为。某个时刻A恢复工作或链路故障排除,B很快获知A就是它的相邻节点,于是将路由表中到A的距离改为1,并在下一次发送距离矢量时将该消息传播给C。C在收到新的距离矢量前并不知道A可达,仍将A不可达的消息发送给D。当C收到B的距离矢量后,将到A的距离改为2,并在下一次发送距离矢量时将该消息发送给D。D在收到C的距离矢量后才知道A可达,将到A的距离改为3。由此可见,A可达的消息只能一次一个站段地向远处传播,如图7-6(a)所示。图7-6 无穷计算问题 假如起始时所有节点和链路工作正常,则B,C,D的路由表中到A的距离分别标

49、为1,2,3。某个时刻A或A-B之间的链路出现故障,在交换距离矢量时,B收不到A的距离矢量,但从C的距离矢量中得知它可通过C到达A,距离为3,于是将到A的输出线路改为C;C和D仍收到过时的路由信息,因而路由表不变。在下一次交换距离矢量时,由于C路由表末变,因而B和D的路由表也不变,但C从B和D的距离矢量中发现它可以通过其中的任何一个到达A,距离为4,于是修改路由表。如此,谁都以为可以通过相邻节点到达A,却不知这些路由已经形成了回路,这种现象在路由表中的表现,就是各站距A的距离在逐渐增大,趋向无穷,如图7-6(b)所示。 在实际的使用过程中,可以通过设置距离的最大值来扼制这种无限的增长,比如将距

50、离的最大值设置成网络最长路由加1,一旦距离超过最大值,即知该节点不可达。但使用延迟时间来计量距离时,要设置合适的最大延迟时间是很困难的 一直到1979年,ARPANET使用的都是距离矢量路由选择,之后便由链路状态路由选择所代替。有两个缺点导致了距离矢量路由选择算法的消亡,首先,因为延迟度量是队列长度,在选择路由时,并没有将线路的带宽考虑进去,早期,所有的线路都是56Kb/s,因此线路带宽并不是考虑的问题,但是随着线路升级到230Kb/s,甚至1.544Mb/s后,带宽因素成为了一个问题;其次,算法要求每个路由器维持一张以子网中其他路由器为索引的表,因此往往耗去过多的时间用于记录信息。所以,距离

51、矢量路由选择算法被链路状态路由选择算法所淘汰,目前被广泛使用的一些路由算法都是它的变形。 7.4.2 链路状态路由选择(LinkStateRouting)1算法的基本思想 链路状态路由选择算法的基本思想是,通过各个节点之间的路由信息交换,每个节点可获得关于全网的拓扑信息,得知网中所有的节点、各节点间的链路连接和各条链路的代价(时延、费用等),将这些拓扑信息抽象成一张图,然后利用最短通路路由选择算法计算出到各个目的节点的最短通路。 链路状态路由选择算法分为如下5个部分:找出所有可达的相邻节点及它们的网络地址。确定到这些相邻节点的代价。 将以上信息构造成链路状态分组。向网上所有节点发送链路状态分组

52、。利用收到的链路状态分组计算到各目的节点的最短通路。2算法的实施过程 (1)了解相邻节点 当一个节点启动后,它的第一个任务就是感知它的每一个邻居分别是谁。它通过在每一条点到点的链路上发送一个特殊的HELLO报文来达到这个目的。它期望链路另一端的节点发送一个应答报文告诉它自己是谁。 (2)确定链路代价 链路状态路由选择算法要求每个节点能知道或估算出与之相连的每条链路的代价。假如是以延迟时间作为代价,那么最直接的方法就是由节点在链路上发送一个特殊的回声分组(ECHO),链路另一端的节点收到后以最快的速度返回,发送节点将回声分组的来回时间除以2即得到该链路的延迟时间。为了得到更精确的结果,可以连续发

53、送多个回声分组,取几次结果的平均值作为链路的延迟时间。 (3)构造链路状态分组 一旦确定了各个相邻节点的地址及各条链路的代价,就可以开始构造链路状态分组。每个链路状态分组包括源节点的网络地址、分组的序列号和寿命,然后是一系列相邻节点的网络地址和去往该节点的链路代价。图7-7左图是一个子网的拓扑结构,图中各条边的权即是相应链路的代价,各个节点中形成的链路状态分组如图7-7右图所示。图7-7 子网和该子网的链接状态分组 构造链路状态分组并不困难,困难的是决定何时产生这样的分组,既要能及时反映网络拓扑的改变,又不过分增加网络的负担。一般可以有两种方法,一种方法是定期地产生链路状态分组;另一种方法是在

54、探测到网络连接或链路代价改变之后,才产生链路状态分组。 (4)发送链路状态分组 为了保证链路状态分组能被网上所有节点接收到,我们采用了最可靠的扩散法进行发送,每当节点接收到一个链路状态分组,就将其复制多份,然后在除分组到来线路以外的所有线路上转发出去。这种方法的好处是可靠性高,只要目的节点是可达的,分组就一定能送到目的节点;其缺点是网络中分组数目激增,一些过时的分组由于重复转发,在网中周游时间太长,不能很快消除。 为了抑制分组的过度增生,及时清除过时分组,保证节点使用最新的链路状态分组进行路由计算,每个分组在发送时都规定了一个分组序号,这个分组序号来自于每个节点内部维护的发送序号,每发送一个新

55、的链路状态分组,发送序号就加1。 另外,每个节点还维护一个“源节点地址,分组序号”表,表中记录从每一个源节点收到的链路状态分组的最大序号(即从该源节点发来的最新分组)。每当收到一个链路状态分组,节点即取出其源地址和序号,查询“源节点地址,分组序号”表,如果序号小于该源节点的最大序号,表明这是一个过时分组,将其丢弃;如果序号等于该源节点的最大序号,表明该分组已被接收过,不予转发;如果序号大于该源节点的最大序号或这是一个新的源节点,则表明这是一个最新的分组,将其接收下来,并修改查询表的记录,并采用扩散法将分组转发出去。 分组序号的长度对算法的性能有一定的影响,比如当序号达到最大值时,下一次又会从0

56、开始,但这个分组的序号小于所有老分组的序号,会被节点认为是过时分组而丢弃。为解决这个问题,分组序号的长度取为32比特,这样,即使每隔一秒钟发送一个链路状态分组,也要经过137年才能使序号达到最大值,因而序号长度的影响可以忽略不计。 分组光有序号还是不够的。比如当某个节点崩溃时,其维护的发送序号同时丢失,当它再一次启动时,序号只能从0开始,这时它发送的分组将因序号小于崩溃前的序号而被其他节点丢弃。另一种情况是分组序号在传输的过程中出错,如序号4的分组出错后序号成了65540,此后所有序号从565540的分组都将被认为过时而丢弃。 出现这些问题的原因是过时的或错误的分组没有被及时清除,一直存在于网

57、中而影响了后继分组的正常接收,解决的办法是给每个分组规定一个寿命,这样,即使一些分组没有经上述的正常渠道被清除掉,也会因为寿命结束而被各节点抛弃。一个分组无论是在节点的接收缓冲区中,还是在发送队列中等待转发,其寿命总是每隔1秒钟减1,当分组寿命减为0时,该分组就被抛弃。分组规定了寿命后,以上的问题就迎刃而解了。 当某个节点崩溃后,经过一段时间,它发送出去的分组全都因寿命结束而被丢弃,网络中不再有任何以前的记录,当它重新启动时,它发送出去的分组就成为最新分组而被接收和转发。在另一种情况下,当序号4出错为65540时,尽管其后若干个分组可能被丢弃,但当序号为65540的分组寿命结束后,其后的分组就

58、都能被正常接收了。 该算法还有一些改进的方案,目的都是为了保证高效可靠地发送链路状态分组,这也是链路状态路由选择算法中最困难的部分。 (5)计算新的路由 一旦某个节点收集齐了所有的链路状态分组后,就可以开始构造反映网络拓扑的带权图。在这里,每条链路的状态都出现了两次(分别由它的两个端点报告),可以取两个值的平均作为该链路的代价,这样构成的是无向图;也可以将它们视作两个方向上的代价,这样构成的是有向图。图构成后,就可以使用最短通路路由选择算法(如Dijkstra法)计算出到各个目的节点的最短通路,然后更新路由表。至此一次路由选择过程结束。 在链路状态路由选择算法中,每个节点只发布与它直接相连的链

59、路的状态,这些状态是由发送节点亲自探测或验证的,因而可靠性极高;另外,每个节点在计算路由时,依据的是全网的拓扑信息而不是网络局部的信息,这样计算出来的路由无疑就是当前的最佳路由。这种路由算法的缺点是需要较大的存储空间存放所有节点发来的链路状态分组,路由计算时间也比较长,当网络规模很大时,这些问题变得很突出。但不管怎样,链路状态路由选择算法在实际的网络中运行得很好,使用也非常广泛,比如在Internet的许多骨干网中、在ISO的面向无连接的网络层中使用的都是这种算法,Novell Netware对它稍作修改后也用于IPX分组的路由选择。 网络互联的原因7.1网络互联分类7.2网络互联设备的工作原

60、理7.3路由选择算法7.4目录Contents互联网路由选择7.5广域网相关技术7.6 前面我们学习了在一个子网内的路由选择,本节我们来探讨一下互联网路由选择。随着网络的增大,路由器选择表也会成比例增大,增大的表格不仅会占用路由器的内存,而且需要更多的CPU时间扫描表格,以及更大的带宽来发送关于表格的状态报告。而在互联网上,网络已经增大到不可能让每一个路由器都给出至其他每一个路由器的路径表项。因此,就像在电话网络中一样,不得不进行分级路由选择。 采用分级路由选择时,将路由器划分为区域,每个路由器知道在自己的区域内怎样选择路由,将分组送到目的端的全部细节,但并不知道其他区域的内部结构。当不同网络

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论