数据链路层之 以太网协议

以太网协议

        这个协议即规定了数据链路层,同时也规定了物理层的内容。平时使用到的网线,其实也叫做“以太网线”(遵守以太网协议的网线)。

以太网帧格式

 以太网数据帧 = 帧头 + 载荷 + 帧尾。

        帧头:目的地址、源地址、类型。但此处的地址不是使用 IP 地址来表示,而是使用 MAC 地址,这是一个物理地址,和 IP 地址是两个独立的地址体系。

MAC 地址是使用 6 个字节来表示的,并且不像 IP 地址是动态分配的,而是在 网卡 出厂的时候就已经设置好的了。在当时大佬研发初代协议栈的时候,研发网络层协议和研发数据链路层协议的大佬是两伙人,结果就各自研发出了一套地址体系(类似牛顿和莱布尼兹都发明了微积分一样)。因此这两套地址就相互配合各司其职,如果使用一套地址体系也能完成这个转发过程。

IP 地址描述的是:从哪来到哪去;MAC 地址描述的是:当前阶段的任务。

        类型是0800:表示这是一个普通的以太网数据帧,载荷部分是一个完整的 IP 数据包。

        类型是0806:载荷部分表示一个 ARP 报文。ARP 表示数据链路层另外的一个协议:在路由器 / 交换机里建立一个表,里面能够表示出 IP 和 MAC 之间的映射关系(类似于 hash 表)。

        类型是8035:载荷部分表示一个 RARP 报文。

认识 MTU

        MTU 表示一个数据链路层的数据帧所能承载数据的最大长度(载荷的长度)。

        正是这个 MTU 引起了 IP 协议的分包合组包,因为大多数情况下,数据链路层的 MTU 都比 IP 协议的 64KB 要小。这是因为跟使用的物理介质、以及数据链路层使用的协议有很大联系。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

django项目结构介绍

小白的django学习笔记 五一前的某天 文章目录 django项目结构介绍项目的基本配置templates项目模块manage.pyExternal Libraries django项目结构介绍 项目的基本配置 在这里配置,跟工程名是一样的 templates 放网页、js、css的地方 django 项目模块 项目开发时&…

《前端算法宝典:双指针问题解析与应用》

双指针 双指针,指的是在遍历对象的过程中使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针或者是两个指针构成一个滑动窗口进行扫描,从而达到相应的目的。 双指针方法在某些情况下可以对有序数组…

sbt安装

一、sbt介绍 在Spark中,sbt(Scala Build Tool)是一个用于构建Scala项目的工具。它是Spark项目的主要构建工具之一,用于编译Scala代码、管理依赖项、打包应用程序以及执行其他与项目构建相关的任务。 sbt的用途在Spark开发中主要…

『大模型笔记』Google CEO Sundar Pichai(桑达尔·皮查伊)谈人工智能的未来!

Google CEO Sundar Pichai(桑达尔皮查伊)谈人工智能的未来! 文章目录 一. Google CEO谈人工智能的未来总结摘要观点时间线二. 参考文献简短总结:一. Google CEO谈人工智能的未来 总结 主要介绍了Google CEO Sundar Pichai对人工智能未来的看法,以及Google在AI领域的战略…

JavaScript异步编程——06-Promise入门详解【万字长文,感谢支持】

前言 Promise 是 JavaScript 中特有的语法。可以毫不夸张得说,Promise 是ES6中最重要的语法,没有之一。初学者可能对 Promise 的概念有些陌生,但是不用担心。大多数情况下,使用 Promise 的语法是比较固定的。我们可以先把这些固定…

三月份饮料行业线上市场销售数据分析

2024年3月,中国饮料市场呈现出多样化和健康趋势的明显特征。从消费场景、消费端需求以及销售渠道来看,饮料市场正在经历多元化的发展,这不仅体现在产品种类上,也体现在消费者的购买行为和偏好上。 据鲸参谋数据统计,线…

LLM大语言模型(十五):LangChain的Agent中使用自定义的ChatGLM,且底层调用的是remote的ChatGLM3-6B的HTTP服务

