0
点赞
收藏
分享

微信扫一扫

计算机网络第四章——网络层4(仅记录我所认为重要的知识点)

吓死我了_1799 2022-05-06 阅读 103

计算机网络第四章——网络层4

路由选择协议


理想路由算法

实际路由算法应尽可能接近理想

正确性( correctness)

算法必须是正确的和完整的,按该算法生成的路径可到达目的地

简单性(simplicity)

算法在计算上应简单
时、空复杂度低,对辅助信息的需求少

健壮性(robustness)(自适应性)

能适应网络变化如,通信量或拓扑变化、软硬件故障、主机或路由器增删

稳定性( stability)

具有稳定的结果

公平性( fairness)

应对所有用户(除对少数优先级高的用户)都是平等的

最优性( optimality)

相对某种特定要求的较为合理的选择
不存在一种绝对的最佳路由算法

最佳路由

不存在一种绝对的最佳路由算法
最佳:
相对于某些要求较为合理
需要根据具体要求给每条路由指定一种度量(metric) ,又称为:开销、代价、费用

度量的决定因素:

  1. 经过的网络个数
  2. 时延
  3. 数据率
  4. 链路容量
  5. 价格
  6. 链路长度
  7. 链路差错率
  8. 保密性等。

各种路由算法都建立在某种“最佳”准则上

RIP

经过的网络个数最少(最短路径)

OSPF

经过的各链路的“开销”最少(最短路径)

分层次的路由选择协议

因特网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。

许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上。

自治系统AS

在单一的技术管理下的一组路由器,而这些路田器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议用以确定分组在AS之间的路由。

现在对自治系统AS的定义是强调下面的事实∶
尽管一个AS使用了多种内部路由选择协议和度量,但重要的是一个AS对其他AS农现出的是一个单一的和一致的路由选择策略。

因特网将整个互联网划分为许多较小的自治系统AS

AS最重要的特点

  • 每个AS都有唯一的16位的AS号,由IANA(Internet Assigned Number Authority ,互联网号码分配当局)来授权分配,AS号是一个16位的二进制数

  • 一个AS的所有网络都由一个部门管辖(ISP、公司、大学,政府部门等)

  • 一个AS本身是一个internet网络

  • AS有权自主地决定在本系统内采用何种路由协议

  • 一个AS所有路由器在本AS内都必须是连通的

  • 一个单位的二个网络通过外单位的网络互连,是二个AS

因特网的两大路由选择协议

在这里插入图片描述

IGP内部网关协议

内部网关协议IGP (lnteriorGateway Protocol)即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如RIP和OSPF协议

EGP外部网关协议

外部网关协议EGP(ExternalGateway Protocol)若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP。在外部网关协议中目前使用的是BGP-4

路由选择策略

静态路由选择策略

即非自适应路由选择

特点:

根据经验和对网络通信量等状态的预计,事先确定路由。
例,手工配置路由表

优点

简单、开销较小

缺点

不能及时适应网络状态的变化(网络状态∶当前的链路时延、通信量、拓扑等)

动态路由选择策略

即自适应路由选择

特点:

根据网络当前状态(通信量等),确定路由

优点

能较好地适应网络状态的变化

缺点

实现较为复杂,开销也比较大。例,RIP协议,OSPF协议

路由选择算法

静态路由选择算法

生成静态路由表

动态路由选择算法

生成动态路由表

动态路由特点

集中式,分布式

分布式动态路由算法

各路由器分布执行路由算法(检测路由信息,与其它路由器交换路由信息,动态地改变路由)

动态路由选择协议

包含:
路由器之间交换路由状态的方法
路由选择算法
按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。

分布式动态路由协议

动态路由选择∶非常复杂
路由的优劣随网络环境(流量等)而变
网络环境不断变化,而这种变化难以事先知道。
所以,是网络中的所有结点共同协调工作的结果。
获取路由信息(网络状态)
根据所有的路由信息维护路由表

二类动态路由
集中式∶
由一台或几台设备集中执行路由算法
分布式:
所有路由器分布执行路由算法
没有专用设备(不是集中式控制)

