计算机网络 第四章

744次阅读
没有评论

共计 10814 个字符,预计需要花费 28 分钟才能阅读完成。

四、网络层

4.1 网络层概述

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

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

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

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

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

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

计算机网络 第四章

4.2 网络层提供的两种服务

1. 面向连接的虚电路服务

  • 可靠通信由网络来保证
  • 必须建立 网络层的连接 — 虚电路 VC(Virtual Circuit)
  • 通信双方 沿着已建立的虚电路发送分组
  • 目的主机的地址仅在连接建立阶段使用,之后每个 分组的首部只需携带一条虚电路的编号(构成虚电路的每一段链路都有一个虚电路编号)
  • 这种通信方式如果在使用可靠传输的网络协议,就可使所发送的分组最终正确的到达接收方(无差错按序到达、不丢失、不重复)
  • 通信结束后,需要释放之前所建立的虚电路
  • 很多广域分组交换网都使用面向连接的虚电路服务。例如,曾经的 X.25 和逐渐过时的帧中继 FR、异步传输模式 ATM 等
计算机网络 第四章

2. 无连接的数据报服务

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

4.3.1 IPv4 地址概述

1. 概述

在 TCP / IP 体系中,IP 地址是一个最基本的概念

IPv4 地址 就是给因特网上的 每一台主机(或路由器)的每一个接口 分配一个在全世界范围内是 唯一的 32 比特的标识符

IP 地址由因特网名字和数字分配机构 ICANN(Internet Corporation for Assigned Names and Numbers)进行分配

  • 我国用户可向亚太网络信息中心 APNIC(Asia Pacific Network Information Center)申请 IP 地址,需要缴费
  • 2011 年 2 月 3 日,互联网号码分配管理局 IANA(由 ICANN 行使职能)宣布,IPv4 地址已经分配完毕。
  • 我国在 2014 至 2015 年也逐步停止了向新用户和应用分配 IPv4 地址。同时全面开展商用部署 IPv6。

IPv4 地址的编址方法经历了如下三个历史阶段:

计算机网络 第四章

2. 点分十进制表示方法

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

计算机网络 第四章

练习

计算机网络 第四章
查看解析

计算机网络 第四章

8 位无符号二进制整数转十进制数

计算机网络 第四章

右下角数字为进制数

255 为权值相加总和(128 + 64 + 32 + 16 + 8 + 4 + 2 + 1)

十进制正整数转 8 位无符号二进制数

除 2 取余法
计算机网络 第四章
凑值法(必须熟记 8 位二进制数各位的权值 128 64 32 16 8 4 2 1)
计算机网络 第四章

4.3.2 分类编址的 IPv4 地址

计算机网络 第四章

注意事项:

  • 只有 A类、B类和 C类地址可分配给网络中的主机或路由器的各接口
  • 主机号为 “全0” 的地址是网络地址,不能分配给主机或路由器的各接口
  • 主机号为 “全1” 的地址是广播地址,不能分配给主机或路由器的各接口

1. A类地址

计算机网络 第四章

2. B类地址

计算机网络 第四章

注意:有些教材中指出 128.0 是保留网络号,B类第一个可指派的网络号为 128.1。但根据 2002 年 9 月发表的 RFC 3330 文档,128.0 网络号已经可以分配了。

3. C类地址

计算机网络 第四章

注意:有些教材中指出 192.0 是保留网络号,C类第一个可指派的网络号为 192.0.1。但根据 2002 年 9 月发表的 RFC 3330 文档,192.0 网络号已经可以分配了。

4. 习题

题一

计算机网络 第四章
查看解析

计算机网络 第四章

题二

计算机网络 第四章
查看解析

答案:A

计算机网络 第四章
计算机网络 第四章

题三

计算机网络 第四章
查看解析

计算机网络 第四章

4.3.3 划分子网的 IPv4 地址

1. 概述

计算机网络 第四章

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

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

从主机号部分借用一部分作为子网号

计算机网络 第四章

如果未在图中标记子网号部分,那么我们和计算机又如何知道分类地址中主机号有多少比特被用作子网号了呢?

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

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

举例

计算机网络 第四章

解析

计算机网络 第四章
计算机网络 第四章
计算机网络 第四章

2. 习题

题一

计算机网络 第四章
查看解析

计算机网络 第四章

题二

计算机网络 第四章
查看解析

答案:D

计算机网络 第四章
计算机网络 第四章

3. 默认子网掩码

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

计算机网络 第四章

4.3.4 无分类编址的 IPv4 地址

1. 概述

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

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