背景 本文搭建了一个完整的LangChain的Agent,调用本地启动的ChatGLM3-6B的HTTP server。 为后续的RAG做好了准备。 增加服务端role:observation ChatGLM3的官方demo:openai_api_demo目录 api_server.py文件 class ChatMessage(BaseModel…

LeetCode HOT 100刷题总结

文章目录 1 哈希1.1 1-1.两数之和🟢1.2 2-49.字母异位词分组🟡1.3 3-128.最长连续序列🟡 2 双指针2.1 4-283.移动零🟢2.2 6-15.三数之和🟡2.3 7-11.盛最多水的容器🟡2.4 8-42.接雨水🔴 3 滑动窗…

传输层协议——UDP协议

目录 一、传输层 二、再谈端口号 端口号的划分 知名端口号 pidof netstat命令 三、UDP协议 1、UDP协议格式 2、UDP协议特点 3、UDP协议的缓冲区 四、基于UDP的应用层协议 一、传输层 上一篇文章我们所讲到的HTTP协议和HTTPS协议,是属于应用层协议。我们…

【小笔记】问答系统可视化实现的三种方式

下面三种方式都是基于Python的哈,从简单到复杂。 方式一:命令行交互问答 优点:原始简单直接 方式二:使用Python可视化框架 优点:无需学习前端技术栈即可搭建一个web。 streamlit:⭐️⭐️⭐️⭐️gra…

【服务器优化】LVS负载均衡

LVS负载均衡 LVS简介 ​ LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,终…

nginx的应用部署nginx

这里写目录标题 nginxnginx的优点什么是集群常见的集群什么是正向代理、反向代理、透明代理常见的代理技术正向代理反向代理透明代理 nginx部署 nginx nginx(发音同enginex)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3&…

Java设计模式 _结构型模式_外观模式

一、外观模式 1、外观模式 外观模式(Facade Pattern)是一种结构型模式。主要特点为隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这有助于降低系统的复杂性,提高可维护性。当客户端与多个子系统之间存在大量…

FPGA+海思ARM方案,可同时接收HDMI/VGA 两种信号,远程控制

FPGA海思ARM方案,可同时接收HDMI/VGA 两种信号,通过配置输出任一图像或者拼接后的图像 客户应用:无线远程控制 主要特性: 1.支持2K以下任意分辨率格式 2.支持H264压缩图像 3.支持WIFI/4G无线传输 4.支持自适应输入图像分辨率 …

如何编辑百度百科里面的资料

编辑百度百科资料是一个相对简单的过程,但同时也需要遵循一定的规则和流程。以下是百科优化网yajje整理的编辑百度百科资料的步骤和注意事项。 登录账户 首先,编辑百度百科需要一个百度账号。如果没有,你需要先注册一个。登录后,…

西奥机电CLRT-01:重塑碳酸饮料质检新纪元

西奥机电CLRT-01:重塑碳酸饮料质检新纪元 在追求品质生活的今天,碳酸饮料的品质检测成为了行业内外关注的焦点。西奥机电,作为行业创新的领跑者,携其最新研发的CLRT-01二氧化碳气容量测试仪,为碳酸饮料行业带来了革命性…

一文详解|影响成长的关键思考(二)

之前写过一篇《一文详解|影响成长的关键思考》,里面对自己工作前几年的心法进行了总结,并分享了出来。现在又工作了一段时间后,有了一些新的体会,想进一步分析一下,于是便有了此文。的确,思考也…

LeetCode63:不同路径Ⅱ

题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从左上角…

【NPS】微软NPS配置802.1x,验证域账号,动态分配VLAN(NPS篇)

NPS简介 Network Policy Server(NPS)是微软Windows Server中的一个网络服务,它作为RADIUS服务器实现,用于集中管理网络接入请求。NPS处理对网络资源的认证、授权和审计请求,通常用于控制远程访问VPN和无线网络的接入。…

Python 数据库操作- sqlite3 模块

Python sqlite3 模块 1. 安装 SQLite3 可使用 sqlite3 模块与 Python 进行集成。sqlite3 模块是由 Gerhard Haring 编写的。它提供了一个与 PEP 249 描述的 DB-API 2.0 规范兼容的 SQL 接口。用户不需要单独安装该模块,因为 Python 2.5.x 以上版本默认自带了该模块…
最新文章