IP路由基础培训教材_第1页
IP路由基础培训教材_第2页
IP路由基础培训教材_第3页
IP路由基础培训教材_第4页
IP路由基础培训教材_第5页
已阅读5页,还剩66页未读, 继续免费阅读

下载本文档

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

文档简介

1、第1章 IP路由基础1-11.1 培训目标1-11.2 路由概述1-21.2.1 什么是路由1-21.2.2 路由器的作用1-31.3 IP编址1-41.3.1 IP地址介绍1-41.3.2 IP地址分类1-61.3.3 子网规划1-101.3.4 变长子网掩码(VLSM)1-131.3.5 无类域间路由(CIDR)1-141.4 一些基本概念1-151.4.1 路由花费1-151.4.2 路由优先级1-161.4.3 路由收敛1-171.4.4 路由聚合1-181.4.5 路由迭代1-191.4.6 负载分担1-201.5 IP路由转发原理1-211.5.1 二层寻址1-211.5.2 三层

2、路由原理1-221.5.3 路由表的作用1-231.5.4 路由的来源和分类1-241.6 静态路由1-251.6.1 静态路由1-251.6.2 缺省路由1-271.6.3 浮动静态路由1-281.7 动态路由协议1-291.7.1 动态路由协议原理1-291.7.2 动态路由协议的分类1-301.8 D-V算法1-331.8.1 D-V算法原理1-331.8.2 环路的产生1-351.8.3 路由环路的解除方案1-361.8.4 路由环路的避免方案1-371.9 RIP协议1-401.9.1 RIP协议概述1-401.9.2 RIP的两个版本比较1-421.10 L-S算法1-431.10

3、.1 L-S算法介绍1-431.11 OSPF协议1-441.11.1 OSPF概述1-441.11.2 OSPF区域1-461.11.3 OSPF的应用场合1-501.12 IS-IS协议1-521.12.1 IS-IS概述1-521.12.2 IS-IS区域1-531.12.3 IS-IS的应用场合1-541.13 P-V算法1-551.13.1 P-V算法介绍1-551.14 BGP协议1-561.14.1 BGP概述1-561.14.2 BGP的两种邻居1-581.14.3 BGP的路由属性1-601.14.4 BGP的应用场合1-611.15 衡量路由协议的一些性能指标1-621.1

4、6 现有路由协议的性能比较1-631.17 路由协议之间的互操作1-641.18 组网与路由规划1-651.19 小结1-66第1章 IP路由基础1.1 培训目标通过本章的学习,您应该能够了解路由及其原理,路由器的作用,IP编址和路由的一些基本概念。能够了解动态路由协议原理,DV算法,LS算法,PV算法以及常用的几种路由协议。能够了解各种路由协议的应用场合和性能差别。1.2 路由概述1.2.1 什么是路由路由器提供了将异构网互联的机制,实现将一个数据包从一个网络发送到另一个网络。路由就是指导IP 数据包发送的路径信息。在互连网中进行路由选择要使用路由器,路由器只是根据所收到的数据报头的目的地址

5、选择一个合适的路径(通过某一个网络),从某个接口将数据包传送到下一个路由器,如此逐跳转发,路径上最后的路由器负责将数据包送交目的主机。数据包在网络上的传输就好像是体育运动中的接力赛一样,每一个路由器只负责自己本站数据包通过最优的路径转发,通过多个路由器一跳一跳的接力将数据包通过最优最佳路径转发到目的地,当然有时候由于实施一些路由策略数据包通过的路径并不一定是最佳路由。根据路由的目的地不同,可以划分为:l 子网路由:目的地为子网l 主机路由:目的地为主机另外,根据目的地与该路由器是否直接相连,又可分为:l 直接路由:目的地所在网络与路由器直接相连l 间接路由:目的地所在网络与路由器不是直接相连1

6、.2.2 路由器的作用路由器的主要作用是将不同的网络互连为一个整体。具体的,路由器的作用表现在一下几个方面:数据转发:路由器必须具有根据数据分组的目的网络地址转发分组的功能。路由(寻径):为了实现数据转发,路由器必须有能力建立、刷新路由表,并根据路由表转发数据包。备份、流量流控:为了保证网络可靠运行,路由器一般都具备主备线路的切换及流量控制功能。速率适配:不同接口具有不同的速率,路由器可以利用自己的缓存及流控协议进行适配。隔离网络:路由器可以隔离广播网络,防止广播风暴,同时也可以对数据包施行灵活多样的过滤策略以保证网络安全(防火墙)。异种网络互连:互连网的初衷就是为了实现异种网络互连,现代路由

7、器一般都会实现两种以上的网络协议以实现异种网络互连。1.3 IP编址1.3.1 IP地址介绍说到路由,我们必须先了解IP地址,因为IP地址是路由的基础,更是进行复杂的子网规划的基础。我们知道数据链路层有物理地址-MAC地址,也知道,MAC地址是全球唯一的。当有数据发送时,源网络设备查询对端设备的MAC地址,然后将数据发送过去。然而,MAC地址通常存在于一个平面地址空间,没有清晰的地址层次,只适合于本网段主机的通信,另外,MAC地址固化在硬件中,灵活性较差。对于不同网络之间的互连通信,我们通常使用基于软件实现的网络层地址-IP地址来通信,提供更大的灵活性。IP地址,又称逻辑地址,和MAC地址一样

