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

news2024/10/6 12:38:36

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.coloradmin.cn/o/1660420.html

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

相关文章

喜报|知从科技荣获“2023年度浦东新区创新创业奖”

4月11日,由上海市浦东新区人民政府举办的“2024年浦东新区经济突出贡献企业表彰活动”在上海国际会议中心隆重举行。知从科技凭借过去一年在行业内卓越的技术创新实力及对浦东新区发展作出的杰出贡献,入选创新创业20强企业,荣获“2023年度浦东…

岩点×数说故事×小红书 | 发布《中国攀岩行业分析报告》

从下班健身到下班攀岩,从“鸡娃”到岩馆“溜娃”,被奥运“正名”的攀岩运动,在国内熬过了萌芽阶段,悄然开出了花。2023年,各类重磅攀岩赛事重启、线下岩馆疯狂扩张,小众攀岩正式进入大众视野,风…

中国211大学全部排名一览表

211大学是指中国教育部实施的名为“211工程”的高等教育发展战略中被选为重点支持的高等院校。这个名称来源于项目的启动背景和目标:“211”中的“21”代表21世纪,意味着该项目面向21世纪的中国高等教育发展;“1”则意指要重点建设大约100所左…

【Unity】Unity项目转抖音小游戏(一) 项目转换

UnityWEBGL转抖音小游戏流程 业务需求,开始接触一下抖音小游戏相关的内容,开发过程中记录一下流程。 相关参考: 抖音文档:https://developer.open-douyin.com/docs/resource/zh-CN/mini-game/develop/guide/game-engine/rd-to-SC…

IOS 苹果IAP(内购)之创建沙盒账号

IOS 苹果IAP(内购)之创建沙盒账号 沙盒账号是什么?沙盒账号创建的前提条件沙盒账号创建沙盒账号使用流程沙盒账号注意事项 沙盒账号是什么? 如果IOS应用里面用到了苹果应用内付费(IAP)功能,那么…

分享:大数据信用报告查询比较专业的网站

随着大数据技术的发展,大数据信用报告已经成为个人和企业经济生活中不可或缺的一部分。为了方便用户快速、准确地查询和了解自己的信用状况,许多专业的信用报告网站应运而生。那么,在众多的大数据信用报告查询网站中,哪个是比较专…

C++ 函数与数组

例1 求数组各项的累加和 例2 修改数组元素大于5的为0 1 用数组名作为函数参数时还应注意以下几点: 1)形参数组和实参数组的类型必须一致,否则将引起错误。 2)形参数组和实参数组的长度可以不相同,因为在调用时&#…

c语言查找字符串中指定字符串的个数

目录 一、测试思路二、方式1三、方式2 一、测试思路 使用C语言来查找一个字符串中指定数量的子字符串&#xff0c;使用 strncmp 函数或者 memcmp 函数&#xff0c;遍历主字符串并计数子字符串出现的次数。或者使用 strstr 函数&#xff0c; strstr 函数是 C 语言标准库 <str…

CTF—AWD防御起手式

前言 AWD (Attack With Defence)&#xff0c;比赛中每个队伍维护多台服务器&#xff0c;服务器中存在多个漏洞&#xff0c;利用漏洞攻击其他队伍可以进行得分&#xff0c;修复漏洞可以避免被其他队伍攻击失分。 改SSH密码 官方在给出服务器密码时&#xff0c;很有可能是默认…

苹果公司因iPad广告争议而道歉,承认“未达标”|TodayAI

周二&#xff0c;苹果公司发布了一则新的iPad Pro广告&#xff0c;引起了广泛争议&#xff0c;该公司随后发表道歉声明&#xff0c;承认这则广告“未达标”。这则名为“压碎&#xff01;”的广告意图展示全新的M4芯片iPad Pro的创意潜力&#xff0c;但却因其表现方式而备受批评…

【python基础】python经典题目100题

