收藏 分享(赏)

第7章 非连接型快速分组交换.ppt

上传人:11xg27ws 文档编号:8220775 上传时间:2019-06-15 格式:PPT 页数:81 大小:2.67MB
下载 相关 举报
第7章 非连接型快速分组交换.ppt_第1页
第1页 / 共81页
第7章 非连接型快速分组交换.ppt_第2页
第2页 / 共81页
第7章 非连接型快速分组交换.ppt_第3页
第3页 / 共81页
第7章 非连接型快速分组交换.ppt_第4页
第4页 / 共81页
第7章 非连接型快速分组交换.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

1、,第7章 非连接型快速分组交换,教学大纲要求: 1.基本要求 (1)掌握互联网的概念及IP协议。 (2)掌握互联网的路由协议。 (3)掌握高性能路由器的关键技术。 2.重点、难点重点:IP协议,路由协议。难点:大容量高速路由器技术。 3.说明以讲述IP分组交换技术为主,适当介绍相关协议。,1,本章重点讨论非连接型分组交换的典型代表互联网中的IP技术。首先介绍IP协议,包括IP数据报格式、IP地址的表示方法、IP网路由协议。然后在此基础上讲述高速路由器的结构及实现快速分组交换的关键技术。,关于“非连接型快速分组交换”,2,3,互联网是指用路由器进行互连的互连网络,这些互连的网络往往具有不同的网络

2、类型,但互联网在网络层使用IP协议屏蔽了底层不同的互连网络,使异构的网络看起来像一个统一的网络。,7.1 互联网的IP协议,4,互联网使用的IP协议族,除了IP协议之外,还有四个配套的协议:地址解析协议ARP,逆地址解析协议RARP,控制报文协议ICMP,组管理协议IGMP。,网际层协议的组成,7.1.1 IP数据报的格式 7.1.2 分类的IP地址 7.1.3 IP地址与硬件地址 7.1.4 地址解析协议ARP和逆地址解析协议RARP 7.1.5 IP层转发分组的流程,7.1.1 IP数据报的格式,互联网网际层的协议数据单元称为数据报。一个IP数据报由首部和数据两部分组成。首部的前一部分长度

3、固定,共20字节,是所有IP数据报必须具备的。在首部固定部分的后面是一些可选字段,其长度是可变的(最大长度为40字节)。,5,IP数据报首部中的各字段(一),(1)版本(Version)占4bit,指IP协议的版本号。通信双方使用的IP协议的版本必须一致。目前使用的版本是版本4和版本6 。 (2)首部长度(Header Length)4 bit,可表示的最大数值是15个单位(一个单位为4字节),IP的首部长度的最大值是60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后一个填充字段加以填充。 (3)服务类型(Type of Service)占8 bit,用来获得更好的服务 :前三个

4、比特表示优先级,它可使数据报具有8个优先级中的一个。第4个比特是D比特,表示要求有更低的时延。第5个比特是T比特,表示要求有更高的吞吐量。第6个比特是R比特,表示要求有更高的可靠性(即在数据报传送的过程中,被路由器丢弃的概率要更小些)。第7个比特是C比特,表示要求选择代价更小的路由。最后一个比特目前尚未使用。,6,7,IP数据报首部中的各字段(二),(4)总长度(Total Length) 总长度指首部和数据部分之和的长度,单位为字节。总长度字段为16 bit,因此数据报的最大长度可达65535字节(即64 KB)将一个IP数据报装入链路层帧的数据域时,数据报的总长度不能超过数据链路层的最大传

5、送单元MTU。如有超出,就必须对数据报中的数据进行分片,每一片都要加上首部,加上首部的数据片称为分组。分组在网络中传送,在目的主机将组成一个数据报的各分组重新组装在一起。 (5)标识(Identification) 占16 bit,是一个计数器,用来标识数据报。属于同一个数据报的分组,具有相同的标识。 (6)标志(Flag) 占3 bit,目前只有前两个比特有意义。 最低位记为MF,MF=1表示“本分组后面还有同一数据报的后续分组”。MF=0表示这是数据报的最后一个分组。 中间的一位记为DF(Dont Fragment),DF=1意思是“不分片”,即该数据报只有一个分组。,8,IP数据报首部中

