IP报文在设备间传递的封装过程

IP报文传递过程

  • 1、PC1访问PC2报文传递过程
    • 1.1、PC1准备数据请求报文封装
    • 1.2、PC1准备ARP请求报文
    • 1.3、PC2准备ARP响应报文
    • 1.4、PC1完成数据请求报文封装
  • 2、PC1访问PC3报文传递过程
    • 2.1、PC1准备数据请求报文封装
    • 2.2、PC1准备获取网关MAC地址的ARP请求报文
    • 2.3、网关准备ARP响应报文
    • 2.4、PC1组装并发送到网关下一跳的报文
    • 2.5、网关组装发送到目标IP的报文
    • 2.6、网关准备获取PC3的MAC地址的ARP请求报文
    • 2.7、网关组装到PC3的数据请求报文
  • 3、小小小结语
  • 4、报文的解封装简述

IP报文在网络设备间的传递过程主要涉及到4个概念:源IP目的IP源MAC目的MAC

1、PC1访问PC2报文传递过程

1.1、PC1准备数据请求报文封装

由PC1向PC2发送数据报,可知此时的PC1已知以下参数:

数据请求报文源IP:192.168.1.1       目的IP:192.168.1.2
源MAC:0A:D0:CB:22:02:01 目的MAC:UNKOWN       
PC1此时需要得到一个目的MAC地址,才可以组装出到PC2的报文。

1.2、PC1准备ARP请求报文

报文的传递可分为二层传输和三层传输,PC1通过分析自己的CIDR,得出PC2与自己存在同一网段下,而同一网段可以直接通过二层传输,即目的MAC地址直接指向PC2。
为了获取PC2的MAC地址,PC1组装ARP请求报文发起ARP广播

ARP请求报文发送者IP:192.168.1.1       目标IP:192.168.1.2         
发送者MAC:0A:D0:CB:22:02:01目标MAC:FF:FF:FF:FF:FF:FF
PC1的ARP广播包通过通过交换机LSW1时,交换机会向所有UP状态的端口泛洪,PC2会收到这个广播包。

1.3、PC2准备ARP响应报文

PC2通过判断ARP广播包的目标IP地址是自己的IP地址,会通过单播的形式返回ARP响应包给PC1:

ARP响应报文发送者IP:192.168.1.2目标IP:192.168.1.1
发送者MAC:0A:D0:CB:22:02:02目标MAC:0A:D0:CB:22:02:01

PC2的ARP响应包经过交换机LSW1时,LSW1通过MAC地址表将此响应包发送给PC1,PC1此时得知PC2的MAC地址是54-89-98-A3-13-98。

1.4、PC1完成数据请求报文封装

此时PC1就可以组装并发送报文

数据请求报文源IP:192.168.1.1目的IP:192.168.1.2
源MAC:0A:D0:CB:22:02:01目的MAC:0A:D0:CB:22:02:02

报文经过LSW1时,LSW1通过MAC地址表,将报文转发至PC2,PC1向PC2的一次单向通信结束。

2、PC1访问PC3报文传递过程

2.1、PC1准备数据请求报文封装

由PC1发起到PC3的连接,可以判断,此时的PC1已知以下参数:

数据请求报文源IP:192.168.1.1目的IP:10.15.10.3
源MAC:0A:D0:CB:22:02:01目的MAC:UNKOWN
PC1此时需要得到一个目的MAC地址,满足四元组,才可以组装出报文。

报文的传递可分为二层传输和三层传输,PC1通过分析自己的CIDR,得出PC3与自己不在同一网段下,而不同网段需要通过三层网关传输。

PC1已知网关IP地址为192.168.1.254,PC1与网关之间是通过二层通信即MAC地址通信,因此PC1需要得知网关的MAC地址,才可以将报文顺利发送给网关。

2.2、PC1准备获取网关MAC地址的ARP请求报文

为了获取网关的MAC地址,PC1需要发起ARP广播:

ARP请求报文发送者IP:192.168.1.1目标IP:192.168.1.254
发送者MAC:0A:D0:CB:22:02:01目标MAC:FF:FF:FF:FF:FF:FF

2.3、网关准备ARP响应报文

同样网关收到PC1的ARP广播后,会单播回复ARP响应包给PC1:

ARP回复报文发送者IP:192.168.1.254目标IP:192.168.1.1
发送者MAC:0A:D0:CB:22:02:54目标MAC:0A:D0:CB:22:02:01

2.4、PC1组装并发送到网关下一跳的报文

此时PC1就可以组装并发送数据报文:

数据请求报文源IP:192.168.1.1目的IP:10.15.10.3
源MAC:0A:D0:CB:22:02:01 目的MAC:0A:D0:CB:22:02:54
注意:此时报文的目的MAC地址指向的是网关的MAC地址。

