【网络】TCP/IP 五层网络模型:数据链路层

文章目录

  • 认识以太网
  • mac 地址
    • mac 地址和 IP 地址的区别
  • 类型
    • ARP 协议
  • MTU

日常开发主要是应用层,传输层和应用层密切交互,传输层用到的也不少。网络层以及再往下,日常开发就涉及到的非常少了

认识以太网

插网线的上网方式

80211 是无线 WiFi 上网方式

image.png

mac 地址

  • 一般一个网卡,在出场的时候,mac 地址就被分配好了,就写死了(不能改了)

  • mac 地址也可以作为设备的身份标识

比如,你花钱买外挂,一般的外挂都是“绑定机器”的(防止你进行二次售卖),这就可以通过记录设备的 mac 地址来实现

  • 当你买了这个挂之后,人家就会在服务器上记录你这个设备的 mac 地址
  • 如果你之后给别人登录这个程序,被发现 mac 地址不一样,就没法使用

mac 地址和 IP 地址的区别

mac 地址使用 6 个字节,IP 地址 4 个字节

  • 空间范围比 IP 地址大了 6w 多倍
  • mac 地址当前仍然可以给每个设备都分配一个唯一的 mac 地址

  1. mac 地址使用在数据链路层,用来实现两个设备之间的数据转发——微观;
    IP 地址使用在网络层,立足于整个转发流程,进行路经规划——宏观

理论上来说,搞一套地址也能完成宏观和微观地址上的所有工作,IP 地址和 mac 地址留一组就可以了,但实际上两个都留下来了,分配了不同的任务(不是技术问题,而是历史遗留问题)。

IP 地址和 mac 地址是两伙人,在同一个时间段各自独立提出的。两伙人都觉得自己的东西好,于是大家就综合一下,你这个地址负责这块;你那块地址负责那块就可以了

举个栗子:西安到吉林省白城市安广镇
第一步:路径规划(网络层)
西安—>北京—>长春—>白城—>安广
西安—>北京—>沈阳—>白城—>安广
西安—>长春—>白城—>安广

第二步:实施(选择第一条线路)

  1. 坐飞机
    IP:西安;目的 IP:安广;
    mac:西安;目的 mac:北京
  2. 坐高铁
    IP:西安;目的 IP:安广
    mac:北京;目的 mac:长春
  3. 坐大巴
    IP:西安;目的 IP:安广
    源 mac:长春;目的 mac:白城
  4. 坐出租车
    IP:西安;目的 IP:安广
    mac:白城;目的 mac:安广
    .
    上述场景不考虑 NAT,源 IP 和目的 IP 始终都是固定的。以太网数据帧里面的 mac 地址,会随着转发的过程,时刻发生改变(每经过一个交换机/路由器就会产生上述变化),牢牢抓住了下一个数据要往哪传输这样的要点

类型

描述了载荷中是什么样的数据
image.png|515

  • 0800(十六进制),IP 数据报
  • 0806ARP 报文
  • 0835RARP 报文

后俩不传输业务数据,而是给转发功能提供辅助的措施

ARP 协议

ARP 数据报/协议,可以视为是让当前设备能获取到周围设备的 IP 地址和 mac 地址之间的映射关系

在 IP 协议的路由转发过程中,都是拿着 IP 地址来进行查路由表的操作的,得到的是“网络接口”(抽象的概念)。更具体的的话,就需要知道传输给目标对象的 mac 地址,这个环节中就涉及到 IP 地址到 mac 地址的转换。ARP 就是用来建立上述的映射关系的

当前设备接入网络的时候,就会往广播地址发送 ARP 报文。收到 ARP 请求的设备就会返回 ARP 响应,响应中就会告知自己的 IP 和 mac

MTU

数据链路层数据帧的最大载荷长度为 1500 字节,相当于 1.5kb,把这个数字称为 MTU

MTU 是和硬件直接相关的,硬件不同,所对应的 MTU 也可能是不一样的

  • 不同的硬件设备硬件设备,就对应到了不同的数据链路层协议,就对应到了不同的 MTU

以太网,其实是很短的,只有 1.5kbIP/UDP 至少还是 64kb

  • 此处 MTU 的限制,就会对上层协议产生直接影响
  • IP 协议能拆包组包,实际上更多的是应对 MTU 的限制(到 1500 的时候就被砍了,远远不到 64kb 的时候)
  • 当一个 IP 数据报,达到 1500 以上的时候,就会自动拆包了

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

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

相关文章

指纹与指甲检测系统源码分享

指纹与指甲检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

[网络]TCP/IP协议 之 网络层IP协议(3)

文章目录 一. IP协议报头二. NAT机制三. IP地址管理的基本规则1. 网段划分2. 特殊的IP地址 四. IP路由选择 网络层主要做的事情: 1.路径规划(路由器选择) 2.地址管理 一. IP协议报头 1)4位版本 指定IP协议的版本, 4 > ipv4 , 6 > ipv6 2)4位首部长度 4位bit能表示0-15, …

Linux bash脚本本地开发环境(Git Bash)配置

参考资料 VSCode: Windows 下配置 VSCode运行shellVSCodeを使用したシェルスクリプトの開発環境作成 目录 一. 必备VSCode插件二. 插件配置说明2.1 Bash IDE2.2 Code Runner2.3 shell-format 一. 必备VSCode插件 Bash IDE 该插件为 Bash 脚本提供了一些实用的开发工具和功能&…

如何设置xshell关闭最后一个选项卡标签时不退出软件?

不知道你是否遇到这个问题,就是在使用xshell的时候,每次关闭最后一个选项卡标签的时候,xshell软件默认就退出了,好多次我都只是想要关闭,而非退出,所以该如何设置,才能到我们的预期的效果呢&…

