飞道的博客

计算机网络-网络层详细讲解(持续更新中)

322人阅读  评论(0)

网络层概述

网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。

要实现网络层主要任务,需要解决以下主要问题:

  • 网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输‘)
  • 网络层寻址问题
  • 路由选择问题

因特网(Internet)是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。

由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层。

综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。

网络层提供的两种服务

面向连接的虚电路服务

  • 可靠通信由网络自身来保证
  • 当两台计算机进行通信时,必须建立网络层的连接——虚电路VC(Virtual Circuit)
  • 通信双方沿着已建立的虚电路发送分组
  • 目的主机的地址仅在连接建立阶段使用,之后每个分组的首部只需携带一条虚电路的编号(构成虚电路的每一段链路都有一个虚电路编号)
  • 这种通信结束后,需要释放之前所建立的虚电路
  • 很多广域分组交换网都使用面向连接的虚电路服务。例如,曾经的X.25和主键过时的帧中继FR、异步传输模式ATM等。

 无连接的数据报服务

  • 可靠通信应当由用户主机来保证
  • 不需要建立网络层连接
  • 每个分组可走不同的路径
  • 每个分组的首部必须携带目的主机的完整地址
  • 这种通信方式所传送的分组可能误码丢失重复失序
  • 由于网络本身不提供端到端的可靠传输服务。这就使网络中的路由可以做的比较简单,而且加个低廉(与电信的交换机相比较)。
  • 因特网采用了这种设计思想,也就是将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层),而将相对简单的尽最大努力和分组交付功能置于因特网的核心。

 采用这种思想的好处:网络的造价大大降低、运行方式灵活、能够适应多种应用

 由于TCP/IP体系结构的因特网的网际层提供的是简单灵活、无连接的、尽最大努力交付的数据服务,因此本博客主要围绕网际层如何传送IP数据报这个主题进行讨论。

IPv4地址

IPv4地址概述

概述

  • IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32比特的标识符。
  • IP地址由因特网名字和数字分配机构ICANN进行分配。                                                                       我国用户可向亚太网络信息中心APNIC申请IP地址,需要缴费。                                               2011年2月3日,互联网号码分配管理局IANA(由ICANN行使职能)宣布,IPv4地址已经             分配完毕。                                                                                                                                    我国在2014年至2015年已逐步停止了向新用户和应用分配IPv4地址。同时全面开展商            用部署IPv6。
  • IPV4地址的编址方法经历了如下三个历史阶段:

 表示方法

32比特的IPv4地址不方便阅读、记录以及输入等,因此IPV4地址采用点分十进制表示方法以方便用户使用

 分类编址的IPv4

 A类地址

8位网络号第一个固定为0                 

可指派的网络数量为-2=126 (减2的原因是除去最小网络号0和最大网络号127)

每个网络中可分配的IP地址数量为-2=16777214(减2的原因是除去主机号全0的网络地址和全1的广播地址)

B类地址

16位网络号前两位固定为10

可指派的网络数量为=16384

每个网络中可分配的IP地址数量为-2=65534(减2的原因是除去主机号为全0的网络地址和全1的广播地址)

 C类地址

24位网络号前三位固定为110

可指派的网络数量为=2097152

每个网络中可分配的IP地址数量为-2=254(减2的原因是除去主机号为全0的网络地址和全1的广播地址)

练习

 

划分子网的IPv4地址

首先我们先来说明以下为什么要将IPv4地址划分子网。

如图:某单位有一个大型的局域网需要连接到因特网。申请了一个B类的网络地址,因此分配IP地址的数量达到了65534个,给每台计算机和路由器的接口分配一个IP地址后,还有大量IP地址剩余,这些剩余的IP地址只能由该单位的同一个网络使用,而其他单位的网络不能使用。

 随着发展需要将原来三个网络划分成三个独立的网络,需要将原来的网络划分成三个独立的网络假设子网1仍然使用原先申请到的B类网络地址,那么就需要为子网2和子网3个字申请一个网络地址。

 为新增网络申请新的网络号会带来以下弊端:

  • 需要等待时间和花费更多的费用
  • 会增加其他路由器中路由表记录的数量
  • 浪费原有网络中剩余的大量IP地址