1993年,IETF 发布了 无分类域间路由选择 CIDR(Classless Inter-Domain Routing)的 RFC 文档:RFC 1517 ~ 1519 和 1520

  • CIDR 消除了传统的 A类、B类 和 C类地址,以及划分子网的概念
  • CIDR 可以更加有效地分配 IPv4 的地址空间,并且可以在新的 IPv6 使用之前允许因特网的规模继续增长

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

举例:

CIDR 实际上是 将网络前缀都相同的连续的 IP 地址组成一个 “CIDR 地址块”

我们只要知道 CIDR 地址块中的任何一个地址,就可以知道该地址块的全部细节:

  • 地址块的最小地址
  • 地址块的最大地址
  • 地址块中的地址数量
  • 地址块聚合某类网络(A类、B类 或 C类)的数量
  • 地址掩码(也可继续称为子网掩码)

例:

计算机网络 第四章

练习:

查看解析

计算机网络 第四章

2. 路由聚合

路由聚合(构造超网)

计算机网络 第四章

将共同前缀共 22 个比特记为 “/22”,共同前缀保持不变,而剩余的 10 个比特全部取 0,然后写成点分十进制形式

计算机网络 第四章

网络前缀越长,地址块越小,路由越具体

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

3. 习题

题一

计算机网络 第四章
查看解析

答案:C

计算机网络 第四章

题二

计算机网络 第四章
查看解析

答案:C

计算机网络 第四章

4.3.5 IPv4 地址的应用规划

定长的子网掩码 FLSM (Fixed Length Subnet Mask)

  • 使用同一个子网掩码来划分子网
  • 每个子网所分配的 IP 地址数量相同,造成 IP 地址的浪费

变长的子网掩码 VLSM(Variable Length Subnet Mask)

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

1. 定长的子网掩码 FLSM

计算机网络 第四章

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

计算机网络 第四章

需求为 5 个子网,故需要至少 23 个子网。

计算机网络 第四章
计算机网络 第四章

从中任意选 5 个子网分配给各设备。

2. 变长的子网掩码 VLSM

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

计算机网络 第四章

地址块的分配原则是 “每个子块的起点位置不能随意选取,只能选取块大小整数倍的地址作为起点”。建议先给大的子块分配

计算机网络 第四章

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

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

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

注:在本节中忽略使用 ARP 协议来获取目的主机或路由器接口的 MAC 地址的过程,以及以太网交换机自学习和转发帧的过程。

1. 举例

计算机网络 第四章

同一网络中的主机之间可以直接通信,属于直接交付(例如 A → C),不同网络中主机之间的通信,需要通过路由转发,属于间接交付(例如 A → D)

源主机如何知道目的主机是否与自己在同一网络中

计算机网络 第四章

主机 C 如何知道路由器 R 的存在

我们可以将路由器接口的 IP 地址指定给该接口所直连网络中的各个主机作为默认网关,这样,当本网络中的主机要和其他网络中的主机进行通信时,会将 IP 数据报传输给默认网关,由默认网关帮主机将 IP 数据报转发出去。

计算机网络 第四章

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

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

2. 习题

题一

计算机网络 第四章
查看解析

答案:D

计算机网络 第四章

题二

计算机网络 第四章
查看解析

答案:C

计算机网络 第四章

题三

计算机网络 第四章
查看解析

计算机网络 第四章

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

1. 静态路由配置

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

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

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

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

举例:静态路由配置

计算机网络 第四章

2. 默认路由

计算机网络 第四章

3. 特定主机路由

计算机网络 第四章

特定主机路由网络前缀最长,路由最具体;

默认路由网络前缀最短,路由最模糊;

当有多条路由可选时,采用最长前缀匹配。

4. 静态路由配置错误导致路由环路

计算机网络 第四章

为了 防止 IP 数据报在路由环路中永久兜圈,在 IP 数据报首部设有 生存时间 TTL 字段。

IP 数据报进入路由器后,TTL 字段的值减 1。若 TTL 的值不等于 0,则被路由器转发,否则被丢弃。

5. 聚合了不存在的网络而导致路由环路

计算机网络 第四章
计算机网络 第四章
计算机网络 第四章

针对这种情况,我们可以在路由表中添加针对所聚合的,不存在的网络的黑洞路由。

计算机网络 第四章

6. 网络故障而导致的路由环路

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

计算机网络 第四章

为解决这种情况,我们在路由表中添加针对该直连网络的黑洞路由

计算机网络 第四章

假设一段之间后故障消失了,则 R1 又会自动得出其接口 0 的直连网络的路由条目,并将我们之前人工配置的黑洞路由条目设置为 失效状态;

