网络原理(数据链路层)->以太网帧格式解

前言
大家好我是小帅,今天我们来了解以太网帧格式
个人主页


文章目录

  • 1.数据链路层
    • 1.1 认识以太⽹
    • 1.2 MAC地址(⽹卡的硬件地址)
      • 1.2.1 对⽐理解MAC地址和IP地址
    • 1.3 认识MTU
    • 1.4 MTU对IP协议的影响
    • 1. 5 MTU对UDP协议的影响
    • 1.6 MTU对于TCP协议的影响
    • 1.7ARP协议


1.数据链路层


1.1 认识以太⽹

“以太⽹” 不是⼀种具体的⽹络, ⽽是⼀种技术标准; 既包含了数据链路层的内容, 也包含了⼀些物理
层的内容. 例如: 规定了⽹络拓扑结构, 访问控制⽅式, 传输速率等;

例如以太⽹中的⽹线必须使⽤双绞线; 传输速率有10M, 100M, 1000M等;

以太⽹是当前应⽤最⼴泛的局域⽹技术; 和以太⽹并列的还有令牌环⽹, ⽆线LAN等;

以太⽹帧格式:

在这里插入图片描述

  1. 源地址和目的地址

源地址和⽬的地址是指⽹卡的硬件地址(也叫MAC地址), ⻓度是48位,是在⽹卡出⼚时固化的;

  1. 帧协议类型

字段有三种值,分别对应IP、ARP、RARP;

  1. 帧末尾是CRC校验码。

1.2 MAC地址(⽹卡的硬件地址)

  1. MAC地址⽤来识别数据链路层中相连的节点,比如说,路由器和路由器间的地址。
  2. ⻓度为48位, 及6个字节. ⼀般⽤16进制数字加上冒号的形式来表⽰(例如: 08:00:27:03:fb:19)
  3. 在⽹卡出⼚时就确定了, 不能修改. mac地址通常是唯⼀的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些⽹卡⽀持⽤⼾配置mac地址)

1.2.1 对⽐理解MAC地址和IP地址

IP地址描述的是路途总体的起点和终点。

MAC地址描述的是路途上的每⼀个区间的起点和终点;

举个例子:
在这里插入图片描述


1.3 认识MTU

MTU相当于发快递时对包裹尺⼨的限制. 这个限制是不同的数据链路对应的物理层, 产⽣的限制.

  1. 以太⽹帧中的数据⻓度规定最⼩46字节,最⼤1500字节,ARP数据包的⻓度不够46字节,要在后⾯补填充位;

  2. 最⼤值1500称为以太⽹的最⼤传输单元(MTU),不同的⽹络类型有不同的MTU;

  3. 如果⼀个数据包从以太⽹路由到拨号链路上,数据包⻓度⼤于拨号链路的MTU了,则需要对数据包进⾏分⽚(fragmentation);

  4. 不同的数据链路层标准的MTU是不同的;

1.4 MTU对IP协议的影响

由于数据链路层MTU的限制, 对于较⼤的IP数据包要进⾏分包.

我们回顾一下IP协议:

  1. 将较⼤的IP包分成多个⼩包, 并给每个⼩包打上标签,
  2. 每个⼩包IP协议头的 16位标识(id) 都是相同的;
  3. 每个⼩包的IP协议头的3位标志字段中, 第2位置为0, 表⽰允许分⽚, 第3位来表⽰结束标记(当前是否是最后⼀个⼩包, 是的话置为1, 否则置为0)
  4. 到达对端时再将这些⼩包, 会按顺序重组, 拼装到⼀起返回给传输层;
  5. ⼀旦这些⼩包中任意⼀个⼩包丢失, 接收端的重组就会失败. 但是IP层不会负责重新传输数据;
    在这里插入图片描述
    在这里插入图片描述

1. 5 MTU对UDP协议的影响

由于数据链路层MTU的限制, 对于较⼤的IP数据包要进⾏分包.

让我们回顾⼀下UDP协议:

  1. ⼀旦UDP携带的数据超过1472(1500 - 20(IP⾸部) - 8(UDP⾸部)), 那么就会在⽹络层分成多个IP数据报.
  2. 这多个IP数据报有任意⼀个丢失, 都会引起接收端⽹络层重组失败. 那么这就意味着, 如果UDP数据报在⽹络层被分⽚, 整个数据被丢失的概率就⼤⼤增加了.