为避免这种情况出现,可以从主机号部分借用一部分作为子网号,如图

子网掩码

32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号 

  • 子网掩码使用连续的比特1来对应网络号和子网号
  • 子网掩码使用连续的比特0来对应主机号
  • 将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可以得到IPv4地址所在子网的网络地址

划分子网的细节

【举例】已知某个网络的地址是 218.75.230.0,使用子网掩码255.255.255.128对其进行子网划分,请给出划分细节。

【解析】

由网络号可知是C类网络地址           

         子网掩码                                             

 所以划分出的子网数量=2

每个子网可分配的地址数量-2=126(减2是要去掉主机号为“全0”的网络地址和“全1”的广播地址)

 练习

【习题】已知某个网络的地址为218.75.230.0,使用子网掩码255.255.255.192对其进行子网划分,请给出划分细节。

 【2019年 题39】某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0,如该主机向其所在子网发送广播分组,则目的地址可以是

 默认子网掩码

默认的子网掩码是指在未划分子网的情况下使用的子网掩码

无分类编址的IPv4地址

  •  划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间太小没有得到充分使用,而因特网的IP地址仍在加速消耗,整个IPv4地址空间面临全部耗尽的威胁

  • 为此,因特网工程任务组IETF又提出了采用无分类编址的方法来解决IP地址紧张的问题,同时还专门成立IPv6工作组负责研究新版本IP以彻底解决IP地址耗尽问题。

  • 1993年,IETF发布了无分类域间路由选择CIDR的RFC文档

  • CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念

  • CIDR可以更加有效地分配IPv4的地址空间,并且可以在新的IPv6使用之前允许因特网的规模继续增长。

CIDR

  • CIDR使用“斜线记法”,或称CIDR记法。即在IPv4地址后面加上斜线“/”,在斜线后面写上网络前缀所占的比特数量

【举例】

  •  CIDR实际上是将网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
  • 我们只要知道CIDR地址块中的任何一个地址,就可以知道该地址块的全部细节:              
  • 地址块的最小地址
  • 地址块的最大地址
  • 地址块中的地址数量
  • 地址块聚合某类网络(A类、B类和C类)的数量
  • 地址掩码(也可继续称为子网掩码)

举例

【例1】请给出CIDR地址块128.14.35.7/20的全部细节(最小地址,最大地址,地址数量,聚合C类网数量,地址掩码)。

【解析】

【练习】请给出CIDR地址块206.0.64.8/18的全部细节(最小地址,最大地址,地址数量,聚合
C类网数量,地址掩码)。

【解析】


 路由聚合(构造超网)

  •  网络前缀越长,地址块越小,路由越具体
  • 若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,这称为最长前缀匹配,因为这样的路由更具体。

练习

 

IP地址的应用规划

定长的子网掩码FLSM

  • 使用同一个子网掩码来划分子网
  • 子网划分方式不灵活:只能划分出个子网,其中n是从主机号部分借用的用来作为子网号的比特数量
  • 每个子网所分配的IP地址数量相同,造成IP地址浪费

举例说明一下定长的子网掩码FLSM

我们先分析一下应用需求

 应用需求:将C类网络218.75.230.0划分成5个子网,每个子网上可分配的IP地址不少于各自的需求

由于划分成5个子网,因此可以从主机号借用3个比特作为子网号

子网数量:=8

每个子网上的地址数量:=32

 我们看一下划分子网的细节

通过本例可以看出,采用定长的子网掩码进行子网划分,只能划分出个子网,其中n是从主机号部分借用的用来作为子网号的比特数量。每个子网所分配的IP数量相同,例如图中的网络5只需要4个IP地址 ,但是我们给它分配了32个IP地址,这样就造成了IP地址的严重浪费。

变长的子网掩码VLSM

  • 使用不同的子网掩码来划分子网
  • 子网划分方式灵活:可以按需分配
  • 每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费

示例:同样用上面的例子这次采用变长的子网掩码VLSM,首先我们分析每个子网的主机号位数、网络前缀位数、地址块、地址数量,如下:

 得出应用需求:从地址块218.75.230.0/24中取出5个地址块(1个“/27”地址块,3个“/28”地址块,1个“/30”地址块),按需分配给下图所示5个网络