8、,IP地址也是独一无二的。每一台网络设备用IP地址来唯一的标识。IP地址由32个二进制位组成,这些二进制数字被分为四个八位数组(octets),又称为四个字节。IP地址可以这样表示:点分十进制形式:10.110.192.111二进制形式:.十六进制形式:0a.7e.80.7f通常我们把IP地址表示为点分十进制形式,很少表示成十六进制形式。由于IP地址有32个二进制位,理论上可以有232个IP地址可以使用,也就是43亿个IP地址。在互联网络上,如果每一台三层网络设备,例如路由器,为了彼此通信,储存每一个节点的IP地址,可以想象路由器会有多么大的路由表,这对路由器来说是不可能的。为了减少路由器的路

9、由表数目,更加有效的进行路由,清晰的区分各个网段,决定对IP地址采用结构化的分层方案。IP地址的结构化分层方案将IP地址分为网络部分和主机部分,区分网络部分和主机部分需要借助地址掩码(Mask)。网络部分位于IP地址掩码前面的连续二进制“1”位,主机部分是后面连续二进制“0”位。IP地址的分层方案类似于我们常用的电话号码。电话号码也是全球唯一的。例如对于电话号码010-,前面的字段010代表北京的区号,后面的字段代表北京地区的一部电话。IP地址也是一样,前面的网络部分代表一个网段,后面的主机部分代表这个网段的一台设备。IP地址采用分层设计,这样,每一台第三层网络设备就不必储存每一台主机的IP地

10、址,而是储存每一个网段的网络地址(网络地址代表了该网段内的所有主机),大大减少了路由表条目,增加了路由的灵活性。1.3.2 IP地址分类IP地址的网络部分称为网络地址,网络地址用于唯一地标识一个网段,或者若干网段的聚合,同一网段中的网络设备有同样的网络地址。IP地址的主机部分称为主机地址,主机地址用于唯一的标识同一网段内的网络设备。例如,前面所述的A类IP地址:10.110.192.111,网络部分地址为10,主机部分地址为110.192.111。那么如何区分IP地址的网络地址和主机地址呢?最初互联网络设计者根据网络规模大小规定了地址类,把IP地址分为A、B、C、D、E五类。A类IP地址的网络

11、地址为第一个八位数组(octet),第一个字节以“0”开始。因此,A类网络地址的有效位数为8-1=7位,A类地址的第一个字节为1126之间(127留作它用)。例如10.1.1.1、126.2.4.78等为A类地址。A类地址的主机地址位数为后面的三个字节24位。A类地址的范围为1.0.0.0126.255.255.255,每一个A类网络共有224个A类IP地址。B类IP地址的网络地址为前两个八位数组(octet),第一个字节以“10”开始。因此,B类网络地址的有效位数为16-2=14位,B类地址的第一个字节为128191之间。例如128.1.1.1、168.2.4.78等为B类地址。B类地址的主

12、机地址位数为后面的二个字节16位。 B类地址的范围为128.0.0.0191.255.255.255,每一个B类网络共有216个B类IP地址。C类IP地址的网络地址为前三个八位数组(octet),第一个字节以“110”开始。因此,C类网络地址的有效位数为24-3=21位,C类地址的第一个字节为192223之间。例如192.1.1.1、220.2.4.78等为C类地址。C类地址的主机地址部分为后面的一个字节8位。 C类地址的范围为192.0.0.0223.255.255.255,每一个C类网络共有28=256个C类IP地址。D类地址第一个8位数组以“1110”开头,因此,D类地址的第一个字节为2

13、24239。D类地址通常作为组播地址。关于组播地址,在HCSE交换课程会有讨论。E类地址第一个字节为240255之间,保留用于科学研究。我们经常用到的是A、B、C三类地址。IP地址由国际网络信息中心组织(International Network Information Center,InterNIC)根据公司大小进行分配。过去通常把A类地址保留给政府机构,B类地址分配给中等规模的公司,C类地址分配给小单位。然而,随着互联网络飞速发展,再加上IP地址的浪费,IP地址已经非常紧张。现在进行IP地址规划时,我们通常在公司内部网络使用私有IP地址。私有IP地址是由InterNIC预留的由各个企业内部

14、网自由支配的IP地址。使用私有IP地址不能直接访问Internet。原因很简单,私有IP地址不能在公网上使用,公网上没有针对私有地址的路由,会产生地址冲突问题。当访问Internet时,需要利用网络地址转换(NAT,Network Address Translation)技术,把私有IP地址转换为Internet可识别的公有IP地址。InterNIC预留了以下网段作为私有IP地址:A类地址10.0.0.010.255.255.255 ; B类地址172.16.0.0172.31.255.255 ; C类地址192.168.0.0192.168.255.255等。使用私有IP地址,不仅减少了企业