假设 R1 再次检测到接口 0 故障不可达,则会自动在路由表中删除该网络的路由条目,并将我们之前人工配置的黑洞路由条目设置为 生效状态。

4.6.1 路由选择协议概述

静态路由选择

  • 由 人工配置 的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由。
  • 这种人工配置方式简单、开销小。
  • 一般只在 小规模网络 中采用。

动态路由选择

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

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

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

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

计算机网络 第四章

常见的路由选择协议

计算机网络 第四章

路由器的基本结构

计算机网络 第四章
  • 路由表一般仅包含从目的网络到下一跳的映射
  • 路由表需要对网络拓扑变化的计算最优化
  • 转发表示从路由表得出的
  • 转发表的结构应当使查找过程最优化
  • 路由器的各端口还应具有输入缓冲区和输出缓冲区

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

1. 概述

路由信息协议 RIP(Routing Information Protocol)是内部网关协议 IGP 中最先得到广泛使用的协议之一,其相关标准文档为 RFC 1058。

RIP 要求自治系统 AS 内的每一个路由器都要维护从它自己到 AS 内其他每一个网络的距离记录。这是一组距离,称为 “距离向量 D-V”(Distance-vector)。

RIP 使用 跳数 作为度量 来衡量到达目的网络的距离。

  • 路由器到直连网络的距离定义为 1。
  • 路由器到非直连网络的距离定义为所经过的路由器数加 1。
  • 允许一条路径最多只能包含 15 个路由器。“距离” 等于 16 时相当于不可达。因此,RIP 只适用于小型互联网。
计算机网络 第四章

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

计算机网络 第四章

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

RIP 包含以下三个要点:

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

2. RIP 的基本工作过程

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

3. RIP 的路由条目的更新规则

计算机网络 第四章

练习

计算机网络 第四章
查看解析

答案:D

计算机网络 第四章

4. 距离无穷计数问题

计算机网络 第四章

RIP 存在 “坏消息传播得慢 的问题

“坏消息传播的慢” 又称为 路由环路 或 距离无穷计数 问题,这是 距离向量算法的一个固有问题。可以采取多种措施 减少 出现该问题的概率或减小该问题带来的危害

  • 限制最大路径距离 为 15(16 表示不可达)
  • 当路由表发生变化时就立即发送更新报文(即 “触发更新”),而不是周期性发送
  • 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(即 “水平分割”)

练习

计算机网络 第四章
查看解析

答案:B

根据题目所给 “R3 检测到网络 201.1.2.0/25 不可达” 可知,R3 与该网络直连

计算机网络 第四章
计算机网络 第四章

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

开放最短路径优先 OSPF(Open Shortest Path FIrst),是为克服 RIP 的缺点在 1989 年开发出来的。

  • “开放” 表明 OSPF 协议不是受某一家厂商控制,而是 公开发表 的。
  • “最短路径优先” 是因为使用了 Dijkstra 提出的 最短路径算法 SPF。

OSPF 是 基于链路状态 的,而不像 RIP 那样是基于距离向量的。

OSPF 采用 SPF 算法计算路由,从算法上保证了 不会产生路由环路。

OSPF 不限制网路规模,更新效率高,收敛速度快。

链路状态是指本路由器都 和哪些路由器相邻,以及相应 链路的 “代价”(cost)。

  • “代价” 用来表示费用、距离、时延、带宽等。这些都由网络管理人员来决定。

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 有以下五种分组类型

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

OSPF 的基本工作原理

计算机网络 第四章

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

  • 选举 指定路由器 DR(designated router)和 备用的指定路由器 DR(backup designated router)
  • 所有的非 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

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

1. 概述

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

计算机网络 第四章

内部网关协议 IGP(例如路由信息协议 RIP 或开放最短路径优先 OSPF)

  • 设法使分组在一个自治系统内尽可能有效的从源网络传输到目的网络
  • 无需考虑自治系统外部其他方面的策略

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

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

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

不同自治系统的 BPG 发言人要交换路由信息,首先必须建立 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(通知)报文:用来发送检测到的差错。

2. 习题

题一

计算机网络 第四章
查看解析

计算机网络 第四章

题二

计算机网络 第四章
查看解析

答案:D

计算机网络 第四章

4.7 IPv4 数据报的首部格式

1. 部分格式概述

