计网----数据包在传输中的变化过程,单播组播和广播,ARP协议,ARP代理,免费ARP,DNS协议,路由数据转发过程

计网----数据包在传输中的变化过程,单播组播和广播,ARP协议,ARP代理,免费ARP,DNS协议,路由数据转发过程

一.数据包在传输中的变化过程(在同一个路由器下)

1.传输数据时,数据在各层中的存在形式(这里用UDP协议进行传输)

1.应用层是原数据

原数据就是用户数据

注意:这里的应用层包括应用层,表示层和会话层

2.传输层是UDP报文段(用的什么协议就是什么报文段)

UDP报文段包括UDP头和用户数据(用的什么协议就是什么头)

UDP头包括目的端口号和源端口号

3.网络层时IP数据报

IP数据报包括IP头和UDP头和用户数据

IP头包括目的IP和源IP

4.物理层是帧

帧包括帧头,IP头,UDP头,用户数据,帧尾和CRC校验

帧头包括目的MAC和源MAC

注意:这里的物理层包括数据链路层和物理层

2.数据包在传输中的变化过程(这里用UDP协议进行传输)

1.自己设备的应用层到自己设备的传输层

应用层(包括应用层、表示层、会话层)的原数据(用户数据)传输到传输层时,会在用户数据前面加上UDP头

2.自己设备的传输层到自己设备的网络层

应用层的UDP报文段传输到网络层时,会在UDP头前面加上IP头

3.自己设备的网络层到自己设备的物理层

网络层的IP报文段传输到物理层(包括数据链路层和物理层)时,会在IP头的前面加上帧头,用户数据的后面加上帧尾和CRC

4.自己设备的物理层到目标设备的物理层

自己设备的物理层中的帧通过光信号或者电信号经过层层传输到目标设备的物理层

5.目标设备的物理层到目标设备的网络层

目标设备在物理层会先解析出目的MAC是不是自己的MAC,如果是的话,那么去掉帧头帧尾和CRC,然后传输到目标设备的网络层

6.目标设备的网络层到目标设备的传输层

目标设备在网络层会先解析出目的IP是不是自己的IP,如果是的话,那么去掉IP头,然后传输到目标设备的传输层

7.目标设备的传输层到目标设备的应用层

目标设备在传输层解析出目的端口号,然后根据操作系统,找到端口号对应的应用,去掉UDP头最后传输到目标设备应用层的对应应用中去

3.看下面图进行加深理解

在这里插入图片描述

二.单播组播和广播

1.单播组播和广播的概念

1.单播(unicast)

一个设备给另外一个设备进行数据传输

注意:单播能跨路由器

2.组播(multicast)

一个设备通过一个或多个路由器的传输到达目标设备

注意:组播关注的是具体的目标设备,谁是目标设备就传给谁

3.广播(broadcast)

一个设备在其所在路由器范围内给所有设备进行数据传输

广播域:一个路由器能连的到的所有的设备就是该路由器的广播域

注意:1.广播只关注谁接入了广播范围,那就会传给谁

​ 2.广播不能跨路由器

三.ARP协议(地址解析协议)

1.ARP协议工作在哪一层

ARP协议工作在网络层

2.ARP协议的作用

ARP协议是根据IP地址获取物理地址的一个TCP/IP协议(注意这里的TCP/IP协议是一个地址族,这个家族里除了TCP/IP协议外还有很多其他的协议)

3.什么时候使用ARP协议

在发送数据之前使用ARP协议去获取对端设备的MAC地址

4.ARP报文格式

ARP的报文格式包括ARP报头,源MAC,源IP,目的MAC和目的IP

ARP报头包括硬件类型(2字节),上层协议类型(2字节),MAC地址长度(1字节),上层协议类型长度(1字节)和操作类型(2字节)

操作类型包括

1.ARP请求

2.ARP相应

5.对ARP协议是如何工作的进行理解

在这里插入图片描述

PC1要向PC2传输一个数据,此时PC1有PC2的IP地址但是没有PC2的MAC地址所以找不到PC2,这时PC1通过广播的方式发送一个ARP Request(广播可以发送到其所在路由器范围内的所有设备)(此时的ARP Request的源MAC是PC1的MAC,源IP是PC1的IP,目的MAC不知道,目的IP是PC2的IP),每个设备接收到PC1发送的信息后,看自己是不是是不是目的IP,如果是的话会通过单播返回一个ARP Reply(此时的ARP Request的源MAC是PC2的MAC,源IP是PC2的IP,目的MAC是PC1的MAC,目的IP是PC1的IP),然后PC1就知道了PC2的MAC地址了