15、用于购买公有IP地址的投资,而且节省了IP地址资源。但是这并不能完全解决IP地址短缺问题,目前已经正式提出了IPv6协议。IPv6地址有128个二进制位,共约2128个IP地址,完全可以解决IP地址紧张问题。IP地址用于唯一的标识一台网络设备,但并不是每一个IP地址都是可用的,一些特殊的IP地址被用于各种各样的用途,不能用于标识网络设备。对于主机部分全为“0”的IP地址,称为网络地址,网络地址用来标识一个网段。例如,A类地址1.0.0.0,私有地址10.0.0.0 , 192.168.1.0等。对于主机部分全为“1”的IP地址,称为网段广播地址,广播地址用于标识一个网络的所有主机。例如,10.

16、255.255.255 , 192.168.1.255等,路由器可以在10.0.0.0或者192.168.1.0等网段转发广播包。广播地址用于向本网段的所有节点发送数据包。对于网络部分为127的IP地址,例如127.0.0.1往往用于环路测试目的。全“0”的IP地址0.0.0.0代表所有的主机,早期的IP协议栈实现也用来表示广播地址。全“1”的IP地址255.255.255.255,也是广播地址,但255.255.255.255代表所有主机,用于向网络的所有节点发送数据包。这样的广播一般不能被路由器转发。如上所述,每一个网段会有一些IP地址不能用作主机IP地址。下面让我们来计算一下可用的IP地

17、址。例如B类网段172.16.0.0, 有16个主机位,因此有216个IP地址,去掉一个网络地址172.16.0.0,一个广播地址172.16.255.255不能用作标识主机,那么共有216-2个可用地址。C类网段192.168.1.0,有8个主机位,共有28=256个IP地址,去掉一个网络地址192.168.1.0,一个广播地址192.168.1.255,共有254个可用主机地址。现在,我们可以这样计算每一个网段可用主机地址:假定这个网段的主机部分位数为n,那么可用的主机地址个数为2n-2个。网络层设备(例如路由器等)使用网络地址来代表本网段内的主机,大大减少了路由器的路由表条目。1.3.3

18、 子网规划对于没有子网的 IP 地址组织,外部将该组织看作单一网络,不需要知道内部结构。例如,所有到地址 172.16 .X.X的路由被认为同一方向,不考虑地址的第三和第四个 8 位分组,这种方案的好处是减少路由表的项目。但这种方案没法区分一个大的网络内不同的子网网段,这使网络内所有主机都能收到在该大的网络内的广播,会降低网络的性能,另外也不利于管理。比如,一个 B 类网可容纳 65000 个主机在网络内。但是没有任何一个单位能够同时管理这么多主机。这就需要一种方法将这种网络分为不同的网段。按照各个子网段进行管理。从地址分配的角度来看,子网是网段地址的扩充。网络管理员根据组织增长的需要决定子网

19、的大小。网络设备使用子网掩码(subnet masking)决定IP地址中哪部分为网络部分,哪部分为主机部分。子网掩码使用与IP地址一样的格式。子网掩码的网络部分和子网部分全都是1,主机部分全都是0。缺省状态下,如果没有进行子网划分,A类网络的子网掩码为255.0.0.0,B类网络的子网掩码为255.255.0.0,C类网络子网掩码为255.255.255.0。利用子网,网络地址的使用会更有效。对外仍为一个网络,对内部而言,则分为不同的子网。如图:网络172.16.0.0 分为两个网段:172.16.4.0、172.16.8.0。如果公司的财务部使用172.16.4.0 子网段;公司的工程部使

20、用 172.16.8.0 子网段。这样可使路由器根据目的子网地址进行路由,从而限制一个子网的广播报文发送到其它网段,不对网络的效率产生影响。在这个例子中,网段地址是一个 C 类地址:201.222.5.0 。假设需要 20 个子网,其中每个子网 5 个主机,就要把主机地址的最后一个八位组分成子网部分和主机部分。子网部分的位数决定了子网的数目。在这个例子中子网部分占有5位,最大可提供 30(25 -2)个子网。剩余 3 位为主机部分。一共有 8 个(23)值。主机部分全是 0 的 IP 地址,是子网网络地址;主机部分全是1 的 IP 地址是本子网的广播地址。这样就剩余 6 个主机地址。可以满足需

21、要。1.3.4 变长子网掩码(VLSM)把一个网络划分成多个子网,要求每一个子网使用不同的网络标识ID。但是每个子网的主机数不一定相同,而且相差很大,如果我们每个子网都采用固定长度子网掩码,而每个子网上分配的地址数相同,这就造成地址的大量浪费。这时候我们可以采用变长子网掩码(VLSM,Variable Length Subnet Masking)技术,对节点数比较多的子网采用较短的子网掩码,子网掩码较短的地址可表示的网络/子网数较少,而子网可分配的地址较多;节点数比较少的子网采用较长的子网掩码,可表示的逻辑网络/子网数较多,而子网上可分配地址较少。这种寻址方案必能节省大量的地址,节省的这些地址

