收藏 分享(赏)

01-IP路由器.ppt

上传人:fmgc7290 文档编号:9189262 上传时间:2019-07-29 格式:PPT 页数:81 大小:8.16MB
下载 相关 举报
01-IP路由器.ppt_第1页
第1页 / 共81页
01-IP路由器.ppt_第2页
第2页 / 共81页
01-IP路由器.ppt_第3页
第3页 / 共81页
01-IP路由器.ppt_第4页
第4页 / 共81页
01-IP路由器.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

1、中科院计算所 计算机网络课程,第1单元 IP 路由器,2011秋博士班 上课时间:星期一晚 6:30-9:30 上课地点:计算所大楼436,2011年9月19日,授课教师:鲁士文(CAS/ICT),2,第1单元IP 路由器,1.1 基本概念 1.2 IP路由器的体系结构1.2. 1 集中式总线结构1.2. 2 分布式总线结构 1.2. 3 分布式交叉开关结构 1.3 路由器的基本结构单元1.3.1 网络接口模块1.3.2 转发引擎1.3.3 硬件交换器1.3.4 路由处理器 1.4 转发过程1.4.1 慢速通路交换1.4.2 快速通路交换,2011年9月19日,授课教师:鲁士文(CAS/ICT

2、),3,第1单元 IP 路由器,路由器是计算机网络的核心设备,主要完成路由(Routing)和转发(Forwarding)的任务。此外,由于应用领域的多样性和应用环境的复杂性,在很多情况下,路由器还要完成一些控制与管理的功能,如安全、策略、计费等。 在计算机网络中,路由器是一个中间系统(IS: Intermediate System),具有两个或更多的网络接口卡,支持对多个局域网或广域网链路的连接。它从一个网络接口接收分组,并把分组转发到一个适当的输出网络接口。它剥离接收的分组的链路层协议头,然后在分组被转发之前,又给分组加上一个新的链路层协议头。,2011年9月19日,授课教师:鲁士文(CA

3、S/ICT),4,1.1 基本概念,路由器使用在网络层分组头中的信息决定是否要转发接收到的分组,以及使用哪个网络接口卡发送分组。在路由器中的路由表类似于桥接器和局域网交换机使用的过滤和转发表,但在路由表中列出的不是链路硬件地址,而是网络层地址。路由表项把网络层目的地址与到达那个目的地需要使用的适当的网络接口相关联。 路由器之间也需要互相通信来更新它们的路由表,以适应网络拓扑和状态的动态变化。路由更新报文可以包含一个路由器整个的路由表,也可以只包含它所能够获悉的部分网络信息,这跟路由器使用的路由协议紧密相关。通过执行路由协议,在路由器之间定期地或不定期地交换路由信息,就使得路由器总是能够使用当前

4、最佳的路径完成分组转发任务。,授课教师:鲁士文(CAS/ICT),5,1.1 基本概念,桥接器的设计目标是局域网互连,路由器的功能则不限于此,例如,它也可以把两个或更多的广域网互连在一起。另外,仅就局域网互连而言,在使用桥接器连接的网络和使用路由器连接的网络之间也有着显著的差别。 桥接器使用48位的MAC地址,并作为一种机制把该地址跟桥的端口相关联,以确定在一个端口上接收到的帧应该被忽略,还是应该被转发到另一个端口,或者被洪泛到除接收端口之外的所有端口。在数据链路层没有把桥接器连接的一个网络跟它连接的另一个网络互相区别的机制。事实上,使用桥接器连接的各个网段或工作站被看成在逻辑上是属于同一个网

5、络。特别地,在一个划分子网的IP网络中,由桥接器连接的多个网段仍然是在一个子网的范围内。因此,在桥接器连接的网络之间投递帧需要桥接器获悉各个网段上连接的设备的MAC地址,并基于这些地址做帧的转发决定。,2011年9月19日,5,授课教师:鲁士文(CAS/ICT),授课教师:鲁士文(CAS/ICT),6,1.1 基本概念,虽然对于较少数量的网络的互连,桥接是一种可以接受的技术,但当互连的网络的数量增加时,以及在互连的网络中工作站的数量增加时,桥接器将花费相当数量的时间来清除旧的表项和洪泛帧,从而引起不可接受的性能问题。这正是促进路由器开发工作的动力之一,由于路由器工作在网络层,它可以阻止帧在网络

6、之间的洪泛。 在一个网络上的每个设备都可以有一个具有唯一性的网络地址,并让地址的一部分表示网络,其余部分表示该网络上具体的主机或路由器接口。这就允许主机和路由器可以仅仅根据地址的网络号部分做路由选择的决定。 在网络层操作的能力使得路由器能够以一种有序的和预先定义的方式把互连网络扩展到跨越多个数据链路。路由器能够选择从一个源网络通过一系列数据链路前往一个目的地网络的最好通路。,2011年9月19日,6,授课教师:鲁士文(CAS/ICT),2011年9月19日,授课教师:鲁士文(CAS/ICT),7,1.1 基本概念,在现实中,大多数路由器都是依赖于网络协议的,它们必须能够执行源网络和目的地网络都