6、的各字段(三),9,(9)协议(Protocol)占8 bit,指出此数据报携带的数据使用何种协议,以便目的主机IP层将数据部分上交对应协议处理 。,(10)首部校验和(Header Checksum)只校验数据报的首部,不校验数据部分。在发送端,将IP数据报首部划分为许多16 bit字的序列,用反码算术运算将所有16 bit字相加后,将和的反码写入检验和字段。接收端收到数据报后,将首部的所有16 bit字(包括检验和的16比特)再使用反码算术运算累加。将得到的和取反码,结果为0则保留数据报,否则丢弃数据报。,IP数据报首部中的各字段(四),10,(11)源地址SA (Source Addre

7、ss) 占4字节。 (12)目的地址DA (Destination Address) 占4字节。源、目的地址字段都包括网络地址和主机地址。,IP地址的可变部分包括多个选项字段。选项字段用来支持排错、安全、源路由、路由记录、时间标记等功能。增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。,IP数据报首部中的各字段(五),11,7.1.2 分类的IP地址,12,IP地址的表示方法及特点,13,7.1.3 IP地址与硬件地址,14,7.1.4 地址解析及逆向地址解析协议,主机不知道IP地址对

8、应的硬件地址时,使用地址解析协议ARP,ARP根据IP地址获取硬件地址。过程为: 1.主机A在局域网上广播ARP请求,要求获知主机B的IP地址对应的硬件地址。 2.局域网上的所有主机都会收到ARP请求分组。 3.主机B识别ARP请求中自己的IP地址,向主机A发送ARP响应分组,通知B的硬件地址。 4.主机A收到ARP响应分组后,在ARP缓存中写入B的IP地址及对应的硬件地址。,15,ARP及RARP(续),ARP解决同一个局域网上的主机或路由器IP地址映射问题。IP地址与硬件地址的映射表保存在ARP高速缓存器中,主机或路由器想要通过IP地址获知硬件地址时,首先要查找地址映射表,如果没有要求的地

9、址映射关系,则发送ARP请求分组。高速缓存中的每个映射地址项目都设置生存时间,以防止硬件地址改变致使表中的映射关系出错。为什么要用IP地址而不直接使用硬件地址?异构网络使用不同的硬件地址,要使他们相互通信必须进行复杂的硬件地址转换。采用统一的IP地址就解决了这个复杂问题。RARP协议可以通过硬件地址获知IP地址。,16,7.1.5 IP层转发分组的流程,(1)从分组的首部提取目的站D的IP地址,得出目的网络地址为N; (2)若N就是与此路由器直接相连的某个网络地址,则直接通过该网络将分组交付给目的站D(这里包括将目的主机IP地址D转换为具体的硬件地址,将分组封装为MAC帧,再发送此帧);否则,

10、执行(3); (3)若路由表中有目的地址为D的特定主机路由,则将分组传送给路由表中所指明的下一跳路由器;否则,执行(4); (4)若路由表中有到达网络N的路由,则将分组传送给路由表中所指明的下一跳路由器;否则,执行(5); (5)若路由表中有一个默认路由,则将数据报传送给路由表中所指明的默认路由器;否则,执行(6); (6)报告转发分组出错 。,17,7.2 无分类编址与最长前缀匹配,7.2.1 无分类编址CIDR 7.2.2 最长前缀匹配,分类IP地址面临的问题:1. B类地址1994年就分配完毕;2. 骨干网路由器中路由表表项数目急剧增长;3. IPv4地址空间将被耗尽。IETF使用无分类

11、编址CIDR解决前两个问题,使用IPv6解决第三个问题。,18,7.2.1 无分类编址CIDR,无分类编址CIDR(Classless Inter-domain Routing)可以使用各种长度的网络前缀代替分类地址中的网络号,消除了传统的A类、B类和C类地址概念,可以更加有效地分配IPv4的地址空间。CIDR的IP地址表示法如下:IP地址:,CIDR采用斜线记法表示IP地址:128.14.46.34/20.斜线后的数字表示网络前缀所占的比特数。,19,无分类编址中的块地址,CIDR将网络前缀相同的连续IP地址组成CIDR块。CIDR块也可用斜线标记法表示,如128.14.32.0/20表示的

12、地址块共有212个地址。斜线前的数字表示地址块的起始地址,斜线后的数字表示网络前缀的比特数。最小地址 128.14.32.0 10000000 00001110 00100000 00000000最大地址 128.14.47.255 10000000 00001110 00101111 11111111 一个地址块可以表示很多地址,路由表可以使用地址块来查找目的网络。CIDR使用“掩码”与IP地址逐位相与,来分离长度可变的网络前缀,对于/20地址块,掩码是11111111 11111111 11110000 00000000(20个连续的1)。,20,CIDR块地址的其他表示方法,将点分制中低