22、可以用于其它子网上。 如上图所示,某公司准备用C类网络地址192.168.1.0进行IP地址的子网规划。这个公司共购置了5台路由器,一台路由器作为企业网的网关路由器接入当地ISP,其它4台路由器连接四个办公点,每个办公点20台PC。从上图可以看出,需要划分8个子网,4个办公点网段需要21个IP地址(包括一个路由器接口),与网关路由器相连的四个网段需要2个IP地址,每个网段IP地址数目差异较大,可以采用VLSM技术。四个办公点网段采用子网掩码255.255.255.224,划出3个子网位,共有5个主机位,可以容纳最多25-2=30台主机。对于四个办公点路由器和网关路由器相连网段,划出6个子网位,

23、2个主机位,最多有2个合法IP地址。1.3.5 无类域间路由(CIDR)CIDR(Classless InterDomain Routing,无类域间路由)由RFC1519定义,RFC 1817更新。CIDR突破了传统IP地址分类边界,把路由表中的若干条路由汇聚为一条路由,减少了路由表的规模,提高了路由器的可扩展性。 如上图所示,一个ISP被分配了一些C类网络,198.168.0.0198.168.255.0。这个ISP准备把这些C类网络分配给各个用户群,目前已经分配了三个C类网段给用户。如果没有实施CIDR技术,ISP的路由器的路由表中会有三条下连网段的路由条目,并且会把它通告给Intern

24、et上的路由器。通过实施CIDR技术,我们可以在ISP的路由器上把这三条网段198.168.1.0,198.168.2.0,198.168.3.0汇聚成一条路由198.168.0.0/16。这样ISP路由器只向Internet通告198.168.0.0/16这一条路由,大大减少了路由表的数目。值得注意的是,使用CIDR技术汇聚的网络地址块必须同属于一个ISP,并且有良好的分配策略,否则可能造成不同ISP向Internet通告同一CIDR地址前缀,从而造成部分路由错误。原则上来讲,使用CIDR的网络地址,只要属于同一管理机构,并且网段地址某些比特位是一致的,就可以采用CIDR来发布前缀。1.4

25、一些基本概念1.4.1 路由花费路由的花费(metric)标识出了到达这条路由所指的目的地址的代价,通常路由的花费值会受到线路延迟、带宽、线路占有率、线路可信度、跳数、最大传输单元等因素的影响,不同的动态路由协议会选择其中的一种或几种因素来计算花费值(如RIP用跳数来计算花费值)。该花费值只在同一种路由协议内有比较意义,不同的路由协议之间的路由花费值没有可比性,也不存在换算关系。静态路由的花费值为0。1.4.2 路由优先级到相同的目的地,不同的路由协议(包括静态路由)可能会发现不同的路由,但并非这些路由都是最优的。事实上,在某一时刻,到某一目的地的当前路由仅能由唯一的路由协议来决定。这样,各路

26、由协议(包括静态路由)都被赋予了一个优先级,这样,当存在多个路由信息源时,具有较高优先级(需要注意的是数值越小表明优先级越高)的路由协议发现的路由将成为最优路由,并被加入路由表中。不同厂家的路由器对于各种路由协议优先级的规定各不相同。华为 Quidway 路由器的缺省优先级如下表所示。其中:0表示直接连接的路由,255 表示任何来自不可信源端的路由。路由协议或路由种类相应路由的优先级DIRECT0OSPF10STATIC60RIP100IBGP130OSPF ASE150EBGP170UNKNOWN255除了直接路由(DIRECT)外,各动态路由协议的优先级都可根据用户需求,手工进行配置。另外

27、,每条静态路由的优先级都可以不相同。1.4.3 路由收敛路由收敛速度是路由协议中一个重要的概念,它也是衡量路由协议好坏的一个重要指标。我们知道网络是动荡的,路由协议的重要作用就是在动荡的网络中不断及时地计算和更新路由信息,那么这个计算和更新的速度就是路由收敛速度。可见路由收敛速度和路由算法是密不可分的。一个好的路由算法能很快计算并更新路由信息。1.4.4 路由聚合为了减小路由表的规模,对于某些属于一个更大网段的子网所对应的路由,可以使用聚合的方法,不发布那些具体的子网路由,代之以发布那个更大网段的路由。在路由聚合的时候,往往采用NULL0接口,当路由器收到的数据报,其目的IP地址不在任何具体的

28、子网内部时,将此数据报送NULL0接口进行丢弃处理,以避免在特定情况下形成路由环路。1.4.5 路由迭代路由的迭代原理:在路由器中,每个路由项均必须有其对应的下一跳地址,对于普通的路由来说,其下一跳地址在路由器直连的网段内。对于需要迭代的路由,其下一跳不在路由器直连的网段内,在转发时,必须将此非直连下一跳地址做一次或多次迭代处理,以找出一个直连的下一跳地址,从而进行二层寻径。使用迭代的路由可以是静态路由、BGP路由。优点是路由项不依赖于特定的接口,缺点是路由器处理起来稍微麻烦。1.4.6 负载分担负载分担分为等价路由负载分担(逐包,逐流)和非等价路由负载分担,VRP仅支持前者。 Cisco的I