四.ARP代理

1.什么是ARP代理

当发送端广播ARP请求时,本地网络上不会有主机回应(因为IP地址是外网的),此时路由器将会回应该请求,当发送源误认为路由器就是目的主机,会将报文全部转发给它,再由路由器转发报文到外网,则该路由器就被称为ARP代理

五.免费ARP

1.什么是免费ARP

在主机开机配置时,会发送一个目的IP地址为自己IP地址的ARP请求报文,该报文称为免费ARP

2.免费ARP的作用

1.让主机确认本地网络上是否有与自己IP地址相同的主机,若有,则会返回一个错误报文

2.告诉整个广播域,目前某个IP所对应的MAC地址是什么----这一行为就像是在发宣传单,而宣传单是不需要回应的。若接收主机ARP缓存中本身就有发送源主机的IP----MAC对,则会更新,否则,会缓存发送源的IP----MAC对。

注意:这里涉及到了缓存的老化机制,

六.DNS协议(域名解析协议)

1.DNS协议工作在哪一层

DNS协议工作在应用

2.DNS协议的作用

DNS服务器将好记的域名解析成IP地址

3.DNS域名解析的基本过程(看下图进行理解)

在这里插入图片描述

注意:本地DNS服务器的缓存也有老化机制

七.路由数据转发过程(不在同一个路由器下)

1.通过下图进行理解

在这里插入图片描述

2.分析过程

这里最开始的源IP是10.0.0.1

源MAC是10.0.0.1的MAC

它的目的IP是60.0.0.6

目的MAC(也叫下一跳MAC)是Rouer1的MAC(通过路由表找到的)

到Rouer1之后继续传输

这时的源IP是20.0.0.2

源MAC是20.0.0.2的MAC

它的目的IP是60.0.0.6

目的MAC(也叫下一跳MAC)是Rouer2一号端口的MAC(通过路由表找到的)

3.注意事项

路由表是通过一步一步的学习变成图中的样子的

有传输层的一般都会有操作系统因为传输层中的数据是有对应协议的头的(头中存的是端口号)

有操作系统的话就有完整的7层的结构,没有操作系统就只有后两层或者后三层的结构

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

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

相关文章

Spring IOC之@ComponentScan

博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

Redis基本命令和常用数据类型

文章目录 前言一、Redis简介二、基本操作1.赋值2.取值3.切换数据库4.查看数据库所有键(key)5.查看键值类型6.移动键值到其他数据库7.设置键值生存时间(两种)8.查看键值生存时间9.查看当前数据库大小10.判断键是否存在11.清空当前数…

洛谷 P1216 [USACO1.5] [IOI1994]数字三角形题解

观察题目我们发现从前往后推会有条件判断&#xff0c;不容易写出来。所以就从后往前推。 也就是说后面的状态已经是推出来了&#xff0c;保证是最大值。 //数字三角形 #include<iostream> using namespace std; const int N 510; int f[N][N], n;int main() {ios::sync…

转行做程序员,多晚都不晚

大家好啊&#xff0c;我是董董灿。 最近有不少小伙伴加我微信咨询一些问题&#xff0c;有同学想了解AI行业的现状&#xff0c;想着转行的&#xff0c;也有在校生想了解毕业后工作方向的&#xff0c;当然也有想学习编程知识的。 诚惶诚恐&#xff0c;没想到之前写的文章&#…

Go开始:Go基本元素介绍

标识符与关键字 在任何编程语言中&#xff0c;标识符和关键字都是核心概念&#xff0c;Go也不例外。标识符用于命名各种类型的代码元素&#xff0c;如变量、常量、函数等。关键字是预留的词汇&#xff0c;用于指示编程语言的特定操作。在本部分中&#xff0c;我们将详细介绍Go语…

如何使用BERT生成单词嵌入?

阿比贾特萨拉里 一、说明 BERT&#xff0c;或来自变形金刚&#xff08;Transformer&#xff09;的双向编码器表示&#xff0c;是由谷歌开发的强大语言模型。它已广泛用于自然语言处理任务&#xff0c;例如情感分析、文本分类和命名实体识别。BERT的主要特征之一是它能够生成单词…

Servlet的生命周期

2023.10.18 WEB容器创建的Servlet对象&#xff0c;这些Servlet对象都会被放到一个集合当中&#xff08;HashMap&#xff09;&#xff0c;这个集合当中存储了Servlet对象和请求路径之间的关系 。只有放到这个HashMap集合中的Servlet才能够被WEB容器管理&#xff0c;自己new的Ser…

