计算机网络:网络层 —— 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语言】动态内存开辟

写在前面 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…

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;信息交换、售后服务、销售、电子支付、运输、组建虚拟企业、公司和贸易伙伴可以共同…

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

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

【C++】关联式容器

1.Set和Map 1.1 set的介绍 set是一个常用的关联式容器&#xff0c;它存储唯一的元素&#xff0c;这些元素默认情况下按照升序排序。其底层是一种自平衡的二叉搜索树(红黑树)。 set元素的键值就是实值&#xff0c;实值就是键值。set的元素允许插入删除但是不允许修改(具有const…

荣誉证书PSD素材(59套免费)

本作品提供荣誉证书PSD素材下载&#xff0c;格式为PSD&#xff1b; 请使用软件Photoshop进行编辑&#xff0c;作品中文字及图均可以通过软件修改和编辑&#xff1b; 点击下载: 荣誉证书PSD素材

第T6周:Tensorflow实现好莱坞明星识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标 具体实现 &#xff08;一&#xff09;环境 语言环境&#xff1a;Python 3.10 编 译 器: PyCharm 框 架: &#xff08;二&#xff09;具体步骤 1.查询…

Spring6框架搭建(自用)

一、什么是Spring 众所不周知&#xff0c;Spring就是爪哇人的春天&#xff0c;但是在框架程序设计之前都绕不开javaWeb 1.javaWeb框架发展史 1、ServletJSPJavaBean(跳转页面、业务逻辑判断、数据库查询) 2、MVC三层架构(M Model pojo(User)V-view(USP)C-(controller-servl…

linux-UART

参考博客 https://blog.csdn.net/m0_38106923/article/details/126024970?sharetypeblog&shareId126024970&sharereferAPP&sharesourceweixin_40933496&sharefromlink 1.串口 UART的全称是Universal Asynchronous Receiver and Transmitter&#xff0c;即异步…