计算机网络:网络层 —— IP数据报的发送和转发过程

文章目录

      • IP数据报的发送和转发过程
        • 主机发送IP数据报
        • 路由器转发IP数据报
        • 示例

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

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

  1. 主机发送IP数据报
  2. 路由器转发IP数据报

![[IP数据报的发送和转发.png]]

  • 直接交付:源主机与目的主机同一网络中
  • 间接交付:源主机与目的主机不在同一网络中,需要借助路由器转发数据报。

源主机通过比较与目的主机的网络前缀是否相同,可判断出目的主机是否与自己在同一个网络中

![[源主机与目的主机比较.png]]

主机发送IP数据报
  1. 确定目的网络

    • 主机(例如主机C)想要发送数据到另一个主机(例如主机F),首先会确定目的主机 F 的IP地址

    • 主机C 将自己的 IP 地址和子网掩码进行与运算,得到自己所在网络的网络地址

    • 接着,主机C 将目的 主机F 的 IP 地址与自己的子网掩码进行与运算,得到目的网络地址

    • 如果目的网络地址与主机C的网络地址相同,说明两者在同一网络中,可以直接通信;如果不同,则需要通过路由器进行转发

  2. 指定默认网关

    • 如果目的主机 F 与主机 C 不在同一网络中,主机 C 需要将 IP 数据报发送给路由器(默认网关,为同一网络中的各主机指定的一个路由器)进行转发。

    • 默认网关是用户或网络管理员配置的一个路由器接口,用于帮助主机 C 将 IP 数据报转发到其他网络。

路由器转发IP数据报
  1. 接收报文

    • 路由器首先接收从 主机C 发送过来的 IP 数据报。

    • 检查收到的 IP 数据报是否正确,生存时间是否结束,首部是否误码

    • 若不正确,则丢弃该 IP 数据报,并向发送该 IP 数据报的源主机发送 ICMP 差错报告

  2. 解析目标IP地址

    • 路由器检查 IP 数据报头部的目标 IP 地址,确定数据报应该被转发到哪个网络。

    • 若找到匹配的路由条目,则按该路由条目的指示进行转发,否则丢弃该 IP 数据报,并向发送该 IP 数据报的源主机发送 ICMP 差错报告

    • 路由器不转发广播IP数据报,即路由器隔离广播域。如果因特网中数量巨大的路由器收到广播 IP 数据报后都进行转发,则会造成巨大的广播风暴,严重浪费因特网资源。

![[解析目标IP地址.png]]

  1. 查找最佳匹配路径

    • 路由器在其路由表中查找与目标 IP 地址匹配的路由条目。

    • 路由表可能包含静态路由(由管理员手动配置)和动态路由(由路由器通过路由协议自动获取)。

  2. 确定下一跳路由器

    • 根据路由表的信息,路由器确定 IP 数据报应该被转发给哪个下一跳路由器。

    • 这个决定通常基于最佳匹配的原则,即选择能够最有效地将数据报送达目标网络的路由器

  3. 转发报文:一旦确定了下一跳路由器,路由器就将 IP 数据报发送到相应的接口,以便下一跳路由器可以继续处理这个数据报。

  4. 更新报文头部(可选):在转发报文之前,路由器可能会更新报文头部中的 TTL(生存时间)字段,并重新计算报文头部的校验和。

  5. 发送报文:最后,路由器将 IP 数据报发送给下一跳路由器,或者直接发送到目标网络中的主机。

示例

![[习题.png]]

根据题目要求,以下是详细解答:

(1) 设备1、设备2和设备3分别应选择什么类型网络设备?

  • 设备1:交换机(无VLAN功能)
  • 设备2:路由器
  • 设备3:交换机(无VLAN功能)

(2) 设备1、设备2 和 设备3 中,哪几个设备的接口需要配置 IP 地址?并为对应的接口配置正确的 IP 地址。

  • 设备1:不需要配置IP地址。
  • 设备2
    • IF1: 192.168.1.54/30
    • IF2: 192.168.1.65/26
  • 设备3:不需要配置IP地址。

