网络系统设计与网络处理器 主讲:华蓓 实验室:电一楼(安徽省计算与通讯软件重点实验室) 电话: 3607043 Email:bhua@ustc.edu.cn 主页: http://staff.ustc.edu.cn/~bhua
课程目标 了解网络系统的主要设计和实现问题 了解网络处理器的体系结构及各种设计考虑 了解如何利用网络处理器的体系结构特点优化网络算法的实现,提高算法性能 了解目前通用多核技术的发展现状
课程主要内容 网络系统的包处理功能,及第一代网络系统的硬件体系结构特点 第二代网络系统的硬件体系结构特点 第三代网络系统的特点以及网络处理器技术 Intel IXP 2XXX 网络处理器 多核网络处理器的最新进展 通用多核处理器的相关进展 高速网络系统中一些关键算法的优化实现(在Intel网络处理器及Intel通用多核架构上)
参考教材 D.Comer, Network Systems Design using Network Processors (Intel IXP 2XXX Version), Pearson Prentice Hall, 2006. 张宏科等,网络处理器原理与技术,北京邮电大学出版社,2004. 会议论文
课程要求 了解目前网络系统设计面临的主要问题及技术发展的主要趋势 了解网络处理器的技术特点 学会利用网络处理器/多核处理器的体系结构特点优化算法性能 学会使用OPNET网络仿真工具
学习建议 关注设计原则,特别是各种因素的权衡考虑 关注性能与代价 重视实验及实验数据分析
考核与成绩计算 作业: 评分: 阅读文献 两个实验:50分 综述报告:50分 作业按时交,过时不计成绩 被确认为抄袭的,不计成绩 满足基本要求得75%,其余25%是对完成质量较好的作业的奖励
第一章 概 述 为什么要设计新的网络系统 为什么要使用网络处理器 因特网中常见的网络系统 网络协议回顾(略)
因特网体系结构 因特网的设计目标是适应任意的应用和通信技术,事实证明它的设计是非常有效的: 尽管新的应用与最初的应用有着很大的不同,但网络的主要基础设施仍然保持不变。 新的传输媒体和传输技术的出现并不要求对协议或应用做任何改变。
因特网存在的问题 如果现在的因特网已经有了足够的能力来支持所有可能的应用,我们为什么还要设计新的网络系统? 性能:尽管现有的因特网能够支持任何一种应用,但性能可能不是最好。解决方法是改进网络体系结构或改进网络系统设计。 扩展性:当链路速度和网络流量进一步提高时,现有网络系统无法满足性能要求。解决方法是改进网络系统的设计来适应更高的流量。 本课程讨论如何通过改进网络系统的设计来提高性能。
“网络工程”与“网络系统工程” 网络工程:指一个网络或一个企业网的宏观设计(如选择拓扑结构等)。 网络系统工程:指单个系统(如网桥、路由器等)的设计。 网络系统工程的主要任务是协议实现,即确保最终的系统能够正确地与其它系统互操作。 网络系统设计的难点是要找到一种高效的实现方法,使得网络系统具有高性能(高速度)、低成本和易于维护的特点。
多高的速度是高速度? 网络与链路的速率变化 目前所谓的高速一般指10Gbps及以上。 局域网:10Mbps,100Mbps,1Gbps,10Gbps,…… 数字线路:T1,OC-3,OC-12,OC-48,OC-192…… 常见的数字线路标准 T1 1.544Mbps OC-3 155Mbps OC-12 622Mbps OC-24 1.2Gbps OC-48 2.4Gbps OC-192 10Gbps OC-768 40Gbps 目前所谓的高速一般指10Gbps及以上。
网络的性能瓶颈(1) 早期网络的性能瓶颈在链路带宽。 目前网络的性能瓶颈在网络系统: 在过去的10年中,线路速率的增长速度远远超过了处理器性能的增长速度。 路由器线速转发的条件越来越苛刻。以10Gbps以太网、最小帧长64字节为例,线速转发要求包的最大处理时间为51.2ns。 处理器速度:处理一个IP包通常要求1600条以上的RISC指令,若RISC处理器的时钟频率为1.5GHz,一个时钟周期执行一条指令,约需要1067ns完成处理。这只考虑了最基本的协议处理,以及只处理一个端口上的数据包。对于N个端口的多端口网络系统,其集合速率必须是端口速率的N倍。
网络的性能瓶颈(2) 采用常规硬件体系结构不可能实现线速转发。 内存访问速度:按目前的存储器访问技术,一次典型的SRAM读访存约需要100ns,一次DRAM读访存约需要200ns以上,而包处理程序通常是访存密集型的(检查包头中的域,查各类表,改写包头等),处理每个IP包平均需要访存10次以上。 采用常规硬件体系结构不可能实现线速转发。
网络系统的设计重点 高性能网络系统的主要设计任务是消除各种性能瓶颈: 硬件体系结构: 软件: 通过使用多个处理器(并行)来提高硬件速度 提高底层系统的总线能力,避免输入输出成为瓶颈 软件: 巧妙设计数据结构和算法,关注实现细节
第一章 概 述 为什么要设计新的网络系统 为什么要使用网络处理器 因特网中常见的网络系统 网络协议回顾(略)
网络处理器出现之前的设计方案 软件方案 硬件方案 这两种方案之间的讨论,是工程上关于性能和灵活性的一个经典讨论。 采用标准的商用CPU(通常为RISC处理器),数据包处理用软件实现 优点:灵活性好,系统修改和升级容易,保护硬件投资 缺点:通用CPU的数据包处理能力低下,存储器瓶颈,指令集不合理(如缺乏比特级操作) 硬件方案 采用专用硬件实现,如ASIC 优点:速度快 缺点:灵活性差,开发周期长,成本高 这两种方案之间的讨论,是工程上关于性能和灵活性的一个经典讨论。
为什么使用网络处理器 网络处理器方案 网络处理器是一种新型芯片,可以提供类似通用CPU的强大编程能力,同时又具有ASIC处理数据包的高速度。 优点:速度快,灵活性好,开发周期短,保护硬件投资。 设计关键:适合数据包处理的特殊电路、适当的体系结构和特定的指令集。
第一章 概 述 为什么要设计新的网络系统 为什么要使用网络处理器 因特网中常见的网络系统 网络协议回顾(略)
因特网中的网络系统 主机:接入因特网并能和因特网上其它计算机通信的常规主机。 网桥:连接两个网络并在两个网络间转发帧的网络系统。 交换机:连接两个或多个计算机并在它们之间转发帧的网络系统,也称二层交换机。 VLAN交换机:能够模拟多个网段的二层交换机。 路由器:连接若干网络并在它们之间转发分组的网络系统。三层交换机是路由器的同义词。
因特网中的网络系统(续) 防火墙:根据管理员的安全策略提供安全保护的网络系统。 虚拟专用网(VPN)网关:利用加密在因特网上提供保密通信的网络系统。 网络地址转换器(NAT):安装在网点和因特网之间用于转换私有地址与全局地址的网络系统。 负载均衡器:安装在大型Web网站上用于分配Web请求的网络系统。七层交换机及layer 4+ switch是负载均衡器的同义词。 机顶盒:与数字娱乐系统一起使用以允许用户选择广播节目或请求定制内容的系统。
因特网中的网络系统(续) 流量监视器:能够测量来自或去往一组目的节点的峰值流量或平均流量的系统。 流量管制器:根据网络管理员给定的流量规范丢弃超规范流量的系统。 流量整形器:根据给定的流量规范调节输出流量速率(延迟某些分组)的系统。 包分析器:连接到一个网络上通过捕获分组的拷贝来测量网络性能的系统。包分析器用来检测问题和测量负载。
网络协议回顾 略
作业 从相关网站上下载并安装OPNET教育版软件,阅读相关文档,学习OPNET软件的使用。