13、位中连续的0省略:10.0.0.0/10可简写为10/10 。 2. 直接使用二进制:例如,10.0.0.0/10可写为:00001010 00xxxxxx xxxxxxxx xxxxxxxx, 3. 在网络前缀后加星号*,如:00001010 00 ,星号表示IP地址中的主机号,可以是任意值 。,使用CIDR可以有效地利用IPv4地址空间,相比有分类的编址方式,可以有效地节省IP地址。,21,CIDR块地址的分配举例,22,7.2.2 最长前缀匹配,使用CDIR后,路由表的每个表项由目的地址的网络前缀和下一跳地址组成。当路由表中包含一个网络和它的子网时,使用网络前缀查找会得到不止一个匹配结果

14、,应该从匹配结果中选择最长前缀匹配的路由。在前面的例子中,大学下属的四系希望把分组直接转发给四系,而不经大学的路由器。假设收到目的地址为D=206.0.71.130,将D和路由表中(大学,四系)这两个项目的掩码逐比特相“与”:将D和11111111 11111111 11111100 00000000逐比特相“与”=206.0.68.0/22 匹配。D和11111111 11111111 11111111 10000000逐比特相“与”=206.0.71.128/25 匹配。根据最长前缀匹配原理,应选择后者,将收到的分组转发给四系。,23,7.3 互联网的路由协议,互联网采用的路由选择策略主要

15、是自适应的、分布式路由选择策略。 互联网的路由协议,包括路由选择算法和路由信息传送及处理协议。路由选择算法常用的是Dijkstra提出的“最短路径算法”。这里将重点讨论几种常用的路由信息传送及处理协议,也就是讨论路由表中的路由表项是怎样产生和更新的。,7.3.1 路由协议概述 7.3.2 自治系统内部路由协议RIP 7.3.3 自治系统内部路由协议OSPF 7.3.4 自治系统间的路由协议,24,7.3.1 路由协议概述,互联网采用分层次的路由选择策略,这是因为: (1)互联网的规模非常大,如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,所有这些路由器之间交换路由信息所需的带

16、宽就会使互联网的通信链路饱和。 (2)许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由协议,但又希望连接到互联网上。为此,整个互联网被划分为许多自治系统,一般简称为AS。一个自治系统是一个较小的互联网,其最重要的特点就是自治系统有权自主地决定在本系统内应采用何种路由协议。,25,互联网把路由协议划分为两大类:(1) 内部网关协议IGP(Interior Gateway Protocol) 更确切的称为“自治系统内部的路由协议”,目前这类路由协议使用得最多,如RIP和OSPF协议。(2) 外部网关协议EGP(External Gateway Protocol) 更确切的称为“自治

17、系统之间的路由协议”,在外部网关协议中目前使用最多的是BGP-4。自治系统之间的路由选择也叫做域间路由选择(interdomain routing),而在自治系统内部的路由选择叫做域内路由选择(intradomain routing)。,IGP 和 EGP,26,自治系统和网关协议,关于名词“路由器”和“网关”。,27,7.3.2 自治系统内部路由协议RIP,RIP(Routing Information Protocol)是一种分布式的基于距离向量算法的路由协议(内部网关协议),是互联网的标准协议之一,其最大优点就是简单。,一、工作原理,RIP的“距离”定义 :从一路由器到直接连接的网络的距

18、离定义为1;从一路由器到非直接连接的网络的距离定义为所经过的路由器数加1。RIP协议的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加1。RIP允许一条路径最多只能包含15个路由器。可见RIP只适用于规模较小的自治系统。,28,路由信息的交换,RIP的特点是每一个路由器都要不断地和其它一些路由器交换路由信息。那么,与哪些路由器交换信息?交换什么信息?在什么时候交换信息? RIP规定: (1)每个路由器只与相邻路由器交换信息。 (2)交换的信息是当前本路由器所知道的全部路由信息,即自己的路由表。 (3)按固定的时间间隔交换路由信息。当网络拓扑发生变化时,及时向邻路由器

19、通告变化后的路由信息。路由表中最主要的信息是:到某个网络的距离(即最短距离),以及应经过的下一跳地址。路由表更新的原则是找出到每个目的网络的最短距离。这种更新算法又称为距离向量算法。,29,RIP采用特定格式的报文来传送路由信息。距离向量算法的基础是:设X是结点A到B的最短路径上的一个结点。若将路径AB拆成两段路径AX和XB,则每一段路径AX和XB也都分别是结点A到X和结点X到B的最短路径。RIP协议让所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的。这里应注意:虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于

