(计算机软件与理论专业论文)二层交换机上igmp+snooping协议的实现研究.pdf_第1页
(计算机软件与理论专业论文)二层交换机上igmp+snooping协议的实现研究.pdf_第2页
(计算机软件与理论专业论文)二层交换机上igmp+snooping协议的实现研究.pdf_第3页
(计算机软件与理论专业论文)二层交换机上igmp+snooping协议的实现研究.pdf_第4页
(计算机软件与理论专业论文)二层交换机上igmp+snooping协议的实现研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机软件与理论专业论文)二层交换机上igmp+snooping协议的实现研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 学科专业:计算机软件与理论 论文题目:二层交换机上i g m ps n o o p i n g 协议的实现 硕士生:尹海春导师:陈景春教授 多媒体己成为互动娱乐、教育和综合信息化内容的首选媒介。传统的 i n t e r n e t 点对点传输的单播方式面对大量的多媒体应用传输已经显得力不从心。 组播技术则正是为解决此类问题应运而生的。目前以太网交换机在构建网络时己 得到越来越广泛的应用,在交换机上实现组播已显得十分必要。本文主要探讨在 以太网交换机上的一种组播协议:组播侦听协议。 本文首先分析了组播技术和以太网设备的发展形势和用户需求,介绍了国内 外几种组播技术的特点,强调在以太网交换机上实现组播技术的必要性;然后, 详细讨论了二层交换机上组播侦听协议的实现技术,并对所实现的组播控制功能 提出了自己的测试方法,给出了几种测试实例;最后,通过阐述当前以太网交换 机的组播技术实现的方法和动向,为今后在以太网交换机上组播技术的进一步完 善和发展给与启示。 本文设计实现的组播侦听协议代码量很小,与底层协议平台的耦合度也非常 小,此外还具有很强的可伸缩性,并提供了方便的配置接口。因此,本实现不仅 适用于而二层以太网交换机,而且可以非常轻易的移植到其它更高级的网络设备 如三层交换机。二层交换机上的测试证明了软件实现的正确性和完整性。同时, 本论文提出的的测试方法对规范组播软件测试具有一定的参考价值。 关键词:组播,组播侦听,组播控制测试方法 a b s t r a c t m a j o r :c o m p u t e r s o f t w a r ea n dt h e o r y s u b j e c t :r e s e a r c ho n t h ei m p l e m e n t a t i o nt e c h n o l o g yo f l g m p s n o o p i n gf o r t h e l a y e r2s w i t c h g r a d u a t es t u d e n t :y i n h a i c h u n t u t o r :p r o f c h e n j i n g c h u n m u l t i m e d i ah a sb e e nt h ec h i e f l ym e d i ao fa m u s e m e n t e d u c a t i o na n d t h et h i n g so fi n t e g r a t i o ni n f o r m a t i o n c o n v e n t i o n a lu n i c a s to fp o i n tt o p o i n to ni n t e r n e th a sn o te n o u g hc a p a b i l i t yt os u p p o r tt h et r a n s m i s s i o n o f1 0 t so fm u l t i m e d i aa p l i c a t i o n s t h et e c h n o l o g ym u l t i c a s tj u s tc a n r e s o l v et h e s e p r o b l e f f l s g t h e r n e t s w i t c h sh a v eb e e nu s e d w i d e l y i n c o n s t r u c t i n gn e t w o r k sn o w a n di ti sv e r yn e c e s s a r yt or e a l i z em u l t i c a s t o i ls w i t c h s i nt h i sp a p e r ,t h em u l t i c a s tp r o t o c o l ( i g m ps n o o p i n g ) 0 1 7 e t h e r n e ts w i t c hi sd i s c h s s e d t h ep a p e rf i r s t l yd e s c r i b e st h ed e v e l o p m e n tp o s i t i o na n dt h eu s e r s r e q u i r e m e n to ft h em u i t i c a s ta n dt h eg t h e r n e ts w i t c h s ,i n t r o d u c e ss e v e r a l f o r e i g nm u l t i c a s tt e c h n o l o g i e s ,a n d e m p h a s i z e s t h e n e c e s s i t y o f i m p l e m e n t i n g t h em u l t i c a s tt ot h ee t h e r n e t s w i t c h s s e c o n d l y , i t d i s c u s s e sh o wt oc a r r yo u ti g m ps n o o p i n go nt h e l a y e r2s w i t c hd e v i c e s i n d e t a i l ,a n dg i v e st h et e s t i n gm e t h o da n ds e v e r a l e x a m p l e ,f i n a l l y 。 t h r o u g hd e e pa n a l y s i s ,i tc a ng a s pt h ec u r r e n tm e t h o d sa n dd i r e c t i o n s o fr e a l i z a t i o nm u l t i c a s to ne t h e r n e ts w i t e h ,a n dg i v es o m e i n s p j r ef o r m o r ec o n s u m m a t i o nf o rt e c h n o l o g yo fm u l t i c a s to ne t h e r n e t s w i t c h t h ei g b l ps n o o p i n go ft h i sd e s i g n ,i t sc o d es i z ei s1 i t t l e ,a n da l s o h a st h ef e a t u r e so fl i t t l ec o u p l i n gw i t ht h el o w e rp r o t o c o l f l a t ,g o o d s c a l a b i l i t y ,a n dc o n v e n i e n tc o n f i g u r a t i o ni n t e r f a c e s o ,i ta p p l i e sn o t o n l y t h el a y e r2 s w i t c h e s ,b u ta l s oc a nb e p o r t i n g t oo t h e rn e t w o r k d e v i c e s ,e g 1 a y e r3s w i t c he a s i l y t h et e s t i n go nt h el a y e r2s w i t c hp r o v e s 1 t sc o r r e c t n e s sa n di n t e g r i t ya tt h es a m e t i m e ,t h et e s t i n gm e t h o di nt b i s a r t i c l ei sh e l p f u lf o rt h es t a n d a r d i z a t i o no fn e t w o r km u l t i c a s ts o f t w a r e t e s t k e yw o r d s :n e t w o r km u l t i c a s t ,i g m ps n o o p i n g ,n e t w o r km u l t i c a s t t e s t i n g m e t h o d 儿 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构和学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确 的说明并表示谢意。 签名:甲陶二e l # f :讲年2 月2 7 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容变如有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文解密后应遵守此规定) 签名:甲函舌导师签名: 日期:“蚰午年王月z 1 日 第一章引论 第一章引论 1 。1 网络组播技术的需求与发展 近年来,随着网络技术的发展,使得各种单一媒体相继成为网络传输中的数 据,进而各种媒体的融合使得网络多媒体运用层出不穷。目前,在 n t e r n e t 上 产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网络视频会议( 可 视化i p 电话会议系统) 、网络音频视频广播、多媒体远程教育、远程会诊,而 传统网络最初是为数据传输而设计的,是典型的点点通信模式,是为保证数据可 靠传输而设计的,所用的佳输协议多为点到点的协议。其所具有的特点将增加网 络发送负载,带来网络延时。这就带来了带宽的急剧消耗和网络拥挤问题。为了 缓解网络瓶颈, 人们提出各种方案:增加互连带宽,改变网络流量结构,i p 组 播技术等等,其中,i p 组播技术有其独特的优越性在组播网络中,即使用 户数量成倍增长,主干带宽不需要随之增加。 图卜1 组播网络模型 假设一个企业分布于各地的子公司( 两个以上) 之间需要通过i n t e r “8 进 行实时的交换信息( 数据,声音,图像) ,他们的计算机可能不属于同一物理网络, 甚至不属于同一自治系统,这种通信的特点是“多点”式的。子公司发出的数据 希望其他子公司都能收到,而总部发出的指示全体子公司都应收到a 这种多点通 信方式为组内广播,即组播技术,也称多播技术,多日网关技术a 组播技术是t c p i p 传送方式的一种。t c p i p 传送方式有三种:单播,广播, 星= 童! ! 丝一一一 组播。 单播( u n i c a s t ) 传输:在发送者和每一接收者之间需要单独的数据信道。如 果一台主机同时给很少量的接收者传输数据,一股没有什么问题。但如果有大量 主机希望获得数据包的同一份拷贝时却很难实现。 这将导致发送者负担沉重、 延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。 组播( m u l t i c a s t ) 传输:它提高了数据传送效率。减少了主干网出现拥塞 的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理 网络( 如果有组播路由器的支持) 。 广播( b r o a d c a s t ) 传输:是指在i p 子网内广播数据包,所有在子网内部的 主机都将收到这些数据包。广播意味着网络向子网主机都投递一份数据包,不 论这些主机是否乐于接收该数据包。然而广播的使用范围非常小,只在本地予 网内有效,因为路由器会封锁广播通信。广播传输增加非接收者的开销。 随着i n t e r n e t 的飞速发展,利用i n t e r n e t 进行协作开发的项目越来越多。 对某些应用而言,如分布式数据库开发,一个开发工作组有很多人需在不同的地 点协作并经常交换情况。在组的规模比较小的情况下,只需点对点交换信息即可; 如果组的规模比较大,点对点交换信息不管对网络还是对信息发送者,都是种 负担,代价昂贵。有时虽可用广播的方式进行处理,但如果在一个上百万节点的 网络上向数千台主机进行广播是很低效的甚至是不大可能的。一则绝大部分机器 对此不感兴趣,造成信息垃圾;更糟糕的是,部分主机虽需要此信息但可能被误 认为对此信息不感兴趣而收不到此项信息。因此,我们需要种办法让本身规模 较大面相对互连网又较小的工作组能相互方便、快捷地传递信息。为此,我们引 进了i p 组播的概念。 1 。2 i p 组播技术 i p 组播( i p m u l t i c a s t i n g ) 是对硬件组播的抽象,是对标准i p 网络层协 议的扩展。它通过使用特定的i p 组播地址,按照最大投递的原则,将i p 数据报 传输到个组播群组( m u l t i o a s t g r o u p ) 的主机集合。它的基本方法是:当某 一个人向一组人发送数据时,它不必将数据向每一个人都发送数据,只需将数据 发送到一个特定的预约的组地址,所有加入该组的人均可以收到这份数据。这样 对发送者而言,数据只需发送一次就可以发送到所有接收者,大大减轻了网络的 负载和发送者的负担。 i p 组播中各个成员可以不受地域的限制,分布于各个独立的物理网络上, 其关系也是动态的,台主机可以在任何时候加入或者退出某个群组,也可以是 2 苎= 童! ! 监一 任意群组的成员,其成员关系决定了该主机是否接收发送给该群组的组播数据 报;同时,不是某个群组的成员也可以向某个群组发送组播数据报,使之具有更 大的灵活性。 参与组播的主机可以分为三个级别: 级别0 :主机不能收、不能发i p 组播数据报 级别i :主机只能发、不能收i p 组播数据报 级别2 :主机既能收、也能发i p 组播数据报 级别o 的主机不受组播收发数据报的影响,唯一的例外是在某些类型的局域 网,级别l 或级别2 的主机可能将组播数据报误送给级别0的主机( 这种情况 将在3 2 1 中讨论) ,级别0 的主机需要仔细检查所有到达的数据报的目的i p 地址( 主机对任何数据报均需这样) ,丢弃误投的数据报。 级别1 的主机可以分享部分基于组播的服务,比如资源定位、状态报告、发 送i p 组播数据报,但不能加入到任何主机组。一个主机仅需极少数代码就可以 从级别0 升级到级别l ,即i p 软件允许某个应用程序指定一个组播地址作为其 目的i p 地址,并将组播地址映射为相应网络的硬件组播地址( 具体映射方法在 3 2 中讨论) 级别2 的主机可以可以使用i p 组播所有功能,除可以使用级别1 主机所能 使用的功能外,可以自由加入和离开主机组、可以发送i p 组播数据报等。要实 现此功能,它要求实现i n t e r n e t 群组管理协议( i n t e r n e tg r o u p m a n a g e m e n t p r o t o c o l ,简称i g m p ) 、i p 扩展和主机的本地网络服务接口。 i p 组播地址范围是2 2 4 0 o 0 2 3 9 。2 5 5 2 5 5 ,2 5 5 ,下面列出部分知名或已用 的i p 组播地址。实际上,2 2 4 0 0 0 - - - 2 2 4 2 2 5 5 2 5 5 的绝大部分地址已被使 用,建议使用时避开上述地址( 详细使用情况请参阅r f c1 7 0 0 ) 。 2 2 4 0 0 0 基础地址,保留,不能被任何群组使用 2 2 4 0 0 1 全主机群组( a l l h o s t s g r o u p ) ,指参加本i p 组播的所有主机、 路由器、网关( 不是指整个互连网) 2 2 4 0 0 2 本子网上的路由器( a 1 1r o u t e r s o nal a n ) 2 2 4 0 0 4d v m r p * 路由器( d v m r pr o u t e r s ) 2 2 4 0 0 5 本子网上的o s p f * 路由器( a l lo s p fr o u t e r so nal a n ) 2 2 4 0 0 6 本子网上被指定的o s p f 路由器( a l ld e s i g n a t e do s p fr o u t e r s o nal a n ) 2 2 4 0 i 1 网络时间协议( n e t w o r kt i m ep r o t o c o l ,n t p ) 2 2 4 0 5 0 0 0 2 2 4 0 5 1 2 7 蜂窝式数字信息包数据发送主机组( c d p dg r o u p s ) 2 2 4 1 0 o - 2 2 4 1 2 5 5 2 5 5 基于流的协议组播主机组( s t r e a mp r o t o c o l 第一章引论 m u l t i c a s t g r o u p s ) 以太网硬件地址是4 8 位,而i p 地址是3 2 位,有效i p 组播地址是2 8 位, 以太网支持i p 组播地址到以太网组播地址的映射,他们之间的映射很巧妙而简 单,主要规则如下: 将i p 组播地址的低2 3 位简单地代替特定的以太网地址0 1 0 0 5 e o o 0 0 0 0 ( 1 6 进制) 中的低2 3 位。 例如:i p 组播地址2 2 4 6 6 6 0 。8 9 ( 1 6 进制,其2 迸制为:1 1 1 0 o 0 0 0 。0 1 0 0 0 0 1 0 0 0 1 l1 i 0 0 0 1 0 1i 0 0 1 ) 映射到以太网的地址为:0 1 0 0 5 e ,6 6 6 0 8 9 ( 1 6 进制) 。 按此规则,i p 组播地址范围为2 2 4 ,0 0 o 2 3 9 2 5 5 2 5 5 2 5 5 ,映射到以太网组播 地址为0 l ,0 0 5 e 0 0 0 0 0 0 “0 1 o o 5 e 7 f f f f f 这样做一是因为映射方法简单,便于计算和实现;二是可以包括绝大部分组 播地址了;三是i p 组播地址映射后仅使用以太网地址的固定部分,有利于排错 和查找,不易与其它使用以太网的协议发生冲突和于扰。 实现i p 组播传输,则组播源和接收者以及两者之间的下层网络都必须支持 组播。这包括以下几方面: 1 主机的t c p i p 实现支持发送和接收i p 组播; 2 主机的网络接口支持组播: 3 有一套用于加入、离开、查询的组管理协议,即i g m p ( v l ,v 2 ) ; 4 有一套i p 地址分配策略,并能将第三层i p 组播地址映射到第二层m a c 地址; 5 支持i p 组播的应用软件; 6 所有介于组播源和接收者之间的路由器、集线器、交换机、t c p i p 栈、防火 墙均需支持组播: 1 3i g m p s n o o p i n g 在组播控制中的角色 1 3 1l g m p 简介 i g m p 是i n t e r n e tg r o u pm a n a g e m e n tp r o t o c o l 的缩写,即i n t e r n e t 组管理 协议( 其介绍可参考r f c l l 2 2 ,r f c 2 2 3 6 ) ,它的功能是在三层实现多播,路由器 或三层交换机通过与主机之间进行i g m p 报文交换动态地在路由器或三层交换机 上建立i p 多搔地址表,这样多播流在三层就只向i p 多播成员转发了。i g m p 报 文总长为8 字节,其结构如下: t y p e :i g m p 报文类型,目前支持的有i g m p 查询,报告,离开; m a xr e s pt i m e :最大响应时间,此值只有当i g m p 报文类型是i g m p 查询时才 有效,它表示路由器从发出查询到收到响应的时间间隔: c h e c k s u m :校验和,与i p 报文的校验和计算方法相同; g r o u da d d r e s s :i p 多播地址,除i g m p 通用查询此字段为零外,其余均为有 效的i p 多播地址。 l g m p 主要有三种报文类型,如下所示: i g m pq u e r y :此报文由路由器发出,又可分为通用查询( 查询所有多播组) 和特定查询查询指定的多播组) ,i g m pv 1 不支持i g m p 特定查询; i g m pr e p o r t :由主机发出,当主机想主动加入某一多播组或对路由器的查询 给予响应是产生此种报文,目前支持i g m pv l 和i g m pv 2 两种报告报文; i g m pl e a v e :由主机发出,当主机想离开某一多播组时产生此种报文,i g m pv l 不支持i g m p 离开报文。 1 3 2ig m ps n o o pin g 的含义及实现原理 目前以太网交换机在组网时已得到越来越广泛的应用。在网络运行环境中, 当路由器将组播报文转发下来之后,处于接入层边缘的以太网交换机负责将组播 报文转发给组播用户。传统的以太网交换机是将组播报文广播出去,这样不但浪 费了大量的网络带宽,引起广播风暴,而且也影响了正常的业务。所以迫切需 要在以太网交换机上实现组播,最简单的方法就是通过手工配置,但这种方式不 灵活,因为组播是动态变化的,所以通过手工配置是不能适应这种变化的。这就 需要以太网交换机能根据组播用户的动态加入和离开组播组而动态地维护组播 组。i g m ps n o o p i n g 正好可以解决上述问题。下面通过分析i g m ps n o o p i n ,对其 原理进行了的阐述,更主要的是介绍了一种较为高效的实现方法。 图1 - 2 :j 铡p 侦听的实现环境 1 6 m p s n o o p i n g 即i g m p 侦听,其主要作用是在交换机上完成二层组播的动 态注册。它使用的是i g m p 报文,i g m p 报文格式可以在r f c l l 2 2 ( i g m p 版本1 ) 苗百苗 笙= 童! ! 丝 和r f c 2 2 3 6 ( i g m p 版本2 ) 中找到。在较早的组网环境中,并没有以太网交换机 的参与,路由器一般直接和主机相连,它们之间通过标准的i g m p 协议来实现组 播功能。而目前i g m ps n o o p i n g 则不同,它的实现需要主机,交换机和路由器的 共同参与,其运行环境如图卜2 所示。 通过i g m ps n o o p i n g 实现二层组播时需要在主机和路由器上实现i g m p ,交换 机只是通过侦听主机和路由器传送的不同类型的i g m p 报文来动态维护二层组播 组,并且在本交换机上的组播注煅一般不会传播到其它交换机上。i g m ps n o o p i n g 的实现和标准的i g m p 协议的实现有相似之处,但i g m ps n o o p i n g 其实并没有统 一的国际标准,所以设计实现起来可以更加灵活高效。这一点,可以在后面的定 时器超时处理和接收报文处理中得到体现。 由于i g m ps n o o p i n g 使用的是i p 组播地址,所以要将i p 组播地址映射到m a c 组播地址,同时还存在多个i p 组播地址对应一个m a c 组播地址的情况。i g m p s n o o p i n g 除了维护一般的组成员端口外,还要维护路由器端口。这里的路由器 端口指的是交换机上和路由器相连的端口。 v l a n 技术,即虚拟局域网技术。在交换机中引入v l a n 的个主要原因就是 限制广播。在v l a n 环境下,为了将二者更好地结合起来实现组播,应该将i g m p s n o o p i n g 所建立的组播组局限在v l a n 广播域中。这样在v l a n 环境中,不但组 播数据报文的传播是被局限在v l a n 域中,而且用来建立组播组的i g m p 控制报文 的传播也是局限在v l a n 域中的。如果某一v l a n 被删除,那么之前在它上建立的 所有组播组都应该被删除。 1 4 以太网交换机技术简介 1 4 1 交换的概念 交换技术,特别是与局域网结合的交换技术,可以用比传统l a n 技术低得多 的价格来提供比传统技术高得多的性能。在现在和可预见的未来,半导体技术的 进步可以把更多的网络处理集中到一个廉价的芯片中,如先进的应用专用集成电 路( a s i c ,a p p l i c a t i o n s p e c i f i c i n t e g r a t e dc i r c u i t ) ,这可以使价格不断下 降,同时使性能比老式的、基于软件的处理方法提高几个数量级。因此交换广泛 流行的主要根源就是其高速和廉价的事实。 那么交换到底是什么昵? 在这个数据互连的世界上,交换可蹦有多种形式。 局域网交换可用于在位于相同或不同网段上的工作站之间传递分组。广域网交换 通常采用的形式是在两个终端节点( 如对路由器) 2 _ n 提供一条虚连接。不管其 所处环境如何,所有的交换形式都有如下共同属性: 第一章引论 工作于任何协议栈的第二层和二层以下。这意味着局域网和广域网的交换对 于运行在高层的i p 或其他网络协议及任何应用程序都是透明的。图卜3 说明了 两个i p 终端节点通过一条2 层交换通路相互通信的情况。 应用层 应用层 传输层 传输层 l p 交换机交换机 i p r t ! 一,r e r 一 z ,z : ,旱犀 【j i 一 图1 - 3 协议栈中的2 层交换 交换由硬件实现。交换机把从一个输入端口上接收到的数据分组交换发送到 一个输出端口,这个工作过程不受其他处理器的干预。将此功能用硬件( 或固件) 来实现通常可以带来更高的性能及更低的延迟、复杂度和费用。 交换的过程可以从两个不同的方面来说明:本地和端到端。 从本地的观点来看,我们需要研究的问题是,一个交换机是怎样根据接收到 的数据分组来决定将其交换到哪一个输出端口上去。换句话说,就是数据分组及 交换机内部有哪些信息可以用来使交换机能快速地将数据分组从输入端移动到 输出端。这个问题称为交换转发问题。正确的输出端口是根据分组中所携带的信 息来确定,在某些情况下可能根据交换机本身内部的信息决定。包含在分组中的 信息可由下列之一构成: 目的地址 源路由向量( s o u r c e r o u t ev e c t o r ) 连接标识符 1 4 2 二层交换技术 主要的二层交换软件技术包括: 1 i e e e8 0 2 1 d 生成树协议( s t p ) 2 i e e e8 0 2 1 q 虚拟局域网技术( v l a n ) 及i e e e8 0 2 1 q v l a n 动态 注册协议( g a r p g v r p ) 3 i e e e8 0 2 1 p 优先级管理技术 4 组播支持技术。包括i g m ps n o o p i n g 协议及l e e e8 0 2 1 p 组播 动态注册协议( g a r p g m r p ) 7 第一章引论 远程监控技术( r m o n ) 1 5 国内外同类产品综述 众多网络设备供应商看到了i n l e r n e t 组播的迫切性和潜力,纷纷推出了自 己的带有组播功能的以太网交换设备。其中较有影响力的几乎都是国外的产品。 如c i s c o 公司c a t a l y s t 系列交换机和3 c o m 公司的以太网交换设备。 这些公司产品实现的组播的技术不尽相同。其中主要的技术除了i g m p s n o o p i n g 外,g m r p 和c g m p 也能够在二层实现多播,i g m ps n o o p i n g 和g m r p 是 标准的协议,而c g m p 则是c i s c o 私有的协议。 i g m ps n o o p i n g 由于其实现的简单性,已越来越多的被交换机制造商所采用。 并且它能很好的兼容当前的硬件版本。因为目前大多数主机配备的网卡和绝大多 数路由器设备都支持i g n p 协议,所以不存在硬件版本的升级问题,可以减少以 太网交换机的部分制造成本。由于没有统一的国际规范,通过灵活的设计思路, 可以很好的达到以太网交换机上实现组播的功能。 1 。6 研究的背景、目标及意义 本着发展民族产业的原则,我所在的课题实习公司在推出了具有独立产权的 嵌入式操作系统和网络解决方案的基础上,准备发展一套较完整的二层交换机解 决方案,本文正是基于这种背景而开展的。 我的学位论文的研究任务是; 1 分析在嵌入式平台上利用i g m ps n o o p i n g 进行组播管理的体系结构和技 术要求; 2 ,在实习公司研发项目b c m 5 3 2 8 二层交换机解决方案上实现i g m ps n o o p i n g 协议; 3 利用二层交换机的平台实现i g m ps n o o p i n g 组播功能的全面测试; 4 考虑在三层交换解决方案的兼容和移植问题。 1 5 本文章节安排 第一章介绍网络组播的基本概念和发展,指出用i g m ps n o o p i n g 进行组播控 制的特点,对组播合以太网交换技术的发展进行简单描述。接着介绍了组播管理 技术和国内外的同类产品,最后提出了本次设计的主要工作和论文的章节安排。 第二章对在二层交换机上实现的i g m ps n o o p i n g 组播协议进行总体描述。 第三章详细讨论i g m ps n o o p i n g 组播协议的设计与实现。 第一章引论 第四章描述了在二层交换机上进行i g m ps n o o p i n g 组播协议的测试。 第五章指出i g m ps n o o p i n g 和另一种主要地组播协议g m r p 的区别,通过分 析比较着两种协议,预测了组播技术今后可能的完善和发展的方向。 结束语总结了本文所做工作,指出其中的不足之处,提出后续工作的建议。 9 箜三童! 堂塑! ! 丝堡塑型笪堂皇型鎏堕墼蔓一 第二章i g m ps n o o p in g 协议的总体设计描述 2 1b c m 5 3 2 8 二层交换机解决方案简介。 交换机上要实现各种二层交换协议,必须要求交换硬件能够识别该类型报 文,并将该类型报文转发给通用处理嚣( c p u ) 处理。交换硬件完成普通数据顿的 转发,而c p u 只完成对控制帧的处理,不参与数据帧转发。这样通过使数据通 道与控制通道分开,交换机才可能以线速转发数据报文。 图2 - 1 二层以太网交换机软件体系结构 图2 - 1 为二层以太网交换机通用软件平台的体系结构。其中,通过层次 化设计,使上层只需关心下层提供的服务,而不用考虑下层的具体实现。从而 使二层以太网交换机通用软件平台为用户提供了一个可伸缩、可扩展的应用开 发环境。 图中,二层交换协议遵循8 0 2 1 工作组制定的标准,包括了生成树协议 ( i e e e8 0 2 1 d ) 、g a r p g m r p g v r p ( i e e e8 0 2 1 d ,8 0 2 1 q ) 、链路聚合( i e e e 8 0 2 3 a d ) 。在管理方面,各种管理应用模块,如s n m p 、w e b 、c o n s o l e ,它们采 用统一的访问机制来访闯管理对象。同时,对非管理应用模块,如各协议模块: 生成树协议、g a r p 协议等,也遵循统一的访问机制来访问协议相关的管理对象, 并且各协议模块分别实现对标准m i b 的支持。通过统一的管理接口,使c o n s o l e 、 w e b 、s n i p 三种管理方式能够达到一致的管理结果。 1 0 第二章1 g m ps n o o p i n g 协议的总伴设计女! 连 将交换硬件支撑包( s s p ,s w i t c hs u p p o r tp a c k a g e ) 独立出来,从而使在 交换硬件平台改变时,只需修改相应的s s p 及相关的管理对象。各种协议的实 现位于硬件抽象层之上,在协议实现上尽量保证其硬件无关性,使交换协议独 立于交换硬件。所以,替换、修改s s p 不会影响到各协议的实现。 由于设计过程中遵循图2 - 1 2 所示体系结构,所设计的二层协议符合i e e e 8 0 2 1 工作组制定的标准,具有硬件无关性,同时这些协议基本覆盖了哥前较流 行的所有二层交换协议,使用户使用该软件包时基本不存在对交换协议的第二 次开发。同时在设计过程中采用模块化设计,使该软件包具有可裁剪、可扩展 的特点。管理接口明确,方便各厂商加入对自己特性m i b 的支持,从而能够体 现各自交换机的特点。使用该软件平台,用户移植的工作量主要在s s p 的编写 上,其它部分均可按用户所需进行裁剪。所以,从这个意义上说,该软件平台 具有通用性。 2 2ig m ps n o o pin g 的技术目标和适用范围 本次设计要达到的技术目标是: 1 够动态建立和维护组播组以达到组播控制功能: 2 够自动处理接收和发送地组播报文; 3 提供通过菜单实现对交换机组播功能进行配置的命令 4 具有很好的可移植性和执行效率。 本次设计虽然是在b c m 5 3 2 8 二层交换枫解决方案上实现的,但是,实际上, 它的上层协议部分完全适合其它二层交换机解决方案。经过少量修改后,可适 用于三层交换机解决方案。 2 3 二层交换机上ig m ps n o o pin g 的总体接口设计描述 2 3 1 数据结构 1 i g m p 报文格式 i g m p 报文格式如下所示 箜三童! 唑苎! ! 翌堂堂堡盟垫苎丝盐垄整一 n 1 2 3 i1234567 8 9 b1234567 89o123 | l5 6 789 o1 + 一+ 一+ 巾+ 一+ 一+ 十+ 一+ 一+ 十+ 一+ 一一+ 一+ 一+ 一+ 一+ 十一一+ 一一一+ 一+ 小+ 一 +l一+一+一ty+一pe一+一!一!:一:!:!:一!一+一+一+一+。一+ch+ec+ksu。一m41- + 一+ 一+ 一。一+ ! + 一+ 一+ 小+ 一 一+ 一+ 一一+ 一+ 一+ 一巾+ 一+ 十+ - 一一一 一 。 i g r o u pa d d r e s s i t 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一十一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一一+ 一+ 一+ + 图2 - 2i g m p 报文格式 所以定义数据结构如下: 阻下是在头文件中的宏定义,主要是定义i g m p 的报文类型 # d e f i n em e m b e r s h i p q u e r yo x l1 # d e f i n ev e r s i o n 2 m e b e r s h i p r e p o r to x l 6 # d e f i n ev e r s i o n l m e m b e r s h i p r e p o r to x l 2 # d e f i n el e a v e g r o u po x l 7 说明:将报告报文的类型分为v 】和v 2 两种报告报文。这里一般默认处理的报 告报文是v 2 型报告报文。对于v 1 型的报告报文,把其当成普通报文一样处理。 以下是结构定义: t y p e d e fs t r u c t u n s i g n e dc h a rt y p e : u n s i g n e dc h a rm a x r e s p o a s e t i m e ; u n s i g n e ds h o r tc h e c k s u m : u d s i g n e dl o n gg r o u p a d d r e s s : ) i g m p m e s s a g e s t r u c t e r ; 1 2 第二章1 8 舻s n o o p i n g 协议的总体设计描述 表2 - ii g m p 报文处理结构 编数据名称数据类型数据说明 号 1 t y p eu n s i g n e dc h a ri g m p 报文的类型 2 m a x r e s p o n s e t i m eu n s i g n e dc h a r最大响应时间值 3c h e c k s u m u n s i g n e d校验和 s h o r t 4 g r o u p a d d r e s su n s i g n e dl o n g组地址 数据结构描述: 此结构体定义了i g m p 报文的结构。i g m p 报文由i g m p 报文的类型、最大响 应时间值、校验和、组地址四部分组成。类型用来区分i g m p 报文的类别。最大 响应时间值此值只有当i g m p 报文类型是i g m p 查询时才有效,它表示路由器从 发出查询到收到响应的时间间隔;c h e c k s u m :校验和,与i p 报文的校验和计算 方法相同;i p 多播地址,除i g m p 通用查询此字段为零外,其余均为有效的i p 多播地址。 2 i p 组播地址表格式( 软表) 相对于交换机芯片里的i p 组播地址表,为了方便查找信息,可以建立 个简表,建立如下数据结构: 雨n 口 眄i 加 广_ 乜竺! l - 口 叵亘1 忸 图2 - 3i p 组播地址表格式 篁三雯! ! 竺塑! 望! 些苎坚堕堕堡堕立堂垄一 说明:建立一个数组a s t l p b u i t i a d d r t a b i g s p m a xv l a n u s e d ,其中的数 组序号表示相应的 、l a ni d 号,每个元素是一个链表。并且每个链表的节点应 该有一定的长度限制。每个链表的节点储存信息如下: 胁i p 组播地址表的数据结构设计$ # d e f i n e i g s p 一) 【- p o r t n u m 2 6 # d e f i n ei g s p m a x _ v l a nu s e d 4 0 9 8 t y p e d e fs t r u c ti g s p i p m u l t i a d d r t a b t u l o n gu li p a d d r : u l o n gu l p o r t m a s k : u s h o r tu s r e s p o n s e r o u t e r q u e r y t i m e o u t ; u s h o r tu s r e s p o n s e s w it c h q u e r y t i m e o u t i g s pm a x p o r t _ n u m u s h o r tu s m e m b e r s h i p t i m e o u t i g s p m a xp o r t _ n u m ; i g s p 一工p m u l t i a d d r t a b s 半p s t n e x t : i g s pi p m u l t i a d d r t a b _ s ; 胁每个v l a n 对应一个这样的数据结构 i g s p i p m u l t i a d d r t a bsa s t l p m u l t i a d d r t a b i g s pm a xv l a n _ u s e d 表2 - 2i p 组播地址表结构 编号数据名称数据类型数据说 明 1u li p a d d ru l o n g组播地址 2u l p o r t m a s ku l o n g端口掩码 3 u s r e s p o n s e r o u t e r q u e r y d s b o r t响应路由器查 t i m e o u t询 定时器超时值 4 u s r e s p o n s e s w it c h q u e r y u s h o r 丁响应交换机查 t i m e o u t询 i g s pf f , a xp o r t _ n u m 定时器超时值 1 4 第二章i g m ps n o o p i n g 协议的总体设计描述 5 u s m e m b e r s h i p t i m e o u t u s h o r t 组成员超时值 i g s p m a x p o r t _ n u m 6 p s t n e x ti g s p i p m u 1ti a d 指针 d r t a b s 木 数据结构描述: 建立i p 组播软表的目的是为了在程序运行时查找方便,这样查询时只用查 询软表,而要改动时则同时改动软表和硬表,提高了效率。数组以v l a n 号来划 分,每个数组元素是一个链表结构,表示相应v l a n 下的所有组播组的信息。 链表的每一个节点表示一个组播组的信息,包括的信息有:组播组地址, 每一个多播组都有各自的组播组地址。端口掩码用来表示在这个组播组里面有 哪些端口属于组成员。如果是组成员则将相应的端口位置1 ,如果不是,相应的 端1 :3 位为0 。 响应路由器查询定时器超对值u s r e s p o a s e r o u t e r q u e r y t i m e o u t 表示此组 播组的r e s p o n s e r o u t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论