29、GRP,EIGRP支持非等价路由负载分担。注意很多文献上将等价路由称为:ECMP(equal-cost multi path)。1.5 IP路由转发原理1.5.1 二层寻址二层寻址是指在LAN中的报文转发, 下面就结合交换机工作原理来介绍一下,LAN中的报文转发。如图所示,从外部网络来一报文,进入LAN中,它的目的主机就在这个LAN中,但是它只知道目的主机的IP地址,这样就需要地址解析协议(ARP)来帮助它找到目的主机的链路层地址,路由器会发一个ARP请求,在LAN中寻找与报文目的IP地址对应的MAC地址及此主机连接的端口。这样,就完成了LAN内的寻址。同时在二层交换机上会有一张MAC地址表帮

30、助以后报文进行LAN内寻址。1.5.2 三层路由原理路由器中时刻维持着一张路由表,所有报文的发送和转发都通过查找路由表从相应端口发送。这张路由表可以是静态配置的,也可以是动态路由协议产生的。路由器工作大致流程为:物理层从路由器的一个端口收到一个报文,上送到数据链路层。数据链路层去掉链路层封装,根据报文的协议域上送到网络层。网络层首先看报文是否是送给本机的,若是,去掉网络层封装,送给上层。若不是,则根据报文的目的地址查找路由表,若找到路由,将报文送给相应端口的数据链路层,数据链路层封装后,发送报文。若找不到路由,将报文丢弃,并按需要发送相关错误信息。1.5.3 路由表的作用路由器转发数据包的关键

31、是路由表。每个路由器中都保存着一张路由表,表中每条路由项都指明数据包到某子网或某主机应通过路由器的哪个物理端口发送,然后就可到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。路由表中包含了下列关键项:目的地址(Destination):用来标识IP包的目的地址或目的网络。网络掩码(Mask):与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址和网络掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为8.0.0.0,掩码为255.0.0.0的主机或路由器所在网段的地址为8.0.0.0。掩码由若干个连续“1”构成,既可以用点分十进制

32、表示,也可以用掩码中连续“1”的个数来表示。输出接口(Interface):说明IP包将从该路由器哪个接口转发。下一跳IP地址(Nexthop):说明IP包所经由的下一个路由器的接口地址。1.5.4 路由的来源和分类在路由表中有一个Protocol字段:指明了路由的来源,即路由是如何生成的。路由的来源主要有3 种:链路层协议发现的路由(Direct) 开销小,配置简单,无需人工维护,只能发现本接口所属网段拓扑的路由。手工配置的静态路由(Static) 静态路由是一种特殊的路由,它由管理员手工配置而成。通过静态路由的配置可建立一个互通的网络,但这种配置问题在于:当一个网络故障发生后,静态路由不会

33、自动修正,必须有管理员的介入。静态路由无开销,配置简单,适合简单拓扑结构的网络。动态路由协议发现的路由(RIP、OSPF ) 当网络拓扑结构十分复杂时,手工配置静态路由工作量大而且容易出现错误,这时就可用动态路由协议,让其自动发现和修改路由,无需人工维护,但动态路由协议开销大,配置复杂。1.6 静态路由1.6.1 静态路由在组网结构比较简单的网络中,只需配置静态路由就可以使路由器正常工作,仔细设置和使用静态路由可以改进网络的性能,并可为重要的应用保证带宽。还有一种静态路由类型被称为接口静态路由,它用于表示那些直接连接到路由器接口上的目的网络。接口静态路由优先级是0,这意味着它是直接连接网络的路

34、由。静态路由还有如下的属性:可达路由:正常的路由都属于这种情况,即IP报文按照目的地标示的路由被送往下一跳,这是静态路由的一般用法。目的地不可达的路由:当到某一目的地的静态路由具有“reject”属性时,任何去往该目的地的IP报文都将被丢弃,并且通过ICMP 消息通知源主机目的地不可达。目的地为黑洞的路由:当到某一目的地的静态路由具有“blackhole”属性时,任何去往该目的地的IP报文都将被丢弃。同“reject”的区别是不向源主机发送任何消息。其中各参数的解释如下:(1)|:目的IP地址和掩码IP地址为点分十进制格式,掩码可以用点分十进制表示,也可用掩码长度(即掩码中1的位数)表示。(2

35、)|:发送接口或下一跳地址在配置静态路由时,可指定发送接口interface-name,也可指定下一跳地址gateway-address,是指定发送接口还是指定下一跳地址要视具体情况而定。实际上,所有的路由项都必需明确下一跳地址。IP在发送报文时,首先根据报文的目的地址寻找路由表中与之匹配的路由。只有路由指定了下一跳地址,链路层才能通过下一跳IP地址找到对应的链路层地址,然后按照该地址将报文转发。在以下几种情况下可以指定发送接口:对于支持网络地址到链路层地址解析的接口(如以太网口支持ARP),当ip-address和mask(或mask-length)指定了一个主机地址,而且该目的地址就在该接