20、每一个路由器的位置不同,它们的路由表是不同的。,二、距离向量算法,30,距离向量算法的路由表举例,图中给出了一个简单的网络拓扑,共有6个网络通过6个路由器互连。路由表中的每一行包括:目的网络、最短距离、下一跳路由器。,31,RIP报文由首部和路由部分组成。新版本RIP2和RIP1的首部相同,但路由部分不同。,三、RIP协议的报文格式,RIP的首部占4个字节,其中的命令字段指出报文的意义。例如1表示“请求路由信息”;2表示对“请求路由信息”的响应或主动发出的“路由更新”报文。后部的“必为0”是为了填满4字节。,32,RIP2报文中的路由部分由若干个路由信息元素组成。每个路由信息元素需要20个字节

21、。地址族标识符字段用来标识所使用的地址协议。路由标记填入自治系统的号码。再后面指出某个网络地址、该网络地址的掩码、下一跳路由器地址以及到此网络的距离。一个RIP报文的最大长度是504字节。如路由信息元素的数目超过25,则必须再用一个RIP报文来传送。RIP存在的一个问题是:“好消息传播得快,而坏消息传播得慢”。为了使坏消息传播得更快些,可以采取多种措施。例如,让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送。,RIP2报文中的路由部分,33,OSPF(Open Shortest Path First)译为开放最短路径优先。“开放”表明OSPF协议是公开发表的,“

22、最短路径优先”是因为使用了Dijkstra的最短路径算法。 OSPF的版本OSPF2已成为互联网标准协议。OSPF最主要的特征是使用分布式的链路状态协议(Link State Protocol),而不是RIP的距离向量协议。,7.3.3 自治系统内部路由协议OSPF,RIP协议的缺点限制了网络的规模,对于规模较大的自治系统应当使用OSPF协议。,一、OSPF协议的基本特点,34,和RIP协议相比,OSPF的三个要点如下:(1)每个路由器向本自治系统中所有路由器发送路由信息。这里使用的方法是洪泛法(flooding),路由器通过所有输出端口向所有相邻的路由器发送信息。 (2)发送的路由信息是与本