计算机网络 第四章
  • 版本占 4 比特,表示 IP 协议的版本。通信双方使用的 IP 协议的版本必须一致。目前广泛使用的 IP 协议版本号为 4(即 IPv4)。
  • 首部长度占 4 比特,表示 IP 数据报首部的长度。该字段的取值以 4 字节为单位。最小十进制取值为 5,表示 IP 数据报首部只有 20 字节固定部分。最大十进制取值为 15,表示 IP 数据报首部包含 20 字节固定部分和最大 40 字节可变部分。
  • 可选字段长度从 1 个字节到 40 个字节不等。用来支持排错、测量及安全等措施。可选字段增加了 IP 数据报的功能,但这同时也使得 IP 数据报的首部长度成为可变的。这就增加了每一个路由器处理 IP 数据报的开销。实际上可选字段很少被使用。
  • 填充字段确保首部长度为 4 字节的整数倍。使用全 0 进行填充。
  • 区分服务占 8 比特,用来获得更好的服务。该字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998 年,因特网工程任务组 IETF 把这个字段改名为区分服务。利用该字段的不同数值可提供不同等级的服务质量。只有在使用区分服务时,该字段才起作用。一般情况下不使用该字段。
  • 总长度占 16 比特,表示 IP 数据报的总长度(首部 + 数据载荷)。最大取值为 十进制的 65535,以字节为单位。

2. 标识、标志、片偏移

计算机网络 第四章

这三个字段共同用于 IP 数据报 分片。

计算机网络 第四章
  • 标识占 16 比特,属于同一个数据报的各分片数据报应该具有相同的标识。IP 软件维持一个计数器,每产生一个数据报,计数器值加一,并将此值赋给标识字段。
  • 标志占 3 比特,各比特含义如下:
    • DF位:1 表示不允许分片;0 表示允许分片
    • MF位:1 表示 “后面还有分片”;0 表示 “这是最后一个分片”
    • 保留位:必须为 0
  • 片偏移占 13 比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少个单位。片偏移以 8 个字节为单位。

3. 分片举例

计算机网络 第四章
计算机网络 第四章
计算机网络 第四章
计算机网络 第四章

除最后一个数据报片外,其他每个分片长度一定是 8 字节的整数倍

4. 生存时间 TTL

计算机网络 第四章

占 8 比特,最初以秒为单位,最大生存周期为 255 秒;路由器转发 IP 数据报时,将 IP 数据报首部中的该字段的值减去 IP 数据报在本路由器上所耗费的时间,若不为 0 就转发,否则就丢弃。

现在以 “跳数” 为单位,路由器转发 IP 数据报时,将 IP 数据报首部中的该字段的值减 1,若不为 0 就转发,否则就丢弃。

生存时间 TTL 字段的作用 — 防止 IP 数据报在网络中永久兜圈

计算机网络 第四章

5. 协议

计算机网络 第四章

占 8 比特,指明 IPv4 数据报的数据部分是何种协议数据单元。常用的一些协议和相应的协议字段值如下:

计算机网络 第四章

6. 首部检验和

计算机网络 第四章

占 16 比特,用来检验首部在传输过程中是否出现差错。比 CRC 检验码简单,称为因特网检验和。

IP 数据报每经过一个路由器,路由器都要重新计算首部检验和,因为某些字段(生存时间、标志、片偏移等)的取值可能发生变化。

由于 IP 层本身并不提供可靠传输的服务,并且计算首部校验和是一项耗时的操作,因此在 IPv6 中,路由器不再计算首部校验和,从而更快的转发 IP 数据报。

7. 源 IP 地址和目的 IP 地址

各占 32 比特,用来填写发送该 IP 数据报的源主机的 IP 地址和接收该 IP 数据报的目的主机的 IP 地址。

8. 习题

题一

计算机网络 第四章
查看解析

计算机网络 第四章
计算机网络 第四章

题二

计算机网络 第四章
查看解析

(1)

计算机网络 第四章

(4)

计算机网络 第四章

4.8 网际控制报文协议 ICMP

为了更有效地转发 IP 数据报和提高交付成功的机会,在网际层使用了 网际控制报文协议 ICMP(Internet Control Message Protocol)

主机或路由器使用 ICMP 来发送 差错报告报文 和 询问报文

ICMP 报文被封装在 IP 数据报 中发送。

1. ICMP 差错报告报文

终点不可达

当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。具体可再根据 ICMP 的代码字段细分为目的网络不可达、目的主机不可达、目的协议不可达、目的端口不可达、目的网络未知、目的主机未知等 13 种错误。

计算机网络 第四章

源点抑制

当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。

计算机网络 第四章

时间超过

当路由器收到一个目的 IP 地址不是自己的 IP 数据报,会将其生存时间 TTL 字段的值减 1,。若结果不为 0,则将该 IP 数据报转发出去;若结果为 0,除丢弃该 IP 数据报外,还要向源点发送时间超过报文。