在该地址块中给下图所示的网络N1~N5分配子块,分配原则是“每个子块的起点位置不能随意选取,只能选取块大小整数倍的地址作为起点”。建议先给大的子块分配

 每个子网块中最小地址位网络地址,最大地址位广播地址

IP数据报的发送和转发过程

IP数据报的发送和转发过程包含以下两部分:

  • 主机发送IP数据报
  • 路由器转发IP数据报

主机发送IP数据报

举例说明:

在下图所示的小型互联网中,路由器的接口0直连了一个交换式以太网,接口1也直连了一个交换式以太网。我们给该网络分配了这样的网络地址和子网掩码,给网络中的各主机和路由器的接口配置了相应的IP地址和子网掩码。

同一网络中的主机之间可以直接通信,不同网络中的主机之间的通信,需要通过路由器来中转,这属于间接交付。

 源主机如何判断出目的主机是否与自己在同一个网络中:

举例说明,假设主机要给主机F发送IP数据报。主机C将自己的IP地址和子网掩码相与,就可以得到主机C所在网络的网络地址。既然主机C要给主机F发送IP数据报,那主机C肯定知道主机F的IP地址,主机C将主机F的IP地址与自己的子网掩码相与,就可以得到目的网络地址,发现不相等因此主机C就知道了主机F与自己不在同一网络。它们之间的通信属于间接交付。

 主机C如何知道路由器R的存在?主机C应该把IP数据报交给哪个路由器进行转发呢?用户俄日了让本网络中的主机就必须给其指定本网络中的一个路由器,所指定的路由器,也被称为默认网关。我们可以将路由器接口0的IP地址指定给该接口所直连网络中的各个主机作为默认网关。同理,可将路由器接口1的IP地址指定给该接口所直连网络中的各个主机作为默认网关

 当本网络中的主机要和其他网络中的主机进行通信时,会将数据报传输给默认网关,由默认网关帮主机将IP数据报转发出去。

假设本例中的主机A要给主机D发送IP数据报,这属于间接交付。主机A会将该IP数据报传输给自己的默认网关,

 路由器收到IP数据报后如何转发?

路由器转发IP数据报

 路由器收到IP数据报后如何转发?

  1. 检查IP数据报首部是否出错:若出错,则直接丢弃该IP数据报并通告源主机,若没有出错继续进行转发
  2. 根据IP数据报的目的地址在路由表中查找匹配的条目:若找到匹配的条目,则转发给条目中指示的下一跳,若找不到,则丢弃该IP数据报并通告源主机

我们假设本例中的IP数据报首部没有出现差错。路由器取出IP数据报首部各地址字段的值。源地址字段的值位主机A的IP地址,目的地址字段的值为主机D的IP地址。路由器就要对该IP数据报继续宁查表转发。当我们给路由器的接口配置IP地址和子网掩码时,路由器表中就存储了相关信息

 路由器根据IP数据报的目的地址在自己的路由表中查找匹配的路由条目。将目的地址与路由条目中的地址掩码相与得到目的网络地址,该目的网络地址与路由条目中的目的网络地址相同,则这条 路由条目就是匹配的路由条目,也就是从接口1转发该IP数据报。这样主机D就可以收到路由器转发来的该IP数据报。

假设主机A给本网络上的各设备发送一个广播IP数据报。在数据报首部的目的地址字段可以填写的目的地址为192.168.0.127,这就是本网络的广播地址;也可以填写255.255.255.255,这就是受限的广播地址,该网络中的各设备都会收到该广播IP数据报。但是路由器收到后不会转发该数据报,路由器是隔离广播域的 

 练习

 

 

静态路由配置及其可能产生的路由环路问题

静态路由配置

静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表。

  • 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化
  • 一般只在小规模网络中采用。

【举例】说明静态路由配置