1.6 MTU对于TCP协议的影响

让我们再回顾⼀下TCP协议

  1. TCP的⼀个数据报也不能⽆限⼤, 还是受制于MTU. TCP的单个数据报的最⼤消息⻓度, 称为MSS(Max Segment Size);
  2. TCP在建⽴连接的过程中, 通信双⽅会进⾏MSS协商.
  3. 最理想的情况下, MSS的值正好是在IP不会被分⽚处理的最⼤⻓度(这个⻓度仍然是受制于数据链路层的MTU).
  4. 双⽅在发送SYN的时候会在TCP头部写⼊⾃⼰能⽀持的MSS值.
  5. 然后双⽅得知对⽅的MSS值之后, 选择较⼩的作为最终MSS.
  6. MSS的值就是在TCP⾸部的40字节变⻓选项中(kind=2);

1.7ARP协议

ARP协议的作⽤:
ARP(Address Resolution Protocol,地址解析协议)的作用是将网络层的IP地址解析为数据链路层的物理地址(MAC地址)。

在以太网等局域网中,设备之间直接通信需要使用MAC地址,而不是IP地址。因此,当一个设备想要向另一个设备发送数据时,它首先需要知道目标设备的MAC地址。

ARP协议建⽴了主机 IP地址 和 MAC地址 的映射关系;
在这里插入图片描述
ARP协议的工作流程

  1. 请求:当一个设备(比如主机A)想要与同一局域网内的另一台设备(比如主机B)通信,并且只知道主机B的IP地址而不知道其MAC地址时,主机A会广播一个ARP请求报文到整个局域网。这个请求包含主机A自己的IP地址和MAC地址,以及目标主机B的IP地址。

  2. 响应:所有接收到该ARP请求的设备都会检查报文中提到的目标IP地址是否与自己匹配。只有主机B发现目标IP地址是自己的,它才会响应这个请求。主机B会发送一个ARP响应报文给主机A,其中包含了主机B的MAC地址。

  3. 缓存:一旦主机A收到了主机B的ARP响应,它就会把主机B的IP地址与MAC地址之间的对应关系记录在一个叫做ARP缓存表的地方。这样,在一段时间内,如果主机A再次需要与主机B通信,它可以直接从ARP缓存中查找对应的MAC地址,而不需要重新发起ARP请求。

  4. 通信:有了目标设备的MAC地址后,主机A就可以使用该MAC地址来封装数据帧,并通过以太网等物理网络将其发送给主机B。

好了数据链路层的理解就到在这里,感谢观看。

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

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

相关文章

银行金融知识竞赛活动策划方案

根据《中国人民银行**市中心支行“创新金融服务,支持经济发展”业务竟赛活动实施方案》安排,中支决定于9月28日举办**市人民银行系统“创新金融服务,支持经济发展”现场业务竞赛,为确保业务竞赛组织工作顺利开展,特制定…

渗透测试练习题解析 7 (CTF web)

一、[红明谷CTF 2021]write_shell 1 考点: 1、PHP 短标签 2、 符号的使用 通过代码可知 check 是一个过滤函数,利用正则的方式过滤掉 空格、php、eval 等一些关键字或符号,$dir 是路径,这个值可以通过 actionpwd 获取到&#…

VBA中类的解读及应用第十七讲:类,让文本框在激活时改变颜色(下)

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。 类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

如何下载安装TestLink?

一、下载TestLink、XAMPP TestLink 下载 |SourceForge.net 备用:GitHub - TestLinkOpenSourceTRMS/testlink-code: TestLink开源测试和需求管理系统 下载XAMPP: Download XAMPP 注意:TestLink与PHP版本有关系,所以XA…

基于SpringBoot+微信小程序+协同过滤算法+二维码订单位置跟踪的农产品销售平台-新

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: “农产品商城”小程序…

实现旺店通到金蝶云星空的数据集成:技术详解

旺店通旗舰版数据集成到金蝶云星空案例分享:入库瞬时成本-生产入库单-1 在企业日常运营中,数据的高效流转和准确对接是确保业务顺利进行的关键。本文将聚焦于一个具体的系统对接集成案例——如何将旺店通旗舰版的数据集成到金蝶云星空,以实现…

selinux与防火墙

一.selinux (1).什么是selinux SELinux是Security-Enhanced Linux的缩写,意思是安全强化的linu。 SELinux是对程序、文件等权限设置依据的一个内核模块。由于启动网络服务的也是程序,因此刚好也 是能够控制网络服务能否访问系统资源的一道关卡。 (2)…