7、遵从的网络层协议,而且只能转发它们可以支持的网络层协议的数据单元。这类网络协议的例子有互联网协议(IP)、数据装备公司的DECnet以及Novell公司的IPX等。 相比之下,由于桥接器工作在数据链路层,它们可以用数据链路层的帧传送多种不同的网络层协议分组,例如,同一个以太网桥接器可以传送NETBEUI分组,同时也可以传送IP分组和Novell的IPX分组。也就是说,桥接器是独立于网络层协议的。不过,桥接器仅适合链接具有一个或几个通路的网络,而路由器则可以有效地互连具有许多个通路的许多个网络。,2011年9月19日,授课教师:鲁士文(CAS/ICT),8,1.1 基本概念,桥接器必须监视在MA

8、C层所有的帧(确定是否转发和如何转发),而路由器是一个在网络层可寻址的设备,它只需察看明确地发送给它的帧。在通信技术中,对所有帧的监视被称作一种不加区别的操作方式,同时把对帧的有选择的检查称作一种有针对性的操作方式。 在桥接器操作和路由器操作之间的另一个差别是它们所操作的地址的结构。桥接器运行在数据链路层,它们检查物理地址,这些物理地址包含在适配卡的只读存储器中,并且被用于帧的生成。相比之下,路由器运行在网络层,通常由网络管理员给具有一个共同特征的一组工作站分配地址,例如,连接到一个建筑物内同一个以太网的所有设备。这种类型的地址被称为逻辑地址,可以由网络管理员分配和修改。,2011年9月19日

9、,授课教师:鲁士文(CAS/ICT),9,1.1 基本概念,跟桥接器类似,路由器也使用表做转发决定。桥接器采用简单的表查询过程确定一个目的地址是否在一个特别的网络上,而路由器可以采用复杂的标准来做转发决定。例如,一个路由器可以被配制成依靠一个算法分析多个通路,并根据该算法(例如负载均衡)执行的结果动态地选择一个通路。 跟使用桥接器相比,使用路由器有许多优点。为了说明这些优点,我们将考察在下面的插图中示出的使用路由器的网络配置。在该示例中,公司的4个办公场点包含7个局域网,这些局域网通过路由器互连,其中,网络A和B位于北京的一个建筑物内,网络C和D位于天津,网络E位于南京,网络F和G位于上海。,

10、授课教师:鲁士文(CAS/ICT),10,1.1 基本概念,2011年9月19日,10,授课教师:鲁士文(CAS/ICT),1.1 基本概念,(1)多条通路传输和路由控制假定在北京的网络A上的一个站需要给在上海的网络G上的一个站传输。开始,路由器R1可能使用通路R1-R4在网络之间传输数据。如果该通路失效,或者在北京和上海之间使用那条通路的交通量较大,那么路由器R1可以设法建立其他的通路,例如R1-R3-R4,甚至R1-R2-R3-R4。事实上,许多路由器都把每个分组看成是一个单独的实体,把分组在当时看来是最好的通路上传输到它的目的地。虽然这可能引起到达目的地的分组失序,但依赖诸如TCP这样的

11、高层协议,目的地主机可以把从一个源发送给它的分组流恢复成原来的顺序再递交给用户。,2011年9月19日,11,授课教师:鲁士文(CAS/ICT),1.1 基本概念,(2)拥塞控制当数据在网络中通过多条通路向目的地流动时,有可能使一条链路变得拥挤。例如,在上图中来自于网络C和网络E被路由到网络G的数据可能使通路R3-R4拥塞。为了减少分组丢失的可能性,路由器可以使用拥塞控制机制,禁止再向一条已经或即将变得拥塞的链路(例如示例中的R3-R4)传输分组。直接感知到拥塞的路由器可以在经过它的分组中填写适当的标志,把所发生的拥塞状态告诉分组的接收方或发送方,促使分组的发送方暂停发送分组或放慢向网络发送分

12、组的速度。,2011年9月19日,12,授课教师:鲁士文(CAS/ICT),1.1 基本概念,(2)拥塞控制(续)源发方主机在接到通告后可直接采取上述消除拥塞的措施,接收方在接到通告后也可以采取适当的措施,促使分组的发送方暂停发送分组或放慢向网络发送分组的速度。例如,在TCP/IP网络中,接收方可以让TCP暂停对接收到的报文段的应答或减少流控窗口的尺寸,从而可间接地达到拥塞控制的目的。感知拥塞的路由器还可以发送路由更新报文,把它所连接的链路的拥塞状态告知其他的路由器,增加该链路的代价,从而让它们都更新路由表,减少选择通过该链路的通路的可能性。在拥塞被消除以后,该路由器可以再次发送路由更新报文,