23、路由器相邻的所有路由器的链路状态。所谓“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(代价)。OSPF将这个“度量”用来表示费用、距离、时延、带宽等。 (3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。,OSPF 的三个要点,35,由于各路由器之间频繁地交换链路状态信息,所有的路由器最终都能建立一个链路状态数据库(link-state database),这个数据库实际上就是全网的拓扑结构图。这个拓扑结构图在全网范围内是一致的。每一个路由器使用链路状态数据库中的数据,使用Dijkstra算法,生成自己的路由表。RIP的每一个路由器虽然知道到所有的网络

24、的距离以及下一跳路由器,但却不知道全网的拓扑结构。OSPF的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF的更新过程收敛得快是其重要优点。,OSPF 的路由表,36,为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫作区域(Area)。划分区域的好处是将洪泛法交换链路状态信息的范围局限于每一个区域,这就减少了整个网络上的通信量。为了使每一个区域能够和本区域以外的区域进行通信,OSPF使用层次结构的区域划分。在上层的区域叫作主干区域,主干区域的作用是用来连通其它在下层的区域。从其它区域来的信息都由区域边界路由器(area borde

25、r router)进行概括。在主干区域内还要有一个路由器专门和本自治系统外的其它自治系统交换路由信息,这样的路由器叫做自治系统边界路由器。,OSPF 区域的划分,37,二、OSPF 报文,38,类型1 问候报文,用来发现邻站和确定邻站可达性。 类型2 数据库描述报文,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。 类型3 链路状态请求报文,向对方请求发送某些链路状态项目的详细信息。 类型4 链路状态更新报文,用洪泛法对全网更新链路状态。这种报文是最复杂的,也是OSPF协议最核心的部分。路由器使用这种报文将其链路状态通知给邻站。 类型5 链路状态确认报文,对链路更新报文的确认。O

26、SPF规定,每两个相邻路由器每隔10秒钟要交换一次问候报文。这样就能确知哪些邻结点是可达的。其它的四种报文都是用来进行链路状态数据库的同步。,五种类型的OSPF报文,39,三、从链路状态数据库得到路由表,每一种网络都可能带有多个路由器。下图是包括路由器、局域网和广域网三种网络连接的一个自治系统的网络拓扑。每一条链路的旁边标注了“代价”(距离、时延等)。,40,OSPF通过各路由器之间交换链路状态信息,得出链路状态数据库。可以用下图所示的有向图表示该数据库。其中每一个路由器、局域网或广域网都抽象为一个结点,而每条链路用两条不同方向的边表示。,链路状态数据库,41,每个路由器中的路由表可从链路状态

27、数据库导出。例如,要计算路由器F的路由表,可先算出如下图所示的以F为根的最短路径树,根据最短路径树就很容易地得出路由表来。,A,B,D,F,E,G,I,W4,5,L1,3,4,12,7,8,6,16,W5,W1,8,W2,W3,3,L2,4,W6,12,2,最短路径树和路由表,42,7.3.4 自治系统间的路由协议,43,一、路径向量路由选择法,RIP中应用的距离向量协议和OSPF中采用的链路状态协议作为域间路由协议都不是很有效,都存在各种各样的问题。BGP的关键特性是它采用了一种叫做路径向量路由选择的技术。它舍弃了“距离”、“链路状态”等路由度量信息,只是简单地提供一个路由器要跨越哪些自治系

28、统到达各个网络的路径信息。这个方法与距离向量算法有两点不同:(1)路径向量方法不包括距离或代价的估计值;(2)每个路由信息块列出路由器沿着某路径到达目的网络要经过的所有自治系统。,44,二、边界网关协议,BGP的设计目标是使不同自治系统中的BGP路由器能够互相协作、交换路由信息(在该标准中路由器称为网关)。协议的运行要交换一些报文,这些报文通过TCP连接传送。下面给出了BGP-4 报文的一览表。,BGP包括三个功能性过程: 邻站捕获 ( 发送Open ,响应 Keepalive ) 邻站可达性 ( 周期性发送 Keepalive ) 网络可达性 ( 广播发送 Update ),45,邻站捕获:

29、不同自治系统的相邻路由器,称为邻站。它们之间需要交换路由信息。为此,首先必须执行邻站捕获过程。为实现邻站捕获,一个路由器向另一个路由器发送Open报文,后者可以接受也可以拒绝前者的请求。如果接受,它就回送一个Keepalive报文以示响应。 邻站可达性:邻站的每一方都需要确信对方仍然存在且致力于保持邻站关系。为此,两个路由器都要周期性地向对方送Keepalive报文。 网络可达性:每个路由器要保持一个数据库,其中记录可达的子网及到达该子网的优选路由。只要这个数据库的内容发生变化,路由器就要向实现BGP的其它路由器发送一个Update报文。,BGP的功能性过程,46,下图为一个BGP路由器的集合

30、,假设路由器F到D的的路径是FGCD,其邻居给它完整路径信息,为了简便,只将目的地D的信息列出如下:,送给F的信息 来自B:“我使用 BCD” 来自G:“我使用 GCD” 来自 I:“我使用 IFGCD” 来自E:“我使用 EFGCD”,路由器F检测哪条路径是最佳的,马上丢弃从I和E来的路径。然后在B和G之间选用距离最短的路径。BGP很容易解决困扰其它算法的无穷计算问题。,BGP路由选择举例,47,7.4 下一代互联网的网际协议IPv6,互联网的巨大成功使得互联网的覆盖范围和用户数迅猛增长,同时也暴露了现行的网际协议IPv4存在的问题和即将出现的问题,IETF早在1992年就着手开发IP新版本

31、,现正式称为IPv6。IPv6提供了极大的地址空间,增加了地址分配的灵活性;在安全性方面有较大改进;在改善QoS方面有较多的准备。,7.4.1 IPv6 分组的格式 7.4.2 IPv6 地址 7.4.3 从 IPv4 到 IPv6,48,7.4.1 IPv6分组的格式,IPv6分组由基本首部(Base Header)和载荷(Payload)部分组成(如下图)。载荷部分包括可选的扩展首部(Extension Header)和数据(Data)部分。,IPv6分组基本首部的长度固定为40字节,其长度是IPv4分组首部的两倍,但字段数减到8个。右图示出了IPv6分组基本首部的结构。,一、IPv6分组

32、的基本首部,49,(1) 版本 占4bit。它指明协议的版本号,IPv6该字段是6。 (2) 业务类别 占8bit。用于标识和区分不同的业务类型或IPv6分组的优先级。 (3) 流标记 占20bit。一个流由非零的20bit流标记及其源地址与目的地址惟一地标识。 (4) 载荷长度 占16bit。它指明IPv6分组跟在基本首部后面的扩展首部和数据部分的长度(字节数)。 (5) 下一个首部 占8bit。它标识紧接在基本首部后面的下一个首部的类型。 (6) 跳数限制 占8bit。防止IP分组在网络中无限期地存在下去。 (7) 源地址(SA) 占128bit。这是发送分组的站点的IP地址。 (8) 目

33、的地址(DA) 占128bit。最终接收分组的站点的IP地址。,基本首部各个字段的功能,50,IPv6将原来IPv4分组首部的选项功能放在扩展首部中,并将有些扩展首部留给路径端点的主机去处理,而分组传送途中经过的路由器都不处理这些扩展首部(逐跳选项首部和路由选择首部除外),这样就能显著提高路由器的处理效率。目前,IPv6有以下六种扩展首部,它们分别是: 逐跳选项首部,承载由沿途路由器处理的选项信息; 路由选择首部,包含IPv6分组去往目的结点的途中将要经过的中间结点的清单 ,用于源路由方式; 分片首部,用于IP数据报的分片传送 ; 认证首部,用于安全; 封装安全载荷首部; 目的结点选项首部,

34、承载由分组的目的结点处理的选项 。,二、IPv6分组的扩展首部,51,7.4.2 IPv6地址,IPv6的地址空间几乎是无限的,与IPv4一样,IPv6的地址也是分配给结点的每个接口,而不是分配给结点本身。这里的结点,指的是运行IPv6协议的端结点(主机)和中继结点(路由器)。不同的是,IPv6允许单个接口可以有多个不同的单播地址,对应于一个结点接口的任何单播地址都可以用来标识那个结点。采用长地址,加上每个接口有多个地址可以改善路由选择的效率。较长的IP地址允许地址的汇聚,按照网络的层次、业务运营商、地理范围、不同的企业等进行汇聚。这样的汇聚将缩小路由表的规模,从而加快路由表项的查找。每个接口

35、有多个地址,这些地址分别汇聚在不同运营商的地址空间,将使用户能够通过同一接口使用多个运营商提供的业务。,52,IPv6分组的目的地址有如下三种基本类型: (1)单播(Unicast)地址 标识单个结点的接口。 (2)多播(Multicast)地址 标识一组接口(一般属于不同的结点)。 (3)任播(Anycast)地址 标识一组接口(一般属于不同的结点)。IPv6地址采用了一种新的符号来表示。128bit的地址码分成8组,每组含4个十六进制数,它们之间用冒号隔开。例如 8000:0000:0000:0000:0123:4567:89AB:CDEF由于许多地址的内部有许多零,可以采用零压缩表示,且

36、全为零的组可以省略,而用一对冒号代替。这样上述地址可以写成:8000:123:4567:89AB:CDEF,IPv6地址类型和地址的表示,53,7.4.3 从 IPv4 到 IPv6,一、IPv6与IPv4的比较,IPv6克服了IPv4存在的不足,增加了新的功能,与互联网的其它协议兼容。IPv6的主要特征归纳如下: (1) IPv6分组首部的地址字段为16字节,比IPv4的4字节长得多,彻底解决了地址空间不足的问题。 (2) IPv6简化了分组的基本首部(减为8个字段)。 (3) IPv6通过分组的扩展首部更好的支持选项功能。 (4) IPv6在安全性方面有较大改进。认证和保密是IPv6的关键

37、特征。 (5) IPv6在改善QoS方面有较多的准备。分组首部的业务类别和流标记字段可以支持资源预留、区分服务等改善QoS的措施。,54,IPV6与IPv4是不兼容的,在目前的互联网中使用IPv4的结点数量非常巨大。因此,从IPv4发展到IPv6,只能采取逐步演进,即共存过渡的策略。下面介绍两种向IPv6过渡的策略。 (1)双协议栈 在完全过渡到IPv6之前,使一部分路由器装有两个协议栈,一个IPv4和一个IPv6。双协议栈路由器既能与IPv6系统通信,又能与IPv4系统通信。当然,有的主机也可以装双协议栈,它们既可接入IPv4网络,也可接入IPv6网络。 (2)隧道技术 这种方法的基本思想是

38、:将IPv6分组装入IPv4分组的数据部分,由IPv4分组运载IPv6分组通过IPv4的网络(IPv6 over IPv4)。在这种情况下IPv4分组所经过的路径就是运载IPv6分组的“隧道”。,二、从IPv4向IPv6过渡,路由器是互联网核心设备,完成分组的路由选择和转发功能。本节主要介绍高性能(大容量、线速)路由器的分组转发技术。,7.5 路由器体系结构及关键技术,7.5.1 路由器体系结构的发展 7.5.2 路由器的基本结构 7.5.3 高性能路由器关键技术概述 7.5.4 线速缓存技术 7.5.5 路由快速查找技术 7.5.6 高性能路由器内部交换网络结构 7.5.7 路由器内部交换网

39、络采用的交换机制,55,本节的主要内容,7.5.1 路由器体系结构的发展,从网络接口卡NIC输入的分组,存入共享缓存,CPU为分组选择路由,分组再经总线到NIC输出。,路由器的体系结构发展经历了4个阶段:1)单机集中式总线结构;2)单机分布式共享总线结构;3)单机分布式Crossbar结构;4)多机互连集群结构。,56,CPU与总线是制约单机集中式总线结构路由器性能的瓶颈,这种结构的交换容量通常小于0.5Gb/s。,一、单机集中式总线结构,二、单机分布式共享总线结构,57,前面三代路由器结构的变迁,是系统逐步并行化的过程,先从集中式处理到与主板分离的多个线卡的并行处理,然后到多条数据通道的并行

