计算机网络——网络层 下

版权声明:原创作品转载需标明作者与地址 https://blog.csdn.net/zjuwxx/article/details/89913866

本章重点:

  1. 虚拟互联网的概念
  2. IP地址与物理地址的关系
  3. 传统的分类的 IP地址(包括子网掩码)和无分类域间路由选择 CIDR
  4. 路由选择协议的工作原理

目录

一、划分子网和构造超网

1.1划分子网

1.1.1基本思路

1.1.2子网掩码

1.2使用子网时分组的转发

1.3无分类编址

1.3.1网络前缀

1.3.2最长前缀匹配

1.3.3. 使用二叉线索查找路由表

二、网际控制报文协议 ICMP

三、互联网的路由选择协议

3.1有关路由选择协议的基本概念

3.1.1理想的路由算法

3.1.2分层次的路由选择协议

3.2内部网关协议 RIP

3.2.1工作原理

3.2.2 RIP协议的报文格式

3.3  内部网关协议 OSPF

3.3.1 OSPF协议的基本特点

3.3.2 OSPF 的五种分组类型

3.4外部网关协议 BGP

3.5路由器的构成

3.5.1路由器的结构

3.5.2交换结构


一、划分子网和构造超网

1.1划分子网

1.1.1基本思路

1、划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。

2、从主机号借用若干个位作为子网号,而主机号也就相应减少了若干个位

3、凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号,先找到连接在本单位网络上的路由器。然后此路由器在收到 IP 数据报后,再按目的网络号和子网号找到目的子网。最后将 IP 数据报直接交付目的主机

1.1.2子网掩码

好处:不管网络是否划分子网,只要把子网掩码和 IP地址逐位“与”运算就立即得出网络地址

规定:所有网络必须使用子网掩码,路由器的路由表中也必须有子网掩码一栏。若一个网络不划分子网,该网络的子网掩码就使用默认子网掩码

A类地址的默认子网掩码是255.0.0.0,或0xFF000000

B类地址的默认子网掩码是255..255.0.0,或0xFFFF0000

C类地址的默认子网掩码是255..255.255.0,或0xFFFFFF00

子网掩码是一个网络或一个子网的重要属性

  • 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器
  • 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码
  • 若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码

例题

同样的 IP地址和不同的子网掩码可以得出相同的网络地址

1.2使用子网时分组的转发

使用子网划分后,路由表必须包含三项内容:目的网络地址,子网掩码,下一跳地址

划分子网时路由器转发分组的算法

  1. 从收到的分组的首部提取目的 IP 地址 D
  2. 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行 (3)
  3. 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行 (4)
  4. 对路由表中的每一行,将子网掩码和 D 逐位相“与”。若结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行 (5)
  5. 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行 (6)
  6. 报告转发分组出错

1.3无分类编址

1.3.1网络前缀

CIDR主要特点:

  1. 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念
  2. 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”

CIDR使用各种长度的“网络前缀”代替分类地址中的网络号和子网号

CIDR 使用“斜线记法”,在 IP 地址面加上一个斜线" / ",然后写上网络前缀所占的位数(对应于三级编址中子网掩码中 1 的个数)。例如: 220.78.168.0 / 24

只要知道 CIDR地址块中的任一地址,就能知道该地址块的起始地址(最小地址),最大地址以及块中的地址数

一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合(也称构成超网 ),它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由

路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能

CIDR 虽然不使用子网,但仍然使用“掩码”这一名词(但不叫子网掩码)

1.3.2最长前缀匹配

路由表中的项目由网络前缀和下一跳地址组成,但在查找路由表时可能会得到不止一个匹配结果,从结果中选择具有最长网络前缀的路由,即选择更具体的一个

网络前缀越长,其地址块就越小,因而路由就越具体

1.3.3. 使用二叉线索查找路由表

IP 地址中从左到右的比特值决定了从根结点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址

二、网际控制报文协议 ICMP

更有效地转发 IP 数据报和提高交付成功的机会

ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告

ICMP 不是高层协议(看起来好像是高层协议,因为 ICMP 报文是装在 IP 数据报中,作为其中的数据部分),而是 IP 层的协议

ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文

ICMP 差错报告报文共有 4 种:终点不可达,时间超过,参数问题,改变路由(重定向)

ICMP 询问报文有两种:回送请求和回答报文,时间戳请求和回答报文

三、互联网的路由选择协议

3.1有关路由选择协议的基本概念

3.1.1理想的路由算法

所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已

从路由算法的自适应性考虑

  • 静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化
  • 动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大

3.1.2分层次的路由选择协议

把整个互联网划分为许多较小的自治系统,记为 AS

自治系统 AS是在单一技术管理下的一组路由器,这些路由器使用一种自治系统内部的路由选择协议和共同的度量

一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略

互联网把路由选择协议分为两大类

1、内部网关协议 IGP

  • 在一个自治系统内部使用的路由选择协议
  • 目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议

2、外部网关协议 EGP

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

每个自治系统都有一个或多个路由器除运行本系统的内部路由选择协议外,还要运行自治系统间的路由选择协议

3.2内部网关协议 RIP

3.2.1工作原理

RIP是一种分布式的基于距离向量的路由选择协议

RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录

“距离”的定义

  • 从一个路由器到直接连接的网络的距离定义为 1
  • 从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1
  • RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1
  • 这里的“距离”实际上指的是“最短距离”

RIP 允许一条路径最多只能包含 15 个路由器。“距离”的最大值为 16 时即相当于不可达

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

RIP协议特点

  • 仅和相邻路由器交换信息
  • 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
  • 按固定的时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息

