(通信与信息系统专业论文)eigrp协议分析与软件分析.pdf_第1页
(通信与信息系统专业论文)eigrp协议分析与软件分析.pdf_第2页
(通信与信息系统专业论文)eigrp协议分析与软件分析.pdf_第3页
(通信与信息系统专业论文)eigrp协议分析与软件分析.pdf_第4页
(通信与信息系统专业论文)eigrp协议分析与软件分析.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

电子科技大学硕十论文 摘要 目前网络中普遍使用的内部网关协议有r i p ( 路由信息协议) 和o s p f ( 开 放式最短路径优先) ,这两种协议分别是距离向量算法和链路状态算法的代表, 它们各有特点,也有不足。r i p 简单可靠,但不适应大型的网络,不能避免路由 的无环。o s p f 收敛速度快,但其太复杂,且占用了大量的路由器资源。于是c i s c o 公司推出了结合两种优点的平衡混合型路由协议一一e i g r p ( 增强型内部网关路 由协议) ,该协议为c i s c o 公司的专有协议,在c i s c o 路由器上用的十分普遍。因 此研究它的特点及性能是个十分重要的问题。 本文主要研究了e i g r p 协议的核心算法d u a l ( 扩散更新算法) ,并从软 件角度上考虑如何体现e i g r p 协议的特点:运行机制相对简单,占用路由器资 源少,收敛速度快,路由无环。本文首先介绍了e i g r p 的一些基本概念:e i g r p 距离、后继、可行后继、可行距离、可行条件和核心算法d u a l ,并与r i p 和 o s p f 做了简单比较,说明了e i g r p 的优点究竟在哪里。然后从软件分析的角度 上介绍了如何在v x w o r k s 平台下来体现这些优点。本文主要讲述的是软件中的 系统接口部分:e i g r p 数据包的接收与发送,e i g r p 协议的配置命令处理,e i g r p 协议的显示信息,e i g r p 协议的路由添加和删除等问题和系统框架。最后结合 测试拓扑图给出了测试结果,证明了本软件能与c i s c o 路由器的e i g r p 协议兼容, 实现了路由信息的相互交换,从而得到正确的路由。 关键词:e i g r pd u a l s u c c e s s o r 电子科技大学硕士论文 a b s t r a c t a t p r e s e n t ,t h e r ea r et w ot y p e si g p ( i n t e r i o rg a t e w a yp r o t o c 0 1 ) w i d e l yu s e di nt h e n e t w o r k :r i p ( r o u t i n gi n f o r m a t i o np r o t o c 0 1 ) a n do s p f ( o p e ns h o r t e s tp a t hf i r s t ) r i p b a s e so nd i s t a n c ev e c t o ra l g o r i t h ma n do s p fb a s e so nl i n ks t a t ea l g o r i t h m t h e yb o t h h a v em a n ya d v a n t a g e s ,t h e ya l s oh a v es o m ed e f e c t s r i pi sv e r ys i m p l ea n d e a s yt o c o n f i g u r e ,b u ti t sc o n v e r g e n c et i m ei ss l o w , s oi t i sn o tf i tf o rb i gn e t w o r k a sf o r o s p f , i t sc o n v e r g e n c ei sv e r yq u i c k ,b u ti ti sv e r yc o m p l i c a t e da n di tn e e d sm a n y m o r er e s o u r c eo fr o u t e r s oc i s c oc o m p a n y p u t sf o r w a r dt oe i g r p ( e n h a n c e di n t e r i o r g a t e w a yr o u t i n gp r o t o c 0 1 ) ,i tt a k e si nt h ea d v a n t a g e so f r i pa n do s p f n o we i g r pi s w i d e l yu s e di n c i s c or o u t e r s oi ti s v e r yi m p o r t a n tt os t u d y i t s a d v a n t a g e sa n d p e r f o r m a n c e t h i sa r t i c l em a i n l yd i s c u s s e sd u a l ( d i f f u s i n gu p d a t ea l g o r i t h m ) w h i c hi st h e k e r n e la l g o r i t h mo fe i g r p a n d f r o ms o f t w a r ea n a l y s i sa s p e c td e s c r i b ei t sa d v a n t a g e s : s i m p l em e c h a n i s m ,s m a l lu s i n gt h er o u t e r sr e s o u r c e ,q u i c kc o n v e r g e n c e ,l o o p f r e e r o u t e a tf i r s t ,t h ea r t i c l ei n t r o d u c e ss o m ec o n c e p t so fe i g r pa n ds o m e t h i n gd e t a i l a b o u td u al s u c ha s :e l g r pm e t r i c s ,s u c c e s s o r , f e a s i b l es u c c e s s o r ,f e a s i b l ed i s t a n c e , f e a s i b l ec o n d i t i o n w ea l s oc o m p a r ee i g r pw i t hr i pa n do s p ft od e m o n s t r a t ew h i c h i st h ea d v a n t a g eo fe i g r p t h e nm a i n l yd i s c u s sh o wt oe m b o d yt h e s ea d v a n t a g e so i l t h ev x w o r k sp l a t f o r m t h ea r t i c l ed i s c u s sa b o u tt h es y s t e mi n t e r f a c ep a r to ft h e s o f t w a r e :t h ep r o c e s so fs e n d i n ga n dr e c e i v i n gt h ee i g r pp a c k e t ,t h ec o m m a n d p r o c e s sf r o mt h ec o n f i g u r es h e l lp r o c e s s ,t h es h o wp r o c e s so f t h ee i g r p , t h ea d d i n g a n dd e l e t i n gr o u t ep r o c e s sa n ds oo n a tl a s t ,w et e s ti ta c c o r d i n gt ot e s tt o p o l o g y g r a p h f r o mt h er e s u l t ,w ec a r ls e e t h i ss o f t w a r eh a st h em o s tf u n c t i o n so fe i g r p , a n d c a nc o m m u n i c a t ew i t ht h ec i s c or o u t e ra n de x c h a n g et h er o u t e ri n f o r m a t i o n k e y w o r d s :e i g r pd u a ls u c c e s s o r i l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同丁作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: ,墓蟛 日期:即以乒# 弓月l 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 繇燃新姥2 訇圭 日期:硎中年;月2 日 第一章引言 第一章引言 随着网络迅速膨胀和快速发展,各个单位纷纷组建自己的网络并试图和其 它网络互联,采用什么样的路由协议是组网的关键之一。目前可采用的i g p ( 内 部网关协议) 通常为r i p ( r o u t i n g i n f o r m a t i o n p r o t o c o l ,路由信息协议) 和o s p f ( o p e n s h o r t e s tp a t hf i r s t ,开放式最短路径优先) 。r i p 虽然简单可靠,但其收 敛慢,不适应有冗余路径的较大网络。而o s p f 收敛速度快,但其太复杂,执 行时占用了较多的路由器资源和网络带宽。而目前的网络不只局限于i p 网络, 还有基于i p x 和a p p l e t a l k 协议的网络,于是c i s c o 系统公司根据现有的技术和 客户的需求,推出了结合了r i p 和o s p f 两种协议优点的e i g r p ( e n h a n c e d i n t e r i o rg a t e w a yr o u t i n gp r o t o c o l ,改进型内部网关路由协议) 路由协议。新协 议把r i p 等旧路由协议的简单性和可靠性与o s p f 等新一代路由协议的优点组 合起来,使得e i g r p 很容易配置,可以让网络建筑师完全调整和紧密控制路由 变换。此外,e i g r p 协议还是第一个在企业网络中支持三大协议族( i p 、i p x 和a p p l e t a l k ) 的路由协议。 但此协议为c i s c o 公司的专有协议,目前只运行在c i s c o 公司的路由器上, 而目前c i s c o 公司已经是行业内的领头羊,它的标准已成为事实上的公认标准。 因此要想和c i s c o 路由器完全互联互通,就必须开发出与之兼容的e i g r p 路由 协议。c i s e o 公司认为e i g r p 路由协议兼有r i p 和o s p f 这两类协议的优点, 这就需要我们比较它们之间的优缺点。由于e i g r p 路由协议的核心算法并不完 全公开,而它的核心算法能保证路由的无环,实现路由的快速收敛,这就需要 不断探索和研究。 第二章e i g r p 路由协议简介 第二章e i g r p 路由协议简介 要理解e i g r p 概念,最好的办法是,将它与网络行业使用的其它著名协 议相比较。众所周知,路由协议的主要运行机制有两种: 距离向量算法用于i g r p ( i n t e r i o rg a t e w a yr o u t i n gp r o t o c o l ,内部网关路 由协议) ,r i p ( r o u t i n gi n f o r m a t i o np r o t o c o l ,路由信息协议) 和b g p ( b o r d e r g a t e w a yp r o t o c o l ,边界网关协议) 等协议,每个路由器只知道其邻居提供的信 息,路由器只用直接连接的邻居提供的信息作出路由决策,路由器也只向直接 连接的邻居提供它所知道的路由信息,收到和发送的信息还可以因为安全原因 或通信工程原因而进一步过滤。 链路状态算法用于o s p f ( o p e n s h o r t e s t p a t hf i r s t ,开放式最短路径优先) 和i s i s ( i n t e r m e d i a t es y s t e m t o i n t e r m e d i a t es y s t e m ,中介系统) 等协议,一定 网络区域的所有路由器对该区域的拓扑有相同的了解,简单地说,链路状态协 议绘出整个网络的“地图”,它对于网络中各种设备的位置比距离向量有更全面 的了解。在对整个网络有了了解后,根据某种算法作出路由决策。 e i g r p 使用的技术d u a l ( d i f f u s e du p d a t ea l g o r i t h m ,扩散更新算法) 类 似于距离向量协议,但c i s e o 公司称它为平衡混合型,平衡混合型的意思是它同 时具有距离向量和链路状态算法的特点,其实e i g r p 的核心逻辑上是距离向 量,但它传输拓扑信息的目的是像链路状态一样绘出网络的地图。因此使它比 传统距离向量协议更优秀: e i g r p 保存拓扑表中所有邻居发来的所有路由,而不只是保存迄今为止收 到的最佳路由( 而r i p 则只保存迄今为止收到的最佳路由,放弃其余所有路由) 。 由于e i g r p 不仅仅知道一个路由,因此在当前路由消失时能更快切换到替换路 由,这对于多变不稳定的网络来说非常有用。 e i g r p 能更积极地工作,在无法访问目的地而又没有替换路由时能对邻居 进行查询。而运行传统距离向量协议的路由器则是被动等待邻居寻找和报告更 好的路由。由于汇聚过程( 从路由丢失到重新得到路由的这个过程) 是主动的 而不是被动的( 被动的等待路由超时) ,因此e i g r p 的汇聚过程可以和最佳链 路状态协议相媲美。 2 1e i g r p 距离 和其他协议相似,e i g r p 用距离( m e t r i c s ) 来度量到目的地的路由。有两 第二章e i g r p 路由协议简介 种距离:一种是向量距离( v e c t o r m e t r i c ) ,另一种是复合距离( c o m p o s i t e m e t r i c ) , 这两者可相互转换。 向量距离是路由器到目的地子网的6 个参数组成的向量,包括:带宽、延 迟、负荷、可靠性、步数和m t u ( 最小传输单元) 。如下所示: v e c t o rm e t f i c : m j n i m u mb a n d w i d t hi s1 0 0 0 0 0k b i t t o t a ld e l a yi s1 0 0m i c r o s e c o n d s r e l i a b i l i t yi s2 5 5 2 5 5 l o a d i sl 2 5 5 m i n i m u mm t ui s1 5 0 0 h o p c o u n t i s1 复合距离是个整数,只在路由器内部使用,不发给e i g r p 邻居。它是为 了方便在内部计算和比较。 把向量距离转化为复合向量可分两步: 1 c o m p o s i t em e t r i c 2 k 1 + b w + k 2 + b w ( 2 5 6 - l o a d ) + k 3 + d l ¥ 2 c o m p o s i t em e t r i c = c o m p o s i t em e t r i c + k 5 ( r e l i a b i l i t y + k 4 、 ( 只用于k 5 不等于0 时) 此处: b w = f 1 0 0 0 0 0 0 0 b a n d w i d t h ) + 2 5 6 d l y = d e l a y + 2 5 6 d e l a y 的单位为1 0 微秒,b a n d w i d t h 的单位为k b p s 。 一般来说,k l 和k 3 缺省为1 ,其它的因子缺省为0 。k 2 、k 4 和k 5 是i g r p 时代的遗留产物。所以,缺省复合距离是总延迟和最小带宽倒数的和。 删心s 也 + s u m ( d e l a y , 2 5 6 k 值可以改动,但要让e i g r p 顺利工作,e i g r p 邻居之间的k 值一定要 相同。改变k 值可以仿真与其他的路由协议相似的e i g r p 功能,具体如下: 仿真r i p ,将所有接口的延迟设置成相等值,并将除k 3 以外的所有k 值置0 。 仿真o s p f ,将接口延迟设置为o s p f 的成本,并将除k 3 以外的所有k 第二章e i g r p 路由协议简介 值置0 。 选择最小端对端带宽的路由,将除k 1 以外的所有k 值置为o 。 由此可见,e i g r p 路由协议的功能强大。 一般来说,向量距离只用到带宽和延迟,他们反映了当前接口链路的性能。 它们的数值可以根据具体的情况改变,下表为各种接口的带宽和延迟的缺省值。 表2 - 1 各种接口的带宽和延迟的缺省值 接口类型( i n t e r f a c e t y p e )带宽( b a n d w i d t n :k b p s ) )延迟( d e l a y ( m s ) ) e t h e m e t ( 以太网) 1 0 0 0 01 0 0 0 t o k e n r i n g ( 令牌环) 1 6 0 0 06 3 0 f d d i1 0 0 0 0 01 0 0 s e r i a li n t e r f a c e ( 串行接口)1 5 4 42 0 0 0 0 低速接口 “52 0 0 0 0 i s d np r i6 4 + 6 42 0 0 0 0 i s d np r i6 42 0 0 0 0 d i a l e ri n t e r f a c e ( 拨号器接口)5 62 0 0 0 0 信道化( c h a n n e l i z e d ) t 1 或e 1 n 46 4 2 0 0 0 0 a s y n ci n t e r f a c e ( 异步接1 2 1 )t t yl i n es p e e d 1 0 0 0 0 0 l o o p b a c k ( 环路) 8 0 0 0 0 0 05 0 0 0 从邻居接收的向量距离利用接收的向量距离和接收路由的接口参数进行 计算,公式如下: d e l a y 。= d e l a y ,, 口。,。d + d e l a y i n 如 b a n d w i d t h 。= r a i n ( b a n d w i d t h , p n 。d ,b a n d w i d t h i n t e r f a ) m t u m 。= m i n ( m t u ”c e i v e d ,m t u m r 缸p ) h o p c o u n t m 、,= h o p c o u n t w 口i 。d + 1 将计算得出的向量距离存于拓扑表,作为到目的地的一个路径度量。 第二章e i g r p 路由协议简介 2 2 e l g r p 常用术语 假设网络中的路由数据从a 到f 到达特定的目标子网。 路由数据 分组流程 p - , d = 5 0 垂磊多一蒂二。2 路由器a 上游路由器i 当 图2 - 1 常用术语演习图 下游路由器( d o w n s t r e a mr o u t e r ) :( 对于子网) 是离目标子网更近的路由 器,当前路由器通过下游路由器将数据分组传递到目标子网。 上游路由器( u p s t r e a m m u t e r ) :( 对于子网) 是离目标子网更远的路由器, 通过当前路由器将数据分组传递到目标子网。 报告距离( r e p o r t e dd i s t a n c e ) :是邻居向当前路由器报告到目的地的距离。 后继( s u c c e s s o r ) :是从当前路由器到达目标路由器经过的下一跳路由器。 是到达目的地度量最低的下一跳路由器。 可行距离( f e a s i b i l h yd i s t a n c e ,f d ) :是上次d u a l 计算完成之后从当前 路由器到达目标的最短距离。也就是通过后继到达目的地的距离。 可行条件( f e a s i b i l i t yc o n d i t i o n ,f c ) :如果邻居的报告距离低于可行距离, 则符合可行性条件,它用来消除路由环路的可能性。 可行后继( f e a s i b l es u c c e s s o r ) :符合可行条件的邻居路由器,是比当前路 由器更接近目标的路由器,可行后续者一定不是当前路由器的上游路由器。可 以认为可行后继是当通过现有后继的路径出现故障以后用作替代的后继。 第二章e i g r p 路由协议简介 输入事件( i n p u te v e n t 3 :输入事件是任何可能影响到一条路由的可达性事 件,比如直接相连的链路的距离发生变化,收到一个查询、更新、应答报文等。 活动状态( a c t i v es t a t e ) :当一个输入事件会导致一次路由扩散计算时称这 条路由处于活动状态。当路由处于活动状态时,路由器不能改变路由的后继, 不能改变它所公告的该路由的距离,也不能改变路由的可行距离f d 。一旦所有 的路由器都响应了查询,路由器就可以从活动状态转换到被动状态,在这个过 程中,可能会删除或重新计算路由。 被动状态( p a s s i v es t a t e ) :这是d u a l 算法中路由器的正常状态。当处于 被动状态时,路由可以被更新,也可以作本地计算。 本地计算( 1 0 c a lc o m p u t a t i o n ) :当网络拓扑结构发生变化( 输入事件) 时, 本地计算就会发生。路由器要对拓扑的变化进行评估,在当前网络拓扑中寻找 后继,被找出的后继就被使用,如找不到,就必须启动扩散计算,进入活动状 态。 扩散计算( d i f f u s i n gc o m p u t a t i o n ) :路由的扩散计算发生在某一路由的后继 丢失并且网络拓扑中没有可行后继的时候。当路由器执行扩散计算时,同时进 入路由的活动状态,并查询邻居,试图确定一个替代路由。 说明: 从路由器b 的角度看,路由器c 、d 、e 是下游路由器,路由器a 是上游 路由器。 尽管由于向量距离的计算不是线性的,无法简单的把复合距离相加,但我 们假设可以简单相加,使例子简化。 在路由器b 看来, m e t r i c sb c f = 3 0 + 2 0 = 5 0 = 可行距离f d m e t r i c sb d f = 4 0 + 2 0 = 6 0 m e t r i c sb e f = 7 0 + 1 0 = 8 0 路由器b 到路由器f 的后继是:路由器c ,它的距离最短。可行后继是: 路由器d ,报告距离小于可行距离( 4 0 5 0 ) 。 2 3e i g r p 报文格式 e i g r p 协议运行在i p 上,与t c p 和u d p 同层,它的协议号为8 8 。e i g r p 协议在i p 上使用组播地址2 2 4 0 0 1 0 ,在i p x 和a p p l e t a l k 上使用广播地址。 6 第二章e i g r p 路由协议简介 表2 - 2e i g r p 在不同协议上使用的多目广播地址 基础协议族地址 i p 2 2 4 0 0 1 0 i p x m f h t 脚 a p p l e t a l k 线缆范围广播 以下为e i g r p 协议报文的结构,封装在i p 报文的有效载荷内。 3 2 位 8888 v e r s i o n ( 版本1o p c o d e ( 操作码) c h e c k s u m ( 效验和) f l a g s ( 标志) s e q u e n c e ( 顺序号) a c k ( 应答号) a u t o n o m o u ss y s t e mn u m b e r ( 自治域号) t l v s 图2 - 2e i g r p 报文头 e i g r p 协议使用几种不同的报文来传输不同类型的信息。它们是确认a c k 报文、h e l l o 报文、查询报文、应答报文和更新报文,他们通过操作码o p c o d e 来区分。 表2 - 3e i g r p 报文类型 o p c o d e ( 操作码)t y p e ( 类型) l u p d a t e ( 更新) 3 q u e r y ( 查询) 4 r e p l y ( 答复) 5h e l l o 、a c k 6i p xs a p 第二章e i g r p 路由协议简介 确认报文:当可靠地发送了e i g r p 报文后,就会发送a c k 报文来响 应它。a c k 报文往往是不可靠地单播。它和h e l l o 报文共用同一个操 作码。 h e l l o 报文:h e l l o 报文周期性地发送,用来建立邻居关系。它使用 2 2 4 0 0 1 0 地址进行不可靠的组播。 更新报文:更新报文包含了路由的更新信息。具体地说就是到某目的 地的距离向量。更新报文可以用2 2 4 0 0 1 0 地址进行可靠的组播,也 可用r t p 来保证单播。 查询报文:当路由器的某条路由进入活动状态,开始扩散计算时,就 会发送查询报文,问某个目的地怎么走。它的发送形式和更新报文一 样。 应答报文:应答报文用来响应查询报文,它报告应答邻居到目的地的 最佳路径或者不可达信息。它总是用r t p 来可靠传输。 e i g r p 报文有5 种报文,各种报文有各自不同的内容,因此e i g r p 报文 中的其他信息通过t y p e l e n g t h v a l u e ( t l v ) 编码方式编码,便于扩展协议。 它是可有可无的,在a c k 报文中,就没有t l v 。以下是当前e i g r p 版本中定 义的不同t i j v 。 表2 - 4 当前e i g r p 版本中的不同t l v 类型编号t l 、,类型 一般t 【 0 x 0 0 0 1e i g r p p a r a m e t e r s ( e i g r p 参数) 类型o x 0 0 0 3 s e q u e n c e ( 顺序号) 0 x 0 0 0 4s o t t w a r ev e r s i o n1 2 ( 软件v 1 2 ) 0 x 0 0 0 5n e s tm u l t i c a s ts e q u e n c e ( 下一多目广播顺序号) i p 相关的0 x 0 1 0 2i p i n t e r n a lr o u t e s ( i p 内部路由) t l v 类型 o x 0 1 0 3i pe x t e r n a lr o u t e s ( i p 外部路由) a p p l e t a l k 相 0 x 0 2 0 2 a p p l e t a l k i n t e m a lr o u t e s ( a p p l e t a l k 内部路由) 关的t l v 类 0 x 2 0 2 3 a p p l e t a l k e x t e r n a lr o u t e s ( a p p l e t a l k 外部路由) 型 0 x 0 2 0 4 a p p l e t a l k c a b l ec o n f i g u r a t i o n ( a p p l e t a l k 线缆配置) i p x 相关的 0 x 0 3 0 2i p x i n t e r n a lr o u t e s ( i p x 内部路由) t l :v 类型 0 x 0 3 0 3i p xe x t e r n a lr o u t e s ( i p x 外部路由) 8 第二章e i g r p 路由协议简介 每个t l v 项目包含项目类型( 2 个字节) 、项目长度( 2 个字节) 和项目特 定信息。在这里,我们只考虑i p 网络,t l 、,分为两种格式,分别为内部路由 t l 和外部路由t l v 。内部路由是从e i g r p 的自治域a s 内部产生并开始传播 的路由,外部路由指从其它路由协议源重发布到e i g r p 协议中的路由,并不是 e i g r p 协议自己产生的路由信息。 8888 类型( t y p e ) = 0 x 0 1 0 2长度( l e n g t h ) 下一步( n e x th o p ) 延迟( d e l a y ) 带宽( b a n d w i d t h ) m t u步数( h o pc o u n t ) 可靠性( r e l i a b i l i t y )负荷( l o a d )保留( r e s e r v e d ) 预定长度( p r e f i xl e n g t h )目标( d e s t i n a t i o n ) + 图2 - 3i p 内部路由的t l v 8888 t y p e = 0 x 0 1 0 3l e n g t h n e x t h o p o r i g i n a t i n gr o u t e r o r i g i n a t n q ga u t a n o m o u ss y s t e mn u m b e r a r b i t r a r yt a g e x e r n a lp r o t o c o lm e t r i c r e s e r v e de x t e r n a lp r o t o c o li df l a g s d e l a y b a n d w i d t h m t uh o pc o u n t r e l l a b l l i t yl o a dr e s e r v e d p r e f i xl e n g t h d e s t i n a t i o n + 图2 - 4i p 外部路由的t l v 9 第二章e i g r p 路由协议简介 t 这个字段是个变量。一般为了补齐3 2 位,添0 。例如:如目标地址 为l o 1 ,则d e s t i n a t i o n 字段为2 个八位组,后面添上0 x 0 0 。如目标地址为 1 9 2 1 6 8 1 6 6 4 ,则d e s t i n a t i o n 字段为4 个八位组,后面添上0 x 0 0 0 0 0 0 。但是根 据笔者用e t h e r e a l 捕包软件捕下来的包来看,并没有补齐。 2 4e l g r p 组成模块 e i g r p 协议的核心算法是扩散更新算法( d u a l ) ,利用协议( h e l l o 协议和 可靠传输协议) 和数据结构( 邻居表和拓扑表) 向网络中所有路由器提供一致 信息,实现最佳路由选择。以下分别介绍各个模块。 路由选择过程 一文 ( 一7 ) 邻居表 一c 扩散d 更u 新a l 算法, l i i 传输机制 lh e l l 。协议li n 什 i e i g r p 的过程、协议和数据结构总图 图2 5e i g r p 模块组成图 2 4 1 传输机制 传输机制分为h e l l o 协议和r t p 可靠传输协议。 1 0 第二章e i g r p 路由协议简介 2 4 1 1h e l l 0 协议 e i g r p 的h e l l o 协议的三个目的: 它发现能够访问的新邻居,邻居发现是自动。 它验证邻居配置并只允许以兼容方式配置的邻居通信。 它持续监视邻居可用性并探测邻居的消失。 h e l l o 协议有两个定时器探测邻居的消失:h e l l o 间隔( h e l l oi n t e r v a l ) 指定 路由器在接口上发送h e l l o 协议的频度,保持定时器( h o l dt i m e r ) 指定路由器 从指定邻居接受不到h e l l o 协议包时等待多长时间再声明该邻居死亡。 2 4 1 2r t p 协议 e i g r p 可靠传输协议( r t p ,r e l i a b l et r a n s p o r tp r o t o c 0 1 ) 保证e i g r p 邻居 之间及时、可靠且有效的路由数据交换,使用排序、应答和重发等机制实现可 靠传递和流控制。e i g r p 支持并发单目广播和多目广播发送。r t p 这些特性对 于减少带宽的使用和对c p u 的使用是很有效的。 r t p 使用两种分组:不可靠分组在r t p 内部使用( a e k 分组) 或用于不需 要应答的分组( h e l l o 分组) ,可靠分组传递需要应答的路由数据,也就是可靠 分组必需应答。这两种分组都可以单目广播和多耳广播发送。 表2 - 5e i g r p 分组的单目广播和多目广播 分组类型可靠性不可靠可靠 u n i c a s t ( 单目广播)a c k r e p l y ( 答复) m u l t i c a s t ( 多目广播)h e l l o u p d a t e ( 更新) q u e r y ( 查询) 所有可靠多目广播分组也可以用单目广播分组来发送,不过要尽可能用多 目广播发送,可以节约带宽。以下分别介绍r t p 的传输机制 顺序号与应答号 e i g r p 协议是混合单目广播和多目广播,它采用:对所有分组用相同的序 号,但对等实体收到的序号可以不按顺序,但是顺序号只能递增。e i g r p 传输 协议使用停止与等待操作方式,在有些情形中可能会延迟网络汇合,但能保证 节约因回程延迟而使用的带宽。e i g r p 协议采用显示应答和背包应答。 第二章e i g r p 路由协议简介 重发和重发定时器 e i g r p 分组中的序号和应答号是r t p 可以从各种分组丢失条件中恢复。 处理丢失分组的最简单方法是:在没有应答时重发分组。这个过程与t c p 相似, 需测量每个分组的r t t ( 往返时间) ,计算出r t o ( 重发超时) 。一般重发1 6 次之后,就会宣告邻居死亡。 混合单目广播,多目广播 多目广播r t p 排序和应答的方式与单目广播操作相似,主要差别在于,发 送多目广播分组的路由器要跟踪哪个邻居应当应答分组,然后在各个邻居没有 应答时以单目广播分组形式重发分组。另一个差别在于,多目广播分组不能传 递背包应答,a c k 字段总是0 。 混合单目广播多目广播操作模型有一个缺点:一个无响应的路由器就可能 阻止支持广播的子网上所有邻居之间的通信。要防止这种情形,e i g r p 用特殊 机制( 多目广播流控制和条件接受) 让响应邻居继续接受多目广播分组,而同 一分组的单目广播版本单独发送给无响应邻居。当无响应邻居赶上其他路由器 邻居时( 例如应答所有未应答的分组之后) ,可以恢复接受多目广播。 2 4 2e i g r p 邻居 可以用h e l l o 协议发现新邻居。每个路由器在属于e i g r p 过程的所有接口 上发送自己的多目广播h e l l o 消息,并听取其他路由器通过同一组接口发来的多 目广播消息。收到原先未知邻居发来的h e l l o 消息时,e i g r p 建立与这个邻居 的完全相邻性并进行初始拓扑表交换。初始拓扑表交换由发给新邻居的第一个 更新分组u p d a t e 中的i n i t 标志表示。 相邻性复位 在保持时间内未收到邻居的任何h e l l o 分组时,将声明邻居死亡,相邻性 复位。产生相邻性复位的原因还有:一个可靠分组重发至少1 6 次且超过保持时 间、接口关闭、e i g r p 过程删除、接口配置改变( 接口延迟、带宽、m t u 改变 或i p 地址的改变) 、全局的汇总机制的改变、全局的重发布路由机制的改变。 相邻性复位的结果:从邻居表中删除邻居,e i g r p 丢失这个邻居的所有信 息。删除从这个邻居得到的拓扑表信息,可能启动本地或扩散计算。 2 4 3fj 6 r p 拓扑表 e i g r p 拓扑表是e i g r p 协议的核心之一。d u a l 过程用拓扑表存放e i g r p 邻居收到的路由信息和其他路由协议收到的信息。路由选择过程选择最优路由 第二章e i g r p 路由协议简介 并将其插入到i p 路由表时也使用拓扑表。拓扑表中分为内部e i g r p 路由和外 部e i g r p 路由。e i g r p 拓扑表存放所有的接受到的路由信息,不仅仅是后继和 可行后继的路由信息。 2 4 4 路由选择过程 e i g r p 最佳路由并不是自动复制到主路由表中,而是要与其他路由源竞 争。管翌笠级( 西m i n i s t r a t i v ed i s t a n c e ) 可比较不同路由源的路由,并依据它来 选择最佳路由。e i g r p 路由选择过程对内部和外部路由设置不同的管理等级, 缺省内部路由为9 0 ,外部路由为1 7 0 。 管理等级是在路由上附加的一个度量,用来描述路由的“可信度”。当路 由器使用不同的路由协议时,多个路由协议可能会对同一个目的地提供不同的 路由,路由器如何知道那个路由协议的信息最准确。路由器通过给每个路由协 议指定一个管理等级并用它作为主要依据作出路由选择,在比较了管理等级之 后才比较具体的路由度量,管理等级优先的路由将被加入路由表,其它的路由 则被忽略。以下为c i s c o 路由器的默认管理等级,管理等级越小,路由就越可靠。 表2 - 6c i s c o 路由器的默认管理等级 路由来源管理等级 直接连接 静态路由 e 1 0 r p 汇总路由 外部b g p 内部e i g r p i g r p o s p f r i p 外部e i g r p 内部b g p 未知 此外,e i g r p 还支持变差( v a r i a n c e ) 机制,能够在不等价路由之问平衡 1 3 0 0 m 加 加 ” o 1 5 2 9 1 l 1 1 2 2 第二章e i g r p 路由协议简介 通信负荷。 e i g r p 路由选择过程比起一般的距离向量协议要复杂一些。它通过使用可 行条件f c 来保证路由的无环,在最开始,f c 设置为无穷大4 2 9 4 9 6 7 2 9 5 ,并且 f c 在每次改变后,只能减小,不能增大,除非启动扩散计算。如果接收到的新 路由的距离比现有的最佳距离f d 要小,那么此条路由被选择为新的后继,f d 更新,f c 也跟着改变,拓扑表中其它路由将被判断是否满足新的f c ,满足的 被配置为可行后继。如果接受到的新路由的距离比当前的f d 大,但满足f c , 则被配置为可行后继,如果不满足f c ,这只存储到拓扑表中。如果有输入事件 使得当前最小距离f d 变大,则启动扩散计算,重新计算f d 以及f c 。 2 4 5d u a l ( 扩散更新算法) e i g r p 的核心算法是d i f f u s i n g u p d a t e a l g o r i t h m ( d u a l ,扩散更新算法) , d u a l 的工作过程能保证路由总是无环的,这一点已在数学上证明了。d u a l 算法分为本地计算和扩散计算两部分。 d u a l 规则1 d u a l 规则2 d u a l 规则3 : 基本d u a l 规则 路由器选择新的后继时,它将新报告距离告诉所有其他 邻居。 每次路由器选择后继时,它将一个抑制更新( 无穷大) 发给后继。 抑制更新发给后继能访问的接口上的所有邻居,除非关 闭分割层面。关闭分割层面时,它只发给后继。 d u a l 算法主要针对各种输入事件作出反映,以下为e i g r p 对路由丢失 和链路故障、邻居丢失等输入事件的处理方法: e i g r p 用正常更新分组报告路由丢失,并将向量距离的d e l a y 部分设 置为无穷。 e i g r p 把直接连接子网的丢失当作从路由器外部源收到的更新分组, d e l a y 部分设置为无穷。 e i g r p 把链路丢失当作直接连接子网的丢失加上一个或几个邻居丢 失。 e i g r p 把邻居丢失当作来自该邻居的更新分组,该邻居的d e l a y 部分 1 4 第二章e i g r p 路由协议简介 设置为无穷。 2 4 5 1 本地计算 本地计算是在被动状态下,对新输入的事件作出的反映,对路由进行评估, 寻找最佳后继和可行后继。它可以启动扩散计算,在扩散计算收到所有的应答 报文后,收敛后,又开始本地计算。 它也可能改变后继,切换到可行后继。这是在路由器本地立即进行的。路 由保持被动状态( 不进行扩散计算) ,不涉及其他路由。 2 4 5 2 扩散计算 输入事件后,e i g r p 路由器找不到替换路由( 没有替换路由,或新的最佳 路由仍然经过报告增加路由距离的后继,或新的最佳路由不经过可行后继) 时, 它进行扩散计算,向所有邻居询问替换路由。扩散计算按下列步骤进行: 第一步路由表中将该路由设置为活

温馨提示

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

评论

0/150

提交评论