13、把相关链路的代价恢复到正常值,从而使得各个路由器还跟以前一样,可以较多地选择经过该链路的通路。,2011年9月19日,13,授课教师:鲁士文(CAS/ICT),1.1 基本概念,(3)分组分割当在具有不同的最大帧长的网络之间传输数据时,桥接器不能够把长帧分割成多个较短的帧。这种情况要求工作站被配置成使用桥接器所连接的所有网络中最小的最大帧长。相比之下,路由器所支持的大多数网络协议(例如IP)都提供必要时可以在途中分割分组、到目的地再重组和恢复分组的机制。 (4)把广播限制在本地范围桥接器把MAC层广播帧从一个网络传输到它连接的其他网络。相比之下,路由器通常都不会把在它所连接的一个网络内的网络层

14、广播分组(例如IP广播分组)转发到它所连接的其他网络,即它把广播限定在本地网络的范围之内。,2011年9月19日,14,授课教师:鲁士文(CAS/ICT),1.1 基本概念,(5)硬件配置大多数的桥接器或局域网交换机都是配置大量的LAN接口和少量的WAN接口,而路由器则不必配置那么多的LAN接口,而且可以支持广泛得多的种类的接口,例如,10BASE-T, 100BASE-T,Token-Ring,千兆位和万兆位以太网,FDDI,以及拨号Modem,T1,E1,X.25,ISDN, SONET/SDH,ATM,帧中继和HSSI(High Speed Serial Interface,高速串口)等

15、。 然而,路由器所执行的比桥接器更为高级的功能不是没有代价的。这些代价主要包括分组处理、软件复杂性和设备价格。一般说来,路由器处理分组的能力只有桥接器处理帧的能力的二分之一到三分之二。此外,编写执行比较复杂的功能的程序所需要的人力和时间增加了路由器的成本。因此,一般说来路由器的价格要比桥接器昂贵。,2011年9月19日,15,授课教师:鲁士文(CAS/ICT),1.1 基本概念,综上所述,桥接器适合于连接同类协议的网络,通过把多个网段互连来形成一个比较大的网络。相比之下,路由器可以提供更大的可扩展性,可以用它们建立等级式网络结构,满足把广播限制在网络的局部范围、提供多条可替代路由和具有多条不同

16、的WAN连接等需求。,2011年9月19日,16,授课教师:鲁士文(CAS/ICT),2011年9月19日,授课教师:鲁士文(CAS/ICT),17,1.1 基本概念,路由器支持的最普遍的网络层协议是IP(Internet Protocol)。每个IP网络都有一个明确的网络地址,用一个32位地址中的开头若干位表示;在该网络上的每个接口都有一个具有唯一性的主机地址,用32位地址中除了网络号之外的其余部分表示。,2011年9月19日,授课教师:鲁士文(CAS/ICT),18,1.1 基本概念,为了说明路由器是怎样支持IP的,让我们先看一看主机是怎样使用路由器的服务的。当一个主机有分组要发送时,它首

17、先要确定目的地IP地址是在本地网络上,还是在一个远程网络上,如果是后者就需要使用路由器的服务。为此,主机使用在其配置中设立的子网掩码(subnet mask)确定目的地址是否在本地网络上。例如,假定子网掩码是255.255.255.128,那么表明,在该子网的IP地址中,开头25位表示子网号,后7位表示主机号。如果再假定基础网络IP地址是193.56.45.0/24,那么该网络被划分成两个子网,其子网号分别是193.56.45.0/25和193.56.45.128/25。,授课教师:鲁士文(CAS/ICT),19,1.1 基本概念,如果更直观地用二进制表示,那么基础网络、两个子网和子网掩码就变

18、成:基础网络:11000001.00111000.00101101.00000000 = 193.56.45.0子网0: 11000001.00111000.00101101.00000000 = 193.56.45.0子网1: 11000001.00111000.00101101.10000000 = 193.56.45.128子网掩码: 11111111.11111111.11111111.10000000 = 255.255.255.128 现在假定具有IP地址193.56.45.2的主机需要把一个分组发送到具有IP地址193.56.45.131的主机。通过使用上述子网掩码,发送主机注意

19、到,目的地主机虽然在同一个C类网络(一个公司网络)上,但位于一个不同的子网。因此,就跟目的地主机在一个不同的网络上一样,该发送主机请求使用路由器的服务。,2011年9月19日,19,授课教师:鲁士文(CAS/ICT),1.1 基本概念,下面的图示出了对于从一个网络划分的子网的外部和内部的视野。注意,从位于网络193.56.45.0/24的外部的路由器向连接上述两个子网的公司路由器转发IP分组时,它们感觉不到子网的存在,因为通常在外部路由器上只有关于网络193.56.45.0/24的一个表项。在发给基础网络上的一个子网的一个主机的IP分组到达公司路由器后,公司路由器具有更详细的路由表,它使用子网