RIP,OSPF,BGP都是分布式动态路由协议路由算法

RIP内部网关协议

工作原理

路由信息协议RIP是内部网关协议IGP中最先得到广泛使用的协议
RIP是一种分布式的基于距离向量的动态路由选择协议
RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录
在这里插入图片描述

距离

路由器到直接连接的网络的距离定义为1

路由器到非直接连接的网络的距离定义为所经过的路由器数加1

RIP协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加1

RIP认为一个好的路由就是它通过的路由器的数目少,即“距离短”。

RIP允许一条路径最多只能包含15个路由器。

“距离”的最大值为16时即相当于不可达。可见RIP只适用于小型互联网。

RIP不能在两个网络之间同时使用多条路由。RIP选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。

RIP协议的要点

  1. 交换什么∶交换的信息是本路由器当前所知道的全部信息,即自己的路由表,即距离向量
  2. 与谁交换∶仅和相邻路由器交换信息。
  3. 何时交换︰定时交换路由信息,例如,每隔30秒。

为加快协议的收敛速度,当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息(即触发更新)
在这里插入图片描述

路由表的建立

路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为1)

以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。

经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个络的最短距离和下一跳路由器的地址。

一般情况下RIP协议的收敛过程较快,即在自治系统中所有的结点都得到正确的路由选择信息的过程。

RIP协议路由表的更新

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

RIP的距离向量算法

收到相邻路由器(其地址为×)的一个路由更新报文︰

  1. 先修改此报文中的所有项目︰把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1。每一个项目都有三个关键数据,即∶到目的网络N,距离是d,下一跳路由器是X
  2. 若原路由表中没有目的网络N,则把该项目添加到路由表中。否则,查看路由表中目的网络为N的表项,若其下一跳是X,则把收到的项目替换原项目(最新消息)。否则(到目的网络N,但下一跳不是X),若收到的项目中的距离d小于路由表中的距离,则进行更新,否则什么也不做。
  3. 若180秒(默认)没有收到某条路由项目的更新报文,则把该路由项目记为无效,即把距离置为16(距离为16表示不可达),若再过一段时间,如120秒,还没有收到该路由项目的更新报文,则将该路由项目从路由表中删除。
  4. 若路由表发生变化,向所有相邻路由器发送路由更新报文。
  5. 返回。
    在这里插入图片描述

路由器之间交换信息

RIP协议让互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)

虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的

RIP2协议报文格式

在这里插入图片描述

RIP报文传输

RIP协议使用传输层的UDP进行传送(使用UDP的端口520 )
形式上,RIP协议的位置应当在应用层
逻辑上,是IP协议的配套,在网络层

RIP协议的优缺点

最大的优点

实现简单,开销较小。
RIP协议的收敛(convergence)过程较快
(收敛∶AS中所有结点都得到正确的路由选择信息的过程)

局限性:

  1. 限制了网络的规模,只适用于小型AS。能使用的最大距离为15( 16表示不可达)
  2. RIP不能在两个网络之间同时使用多条路由。
  3. RIP选择的是一个经过最少路由器的路由,不一定是高速或低时延(但路由器较多)的路由。路由信息中没有链路的速度、时延等状态
  4. 坏消息传播得慢︰当网络出现故障时,要经过较长时间才能传到所有的路由器

坏消息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OSPF内部网关协议

OSPF:Open Shortest Path First
开放:
表明协议不受某一家厂商控制,而是公开发表的。
最短路径优先:

  • 每个自治系统可以定义链路状态“度量”的物理意义
  • 通过路由信息交换,各个路由器了解自治系统的网络拓扑(带权的拓扑图)
  • 使用Dijkstra的最短路径算法SPF找出最短路径
  • OSPF只是一个协议名字,并不表示其他的路由选择协议(如RIP)不是“最短路径优先”

OSPF具有分层路由的思想:划分区域

OSPF的三个要点