40、传输。,58,三、单机分布式Crossbar结构,线卡间分组的交换由crossbar完成。crossbar中,不同的输入端口可以同时向不同的输出端口传送分组,分组并行传送的能力得到提高。这种结构的系统容量达几十到上百Gb/s。,四、多机互连的集群结构,多台路由器按照一定的结构连接在一起,可以扩展接口的数量,提高交换容量。但是需要占用接口来进行路由器之间的互连,而且这种连接方式不便于管理。,59,如果路由器可以根据需求进行交换容量的在线扩展,则可以解决路由器交换容量和需求之间的尖锐矛盾。于是可扩展的路由器结构应运而生。在这种路由器体系结构中,多个机柜可以通过内部连接整合成一个新的大型路由器,或者

41、叫做路由器集群。,60,7.5.2 路由器的基本结构,路由器分为路由选择部分和分组转发部分,路由选择部分的作用是执行路由协议,建立和更新路由表。分组转发部分包括交换网络和输入、输出端口,完成分组的转发。,每个输入端口都有一个转发表,转发表从路由表中得到。转发表的每个表项包含要到达的目的网络地址、相应的输出端口号、MAC地址。转发表常用硬件实现,以确保高速转发。输入端口对输入的分组要依次进行物理层、数据链路层和网络层的处理。如果分组是携带路由信息的分组,则将分组送至路由选择部分处理,如果分组是数据分组,根据分组首部目的IP地址查转发表,决定分组的输出端口。交换网络把分组输出到相应的输出端口。输出