20、掩码区分具有某个IP地址的主机位于哪个子网。从公司网络的内部看,源于一个子网的分组必须使用路由器的服务才能到达在另一个子网上的主机,源于外部网络的分组也必须使用公司路由器的服务才能到达位于公司内的某个子网上的主机。,2011年9月19日,20,授课教师:鲁士文(CAS/ICT),1.1 基本概念,2011年9月19日,21,授课教师:鲁士文(CAS/ICT),1.1 基本概念,一旦发送主机注意到目的IP地址在一个不同的子网或不同的网络上,那么它就必须使用一个路由器的服务。虽然每个主机都登记了路由器的IP地址,但主机将通过数据链路层传输分组,因此需要知道连接它所在的网段的路由器端口的48位MAC

21、地址。 在IP和MAC地址之间的翻译是通过使用地址解析协议(ARP: Address Resolution Protocol)完成的。为了得到路由器的LAN接口的MAC地址,主机将广播一个ARP请求报文。这个请求报文将被在网段上的所有站接收,路由器注意到查询的是跟自己的IP地址对应的MAC地址,就通过发送一个ARP响应报文进行应答。,2011年9月19日,22,授课教师:鲁士文(CAS/ICT),1.1 基本概念,由于连续不断地使用ARP会消耗掉很多的网络带宽,主机通常是把ARP请求的结果保存在缓冲存储器中。因此,一旦一个IP地址和一个MAC地址之间的对应关系被获悉,随后发送更多的分组到同一目

22、的地的地址翻译可以通过查询它的缓冲存储器完成。 当发给在一个子网上的主机的分组到达公司路由器时会发生类似的过程。也就是说,路由器必须得到对应目的地主机的IP地址的MAC地址。因此,除了能够把分组从其一个端口转发到另一个端口外,路由器还必须支持ARP协议。,2011年9月19日,23,授课教师:鲁士文(CAS/ICT),2011年9月19日,授课教师:鲁士文(CAS/ICT),24,1.2 IP路由器的体系结构,路由器本身也是由一台计算机构成,专门提供网络互联服务,并且至少有两个网络接口卡,支持IP协议。路由器从每个网络接口接收IP分组,并把接收到的IP分组转发到一个适当的输出网络接口。为此,它

23、把在一条链路上接收到的分组的链路层的头剥离,并在转发之前加上一个新的链路协议头。 路由器使用在IP分组头中的信息决定是否要转发接收的分组,以及使用哪个网络接口转发分组。大多数分组都是根据它的目的IP地址以及保存在路由器的路由表中的路由信息来转发分组。路由表中的表项把目的地IP网络跟到达那个网络的适当的网络接口相关联。,2011年9月19日,授课教师:鲁士文(CAS/ICT),25,1.2 IP路由器的体系结构,在边缘网络中,网络管理人员还可以为在路由表中没有明确定义的所有目的地址指定一个缺省表项。 在一个分组被转发之前,路由器检查已经被确定的输出接口的最大传输单元(MTU: Maximum T

24、ransfer Unit)。路由器必须把大于接口的MTU的分组分割成两个或更多的较小的分组。如果接收到的分组大于接口的MTU,同时该分组头中的DF(Do not Fragment, 不许分割)位又被置1了,那么路由器就把该分组丢弃。在这种情况下,路由器需要给该分组的源发方发送一个错误报告报文,并告知该输出接口的MTU值。,2011年9月19日,授课教师:鲁士文(CAS/ICT),26,1.2 IP路由器的体系结构,路由器根据子网掩码或网络前缀把IP分组从一个物理网络转发到另一个物理网络,直到分组到达最终的目的地为止。但有一个例外,那就是路由器在一般情况下都不会转发其目的地址是广播地址的分组。因

25、为广播分组会严重地影响网络的性能,所以常规的路由器在接收到这样的分组时总是将其丢弃。 路由器还可以使用一个过滤表阻止对一个目的网络或主机的访问。过滤表的作用是用来决定是否允许一个远程计算机访问路由器所连接的一个特定的网络或该网络上的一个特定的主机、协议和应用,从而路由器可以根据该表中的信息拒绝非授权的用户对网络资源的使用和防止恶意用户对正常的网络运营和用户服务的破坏活动。,2011年9月19日,授课教师:鲁士文(CAS/ICT),27,1.2 IP路由器的体系结构,路由器通常是把使用不同类型的链路的网络连接在一起,例如,使用HDLC链路把一个以太局域网连接到一个广域网。不同类型的网络具有不同的