36、口的直接连接网络中,这时可以指定发送接口。对于点到点接口,指定发送接口即隐含指定了下一跳地址,这时认为与该接口相连的对端接口地址就是路由的下一跳地址。如串口封装PPP协议,通过PPP协商获取对端的IP地址,这时可以不用指定下一跳地址,只需指定发送接口即可。对于NBMA接口(如封装X.25或帧中继的接口、拨号口等),支持点到多点,这时除了配置IP路由外,还需在链路层建立二次路由,即IP地址到链路层地址的映射(如dialer map ip、x.25 map ip或frame-relay map ip等)。这种情况下配置静态路由就不能指定发送接口,而应配置下一跳IP地址。(3):优先级对优先级pre

37、ference的不同配置,可以灵活应用路由管理策略。如在配置到达网络目的地的多条路由时,若指定相同优先级,可实现负载分担;若指定不同优先级,则可实现路由备份。在同一命令中优先级可以多次输入,但只有最后一个有效。(4)其它参数属性reject 和 blackhole 分别指明不可达路由和黑洞路由。上图中:在路由器QuidwayA上配置一条到目的网段129.1.0.0/16的静态路由,下一跳地址为路由器QuidwayB的S0接口的IP地址10.0.0.2。如果链路的封装是PPP或HDLC,也可以指定本路由器的转发接口。静态路由配置命令:QuidwayAip route 129.1.0.0 16 s

38、 0或QuidwayAip route 129.1.0.0 16 10.0.0.2或QuidwayAip route 129.1.0.0 255.255.0.0 10.0.0.2 。1.6.2 缺省路由缺省路由也是一种静态路由。简单地说,缺省路由就是在没有找到匹配的路由表入口项时才使用的路由。即只有当没有合适的路由时,缺省路由才被使用。在路由表中,缺省路由以到网络0.0.0.0(掩码为0.0.0.0)的路由形式出现。可通过命令display ip routing-table 的输出看它是否被设置。如果报文的目的地址不能与路由表的任何入口项相匹配,那么该报文将选取缺省路由。如果没有缺省路由且报文

39、的目的地址不在路由表中,那么该报文被丢弃的同时,将返回源端一个ICMP报文指出该目的地址或网络不可达。缺省路由在网络中是非常有用的。在一个包含上百个路由器的典型网络中,选择动态路由协议可能耗费较大量的带宽资源,使用缺省路由意味着采用适当带宽的链路来替代高带宽的链路以满足大量用户通信的需求。Internet上大约99.99%的路由器上都存在一条缺省路由!缺省路由并不一定都是手工配置的静态路由,有时也可以由动态路由协议产生。比如OSPF路由协议配置了Stub区域的ABR路由器会动态产生一条缺省路由。1.6.3 浮动静态路由浮动静态路由就是配置去往同一目的网络的多条静态路由,它们有不同的优先级。1.

40、7 动态路由协议1.7.1 动态路由协议原理每台路由器将自己已知的路由相关信息发给相邻的路由器,由于大家都这样做,最终每台路由器都会收到网络中所有的路由信息然后运行某种算法,计算出最终的路由来(实际上需要计算的是该条路由的下一跳和花费)每种路由协议都有自己的语言(相应的路由协议报文),如果两台路由器都实现了某种路由协议并已经启动该协议,则具备了相互通信的基础一台新加入的路由器应该主动把自己介绍给网段内的其它路由器通过发送广播报文或发送给指定的路由器邻居来做到这一点为了能够观察到某台路由器突然失败(路由器本身故障或连接线路中断)这种异常情况,规定两台路由器之间的协议报文应该周期性地发送1.7.2

41、 动态路由协议的分类按工作范围分类按照工作区域,路由协议可以分为IGP 和EGP:IGP(Interior gateway protocols)内部网关协议在同一个自治系统内交换路由信息,RIP 和IS-IS 都属于IGP。IGP的主要目的是发现和计算自治域内的路由信息。EGP(Exterior gateway protocols)外部网关协议用于连接不同的自治系统,在不同的自治系统之间交换路由信息,主要使用路由策略和路由过滤等控制路由信息在自治域间的传播,应用的一个实例是BGP。按算法分类按照路由的寻径算法和交换路由信息的方式,路由协议可以分为 距离矢量协议(Distant-Vector)和

42、链路状态协议。距离矢量协议包括 RIP 和 BGP,链路状态协议包括 OSPF、IS-IS。距离矢量路由协议基于贝尔曼福特算法,使用D-V算法的路由器通常以一定的时间间隔向相邻的路由器发送他们完整的路由表。接收到路由表的邻居路由器将收到的路由表和自己的路由表进行比较,新的路由或到已知网络但开销(Metric)更小的路由都被加入到路由表中。相邻路由器然后再继续向外广播它自己的路由表(包括更新后的路由)。距离矢量路由器关心的是到目的网段的距离(Metric)和矢量(方向,从哪个接口转发数据)。在发送数据前,路由协议计算到目的网段的Metric;在收到邻居路由器通告的路由时,将学到的网段信息和收到此

