动态路由协议培训.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
1. 路由协议 (3)
1.1. 静态的与动态的内部路由 (3)
1.2. 选路信息协议(RIP) (5)
1.2.1. 慢收敛问题的解决 (7)
1.2.2. RIP报文格式 (8)
1.2.3. RIP编址约定 (9)
1.2.4. RIP报文的发送 (10)
1.3. OSPF (10)
1.3.1. 概述 (10)
1.3.2. 数据包格式 (10)
1.3.3. OSPF基本算法 (11)
1.3.4. OSPF路由协议的基本特征 (12)
1.3.5. 区域及域间路由 (13)
1.3.6. OSPF协议路由器及链路状态数据包分类 (16)
1.3.7. OSPF协议工作过程 (18)
1.3.8. OSPF路由协议验证 (21)
1.3.9. 小结 (21)
1.4. HELLO协议 (22)
1.5. 将RIP,HELLO和EGP组合起来 (23)
1.6. 边界网关协议第4版(BGP4) (24)
1.7. EGP (27)
1.7.1. 给体系结构模型增加复杂性 (27)
1.7.2. 一个其本思想:额外跳 (28)
1.7.3. 自治系统的概念 (30)
1.7.4. 外部网关协议(EGP) (31)
1.7.5. EGP报文首部 (32)
1.7.6. EGP邻站获取报文 (33)
1.7.7. EGP邻站可达性报文 (33)
1.7.8. EGP轮询请求报文 (34)
1.7.9. EGP选路更新报文 (35)
1.7.10. 从接收者的角度来度量 (37)
1.7.11. EGP的主要限制 (38)
2. CISCO 路由器产品介绍 (39)
2.1. C ISCO 2500 (39)
2.2. C ISCO 4500-M (40)
2.3. C ISCO 7200 (41)
2.4. C ISCO 7513/7507 (42)
3. 路由器的基本配置 (43)
参数设置 (43)
网络号 (43)
IP类设置 (43)
菜单设置 (43)
欢迎文本 (44)
异步线的设置 (44)
总结 (45)
附录一路由器常用命令 (45)
4. 基本维护 (52)
两种状态 (52)
帮助 (52)
命令简写 (52)
跟踪错误 (52)
进入设置状态 (52)
存储退出 (52)
删除设置 (53)
一些常用命令 (53)
修改地址 (53)
修改enable secrect password (54)
附录二常见网络故障分析及排除 (54)
1 路由器常用测试命令 (54)
2 路由器传输故障排除方法 (55)
3网络常见问题 (57)
1.路由协议
1.1.静态的与动态的内部路由
在一个自治系统内的两个路由器彼此互为内部路由器。

例如,因为核心构成了一个自治系统,两个Internet核心路由器互为内部路由器。

在大学校园里的两个路由器也互为内部路由器,因为在校园里的所有机器都属于同一个自治系统。

自治系统中的路由器如何获得关于本系统内部的网络的信息呢?在小型的、缓慢变化着的互连网络中,管理者可以使用手工方式进行路由的建立与修改。

管理者保留一张关于网络的表格,并在有新的网络加入到该自治系统或从该自治系统删除一个网络时,更新该表格。

例如图1.1中显示的小公司的互连网络。

为这样的互连网络选路耗费就微不足道,因为任何两点之间仅有一条路由。

管理者可用人工的方式来配置所有的主机和路由器的路由。

互连网络更改状态(如新增一个网络)时,管理者重新配置所有机器上的路由。

图1.1 在一个网点中包括了5个以太网和4个路由器的
小型互连网络。

在这个互连网络中任意两台主机之
间仅有一个路由
人工的系统明显存在缺点,它不能适应网络的迅速增长或迅速变化。

在大型的、迅速变化的环境中,如Internet 网,人对情况变化的反应速度太慢,来不及处理问题;必须使用自动机制。

采用自动机制还有利于提高可靠性,并对某些路由可变的小型互连网络中的故障采取反应措施。

为了验证这一点,我们假设在图1.1中增加一个路由器,使之变为图1.2 所示的结构。

图1.2 增加了路由器R5后使得网络2和3之间多了一条备
用路径当原有路由出故障时,选路软件能够迅速切换到备
用路由
对于拥有多个物理路径的互连网络体系结构,管理者通常选择其中一条作为基本路径。

如果该基本路径上的路由器出故障,就必须改动路由使得通信流量通过备用路由器来传输。

人工改变路由的方式耗时长而且容易带来错误。

因此,即便是小型互连网中,也应使用处动机制来迅速而可靠地改变路由。