42、端口将分组装帧,在物理层完成处理后,以比特流输出。,61,路由器结构及分组转发过程,在输入端口中得不到及时处理,或者发生输出端口冲突的分组在输入缓存中存储。当交换网络发送分组的速率大于输出链路速率时,分组在输出缓存存储。,62,路由器中的输入/输出缓存,分组在路由器的输入端口和输出端口都可能会在队列中排队等候处理。若输入或输出队列发生溢出,就会造成分组的丢失。,63,7.5.3 高性能路由器关键技术概述,高性能路由器,主要是指大容量、线速路由器。对于高性能路由器来说,其高速处理能力几乎贯穿路由器的每一个实现环节,如路由表的查找、内存的访问、分组的调度等。新一代高性能核心路由器的体系结构通常都是

43、基于集群结构设计的,内连网络的性能直接影响路由器集群的整体交换性能。为了减小分组在内连网络中经历的时延,可以采用不同的交换机制,目前研究较多的交换机制包括分组交换、虫孔交换和虚切通交换。下面将详细叙述高性能路由器涉及的关键技术问题。这些技术包括线速缓存、转发表快速查找、内连网络结构及交换机制等。,路由器输入链路速率的不断提高,给缓存器提出两个要求:读写速率高和存储容量大。输入链路速率为40G/s,分组长度为40字节时,存储器读写一个分组的时间是4ns。缓存器的容量要能满足网络内拥塞控制机制的要求:互联网中源端对于拥塞控制的响应时间为端到端往返时间RTT。设路由器输入链路的速率为R,在此期间,路