路由器之间交换路由信息的三要点

  1. 交换什么:相邻的所有路由器的链路状态(洪泛法)(是路由器所知道的部分路由信息)
    “链路状态”:
    a.本路由器和哪些路由器相邻
    b.与相邻路由器的链路的“度量”(metric)(费用、距离、时延、带宽等)
  2. 与谁交换:向本AS(区域)中所有路由器发送信息
  3. 何时交换:只有当链路状态发生变化时

链路状态数据库

由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库。

这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的(这称为链路状态数据库的同步)。

OSPF 的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。

OSPF的更新过程收敛得快是其重要优点。

与相邻路由器的链路信息的组织

在这里插入图片描述

链路状态数据库LSDB

在这里插入图片描述

OSPF的五种分组类型

  1. 问候分组(确认哪些相邻路由器是可达的,建立和维护连接和邻里关系)
  2. 数据库描述分组
  3. 链路请求分组
  4. 链路状态更新分组
  5. 链路状态确认分组

1. 问候分组

路由器启动时的初始化:
发现相邻结点,并获取其网络地址:
向所有输出端口发Hello分组
对方给予响应
维护相邻路由器的可达性:
相邻路由器每隔10秒交换一次Hello分组,若40秒没有收到某个相邻路由器的Hello分组,则认为不可达
然后进行:
修改链路状态数据库
重新计算路由
发送链路状态更新分组。

2. 数据库描述分组

同步︰
使不同路由器的链路状态数据库的内容相同
为减少路由器之间交换链路状态的数量,采取了以下方法︰
通过数据库描述分组定期向邻站发送“摘要信息”∶
本站数据库中有哪些链路、链路状态序号等
路由器收到的数据库描述分组,若发现本地数据库中缺少某些链路,或本地数据库中该链路状态的序号小于数据库描述分组中的序号,就向该邻站发送链路状态请求分组

收到链路状态请求分组,用链路状态更新分组广播发送这些链路的详细状态信息

收到链路状态更新分组,返回链路状态确认分组

更新分组的情况
  1. 本地链路状态发生变化(链路状态序号+1,再发送更新分组)
  2. 收到链路状态请求分组(发送的更新分组的链路状态序号不变)
  3. 30分钟定时到(刷新一次数据库中的链路状态)(发送的更新分组的链路状态序号不变)
    在这里插入图片描述
发送链路状态更新分组的方法

在这里插入图片描述

Flooding洪泛,扩散法
在这里插入图片描述
在这里插入图片描述

OSPF的区域

OSPF需要向本AS中所有路由器发送信息
自治系统较大时,效率低
为了使OSPF能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域
只需要向本区域中所有路由器发送信息
每一个区域都有一个32位的区域标识符(用点分十进制表示)
区域也不能太大,在一个区域内的路由器最好不超过200个

划分区域

划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。
在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。
OSPF使用层次结构的区域划分。
在上层的区域叫作主干区域(backbonearea)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。

OSPF划分为两种不同的区域

在这里插入图片描述

主干路由器

在这里插入图片描述

区域边界路由器

在这里插入图片描述

划分区域的优点

区域内部路由器
仅与同区域的路由器交换链路状态
只需知道本区域的完整网络拓扑
优点:

  1. 减少了链路状态的通信流量(只在区域内广播)
  2. 减少了链路状态信息库的表项
  3. 提高最短路径算法SPF的计算速度
  4. 简化管理
  5. 扩展能力远远超过RIP协议
  6. 使路由器的运行更快速、更经济、占用的资源更少

OSPF的分组格式

在这里插入图片描述
版本号(1字节) :1或2
类型(1字节):5种OSPF分组类型之一
分组长度(2字节):包括首部在内的分组字节长度。
路由器ID(4字节):发送该分组的路由器接口的IP地址。
区域ID(4字节):分组所属的区域
校验码(2字节):对整个分组的检查
鉴别类型(2字节) :0:不用,1:口令
鉴别(8字节):鉴别类型=1时,填8字节口令

OSPF直接使用IP数据报进行传输

OSPF不用UDP而是直接用IP数据报传送
OSPF 构成的数据报很短。这样做可减少路由信息的通信量
数据报很短的另一好处是可以不必将长的数据报分片传送。分片传送的数据报只要丢失一个,就无法组装成原来的数据报,而整个数据报就必须重传