为了自动地保存准确的网络可达信息,内部路由器之间要进行通信,即路由器与可到达的另一个路由器要交换网络可到达性数据或网络选路信息。

把整个自治系统的可到达信息汇集起来之后,系统中某个路由器就使用EGP把它们通告给另一个自治系统。

内部路由器通信与外部路由器通信的不同之处就是:EGP提供了为外部路由器通信广泛使用的标准,而内部路由器通信却没有一个单独的标准。

造成这种情况的原因之一,就是自治系统的拓扑结构和具体技术的多样性。

另一个原因是结构简单与功能强大之间的折衷,即易于安装和配置的协议往往不能提供强大的功能。

因此,流行的适用于内部路由器通信的协议有很多种,但多数自治系统只选择其中一个在内部的来传播选路信息。

由于没有单独的标准,我们使用内部网关协议IGP(Interior Gateway Protocol)作为统称来描述所有的用于内部路由器之间交换的网络可达信息及选路信息的算法。

例如Butterfly核心路由器构成了一个特定的自治系统,它使用SPREAD作为其内部网关协议IGP。

有些自治系统使用EGP来作IGP,不过这对那些由具有广播功能的局域网组成的小型自治系统没有多少意义。

图1.3是自治系统使用某种IGP在内部路由器之间传播可到达信息的示意图。

在这个图中,IGP1和IGP2分别表示自治系统1和2所使用的内部网关协议。

从图中可以得到这个重要的概念:
图1.3 两个自治系统各自在其内部使用不同的IGP,但
是其外部路由器使用EGP与另一个系统通信的示
意图
一个单个的路由器可以同时使用两种选路协议,一个用于到自
治系统之外的通信,另一个用于自治系统内部的通信。

具体地说,运行EGP通告可达性的路由器,通常还需要运行一种IGP,以便获得其自治系统内部的信息。

1.2.选路信息协议(RIP)
使用最广泛的一种IGP是选路信息协议RIP(Routing Information Protocol),RIP的另一个名字是routed(路由守护神),来自一个实现它的程序。

这个程序最初由加利福尼亚大学伯克利分校设计,用于给他们在局域网上的机器提供一致的选路和可达信息。

它依靠物理网络的广播功能来迅速交换选路信息。

它并不是被设计来用于大型广域网的(尽管现在的确这么用)。

在旋乐(Xerox)公司的Palo Alto研究中心PARC早期所作的关于网络互连的研究的基础上,routed实现了起源于Xerox NS RIP的一个新协议,它更为通用化,能够适应多种网络。

尽管在其前辈上做了一些小改动,RIP作为IGP流行起来并非技术上有过人之处,而是由于伯克利分校把路由守护神软件附加在流行的4BSD UNIX系统上一起分发,从而使得许多TCP/IP网点根本没考虑其技术上的优劣就采用routed并开始使用RIP。

一旦安装并使用了这个软件,它就成为本地选路的基础,研究人员也开始在大型网络上使用它。

关于RIP的最令人吃惊的事可能就是它在还没有正式标准之前就已经广泛流行了。

大多数的实现都脱胎于伯克利分校的程序,但是由于编程人员对未形成文档的微妙细节理解不同而造成了它们之间互操作性限制。

协议出现新版本后,出现了更多的问题。

在1988年6月形成了一个RFC标准,这才使软件商解决了互操作性问题。

RIP协议的基础就是基于本地网的矢量距离选路算法的直接而简单的实现。

它把参加通信的机器分为主机的(active)和被动的(passive或silent)。

主动路由器向其他路由器通告其路由,而被动路由器接收通告并在此基础上更新其路由,它们自己并不通告路由。

只有路由器能以主动方式使用RIP,而主机只能使用被动方式。

以主动方式运行RIP的路由器每隔30秒广播一次报文,该报文包含了路由器当前的选路数据库中的信息。

每个报文由序偶构成,每个序偶由一个IP网络地址和一个代表到达该网络的距离的整数构成。

RIP使用跳数度量(hop count metric)来衡量到达目的站的距离。

在RIP度量标准中,路由器到它直接相连的网络的跳数被定义为1,到通过另一个路由器可达的网络的距离为2跳,其余依此类推。

因此从给定源站到目的站的一条路径的跳数(number of hops或hop count)对应于数据报沿该路传输时所经过的路由器数。

显然,使用跳数作为衡量最短路径并不一定会得到最佳结果。

例如,一条经过三个以太网的跳数为3的路径,可能比经过两条低速串行线的跳数为2的路径要快得多。

为了补偿传输技术上的差距,许多RIP 软件在通告低速网络路由时人为地增加了跳数。

运行RIP的主动机器和被动机器都要监听所有的广播报文,并根据前面所说的矢量距离算法来更新其选路表。