另外,当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,也会向源点发送时间超过报文。

计算机网络 第四章

参数问题

当路由器或目的主机收到 IP 数据报后,根据其首部中的检验和字段发现首部在传输过程中出现了误码,就丢弃该数据报,并向源点发送参数问题报文。

计算机网络 第四章

改变路由(重定向)

路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。

计算机网络 第四章

以下情况 不应发送 ICMP 差错报文:

  • 对 ICMP 差错报告报文不再发送 ICMP 差错报告报文
  • 对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文
  • 对具有多播地址的数据报都不发送 ICMP 差错报告报文
  • 对具有特殊地址(如 127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文

2. ICMP 询问报文

常用的 ICMP 询问报文 有以下两种:

  • 回送请求和回答ICMP 回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送 ICMP 回送回答报文。这种询问报文用来 测试目的站是否可达 及了解其有关状态。
  • 时间戳请求和回答ICMP 时间戳请求报文是请某个主机或路由器回答当前的日期和时间。在 ICMP 时间戳回答报文中有一个 32 位的字段,其中写入的整数代表从 1900 年 1 月 1 日起到当前时刻一共有多少秒。这种询问报文用来 进行时钟同步和测量时间。

3. ICMP 应用举例

分组网间探测 PING(Packet InterNet Groper)

  • 用来测试主机或路由器间的连通性
  • 应用层直接使用网际层的 ICMP(没有通过运输层的 TCP 或 UDP)
  • 使用 ICMP 回送请求和回答报文

跟踪路由 traceroute

用来测试 IP 数据报从源主机到达目的主机要经过哪些路由器

Windows 版本

  • tracert 命令
  • 应用层直接使用网际层 ICMP
  • 使用了 ICMP 回送请求和回答报文以及差错报告报文

Unix 版本

  • traceroute 命令
  • 在运输层使用 UDP 协议
  • 仅使用 ICMP 差错报告报文
计算机网络 第四章
计算机网络 第四章

4.9 虚拟专用网 VPN 与网络地址转换 NAT

1. 虚拟专用网 VPN(Virtual Private Network)

利用公用的因特网 作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网。

由于 IPv4 地址的紧缺,一个机构能够申请到的 IPv4 地址数量往往远小于本机构所用拥有的主机数量。因此,虚拟专用网中的各主机所分配的地址应该是本机构可自由分配的专用地址,而不是需要申请的、在因特网上使用的公有地址。

计算机网络 第四章

如下图所示,同一机构内不同部门的内部网络所构成的虚拟专用网 VPN 又称为 内联网 VPN。

有时一个机构的 VPN 需要有某些外部机构参加进来。这样的 VPN 就称为 外联网 VPN。

在外地工作的员工需要访问公司内部的专用网络时,只要在任何地点接入到因特网,运行驻留在员工 PC 中的VPN软件,在员工的 PC 和公司的主机之间建立 VPN 隧道,即可访问专用网络中的资源。这种 VPN 称为 远程接入 VPN。

计算机网络 第四章

2. 网络地址转换 NAT(Network Address Translation)

虽然因特网采用了无分类编址的方式来减缓 IPv4 地址空间耗尽的速度,但由于因特网用户数目的激增,特别是大量小型办公室网络和家庭网络接入因特网的需求不断增加,IPv4 地址空间即将面临耗尽的危险仍然没有被解除。

1994 年提出了一种网络地址转换 NAT 的方法再次 缓解了 IPv4 地址空间即将耗尽的问题。

NAT 能使大量 使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源。

计算机网络 第四章
计算机网络 第四章
计算机网络 第四章

该转换方法存在一个问题:如果 NAT 路由器具有 N 个全球 IP 地址,那么至多只能有 N 个内网主机能够同时和因特网上的主机通信。

由于绝大多数的网络应用都是使用运输层协议 TCP 或 UDP 来传送数据,因此可以利用运输层的端口号和 IP 地址一起进行转换。

这样,用一个全球 IP 地址就可以使多个拥有本地地址的主机同时和因特网上的主机进行通信。这种将端口号和 IP 地址一起进行转换的技术叫做 网络地址与端口号转换 NAPT(Network Address and Port Translation)

计算机网络 第四章
计算机网络 第四章
正文完
 0
Yichend
版权声明:本文于2022-10-26转载自bilibili计算机网络微课堂,共计10814字。
转载提示:此文章非本站原创文章,若需转载请联系原作者获得转载授权。
评论(没有评论)