【论文精读】LPT: Long-tailed prompt tuning for image classification

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀论文精读_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 摘要 2. …

链表详解(三)

目录 链表功能实现链表的查找SLNode* SLFind(SLNode* phead, SLNDataType x)代码 链表任意位置前插入void SLInsert(SLNode**pphead,SLNode* pos, SLNDataType x)代码 链表任意位置前删除void SLErase(SLNode**pphead,SLNode* pos)代码 链表任意位置后插…

有php转go项目经验者优先?

新的一周又来了,今天分享的是上海某公司的一面面经,内容主要就是go、mysql和项目,职位要求如下: 发现一个很有意思的点—有php转go项目经验者优先。想不到还有这种好事,本人就是php转go,跟我有相同经历的朋…

【AI换脸整合包及教程】AI 换脸新潮流:FaceFusion 3.0.0,开启无限创意之旅

在科技飞速发展的今天,人工智能已经深入到我们生活的各个角落。其中,AI 换脸技术以其惊人的创造力和趣味性,吸引了无数人的目光。而在众多 AI 换脸工具中,FaceFusion 3.0.0 脱颖而出,成为了引领潮流的佼佼者。 一、AI …

【智慧中控项目】

智慧中控 前言一、搭建开发环境1.需要做什么?1.1 刷机和启动OrangePi Zero2(全志H616芯片)1.2 在PC上安装虚拟机VM(安装VirtualBox或VMware:这是常用的虚拟机软件工具)1.3 在虚拟机VM(VirtualBo…

“短线看涨”,上升周期中,抓以小波段行情,落袋为安

使用技巧 短线看涨指标属于副图公式,短线怎么操作?看蓝色短期安全线 这个公式主要是在上升周期中,抓以小波段行情为主,落袋为安 弱水三千 只取一瓢 公式 DIFM:(EMA(C,240)-EMA(C,520)); DEAM:EMA(DIFM,180); MACD&#xff08…

21_双端 diff 算法

目录 双端比较的原理非理想状况的处理方式添加新元素移除不存在的元素 在上一节中,我们实现了简单的 diff 算法,简单的 diff 算法利用 key 属性,尽可能的复用 DOM 元素,并通过移动 DOM 元素来完成更新,从而减少不断创建…

微服务实战系列之玩转Docker(十六)

导览 前言Q:基于容器云如何实现高可用的配置中心一、etcd入门1. 简介2. 特点 二、etcd实践1. 安装etcd镜像2. 创建etcd集群2.1 etcd-node12.2 etcd-node22.3 etcd-node3 3. 启动etcd集群 结语系列回顾 前言 Docker,一个宠儿,一个云原生领域的…

注册信息的提交

动态网页是指能够根据用户的操作或输入动态变化的网页。与静态网页相比,动态网页具有交互性和可变性。 一 动态网页概念 动态网页通常使用脚本语言(如JavaScript)与服务器进行交互,从服务器获取数据并动态更新网页内容。常见的动…

aws 部署测试环境服务+ip域名绑定

aws 部署springboot vue ip域名绑定域名 1.新建实例之后,作为测试环境开放mysql入出站规则,route53域名,红框中放入阿里云域名 1.设置出入站规则 实例应用安全组 2.mysql aws部署,redis,java环境,参见之前文章腾讯…

《数字图像处理基础》学习05-数字图像的灰度直方图

目录 一,数字图像的数值描述 1,二值图像 2,灰度图像 3,彩色图像 二,数字图像的灰度直方图 一,数字图像的数值描述 在之前的学习中,我知道了图像都是二维信息&…

书生大模型第四期 | L0G3000 git 基础知识

1、破冰行动 fork项目 PR链接:跳转访问 https://github.com/InternLM/Tutorial/pull/21632、构建个人项目 创建一个仓库保存LLM学习的笔记,以md文件为主 博客页面项目

使用 OpenTelemetry 定制跨度名称并丰富跨度而无需更改代码 - 第 1 部分

作者:来自 Elastic David Hope OpenTelemetry Collector 提供强大的功能,可以在遥测数据到达可观察性工具之前丰富和细化遥测数据。在这篇博文中,我们将探讨如何利用 Collector 在 Elastic Observability 中创建更有意义的 transaction 名称&…