例如图1.2中的互连网络中,路由器R1在网络2上广播的选路信息报文中包含了序偶(1,1),即它能够以费用值1到达网络1。

路由器R2和R5收到这个广播报文之后,建立一个通过R1到达网络1的路由(费用为2)。

然后,路由器R2和R5在网络3上广播它们的RIP报文时就会包含序偶(1,2)。

最终,所有的路由器和主机都会建立到网络1的路由。

RIP规定了少量的规则来改进其性能和可靠性。

例如,当路由器收到另一个路由器传来的路由时,它将保留该路由直到收到更好的路由。

在我们所举的例子中,如果路由器R2和R5都以费用2来广播到网络1的路由,那么R3的R4就会将路由设置为经过先广播的那个路由器到达网络1。

即:
为了防止路由在两个或多个费用相等的路径之间振荡不定,RIP规定在
得到费用更小的路由之前保留原有路由不变。

如果第一个广播路由的路由器出故障(如崩溃)会有什么后果?RIP规定所有收听者必须对通过RIP获得的路由设置定时器。

当路由器在选路表中安置新路由时,它也为之设定了定时器。

当该路由器又收到关于该路由的另一个广播报文后,定时器也要重新设置。

如果经过180秒后还没有下一次通告该路由,它就变为无效路由。

RIP必须处理下层算法的三类错误。

第一,由于算法不能明确地检测出选路的回路,RIP 要么假定参与者是可信赖的,要么采取一定的预防措施。

第二,RIP必须对可能的距离使用一个较小的最大值来防止出现不稳定的现象(RIP使用的值是16)。

因而对于那些实际跳数值在16左右的互连网络,管理者要么把它划分为若干部分,要么采用其他的协议。

第三,选路更新报文在网络之间的传输速度很慢,RIP所使用的矢量距离算法会产生慢收敛(slow convergence)或无限计数(count to infinity)问题从而引发不一致性。

选择一个小的无限大值(16),可以限制慢收敛问题,但不能彻底解决客观存在。

选路表的不一致问题并非仅在RIP中出现。

它是出现在任何矢量距离协议中的一个根本性的问题,在此协议中,更新报文仅仅包含由目的网络及到达该网络的距离构成的序偶。

为了理解这个问题我们考虑图1.4中路由集合。

图中描述了在图1.2中到达网络1的路由。

图1.4 慢收敛问题。

(a)中的三个路由器各有到网络1的路由。

(b)
中,到网络1的路由已经消失了,但是R2对它的路由通告引
起了选路的环路
正如图1.4(a )所显示的那样,R1直接与网络1相连,所以在它的选路表中有一条到该网络的距离为1的路由;在周期性的路由广播中包括了这个路由。

R2从R1处得知了这个路由,并在自己的选路表中建立了相应的路由产工将之以距离值2广播出去。

最后R3从R2处得知该路由并以距离值3广播。

现在假设R1到网络1的连接失效了。

那么R1立即更新它的选路表把该路由的距离置为16(无穷大)。

在下一次广播时,R1应该通告这一信息。

但是,除非协议包含了额外的机制预防此类情况,可能有其他的路由器在R1广播之前就广播了其路由。

可能假设一个特殊的情况,即R2正好在R1与网络1连接失效后通告其路由。

因此,R1就会收到R2的报文,并对此使用通常的矢量距离算法:它注意到R2有到达网络1的费用更低的路由,计算出现在到达网络1需要3跳(R2通告的到网络1费用是2跳,再加上到R2的1跳)。

然后在选路表中装入新的通过R2到达网络1的路由。

图1.4描述了这个结果。

这样的话,R1和R2中的任一个收到去网络1的数据报之后,就会把该报文在两者之间来回传输直到寿命计时器超时溢出。

这两个路由器随后广播的RIP 不能迅速解决这个问题。

在下一轮交换选路信息的过程中,R1通告它的选路表中的各个项目。

而R2得知R1到网络1的距离是3之后,计算出该路由新长度4。

到第三轮的时候,R1收到从R2传来的路由距离增加的信息,把自己的选路表中该路由的距离增到5。

如此循环往复,直至距离值到达RIP 的极限。

1.2.1. 慢收敛问题的解决
对图1.4的例子,可以使用分割范围更新(split horizon update )技术来解决慢收敛问题。

在使用分割范围技术时,路由器记录下收到各路由的接口,而当这路由器通告路由时,就不会把该路由再通过那个接口送回去。

在该例中,路由器R2不会把它到网络1的距离为2的路由再通告给R1,因此一旦R1与网络1的连接失效,它就不会再通告该路由。