路由表的建立

  1. 路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为 1)。它的路由表是空的
  2. 以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息
  3. 经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址
  4. RIP 协议的收敛过程较快。“收敛”就是在自治系统中所有的结点都得到正确的路由选择信息的过程

3.2.2 RIP协议的报文格式

报文中的路由部分由若干个路由信息组成,每个路由信息需要用20个字节。一个 RIP报文最多可包括25个路由,最大长度是4+20*25=504字节

报文具有简单的鉴别功能,使用鉴别功能时,将原来写入第一个路由信息的位置用作鉴别,这时最多只能再放入 24 个路由信息

RIP的问题:当网络出现故障时,要经过较长的时间才能将此信息传送到所有的路由器,即好消息传播得快,坏消息传播得慢

RIP 协议的优缺点

优点:实现简单,开销较小。

缺点:

  1. RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。
  2. 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
  3. “坏消息传播得慢”,使更新过程的收敛时间过长。

3.3  内部网关协议 OSPF

3.3.1 OSPF协议的基本特点

OSPF的要点

  1. 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法
  2. 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”
  3. 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息

由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个全网的拓扑结构图,它在全网范围内是一致的。OSPF 的更新过程收敛得快是其重要优点

划分区域

为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫做区域。每一个区域都有一个 32 位的区域标识符。一个区域内的路由器最好不超过 200 个

划分区域的好处是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,减少了整个网络的通信量

在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况

OSPF 使用层次结构的区域划分。在上层的区域叫做主干区域,用来连通其他在下层的区域

OSPF 不用 UDP 而是直接用 IP 数据报传送

OSPF 的其他特点

  1. OSPF 对不同的链路可根据 IP 分组的不同服务类型 TOS 而设置成不同的代价。因此,OSPF 对于不同类型的业务可计算出不同的路由
  2. 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫做多路径间的负载平衡
  3. 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能
  4. 支持可变长度的子网划分和无分类编址 CIDR
  5. 每一个链路状态都带上一个 32 位的序号,序号越大状态就越新

3.3.2 OSPF 的五种分组类型

类型1,问候 (Hello) 分组

类型2,数据库描述 (Database Description) 分组

类型3,链路状态请求 (Link State Request) 分组

类型4,链路状态更新 (Link State Update) 分组,用洪泛法对全网更新链路状态

类型5,链路状态确认 (Link State Acknowledgment)分组

OSPF的其他特点

  1. 为了确保链路连接状态与全网的状态保持一致,OSPF 还规定每隔一段时间,要刷新一次数据库中的链路状态
  2. 一个路由器的链路状态只涉及到与相邻路由器的连通状态,与整个互联网的规模无直接关系。因此当互联网规模很大时,OSPF协议比距离向量协议 RIP好得多
  3. OSPF没有“坏消息传播得慢”的问题,据统计,其响应网络变化的时间小于 100 ms

3.4外部网关协议 BGP

边界网关协议 BGP 只是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由

每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“ BGP 发言人” ,往往是 BGP边界路由器,也可以不是

一个 BGP 发言人与其他自治系统中的 BGP 发言人要交换路由信息,就要先建立 TCP 连接,然后在此连接上交换 BGP 报文以建立 BGP 会话,利用 BGP 会话交换路由信息。使用 TCP 连接交换路由信息的两个 BGP 发言人,彼此成为对方的邻站或对等站

BGP 协议的特点

  • BGP 协议交换路由信息的结点数量级是自治系统数的量级,这要比这些自治系统中的网络数少很多
  • BGP 支持 CIDR,因此 BGP 的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列
  • 在 BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表,以后只需在发生变化时更新有变化的部分

BGP-4的四种报文

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

更新报文是 BQP协议的核心内容,撤销路由可以一次撤销多条,增加新路由时每个更新报文只能增加一条

3.5路由器的构成

3.5.1路由器的结构

从路由器某个输入端口收到的分组,按照分组要去的目的地(即目的网络)把该分组从路由器的某个合适的输出端口转发给下一跳路由器。下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止。 路由器的转发分组正是网络层的主要工作

整个的路由器结构可划分为两大部分

  • 路由选择部分(也称控制部分)
  1. 核心构件是路由选择处理机
  2. 路由选择处理机的任务是根据所选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表
  • 分组转发部分由三部分组成:
  1. 交换结构:又称为交换组织,其作用是根据转发表对分组进行处理
  2. 一组输入端口
  3. 一组输出端口(这里的端口就是硬件接口)

“转发”和“路由选择”的区别

  • “转发”就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去
  • “路由选择”则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由
  • 路由表是根据路由选择算法得出的,一般包含从目的网络到下一跳的映射,需要对网络拓扑变化的计算最优化,总用软件实现

  • 转发表从路由表得出,必须包含从要到达的目的网络到输出端口和某些 MAC地址信息的映射,使查找过程最优化,可用特殊硬件实现

路由器的输入端口里面装有物理层、数据链路层和网络层的处理模块。数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中排队等待处理。这会产生一定的时延

输入端口中的查找和转发功能在路由器的交换功能中是最重要的

输出端口里面装有物理层、数据链路层和网络层的处理模块。输出端口从交换结构接收分组,然后把它们发送到路由器外面的线路上

在网络层的处理模块中设有一个缓冲区(队列)。当交换结构传送过来的分组的速率超过输出链路的发送速率时,来不及发送的分组就必须暂时存放在这个队列中

数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路

路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因

3.5.2交换结构

交换结构是路由器的关键构件。正是交换结构把分组从一个输入端口转移到某个合适的输出端口

常用交换方法有三种

  1. 通过存储器
  2. 通过总线
  3. 通过纵横交换结构

by   云烟成雨yycy

猜你喜欢

转载自blog.csdn.net/zjuwxx/article/details/89913866