资源预览内容
第1页 / 共160页
第2页 / 共160页
第3页 / 共160页
第4页 / 共160页
第5页 / 共160页
第6页 / 共160页
第7页 / 共160页
第8页 / 共160页
第9页 / 共160页
第10页 / 共160页
亲,该文档总共160页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
路由选择的基本知识高明信电学院9/11/20241第1章 TCP/IP回顾9/11/20242本章主题TCP/IP协议层IP包头IPv4地址地址解析协议ARPInternet控制消息协议ICMP主机到主机层9/11/202431.1 TCP/IP协议层9/11/202441.2 IP包头9/11/202451.2 IP包头版本9/11/202461.2 IP包头版本9/11/202471.2 IP包头包头长度以4字节为单位,最小20字节,最大60字节服务类型9/11/202489/11/202491.2 IP包头总长度16位,以字节为单位,最大65535字节标识符16位,通常与标记字段和分段偏移一起用于数据包的分段。标记字段3位,第1位不使用,第2位为DF,第3位为MF9/11/2024101.2 IP包头 9/11/2024119/11/2024129/11/2024131.2 IP包头分段偏移量13位,以8字节为单位生存时间8位,以秒为单位,没经过1跳减1,常见初始值为15和32,建议的缺省值为64。协议8位,它给出了主机到主机层或传输层协议的“地址”或协议号,协议字段指定了数据包中信息的类型9/11/2024149/11/2024151.2 IP包头包头校验和针对IP包头的纠错字段,不计算被封装的数据源地址和目的地址32位可选项,长度可变,常见可选项如下松散源路由选择严格源路由选择记录路由时间戳9/11/202416待续9/11/202417续9/11/2024189/11/2024191.2 IP包头填充在可选字段添加0来补足32位9/11/2024201.3 IPv4地址点分式表达9/11/2024211.3.1 首个八位组字节规则三类地址9/11/2024221.3.2 地址掩码如何确定网络地址1对应IPv4地址的网络位,0对应主机位IPv4地址和地址掩码的每一位上执行逻辑“与”操作3类IPv4的标准地址掩码9/11/2024231.3.3 子网和子网掩码引入子网的原因A、B、C类的方式,导致地址浪费严重充分使用主机地址空间,可以增加可分配给数据链路的地址数量子网化后的IPv4地址包括3部分:网络部分、子网部分和主机部分。地址掩码现在变为子网掩码注意有类的路由协议不能区分全0和全1子网9/11/2024241.3.4 子网规划公式2n-2用于计算一个主网地址下可用的子网数和子网内可用的主机数n表示子网位数2表示减去全0和全1子网划分步骤步骤1:确定子网数和每个子网内的主机数步骤2:用2n-2确定子网位数和主机位数步骤3:确定子网地址步骤4:写出所有的主机位组合,并转化成点分十进制9/11/2024251.3.6 子网掩码的故障诊断给定一个主机地址和掩码时,需要确定地址所属子网步骤1:写出子网掩码的二进制形式步骤2:IPv4地址的二进制形式步骤3:标识子网位步骤4:写出网络位和子网位,设置主机位为0,得到子网地址步骤5:写出网络位和子网位,设置主机位为1,得到本子网的广播地址步骤6:位于子网地址和广播地址之间的所有地址都是合法的9/11/2024261.4 地址解析协议(ARP)ARP报文格式9/11/2024271.4 地址解析协议(ARP)ARP报文格式硬件类型9/11/2024281.4 地址解析协议(ARP)ARP报文格式协议类型:指定发送者映射到数据链路标识符的网络层协议的类型;IP对应0x0800硬件地址长度:指定数据链路标识符的长度,单位是字节,MAC地址长度为6协议地址长度:指定网络层地址的长度,单位为字节,IPv4地址长度为4操作:指明一个数据包是ARP请求(1)还是ARP响应(2)。最后20个字节是发送者和目标机的数据链路标识符和IPv4地址。9/11/2024291.4.1 代理ARP也叫混杂ARP,被路由器作为向主机表明自身可用的一种手段应用1:欺骗本地主机,将主机的数据包都送往路由器应用2:实现子网划分的透明性9/11/2024301.4.1 代理ARP9/11/2024311.4.2 无故ARP主机使用自己的IPv4地址作为目标地址发送ARP请求,称为无故ARP用途用于检查重复地址用于通告一个新的数据链路标识符。一台设备收到ARP请求会更新自己已存的ARP表项。运行HSRP(热备份路由器协议)的路由器从其它路由变为主路由器,会发出一个无故ARP9/11/2024321.4.3 反向ARP(RARP)通常用于无盘工作站9/11/2024331.5 ICMP报文格式9/11/2024341.5 ICMP类型字段和代码字段9/11/2024359/11/2024361.5 ICMP3种路由相关的重要的ICMP类型路由器通告路由器通告和路由选择路由选择:类型9和10,用于ICMP路由器发现协议重定向:类型5,被路由器用于通知主机去往指定目标的网关,是数据链路上的另一台路由器。9/11/2024371.6 主机到主机层两种服务:TCP和UDP9/11/2024381.6.1 TCP提供可靠地、面向连接的服务TCP看似一条点到点的连接,实际上这条连接并不存在TCP使用3种机制在无连接服务之上实现面向连接的服务序列号对包进行标记确认、校验和定时器提供可靠性窗口机制调整数据包的流量,减少因接收方缓冲区满而造成的数据包丢失9/11/2024391.6.1 TCP报文格式9/11/2024401.6.1 TCP报文格式源端口和目的端口:16位,应用程序的端口号加上所在主机的IP地址称为socket序列号:32位,确定发送方发送的数据流中被封装的数据所在位置。确认号:32位,确定了源点下一次希望从目标接收的序列号。报头长度:4位,指定了以4字节为单位的报头长度。保留:6位,通常设为09/11/2024411.6.1 TCP报文格式标记:8位,用于流和连接控制。它们从左到右分别是:拥塞窗口减少(Congestion Window Reduccd,CWR)ECN-Echo(ECE)紧急(URG)、确认(ACK)、弹出(PsH)、复位(RsT)、同步(sYN)结束(FIN)。窗口大小:16位,主要用于流控制。窗冂大小指明了自确认号指定的字节开始,接收方在必须停止传输并等待确认之前发送方可以接收的数据段的字节。9/11/2024421.6.1 TCP报文格式校验和:16位,它包括报头和被封装的数据,校验和允许错误检测。紧急指针:16位,被添加到序列号上用于指明紧急数据的结束,URG标记置位时才被使用可选项:用于指明TCP的发送进程要求的选项。最常用的可选项是最大段长度,最大段长度通知接收者发送者愿意接收的最大段长度。为了保证报头的长度是4字节的倍数,所以使用0填充该字段的剩余部分9/11/2024431.6.2 UDP9/11/202444第2章 IPv6概述9/11/202445本章包括的主题IPv6地址IPv6包头格式IPv6扩展包头Internet消息控制协议第六版(ICMPv6)邻居发现协议9/11/2024462.1 IPv6地址IPv6地址和IPv4地址长度不同“速记”方式不同功能组织也不同9/11/2024472.1.1 地址表示法128位的IPv6地址分隔成8个16位段,每个16位段用0x00000xFFFF表示之间用“:”分开简化IPv6地址的规则规则1:任何一个16位段中起始的0不必写出来;任何一个16位段如果少于4个十六进制的数字,就认为忽略书写的数字是起始的09/11/2024482.1.1 地址表示法简化IPv6地址的规则规则2:任何由全0组成的1个或多个16位段的单个连续的字符串都可以用一个双冒号“:”来表示IPv6前缀通过在IPv6地址后面加个斜线“/”,随后再跟一个十进制的数字来标识一个IPv6地址的起始位有多少位是前缀位9/11/2024492.1.1 地址表示法IPv6前缀实例两种全0的IPv6地址缺省地址未指定地址,标识一个还未确定的实际IPv6地址9/11/2024502.1.2 IPv6的地址类型三种类型的IPv6地址单播(Unicast);任意播(Anycast);多播(Multicast)。IPv6没有广播地址,通过“全部节点”的多播地址来实现广播9/11/2024512.1.2 IPv6的地址类型全球单播地址与IPv4地址的不同子网ID的变化标准的全球单播IPv6地址9/11/2024522.1.2 IPv6的地址类型标识IPv6的地址类型9/11/2024532.1.2 IPv6的地址类型本地单播地址类似于IPv4的内部IP地址使用范围限定在单条链路上前10位永远是1111111010(FE80:/10)本地单播地址允许链路上的设备直接创建IPv6地址和该链路上的其他设备进行通信9/11/2024542.1.2 IPv6的地址类型任意播地址也称为任播地址或泛播地址地址为3fe:205:1100:15不是指一台设备,而是提供相同服务的多台设备路由器总是选择到达“最近的”或“代价最低的”服务器路由9/11/2024552.1.2 IPv6的地址类型多播地址从不作为源地址出现多播数据包通常包括一个单播地址作为它的源地址,一个多播地址作为它的目的地址IPv6不像IPv4那样有一个保留的广播地址,而是有一个保留的包含所有节点的多播组IPv6多播地址格式9/11/2024562.1.2 IPv6的地址类型多播地址IPv6多播地址格式标记4位,前3位没有使用,第4位0表示永久、公认的地址,1表示暂时的地址范围9/11/2024572.1.2 IPv6的地址类型多播地址9/11/2024582.1.2 IPv6的地址类型嵌入的IPv4地址一个嵌入了IPv4地址的IPv6地址是9/11/2024592.2 IPv6包头格式9/11/2024602.2 IPv6包头格式版本:4位,设置0110表明是版本6流量类别:8位,相当于IPv4中的Tos字段流标签:20位,IPv6独有。提供更精确的流区分可以用源地址、目的地址加上源和目的端口的组合来确定有效载荷长度用来指定数据包所封装的有效载荷的长度,以字节计数9/11/2024612.2 IPv6包头格式下一报头指出了跟随该IPv6数据包头部后面的报头和IPv4协议报头中的协议字段非常类似跳数限制IPv4协议中生存时间(TTL)字段在长度(都是8位)和功能上都是非常一致的源地址和目的地址和IPv4协议中的源地址和目的字段是一样的9/11/2024622.3 IPv6扩展报头9/11/2024632.3 IPv6扩展报头逐跳可选项传送必须被转发路径中的每一个节点都检验处理的信息。例如,路由器告警和超大包有效载荷选项等9/11/2024642.3 IPv6扩展报头路由选择通过列出在到达目的地的路径中数据包所要经过的节点列表来提供源路由选择的功能分段IPv4和IPv6数据包中有一个重要的不同是,只有发起该数据包的节点能够对数据包进行分段;而IPv6路由器对数据包并不分段。封装安全有效载荷用于有效载荷的加密封装9/11/2024652.3 IPv6扩展报头认证报头用于数据包必须在源与目的节点之间进行认证的情况目的地可选项用于传送仅仅被目的节点,或者可能是路由选择报头中列出的节点检验处理的信息9/11/2024662.3 IPv6扩展报头建议的扩展报头顺序报头。2.逐跳可选项。3.目的地可选项(只有在路由选择报头中指定的中间路由器才必须处理这个报头)。4.路由选择。5.分段。6.认证。7.封装安全有效载荷。8.目的地可选项(只有最后的目的节点必须处理这个报头)。9.上层报头。9/11/2024672.4 ICMPv6包头格式9/11/2024682.4 ICMPv69/11/202469第3章 静态路由9/11/202470本章包括的主题路由表配置静态路由静态路由故障诊断9/11/2024713.1 路由表路由表项至少包括以下两项目标地址:路由器可以到达的网络地址指向目标的指针:指针不是指向路由器的直连目标网络就是指向直连网络内的另一台路由器地址,或者是到这个链路的本地接口。更接近目标网络一跳的路由器叫下一跳(next hop)路由器9/11/2024723.1 路由表路由表的精确匹配:尽量进行最精确的匹配,精确程度递减顺序如下:主机地址子网一组子网(一条路由汇总)主网号一组主网号(超网)缺省地址9/11/2024739/11/2024743.1 路由表查看命令:在Cisco路由器IOS中的命令是show ip route输出内容分析最上方的关键字是对路由表左侧的一列字母的解释标记为C的路由表示直连网络标记为S的路由表示静态路由“gateway of last resort is not set”指的是缺省路由括号内的元组指明了路由的管理距离/度量9/11/2024759/11/2024763.2 配置静态路由路由表采用3种方式获取信息基于路由器的直连子网静态方式的手工输入动态路由协议自动获取网络的静态路由选择共3步步骤1: 为网络中的每个数据链路确定子网或网络地址。步骤2:为每台路由器标识所有非直连的数据链路。步骤3:为每台路由器写出关于每个非直连地址的路由语句9/11/202477案例研究:简单IPv4静态路由返回返回9/11/2024783.2.1 案例研究:简单IPv4静态路由路由器Piglet上非直连的子网标识如下:9/11/2024793.2.1 案例研究:简单IPv4静态路由方法1:指向下一跳的配置方法方法2:指明出接口的配置方法9/11/2024803.2.1 案例研究:简单IPv4静态路由9/11/2024813.2.1 案例研究:简单IPv4静态路由方法3:联合使用出站接口和下一跳地址如果出站接口失败,即使下一跳地址通过替代路由递归可达,路由依然会被删除使相应地路由表项不再是直连网络,而是距离为1的静态路由路由器Tigger上输入ip,会被认为是直连网络,导致广播网络上出现过多的流量,而ip可以避免该问题 (如下图)9/11/2024829/11/2024833.2.3 案例研究:汇总路由汇总路由是一个包含路由表中几个更加精确地址的地址通过使用合适的子网掩码,可以为多个目标地址生成一条单一的汇总路由参考图3-2,汇总路由方式的配置9/11/2024843.2.4 案例研究:选择路由9/11/2024853.2.4 案例研究:选择路由配置要求:除了去往的数据包外,所有从Pooh到网络的数据包都将使用Pool和Eeyore之间的路径。9/11/2024863.2.4 案例研究:选择路由静态路由的两个特征:网络拓扑变化,需要路由器重新配置静态路由建立非常精确的路由选择行为补充说明由于使用了路径Pool-Eeyore-Tigger,而不是路径Pooh-Tigger,因此Pooh到子网的路径不是最优路径9/11/2024873.2.5 案例研究:浮动静态路由浮动路由与其他静态路由不同其他路由总是优于浮动静态路由,仅在首选路由失败的时候,浮动路由才出现路由表中浮动路由示例均分负载示例9/11/2024883.2.5 案例研究:浮动静态路由情景描述Rabbit通过两条并行链路连接到Piglet上主链路发生故障,浮动静态路由指引流量经过备份链路参考配置9/11/2024893.2.5 案例研究:浮动静态路由管理距离上述路由后面的数字50表示管理距离,路由器将会选择管理距离较低的路径管理距离指明路径的优先权指向下一跳的Ipv4静态路由的管理距离为1指向出站接口的静态路由的管理距离为0动态路由选择协议的管理距离远大于1默认到相同目标网络的静态路由总是优于动态路由9/11/2024903.2.5 案例研究:浮动静态路由图9/11/2024913.2.7 案例研究:均分负载均分负载允许路由器利用多路径的优点,在所有可用的路径上发送数据包两种均分负载等价均分负载:流量均匀地分布到多条度量相同的路径上,又叫负载平衡非等价均分负载:流量分布到度量不同的多条路径上,路径上分布的流量与路由代价成反比,代价越低流量越多情景图图9/11/2024923.2.7 案例研究:均分负载参考配置9/11/2024933.2.7 案例研究:均分负载参考配置9/11/2024943.2.7 案例研究:均分负载负载均衡和CEFCisco急速转发(CEF)使用的负载均衡方式:假设到一个网络存在两条路径,那么发往该网络中第一个目标的包从第一条路径走,第二个目标的包走第二条路径,第三个目标的所有数据包还通过第一条路径CEF缺省情况下基于目标进行负载均衡,本质是按照源地址进行负载均衡相同目标地址的流量且源地址相同都会从相同的接口出站相同目标地址的流量且源地址不同可能会从下一个接口出站基于目标网络和数据包的均衡负载Show ip cef可以确定CEF功能是否开启,缺省是开启的Ip load-sharing per-packet可以打开基于数据包的负载均衡Show cef interface检查接口使用了哪种负载均衡方式9/11/2024953.2.7 案例研究:均分负载基于目标网络的均衡负载和快速交换IOS在配置了快速交换的出站接口上执行基于目标网络的负载均衡快速交换的工作方式1、为第一个去往特定目标的数据包进行交换处理时,执行路由表查询并选择出站接口2、获取被选接口的数据链路信息3、1和2的路由和数据链路信息被输入到快速交换的高速缓存4、去往相同目标的后续数据包不再查表特点:速度快9/11/2024963.2.7 案例研究:均分负载基于数据包的负载均衡和过程交换可以不同的链路上发送数据包,即使路径等价、目标相同。如果代价不同,可能会按照代价比率分流过程交换:每个数据包都进行路由表查询和接口选择、链路信息查询,每次为数据包确定路由的过程都是独立的特点:速度慢9/11/2024973.2.7 案例研究:均分负载哪一种交换方法会被用到9/11/2024983.2.8 案例研究:递归表查询所有的路由表不必一定指向下一跳路由器参考配置9/11/2024993.2.8 案例研究:递归表查询情景分析发往网络的数据包需要3次路由(递归)才能执行转发强制路由器进行多次路由查表不是好的设计,快速交换对递归查询进行了限制,仅对每个目标网络的第1个进行递归查询9/11/20241003.2.8 案例研究:递归表查询一种有益的递归9/11/20241013.2.8 案例研究:递归表查询情景描述Sanderz途径Heffalump可以到达所有网络。现放弃Heffalump改用Woozle。Sanderz的前12条路由不再指向Heffalump,而是指向被连接到子网上的何时路由器。参考配置减少配置工作量,增加了工作效率9/11/20241023.3 静态路由故障诊断9/11/20241033.3.1 案例研究:追踪故障路由9/11/20241043.3.1 案例研究:追踪故障路由故障描述Pooh以太网接口连接的子网上的设备可以与上的设备正常通信。然而,当Pooh向子网发送ping时,结果却失败。分析9/11/20241053.3.1 案例研究:追踪故障路由9/11/20241063.3.1 案例研究:追踪故障路由9/11/20241073.3.1 案例研究:追踪故障路由9/11/20241083.3.1 案例研究:追踪故障路由9/11/20241093.3.1 案例研究:协议冲突9/11/20241103.3.2 案例研究:协议冲突故障描述Roo上添加一条指向Milne的主机路由,指引数据包图上方的以太网避开网桥数据包经Roo不但不能被路由到服务器,且经Kanga路由的数据包也不能到达服务器故障分析检查路由表9/11/20241113.3.2 案例研究:协议冲突故障分析检查路由表9/11/20241123.3.2 案例研究:协议冲突故障分析路由跟踪9/11/20241133.3.2 案例研究:协议冲突故障分析查看Kanga的ARP缓存9/11/20241143.3.2 案例研究:协议冲突故障分析查看Roo的ARP缓存9/11/20241153.3.2 案例研究:协议冲突故障分析故障定位:Kanga首次收到发往Milne的数据包时,它将发送ARP请求。Milne给出了回应,但是Roo在接口E0收到了此ARP请求。由于Roo也有一条通向Milne的路由,但是这条路由所在的网络不是Roo收到ARP请求的网络,所以Roo发送了一个代理ARP应答,由于网桥的时延造成了Roo代理ARP的应答到达Kanga后,覆盖了Milne的ARP信息。形成了回路。9/11/20241163.3.2 案例研究:协议冲突故障解决方法1:关闭Roo E0接口上的代理ARP方法2:在Kanga上为Milne配置静态ARP表项9/11/2024117第4章 动态路由选择协议9/11/2024118本章包括的主题路由选择协议基础距离矢量路由选择协议链路状态路由选择协议内部和外部网关协议静态或动态路由选择9/11/2024119路由选择协议基础路由算法至少应指明以下内容向其他路由器传送网络可达性的过程从其它路由器接收可达性信息的过程基于现有可达性信息决策最优路由和记录路由的过程响应、修正和通告网络中拓扑变化的过程9/11/20241204.1.2 路径决策问题1:路由器A是否应该将路由器C的数据包信息传递给路由器B,还是将路由器B的路由选择信息包传递给路由器C呢?9/11/20241214.1.2 路径决策问题2:如果路由器A从路由器B和路由器C那里知道网络192.168.4.0,那么为了到达该网络应该使用哪一台路由器呢?它们都合法吗?谁是最优路径呢?9/11/20241224.1.2 路径决策问题3:什么机制可以确保所有路由器能接收到所有的路由选择信息,而且这种机制还可以阻止更新数据包在网络中无休止地循环下去呢?9/11/20241234.1.2 路径决策问题4:如果路由器共享某个直连网络(、和192 .168.6.0 ),那么路由器是否仍旧应该通告这些网络呢?9/11/20241244.1.1 度量为什么需要度量当有多条路径到达相同目标网络时,路由器需要一种机制来计算最优路径度量是指派给路由的一种变量,可以路由进行等级划分不同路由选择协议使用不同的度量9/11/20241254.1.2 度量可用于计算的度量的参数跳数:记录路由器跳数带宽:通常选择高带宽链路负载:反应流量占用沿途链路带宽的数量时延:数据包经过一条路径所花费的时间可靠性:用来测量链路在某种情况下发生故障的可能性代价:由管理员设置,反应更优或更差路由,是一个描述无量纲度量的术语9/11/20241264.1.3 收敛所有路由表都达到一致的过程叫收敛全网内路由器间信息共享及计算最优路径所花费的时间总和就是收敛时间收敛过程1、链路发生故障,直连路由器都从数据链路协议获知链路故障2、直连路由器通知它们的邻居该链路不再可用3、邻接路由器立即更新路由表并通知它们的邻居4、这个过程一直持续到所有路由器都知道此变化为止9/11/20241274.1.3 收敛9/11/20241284.1.4 负载均衡等代价或不等价的负载均衡9/11/20241294.2 距离矢量路由选择协议大多数距离矢量算法以Bellman、Ford和Fulkerson工作为基础依照传闻进行路由选择常见的距离矢量路由协议IP路由选择信息协议(R1P)Xerox网络系统的XNS RIPNovell的IPX RIPCoco systems的Internet网关路由选择协议(IGRP)和增强型Internet网关路由协议(ElGRP) DEC的DNA阶段4Apple Talk的路由选择表维护协议(RTNIP)9/11/20241304.2.1 通用属性定期更新每经过特定时间就发送更新信息,从1090s邻居共享相同链路的路由器广播更新路由器通过向广播地址发送更新信息来宣布自己的存在不关心路由更新信息的主机和其他设备丢弃该包全路由选择表更新以广播形式告诉邻居它所知道的一切9/11/20241314.2.2 依照传闻进行路由选择以跳数为度量9/11/20241329/11/20241334.2.3 路由失效计时器情景描述(图)网络没有故障,路由器D故障路由器A、B、C将把数据发向一个不可达的网络解决办法为每个路由表项设置失效计时器每隔一定时间间隔都会收到表项的更新信息,复位该计时器36个更新周期未收到更新,将使该路由无效9/11/20241344.2.4 水平分隔情景描述-距离矢量算法的漏洞(图)D 监测到故障D将该网络标记为不可达并在下一更新周期通知C意外发生,D更新触发前,收到C的更新,C声称自己到达的距离为1D采纳C的建议,标记到达的距离为2 (注意,此时D-C间路由环路产生)9/11/20241354.2.4 水平分隔逆向路由路由的指向与数据包流动方向相反的路由水平分隔在两台路由器直接阻止逆向路由的技术两类水平分隔方法简单水平分隔法(图)规则:从某接口发送的更新信息不能包含从该接口收到的更新所包含的网络毒性逆转水平分隔法(图)规则:当更新信息被发送出某接口时,信息中将指定从该接口收到的更新信息中获取的网络是不可达的毒性逆转对比简单水平分隔法优点:更健壮-“坏消息总比没有消息好”缺点:路由更新包更大了9/11/20241369/11/20241379/11/20241384.2.5 计数到无穷大水平分隔法的局限切断了邻居间的环路,却无法隔断网络中的环路9/11/20241394.2.6 触发更新触发更新又叫快速更新,如果一个度量变好或变坏,路由器则不等定期更新计时超时,立即发送更新消息优点大大减少无穷计算引发的问题缺点定期更新和触发更新一起发生,路由器可能会在收到触发更新的正确信息之后又收到来自未收敛路由器的错误信息改进更新信息中仅包括实际触发该事件的网络,而不是包括整个路由表9/11/20241404.2.7 抑制计时器目的为了降低接受错误路由选择信息的可能性抑制路由如果到一个目标的距离增加(例如,跳数由2增加到4),那么路由器将为该路由设置抑制计时器。直到计时器超时,路由器才可以接受有关次路由的更新信息9/11/2024141下面两种方法维持异步更新每台路由器的更新计时器独立于路由选择进程,因而不会受到路由器处理负载的影响在每个更新周期中加入一个小的随机时间或定时抖动作为偏移。4.2.8 异步更新9/11/20241424.3 链路状态路由选择协议链路状态协议有时叫最短路径优先协议或分布式数据库协议,是围绕绕图论中的一个著名算法EW,Dijkstra的最短略径算法设汁的基本思路链路状态路由器从对等路由器那里获取第一手信息。每台路由器会产生一些关于自已、本地直连链路、这些链路的状态和所有直接相连邻居的信息。这些信息汇总成链路状态数据库,每台路由器都做一份拷贝,每台路由器独立地计算各自的最优路径,但是决不改动信息9/11/20241434.3 链路状态路由选择协议工作流程步骤1:建立邻接关系步骤2:通过洪泛向邻居发送LSA,每台路由器的链路都会产生一个LSA,用于标识这条链路、链路状态、路由器接口到链路的代价度量值以及链路所连接的所有邻居步骤3:每台路由器备份收到的LSA步骤4:依据LSA数据库Dijkstra算法计算最短路径9/11/20241444.3.1 邻居发现邻居通过hello协议,邻居路由器之间交换数据包Hello数据包至少应包含一个路由器ID和发送数据包的网络地址路由器ID:可以是路由器的一个接口的IP地址数据包的其他字段可以携带子网掩码、Hello间隔、线路类型描述符和帮助建立邻居关系的标记9/11/2024145链路状态泛洪扩散洪泛的工作过程LSA被发送给每个邻居,并依次向每个邻居的邻居再转发,除了发送该LSA的邻居洪泛扩散中的尴尬9/11/2024146链路状态泛洪扩散洪泛扩散中的尴尬9/11/2024147链路状态泛洪扩散解决方案序列号线性序列号空间循环序列号空问棒棒糖形序列号空间序列号的隐患路由器根据自己已收到数据包的序列号,来判断新到数据包的新旧,丢弃旧的,接收新的如果数据包传输过程序列号出错了9/11/20241484.3.2 链路状态泛洪扩散老化为洪泛扩散过程增加另一层可靠性LSA格式中包含年龄字段,LSA创建时,该字段为0扩散过程中,每台路由器修改并增加LSA中的年龄定义一个最大年龄差(MaxAgeDiff)如果收到的LSA序列号相同,年龄差小于MaxAgeDiff,说明正常的网络延迟造成了年龄的差异,因此路由器中原有的LSA保存,且不扩散新到LSA年龄差大于MaxAgeDiff,说明网络异常,因此新的LSA被记录,且被扩散 (注:ospf的MaxAgeDiff 为15min)LSA驻留在数据库中,则年龄会不断增加,如果增加到某个最大值MaxAge,则带有MaxAge的LSA扩散至所有邻居,邻居随即删除相关记录为防止LSA年龄到达MaxAge,链路状态刷新计时器可以复位MaxAge9/11/20241494.3.3 链路状态数据库LSA中序列号、年龄和其他信息,主要用于管理泛洪扩散进程LSA还包括两类通用信息路由器链路信息使用三元组(路由器ID、邻居ID、代价)通告路由器的邻居路由器,这里的代价是指链路到邻居的代价。末梢网络信息使用三元组(路由器ID、网络ID、代价)通告路由器直接连接的末梢网络(没有邻居的网络)。SPF算法如何利用这两类通用信息对路由器链路信息进行一次计算以建立到每台路由器的最短路径使用末梢网络信息向路由器添加网络9/11/20241509/11/20241514.3.3 链路状态数据库链路两端的代价并不一定要相同,代价和接口的出站方向有关9/11/20241524.3.3 链路状态数据库链路两端的代价并不一定要相同,代价和接口的出站方向有关9/11/20241534.3.4 SFP算法Dijkstra算法常常被认为是最短路径优先算法,具体参见计算机网络9/11/20241544.3.5 区域链路状态协议的3个不利影响必要的数据库要求内存的数量比距离矢量协议更多 复杂的算法要求CPU时间比距离矢量协议更多 链路状态泛洪扩散数据包对可用带宽带来了不利的影响,特别是不稳定的网络解决方案将网络划分区域一个区域内的路由器仅需要在本区域扩散LSA,只需要维护本区域的链路状态数据库利用区域的链路状态协议可以节省系统资源9/11/20241559/11/20241564.3.5 区域区域边界路由器连接两个区域的路由器,同属于两个区域必须为每个区域维护各自的拓扑数据库区域之间的路由区域内的路由器仅需要知道怎样找到本区域的边界路由器即可区域边界路由器/区域内路由器之间的关系如同主机/路由器之间的关系9/11/20241574.4 内部和外部网关协议自主系统在区域的基础上,将一组区域组成一个更大的区域,在更高层的区域在IP领域内叫自主系统,在ISO模型中叫路由选择域内部网关协议(IGP)在一个自主系统内运行的路由选择协议所有距离矢量和链路状态协议都是IGP外部网关协议(EGP)。在自主系统之间或路由选择域之间的路由选择协议边界网关协议(BGP) 、IP外部网关协议(EGP)、 ISO的域间路由选择协议(IDRP)都是EGP9/11/20241584.5 静态或动态路由选择在设计网络时,最简单的解决方法常常是最好的办法例证(图)中心路由器上为每个分支上的路由器配置一条静态路由每台分支路由器上配置一条指向中心路由器的缺省路由9/11/20241599/11/2024160
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号