经过几轮选路更新之后,所有的机器都会知道网络1是不可达的。

但是分割范围更新技术不能解决所有的拓扑结构中的问题 。

考虑慢收敛问题的另一个方法是使用信息流的概念。

如果路由器通告了到某网络的短路由,所有接收路由器迅速地作出安装该路由的反应。

当路由器停止通告某路由,协议在判断该路由不可达之前,要依据超时机制来工作。

当超时出现时,路由器寻找替代路由并开始传
播此信息。

不幸的是,路由器并不知道这个替代路由是否要依赖于刚刚消失的路由。

因此,通常不应迅速地传播否定的信息。

有一条警句或谓一语破的:
好消息传播得快,坏消息传播得慢。

解决慢收敛问题的另一个技术使用了抑制(hold down)法。

抑制法迫使参与协议工作的路由器,在收到关于某网络不可达的信息后的一段固定时间内,忽略任何关于该网络的路由信息。

这段抑制时间的典型长度是60秒。

该技术的思路是等待足够的时间以便确信所有的机器都收到坏消息,并且不会错误地接受内容过时的报文。

需要指出的是,所有参与RIP的机器都要遵循抑制策略,否则仍然会发生选路回路现象。

抑制技术的缺点是:如果出现了选路回路,那么在抑制期间内这些选路回路仍然会维持下去。

更严重的是,在抑制期间所有不正确的路由也保留下来了,即使是有替代路由的存在。

解决慢收敛问题的最后一种技术就是毒性逆转(poison reverse)。

当一条连接消失后,路由器在若干个更新周期内都有保留该路由,但是在广播路由时则规定该路由的费用为无限长。

为提高毒性逆转法的效率,它应该与触发更新(triggered updates)技术结合。

触发更新技术使得新信息,路由器减少了因为想信好消息而容易出错的时间。

不幸的是,虽然触发更新技术、毒性逆转技术、抑制技术和分割范围技术能够解决一些问题,但它们又带来了一些新的问题。

例如,在许多路由器共享一个公共网络的结构中采用触发更新技术的情况下,一个广播就能改变这些路由器的选路表,引发一轮新的广播。

如果第二轮广播改变了路由表,它又会引起更多的广播。

这就产生了广播雪崩。

使用广播技术(这有可能产生选路回路)和使用抑制技术防止慢收敛问题,可使得RIP 在广域网上的工作效率极低。

广播要耗费大量宝贵的带宽。

即便不出现广播雪崩现象,所有机器周期性地进行广播也意味着网络流量随着路由器数目的增加而增加。

而可能出现的选路回路在线路容量有限的情况下可能就是致命的问题。

当兜圈子的分组使得线路的容量饱和后,路由器要交换一些选路报文来打破这种回路,就变得很困难甚至是不可能的。

同样,在广域网中,抑制期间可能太长,使得高层协议使用的定时器超时从而中断连接。

尽管有这些熟知的问题,但还是有许多的组织在广域网上使用RIP作为IGP。

1.2.2.RIP报文格式
RIP报文大致可分为两类:选路信息报文和对信息的请求报文。

它们都使用同样的格式,由固定的首部和后面可选的网络和距离序偶列表组成。

图1.5给出的报文的格式:在这个图中,命令(COMMAND)字段按照下表的规定对应了各种操作:
图1.5 RIP报文的格式。

在32比特的首部之后,报文包含了一系
列的序偶,每个序偶由一个网络IP地址和一个到达该网络的整
数距离值构成
命令含义
1请求部分的或全部的选路信息
2响应,包含发送方选路表内的网络距离序偶
3启动跟踪模式(已过时)
4关闭跟踪模式(已过时)
5保留由Sun Microsystem公司内部使用
路由器或主机通过发送请求命令向另一个路由器请求(request)选路信息。

路由器使用响应(response)命令回答。

但是在大多数情况下,路由器不经请求就周期性发送响应报文。

版本(VERSION)字段包含了协议的版本号(目前的值是1),接收方检测该字段以便对报文作出正确的解释。

1.2.3.RIP编址约定
RIP的普遍适用性也体现在它传送网络地址的方式上。

它的地址格式不局限于供TCP/IP 用户使用,还能适应其他网络协议族的规定。

图1.5中显示出RIP通告中的每个网络地址可以长达14个八位组。

当然,IP地址仅需4个八位组,RIP定义余下的八位组必须为零。

网络i族(FAMILY OF NET i)字段指出了解释它后面出现的网络地址时应遵循的协议族。

RIP对各类地址族的赋值遵循了4BSD UNIX操作系统的规定(IP地址类型的赋值是2)。