26、最大传输单元(MTU,the maximum transmission unit ),因此路由器可能要使用IP协议把分组分割成适合在下一跳段上传输的适当的长度。 路由器还需要使用跟IP相关的协议执行网络错误报告(ICMP),跟其他路由器通信以确定到达每个目的地的适当路径(路由协议),以及支持网控中心对网络运行的远程监视(网络管理)。,2011年9月19日,授课教师:鲁士文(CAS/ICT),28,1.2 IP路由器的体系结构,实际上,就所运行的程序而言,路由器的软件系统大致可以划分为几个子系统:路由协议子系统、转发子系统、支撑子系统,安全子系统、管理子系统等。 路由协议子系统主要负责路由协议的

27、运行和路由表的维护。支持的路由协议通常有RIP、OSPF、BGP等。在分布式路由器系统中,路由协议通常运行在控制板上,但是,每个线卡都要独立完成一部分转发操作,需要分布式的路由查表操作。因此,分布式路由器系统中,路由协议子系统通常维护一个集中的路由表和若干个转发表。路由表集中在控制板上存放,每个线卡上保存一个转发表,用于查表操作,转发表通常是控制板上的集中路由表的一个子集。路由协议子系统中的路由管理模块负责分布式的转发表和集中的路由表之间的数据同步。,2011年9月19日,授课教师:鲁士文(CAS/ICT),29,1.2 IP路由器的体系结构,转发子系统是路由器中另一个重要组成部分,它负责对数

28、据报文的查表转发操作。转发操作本身并不复杂,但是,随着网络速度的提高,对路由器处理速度的需求也不断提高,转发子系统的处理能力要和数据流的速度相匹配才可以完成高速的转发。这就使得转发子系统常常成为路由器的性能瓶颈。转发子系统很大程度地依赖于硬件系统的结构,不过,从抽象的角度来看,转发子系统的核心是提供一个高速的数据交换通路。,2011年9月19日,授课教师:鲁士文(CAS/ICT),30,1.2 IP路由器的体系结构,支撑子系统在路由器中扮演一个不十分重要的角色,但却是不可或缺的组成部分。它主要包含了网络中传输层的协议实现,如TCP和UDP等。支撑子系统主要用于为上层的协议子系统提供通信支持。因

29、为路由协议总是运行在一定的协议上,例如,BGP-4是基于TCP协议的,RIP是基于UDP协议的,所以在路由器中也要实现这些通信协议,才能保证上层路由协议的正常运行。相比于路由器需要处理的交换通信量,路由器之间协议交互所占的数据通信量是比较小的,支撑子系统的性能压力不大,但是支撑子系统仍然需要有很好的鲁棒性和运行效率。,2011年9月19日,授课教师:鲁士文(CAS/ICT),31,1.2 IP路由器的体系结构,安全子系统并不是路由器的一个必要部分,但是在现在的商用路由器申,安全功能己经是路由器的重要的功能。安全的处理由于有很大的计算量,常常会成为性能的巨大障碍,所以在路由器中通常使用专门的模块

30、或者硬件来辅助处理。简单地说,安全子系统包含了两个主要功能部分,一个是密钥管理模块,另一个是 IPSec。,2011年9月19日,授课教师:鲁士文(CAS/ICT),32,1.2 IP路由器的体系结构,管理子系统负贡对路由器的操作与维护进行支持。它包括了很多功能模块,如配置管理、启动控制、文件系统等。此外,管理子系统的一个重要组成部分是基于SNMP的管理模块,它包含3个主要部分,分别是SNMP协议处理、管理代理和管理信息库(MIB)。对管理信息库的更新与访问操作是其中的关键。在分布式系统中,因为每个分布的部件都要受管理子系统的监控,所以,通常在线卡上运行一个管理代理,负责线卡的本地管理,同时它

31、和主控制板上的管理模块进行通信,完成分布式的控制操作。,2011年9月19日,授课教师:鲁士文(CAS/ICT),33,1.2 IP路由器的体系结构,简单地讲,计算机网络是由大量的路由器和它们之间的连接线路或虚电路构成的。无论是路由器还是它们之间的链路,都有可能成为数据传输的瓶颈。 随着需求的增长,路由器的性能一直在不断地提升。就硬件而言,路由器的体系结构由使用通用功能器件过渡到使用专用器件,由系统的串行操作过渡到并行操作。迄今为止使用较多的路由器体系结构主要有集中式总线结构、分布式总线结构和分布式交叉开关结构。,2011年9月19日,授课教师:鲁士文(CAS/ICT),34,1.2. 1 集