OSPF总结

在这里插入图片描述
在性能上
在这里插入图片描述
补充

指定的路由器

多点接入的局域网采用了指定的路由器的方法,使广播的信息量大大减少。
指定的路由器代表该局域网上所有的链路向连接到该网络上的各路由器发送状态信息。

外部网关协议BGP

在这里插入图片描述

外部网关协议的特殊性

在这里插入图片描述

BGP发言人

在这里插入图片描述

BGP交换路由信息

一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话(session),利用BGP会话交换路由信息。
使用TCP连接能提供可靠的服务,也简化了路由选择协议。
使用TCP连接交换路由信息的两个BGP发言人,彼此成为对方的邻站或对等站。

BGP发言人和自治系统AS的关系

在这里插入图片描述
在这里插入图片描述

RIP和OSPF的不同

在这里插入图片描述

RIP采用路径向量路由

路径向量(路由所经过的各个AS序列)
AS1=》AS2=》AS4
采用路径向量的路由(路由表主要参数):
{日目的网络前缀N、下一跳路由器R,到达N的路径向量}
例:{N3,R8,(AS1,AS2,AS4) }
BGP支持CIDR,(如,N3=134.34.128/17 )
减少了路由表项,加快了选路速度
减少了Speaker间交换的路由信息

在这里插入图片描述

路由器之间交换路由信息

  1. 交换什么:发生变化的路径向量(路径向量:到网络N经过的AS序列)
  2. 与谁交换:邻站
  3. 何时交换:路径向量发生变化时

增量式交换路径向量
在BGP刚刚运行时,BGP的邻站是交换整个的BGP路由表。
以后只在发生变化时交换更新有变化的部分。
节省网络带宽和减少路由器的处理开销。
采用可靠通信交换路由信息
使用TCP连接提供可靠的服务,简化了BGP协议。
二个AS中的BGP发言人要交换路由信息,要先建立TCP 连接,然后在此连接上交换BGP报文

BGP发言人交换路径向量

在这里插入图片描述
在这里插入图片描述

BGP协议的特点

BGP 协议交换路由信息的结点数量级是自治系统数的量级,这要比这些自治系统中的网络数少很多。

每一个自治系统中BGP发言人(或边界路由器)的数目是很少的。这样就使得自治系统之间的路由选择不致过分复杂。

BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下─跳路由器,以及到达该目的网络所要经过的各个自治系统序列。

在BGP 刚刚运行时,BGP的邻站是交换整个的BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销方面都有好处。

BGP-4使用的四种报文

  1. 打开(OPEN)报文(即:建立连接请求)与相邻的一个BGP发言人建立会话
  2. 更新(UPDATE)报文:发送新的路由信息(更新、添加、撤消路由)
  3. 保活(KEEPALIVE)报文:维持连接确认,打开报文周期性地联系邻站,证实邻站关系
  4. 通知(NOTIFICATION)报文:发送检测到的差错。

工作过程简介

在这里插入图片描述

BGP报文格式

在这里插入图片描述
标记(Marker)-鉴权信息,不用鉴权时为全1。
长度(Length)-报文的总长度(字节,19~4096)。
类型(Type)-报文类型:
0:open、1:update、2:notify、3:keep-alive
在这里插入图片描述

更新报文的数据域

在这里插入图片描述

使用更新报文撤销路由

在这里插入图片描述

使用更新报文添加,更新路由

在这里插入图片描述
以下是更新报文的数据域
在这里插入图片描述

打开报文的数据域

在这里插入图片描述
在这里插入图片描述

通知报文的数据域

在这里插入图片描述

BGP补充

交换可达性信息
AS中 BGP发言人数目较少
交换路由信息的数据量少(AS比网络少很多)
即AS之间的路由选择不复杂

BGP避免产生兜圈子路由的方法

如果路径中含有本站,则会产生回路,不予采用
如,AS2的Speaker收到路由
{N3,R8,(AS5,AS2,AS6) },
发现AS2在此路径中,会产生回路,故不采用。

维护路由表

在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论