了解数据链路层

server/2025/2/12 22:33:55/

目录

一、认识以太网

二、以太网帧格式

三、认识MTU

MTU对IP协议的影响

 MTU对UDP协议的影响

MTU对TCP协议的影响

四、ARP协议

ARP协议的作用

ARP协议的工作流程


 

数据链路层的作用是解决如何正确在链路内找到和传输数据给局域网内的设备。数据链路层有很多种协议,其中比较常见常用的协议就是“以太网协议”。

一、认识以太网

  • “以太网”不是一种具体的网络而是一种技术标准它用于局域网内内的数据传输;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等;
  • 例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等;
  • 以太网是当前应用最广泛的局域网技术,和以太网并列的还有令牌环网,无线LAN等;
  • 以太网的工作原理基于一种叫做“帧”(frame)的数据单元,这些帧在网络中通过电缆或无线电信号传输,从一个设备发送到另一个设备。

二、以太网帧格式

以太网的帧格式如下:

       帧头+载荷+帧尾

 补充:

MAC地址,即Media Access Control,是分配给网络接口(如计算机网卡,路由器,交换机,手机等)的一种唯一的物理地址,用于标识网络设备的的硬件物理地址,并确保数据能正确地发送到目标设备。

MAC地址的基本特点:

  • 唯一性:每个MAC地址在全球范围内都是唯一的,通常由网络设备制造商为每个设备分配。这确保了在同一网络中,每个设备都有唯一的标识符。
  • 硬件地址:MAC地址是在硬件层(数据链路层)使用的地址,与网络协议栈的更高层(如IP地址)不同。MAC地址直接与网络接口设备的硬件相关。
  • 不可更改性:通常情况下,MAC地址是硬件烧录在设备的网卡中的,设备启动时自动加载该地址。然而,部分设备允许用户修改MAC地址。

MAC地址的结构:

MAC地址通常由6个字节(48位)组成,通常以16进制形式表示。它的标准表示形式是6组两位的十六进制数字,每组之间用冒号(:)或连字符(-)分分隔。例如:00:1A:2B:3C:4D:5E或00-1A-2B-3C-4D-5E。

MAC地址与IP地址的区别:

  • IP地址描述的是网络中路径的起点和终点(两台设备的IP地址);
  • MAC地址描述的是网络路径上的每一个区间的的节点,即每一跳的起点和终点的地址;是给网络硬件设备使用的网络物理地址。

回到图中:

  • 源地址和目的地址在补充中已经有了;
  • 帧协议类型字段有三种值的情况,分别对应IP,ARP,RARP,一个以太网数据帧只能承载一种类型的值;
  • 帧末尾是CRC校验码。

三、认识MTU

MTU,Maximum Transmission Unit,最大传输单元,是指网络中某一链路(如以太网、Wi-Fi等)上,能够传输的最大数据报大小。相当于发快递时包裹尺寸的限制,这个限制是由不同的数据链路对应的物理层产生的限制。

  • 以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据报的长度不够46字节,要在后面补填充位;
  • 最大值1500称为以太网的最大传输单位(MTU),不同的网络类型有所不同的MTU;
  • 如果一个数据包从以太网路由到拨号链路上,数据报长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation);
  • 不同的数据链路层标准的MTU是不同的。

MTU对IP协议的影响

由于数据链路层MTU的限制,对于较大的IP数据包要进行分包。

  • 将较大的IP包分成多个小包,并给每个小包打上标签;
  • 每个小包IP协议头的16为标识(id)都是相同的;
  • 每个小包的IP协议头的3位标志字段中,第2位置为0,允许分片,第3位来表示结束标记(判断当前是否是最后一个小包,是的话为1,否则为0);
  • 到达对端时再将这些小包按顺序重组,拼装一起返回给传输层;
  • 一旦这些小包中任意一个小包丢失,接收端的重组就会失败。但是IP层不负责重新传输数据。
  • 第二位置为1,表示于网络层禁止分片,这时候如果到了数据链路层,报文长度超过MTU,IP模块就会丢弃报文。

 MTU对UDP协议的影响

  • 一旦UDP协议携带的数据超过1472(1500-20(IP首部)-8(UDP首部)),那么就会在网络分成多个IP数据报;
  • 这多个IP数据报有任意一个丢失都会引起接收端网络层重组失败。那么就意味着,如果UDP数据报在网络层被分片,整个数据被丢失的概率就大大增加了。