人工智能GPT____豆包使用的一些初步探索步骤 体验不一样的工作

豆包工具是我使用比较频繁的一款软件,其集合了很多功能。对话 图像 AI搜索 伴读等等使用都非常不错。电脑端安装集合了很多功能。 官网直达:豆包 使用我的文案创作能力,您可以注意以下几个技巧: 明确需求: 尽可能具…

云计算和虚拟化技术 背诵

https://zhuanlan.zhihu.com/p/612215164 https://zhuanlan.zhihu.com/p/612215164 云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术 ,将这些资源池化,组成资源共享池,共享池即是“云”。 云计算…

supermap iclient3d for cesium中entity使用

目标将西南石油大学部分区域围起来,然后引个标签显示名称,最后弄个飞机绕学校飞(这个时间有点晚了,明天弄) 围墙: wall:{positions:Cesium.Cartesian3.fromDegreesArrayHeights([104.173,30.822,500,104.178,30.837,500,104.19,3…

Qt-QPushButton按钮类控件(22)

目录 描述 使用 给按钮添加图片 给按钮添加快捷键 添加槽函数 添加快捷键 添加组合键 开启鼠标的连发功能 描述 经过上面的一些介绍,我们也尝试的使用过了这个控件,接下来我们就要详细介绍这些比较重要的控件了 使用 给按钮添加图片 我们创建…

局域网windows下使用Git

windows下如何使用局域网进行git部署 准备工作第一步 ,ip设置设置远程电脑的ip设置,如果不会设置请点击[这里](https://blog.csdn.net/Black_Friend/article/details/142170705?spm1001.2014.3001.5501)设置本地电脑的ip:验证 第二步&#x…

下载chromedriver驱动

首先进入关于ChromeDriver最新下载地址:Chrome for Testing availability 进入之后找到与自己所匹配的,在浏览器中查看版本号,下载版本号需要一致。 下载即可,解压,找到 直接放在pycharm下即可 因为在环境变量中早已配…

两个人群填充参考(CHN100K和NARD)

分别是中国人群和东北亚人群的填充参考,测试了下,中国人群的参考注册还是相对友好的,没有像有些网站一样严格限制。东北亚的没有测试,两个数据库的特点都是包含了少数民族,研究朝鲜或蒙古族或其他民族的同学&#xff0…

9.12 TFTP通信

客户端设计(仅供参考): 下载本质:读取服务器发送的数据包,写入到本地文件 上传本质:读取本地文件内容,发送给服务器。 1、建立菜单选项,上传和下载。 2、上传功能函数: …

java开发中间件学习记录(持续更新中~)

1 Redis 2JVM 3 java基础底层 4Mysql 5 spring 6 微服务 7.......(持续更新) One:Redis篇 1:Redis 1.穿透 1.1缓存穿透 1.1.1布隆过滤器 1.2缓存击穿 2:击穿 1.3:缓存雪崩 1.4:双写一致 1.5.持久化(RDB,AOF) 1.6…

深入浅出Docker

1. Docker引擎 Docker引擎是用来运行和管理容器的核心软件。通常人们会简单的将其指代为Docker或Docker平台。 基于开放容器计划(OCI)相关的标准要求,Docker引擎采用了模块化的设计原则,其组件是可替换的。 Docker引擎由如下主…

k8s中的存储

目录 一 configmap 1.1 configmap的功能 1.2 configmap的使用场景 1.3 configmap创建方式 1.3.1 字面值创建 1.3.2 通过文件创建 1.3.3 通过目录创建 1.3.4 通过yaml文件创建 1.3.5 configmap的使用方式 1.3.5.1 使用configmap填充环境变量 1.3.5.2 通过数据卷使用c…

YOLOv10改进系列,YOLOv10颈部网络SPPF替换为FocalModulation

摘要 焦点调制网络(简称FocalNets),其中自注意力(SA)完全由焦点调制模块取代,用于在视觉中建模标记交互。焦点调制包括三个组件:(i)焦点情境化,通过一堆深度卷积层实现,从短到长范围编码视觉上下文,(ii)门控聚合,选择性地将上下文聚集到每个查询标记的调制器中…

词嵌入(二):基于上下文窗口的静态词嵌入(从NNLM、CW模型谈到基于层次Softmax、负采样的Word2Vec模型)

文章目录 一、经典神经语言模型(A Neural Probabilistic Language Model)二、C&W模型 (Collobert and Weston, 2008)2.1 文章背景2.2 模型架构(词向量的表示)2.2.1 Lookup-Table Layer(查找表)2.2.2 TD…

基于单片机的风机故障检测装置的设计与实现(论文+源码)

1 系统总体设计方案 通过对风机故障检测装置的设计与实现的需求、可行性进行分析,本设计风机故障检测装置的设计与实现的系统总体架构设计如图2-1所示,系统风机故障检测装置采用STM32F103单片机作为控制器,并通过DS18B20温度传感器、ACS712电…

VMware Fusion虚拟机Mac版 安装Win10系统教程

Mac分享吧 文章目录 Win10安装完成,软件打开效果一、VMware安装Windows10虚拟机1️⃣:准备镜像2️⃣:创建虚拟机3️⃣:虚拟机设置4️⃣:安装虚拟机(步骤和Win11安装步骤类似,此处相同步骤处没换…

dll修复工具4DDiG DLL Fixer,解决电脑dll丢失问题

4DDiG DLL Fixer是一款专业的DLL修复工具,旨在解决Windows系统中各种DLL相关问题。该工具能够快速全面地扫描计算机,检测并修复导致程序功能异常的DLL错误。它支持一键式操作,自动扫描、识别和替换缺失或损坏的DLL文件,从而帮助用…