从 01 开始 从 01 开始
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档

晓林

程序猿,自由职业者,博主,英语爱好者,健身达人
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档
  • 计算机简史

  • 数字电路

  • 计算机组成原理

  • 操作系统

  • Linux

  • 计算机网络

    • 计算机网络微课堂

      • 课程概述
      • 1-1 计算机网络在信息时代的作用
      • 1-2 因特网概述
      • 1-3 三种交换方式
      • 1-4 计算机网络的定义和分类
      • 1-5 计算机网络的性能指标
      • 1-6 计算机体系结构
      • 2-1 物理层的基本概念
      • 2-2 物理层下面的传输媒体
      • 2-3 传输方式
      • 2-4 编码与调制
      • 2-5 信道的极限容量
      • 3-1 概述
      • 3-2 封装成帧
      • 3-3 差错检测
      • 3-4 可靠传输
      • 3-5 点对点协议 PPP
      • 3-6 媒体接入控制的基本概念
      • 3-7 MAC 地址
      • 3-7 IP 地址
      • 3-7 ARP 协议
      • 3-8 集线器与交换机的区别
      • 3-9 以太网交换机自学习和转发帧的流程
      • 3-10 以太网交换机的生成树协议 STP
      • 3-11 虚拟局域网 VLAN
      • 4-1 网络层概述
      • 4-2 网络层提供的两种服务
      • 4-3 IPv4 地址
      • 4-4 IP 数据报的发送和转发过程
      • 4-5 静态路由配置及其可能产生的路由环路问题
      • 4-6 路由选择
      • 4-7 IPv4 数据报的首部格式
      • 4-8 网际控制报文协议 ICMP
      • 4-9 虚拟专用网 VPN 与网络地址转换 NAT
      • 5-1 运输层概述
      • 5-2 运输层端口号、复用与分用的概念
      • 5-3 UDP 和 TCP 的对比
      • 5-4 TCP 的流量控制
      • 5-5 TCP 的拥塞控制
      • 5.6 TCP 超时重传时间的选择
      • 5-7 TCP 可靠传输的实现
      • 5-8 TCP 的运输连接管理
      • 5-9 TCP 报文段的首部格式
      • 6-1 应用层概述
      • 6-2 客户—服务器方式和对等方式
      • 6-3 动态主机配置协议 DHCP
      • 6-4 域名系统 DNS
      • 6-5 文件传送协议 FTP
      • 6-6 电子邮件
      • 6-7 万维网 WWW
    • 计算机网络微课堂-实验手册

    • 从零开始学计算机网络

  • 数据库

  • 编程工具

  • 装机

  • 计算机基础
  • 计算机网络
  • 计算机网络微课堂
2023-11-16

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

# 440.4-4 IP 数据报的发送和转发过程

本节课我们介绍 IP 数据报的发送和转发过程。

IP 数据报的发送和转发过程包含以下两部分,一部分是主机发送 IP 数据报,另一部分是路由器转发 IP 数据报。

需要说明的是为了将重点放在 TCP 协议站的网际层,发送和转发 IP 数据报的过程上,在本节课的举例中,我们将忽略使用 ARP 协议来获取目的主机或路由器接口的 MAC 地址的过程,以及以太网交换机自学习和转发帧的过程。下面我们就来举例说明,IP 数据报的发送和转发过程。

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

​​

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

那么源主机如何判断出目的主机是否与自己在同一个网络中?我们来举例说明,假设主机 C 要给主机 F 发送 IP 数据报,主机 C 将自己的 IP 地址和子网掩码相与,就可以得到主机 C 所在网络的网络地址。

既然主机 C 要给主机 F 发送 IP 数据报,主机 C 肯定知道主机 F 的 IP 地址,否则就没法发送了。主机 C 将主机 F 的 IP 地址与自己的子网掩码相遇,就可得到目的网络地址,

该地址与主机 C 的网络地址不相等,因此主机 C 就知道了主机 F 与自己不在同一个网络,他们之间的通信属于间接交付,主机 C 需要将 IP 数据报传输给路由器,由路由器将 IP 数据报转发给主机 F。

​​

那么主机 C 又是如何知道应该把 IP 数据报交给哪个路由器进行转发,实际上用户为了让本网络中的主机能和其他网络中的主机进行通信,就要必须给其指定本网络中的一个路由器,由该路由器帮忙进行转发,所指定的路由器也被称为默认网关。

对于本例我们可以将路由器接口 0 的 IP 地址指定给该接口所直连网络中的各个主机作为默认网关。

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

​​

假设本例中的主机 A 要给主机 D 发送 IP 数据报,这属于间接交付,主机 A 会将该 IP 数据报传输给自己的默认网关,也就是图中所示的路由器。那么当路由器收到 IP 数据报后,又是如何转发的呢?路由器首先会检查 IP 数据报的首部是否出错,若出错则丢弃该 IP 数据报,并通告源主机,若没有出错则进行转发。