MTU对TCP协议的影响

  • TCP的一个数据包不能无无限的大,还是受制于MTU。TCP的单个个数据包的最大消息长度,称为MSS(Max Segment Size)。
  • TCP在建立连接的过程中,通信双方会进行MSS协商。
  • 最理想的情况下,MSS的值正好是在IP不会被分片处理的最大长度(这个长度仍然是受制于数据链路层的MTU)。
  • 双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值。然后双方得知对方的MSS值后,选择较小的作为最终MSS。
  • MSS的值就是在TCP首部的40字节变长选项中。

四、ARP协议

这里简单的介绍一下ARP协议,但是,ARP不是一个单纯的数据链路层的协议,而是介于数据链路层和网络层之间的协议。

ARP协议的作用

ARP协议建立了主机IP地址和MAC地址的映射关系。

网络通信中,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机硬件的MAC地址;

数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据报的硬件地址与本机不符合,则丢弃;

因此在通信前必须获得目的主机硬件的MAC地址。

ARP协议的工作流程

ARP协议的作用是为了获取目的地址的MAC地址。

 解释:

  • 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(让同一网段的设备都能收到这个请求)(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF,表示广播)。
  • 目的主机接收到广播ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中;
  • 每台主机都维护一个ARP缓存表(存储了IP地址和MAC地址的映射关系),可以用arp-a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用这个表项,则表项失败,下次还要发ARP请求来获得目的主机硬件的MAC地址。


http://www.ppmy.cn/server/167166.html

相关文章

git客户端版本下载

1. 访问官方网站:您可以在git官方网站(https://git-scm.com)上找到git软件最新稳定版下载链接。 2.如果需要下载其它版本,可访https://github.com/git-for-windows/git/releases选择想要的版本下载。

石英表与机械表的世纪之争(Quartz vs. Mechanical Watches):瑞士钟表业的危机与重生(中英双语)

石英表与机械表的世纪之争:瑞士钟表业的危机与重生 本文灵感来源: 日本制造业在战后复兴,日本精工公司作为日本制造业的代表,研究出了如何将石英制作成音叉的方法。1969年,精工公司推出了世界上第一款石英水晶天文台表…

嵌入式linux系统中VIM编辑工具用法与GCC参数详解

大家好,今天主要给大家分享一下,如何使用linux系统中的VIM编辑工具和GCC的参数详解。 第一:安装VIM 命令:sudo apt get install vim 第二:工作模式 普通模式:打开一个文件时的默认模式,按ESC返回普通模式 插入模式:i/o/a进入插入模式,不同在于在光标前后插入 可视…

使用 Visual Studio Code (VS Code) 开发 Python 图形界面程序

安装Python、VS Code Documentation for Visual Studio Code Python Releases for Windows | Python.org 更新pip >python.exe -m pip install --upgrade pip Requirement already satisfied: pip in c:\users\xxx\appdata\local\programs\python\python312\lib\site-pa…

纯前端检查是否有发版,并提示用户刷新

纯前端如何实现检查是否有新版本发布,并提示用户刷新页面。用户之前询问过云服务器和本地代码同步的问题,现在转向前端部署后的版本检查,可能是在实际开发中遇到了版本更新的需求,需要确保用户能及时获取最新版本。 首先&#xff…

数据分析对企业有什么价值

数据分析是工具,可以理解为一把刀,这把刀能够产生什么样的价值主要在于使用者。 一、基于财务的数据分析价值 基于财务数据,数据分析师可以进行多方面的分析,以下是一些常见的分析类型: 1. 财务报表分析 趋势分析&…

自动驾驶超声波雷达:市场潜力爆发,引领未来出行新趋势

在自动驾驶技术的飞速发展中,自动驾驶超声波雷达作为一项关键技术,正逐渐崭露头角,其重要性及市场增长潜力不容忽视。本文将深入探讨自动驾驶超声波雷达的重要性、市场增长趋势、显著优势、全球市场规模与驱动因素、主要市场参与者以及不同地…

关于FANUC机器人示教器型号的说明

关于FANUC机器人示教器型号的说明 如下图所示, 示教器的型号为:A05B-2255-C102#ESW, 如果需要对示教器进行更换或维修测试,只需保证前面8位的型号保持一致即可, 例如下图中的型号, 只需保证A05B-2255-x…