报文经过LSW1时,LSW1通过MAC地址表,将报文转发至网关,网关此时会关注报文中的目的IP这个参数。

2.5、网关组装发送到目标IP的报文

网关通过分析自己的CIDR,得出PC3与自己在同一个网段,即直连路由,可以通过二层直接转发至PC3。
此时网关需要将PC1的报文中源MAC地址及目的MAC地址修改,即:

数据请求报文源IP:192.168.1.1 目的IP:10.15.10.3
源MAC:0A:D0:CB:11:02:54 目的MAC:UNKOWN

2.6、网关准备获取PC3的MAC地址的ARP请求报文

源MAC 0A:D0:CB:11:02:54,为网关直连PC3接口的MAC地址,报文通过这个接口发出。由于PC3的MAC地址未知,网关会通过ARP广播查找PC3的MAC地址:

ARP请求报文发送者IP:10.15.10.254目标IP:10.15.10.3
发送者MAC:0A:D0:CB:11:02:54目标MAC:FF:FF:FF:FF:FF:FF

同样PC3单播回复ARP响应给网关:

ARP响应报文发送者IP:10.15.10.3目标IP:10.15.10.254
发送者MAC:0A:D0:CB:11:02:03目标MAC:0A:D0:CB:11:02:54

2.7、网关组装到PC3的数据请求报文

此时网关就可以组装并发送报文:

数据请求报文源IP:192.168.1.1目的IP:10.15.10.3
源MAC:0A:D0:CB:11:02:54目的MAC:0A:D0:CB:11:02:03

报文经过交换机LSW2,LSW2根据MAC地址表,将报文转发给PC3,PC1向PC3的一次单向通信结束。

3、小小小结语

数据报文在三层传输过程中,报文的MAC地址是不断变化的,报文的IP地址通常不变(除非经过NAT)。

4、报文的解封装简述

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

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

相关文章

Github2024-05-10开日报 Top10

