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

链接地址:https://www.31ppt.com/p-5662545.html