43、网段信息的接口关联起来,以后有数据要转发到这个网段就使用这个关联的接口。距离矢量路由协议的优点:配置简单,占用较少的内存和CPU处理时间。缺点:扩展性较差,比如RIP最大跳数不能超过16 跳。链路状态路由协议基于Dijkstra算法,有时被称为最短路径优先算法。L-S算法提供比RIP等D-V算法更大的扩展性和快速收敛性,但是它的算法耗费更多的路由器内存和处理能力。D-V算法关心网络中链路或接口的状态(up或down、IP地址、掩码),每个路由器将自己已知的链路状态向该区域的其他路由器通告,这些通告称为链路状态通告(LSA:Link State Advitisement)。通过这种方式区域内的每

44、台路由器都建立了一个本区域的完整的链路状态数据库。然后路由器根据收集到的链路状态信息来创建它自己的网络拓朴图,形成一个到各个目的网段的带权有向图。链路状态算法使用增量更新的机制,只有当链路的状态发生了变化时才发送路由更新信息,这种方式节省了相邻路由器之间的链路带宽。部分更新只包含改变了的链路状态信息,而不是整个的路由表。1.8 D-V算法1.8.1 D-V算法原理距离矢量(DISTANCE-VECTOR,简称D-V)算法(也称BELLMAN-FORD 算法)周期性地将路由表信息的拷贝在路由器之间传送。当网络拓扑变化时,也会将更新信息及时传送给路由器。每一个路由器只能接收到网络中相邻路由器的路由

45、表,就如图所示,路由器B接收到相邻路由器A的信息,通过增加一个距离矢量数(例如一个跳数)来增大距离矢量,然后将更新的路由表信息传送给相邻路由器C。这种逐步过程发生在相邻路由器之间。距离矢量算法的数学模型如下:我们用D(i,j)来表示从实体i到j的最佳路由的Metric,i、j可以是系统中的任意一对实体,用d(i,j)来表示单个跳数的花费,也就是从i直接到j的花费,如果i与j不是直接相邻的,则d(i,j)为无穷大。这样任意两个实体间的最佳Metric可以表示如下:D(i,j)0 对所有的iD(i,j)min D(i,j)d(i,k) i不等于k时 k由于我们把非相邻两实体间的d(i,j)定义为无

46、穷大,当表达式中k不是i的相邻主机或路由器时,D(i,j)永远不可能为最小,故我们也可以把k限定为与i相邻。由此我们可以得出一个基于这个数学模型的计算Metric的简单算法:实体i接收它的邻居们k发送给它的到目标主机j的距离评价,并加上d(i,j),在这里是通过i,k之间网络所需的cost 值,接下来i比较来自所需邻居的信息,并选择其中最小的。可以证明,在拓扑结构不变的情况下该算法在有限时间内收敛于正确的D(i,j)。距离矢量算法通过上述方法累加网络距离,并维护网络拓扑信息数据库。使用这种算法,路由器并不能知道整个网络的确切拓扑结构。某种程度上,距离矢量信息类似十字路口上指向目的地的路标,沿着

47、路标的指向前进,在下一个十字路口,会再看到一个路标,但在这个路标处,距离目的地就近了一些。只要路径中每下一个路标都能表示到目的地距离的缩短,则这个路径为最优的。1.8.2 环路的产生由于网络故障可能会引起路径与实际网络拓扑结构不一致而导致网络不能快速收敛,这时,可能会发生路由环路现象。图中用一个简单的网络结构来说明路由环路的产生。如上图所示,如果网络11.4.0.0 故障,就可能会在路由器之间产生路由环路,下面是产生路由环路的步骤:l 在网络11.4.0.0发生故障之前,所有的路由器都具有正确一致的路由表,网络是收敛的。在本例中,路径开销用跳数来计算,所以,每条链路的开销是1。路由器C与网络1

48、1.4.0.0直连,跳数为0。路由器B经过路由器C 到达网络11.4.0.0,跳数为1。路由器A 经过路由器B到达网络11.4.0.0,跳数为2。l 当网络11.4.0.0 发生故障,路由器C 最先收到故障信息,路由器C 把网络11.4.0.0 设为不可达,并等待更新周期到来通告这一路由变化给相邻路由器。如果,路由器B的路由更新周期在路由器C之前到来,那么路由器C就会从路由器B那里学习到去往11.4.0.0 的新路由(实际上,这一路由已经是错误路由了)。这样路由器C的路由表中就记录了一条错误路由(经过路由器B,可去往网络11.4.0.0,跳数增加到2 )。l 路由器C 学习了一条错误信息后,它

49、会把这样的路由信息再次通告给路由器B,根据通告原则,路由器B也会更新这样一条错误路由信息,认为可以通过路由器A 去往网络11.4.0.0,跳数增加到3 。l 这样,路由器 B 认为 可以通过路由器C 去往网络11.4.0.0,路由器C 认为 可以通过路由器B 去往网络11.4.0.0,就形成了环路。1.8.3 路由环路的解除方案定义最大Metric值如上所述,发生路由环路时,路由器去往网络11.4.0.0 的跳数会不断的增大,网络无法收敛。为解决这个问题,我们给跳数定义一个最大值,在RIP 路由协议中,允许跳数最大值为16。在图中,当跳数到达最大值时,网络11.4.0.0 被认为是不可达的。路