32、中式总线结构,采用集中式总线结构的路由器通常使用运行路由软件的通用计算机来完成路由功能,所以路由器的这种体系结构和通用计算机没有很大的区别。如下面的图所示,系统中包含一个中央处理器(CPU:Central Processing Unit)和集中式的内存。所有的网络接口卡(NIC: Network Interface Card,简称网卡)都通过一条共享的总线和CPU以及集中式内存相连。 网络接口卡完成数据的物理层及数据链路层的收发操作,得到的网络层分组通过总线送交到集中式内存进行存储,同时网络层分组的头部被(通过总线)送到CPU,进行路由操作,选路成功后的网络层分组再通过总线传送到输出网络接口卡

33、发送出去。,2011年9月19日,授课教师:鲁士文(CAS/ICT),35,1.2. 1 集中式总线结构,2011年9月19日,授课教师:鲁士文(CAS/ICT),36,1.2. 1 集中式总线结构,从网络层分组的流程可以看出,数据流需要几次经过总线,总线在这个系统中是被所有网卡和CPU以及内存共享,因此,当网卡数目增多时,或者数据流量很大时,各个设备对总线的争用会导致严重的访问冲突。 另外,CPU需要处理来自所有网卡的数据转发操作,因此,当网卡数目增加时,或者数据流量增大时,单一的CPU无法满足更高的转发速率要求。同时,路由器还要和其他路由器交换路由信息,进行路由计算,这些操作也需要在这个C

34、PU上完成。因此,在路由器的这种体系结构中,单一的CPU会成为系统最根本的性能瓶颈。 采用集中式总线结构的路由器的典型的交换容量通常小于0.5Gbps。,2011年9月19日,授课教师:鲁士文(CAS/ICT),37,1.2. 1 集中式总线结构,在集中式总线结构中,数据交换操作主要由软件来完成。目前,大部分低端的接入路由器都属于这种结构。在实际应用环境下,也有许多人使用安装有多块网卡的个人计算机运行路由软件来搭建路由器。这种路由器当然也属于集中式总线结构。,2011年9月19日,授课教师:鲁士文(CAS/ICT),38,1.2. 2 分布式总线结构,分布式总线结构的主要目标是提高网卡的处理能

35、力,同时把用于路由计算的CPU从分组转发中解脱出来。该体系结构的分布式特征体现为用多个相对独立的线卡并行地执行各自的操作。如下图所示,每一块线卡不再是简单的网卡,而是都拥有自己的CPU、内存和若干个网络接口的独立子系统。到达一块线卡的数据分组,在线卡本地进行存储和判决,输出端口在本线卡上的分组直接由线卡送到输出端口,只有输出端口在其他线卡上的分组才需要通过总线送到其他线卡转发。这样做有两方面的好处,一是提高了线卡上的分组处理能力,二是降低了总线的争用程度。,2011年9月19日,授课教师:鲁士文(CAS/ICT),39,1.2. 2 分布式总线结构,2011年9月19日,授课教师:鲁士文(CA

36、S/ICT),40,1.2. 2 分布式总线结构,在这种体系结构中,通常有一块特殊的板子,称作主板(线卡则被称作从板),它基本上不参与分组转发操作,而主要负责路由计算任务和整个系统的管理操作。它负责运行路由协议和网络上的其他节点交换路由信息,生成路由表,并将用于转发判决的转发表发布到各个线卡上。,2011年9月19日,授课教师:鲁士文(CAS/ICT),41,1.2. 2 分布式总线结构,路由器主要完成两个功能:一个是分组转发,另一个是路由计算。前者处理通过路由器的数据流,关键操作是转发表查询、转发以及相关的队列管理和任务调度等;后者通过和其他路由器进行基于路由协议的交互,完成路由表的计算。在

37、实际的网络环境中,这两个部分都有很高的性能要求。分布式总线结构把这两个功能分布在不同的处理板上执行,而且转发操作也被分布到多个线卡上完成,这就大大地提高了系统的整体性能。 不过,该体系结构仍然存在由网卡对总线的争用而产生的性能瓶颈问题。在典型的应用中,采用该结构的交换容量一般小于5Gbps。,2011年9月19日,授课教师:鲁士文(CAS/ICT),42,1.2. 3 分布式交叉开关结构,在分布式总线结构的基础上,使用交叉开关(crossbar)代替共享总线,就成了分布式交叉开关结构(参见下面的图)。共享总线的缺点就是不能够同时并发地处理多个数据流。交叉开关结构在本质上是许多交换开关的集合,在

38、每对输入端口和输出端口之间都有一个交换开关,而且各个交换开关的控制是彼此独立的,只要数据流不相关(没有共同的输入端口和共同的输出端口),就可以构成并发的数据通路。这样,通过交叉开关的连接提高了路由器分布式结构的并发能力,从而整体的交换容量得到了大幅度的提升。,2011年9月19日,授课教师:鲁士文(CAS/ICT),43,1.2. 3 分布式交叉开关结构,2011年9月19日,授课教师:鲁士文(CAS/ICT),44,1.2. 3 分布式交叉开关结构,2011年9月19日,授课教师:鲁士文(CAS/ICT),45,1.2. 3 分布式交叉开关结构,在分布式交叉开关结构的路由器中,通常还同时采用