【经历】跨境电商公司目前已在职近2年->丰富且珍贵

我入职了跨境电商公司 *背景 上篇说我在2021-11月离职了&#xff0c;交接期间已经拿到了新公司的offer&#xff0c;然后因上家公司项目交接时间比较长(原因在上篇)&#xff0c;导致新公司这边延迟了两次入职的时间&#xff0c;最后结果是直接无缝衔接了新公司&#xff08;周五…

HTML5有哪些新特性?移除了哪些元素?

HTML5引入了许多新特性&#xff0c;以下是其中一些主要的新特性&#xff1a; 1&#xff1a;语义化元素&#xff1a;HTML5引入了一些新的语义化元素&#xff0c;如 <header>、<footer>、<nav>、<article>、<section>等&#xff0c;使得页面结构…

Python学习第3天-第一个Python程序

文章目录 前言一、创建项目二、创建程序总结 前言 下面给大家展示下经典的Hello World! 一、创建项目 二、创建程序 print("Hello World!")总结 回到顶部 学习网站 欢迎来到Python的世界&#xff01;

从头开始机器学习:逻辑回归

一、说明 本篇实现线性回归的先决知识是&#xff1a;基本线性代数&#xff0c;微积分&#xff08;偏导数&#xff09;、梯度和、Python &#xff08;NumPy&#xff09;&#xff1b;从线性方程入手&#xff0c;逐渐理解线性回归预测问题。 二、逻辑回归简介 我们将以我们在线性回…

C嘎嘎之类和对象上

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;掌握类的引用和定义&#xff0c;熟悉类成员函数的…

arrow(c++)改写empyrical系列1---用arrow读取基金净值数据并计算夏普率

用arrow c版本读取了csv中的基金净值数据&#xff0c;然后计算了夏普率&#xff0c;比较尴尬的是&#xff0c;arrow c版本计算耗费的时间却比python的empyrical版本耗费时间多。。。 arrow新手上路&#xff0c;第一次自己去实现功能&#xff0c;实现的大概率并不是最高效的方…

【(数据结构)— 双向链表的实现】

&#xff08;数据结构&#xff09;— 双向链表的实现 一.双向链表的结构二. 双向链表的实现2.1 头文件 ——双向链表的创建及功能函数的定义2.2 源文件 ——双向链表的功能函数的实现2.3 源文件 ——双向链表功能的测试2.4 双向链表各项功能测试运行展示2.4.1 双向链表的初始化…

git切换远程仓库源步骤

git切换远程仓库源步骤&#xff1a; 第一步&#xff1a;git remote -v 查看当前远程仓库源&#xff1a; 第二步&#xff1a;git remote rm origin删除远程仓库源&#xff1b; 第三步&#xff1a;git remote add origin http://newURL.git 添加新的远程仓库源地址&#xff1b…

云安全—分布式基础

0x00 前言 云必然是依赖于分布式技术来进行实现的&#xff0c;所以有必要学习和来了解分布式相关的内容 0x01 分布式计算 1.基本概述 分布式计算的定义&#xff1a;通过网络互联的计算机都具有一定的计算能力&#xff0c;他们之间互相传递数据&#xff0c;实现信息共享&…

用3D扫描生成合成数据

合成数据集&#xff08;Synthetic Datasets&#xff09;正在成为计算机视觉模型训练的标准部分。 虽然新工具使合成数据集变得更容易访问&#xff0c;但除了标准机器学习过程之外&#xff0c;许多工具还需要对 3D 建模有基本的了解。 最简单的捷径是从现实世界中获取现有对象并…

Vue中的v-if和v-show指令有什么区别?

在Vue中,v-if和v-show是两个常用的指令,用于根据条件控制元素的显示和隐藏。虽然它们都可以根据条件来切换元素的可见性,但它们的实现和行为有一些区别。 1:编译时机: v-if是在编译阶段进行条件判断,如果条件为false,则在DOM中不会渲染该元素及其子元素;v-show则是在运…

基于材料生成优化的BP神经网络(分类应用) - 附代码

基于材料生成优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于材料生成优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.材料生成优化BP神经网络3.1 BP神经网络参数设置3.2 材料生成算法应用 4.测试结果…

28 mysql 数据记录的 存储更新删除

前言 前面 我们探讨了 索引记录的 新增, 更新, 删除 这里 我们来看一下 mysql 的核心数据记录的 新增更新删除 这里 来看一下 增删改 的相关实现 数据记录 和 索引记录 的处理方式是一致的 mysql 数据记录的存储 新增部分参见 自增长主键的实现 以及 记录的插入 mysql…