(3) 若主机 H3 发送一个目的地址为 192.168.1.127 的 IP 数据报,网络中哪几个主机会收到该数据报?

首先,我们需要确定 192.168.1.127 是否在同一个子网内。主机 H3 的子网掩码是 /26,即前 26 位是网络部分,后 6 位是主机部分。

  • 主机 H3 的 IP 地址:192.168.1.66/26
  • 目标地址:192.168.1.127

计算目标地址的网络部分:

192.168.1.127
& 255.255.255.192
-----------------
192.168.1.120

因此,目标地址 192.168.1.127 不在同一子网内(192.168.1.64/26)。

所以,只有主机 H3 会收到该数据报,其他主机不会收到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

104. UE5 GAS RPG 实现技能火焰爆炸

这一篇文章我们再实现一个技能火焰爆炸,由于我们之前已经实现了三个玩家技能,这一个技能有一些总结的味道,对于创建技能相同的部分,长话短说,我们过一遍。 准备工作 我们需要一个技能类,继承于伤害技能基…

C#制作学生管理系统

定义学生类 定义一个简单的类来表示学生,包括学号、姓名、性别、年龄、电话、地址。再给其添加一个方法利于后续添加方法查看学生信息。 //定义学生类 public class student {public int ID { get; set; }//开放读写权限public string Name { get; set; }public i…

【C语言】动态内存开辟

写在前面 C语言中有不少开辟空间的办法,但是在堆上开辟的方法也就只有动态内存开辟,其访问特性与数组相似,但最大区别是数组是开辟在栈上,而动态内存开辟是开辟在堆上的。这篇笔记就让不才娓娓道来。 PS:本篇没有目录实在抱歉CSD…

Excel:vba实现插入图片

实现的效果: 实现的代码: Sub InsertImageNamesAndPictures()Dim PicPath As StringDim PicName As StringDim PicFullPath As StringDim RowNum As IntegerDim Pic As ObjectDim Name As String 防止表格里面有脏数据Cells.Clear 遍历工作表中的每个图…

6.FreeRTOS之任务通知