50、由器会在路由表中显示网络不可达信息,并不再更新到达网络11.4.0.0 的路由。通过定义最大值,距离矢量路由协议可以解决发生环路时路由权值无限增大的问题,同时也校正了错误的路由信息。但是,在最大权值到达之前,路由环路还是会存在。也就是说,以上解决方案只是补救措施,不能避免环路产生,只能减轻路由环路产生的危害。路由协议的设计者们又提供了诸如水平分割、触发更新等多种避免环路产生几率的方案。1.8.4 路由环路的避免方案水平分割水平分割是在距离矢量路由协议中最常用的避免环路发生的解决方案之一。分析产生路由环路的原因,其中一条就是因为路由器将从某个邻居学到的路由信息又告诉了这个邻居。水平分割的思想就是

51、在路由信息传送过程中,不再把路由信息发送给接收此路由信息的接口上。如上图所示:路由器C 告诉路由器B 去往网络11.4.0.0的路由,路由器B会把此路由信息传递给路由器A。同时,也会再传回给路由器C。网络11.4.0.0没有崩溃时,路由器C不会接受路由器B传递来的去往网络11.4.0.0的路由信息。因为,路由器C有花费更小的路由。如果路由器C到达网络11.4.0.0的路由崩溃了,路由器C就会接受路由器B传递来的去往网络11.4.0.0 的路由信息,尽管这条路由信息已经是错误路由了(因为随着路由器C去往网络11.4.0.0的路由崩溃,路由器B从路由器C学到的去往网络11.4.0.0 路由也就错误

52、了)。但是路由器C 并不知道这一点。这样,路由器B 认为 可以通过路由器C 去往网络11.4.0.0 ,路由器C 认为 可以通过路由器B 去往网络11.4.0.0 ,就形成了环路。水平分割方法就是解决这样问题的,水平分割不允许路由器将路由更新信息再次传回到传出该路由信息的端口。上图中,路由器B从路由器C那里学习到了去往网络11.4.0.0 的路由。水平分割规定:路由器B不再把去往网络11.4.0.0 的路由信息传回给路由器C,从而在一定程度上避免了环路的产生。路由抑制路由抑制可以在一定程度上避免路由环路产生,同时也可以抑制因复位接口等原因,引起的网络动荡。这种方法在网络故障或接口复位时,抑制相

53、应的路由,同时启动抑制时间,控制路由器在抑制时间内不要轻易更新自己的路由表。从而,避免环路产生、抑制网络动荡。如上图所示:当网络11.4.0.0发生故障时,路由器C 抑制自己路由表中相应的路由项,也就是在路由表中使到达网络11.4.0.0的路径开销是无穷大(也就是不可达),同时启动抑制时间,在抑制时间结束之前的任何时刻,如果从同一相邻路由器(或同一方向)又接收到此路由可达的更新信息时,路由器就将网络标识为可达,并删除抑制时间。如果接收到其他的相邻路由器的更新信息,且新的权值比以前的权值好,则路由器就将更新路由表,接受这一更优的路由,并删除抑制时间。在抑制时间结束之前的任何时刻,如果从其他的相邻

54、路由器接收到路径可用的更新信息时,但新的权值没有以前的权值好,则不接收此更新路由。如果在抑制时间过后,路由器仍能收到该更新路由信息,则路由器将更新路由表。触发更新如图,网络11.4.0.0 不可达了,路由器C最先得到这一信息。通常,更新路由信息会定时发送给相邻路由器。例如,RIP 协议每隔30秒发送一次。但如果在路由器C 等待更新周期到来的时候,路由器B的更新报文传到了路由器C,路由器C 就会学到路由器B的去往网络11.4.0.0的错误路由。这样就会形成路由环路。如果路由器C 发现网络故障之后,不再等待更新周期到来,就立即发送路由更新信息,则可以避免产生上述问题。这就是触发更新机制。触发更新机

55、制是在路由信息产生某些改变时,立即发送给相邻路由器一种称为触发更新的信息。路由器检测到网络拓扑变化,立即依次发送触发更新信息给相邻路由器,如果每个路由器都这样做,这个更新会很快传播到整个网络。在图中,路由器C立即通告网络11.4.0.0不可达信息,路由器B接收到这个信息,就从S0口发出网络11.4.0.0不可达信息,依次路由器A从E0口通告此信息。从上述叙述可以看出,使用触发更新方法能够在一定程度上避免路由环路发生。但是,仍然存在两个问题:包含有更新信息的数据包可能会被丢掉或损坏。如果触发更新信息还没有来得急发送,路由器就接收到相邻路由器的周期性路由更新信息,使路由器更新了错误的路由信息。为解决以上的问题,

温馨提示

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

评论

0/150

提交评论