文章目录 前言初阶题目1.字符串2.列表3.元组4.字典5.运算6.random 模块7.open函数8.time模块时间9.其他 进阶题目 前言 本文主要是python经典题目100题&#xff0c;适合入门的新手。仅作自己学习的记录。 初阶题目 1.字符串 题目1&#xff1a;怎么找出序列中的最⼤最⼩值&am…

C++ Builder XE EnumWindowsProc遍历所有窗口的名称

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) { // 这里可以添加你的处理逻辑 // 例如&#xff0c;将句柄添加到列表中或者其他操作 // 这里我们仅仅输出到调试窗口 OutputDebugString(L"枚举窗口句柄: "); char windowHandle[10];…

智慧互联,统信UOS V20桌面专业版(1070)解锁办公新模式丨年度更新

从小屏到大屏 突破&#xff0c;就在方寸之间 从人机到智脑 融合&#xff0c;旨在新质生产力 统信UOS一直致力于将先进科技与用户场景相结合&#xff0c;不断提升用户的工作效率和生产力。在最新发布的统信UOS V20桌面专业版&#xff08;1070&#xff09;版本中&#xff0c;我们…

2024年10大AI动画工具

在当今快节奏的数字环境中&#xff0c;动画师和内容创作者不断寻求创新工具来提高他们的工作效率和创造力。随着人工智能的出现&#xff0c;动画发生了显着的转变&#xff0c;因此提供了大量的选项&#xff0c;使图像无缝地栩栩如生。 无论你是一位有抱负的动画师还是经验丰富…

海外多语言盲盒系统开发:加快盲盒企业出海

近几年&#xff0c;全球都进入到了潮玩文化发展期&#xff0c;在这种时代背景下&#xff0c;盲盒迅速发展&#xff0c;与消费者建立了深厚的情感连接&#xff0c;市场规模逐渐扩大。目前&#xff0c;我国盲盒企业纷纷布局海外市场&#xff0c;纵观海外庞大的发展空间&#xff0…

翻译《The Old New Thing》 - Restating the obvious about the WM_COMMAND message

Restating the obvious about the WM_COMMAND message - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20060302-10/?p32093 Raymond Chen 2006年03月02日 关于 WM_COMMAND 消息的显而易见的知识点补充 简要 本文详细解释了 WM_COMMAND 消息…

Maven的使用

1.第一个Maven工程 1.1 创建约定目录结构 ​ Hello ​ src ​ ——main(存放主程序) ​ ————java(存放源代码文件) ​ ————resources(存放配置文件和资源文件) ​ ——test(存放测试程序) ​ ————java ​ ————resources ​ pom.xml 1.2 创建核心文件 pom.xml …

【Linux】编写一个简易的shell

思维导图 学习目标 将简易的shell代码进行编写。 一、阐述shell的基本思路 在进程程序替换中&#xff0c;我们可以将一个指令交给子进程&#xff0c;让子进程去完成这个指令。如果这个命令是一个内建命令&#xff0c;我们需要将这个命令交给bash进行处理。 大致思路是&#xf…

如何免费获得进仓数据库专家认证(帮你省50块钱)

这篇文章分三个部分 50块钱解决&#xff08;全靠自己钱可能打水漂考试只有三次机会&#xff09;50块钱解决&#xff08;全靠自己考试只有三次机会。&#xff09;30块钱解决&#xff08;考试靠我&#xff0c;报名费帮你0元处理&#xff0c;要求只有在线大学生。能力有限只能考K…

【用文本生成歌声】Learn2Sing 2.0——歌声转换算法及梅尔频谱详解

一. 频谱图与梅尔谱图的介绍 频谱图&#xff1a;频谱图可以理解为一堆垂直堆叠在一起的快速傅里叶变换结果。 1.1 信号 在进入频谱图模块之前&#xff0c;首先我们需要了解信号是什么。 信号就是某一特定量随时间变化&#xff0c;对于音频来说&#xff0c;这个特定的变化量就…