路由器根据 IP 数据报首部中的目的地址,在自己的路由表中查找匹配的路由条目,若找到匹配的路由条目,则转发给路由条目中指示的下一跳,若找不到则丢弃该 IP 数据报,并通告源主机。

​​

为了简单起见,我们假设本地中的 IP 数据报首部没有出现差错,路由器取出 IP 数据报首部各地址字段的值,源地址字段的值为主机 A 的 IP 地址,目的地址字段的值为主机 D 的 IP 地址,接下来路由器就要对该 IP 数据报进行查表转发了,这是路由器的路由表。

当我们给路由器的接口配置 IP 地址和子网掩码时,路由器就知道了自己的该接口与哪个网络是直连的。例如在本例中接口 0 所直连的网络是 192.168.0.0,相应的地址源码为 255.255.255.128,不需要下一跳路由器,因为接口 0 与该网络是直连的,接口 1 所直连的网络是 192.168.0.128,相应的地址源码为 255.255.255.128,不需要下一跳路由器,因为接口 1 与该网络是直连的,

需要说明的是路由表中可能还会有其他路由条目,这可以是用户或网络管理员手工配置的静态路由,也可以是路由器使用路由协议自动获取到的动态路由。我们将在后续课程中详细介绍这部分内容,本节课就不再赘述了。

​​

接下来路由器根据 IP 数据报的目的地址,在自己的路由表中查找匹配的路由条目,逐条检查路由条目,将目的地址与路由条目中的地址掩码相与得到目的网络地址,该目的网络地址与路由条目中的目的网络地址不相同,则这条路有条目不匹配。

再检查下一条路由条目,将目的地址与下一条路由条目中的地址源码相遇,得到目的网络地址,该目的网络地址与路由条目中的目的网络地址相同,则这条路由条目就是匹配的路由条目,按照他的下一跳指示,也就是从接口 1 转发该 IP 数据报,这样主机 D 就可以收到路由器转发来的该 IP 数据报。

​​

需要说明的是我们这里所介绍的路由器查表转发 IP 数据报的过程,只是为了让同学们理解其最基本的工作原理,在路由器的实际研发过程中,需要设计很好的数据结构,以便提高查找速度。

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

​​

试想一下,如果因特网中数量巨大的路由器,收到广播 IP 数据报后都进行转发,则会造成巨大的广播风暴,严重浪费因特网资源。同理,主机 A 给另一个网络发送广播 IP 数据报,在数据报首部中的目的地址字段,填写的目的地址为 192.168.0.255,这是网络 192.168.0.128 的广播地址。主机 A 将该广播 IP 数据报传输给路由器,希望由路由器帮其转发,但路由器判断出这是广播 IP 数据报,不会转发。

接下来我们来做几个相关的练习题,这是计算机专业考研全国统考,计算机网络部分 2010 年的题 38,答案是选项 D。

中继器和集线器工作在物理层,既不隔离冲突域,也不隔离广播域。

网桥和交换机工作在数据链路层可以隔离冲突域,不能隔离广播域。

路由器工作在网络层即隔离冲突域,也隔离广播域。

因此本题的答案是选项 D。

​​

再来看 2012 年的题 37,答案是选项 C。

IP 路由器工作在 TCPIP 体系结构的网际层,TCPIP 体系结构的网际层,并不负责可靠传输,也就是不能确保传输的 IP 分组不丢失。

IP 路由器对收到的 IP 分组头进行差错校验,当发现错误时会丢弃该 IP 分组,并向原主机发送 ICMP 差错报告报文。

综上所述,题目中的描述三是错误的,利用排除法可知选项 C 正确,题目中的其他描述项都是正确的。

​​

再来看 2015 年的题 47 的第三问,我们将题目所给的主机一的配置信息标注在它的旁边,从子、网掩码和主机一的 IP 地址的 CIDR 表示方法都可以看出网络前缀为 24 个比特,而 3W 服务器的 IP 地址的网络前缀也是 24 个比特,并且与主机一的网络前缀相同,因此主机一可以访问 3W 服务器,因为从 IP 地址配置以及物理连接方面看,主机 1 和 WWW 服务器在统一网络中。

但是主机一不能访问 INTERNET,因为他的默认网关错误的配置成了 DHCP 服务器的 IP 地址。DHCP 服务器不具备路由器的功能,无法将 IP 分组转发到 INTERNET。如图所示主机 1 的默认网关,错误的指定为了 DHCP 服务器的 IP 地址,正确的配置应该指定为路由器该接口的 IP 地址。

​​

将本节课的内容小结如下:

​​

上次更新: 2025/6/3 09:31:54
4-3 IPv4 地址
4-5 静态路由配置及其可能产生的路由环路问题

← 4-3 IPv4 地址 4-5 静态路由配置及其可能产生的路由环路问题→

最近更新
01
学点统计学:轻松识破一本正经的胡说八道
06-05
02
2025 年 5 月记
05-31
03
《贫穷的本质》很棒,但可能不适合你
05-27
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式