我们采用如图所示的网络拓扑和相应的IP地址配置,路由器R1和R2的路由表如下

 现在假设R1要转发一个IP数据报给该网络中的某个主机。R1应该把该IP数据报转发给路由器R2的接口2。但R1的路由表中并没有关于该网络的路由条目。R1并不知道目的网络的存在。因此我们可以使用路由器的相关配置命令,给R1添加一条到达该目的网络的路由条目。

 该路由条目是我们人工配置的静态路由。所以类型是静态,同理R2要给左边网络的某主机转发一个IP数据报,也需要使用路由器的相关配置命令,给R2添加一条到达该目的网络的路由条目。

以上就是我们举例说明的静态路由配置。 

【举例】默认路由举例

还是这个例子,现在假设路由器R2的接口连接到了因特网。

假设R1要转发一个IP数据报给因特网某个网络中某个主机。R1应该把该IP数据报转发给路由器R2的接口0。由于因特网中包含众多网络,如果我们给R1添加针对这些网络的每一条路由条目,则会给人工配置带来巨大的工作量,并且使R1路由表变的非常大,降低查表转发的速度。实际上对于具有相同下一跳的不同目的网络的路由条目,我们可以使用一条默认路由条目来代替。默认路由中的目的地址为0.0.0.0,地址掩码也为0.0.0.0,其CIDR形式为0.0.0.0/0。如图

 【举例】特定主机路由举例 

特定主机路由一般用于网络管理人员对网络的管理和测试。另外在需要考虑某种安全问题时也可以采用特定主机路由。

假设这是该网络中的某台特定主机。我们可以在R1的路由表中添加一条到达该主机的特定主机路由条目。

路由环路问题

使用静态路由配置可能出现以下导致产生路由环路的错误

  • 配置错误
  • 聚合了不存在的网络
  • 网络故障

【举例】静态路由配置错误导致路由环路

如图这是各路由器自动得出的直连网络和我们给各路由器人工配置的静态路由。

假设我们将R2第一条人工配置的静态路由条目错误的配置成10.0.1.2。下一条就从R1的接口1错误的指向了R3的接口0。该IP数据报发送后,经过R3查表会回到R2查表又会到R3就导致了路由环路。

 为了防止IP数据报在路由环路中永久兜圈,可以在IP数据报首部设有生存时间TTL字段。IP收报进入路由器后,TTL字段的值减1。若TTL的值不等于0,则被路由器转发,否则被丢弃。

【举例】聚合了不存在的网络而导致路由环路

 如图这是各路由器自动得出的直连网络和我们给各路由器人工配置的默认路由和聚合路由。

 假设R2要转发IP数据报到该网络。进行查表转发到R1,R1查表下一跳是通过接口2直接交付。就转发给了目的网络

实际上聚合路由的目的网络包含了以下四个地址

 假设当R2要转发IP数据报到这个不存在的网络时,R1查表找到了匹配的路由条目,转发给R1,但对于这个不存在的网络,却错把它转发给了路由器R1。R1进行查表发现没有匹配的路由条目,只能走默认路由,就又回到了R2,就导致了路由环路

针对这个问题,我们可以在R2的路由表中添加针对所聚合的、不存在的网络黑洞路由。下一跳为null0也就是丢弃。假设R2要转发IP数据报到这个不存在的网络,找到了两条可选的路由条目,根据最长前缀匹配原则,将会选择黑洞路由,进而丢弃

 【举例】网络故障导致路由环路

假设路由器R1检测到其接口0所直接的网络出现了故障而不可达,就会自动在其路由表中删除该直连网络的路由条目。

R2要转发IP数据报到该网络,会进行查表,转发到R1查表后没有找到匹配的路由条目,就只能走默认路由,默认路由下一跳又回到了R2就导致了路由环路。

针对这个问题,我们可以在R1的路由表中添加针对该直连网络的黑洞路由。R1查表后丢弃该IP数据报,故障恢复后会自动调价该路由条目并且自动使黑洞路由失效,当故障再次出现后,黑洞路由再次自动生效。

路由选择

路由选择协议

静态路由选择

  • 人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由。
  • 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化
  • 一般只在小规模网络中采用。

动态路由选择

  • 路由器通过路由选择协议自动获取路由信息
  • 比较复杂、开销比较大。能较好地适应网络状态的变化
  • 适用于大规模网络

