




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电学院硕士 i f 究生学位论文 摘要 随着向全球用户提供的服务的日益增多,i n t e m e t 正在以爆炸性的速度不断增长。一 些非常受欢迎的服务由于其用户的过度访问而导致利用率下降、响应时间延长。为提高网 络服务的质量,在i n t e m e t 上经常采用复制的方法产生一组镜像服务器。a n y c a s t 是在单个 发送者与一组接收者中任意一个主机之间的数据通信,a n y c a s t 服务可以改善网络负载分 布和简化网络应用,根据路径的距离,发往某a n y c a s t 地址的数据分组被路由到拥有该地 址且最近的镜像服务器,然而,最近的镜像服务器不定是最佳的镜像服务器。因此,解 决a n y c a s t 下的负载平衡成为一种迫切需要。 负载平衡是一种通过充分利用所提供的冗余多链路进行业务量分配的模式,它包括 网络层的负载平衡和应用层的负载平衡。 本论文中,作者对a n y c a s t 技术在解决负载平衡所存在的不足进行了分析,提出了一 种包含反馈技术的a n y c a s t 下负载平衡的动态解决方案,并且对该方案的可行性进行了分 析,在该方案的实现过程中主要有两个工作,首先,为该方案找到一个合理的数学模型来 进行描述,其次,通过在i c m p 协议中创建几种报文格式来对方案进行实现。文中还对该 方案的详细过程进行了描述。 文章的最后给出了系统在l i n u x 下的实现,并且结合了一个w e b 服务的例子来对系 统性能进行分析。 关键词:a n y c a s t ,u n i c a s t ,路由器,i p v 6 ,负载平衡,i c m p 南京邮电学院硕士研究生学位论文 a b s t i 矾c t t h ei n t e m e ti sg r o w i n ga ta l le x p o n e n t i mr a t ea si ts t a r t so f f e r i n gm o r ea n dm o r es e r v i c e st o i t sg l o b a lu s e r s s o m em o r ep o p u l a rn e t w o r ks e r v i c e sa r ei n c r e a s i n g l ys u f f e r i n gf r o md e g r a d e d a v a i l a b i l i t ya n dr e a p o n s et i m ed u et oe x c e s s i v es e r v i c ed e m a n d sf r o mi t su s e r s i no r d e rt o o b t a i nh i g h e rq u a l i t yo f n e t w o r ks e r v i c e s ,i ta l w a y sd u p l i c a t e sas e to f m i r r o rs e r v e r si ni n t e r n e t a n y c a s ti sat y p eo fn e t w o r ks e r v i c e st h a td e l i v e rad a t a g r a mt oa n ys e r v e ro u to fag r o u po f s e r v e r sd i s t r i b u t e dt h r o u g h o u tt h en e t w o r k ,i tc a l li m p r o v et h ed i s t r i b u t i o no fn e t w o r kl o a da n d s i m p l i f ys o m en e t w o r ka p p l i c a t i o n s a c c o r d i n gt ot h ed i s t a n c eo fp a t h ,t h ep a c k e t ss e n tt ot h e a d d r e s so fs o m ea n y c a s ta r er o u t e dt ot h en e a r e s ts e v e rm i r r o rw i t ht h i sa d d r e s s h o w e v e r , t h i s s e r v e ri sn o ta l w a y st h eb e s to n e s ol o a d i n gb a l a n c ev i au s i n gt h ep r o v i d e dr e d u n d a n tl i n k sm a y b eas o l u t i o nt of i n dt h e b e s t m i n o rs e r v e r , i ti n c l u d e sn e t w o r kl a y e r s1 0 a db a l a l i c ea n da p p l i c a t i o nl a y e r sl o a db a l a n c e i nt h i sp a p e r , t h ea u t h o ra n a l y s e st h es h o r t a g e so ft h ea n y c a s tt e c h n o l o g yw h e ns o l v i n gl o a d b a l a n c e ad y n a m i cs o l u t i o nw h i c hi n c l u d e st h et e c h n o l o g yo ff e e d b a c ki nt h ea n y c a s tj s p r e s e n t e d 1 1 1 ef e a s i b i l i t yo fs o l u t i o ni sa n a l y z e d t h e r ea l em a i n l yt w oi o b sw h e nt h es o l u t i o n i si m p l e m e n t e d f i r s t l y , t h es o l u t i o ni sd e s c r i b e db yf i n d i n gar e a s o n a b l em a t h e m a t i c sm o d e l s e c o n d l y t h es o l u t i o ni si m p l e m e n t e db yc r e a t i n gs e v e r a lk i n d so fp a c k e tf o r m a t s t h ed e t a i l e d p r o c e s so f t h i ss o l u t i o ni sd e s c r i b e di nt h i sp a d e l a tt h ee n do ft h i sp a p e r ,t h ei m p l e m e n t i n go fs y s t e mi nt h el i n u xi sp r o v i d e d ,a n ds y s t e m c a p a b i l i t yi sa n a l y z e dw i t ht h ec a s eo faw e b s e r v i c e k e yw o r d s :a n y c a s t ,u n i c a s t ,r o u t e r ,i p v 6 ,l o a db a l a n c e ,i c m p i l 南京邮电学院硕上研究生学位论文 缩略词 m t u r s v p i c m p i g m p a r p 缩略词 英文全称译文 m a x i m u mt r a n s f e ru n i t最大传输单元 r e s o u r c er e s e r v a t i o np r o t o c o l 资源预留协议 i n t e r n e tc o n t r o l m e s s a g e 因特网控制报文协议 p r o t o c o l i n t e r n e tg r o u pm e s s a g ep r o t o c o l因特网组成员协议 a d d r e s sr e s o l u t i o np r o t o c o l 地址解析协议 v 南京邮电学院学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电学院或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:日期 南京邮电学院学位论文使用授权声明 南京邮电学院、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电学院研究生部办理。 研究生签名:导师签名日期: 南京邮电学院硕士研究生学位论文 第一章i p v 6 介绍 1 1 导入i p v 6 1 第一章i p v 6 介绍 i p v 4 2 的设计是非常出色的。i n t e r n e t 能发展成今日的规模,i p v 4 功不可没。i p v 6 继承了i p v 4 的优点,并根据l o 多年来对i p v 4 运用的经验进行了大幅度的功能扩充。 1 1 ilp v 6 与i p v 4 头标的比较 图卜l 示出了i p 的头标格式。i p v 6 的头标在起始6 4 比特之后,是1 2 8 比特的源地址 域和目的地址域,全长为4 0 字节。 起始的6 4 比特由以下的域构成: 版本域( v e r s i o nf i e l d ) 4 比特; 业务量等级( t r a f f i cc l a s s ) 8 比特: 流标记( f l o wl a b e l ) 2 0 比特: 净荷长度( p a y i o a dl e n g t h ) 1 6 比特; 下一个头标( n e x th e a d e r ) 8 比特; 中继点限制数( h o pl i m i t ) 8 比特; 图i - ii p v 6 头标 i p v 6 头标的结构比i p v 4 的简单得多。i p v 4 ( 图卜2 ) 中有1 0 个固定长度的域、2 个 地址空间和若干个选项,而i p v 6 中只有6 个域和2 个地址空间a 南京邮电学院硕士研究生学位论文第一章i p v 6 介绍 在i p v 6 中起始4 比特的版本号和i p v 4 的意义相同,其位置也保持不变。这是由于考 虑到同时利用i p v 4 和i p v 6 进行通信的情况。也就是说,最初是设想生成数据链路帧时进 行相同的封装,使i p v 4 和i p v 6 能够共用数据链路层的驱动程序。 网络层则利用版本域来决定对分组的处理。当版本值为4 ( 0 1 0 0 ) 时,就认为是i p v 4 的分组,版本值为6 ( 0 1 1 0 ) 时,就看作i p v 6 的分组。然而实现时舍弃了这种想法,只 作了有限的使用。这是由于在底层就可以将i p v 4 和i p v 6 的包进行分离的缘故。例如,在 e t h e r n e t 上传送i p v 6 分组时,e t h e r n e t 的帧类型( f r a m et y p e ) 是1 6 进制数的8 6 d d , 而不是i p v 4 的8 0 0 0 ( 1 6 进制数) 。 版本 头标长度 服务共壁 分组总长 标志符标志 报片偏移 生存时间 协议头标梭验和 源i p 地址 目的i p 地址 选项 填充城 图1 - 2i p v 4 头标 i p v 6 删除p v 4 头标中的某些域,改变他们的名称或部分功能的说法不妥。这段文字删 掉为好。 1 1 2 简化的头标 i p v 4 中的头标是基于】9 7 5 年的技术设计的,至今已有2 0 余年历史。 i p v 6 的头标在以下3 个方面作了简化: 所有的头标长度固定; 不设置头标校验和功能 不设置各路由器的分拆成报片的处理功能。 在i p v 6 中虽然没有如同i p v 4 处理特殊分组时所使用的可变长度选项,但这并不是说 i p v 6 不能处理特殊的分组。在i p v 6 中不采用i p v 4 的变长选项域,而是在基本头标之后 加上扩展头标( e x t e r s i o nh e a d e r ) 来处理特殊分组。由于基本头标的长度固定,i p v 6 自然就不需要头标长度域了。 不设置头标校验和的优点是每作一次分组的中继转发时不必进行校验和的确认和更 新,因而能够减轻头标处理的负荷,加快处理速度。其缺点也是显而易见的。由于不能检 测差错,可能出现误转发。但是这一缺点是无足轻重的,因为几乎所有的数据链路层都进 2 幽皇兰堕堡生型壅兰堂垡堡苎 苎二皇堡盥坌塑 行封装( c a p s u l e ) 处理并计算帧的校验和。例如i e e e 8 0 2 网络的媒体访问控制处理、a t m 线路的适配层、串行线路的p p p 协议中均具有差错校验的功能。 i p v 4 具有报片拆装功能,因此发送方不必考虑中继点的传输容量,能够发送很大的 i p 分组a 如有必要,再中继点上将这些i p 分组分割成适当大小的报片,接收方等待所有 报片的到达,重组i p 分组。但是,若要在只能传送小报片的网上传送大的分组,只有当 全部报片到达接收方才能认为分组发送成功,即使丢失了一个报片,就需重发整个分组。 因此可见t 这种方式不能有效地利用网络。i p v 6 利用了称作“路径m t u 3 发现”的功能, 由主机学习确定能够传送报片的最大长度。如果传送很大的分组,此分组也只是在网络上 被抛弃。其结果,i p v 6 就不需要i p v 4 中使用的分组标志符,报片偏移等拆装控制域。 但是在i p v 6 中,终端主机间还是需要进行拆装处理。此外,假定所有的i p v 6 网络至少 能传送净荷为5 3 6 字节的分组。当主机不想知道路径m t u 时或没有记住路径册u 时,只发 送小分组即可。 i p v 6 简化后删除了t o s 域,在i p v 4 中为主机指定大带宽、最短、最便宜或最安全的 路径等优先级设置了t o s 。但是此域在实际应用中几乎未被采用。 1 ,1 3 参数的修订 和i p v 4 一样,i p v 6 头标中也含有描述分组长度、t t l 和协议代码等功能的域。但是 这些域的定义是根据运用经验修订的。 i p v 4 的分组总长度在i p v 6 中变为净荷长度( p a y l o a dl e n g t h ) 。净荷长度是指接在头 标之后的数据长度,两者间没太大的差别,例如考虑由2 0 字节的t c p 头标和4 0 0 字节的 应用数据组成净荷。i p v 4 在t c p 头标前添加2 0 字节的i p v 4 头标,分组长度值变为4 4 0 字节。i p v 6 添加了4 0 字节的头标,净荷长度不是4 6 0 而是4 2 0 字节。在i p v 6 中净荷长 度域的大小与i p v 4 的总长域相同,都是1 6 比特,故分组的尺寸限制在6 4 k b 。但当i p v 6 传送不能用净荷长度域描述的那种特大分组时,可以利用“特大净荷( j u m b op a y l o a d ) ” 选项。 i p v 4 歇息类型域在i p v 6 分组中被定义为新的结构,它变为“下一头标类型( n e x t h e a d e rt y p e ) ”。在i p v 4 中接在i p v 4 头标之后是u d p 和t c p 的传输层协议数据。i p v 6 分 组具有与其完全相同的结构,在下一个头标类型中可设置成u d p ( 1 7 ) 及t c p ( 6 ) 等协议 类型。 此外,在i p 头标和作为净荷的t c p u d p 之间可以插入扩展头标的结构。此时,在下 一个头标号码域中可以设置首先出现的扩展头标类型。 将t t l 改为“中继点限制( h o pl i m i t ) ”使其设计名副其实。在i p v 4 中t t l 以秒为 鬯塞业皇兰堕堡主堕壅兰堂垡堡壅 兰= 兰! ! 生坌塑 单位表示分组直至从网中小时为止的剩余实践。如果允许分组在网中无限制地存在下去, 当旧分组无目的的出现时,将引起协议出错。例如,t c p 中连接结束后,有时暂时保持“连 接状态”。这是为了保证属于原有状态的所有分组从网络中消失。此机制仅当传输层协议 能够检测倒分组在网络中的生存时间的情况下起作用,这就是t t l 域的目的。在i p v 4 的 规范中要求每个路由器减去1 秒或在路由器队列驻留1 秒以上时减去相应的秒数。但是实 际上正确推算分组的等待时间是十分困难的,并且,实际的时间不是以秒而是以毫秒为单 位,因此几乎所有的路由器只对t t l 作减1 的处理。这一习惯成为i p v 6 的规范,因而域 的名称也作了相应的改变,中继点限制不是秒数而是中继点的数目。以此为前提,可以认 为传输层协议具有保护滞留在网中的分组的功能。例如,在t c p 中设置了很大的序号 ( s e q u e n c en u m b e r ) 域,因序号不会立即循环一周,故滞留分组到达时,也不会产生误 动作。 1 1 4 新增加的域 i p v 6 的头标中流标记( f l o wl a b e l ) 和业务量( t r a f f i cc l a s s ) 这两个域在i p v 4 中是没有的。它们都是为处理实时通信而设计的。流标记被用来区分作相同处理的分组。 这些分组从同一源地址发往同一目的地址并具有相同的选项。业务量等级是从优先级域演 化而来,其作用与i p v 4 的优先级域相似。 1 2i p v 6 的基本头标 1 2 1 版本和业务量等级 1 版本 i p v 6 分组中的第一个域是4 比特的版本号。在所有i p v 6 分组中将该域置成6 。 2 业务量等级 紧接版本域之后的8 比特指示业务量等级。由该域的值定义i p 分组的类型或某个i p 分组相对于进入同一网络的其他i p 分组的重要程度。业务量等级的具体分类正处于试验 之中,r f c 文档“i n t e r n e tp r o t o c o l ,v e r s i o n6 ( i p v 6 ) s p e c i f i c a t i o n ”本身没有规 定业务量等级的语法语义,详细的说明将以单独的文档公布。 1 2 2 流标记 分 在i p v 6 规范中对流作如下定义:“流是指从某个源节点( 单播或组播的) 信宿发送的 4 南京邮电学院硕上研究生学位论文 里二童! ! :! 坌塑 流是指源点、信宿 组群中,源点要求中间路由器作特殊处理的那些分组。换句话说 和流标记三者分别相同的分组的集合。 导入流标记域对t c p i p 的发展具有重要意义。将流标记和信源地址组合,即可分辨 网络中特定的业务量流。图卜3 示出了简单网络中2 个业务量流。第一个流从m a c 流向小 型机;第2 个流从p c 流向工作站。特定流的业务量在网络中应受到相同的处理。一个流 的所有分组拥有相同的信宿,他们对路径上的路由器具有相同的选项( o p t i o n ) 。这种选 项由中继点选项h o pb yh o p 和寻路头标组成。 图卜3 虽然简单确实有效利用流标记的一个示例。流标记是进行路由高速缓存的关键。 通常,i p 分组到达路由器后,路由器应立即确定将该i p 分组发往何处。如果分组中含有 流标记,路由器旧能根据以前所做的处理进行寻路。路由器接收倒m a c 发来的带有流标记 的i p 分组时,只需查看存储器内的简单表项即可。结果,路由器得知下一个h o p 是小型 机,勿需作多余的计算旧可立即转发该分组。 一个流的流标记由产生流的源来指定,它是从l f f f f f 的伪随机数。这样做的目的 是便于路由器用流标记作为哈希值,快速查好该流在路由器中对应的表项。源端以前使用 的某流标记对应的表项信息将被所有的路由器清楚之前,不能再使用该流标记的值标识新 的流。例如,路由器以这种方法利用流标记时,任何的流标记都不得在此路由器中保持6 秒以上。此路由器在6 秒之后必须删除该流在高速缓存( c a c h e ) 中的表项,当该流的下 一个分组出现时,此表项被刷新。进行这种时间限制是为了防止该主机被复位后,可能又 开始使用同一个流标记的缘故。例如,m a c 复位后,忘掉了复位前和小型机会话时使用了 流标记1 。接着m a c 项将发生混乱。路由器在6 秒之后应删除流标记l ,m a c 至少要等6 秒才能使用流标记值( 几乎所有的情况下复位要用6 秒以上的时间,例如m a c 如能在4 秒时复位,无论再使用哪个流标记都必须等待2 秒钟) 。 i p v 6 并没有对流标记的使用作出明确的规定,这是由于人们对它的用法还存在很多争 论,关于流标记在路由器上的用法主要有两方面的意见,一个是在资源预留协议( r s v p ) 中用来标识特定的流;另一个是在标记交换( t a gs w i t c h ) 中用流标记查找路由,加快路 由器转发速度。 随着i n t e r n e t 的迅猛发展,网上实时多媒体应用显著增加,这就需要为每个实时业 务分配其所需带宽。即使在网络拥塞情况下,实时业务仍能得到带宽保证。这就是资源预 留的基本思想。既然为每个实时流分配带宽,就需要一个标记来标识它,于是流标记就产 生了。当然,也可用传输层( 例如u d p ) 的端口号来标识一个流,但因在i p v 6 中存在着 扩展头标,端口号不容易取得,所以用流标记代替端口号来标识一个实时流更有效。例如, 还可以利用流标记来支持视频应用。图5 4 的视频传送就是这种应用的一个实例。为了传 送数字视频信息,要求网络提供相信的带宽、缓存空间、处理能力等资源。为保证视频信 息的成功传送,可事先预留这些资源。预留后,在传送视频信息时可在应用的数据包中利 用流标记指示许可使用预留的资源。 e 南京邮电学院硕七研究生学位论文 第一章i p v o 介绍 视频服务器 路由器 路由器 路由器 图1 - 3 流标记指示使用预先分配的网络资源 工作宣占 如果系统以这种方法利用流标记来表示特别的服务,6 秒的时间限制就不恰当了。此 时,设定标记和生存时间的工作由i p 以外的协议来承担。r s v p 是这类协议的一个实例。 如果对流的时间限制超过6 秒,那么主机在复位后的6 秒以上,也应控制流标记的使用。 主机等待时间出以前用过的流标记生存时间决定。另一方面主机中可能有方法决定以前使 用了哪个流标记。在这种情况下只要不采用特定的值即可。 并非所有的分组都属于流。实际上从i p v 4 向i p v 6 的过渡期间大部分的分组不属于特 定的流。例如,s m t p 、f t p 以及w w w 浏览器等传统的应用均可生成分组。这些程序原本是 为了i p v 4 而设计的,在过渡期为使i p v 4 地址和i p v 6 地址都能处理而进行了改进,但不 能处理在i p v 4 中不存在的流。在这种分组中应置于由2 0 比特0 组成的空标记流。 关于什么样的业务应使用流标记有很多争论。目前只有这样一个一致的意见:少量的 数据传输不使用流标记,因为不值得为几个数据分组建立一个流:对实时业务应使用流标 记,因为流标记就是为提高实时业务的q o s 而引入的。而对于大量的尽力传送业务( 如 t c p ) 是否使用流标记存在二种截然相反的意见。正方认为,用流标记为大数据量业务建 立一个特殊路由,提供更好的服务。反方认为i ,为一个t c p 连接使用流标记会改变路由 器对路由缓存( r o u t ec a c h e ) 的处理犯法。每一个连接都需要一个流标记表项,这将会 导致缓存“爆炸( c a c h ee x p l o s i o n ) ”。 1 2 3 净荷长度 净荷长度域指示i p 基本头标以后的i p 分组剩余部分的长度,单位是字节a 此域占1 6 比特,因而i p 分组通常应在6 5 5 3 5 字节以内。但如果使用h o pb yh o p 选项扩展头标的特 6 南京邮电学院硕 研究生学位论文 第一章l p v 6 介绍 大净荷选项,就能传送更大的分组。利用此选项是净荷长度置0 。 1 2 4 中继点限制 中继点限制决定了能够将分组传送到多远。主机在生成i p 分组时,在中继点限制域 中设置某一初值,然后将i p 分组送到网上的路由器。各路由器从该值起逐次减1 。如分 组到达信宿之前其中继点限制变为0 ,该分组就被抛弃掉。 使用中继点限制有二个目的。第一是防止寻路发生环回( 1 0 0 p ) 。在健全的网络中不 会发生寻路中的环回现象,但网络未必总是健全的。一旦发生环回,路由器就会根据错误 信息进行寻路,导致i p 分组不能到达信宿,陷入无限的循环。 图1 - 4 示出了单纯的寻路环回。工作站向p c 发送i p 分组。此i p 分组首先到达路由 器a 。路由器a 判断错误。认为p c 接在路由器b 上,因此将此分组发往路由器b 。路由器 b 知道p c 的正确位置,该分缀到达信宿的睢一方法是送到路由器a 。于是,路由器b 立即 将它回送到原处。但路由器a 还是掌握着错误的信息,该分组又被送到路由器b 。由此可 见,在路由器间寻路出现了环回,发往p c 的分组在二个路由器间不断地循环,无法到达 信宿。 因i p 不能订正路由器a 的错误信息,故无法使此i p 分组到达信宿。在i p 中可以利 用中继点限制来防止i p 分组陷入寻路的死循环中。在图卜4 中工作站将i p 分组的中继点 限制的初始值设置为l o 。路由器a 将此i p 分组发往路由器b 时将中继点限制值减i 变为 9 。路由器b 在该值变为o 之前也作相同的减1 操作。当该值变为0 时,路由器b 不再向 路由器a 回送,而是抛弃该l p 分组。虽然该i p 分组没有到达p c ,但至少最后从网络中 被抛弃掉。 中继点限制还用于其它目的。如图1 - 4 所示。主机利用它在网内进行检索。图中所有 的 南京邮电学院硕士研究生学位论文 第一章i p v 6 介绍 b 图卜4 利用中继点限制防止寻路时发生环路 服务器都属于特定的组播组( m u l t i c a s tg r o u p ) 。p c 要向其中一个服务器发送i p 分组, 无论 发向哪个都行。为了减轻网络负荷,p c 希望搜索到离它最近的服务器。 首先。p c 将中继点限制的初值设置成1 发送查询信息。此最初的查询信息到达二个路 由器虽未被抛弃,但任何一个路由器都没有提供所需的服务。p c 启动定时器等待应答, 定时器超时后重发查询信息。第2 次将中继点限制的初值设置成2 。结果,搜索范围扩大 到4 个路由器,但在此范围内还是没有路由器。在下一个超时后,p c 机再次进行查询, 这次将中继点限制的初值设为3 。此次查询到达图中最上方的服务器。此服务器对请求作 出应答,p c 结束搜索。不再访问第4 个中继点或第5 个中继点上的其他务器。 南京邮电学院硕士研究生学位论文 第一章i p v 6 介绍 1 2 5 下一头标 下一头标用来标识i p 分组中的基本i p 头标的下一个偷标。在此头标中,指示选项的 i p 头标和上层协议。表卜1 列出了主要的下一头标值。其中一些值用来标识扩展头标。 当需要新的选项,或开发出新的协议时,就为其分配新的下一头标值。 9 南京邮电学院硕士研究生学位论文 第二章i c m p 协议 2 1i c m p v 6 4 概述 第二章i c m p 协议 在网络体系的设计中。i p 报文的发送机制并不是设计得绝对可靠,而是遵循“尽力 而为”的原则。这个原则实施的结果就是:当网络出现问题时,可以返回报错或反馈消息 等某些控制信息,由信源地址重新发送或改变报文的结构再重新发送等;而不是使i p 协 议变得绝对可靠,也不保证i p 数据报文或这些控制信息一定正确到达;很可能一些i p 数据报文仍然在没有任何控制信息报告的情况下丢失。在这种情况下,上层的协议只有使 用固有的差错控制应用程序来加以判断。 i c m p 协议报文就是这样的控制信息,在原有的i p v 4 结构体系中它的主要功能就是进 行错误报告和网络诊断等。i c m p 协议使用i p 作为底层支持,好像它是一个高层协议,而 实际上它是i p 的一部分,必须由其他i p 模块实现。 i c m p v 6 ( i n t e r n e tc o n t r o lm e s s a g ep r o t o c o lv e r s i o n 6 ,i n t e r n e t 控制消息协议版 本6 ) 是i p v 5 体系结构总体的个组成,由所有i p v 6 实现完全支持。l c l p v 6 具备了i p v 4 中的i c m p 所有基本功能,并且抛弃了一些不再使用的过时消息类型,提供了一些简化功 能。 实际上,i c m p v 6 合并了i p v 4 种多个协议的功能,其中主要有以下协议功能。 i c i m p :i n t e r n e tc o n t r o lm e s s a g ep r o t o c o lv e r s i o n 4 ,i n t e r n e t 控制消息协议版本 4 。 i g m p 5 :i n t e r n e tg r o u pm e s s a g ep r o t o c o l ,i n t e r n e t 组成员协议。 a r p 6 :a d d r e s sr e s o l u t i o np r o t o c o l ,地址解析协议。 在目前,i c m p v 6 实现并提供了多种网络功能,其中主要功能如下所示: 错误报告; 网络诊断: 邻居发现: 多播实现; 一般而言,i c m p v 6 的控制信息类型可主要划分为两种,而这种类型又可细分为不同 的类别,如下所示。 1 )错误消息 1 0 ! 塑塑坠壁! ! 塑:! 堕! ! 兰兰垡堡苎 兰三兰! ! 坚! 坐坚 目的不可达。 数据报文过大。 超时 参数错误。 2 ) 信息消息 回应请求消息。 回应答复消息。 组成员资格消息。 路由器请求。 路由器宣告。 邻居请求。 邻居宣告。 重定向。 2 2i c m p v 6 报文格式 i c m p v 6 消息报文的传送依赖于i p v 6 报文的传送,也即i c m p v 6 信息报文是在i p v 6 报 文中一起传送的。没有一个i c m p v 6 报文在传送时都是附加在一个i p v 6 基本报头和若干( 或 没有) i p v 6 扩展报头之后。i c m p v 6 报头通过在它之前并且离它最近的报头中的下一报头 字段n e x th e a d e r 的标识值来加以识别。 i c m p v 6 在下一报头字段n e x th e a d e r 所对应的值为5 8 。 这种i c m p v 6 报文与i p v 6 报文的相互关系如图2 - 1 所示。 图2 1 封装在i p v 6 数据报文中的i c m p v 6 报文 其中, c m p v 6 报文是被i p v 6 报文当作通常所传送的一般数据来正常传送的。i p v 6 报文并不要求对其所封装的i c m p v 6 报文有所了解,只需将i c m p v 6 报文的前一报头中下一 l l 南京邮电学豌硕士母 究生学位论文 第二章i c m p 协议 报头字段值设置为5 8 来加以表明。 i c m p v 6 报文格式如图2 - 2 。 1 类型 07 81 51 63 1 l类型 代码校验和 l报文内容 图2 - 2i c m p v 6 报文格式 类型字段标识了i c m p v 6 报文的类型为八位字节。 类型字段的数值所对应的消息类型 l目的不可达 2 数据报文过大 3 超时 4 参数错误 1 2 8 回应请求消息 1 2 9 回应答复消息 1 3 0 组成员资格查询 1 3 1组成员资格报告 1 3 2 组成员资格减少 1 3 3路由器请求 1 3 4路由器宣告 1 3 5邻居请求 1 3 6邻居宣告 1 3 7 重定向 表2 - 1i c m p v 6 报文的消息类型 妻室塑鱼鲎堕堡堕塑羔兰垡堡塞 兰三兰! 曼坚! 堡坚 它的值决定了后面数据的格式。若最高位为0 ,即取值范围为o 、1 2 7 ,则该i c m p v 6 报文属于差错报文类型:若最高位为1 ,即取值范围为1 2 8 2 2 5 ,则该i c m p v 6 报文属于信 息报文类型。具体对应情况如表2 1 所示,其描述了目前所定义的基本信息类型。 2 代码 代码字段是从属于类型字段的,为八位字节。 它的作用在于以报文类型字段为基础,可以在这些最基本的类型上再细分出新的类 型。这种新的类型为更细的报文等级,是一种附加的消息粒度标准。 3 校验和 校验和字段用于在i c m p v 6 报文和部分i p v 6 报头中校验错误,比如数据的完整性等。 4 报文 这是消息的j 下文。 2 2 1 报文信源地址的确定 一个网络结点发送一个 c m p v 6 报文时,必须在计算校验和以前在i p v 6 报头中确定信 源地址和目的地的i p v 6 地址。 一般状况下,这些地址可以进行简单确定。如一个结点只有一个i p v 6 单播地址时。 若一个网络结点拥有多个单播地址时,情况就变得复杂了。这时,就必须根据不同的 状况来进行报文信源地址的确定。 若i c m p v 6 报文是对发送到属于该结点的某个u n i c a s t 地址的报文进行应答,那么, i c m p v 6 应答报文的信源地址则一定是该u n i c a s t 地址。 若i c m p v 6 报文是对发送到作为组员的该结点的某个m u l t i c a s t 组播组或a n y c a s t 任 播组报文进行检查,那么,i c m p v 6 应答报文的信源地址则一定是属于某个接收到这个 m u l t i c a s t 组搔组或a n y c a s t 任播组报文结点接口的单播u n i c a s t 地址。 若i c m p v 6 报文是对发送到某个不包含予该结点中所有单播等地址的报文进行应答。 那么应答报文的信源地址则一定是属于该结点且最适合判断错误的那个单播地址。例如, 若i c m p v 6 报文是对某个无法正常转发的报文活动进行应答,那么,i c m p v 6 应答报文的信 源地址则定是在那个转发失败的接口的单播地址。 在其它情况下,则可通过查找路由表确定信源地址。在网络结点转发报文去某个目的 地址时,由结点的路由表来决定该结点中众多接口来转发该报文,那么,这个接口的单播 地址也就是报文的信源地址。 南京邮电学院硕上研究生学位论文 第二章i c i m p 协【义 2 2 、2 计算报文校验和 i c m p v 6 报文的校验和是补数,即计算其- - 进制反码,再将这些二进制反码求其和所 得到的就是补数和,也就是校验和,长度为1 6 位字节。 校验和和计算由i c m p v 6 的类型字段再加上一个i p v 6 的伪报头。伪报头中下个报头 字段的值为5 8 。 一般情况下,校验和字段被设置为0 ,以此来计算校验和。 2 2 3i c m p v 6 报文处理的规范 当一个结点接收到某个i c m p v 6 报文信息,该结点必须根据这个i c m p v 6 报文的消息类 型进行相应的应答。 一般来说结点对待t c m p v 6 报文信息,应遵循以下基本规范。 对于无法判别其类型的i c m p v 6 差错报文,童接转送高层协议处理。 对于无法判别其类型的i c m p v 6 信息报文,直接抛开并不发送任何信息。 在不得超过最小的i p v b m t u 的前提下,i c m p v 6 差错报文应包含尽可能容量大的差错数 据报文。 当网络层将i c m p v 6 差错报文转送到上层协议的进程时,原始数据报文中的上层协议 类型字段( 在i c m p v 6 差错报文中) 会被取出,由适当的上层协议相关进程来处理差错。 当原始数据报文中包含了很多的扩展报头时,上层协议类型字段很可能未被包含在 i c m p v 6 差错报文中。因为必须符合t p v b m t u 的长度限制,原始数据报文在分段过程中被 分离了。这种状况下,i c m p v 6 差错报文只是在i p v 6 层处理后就被抛弃且不发任何消息。 在网络结点接收到以下这些报文时,结点将不会发送i c m p v 6 差错报文。 接收到的是一个i c m p v 6 差错报文。 接收的是一个发送到组播地址的数据报文。但这种情况下有两种例外:路径m t u 发现 无法为 p v 6 组播工作,数据报文过大;报告一个无法标识的i p v 6 选项的参数错误。 接收的是一个作为链路层组播的数据报文。两种例外情况同上。 接收的是一个作为链路层广播的数据报文。两种例外情况同上。 接收的事一个无法标识单一信源地址的数据报文。比如,一个还未标识的i p v 6 地址: 一个i p v 6 的组播地址:一个i c j l f p v 6 报文发送者己知道i p v 6 的a n y c a s t 任播地址。 为了节约网绍带宽,减少因为发送i c m p v 6 报文增加的转发费用。每个网络结点都应 1 4 翌生坚皇堂堕塑主婴塞生兰竺丝苎 兰三兰! ! 丝堕鲨 该限制发送i c m p v 6 差错报文的频率。i c m p v 6 并不是每一个错误都发送一次差错报文。有 很多限制方式,下面举两种常用的限制方式: 基于定时器。例如,对于某个指定的信源或者对任何信源,限制其发送i c m p v 6 差错 报文的频率,比如,可以设定为每t 毫秒最多发送一次。 基于带宽。限制从某个特定接口发出的i c m p v 6 差错报文的比率,只能利用相连接带 宽中的f 倍来发送。结点上的临界参数( 比如:以上所提的t 和f ) 必须是根据具体的结 点来配置的,是可以配置和改动的,且每个参数都有默认值( 比如:t = 1 ;f _ 2 ) 。 2 3i c m p v 6 差错报文 2 3 1 目的不可达报文 目的不可达报文,顾名思义,是因为目的地址不可到达,网络只好丢弃某个i p v 6 报 文,这时,就产生了一个目的不可达报文。 目的不可达报文是由路由器或不用来发送消息的网络站点( 如结点的初始化) 的i p v 6 层产生。而且,只有在网络拥塞以外的情况下,i p v 6 报文无法发送到目的地时,目的不 可达报文才生成发送。当网络拥塞时,将必然不会产生i c m p v 6 目的不可达报文等信息, 而是直接抛弃i p v 6 报文不发送任何消息,因为这时产生任何反馈信息都会使网络变得更 加拥塞,并只会产生负作用。 目的不可达报文的格式如图2 3 。 07 8 1 5 1 63 l 类型代码校验和 保留 在不超过最小i p v 6 m t u 的情况下,尽可能多的差错包 图2 - 3 目的不可达报文格式 其中,对于i p v 6 报文而言,信源地址字段就是所发i c m p v 6 报文的接口i p v 6 地址, 具体的确认方法在前面已作说明。信宿地址字段就是被丢弃i p v 6 报文的信源地址。 在i c m p v 6 的目的不可达报文中,类型字段的值为l ,表明该i c m p v 6 报文属于差错报 南京邮电学院硕研究生学位论文 塑三! ! 竺婴立坚 表明被丢弃i p v 6 报文不能到达目的的原因。具体的 文类型。代码字段取值范围为o 4 对应关系如表2 - 2 所示。 代码字段数值对应的含义 0 不能路由到目的地址路由器无法在 其路由表中找到目的地址的匹配条目, 所以不知由哪个接口来转送i p v 6 报文 1 管理上禁止与目的地址通信,所以是 因为管理策略的原因而无法与目的地 址通信。比如i p v 6 包被防火墙扔掉。 即路由器所设置的规则禁止某些性质 的通信。 2 目的地址在信源地址可可以发送的区 域之外。目前,这个代码字段还未正式 使用 3 其它的一些目的地址不可达状况。比 如,某些类型的链路问题;无法计算、 解析得到目的结点的链路层地址。 4 i p v 6 报文可以到达目的地址结点,但 其目的端口不可到达。比如,包含u d p 消息的i p v 6 报文到达目的地址结点, 但目的u d p 端口不可达。 表2 - 2 目的不可达报文中代码字段值的含义 校验和字段用来在i c m p v 6 报文和部分i p v 6 报头中校验错误,比如数据的完整性等。 一般情况下,校验和字段被设置成0 ,以此来计算校验和。 保留字段目前尚未使用。在信源结点发送时。该字段奖杯初始化为0 。在信宿结点接 收时则被忽略不计。 该报文内容域应该是这个i p v 6 报文数据的第一部分,它包含了i c m p 的信息。因为要 求必须在任何链路上都能发送i c m p v 6 报文,所以该报文内容域的大小再加上i p v 6 基本报 头及其所有的扩展报头的大小后仍不得超过5 7 6 个八位字节这一最小m t u 。 当网络结点接收到i c m p v 6 目的不可达报文时,必须发送到上一层进程,移交处理。 6 南京邮电学院硕士研究生学位论文 第二章f c m p 蚺议 2 3 2 数据报文过大 、当路由器接收到一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无包装采样方案(3篇)
- 阳台管道改造美化方案(3篇)
- 大学生心理健康培训
- 特殊学生的教育论文
- 本科教育答辩
- 音乐教学经验文章
- 心理健康教育汇报
- 六年级数学试卷分析怎么写
- 2025至2030成人纸尿裤机行业发展趋势分析与未来投资战略咨询研究报告
- 2025-2030年呢绒行业市场现状供需分析及投资评估规划分析研究报告
- 腹部超声检查规范指南
- 2025年中国国际技术智力合作集团有限公司招聘笔试参考题库含答案解析
- 食品安全自查、从业人员健康管理、进货查验记录、食品安全事故处置等保证食品安全的规章制度
- 国家保密知识培训课件
- 新22J01 工程做法图集
- AI在市场营销的智能推广策略
- 2025年1月国家开放大学汉语言本科《古代小说戏曲专题》期末纸质考试试题及答案
- 农村文化产业发展与市场开拓策略
- 2025年广东省中考物理模拟试卷一(含答案)
- 机械密封培训课件
- 河道清淤工程回填施工方案
评论
0/150
提交评论