44、由器收到的比特数可能会达到RRTT。为防丢失,缓存器容量应为RRTT。当R=40G/s,RTT=0.25s时,需要缓存器容量为1.25G字节。SRAM速率快、容量小,DRAM容量大、速率低。,64,7.5.4 线速缓存技术,对DRAM数据线并行扩展时,不同的DRAM块地址总线是相同的。图中一次向一个地址要读写320字节的数据。一次有可能向DRAM块中写入两个分组。但如果两个分组要写入两个队列,就不能使用一个地址。为解决这一问题,需要采用DRAM/SRAM混合结构。,65,DRAM的并行读写,通过对多块DRAM的并行读写,可以提高DRAM的读写速率。,66,SRAM/DRAM混合结构,SRAM和

45、DRAM都分为Q个队列,SRAM与DRAM之间的数据宽度b=2RT 。,使用混合结构,可以分队列存储分组。SRAM可线速读写,用来暂存分组,输入的分组先写入SRAM尾部队列,再由SRAM写入DRAM。输出分组时,先把分组从DRAM读出到SRAM头部队列,再由SRAM输出。,67,7.5.5 路由快速查找技术,随着路由器接口速度的不断提高,使用软件方法实现高速路由查找越来越困难。目前已经广泛使用的STM-16(2.5Gbps)和STM-64(10Gbps)接口要求路由查找速度达到每秒几千万次,因此,需要用硬件实现高速路由查找。查找路由表,就要读存放路由表的存储器,读存储器需要时间,减少查表过程中

46、读存储器的次数,是提高查找速度的关键。下面介绍2种基于硬件的路由查找技术:1)基于DRAM的路由查找算法DIR-24-8-BASIC算法 ;2)基于CAM的路由查找算法 。,DIR-24-8-BASIC算法 (1),第二个表称为TBLlong,存储所有长度大于24的网络前缀。长度小于24位网络前缀查第一个表得出下一跳路由器,长度大于24位的网络前缀要分别查两个表。,68,采用两级DRAM表来实现路由查找。第一个表称为TBL24,存储所有长度小于等于24的网络前缀,该表有224个表项,地址范围从0.0.0到255.255.255。,DIR-24-8-BASIC算法 (2),如果网络前缀的长度大于

47、等于24,TBL24中表项的第1位为1,后15位给出指向TBLlong表的指针。查TBL24时,使用分组目的地址的前24位作为TBL24的读地址。查TBLlong时,把查TBL24得到的指针乘256再加上分组目的地址的后8位作为TBLlong读地址。,69,互联网99%的网络前缀长度小于等于24,绝大部分路由只需查一次表。网络前缀长度小于24,TBL24中表项的第1位为0,后15位给出下一跳信息。,DIR-24-8-BASIC算法 (3),70,A=10.54/16 ,A的网络前缀为16位,在TBL24中一共有224-16个表项都存储的是A的下一跳信息。对于一个大于24位的网络前缀,TBLlo

48、ng分配28=256个表项。由于B、C前24位相同,且C的长度超过24,因此需要使用第二个表TBLlong。在TBL24的10.54.34的表项中设置一个索引号,以此索引TBLlong,得到B和C的下一跳信息。,DIR-24-8-BASIC机制有许多优点: 尽管完成一次查找大致需要访问两次内存,但是两次操作是针对不同内存的,所以可采用流水线方式; 该机制的总内存成本最大是33MB DRAM(TBL24占32MB:22416bits,假定网络前缀超过24位的网络的数量为212=4096,对于每个大于24位的网络前缀,TBLlong中都会分配256个表项,每个表项仅存下一跳信息,即路由器的端口号,

49、如下一跳路由器少于256个,则下一跳的信息可以用1字节表示,因此TBLlong的容量为1MB); 非常适合于硬件实现; 采用流水线方式,应用50ns DRAM可实现每秒20106个分组的查找速率,查找时间等于一次内存访问时间。,71,DIR-24-8-BASIC算法 (4),72,基于CAM的路由查找算法,目前路由查找使用最多的硬件实现方法是使用内容寻址存储器(CAM, Content Addressable Memory)来进行快速路由查找,CAM能够在一个硬件时钟周期内完成关键字的精确匹配查找。常用的随机存储器(RAM)通过输入地址来返回该地址处所对应的表项信息,但是CAM的访问方式不同,因为一个CAM表项包含两部分:查找域(Search-Field)和返回域(Return-Field),查找域是和查找内容相匹配的部分(如已知的目的网络地址);返回域含有相关信息或一个索引。这样,输入分组关键字,CAM 就会将此关键字与CAM 中的所有表项同时进行匹配比较,最后返回匹配表项返回域所包含的信息。,

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

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

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


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

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

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