39、了快速的路由表查询器件,可以在一个时钟周期内返回对下一跳的查找结果,突破了查表与线速之间的匹配障碍。 分布式交叉开关结构的典型容量是几十到上百个Gbps,现在的主干网络中的核心路由器通常都采用这种结构。,授课教师:鲁士文(CAS/ICT),46,课间休息,2011年9月19日,46,授课教师:鲁士文(CAS/ICT),2011年9月19日,授课教师:鲁士文(CAS/ICT),47,1.3 路由器的基本结构单元,虽然路由器经历了一个长期复杂的发展过程,但是它的基本结构却没有发生很大的变化。一般说来,整个路由器主要由四个功能模块组成,分别是网络接口、转发引擎、硬件交换器和路由处理器。,2011年9

40、月19日,授课教师:鲁士文(CAS/ICT),48,1.3.1 网络接口模块,网络接口模块一般工作在OSI参考模型的最下面两层,即物理层和数据链路层。它和物理链路直接相连,处理物理信号,执行数据链路层的封装和解封装,完成协议数据单元的接收和发送工作。和物理链路的接口通常由线卡提供,一块线卡一般支持4、8或16个端口,运行诸如IEEE 802.3和PPP(Point-to-Point Protocol, 点对点协议)这样的数据链路层协议。每个端口的速率可以是数kbps,数Mbps,也可以是数bps,甚至更高。,2011年9月19日,授课教师:鲁士文(CAS/ICT),49,1.3.1 网络接口模

41、块,路由器的网络接口卡类似于在PC上使用的局域网接口卡,不过路由器的网络接口卡具有较高的档次,能够更快地执行分组处理任务。虽然早期的路由器设计就使用标准的网络接口卡,但现代的路由器都使用特别的高性能接口卡(参见下页的插图),而且还可能在线卡上配置转发引擎,以加快操作的速度。,2011年9月19日,授课教师:鲁士文(CAS/ICT),50,1.3.1 网络接口模块,1.3.1 网络接口模块,网络接口在逻辑上还可分为输入端口和输出端口。从输入端口接收到的分组被链路层协议控制器处理,该控制器负责处理在物理链路上运行的链路层协议,例如HDLC协议和以太网协议。它还检查接收到的帧的完整性(帧的大小、地址

42、和CRC等)。链路层协议控制器除去有效帧的链路层的头部和尾部,把得到的分组放进接收队列。该接收队列通常是一个先进先出(FIFO: First-In-First-Out)队列,由一组存储缓冲区构成。 接收缓冲区的内容被传递到转发引擎的输入,一次一个缓冲区,并从接口的接收器中删除。然后,转发引擎把分组转发到适当的输出接口,该接口对应前往在分组的头中指定的目的地址的最好通路。,1.3.1 网络接口模块,在输出端口,分组连同附加的一个新的链路层头,被放进一个发送队列,直到链路层协议控制器准备好发送分组。跟接收队列类似,这也是一个FIFO队列,由一组存储缓冲区构成。 每个输出分组都需要加上一个新的数据链

43、路层协议头,其目的地址被设置成将要接收该分组的下一个系统的链路层地址。链路协议控制器为接口维护一个硬件地址表,通常使用地址分辨协议(ARP: Address Resolution Protocol)得到跟同一链路相连的其他计算机或路由器的硬件地址。最后,分组在输出接口上被发送给下一跳系统的硬件地址。在发送完成后,分配给该帧的缓冲区被释放,可用于存放来自接收队列的下一个帧。,2011年9月19日,授课教师:鲁士文(CAS/ICT),53,1.3.2 转发引擎,转发引擎工作在OSI参考模型的第三层,即网络层。它主要负责决定网络分组的转发路径,解析分组的头部,然后根据分组的分类标识(如目的地址)查询

44、转发表,得到转发操作的输出端口。为了提供服务质量保证,转发引擎可能要对收到的分组做几个预定义的服务级别的划分。在分布式路由器体系结构中,转发引擎就实现在网络接口卡上,在每块线卡上嵌入一个微处理器,通过查询局部转发表完成转发操作。,1.3.2 转发引擎,在这里,有人可能觉得转发操作不是很困难,主要也就是执行大量的拷贝工作,把分组从一个地方拷贝到另一个地方。实际上,这种看法是相当错误的。在后面的1.4节中我们将说明,转发涉及大量的决定。另外,现代路由器只要有可能总是尽量避免在其内部拷贝一个分组数据,因为拷贝需要付出显著的处理代价,很容易把路由器的处理速度降低到一个很低的吞吐率。取而代之的是,只要有

