第二部分-第二代网络系统课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第二部分-第二代网络系统课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 部分 第二代 网络 系统 课件
- 资源描述:
-
1、第二部分 第二代网络系统主要内容p用于协议处理的硬件体系结构p分类和转发p交换结构1.传统的软件路由器p第一个网络设备是分组交换机,使用的是小型机。p第一个商用的IP路由器是软件路由器,使用常规的计算机硬件:n由通用处理器、共享内存、共享总线、若干个网卡组成n通用处理器执行大部分的协议处理任务,网卡完成组帧及地址识别n适用于低速系统,成本低。2.路由器的速度p路由器的处理速度决定了:n可以连接到路由器上的网络的最大速率n路由器能够支持的最大网络接口数p集合速率和端口速率:n集合速率:数据进入或离开一个网络系统的总速率,是系统处理能力的测度。n端口速率:在一个网络接口上数据进入或离开的速度。p数
2、据速率和包速率:n数据速率:单位为比特/秒。n包速率:单位为包/秒(pps),取决于网络的吞吐量和包的长度。不同网络中的包速 注:灰色条块代表大数据包的速率一个包的最大处理时间注:以上仅是一个网络接口的数据,如果有N个端口,则每个包的处理 时间还要除以N。一个软件系统能够支持多大的包速?p处理一个数据包的时间包括:n中断处理n将包拷入内存n包的协议处理:取决于包的内容(如使用的协议)p一个典型的运行Linux内核的PC机,每秒最多可以处理50000个IP包(每个数据报只做最少的处理)。p若数据包要经过防火墙软件处理,则每秒种最多处理8000个包。软件路由器的能力p考虑两个10Base-T的以太
3、网。每个网络的最大包速是19500pps,每个包的处理时间不超过25.6微秒,处理每个包的指令数一般在500010000条之内。因此,CPU的执行速度必须在195Mips390Mips之间。p许多商用的CPU可以有超过400Mips的执行速度,因此软件路由器可以连接大约两个10Mbps以太网。p考虑一个10Gbps的网络,每微秒产生大约20个数据包,CPU每秒钟必须执行21011 条指令。p结论:运行在通用处理器上的软件无法应对高速网络。3.克服单CPU瓶颈p细粒度并行(指令级并行)p对称粗粒度并行(对称多处理器)p非对称粗粒度并行(非对称多处理器)p专用协处理器p智能NICp数据流水线3.1
4、 细粒度并行(指令级并行)p目前几乎所有的处理器均采用了指令流水线来重叠指令的执行,但数据包处理程序中可以利用的指令重叠很少。p利用程序中的循环级并行,如采用向量指令。向量指令可以同时操作在一组数据单元上,比如进行检查和计算时,对内存中连续8个位置的数值同时相加。但数据包处理程序中可以利用的循环级并行很少。p细粒度并行对包处理来说优势不明显n包处理功能很少能被细粒度优化的n程序必须花时间建立并行指令n细粒度并行仅能改善CPU性能,而多数情况下访存或I/O是瓶颈3.2 对称粗粒度并行(SMP)p在一个计算机上汇集一组相同的CPU,系统资源被所有CPU共享,工作负载被均匀分配到所有可用的CPU上。
5、p典型的设计:每个CPU处理一个包,或者每个CPU执行一个协议。p使用N个处理器的网络系统获得的性能增益不是单处理器系统的N倍:n大多数多处理器系统使用一个共享内存n包处理软件必须协调对共享数据结构(如队列)的访问n只能增加处理能力,不能自动增加I/O带宽。3.3 非对称粗粒度并行p使用多个可并行执行的异构处理器,每个处理器针对一种任务而优化,使用特殊的指令集。p非对称多处理器的缺点:n每一个处理器都要有自己的指令n比对称系统难以编程n需要协调对共享数据结构的访问n通用性差,不适用于其它任务或协议n成本很高3.4 专用协处理器p使用一个通用CPU加上一个或多个专用协处理器构成网络系统。p协处理
6、器是在CPU控制下运行的一个硬件:n灵活的设计自由度:协处理器可以设计得很复杂,也可以设计得很简单n不要求独立运行,没有通用指令,也没有取指令-执行周期n可以像软件例程一样被调用n可以被异步调用,从而允许系统同时处理多个包或对同一个包执行多个独立的操作 p一般将消耗CPU时间最多或最频繁执行的操作(如检查和计算,加/解密等)用专用协处理器实现。p协处理器通常采用ASIC技术实现,ASIC(Application Specific Integrated Circuit)是指为某种特殊需要而定制的集成电路。3.5 智能NICp可以将一部分处理转移到网卡上:n地址识别和过滤,包缓存,DMA,操作链n
7、验证IP头校验,从IP头中抽取某些域,执行加密或压缩等 p在网卡上增加处理的优点:n减轻CPU的负担n不要求NIC有很高的处理速度p使用ASIC硬件实现智能NIC:n设计专用芯片,集成到网卡上,如链路层芯片组、第3层ASIC芯片等n速度快p使用嵌入式RISC硬件实现智能NIC:n使用标准的RISC处理器代替定制硬件n代价低,易于修改,允许将更多的处理功能转移到NIC上TCP Offload Engine(TOE)pTOE将处理TCP/IP的许多开销从主机转移到网卡,只将TCP/IP控制保留在主机上。3.6 数据流水线p由一系列硬件stage组成的硬件体系结构,数据包经过每一级时被执行一种操作。
8、p优点:n适合于多种协议处理任务n每一级可以做得很简单,运行得很快n所有级可以同时运行4.总结p传统的基于软件的网络系统已经不能适应高速网络的需要p高速网络系统需要特殊的硬件支持p可能的硬件体系结构包括:n多处理器系统nASIC协处理器n智能NICn数据流水线主要内容p用于协议处理的硬件体系结构p分类和转发p交换结构1.解多路复用的局限性p解多路复用:n与分层协议一起使用,数据包穿过协议栈时每次前进一层。n在输出端,包头中的类型域指明封装的格式。n在输入端,每一层上的软件选择高一层上的一个协议模块。p特点:n使用全局类型系统,发送方参与,逐层执行。p优点:n传输效率高:每一种协议的包头只需要包
9、含本协议需要的域n灵活定义新的协议类型:每个协议独立地定义它的协议头,不同协议头中的域不共享 p缺点:n逐层顺序执行使得实现上很低效2.包分类p基本思想:一次性检查所有层次上的相关域,将包划分到相应的类(也称流)中。p举例:n从输入的以太帧流中分离出去往Web服务器的流量n描述该流量的规则集:p以太帧的type域为0 x0800(IP)pIP头中的protocol域为6(TCP)pTCP段中的destination port域为80(HTTP)n从概念上说,分类器需要计算以上三个条件的逻辑“与”3.用软件实现分类p比较各级包头中的相关域,进行逻辑“与”运算p比如:If(type=0 x0800
10、)&(protocol=6)&(destination port=80)Declare the packet matches the classification;Else Declare the packet does not match;优化软件实现方法p重新排列条件测试的顺序,将能够过滤掉较多流量的测试排在前面;p比如,若已知95%的帧携带了IP包,92%的IP包携带了TCP段,85%的TCP段的目的端口号为80,则:If(destination port=80)&(protocol=6)&(type=0 x0800)Declare the packet matches the clas
11、sification;Else Declare the packet does not match the classification;4.用硬件实现分类p建立专用的并行硬件,避免头域的顺序测试。p步骤n抽取多层报头中的相关域n将这些域连接成一个多字节的值n与分类规则中给出的常数进行比较p在前面的例子中,分类器将type、protocol和destination port三个域中的值连接成一个5字节的值,然后与08 00 06 00 50进行比较。一个硬件分类器的例子包头长度不固定的解决方法p方法一:在并行测试中增加对长度域的检查,针对每一种可能的包头长度设计一组分类规则。如在前面的例子中,
12、假设IP头长度有20字节和24字节两种,则设计两组规则:Set 1Set2 以太帧的type域为0 x0800 以太帧的type域为0 x0800 IP头中的头两个字节为0 x45 IP头中的头两个字节为0 x46 IP头中的protocol域为6 IP头中的protocol域为6 距IP头22个字节处的域为80 距IP头24个字节处的域为80 p方法二:建立一个能够顺序计算报头偏移量的硬件,抽取当前协议头长度,并移动相应的距离到下一个协议头。5.混合硬件/软件实现方法p硬件分类方法:代价高昂,灵活性差p软件分类方法:灵活性好,速度不高p混合硬件/软件方法:n结合硬件分类的高速度与软件分类的灵
展开阅读全文