根据Github Trendings的统计,今日(2024-05-10统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4TypeScript项目4JavaScript项目1Lua项目1C项目1Rust项目1Dart项目1 RustDesk: 用Rust编写的开源远…

【Linux】进程间通信之共享内存

🤖个人主页:晚风相伴-CSDN博客 💖如果觉得内容对你有帮助的话,还请给博主一键三连(点赞💜、收藏🧡、关注💚)吧 🙏如果内容有误的话,还望指出&…

【Linux系统编程】第十六弹---冯诺依曼体系结构与操作系统

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、冯诺依曼体系结构 2、操作系统原理 2.1、什么是操作系统? 2.2、用图解释操作系统 2.3、理解操作系统 总结 …

QT的TcpServer

Server服务器端 QT版本5.6.1 界面设计 工程文件&#xff1a; 添加 network 模块 头文件引入TcpServer类和TcpSocket&#xff1a;QTcpServer和QTcpSocket #include <QTcpServer> #include <QTcpSocket>创建server对象并实例化&#xff1a; /*h文件中*/QTcpServer…

NAND Flash 与 NOR Flash间的区别

非易失性存储器是一种即使未通电也能保持其内容的存储器。非易失性存储器可以有不同的形式: ROM – 只读存储器&#xff0c;数据写入一次&#xff0c;允许多次读取访问。 PROM – 可编程只读存储器&#xff0c;数据写入一次&#xff08;不是在制造过程中&#xff0c;而是以后的…

【论文速读】| LLM4FUZZ:利用大语言模型指导智能合约的模糊测试

本次分享论文&#xff1a;LLM4FUZZ: Guided Fuzzing of Smart Contracts with Large Language Models 基本信息 原文作者&#xff1a;Chaofan Shou, Jing Liu, Doudou Lu, Koushik Sen 作者单位&#xff1a;加州大学伯克利分校&#xff0c;加州大学欧文分校&#xff0c;Fuzz…

15 华三华为链路聚合综述

1 链路聚合简介 以太网链路聚合通过将多条以太网物理链路捆绑在一起形成一条以太网逻辑链路&#xff0c;实现增加链路带宽的目的&#xff0c;同时这些捆绑在一起的链路通过相互动态备份&#xff0c;可以有效地提高链路的可靠性。 2 成员端口的状态 聚合组内的成员端口具有以下…

2024年,Web开发新趋势!

随着我们迈入新的一年&#xff0c;现在正是审视2024年网页开发领域开始流行哪些趋势的绝佳时机。回顾2023年的一系列更新&#xff0c;以下是来年一些热门话题的概览。 自主托管有回归的趋势 近些年&#xff0c;自主托管一直是网页开发者和公司托管其应用程序的默认方式。开发…

蓝桥杯13届JAVA A组 国赛

​​​​​​​ package 蓝桥杯国赛; // 贪心选个数最少的进行摆 // 2:1 ,3:1, 4:1,5 : 3,6:3,7:1 // 选 1&#xff0c;7&#xff0c;4&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;9 // 然后都选满10个 public class 火彩棒数字 {public static void main(String[] a…

游戏行业被攻击的原因、攻击种类及合适的服务器

很多游戏刚上线没多久就频繁遭到同行恶意攻击。在相关数据报告中&#xff0c;2023年上半年遭受DDoS攻击的行业中&#xff0c;游戏行业占到40%&#xff0c;而且攻击方式、攻击频率、攻击峰值呈明显上升趋势。很多充满创意的游戏开发公司刚才开发上线一个很有特色的产品&#xff…

安卓实现视频录制与显示和翻转摄像头

权限&#xff1a; <!-- 相机权限 --> <uses-featureandroid:name"android.hardware.camera"android:required"false" /> <uses-permission android:name"android.permission.CAMERA" /><!-- 录音权限&#xff08;包括麦克…

Centos 7.9 配置VNCServer实现远程vnc连接

文章目录 1、Centos安装图形界面1.1、安装X Windows System图形界面1.2、安装GNOME图形界面 2、VNC SERVER配置2.1、VNC SERVER安装2.2、VNC SERVER配置1&#xff09;创建vnc配置文件2&#xff09;修改配置文件内容3&#xff09;完整配置文件参考 2.3、设置vnc密码2.4、配置防火…

网络编程套接字和传输层tcp,udp协议

认识端口号 我们知道在网络数据传输的时候&#xff0c;在IP数据包头部有两个IP地址&#xff0c;分别叫做源IP地址和目的IP地址。IP地址是帮助我们在网络中确定最终发送的主机&#xff0c;但是实际上数据应该发送到主机上指定的进程上的&#xff0c;所以我们不仅要确定主机&…

虚拟化技术 分离虚拟机数据流量与ESXi的流量管理

一、实验内容 为ESXi主机添加网卡通过vClient查看已添加的网卡信息为ESXi添加网络&#xff0c;创建标准交换机修改网络配置&#xff0c;实现虚拟机数据流量与ESXi的管理流量分离 二、实验主要仪器设备及材料 安装有64位Windows操作系统的台式电脑或笔记本电脑&#xff0c;建…

泰达克仿钻点水晶饰品包装印刷防滑UV胶特性及应用场景

仿钻点UV滴胶是一种特殊的胶水 常用于模拟钻石的效果 它是一种透明的胶水 具有高光泽度和折射率 可以在物体表面形成类似钻石的亮闪效果 仿钻点UV滴胶通常由紫外线固化胶组成 需要通过紫外线照射来固化和硬化 它具有以下特点&#xff1a; 1. 透明度&#xff1a;仿钻点UV滴胶具有…

使用 OpenCV 创建视频(74)

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇:OpenCV 库来捕获和处理视频输入和相似度测量(73) 下一篇&#xff1a;OpenCV使用 Kinect 和其他兼容 OpenNI 的深度传感器(75) 目标 每当您使用视频源时&#xff0c;您最终可能希望将图像处理结果保…

Zabbix6.0容器化部署(Docker-Composed)

Zabbix 为每个 Zabbix 组件提供 Docker image 作为可移植和自给自足的容器&#xff0c;以加快部署和更新过程。 Zabbix 组件在 Ubuntu、Alpine Linux 和 CentOS 基础 image 上提供:Zabbix 组件支持 MySQL 和 PostgreSQL 数据库、Apache2 和 Nginx Web 服务器。 1. Zabbix 组件…

ASP.NET网上车辆档案管理系统

摘 要 本文采用基于Web的Asp.net技术&#xff0c;并与sql server 2000数据库相结合&#xff0c;研发了一套车辆档案管理系统。该系统扩展性好&#xff0c;易于维护。简化了车辆档案设计流程&#xff0c;去除了冗余信息。汽车销售企业可以通过本系统完成整个销售及售后所有档案…

C语言指针的初级练习

前言 从0开始记录我的学习历程&#xff0c;我会尽我所能&#xff0c;写出最最大白话的文章&#xff0c;希望能够帮到你&#xff0c;谢谢。 提示&#xff1a;文章作者为初学者&#xff0c;有问题请评论指正&#xff0c;感谢。 哥们嗷 不知道你和我是否一样在学习C语言指针的时…

【ZZULI数据结构实验】压缩与解码的钥匙:赫夫曼编码应用

&#x1f4c3;博客主页&#xff1a; 小镇敲码人 &#x1f49a;代码仓库&#xff0c;欢迎访问 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f30f; 任尔江湖满血骨&#xff0c;我自踏雪寻梅香。 万千浮云遮碧…