因特网采用的路由选择协议

因特网所采用的路由选择协议的主要特点:

  • 自适应:动态路由选择,能较好地适应网络状态的变化。
  • 分布式:路由器之间交换路由信息。
  • 分层次:将整个因特网划分为许多较小的自治系统AS(Autonomous System)

【举例】说明因特网分层次的路由选择协议

如图是因特网中的一部分,左边网络和路由器划归为一个自治系统,右边划分为另一个自治系统。

  •  自治系统之间的路由选择简称为域间路由选择。
  • 自治系统内部的路由选择简称为域内路由选择。
  • 域间路由选择使用外部网关(路由)协议EG这个类别的路由选择协议。
  • 域内路由选择使用内部网关(路由)协议IGP这个类别的路由选择协议。
  • 在一个自治系统内部使用的具体的内部网关协议与因特网中其他自治系统中选用何种内部网关协议无关。左边的使用的内部网关协议为路由信息协议RIP。右边的为开放式最短路径优先OSPF协议。自治系统之间使用的外部网关协议为边界网关协议BGP。

常见的路由选择协议

 路由选择协议是在路由器上运行的

路由器的基本结构

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。 

 路由选择部分也叫做控制部分,或控制层面,其核心构件是路由选择处理机路由选择处理机的任务是根据所选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。

分组转发部分,也就是数据层面,它是三部分组成:交换结构、一组输入端口和一组输出端口

交换结构又称为交换组织,它的作用就是根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。

物理层进行比特的接收。数据链路层按照链路层协议接收转发分组的帧。在把帧的首部和尾部剥去之后,分组就被送入网络层的处理模块。若接收到的分组是路由器之间交换路由信息的分组(如RIP或OSPF分组等),则把这种分组送交路由器的路由选择部分中的路由选择处理机。若接收到的是数据分组,则按照分组首部中的目的地址查找转发表,根据得出的结果,分组就经过交换结构到达合适的输出端口

路由信息协议RIP的基本工作原理

  • 路由信息协议RIP(Routing nformation Protoco)是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058。
  • RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量D-V(Distance-Vector)”。
  • RIP使用跳数(Hop Count)作为度量(Metric)来衡量到达目的网络的距离。路由器到直连网络的距离定义为1、路由器到非直连网络的距离定义为所经过的路由器数加1。
  • 允许一条路径最多只能包含15个路由器。“距离”等于16时相当于不可达因此RIP只适用于小型互联网

  •  RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由

  •  当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡

RIP包含以下三个要点:

  • 和谁交换信息   仅和相邻路由器交换信息
  • 交换什么信息    自己的路由表
  • 何时交换信息    周期性交换 (例如每30秒)

【举例】RIP的基本工作过程 

  1.  路由器刚开始工作时,只知道自己到直连网络的距离为1
  2. 每个路由器仅和相邻路由器周期性地交换并更新路由信息
  3. 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛。

 【举例】RIP的路由条目的更新规则

假设C、D原来路由表信息如下

