邮件网站怎么做,wordpress html后缀,佰牛网站建设,网站建设标准 方案书计算机网络#xff1a;网络层 - 路由选择协议 路由器的结构路由选择协议概述自治系统 AS内部网关协议路由信息协议 RIP距离向量算法RIP报文格式收敛问题 开放最短路径优先 OSPF基本工作原理自治系统分区 外部网关协议BGP-4 路由器的结构
如图所示#xff0c;路由器被分为路由… 计算机网络网络层 - 路由选择协议 路由器的结构路由选择协议概述自治系统 AS内部网关协议路由信息协议 RIP距离向量算法RIP报文格式收敛问题 开放最短路径优先 OSPF基本工作原理自治系统分区 外部网关协议BGP-4 路由器的结构
如图所示路由器被分为路由选择与分组转发两个部分 在分组转发中
当一个数据报从端口进入要依次被物理层数据链路层网络层层层解析得到数据报。随后根据转发表决定从哪一个端口传出再依次被网络层数据链路层网络层层层封装。
转发的核心就是这个转发表而转发表是由路由选择的路由表得出的
路由器通过路由选择协议来构建路由表从而得出转发表才能合理转发数据报。本博客就讲解路由选择协议来了解路由表是如何得出的。 路由选择协议概述
路由选择协议分为静态路由选择和动态路由选择。
静态路由选择由人工配置的路由不能及时适应网络的变化一般来说只在小规模网络中使用动态路由选择路由器自己获取路由信息能够及时适应网络变化一般大型网络使用
因特网作为全球最大的网络毫无疑问要使用动态路由选择动态路由选择有以下特点
自适应动态路由选择能较好适应网络状态变化分布式将一个系统或任务分解成多个部分并将其分配到多个节点上执行这些节点之间通过网络互相通信最终协作完成整个任务。路由器之间就是这样完成任务的。分层次整个因特网被划分为很多自治系统按层次管理
接下来本博客就讲解这个动态路由选择。 自治系统 AS
由于互联网的规模非常大如果让所有的路由器知道所有的网络应怎样到达则路由表将会非常大处理起来花费的时间也会很多所以互联网采用分层次的路由选择协议。
该协议将互联网划分为许多个较小的自治系统 AS如下图 每个AS对其它的AS表现为一个单一的一致的路由 比如上图中左上角的AS只通过R1连接外部所以该AS内部的报文都要通过R1传输。
每个AS内部使用内部网关协议不同的AS之间使用的是外部网关协议 如上图自治系统 A内部使用了内部网关协议RIP而自治系统 B内部使用了内部网关协议OSFP。也就是说不同的AS使用不同的内部网关协议也可以进行通信。在两个AS之间使用了外部网关协议BGP-4。 内部网关协议
路由信息协议 RIP RIP是一种基于距离向量的路由选择协议 所谓距离向量计算规则如下
路由器到直连网络的距离为1路由器到非直连网络的距离为经过的路由器数目加1
如下图 网络N1与R1直连那么R1到N1的距离向量就是1而R3与N2并不直连途径一个路由器R2那么距离向量就是路由器数目 1 2。
距离向量的最大值为15当大于等于16时表示不可达即不能通过该路由连接到对应的网络。
在RIP路由表中主要包含以下信息
目的网络目的网络的地址距离到达该网络的距离向量下一跳路由到达该网络要把数据报传输给哪一个路由
那么路由器如何构建自己的路由表呢
路由器仅和相邻路由器交换信息交换的信息为本路由器知道的所有信息路由器按照固定的时间间隔交换信息然后根据距离向量算法更新自己的路由表
距离向量算法
当路由器接收到来自相邻路由器的RIP报文就要通过距离向量算法更新自己的路由表规则如下 收到报文后先修改报文的内容将距离字段加一下一跳字段变为发送该报文的路由器 如下图 现在R2给R1发送了一个RIP报文内部包含到net2的信息其中距离字段要1表示R1想要到达该网络需要再经过R2路由器而下一跳要变为R2表示到达该网络需要将数据报转发给R2。 将修改后的数据报与自己原先的路由表对比更新路由表 如果原先路由表中没有目的网络那么将该网络添加到自己的路由表中如果原先路由表有相同的目的网络那么根据以下规则更新 如果报文中的下一跳的地址与原先下一跳相同那么更新路由表的距离这是因为网络随时都有可能变化有可能同一个路由器到一个网络的距离变了此时要用最新的确保信息正确如果报文中的下一跳的地址与原先下一跳不相同此时比较距离保留距离比较小的那一条
示例 R1收到了R2发来的RIP报文修改后如右图。
net1原先R1中没有对应的网络将该条目添加到路由表中net2原先R1有该网络并且下一跳同为R2此时就算距离变长了也要更新报文距离从3变为8net3原先R1有该网络但是下一跳不相同此时比较距离11 8说明R2比R3距离短选用R2更新路由net4原先R1有该网络但是下一跳不相同此时比较距离3 6说明R4比R2距离短选用R4不更新路由
最后R1路由表变为 另外的如果三分钟没有收到相邻路由器的RIP报文则把该路由器记为不可达把距离设置为16 RIP报文格式
RIP报文格式如下 如图所示RIP报文被封装在UDP数据报后在被封装进了IP数据报其实RIP本质是一个应用层协议。
在RIP的路由部分中包含了最重要的网络(网络地址子网掩码)下一跳距离这三个字段。一个报文中最多包含25个这样的路由信息。 收敛问题
RIP协议的优点是实现非常简单开销很小。
但是RIP也有不少缺点
限制了自治系统的大小RIP限制最大距离为16这也决定了使用RIP的自治系统不能太大收敛时间长也叫做”坏消息传播慢“ 收敛自治系统中所有节点都得到正确的路由信息的过程 接下来我们就看看为什么存在收敛时间长的问题 现在R1直连网络net1R2通过R1间接连接到net1突然R1断开了与net1的连接此时把距离改为16 当R1还没来得及告诉R2自己的路由表R2就给R1发送了RIP报文 此时R1误以为可以通过R2连接到net1于是更新自己的路由表 此时就已经产生了错误信息了过一会R1又给R2发送RIP报文 此时R2以为R1的链路变长了于是把自己的距离更新为4随后R2给R1发送报文 此时R1再更新以此类推直到两边距离都为16 此时路由器R1和R2才直到net1是不可达的。这就是为什么RIP的收敛速度慢。 开放最短路径优先 OSPF
开放最短路径优先OSPF是为了克服RIP的缺点而开发出来的。
开放表明OSPF不是受公司控制的而是公开发表的协议最短路径优先使用了最短路径算法SFP 先前的RIP是基于距离的协议而OSPF是基于链路状态的路由器会维护一个整个网络的拓扑图并基于此图计算最优路径 OSFP不会限制网络的规模而且收敛速度快。
基本工作原理
OSPF需要先建立和维护邻居关系这个过程是通过问候分组 hello实现的 如图所示每个路由器都有自己的邻居表R1的邻居就是R2和R4。每隔十秒钟路由器就会发送一次hello 分组如果连续40秒没有收到对应的hello 分组那么认为该路由器不可达。 路由器会通过数据交换让每个路由器都由一个链路状态数据库 LSDB并基于这个数据库计算出自己到达各个路由器的最短路径从而构建效率最高的路由表。 数据交换过程通过五种分组维护
问候分组用来构建和维护邻居路由数据库描述分组向邻居路由给出自己的链路状态数据库的摘要信息链路状态请求分组向邻居路由请求更加详细的信息链路状态更新分组将自己的详细信息发送出去通过泛洪法让自治系统的所有路由器都可以更新状态链路状态确认分组当路由器通过链路状态更新分组更新了自己的数据库后通过该报文确认
如图所示一开始路由器之间交换问候分组维护邻居关系 当满足一定条件路由器R1发送自己的数据库描述分组 在数据库描述分组中记录了R1的数据库的概括信息。如果R2检查数据库描述分组后发现有一些信息自己没有或者不太一样就向R1发出链路状态请求分组以获取更加详细的信息 当R1收到链路状态请求分组后通过泛洪法向所有路由器发送链路状态更新分组该分组详细描述了R1自己的数据库其他路由器就可以根据这个分组更新自己的数据库以获取最新的信息。收到链路状态更新分组的路由器还要往回发送链路状态确认分组对之前的分组确认。
自治系统分区
?为了使OSFP可以作用与规模很大的网络OSFP会把一个自治系统划分为若干个更小的范围叫做区域 每个自治系统都包含一个主干区域其它区域都通过主干区域连接自治系统外部。
每个区域都有自己的标识符该编号为32位以点分十进制表示主干区域的标识符固定为0.0.0.0。每个区域都要通过一个区域边界路由器来连接主干区域比如上图中R3R4R7都是区域边界路由器。 利用泛洪法交换链路状态信息时是在每个区域之间而非整个自治系统 这样就可以避免路由器太多导致太多的链路状态信息被发送到网络中导致网络拥挤了。 外部网关协议
BGP-4
由于不同的自治系统使用不同的内部路由选择协议并使用不同的度量所以必须在不同的自治系统之间使用另外的路由选择协议。目前使用最多的是边界网关协议 BGP 其最新版本是 BGP-4。 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由而并非要寻找一条最佳路由。 本博客不详细讲解BGP-4协议只是简单的讲解其作用。