什么是任务通知? FreeRTOS 从版本 V8.2.0 开始提供任务通知这个功能,每个任务都有一个 32 位的通知值。按照 FreeRTOS 官方的说法,使用消息通知比通过二进制信号量方式解除阻塞任务快 45% , 并且更加 省内存(无需创…

前端之html(一)

HTML定义: HTML 超文本标记语言 (1)骨架: HTML:整个网页 head:网页头部 boby:网页主体 title:网页标题 (2)标签关系: 1.嵌套 2.并列 (3)注释 语法:<!-- ... --> 基础: (4) 标签:双标签:<> ... </> 单标签:<> <br> …

书生第四期实训营基础岛——L1G3000浦语提示词工程实践

基础任务 任务要求 背景问题&#xff1a;近期相关研究指出&#xff0c;在处理特定文本分析任务时&#xff0c;语言模型的表现有时会遇到挑战&#xff0c;例如在分析单词内部的具体字母数量时可能会出现错误。任务要求&#xff1a;利用对提示词的精确设计&#xff0c;引导语言…

Android启动流程_SystemServer阶段

前言 上一篇文档我们描述了在 Android 启动流程中 Zygote 部分的内容&#xff0c;从 Zygote 的配置、启动、初始化等内容展开&#xff0c;描述了 Zygote 在 Android 启动中的功能逻辑。本篇文档将会继续 Android 启动流程的描述&#xff0c;从 SystemServer 进程的内容展开&am…

FastAPI 核心概念:构建高性能的 Python Web 服务

FastAPI 核心概念&#xff1a;构建高性能的 Python Web 服务 本文详细解析了如何利用 FastAPI 构建高性能的 Python Web 服务&#xff0c;帮助开发者从零开始创建功能丰富、响应迅速的 API。结合完整的代码示例和分步操作指导&#xff0c;文章深入讲解了 FastAPI 的核心概念&a…

Redis 实战 问题

前言 相关系列 《Redis & 目录》《Redis & 实战 & 源码》《Redis & 实战 & 总结》《Redis & 实战 & 问题》 什么缓存击穿&#xff1f;怎么避免&#xff1f; 所谓缓存击穿是指请求因缓存失效而直接访问数据库的情况&#xff0c;由于热点数据访…

Flutter CustomScrollView 效果-顶栏透明与标签栏吸顶

CustomScrollView 效果 1. 关键组件 CustomScrollView, SliverOverlapAbsorber, SliverPersistentHeader 2. 关键内容 TLDR SliverOverlapAbsorber 包住 pinned为 true 的组件 可以被CustomScrollView 忽略高度。 以下的全部内容的都为了阐述上面这句话。初阶 Flutter 开发知…

Litctf-web

Litctf-web exx xxe&#xff0c; <?xml version"1.0" encoding"utf-8"?> <!DOCTYPE xxe [<!ELEMENT name ANY ><!ENTITY xxe SYSTEM "file:///flag" >]><user><username>&xxe;</username> …

线程模型介绍

线程模型的介绍 线程有三种模型&#xff1a;N:1用户线程模型&#xff0c;1:1核心线程模式&#xff0c;N:M混合线程模型 POSIX: Portable Operating System Interface(可移值操作系统接口) N&#xff1a;1用户线程模型 线程的实现建立在进程控制的机制之上&#xff0c;有用户…

2024 Rust现代实用教程:1.3获取rust的库国内源以及windows下的操作

文章目录 一、使用Cargo第三方库1.直接修改Cargo.toml2.使用cargo-edit插件3.设置国内源4.与windows下面的rust不同点 参考 一、使用Cargo第三方库 1.直接修改Cargo.toml rust语言的库&#xff1a;crate 黏贴至Cargo.toml 保存完毕之后&#xff0c;自动下载依赖 拷贝crat…

ML 系列:第 18 部 - 高级概率论:条件概率、随机变量和概率分布

文章目录 一、说明二、关于条件概率2.1 为什么我们说条件概率&#xff1f;2.2 为什么条件概率在统计学中很重要 三、 随机变量的定义3.1 定义3.2 条件概率中的随机变量 四、概率分布的定义五、结论 一、说明 条件概率是极其重要的概率概念&#xff0c;它是因果关系的数学表述&…

基于springboot的社区团购系统设计与实现

一、项目背景 网络交易&#xff08;Electronic Commerce&#xff09;&#xff1a;是指实现整个贸易过程中各阶段的贸易活动的电子化。网络交易是一种多技术的集合体。其业务可包括&#xff1a;信息交换、售后服务、销售、电子支付、运输、组建虚拟企业、公司和贸易伙伴可以共同…

挑战Java面试题复习第4天,坚持就是胜利

挑战第 4 天 Excption与Error包结构OOM 知识点SOF 知识点线程程序进程知识点有些字段不想序列化&#xff0c;怎么办&#xff1f;说说 IO 流Java IO与 NIO的区别 Excption与Error包结构 运行时异常&#xff08;RuntimeException&#xff09;&#xff1a; 包括RuntimeException…

一文读懂系列:SSL加密流量检测技术详解

SSL加密流量检测功能的主要目的是为了对加密流量做解密处理&#xff0c;并对解密后的流量做内容安全检查&#xff08;比如反病毒、入侵防御、URL远程查询、内容过滤、文件过滤和邮件过滤等&#xff09;和审计&#xff08;防止信息泄露&#xff09;。接下来我们详细介绍SSL加密流…

dependencyManagement保持maven的多模块依赖版本一致

在maven的多模块中, 为保持jar包在每个子模块中版本一致, 一般会有两种选择&#xff1a; 在父pom的dependencies标签中声明一个jar&#xff0c;每个子模块都会默认继承该jar 如果只有部分子模块用到了一个jar, 则会选择将该jar坐标信息声明在父pom的dependencyManagement标签中…