除了正常的IP地址之外,RIP规定地址0.0.0.0作为默认路由。

RIP对通告的每个路由,包括默认路由,都附加了距离度量标准。

因此可以让两个路由器以不同的度量标准来通告默认路由(如到互连网络的其余部分的路由),选择其中的一条作为基本路径,另一条作为备用。

在RIP报文每个项目的最后一个字段是到网络i的距离(DISTANCE TO NET i)字段,其内容是到达指定网络的整数型距离值。

距离值是以跳数作为度量单位的,但是它的取值范围限制在1到16,16代表无限远(也就是说该路由不存在)。

1.2.4.RIP报文的发送
RIP报文中并没包含显式的长度字段。

相反,RIP假设底层投递系统能够告诉接收方收到的报文长度。

特别是,在TCP/IP系统中,RIP报文依赖于UDP来告诉接收方报文的长度。

RIP工作在UDP上的端口是520,虽然RIP可以以不同的UDP端口来发送请求报文,但是在接收端的UDP端口通常都是520,同时这也是RIP产生广播报文的源端口。

使用RIP作为内部路由器协议限制选路的度量必须基于跳数。

但跳数通常仅仅提供对网络响应能力和容量的粗略估量,而并不能产生最佳路由。

此外,基于最小跳数来计算路由会有严重的缺点,即它会使选路相对固定不变,因为路由不能对网络负荷的变化作出反应。

1.3.OSPF
随着Internet技术在全球范围的飞速发展,OSPF已成为目前Internet广域网和Intranet企业网采用最多、应用最广泛的路由协议之一。

OSPF(Open Shortest Path First)路由协议是由IETF(Internet Engineering Task Force)IGP工作小组提出的,是一种基于SPF算法的路由协议,目前使用的OSPF协议是其第二版,定义于RFC1247和RFC1583。

1.3.1.概述
OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。

在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。

在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。

作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。

运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。

1.3.
2.数据包格式
在OSPF路由协议的数据包中,其数据包头长为24个字节,包含如下8个字段:
* Version number-定义所采用的OSPF路由协议的版本。

* Type-定义OSPF数据包类型。

OSPF数据包共有五种:
* Hello-用于建立和维护相邻的两个OSPF路由器的关系,该数据包是周期性地发送的。

* Database Description-用于描述整个数据库,该数据包仅在OSPF初始化时发送。

* Link state request-用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。

* Link state update-这是对link state请求数据包的响应,即通常所说的LSA数据包。

* Link state acknowledgment-是对LSA数据包的响应。

* Packet length-定义整个数据包的长度。

* Router ID-用于描述数据包的源地址,以IP地址来表示。

* Area ID-用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。

* Checksum-校验位,用于标记数据包在传递时有无误码。

* Authentication type-定义OSPF验证类型。

* Authentication-包含OSPF验证信息,长为8个字节。

1.3.3.OSPF基本算法
SPF算法及最短路径树
SPF算法是OSPF路由协议的基础。

SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。

SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。

在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:
Cost = 100×106/链路带宽
在这里,链路带宽以bps来表示。

也就是说,OSPF的Cost 与链路的带宽成反比,带宽越高,Cost越小,表示OSPF到目的地的距离越近。

举例来说,FDDI或快速以太网的Cost 为1,2M串行链路的Cost为48,10M以太网的Cost为10等。

链路状态算法
作为一种典型的链路状态的路由协议,OSPF还得遵循链路状态路由协议的统一算法。

链路状态的算法非常简单,在这里将链路状态算法概括为以下四个步骤:
1、当路由器初始化或当网络结构发生变化(例如增减路由器,链路状态发生变化等)
时,路由器会产生链路状态广播数据包LSA(Link-State Advertisement),该数据包
里包含路由器上所有相连链路,也即为所有端口的状态信息。

2、所有路由器会通过一种被称为刷新(Flooding)的方法来交换链路状态数据。

Flooding
是指路由器将其LSA数据包传送给所有与其相邻的OSPF路由器,相邻路由器根据
其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻
的路由器,直至稳定的一个过程。

3、当网络重新稳定下来,也可以说OSPF路由协议收敛下来时,所有的路由器会根据其各自的链路状态信息数据库计算出各自的路由表。

该路由表中包含路由器到每一个可到达目的地的Cost以及到达该目的地所要转发的下一个路由器(next-hop)。

4、第4个步骤实际上是指OSPF路由协议的一个特性。

当网络状态比较稳定时,网络中传递的链路状态信息是比较少的,或者可以说,当网络稳定时,网络中是比较安静的。

这也正是链路状态路由协议区别与距离矢量路由协议的一大特点。

相关文档
最新文档