




已阅读5页,还剩74页未读, 继续免费阅读
(计算机系统结构专业论文)基于网络处理器的ipv6组播技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海交通大学硕士学位论文 i 基于网络处理器的基于网络处理器的 ipv6 组播技术研究组播技术研究 摘 要 近年来随着网络技术的飞速发展, 在 internet 上产生了许多高带宽应 用。在各种解决网络带宽瓶颈方案中,ip 组播技术是最有优势的方案之 一。如果使用了组播技术,即使网络中的用户数量成倍增长,主干网的 带宽消耗也不会随之大规模增加。众所周知,ipv6 是下一代互联网协议 的标准。ipv6 对组播技术有着直接的支持,在 rfc1752 中明确要求 ipv6 设备必须支持组播。 这样, 在 ipv6 网络中网络设备将普遍支持组播应用。 网络设备的研制开发和因特网的发展是相互促进的。随着对网络系 统的性能要求的不断提高,一种全新的处理器专门为网络处理而设 计的网络处理器应运而生。与传统的处理器不同,它既具有通用处理器 的低费用和灵活性,同时又具有 asic 的速度与可扩展性。许多芯片厂 商都推出了自己的网络处理器产品,其中英特尔公司的 ixp 系列网络处 理器芯片在网络处理器领域处于领先的地位。 本文的研究目标是使用网络处理器 ixp2400 构建 ipv6 组播路由器, 重点对组播路由器转发模块进行研究。本项目受 intel ixa 大学合作计划 上海交通大学硕士学位论文 ii 支持。 本文的创新工作主要有: (1)鉴于目前没有基于网络处理器的 ipv6 组播的成熟方案,提出 基于 ixp2400 的 ipv6 组播路由器的设计方案。 (2)在网络处理器的微引擎上实现了组播数据包的转发,其中对组 播数据包的复制问题,提出了数据包快速拷贝技术的解决方案,大大提 高了系统的效率。 关键词:关键词:网络处理器,ipv6,组播,路由器,复制数据包 上海交通大学硕士学位论文 iii the study of ipv6 multicast based on network processor abstract with the development of the network technology these years, there are more and more applications needing high bandwidth in the internet. among the different solutions to solve the bottle neck of network bandwidth, multicast technology is one of the most advanced. if we use multicast technology, even when the number of users in the network increases dramatically, the consuming of bandwidth in back-bone will not increase too much. it is well known that ipv6 is the standard protocol of the next generation internet. ipv6 supports the multicast technology directly. according to rfc 1752, ipv6 network device must support the multicast technology. so in ipv6 network, the network device will widely support multicast applications. the research of network device and the development of internet always promote each other. as the enhancement of the network applications performance requirement, a new processor,network processor, which is 上海交通大学硕士学位论文 iv specially designed for network tasks comes. it is different from the legacy processor. it is not only cheap and flexible like the general cpu, but also effective and scalable like asic. many chip factories have already had their own network processor products. in the network processor field, the ixp series from intel has the leading position. the research object of this paper is to design and implement an ipv6 multicast router based on ixp2400. the emphasis is to research the forwarding module. this project is sponsored by intel ixa university program. this article includes following innovative works: (1) now there is no a mature solution of the ipv6 multicast router based on network processor. this paper gives a design for the ipv6 multicast router based on ixp2400. (2) implement how to forward the multicast packets in the microengine of the network processor. and a solution called fast copying is given to copy multicast packets. it obviously improves the copying efficiency. key words:key words:network processor, ipv6, multicast, router, fast copying 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立 进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意 识到本声明的法律结果由本人承担。 学位论文作者签名: 王岩 日期: 2007 年 2 月 2 日 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许 论文被查阅和借阅。本人授权上海交通大学可以将本学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存和汇编本学位论文。 保密,在_年解密后适用本授权书。 本学位论文属于 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 王岩 指导教师签名: 胡越明 日期: 2007 年 2 月 27 日 日期:2007 年 2 月 27 日 上海交通大学硕士学位论文 1 第一章 绪论 介绍了课题的提出背景,说明了研究的意义,阐述了课题完成的内容,最后说明 了本论文的内容结构安排。 1.1 研究的背景和意义 近年来在 internet 上已经出现了越来越多的高带宽需求的多媒体应用,如可视化 ip 电话会议系统、网络音频视频点播和广播、多媒体远程教育、远程会诊等。而传 统网络最初是为数据传输而设计的,其点对点通信模式的特点使得当网络用户增加 时, 网络负载和网络延时也随之增加 1, 这就带来了带宽的急剧消耗和网络拥挤问题。 为了缓解网络瓶颈,人们提出各种方案,如增加互联带宽、改变网络流量结构、采用 ip 组播技术等。其中,组播技术在一对多、多对多的应用中有其独特的优越性。在 组播网络中,即使用户数量成倍增长,主干带宽也不需要随之增加。而在传统的单播 方式中网络带宽随用户数目的增加而线形增长。 组播是一种允许一个或多个发送者(组播源)发送同一数据包到多个接收者(一 次的,同时的)的网络技术。组播组中的主机可以在同一个物理网络,也可以来自不 同的物理网络(如果有组播路由器的支持) 。组播源把数据包发送到特定组播组,而 只有属于该组播组的地址才能接收到数据包。无论有多少个组播报文接收者,网络中 任一链路只转发单一的报文。因此在有多个接收者的应用中,组播技术可以大大节省 网络带宽, 减少数据冗余, 降低对服务器性能的需求, 减少主干网出现拥塞的可能性。 这些优势使 ip 组播技术有着广阔的应用前景和巨大的潜在市场。组播技术虽然有独 有的优势,但却一直未得到广泛应用。究其原因一方面有其自身原因,如可靠性、组 管理能力较弱、组播安全及网络拥塞等问题还未得到解决;但更重要的因素是,组播 应用需要网络中绝大多数的设备都支持组播,而目前很多 ipv4 的网络设备不支持组 上海交通大学硕士学位论文 2 播功能。 ipv6 是“internet protocol version 6”的缩写,也被称作下一代互联网协议,它是 由 ietf (the internet engineering task force)设计的用来替代现行的 ipv4 协议的一种 新的 ip 协议。ipv6 作为下一代互联网协议已经得到了各方的公认。ipv6 继承了 ipv4 的优点,并根据 10 年来对 ipv4 运用的经验进行了大幅度的功能扩充。ipv6 对 ipv4 报头进行了简化,采用固定报头长度。ipv6 扩展了地址空间,将地址由 32 位改为 128 位,且地址具有与网络结构相适应的层次结构,为 internet 的发展提供了巨大的 地址空间。ipv6 还可以支持网络的自动配置、更快的路由选择、更有效的路由聚合。 ipv6 分组的传输方式分成三种:单播、组播和任意播。其中单播指的是点到点的传 输,这是目前最常见的方式。组播是点到多点的传输。任意播是从某点到一组节点中 最近的节点的传输。可见在 ipv6 中是对组播有着直接的支持,而且在 rfc1752 2中 明确要求 ipv6 设备必须支持组播。这样,在 ipv6 网络中网络设备将普遍支持组播应 用,ipv6 的发展给组播技术的广泛应用带来了一个新的契机。 在过去的十几年中,网络设备的研制开发和因特网的发展是相互促进的。早期的 网络设备主要是由通用的 cpu 和专用标准设备组成。随着因特网的发展,通用 cpu 对某些网络处理任务,尤其是数据的接收、交换和转发方面处理性能难以满足要求, 网络处理器应运而生。与传统的处理器不同,它采用了全新的理念,使其既有 asic (application specific integrated circuit, 专用集成电路)的高速处理能力,又有完全 的可编程特性。由于 np 在网络数据处理方面的明显优势,它将成为高速网络设备支 持业务管理、安全与网络监控、qos 等网络功能必不可少的元件,可以说它代表了未 来网络设备设计的发展方向。使用网络处理器来实现 ipv6 的组播顺应了网络发展的 要求,必将成为网络应用研究的热点。 1.2 课题研究的内容 课题研究的内容主要包含以下几点: (1)研究 ipv6 组播相关的知识,包括地址结构,相关协议等等。 (2)研究分析了网络处理器 ixp2400 的结构特点,从更深的层次上剖析了网络 上海交通大学硕士学位论文 3 处理器的设计理念,并在此基础上建立了网络设备的结构设计原型。 (3)提出基于网络处理器 ixp2400 的 ipv6 组播路由器的整体设计方案。 (4)重点研究 ipv6 组播路由器转发的转发模块,特别是如何高效的复制组播数 据包的问题。 (5)搭建网络处理器的开发环境和测试环境,实现基于网络处理器 ixp2400 的 ipv6 组播路由器,并对其进行功能测试和性能测试。 1.3 论文的内容和组织 本文的内容及组织安排: 第一章 绪论,介绍了课题的提出背景,说明了课题研究的意义,阐述了课题完 成的内容,最后说明了本论文的内容安排。 第二章 ipv6 组播技术,介绍了 ipv6 组播技术相关知识,包括组播的方式,组播 的地址结构和组播的相关协议,最后介绍了 ipv6 路由器中实现组播的技术难点,说 明选择网络处理器作为转发引擎的优势。 第三章 网络处理器 ixp2400 体系架构,介绍了 ixp2400 的软硬件结构,总结了 ixa 体系架构的特点。 第四章 ipv6 组播路由器的总体设计,介绍了基于 ixp2400 的组播路由器的软硬 件设计, 分别说明了对运行在微引擎上的微块的功能和运行在内核上的内核组件的功 能。还将本文中的 ipv6 组播路由器的设计和现有的其他两种设计进行了比较。 第五章 ipv6 组播路由器的转发模块的详细设计,介绍了数据包在转发模块的处 理流程, 还介绍了转发模块中的路由表查询算法的实现和组播数据包快速拷贝技术的 实现。 第六章 ipv6 组播路由器的测试,首先提出了测试网络处理器性能的要素,然后 对 ipv6 组播路由器的性能进行了分析,最后对 ipv6 组播路由器进行了功能测试和性 能测试。 第七章 总结和展望,对所做的工作进行了全面总结和评价,并对系统今后进一 步的完善和发展进行了讨论。 上海交通大学硕士学位论文 4 第二章 ipv6 组播技术 本章介绍了 ipv6 组播技术相关知识,包括组播的方式,组播的地址结构和组播 的相关协议,还介绍了 ipv6 路由器中实现组播的技术难点,比较了 ipv6 组播路由器 的转发引擎实现的不同技术,最后说明选择网络处理器作为转发引擎的优势。 2.1 ipv6 组播技术简介 2.1.1 下一代互联网协议 ipv6 随着 internet 的发展,由于 ip 地址严重不足以及路由表规模的急剧膨胀等问题, ietf 提出了新一代的互联网协议 ipv6 3。 ipv6 继承了 ipv4 的优点,并根据 10 年来对 ipv4 运用的经验进行了大幅度的功 能扩充。ipv6 对 ipv4 报头进行了简化,其报头格式如图 2-1 所示,ipv6 采用固定报 头长度,基本报头全长为 40 个字节。其中版本号为 6,业务类型和流标记是两个新 导入的域。净荷长度源于 ipv4 报头中的报头长度,下一报头源于 ipv4 的协议类型, 跳数限制源于原来的 ttl。取消了 ipv4 报头中的选项,在 ipv6 中在基本报头之后加 上扩展报头来处理特殊分组。 ipv6 与 ipv4 相比具有明显的优越性。ipv6 将地址由 32 位改为 128 位,且地址 具有与网络结构相适应的层次结构,为 internet 的发展提供了巨大的地址空间。ipv6 分组的传输方式共有三种:单播、组播和任意播。其中单播指的是点到点的传输,这 是目前最常见的方式。组播是点到多点的传输。任意播是从某点到一组节点中最近的 节点的传输。在 ipv4 中存在的广播,在 ipv6 中被链路本地范围所有全节点组播 (ff02:1)代替。 上海交通大学硕士学位论文 5 图 2-1 ipv6 报头格式 figure 2-1 the format of ipv6 header 2.1.2 ipv6 组播的方式 组播就是将一个分组转发到一组节点,即用一个特殊的 ip 地址来表示多个节点 (接口) 。组播分组和单播分组一样以尽力传输的方式发送给一组主机。接收分组的 组成员是动态变化的, 任何时候都会有主机加入或退出组。 组播不限定接收者的位置、 个数,同一个节点也可以加入任意数量的组播组。 sender host b host a router 1 router 2 router 3 to ff15:1 图 2-2 ipv6 组播的一个例子 figure 2-2 an example of ipv6 multicast 图 2-2 是 ipv6 组播的一个例子。 图中 sender 向组播地址为 ff15:1 的组播组发送 数据长度 版本号 净荷长度 下 一 报 头 业 务 类 型 跳数限制 流标记 源地址(128 位) 目的地址(128 位) 上海交通大学硕士学位论文 6 视频流,host a 和 host b 加入了组播组 ff15:1,而 host c 没有加入。路由器将视频 流发送到主机 a 和主机 b,主机 c 则接收不到该视频流。这样,无论组成员有多少, 从发送方到路由器 1 间仅需发送一份数据,在组成员较多的情况下,可以大大的节约 带宽。 各主机可以根据需要自由加入和离开组播组, 组播数据由中间路由器判断是否将 其转发给主机,发送方并不清楚组成员的情况。对于点到多点或多点到多点的业务, 例如,公司内部发送消息、视频会议、发送新闻等,使用组播的好处是很显然的。虽 然在这些情况下,可以仍旧使用点到点的单播传输来进行发送,但发送方必须有所有 的接收者的列表,且要将同一个分组复制多份发送。即不能适应网络中组成员的动态 变化,同时又会在网络中形成大量冗余分组。若要采用广播方式,必然会给不需要该 数据的其它主机带来额外的负担。使用组播的机制由路由器间相互学习组成员信息, 发送者不必知道接收者的情况,发送分组在接收者的路径不同时才发生复制。无论组 播的接收者有多少,组播数据量是一定的。这样可以适应组播拓扑结构的不断变化, 节省大量的带宽,避免网络拥塞,提高服务性能。 2.2 ipv6 组播地址结构 目前,ipv6 组播地址结构 4如图 2-3 所示: 8bits 4bits 4bits 80bits 32bits 1111 1111 标志 区域 0(保留) group id 图 2-3 ipv6 组播地址结构 figure 2-3 the format of ipv6 multicast address ipv6 组播地址与单播地址的区别 5体现在地址的最高字节上,值为 ff(16 进制, 即二进制的 1111 1111)的就是一个组播地址, 任何其它的值都是单播地址。已定义 的组播地址如:ff02:1 表示链路范围的所有节点,ff02:2 表示链路范围所有的路由 器。 标志(flags) :4 个标志的集合:000t。其中高 3 位标志保留,其值必须为 0。t=0 上海交通大学硕士学位论文 7 时,表示永久分配的组播地址。t=1 时,表示非永久分配的组播地址。永久地址是指 那些著名的组播地址,由 iana(internet assigned number authority)定义并注册。如 ff02:1。 即使使用某一永久地址的组成员个数为 0, 也不可以用该地址来定义别的组。 临时地址可在应用发起时临时分配。临时地址是动态分配的,使用临时地址的组,只 有当它的组成员个数不为 0 时才存在。 区域(scope) :限制组播区域的 4 比特组播区域值,一些已经定义的区域值如图 2-4 所示: 1 节点(node local)范围 2 链路(link local)范围 5 场点(site local)范围 图 2-4 一些已定义的区域值 figure 2-4 the meaning of defined scope value group id:用于确定组播组,在给定的区域范围内,可以是永久的,也可以是暂 时的。永久地址已定义的 id 如 1 表示节点,2 表示路由器,9 表示 rip 路由器。临时 地址是临时发起的,无特殊含义。 请求节点地址(solicited-node address)是 ipv6 特有的组播地址,其形式为 ff02:1:ffxx:xxx 。 取 单 播 或 者 任 播 地 址 的 低 24 比 特 , 再 加 上 前 缀 ff02:0:0:0:0:1:ff00:/104。这样就生成了这个范围内的一个组播地址。与 ipv6 地址 fe80:250:4ff:feba:fe5 相对应的请求节点组播地址是:fe02:1:ffba:fe5。对一个 请求节点的组播地址来说, 其所有组成员的单播地址 ipv6 地址仅在最高位上有区别。 该地址用于邻机发现等 icmpv6 消息中, 由于请求节点组播可将不同的聚类网络前缀 映射到同一个被请求的节点地址,因此可减少必须加入的组播地址的数目。 当前由 ipv6 组播地址映射到 ieee 802 mac 地址的方法是, mac 组播地址的高 16 位规定为 0 x333,取 ipv6 组播地址的低 32 比特并用它来创建 mac 组播地址。小 于或等于 32 比特的 group id 将会产生唯一的 mac 地址。 上海交通大学硕士学位论文 8 2.3 ipv6 组播相关协议 2.3.1 ipv6 组播接收者发现协议 组管理协议是在网络中实现组播的重要协议,它的主要功能是在主机和路由器之 间交换必要的信息,使得路由器知道在连接的网段上有哪些主机需要提供组播服务。 在运行 ipv6 的网络里,新的组管理协议 mld 6(multicast listener discovery)协议取 代了原来的在 ipv4 网络中使用的 igmp 协议。目前 mld 协议有两个版本,分别是 v1 和 v2。 (1) mldv1 mldv1 协议 7只能用于 ipv6 环境, 与运行在 ipv4 环境下的 igmp 协议相比, 其 最大的变化在于使用 icmpv6 报文承载数据,而不像 igmp 直接使用 ip 报文承载数 据。 mldv1 协议的工作方式与 igmpv2 8协议类似。路由器定期发送查询报文,主机 如果想加入组播组,则通过报告报文对路由器进行响应。主机退出组播组时,发送退 出报文给路由器。主机之间采用响应抑制机制来避免发送重复确认。 mld 协议是 icmpv6 协议的一个子协议。 在一个 ipv6 数据报文中, 通过将 next head 字段的值置为 58 来表示该报文的数据部分是一个 mld 协议报文。同时将 hop limit 字段置为 1,增加逐跳选项头(hop-by-hop options header)中的路由器告警选项 (router alert option) 。路由器告警选项的目的是强制路由器查看该报文的内容。 类型 码点 校验码 最大响应延迟 保留 组地址 图 2-5mldv1 报文格式 figure 2-5 the format of mldv1 mldv1 报文格式与 igmpv2 8报文相比有些改变,主要是增加了码点字段。 其 格式如图 2-5 所示,主要内容如下: 上海交通大学硕士学位论文 9 (1)类型字段(type) :8bit。 mldv1 中有三种报文类型。 a、130:组播监听者查询(multicast listener query)报文。 用于路由器向主机查询组成员状态。 查询分为两种类型:通用查询(general query) , 组地址字段置为全 0,对所有的组进行组成员查询;特定组地址查询 (multicast-address-specific query),针对特定的组进行组成员查询,报文中的组地址字 段置为特定组的地址 9。 b、131:组播监听者报告(multicast listener report)报文。用于主机向路由器报 告加入某个组播组的信息。 c、132:组播监听者结束(multicast listener done)报文。 用于主机向路由器报 告离开某个组播组的信息。 (2)码点字段(code) :初始值为 0。 (3)校验和字段:16bits。 (4)最大响应时间字段(max response delay) :16bits。只有在组播监听者查询 报文中有效,主机必须在最大响应时间到达之前发出成员关系报告报文。 通过该值, 路由器可以调节组成员的离开延迟。 (5)组地址地段:128bits。在通用组查询中,置为 0;在特定组查询时,该字段 存放要查询的组播组的地址。在报告和完成报文中,分别用于存放主机要加入和离开 的组地址。 mldv1 的工作原理, 路由器通过 mld 协议来探察子网内有哪些主机需要接收组 播报文。在路由器内部有一个列表,保存着在路由器连接的子网内有组成员的组播组 地址。 并且针对每一个组地址有一个计时器。 路由器只知道某一个组地址有无接收者, 并不知道子网内有多少接收者或者接收者是哪台主机。 如果路由器有多个网络接口连接在同一个网段上,则路由器需要选择其中一个作 为发送 ipv6 数据报文的源地址。同时,该接口必须设置为允许接收所有的数据链路 层组播地址。当一个网段内连接有多台路由器的时候。必须选举一台路由器作为查询 路由器(querier router) ,其余的自然成为非查询路由器(nonqueried router) 。选 举的机制是 ip 地址最小的路由器当选,非查询路由器中有一个 other queried present 计时器,当该计时器到期仍没有收到来自查询路由器的报文,则认为该查询路由器失 上海交通大学硕士学位论文 10 效,重新开始新的选举。路由器定期向子网内所有的主机广播查询报文,目的地址为 ff02: :1,目的是获得主机的报告报文。在路由器刚开始工作时,会快速连续地发送 查询报文,以便尽快搜集到子网内的组成员信息,当主机接收到一个查询报文后,就 为每一个要接收的组地址启动一个延迟定时器。 定时器的值在0, max response delay 之间取一个随机数。如果查询报文中的 max response delay 字段被置为 0,则定时器 立刻到期。定时器到期后,主机会发送一个报告报文给路由器,通知路由器主机想接 收的组播组地址。如果一台主机在定时器还未到期时,就收到其它主机通告路由器的 报告报文,则读取该报文的组地址。如果和自己需要通告的组地址相同,则立刻停止相 应的定时器,并不再发送关于该组地址的报告报文。这样就可以避免多台主机发送相 同内容的报告报文给路由器。这种机制称为“响应抑制” 。 路由器收到来自主机的报告报文后,查看其中的组地址。如果该地址未在路由器 的组地址列表中,则将其添加到组地址列表中,同时为其启动一个相应的定时器。如 果该地址已经在路由器的组地址列表中,则将相应的定时器恢复最大值。如果一个组 地址的定时器到期了,则说明该组地址在子网内已经没有接收者了,路由器会将此组 地址从列表中删除。当一台主机想要加入某个组播组时,可以不必等待路由器的查询 报文, 而是直接向路由器发送报告报文, 为了保障该报文的可靠性, 一般会进行重传。 当一台主机想要离开某个组播组时,必须发送一个离开报文(类型 132)给子网 内的路由器(目的地址 ff02: :2) 。路由器收到离开报文后,会首先查看该组地址是 否在组地址列表中。如果在,则发送一个特定组地址查询给子网内的所有主机。在一 定的时间内,路由器收不到来自主机的应答,则会认为该组已经没有接收者。于是将 该组地址从列表中删除。非查询路由器会忽略所有的离开报文。 (2)mldv2 mldv2 10的提出,主要是为了配合源特定组播的实现,非常类似于 igmpv311 对于 igmpv2 的改进。 源特定组播 12(ssm:source specific multicast)是一种区别 于传统组播的新的业务模型, 它使用组播组地址和组播源地址同时来标识一个组播会 话,而不是向传统的组播服务那样只使用组播组地址来标识一个组播会话。ssm 保 留了传统 pim-sm 模式中的主机显式加入组播组的高效性, 但是跳过了 pim-sm 模 式中的共享树和 rp 规程。ssm 特别适合于点到多点的组播服务,例如视频点播、 上海交通大学硕士学位论文 11 在线网络教学等业务, 但是在多点到多点的应用场合还是需要 asm 模式。 为了在 ipv6 网络中实施 ssm 组播业务, 除了要求网络端到端的支持网络组播和 ssm 模式外, 同时还要求网络和应用支持 mldv2 协议栈。 mldv2 协议是 igmpv6 协议的子协议,mldv2 的报文类型有以下四种: (1)type130:multicast listener query (2)typeiana 尚未确定:version2 multicast listener report (3)type131:version1 multicast listener report (4)type132:version1 multicast listener done 其中后两种报文是为了兼容 mldv1 协议。 mldv2 的工作原理和 mldv1 并没有本质的改变, 只是在某些地方做了改进和优 化。 以下列出了 mldv2 的主要改进: (1)支持源特定组播 ssm。 (2)主机可以维护每个接口上每个套接字上的组播接收状态,并且针对每一个 组播地址可以定义一个过滤模式和一组源地址。 (3)路由器中,除了组播地址列表外,还维护着每个组播地址相关的过滤模式、 源地址列表、源计时器等信息。 而在 mldv1 中,路由器只维护一个组播地址列表。 (4)qrv 和 qqic 字段可以使同一网段上的 mldv2 路由器保持同步。 (5)主机可以定义要接收的组播源地址。 (6)最大响应时间增加到 140 分钟,适合于较大的网络。 (7)辅助数据字段为将来的应用预留了空间。 (8)报告报文中可以包含多个针对不同组播地址的记录,而 mldv1 中,针对每 个组播地址都需要发送一个报告报文,因此 mldv2 可以有效地减少网络通信量。 (9)在 mldv2 中,取消了前面版本中的响应抑制功能。 (10)在查询报文中,增加了 9 标志位,可以提高系统的健壮性。 (11)取消了 45670 中的完成报文(done message) 。 上海交通大学硕士学位论文 12 2.3.2 ipv6 组播路由协议 pim(protocol independent multicast) 13是一种与其它协议无关的独立协议。 为了 获得网络拓扑以决定路由,采用一种叫做逆向路由检测的策略。 它可利用各种单播 路由协议建立的单播路由表,完成逆向转发检查功能,而不是维护一个分离的组播路 由表实现组播转发。 由于 pim 无需收发组播路由更新, 所以与其它组播协议相比, pim 开销降低了许多。pim 有两种模式 14:稀疏模式和密集模式。pim-sm 15对于 稀疏分布的组播组来说具有很高的传输效率, 而这种分布形式的组播组在当前的互连 网中是相当普遍的。 pim-sm 的设计思路 16是,如果有几个主机想要加入一个特定的组播组那么就不 会向整个网络泛洪组播数据包。 pim-sm 只向加入了组播组的路由器发数据包, 没有 加入的路由器不会收到数据包,以此来减少网络数据流量。与 pim-sm 不同的是, pim-dm 17假定当一个源要发送组播数据时,其下游所有分支都希望接收此数据组 播。 由于 pim-sm 协议对于具有更普遍适用性,下文主要讲述 pim-sm 协议。 pim-sm 采用共享树 18进行组播数据包转发。要使路由器 pim-sm 协议能够正常 工作,路由器的每个接口都应该采用 pim-sm 构成 pim-sm 域 19。同时,路由器的 每个子网都应该至少有一个候选指定路由器, 由此在每一个子网中产生一个指定路由 器。 指定路由器是组播树中的边缘路由器,它是连接主机与上层路由器的桥梁,它 既能处理 mld 消息,又能处理 pim 报文。同时整个网络至少应该有一个候选启动路 由器,由此来产生启动路由器。整个网络中也至少应该有一个候选集合点,由此来产 生此组播组的集合点。每一个基于共享树的组播组均有一个集合点 rp(rendezvous point)。 组播源沿最短路径向 rp 发送数据,再由 rp 沿最短路径将数据发送到各个 接收端。 dr(designated router),dr 是与主机直接相连的路由器,它生成组播路由表,处 理和转发与其相连的接收者或者源发送的 join/prune 消息和 register 消息,转发组播 数据包。 想要加入某一组播组的每一个子网都应该有一个指定路由器。对于只有一 台路由器的网络,此路由器就是 dr。对于有多台路由器相连接的网络,路由器的每 一个接口都是一个候选指定路由器,且每一个接口都对应一个 dr 权值。此值越大, 上海交通大学硕士学位论文 13 优先权就越高,缺省值为 1。如果协议要从多个路由器中选出一个 dr,那么权值最 高的被选中。 如果权值相同,那么 ip 地址高的那个被选中。 bsr 20 (bootstrap router),每个 pim-sm 域里都有一台路由器作为 bsr(bootstrap router)。每一个 pim-sm 域里至少应该有一台以上 c-bsr(candidate-bsr),每台 c-bsr 均有一个优先值,pim-sm 协议选优先值最高的路由器作为 bsr。bsr 可以 是 pim-sm 域里动态选出的,当然也可以静态指定。它的任务是构造 rp-set 和产生 bootstrap messages。rp-set 是 bsr 收到候选 rp 公告报文后构造的一系列 rp 地址 集。 rp 21 (rendezvous point),对于共享树来说,每一个组播组均有一个 rp,可以说 rp 就是共享树的根。rp 可能通过 c-rp(candidate rp)动态选择确定,也可以通过静 态直接指定 22。动态选择时,pim-sm 域23中至少应该有一个 c-rp 每个 c-rp 有个 优先值,同时它周期性地向 bsr 发送 candidate-rp-advertisement 公告报文,声明自 己想要做一个特定组播地址前缀的 rp, bsr 根据协议从 rp-set 中选择最低优先值的 c-rp 作为组播组的 rp。因为优先值越低,权值越高。当一个主机加入到一个组播组 时,其 dr 发送一个 join 消息到 rp,此时 rp 就知道此路由器加入了此组播组。当 此 dr 下的最后一个此组播组的主机离开了此组播组, dr 发送一个 prune 消息组 rp, 告诉 rp 此路由器离开组播了。 2.4 ipv6 组播的优越性 从 ipv6 的组播地址格式定义,可见其相对于 ipv4,ipv6 所具有的显著的优越性。 (1)具有更大的组播地址空间。 ipv4 所定义的地址空间只相当于 16 个 a 类地 址,对于全球的组播应用来说是远远不够的,而 ipv6 预留了 112 位的组标识符。 (2)范围字段的应用。组播地址不同于单播地址,它不专属于某一个主机或应 用。 除了少数为协议实现而预留的地址外,其他地址都是根据需求动态地分配给组 播应用的用户。这样会出现一个组播地址同时被多个组播应用所使用的情况,这就需 要保证它们之间传播的范围不会重叠。ipv4 虽然使用了 ttl(报文存活时间)来控 制组播报文传送的范围,但是 ttl 不够精确,还是会存在不同应用间报文范围重叠 上海交通大学硕士学位论文 14 的情况。而 ipv6 在地址格式中规定了范围字段,这样就可以很方便地划分组播域 24, 根据组播域来控制组播应用的传播范围。 (3)定义了新类型的组播地址请求节点地址,用于某些 icmpv6 25消息中。 请求节点地址是 ipv6 特有的组播地址,其形式为 ff02:1:ffxx:xxx。对一个请求节 点的组播地址来说,其所有组成员的单播地址(ipv6 地址)仅在最高位上有区别。 该地址用于邻机发现等 icmpv6 消息中, 由于请求节点组播可将不同的聚类网络前缀 映射到同一个被请求的节点地址,因此可减少必须加入的组播地址的数目。 (4)ip 组播还被分为域内组播和域间组播 26,改善了其可管理性。 首先,增强了组播的可扩展性和安全性。每个组播域有自己的组播地址空间,使 用该地址空间的组播报文只在本组播域中转发, 域的边界路由器不向域外转发该地址 空间的组播报文。 多个处于相同层次的范围较小的组播域可以组成一个更高层次的范 围较大的组播域,不同层次的组播域的组播地址空间不相互重叠,相同层次的组播域 可以有相同的组播地址空间。 其优点在于用户可以根据自己的要求选择使用适当组播 域的组播地址,使组播报文在期望范围内转发。 其次,这种层次结构有利于带宽控制,在本地享有高速数据传输,同时防止本地 高速组播信息阻塞域间低速链路。 此外,域内组播地址更易于获取。每个组播域内的组播地址可由本地地址服务器 动态分配。 2.5 ipv6 路由器中的组播技术 2.5.1 ipv6 组播路由器的技术难点 组播作为一点对多点的通信,是节省网络带宽的有效方法之一。在网络音频、视 频广播应用中,当需要将一个节点的信号传送到多个节点是,无论是采用重复点对点 通信方式,还是采用广播通信方式,都会严重浪费网络带宽,只有组播才是最好的选 择,而且 rfc1752 中明确要求 ipv6 设备必须支持组播。因此在 ipv6 路由器中实现 组播功能有很强的现实意义。 ipv6 组播路由器的实现有 3 个业内公认的技术难点: 上海交通大学硕士学位论文 15 (1)首先,要维护协议的状态机,需要向路由器的控制平面传送大量的数据报 文,这造成了控制平面的负载增加。 (2)ipv6 组播路由器的转发引擎的问题,因为在转发过程中涉及数据报头的验 证,路由表的查找,数据包的复制等操作,而且 ipv6 的地址 128 位,远比 ipv4 地址 长。虽然 ipv6 基本头的结构比较简单,但是逐跳选项扩展头是沿途每一个路由器必 须处理的,因此 ipv6 报头综合处理逻辑关系比较复杂。由于 ipv6 路由器的各个主要 功能都要有转发引擎的支持,因而高效的转发引擎是 ipv6 组播路由器中最具挑战的 部件之一。 (3) 组播协议目前来说还不够完善, 需要路由器的转发引擎具有较大的灵活性, 以适应未来协议的发展。 其中 ipv6 组播路由器的转发问题是本文的研究重点。 2.5.2 ipv6 组播路由器的转发引擎 转发引擎的核心器件随着应用的发展,也经历了很大的变化。现在主要有四种核 心转发引擎。 (1)通用 cpu:采用通用 cpu 作为硬件转发平台具备高度灵活性的优势,在 路由器发展的上个世纪 80 年代末到 90 年代 10 多年期间,网络上的路由器大都是用 cpu 作为核心转发硬件,现在主要出现在一些对性能要求不高的场合。 (2) asic (application specific integrated circuits)芯片:asic 是针对具体应用 而设计的芯片,设计者可以根据具体的要求尽量地做到优化,比如说速度优化。由于 具有较强的针对性,因此对于特定的业务,asic 芯片能够同时提供极高的转发性能 和较低的成本。但由于 asic 的固定特性使得其一旦产出后无法添加新功能,缺乏对 多业务的灵活性支持。另外,as ic 的开发周期也很长,通常需要 23 年的时间。 (3) fpga (field programmable gate array):fpga 具有可编程的能力,具有较 高的灵活性,便于实现多业务支持,同时,由于其可编程性是通过硬件实现的,因此 可以提供较高的转发性能。用 fpga 实现的时间约为 18 个月。 (4) np (networking processor): 网络处理器内部通常由若干个微处理器和硬件 上海交通大学硕士学位论文 16 协处理器组成,通过预先编制的微码来控制处理流程。而对一于一些复杂的标准操作 (如内存操作、路由表查找算法、qos 的拥塞控制算法、流量调度算法等)则采用硬件 协处理器来进一步提高处理性能,从而实现了业务灵活性和高性能的有机结合。 2.5.3 使用网络处理器作为转发引擎 在本设计中采用网络处理器作为转发引擎。理由如下: (1)网络处理器并发处理能力强,如在网络处理器 ixp2400 中有 8 个微引擎去 负责数据包的处理任务。而且每个微引擎上有 8 个线程可以并发执行。 (2) 网络处理器具有强大的编程能力, 系统的 “硬件” 功能可以通过软件模块(微 码)的方式方便的进行添加、删除,灵活性强,易于升级。 (3)网络处理器功能开发周期较短,一般为 6 个月。 网络处理器从 2000 年初出现,到现在被许多网络设备制造商选作新一代高端路 由器设备的核心处理器,网络处理器技术有了高速的发展。而这段时间,能够开发出 成熟的网络处理器芯片的公司也从开始的两三个迅速增加到十几个, 而且处理能力也 从开始的 2.5gbit/s 扩展到 10gbit/s,虽然目前网络处理器的实用化水平还不如 asic 芯片等技术那么普及,但是从网络处理器的发展我们可以看出,网络处理器技术在网 络产品的市场中将会占据越来越重要的位置。 在本系统中采用了英特尔 ixp2400 网络处理器,将在下一章中对 ixp2400 的体 系架构作详细的介绍。 上海交通大学硕士学位论文 17 第三章 网络处理器 ixp2400 ixa 体系架构 intel 公司推出 intel ixa(the intel internet exchange architecture,英特尔因特网 体系架构) ,它包括两个方面:硬件平台方面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年美术教育专业能力测评试卷及答案解析
- 2025年旅游规划实务考试试题及答案解析
- 2025年劳动保护知识题库含答案
- 2025年技术经纪人入门面试题库及答案
- 2025年建筑建材工程师资格考试试题及答案解析
- 2025年环境卫生管理师专业资格考试试题及答案解析
- 2025年化学分析师专业资格考试试题及答案解析
- 2025年市场调研分析师职位面试指南及模拟题解答
- 2025年财务会计专业高级面试技巧与答案
- 产品培训教学课件怎么做
- GB/T 45953-2025供应链安全管理体系规范
- 速冻机在果蔬加工中的应用考核试卷
- 2025年初级律师助理面试必-备题库及解析
- 2025年秋季开学第一课《翻越你的浪浪山》课件
- DB11∕T 510-2024 公共建筑节能工程施工质量验收规程
- 【2020】高中英语人教版必修一词汇 词性转换
- 部编版小学六年级上册《道德与法治》全册复习课件
- GJB标准化大纲
- 钢筋混凝土排水管二级管配筋设计图册
- 同济大学复变函数复变函数与积分变换课件
- 教导处行事历
评论
0/150
提交评论