45、可能,路由器总是把分组数据保持在一个固定的地方不动,并且在系统的各个模块之间仅传递分组在存储器中存储的位置信息。,2011年9月19日,授课教师:鲁士文(CAS/ICT),55,1.3.3 硬件交换器,硬件交换器连接网络接口模块和转发引擎模块,为在它们之间的数据传送提供高速的数据通路。硬件交换器可以使用多种不同的技术来实现。迄今为止使用最多的硬件交换器技术是总线、交叉开关和共享存贮器。 最简单的交换机制使用一条总线来连接所有输入和输出端口,总线交换的缺点是其交换容量受限于总线的容量以及为共享总线仲裁所带来的额外开销。,2011年9月19日,授课教师:鲁士文(CAS/ICT),56,1.3.3

46、硬件交换器,交叉开关通过使用多个交换开关提供多条并行的数据通路,具有NN个交叉点的交叉开关可以被认为具有2N条总线。如果一个交叉点是闭合的,输入线路上的数据在输出线路上可用,否则不可用。交叉点的闭合与打开由调度器来控制,因此,调度器的性能直接影响交叉开关的速度。 在共享存贮器的交换机制中,进来的分组被存贮在共享存贮器中,所交换的仅是分组的指针,这就提高了交换容量。但是,交换的速度受限于存贮器的存取速度。尽管存贮器容量每18个月能够翻一番,但存贮器的存取时间每年仅降低5%,这是共享存贮器交换开关的一个固有限制。,2011年9月19日,授课教师:鲁士文(CAS/ICT),57,1.3.4 路由处理

47、器,路由处理器是运行高层协议的内部处理模块,它实现路由协议,计算路由表,并运行对路由器进行配置和管理的软件。同时,它还处理那些目的地址不在网络接口卡转发表中的分组以及由路由器自身发送和接收的分组。 路由处理器配置每个网络接口,包括转发表,它还从每个接口的管理表中收集管理信息提供给路由器管理表,路由器的工作示意图如下页所示。该处理器还直接连接到硬件交换器,后者允许通过网络从端点系统建立一条连接来(可选地)访问和修改配置(例如转发表)。所有的配置数据和从网络接口卡收集的所有的性能数据都存储在路由器的中心管理表中。在大的路由器中,可以有一个备份的路由处理器,以便在主路由处理器失效时接替其工作。,20

48、11年9月19日,授课教师:鲁士文(CAS/ICT),58,1.3.4 路由处理器,1.3.4 路由处理器,路由处理器也可以处理所有目的地址或源地址是路由器本身的分组。这些分组可以是由该路由器发出的ICMP回环请求报文,或者是发送给路由器本身的分组,例如,来自其他路由器的路由信息,或者是其他网络实体请求访问保存在路由器管理表中的信息。 路由器在对接收到的分组做出响应时,它的行为将像是一个端点系统,而不是一个中间系统。此时,所发送的分组是由路由器自己产生的,而不是由它转发的其他系统的分组。路由处理器会对它接收到的ICMP报文(例如由ping程序发送的报文)做出响应,并且在监测到错误事件时也可能产

49、生ICMP差错报告报文,例如接收到一个分组的地址未知因而不能投递时,就要发送这类差错报告报文。,1.3.4 路由处理器,对于每个需要处理的分组,路由处理器首先对分组头执行必要的检查,然后确定该分组应该抛弃和记录(在路由器管理表中)还是转发。路由处理器还要配置交换过程所使用的转发表,通过处理两个本地表,即路由表和过滤表,来计算转发表。 路由表列出IP地址和它们在网络上的位置的对应关系。连接到因特网的路由器需要能够标识使用哪个接口到达其他连接的端点系统。位于主干网络上的路由器通常具有非常大的路由表,接近边缘网络的路由器则具有比较小的路由表。 虽然路由表可以由管理员手工配置,但通常情况下都是使用路由

50、协议自动配置。,1.3.4 路由处理器,路由协议允许路由器之间定期地交换路由信息,从而使得任意一个路由器都能够知道如何到达网络上其他的路由器和主机。正是由于路由器周期性地交换路由信息,每个路由器中的路由表可以不断更新,能够动态地反映网络的当前拓扑和状态。 过滤表通常都是手工配置的,它列出一些地址和其他一些可能在分组头中使用的信息,如果它们跟接收到的一个分组匹配,将使得该分组被仔细检查,并且可能被拒绝传输。这种机制可以被用来防止转发非授权访问的分组。当网络接口检测到一个匹配过滤表项的分组时,它可以丢弃该分组,也可以把该分组传给通用处理器做进一步的处理。过滤表通常也被称作访问控制列表(ACL: Access Control List),在一些应用场合,它可能是非常复杂的。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报