假设现在路由器C的RIP更新报文周期到了,C就发送封装有路由信息的RIP更新报文给D。

 路由器D收到之后对其进行改造。距离+1,下一跳改为C

 路由器D再对照自己的路由条目进行更新

  • RIP存在“坏消息传播得慢”的问题 
  • 坏消息传播得慢”又称为路由环路距离无穷计数问题,这是距离向量算法的一个固有问题“坏消息传播得慢”可以采取多种措施减少出现该问题的概率或减小该问题带来的危害。
     
  1. 限制最大路径距离为15(16表示不可达)
  2. 当路由表发生变化时就立即发送更新报文 (即“触发更新”),而不仅是周期性发送
  3. 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送 (即“水平分割")

开放最短路径优先OSPF的基本工作原理

  • 开放最短路径优先OSPF(Open Shortest Path First),是为克服RIP的缺点在1989年开发出来的。                                                                                                                                                   “开放”表明OSPF协议不是受某一家厂商控制,而是公开发表的。                                                  “最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。
  • OSPF是基于链路状态的,而不像RIP那样是基于距离向量的。
  • OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路
  • OSPF不限制网络规模,更新效率高,收敛速度快
  • 链路状态是指本路由器都和哪些路由器相邻,以及相应链路的“代价”(cost)。                                 “代价”用来表示费用、距离、时延、带宽,等等。这些都由网络管理人员来决定。

 【举例】

思科路由器中OSPF计算代价的方法:100Mbps/链路带宽,计算结果小于1的值仍记为1;大于1且有小数的,舍去小数。

OSPF相邻路由器之间通过交互问候(Hello)分组,建立和维护邻居关系

  • Hello分组封装在IP数据报中,发往组播地址224.0.0.5; 
  •  发送周期为10秒
  • 40秒未收到来自邻居路由器的Hello分组,则认为该邻居路由器不可达。
  • 每个路由器都会建立一张邻居表。

 使用OSPF的每个路由器都会产生链路状态通告LSA(Link State Advertisement)。LSA中包含以下内容:

  • 直连网络的链路状态信息
  • 邻居路由器的链路状态信息

LSA被封装在链路状态更新分组LSU中,采用洪泛法发送(将自己其他所有接口转发该分组)。

 使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA。

通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终将达到一致。

 使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表。

 OSPF有以下五种分组类型

  • 类型1,问候(Hello)分组      用来发现和维护邻居路由器的可达性。
  • 类型2,数据库描述(Database Description)分组    向邻居路由器给出自己的链路状态数据库中的所有链路状态项目的摘要信息
  • 类型3,链路状态请求(Link State Request)分组     向邻居路由器请求发送某些链路状态项目的详细信息。
  • 类型4,链路状态更新(Link State Update)分组      路由器使用这种分组将其链路状态进行洪泛发送,即用洪泛法对全网更新链路状态。
  • 类型5,链路状态确认(Link State Acknowledgement)分组    这是对链路状态更新分组的确认分组

OSPF的基本工作原理

 OSPF在多点接入网络中路由器邻居关系的建立

  • 选举指定路由器DR备用的指定路由器BDR
  • 所有的非DR/BDR只与DR/BDR建立邻居关系
  • 非DR/BDR之间通过DR/BDR交换信息

 为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统再划分为若干个更小的范围,叫做区域(Area)

区域内路由器IR(internal router): R1,R2,R8,R9 

主干路由器BBR(backbone router): R3,R4,R5,R6,R7

区域边界路由器ABR(area border router): R3,R4,R7

自治系统边界路由器ASBR(AS border router): R6

边界网关协议BGP的基本工作原理

外部网关协议EGP(例如边界网关协议BGP)

  • 在不同自治系统内,度量路由的“代价”(距离,带宽,费用等)可能不同。因此,对于自治系统之间的路由选择,使用“代价”作为度量来寻找最佳路由是不行的。
  • 自治系统之间的路由选择必须考虑相关策略(政治,经济,安全等)
  • BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。

在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人

不同自治系统的BGP发言人要交换路由信息,首先必须建立TCP连接,端口号为179

  • 在此TCP连接上交换BGP报文以建立BGP会话
  • 利用BGP会话交换路由信息 (例如,增加新的路由,或撤销过时的路由,以及报告出错的情况等)
  • 使用TCP连接交换路由信息的两个BGP发言人,彼此称为对方的邻站 (neighbor)或对等站(peer) 

BGP发言人除了运行BGP外,还必须运行自己所在自治系统所使用的内部网关协议IGP,例如OSPF或RIP

BGP发言人交换网络可达性的信息(要到达某个网络所要经过的一系列自治系统) 

当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各自治系统的较好的路由。也就是构造出树形结构、不存在回路的自治系统连通图。

 BGP适用于多级结构的因特网

 BGP-4有以下四种报文

  • OPEN(打开)报文:用来与相邻的另一个BGP发言人建立关系,使通信初始化。
  • UPDATE(更新)报文:用来通告某一路由器的信息,以及列出要撤销的多条路由。
  • KEEPALIVE(保活)报文:用来周期性地证实邻站的连通性。
  • NOTIFICATION(通知)报文:用来发送检测到的差错。

例题

 

 


转载:https://blog.csdn.net/m0_59860403/article/details/127855330
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场