【计算机网络】数据链路层重点协议

article/2025/11/1 12:46:41

目录

1. 认识以太网

1.1 以太网帧格式 

2. 认识MTU

2.1 MTU对IP协议的影响 

2.2 MTU对UDP协议的影响

2.3 MTU对TCP协议的影响

3. ARP协议 

3.1 ARP协议的作用

3.2 ARP协议的工作流程


1. 认识以太网

  • 以太网是一种局域网的技术规范,而不是一种具体的网络,以太网既包含了数据链路层的内容,也包含了一些物理层的内容,如:规定网络拓扑结构,访问控制方式,传输速率等
  • 以太网中的网线必须使用双绞线,传输速率有10M,100M,1000M等
  • 以太网是当前应用最广泛的局域网技术,和以太网并列的有令牌环网,无线LAN等

1.1 以太网帧格式 

  • 源地址和目的地址为网卡的硬件地址(MAC地址),长度为48位,网卡出场时就确定了
  • 帧协议类型字段有三种,为IP,ARP,RARP
  • 帧尾是CRC校验码 

2. 认识MTU

MTU规定了以太网最大的传输数据长度,超过了这个长度就会分片(实际在网络层就会分片),比如网购了一个桌子,桌子整张太大了,快递就分开包装,如:桌子腿,桌子面,固定桌子的材料等,快递到货后,我们在对其进行组装成一个完整的桌子

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

2.1 MTU对IP协议的影响 

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

  • 将较大的IP包分成多个小包,并给每个小包打上标签
  • 每个小包IP协议头的16位标识(id)都是相同的
  • 每个小包的IP协议头的3位标志字段中,第2位置为0表示允许分片,第3位来表示结束标记(当前是否是最后一个小包,是的话置1,不是置0)
  • 到达对端后,再将这些小包按顺序进行重组,拼装到一起返回给传输层
  • 一旦这些小包中任意一个小包丢失,接收端的重组就会失败,但是IP层不会负责重新传输数据

2.2 MTU对UDP协议的影响

数据包分片后,如果多个分片的数据报有任意一个丢包,整个数据报就没有用了(UDP只管发送,不管接收),接收端根据多个分片还原的时候就会重组失败,只能丢弃,这意味着,如果UDP数据报在网络层被分片,整个数据被丢弃的概率大大增加了

2.3 MTU对TCP协议的影响

  • TCP数据报也不能无限大,也受限于MTU,TCP单个数据报的最大长度称为MSS(双方约定最大传输端大小)
  • TCP建立连接的时候,通信双方会进行MSS协商,双方在发送的SYN的时候在TCP头部写入自己能支持的MSS值
  • 双方知道对方的MSS值后,选择min(MSS,MTU)值作为最终的MSS
  • 如果真实发送的数据超过MSS,就会分片,如果任意一个分片丢包,整个数据报就没用了,但是TCP协议有超时重传机制会重新发生,所以丢包的影响不大

3. ARP协议 

ARP协议不单纯是数据链路层的协议,它是介于数据链路层和网络层之间的协议 ,ARP协议建立了主机IP地址与MAC地址的映射关系,主机和路由器中都维护了一张ARP缓存表(基于ARP协议,可以通过IP地址找到对应的MAC地址)

3.1 ARP协议的作用

  • 发送数据到同网段主机时,目的IP和目的端口肯定都知道,但是可能不知道目的主机的MAC,这时候基于ARP缓存表通过目的主机IP找到对应目的主机MAC(找不到就喊话)
  • 发送数据到不同网段主机时,先往网关设备发,也要基于ARP协议通过网关IP找到网关MAC
  • 网关设备封装完数据报,根据路由功能,找到下一跳设备的IP,此时基于网关设备的ARP缓存表,通过IP找到下一跳设备得MAC

3.2 ARP协议的工作流程

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

http://chatgpt.dhexx.cn/article/ZEvMEo23.shtml

相关文章

数据链路层协议(2)

目录 一.网络类型---根据数据链路层运行的协议进行划分 二.数据链路层运行的协议 1.HDLC---高级数据链路控制协议 2.PPP---点到点协议 (1)链路建立阶段---LCP(链路控制协议)建立 (2)认证阶段---PAP&…

数据链路层协议封装

常用的两种数据链路层帧: 以太网帧和PPP帧的区别: 最大的区别,以太网是一个广播链路,一个广播域可能有多个设备,所以以太网帧有MAC地址,为了在整个以太网中确定一个唯一确定到底哪个设备进行接收&#xff0…

网络层IP协议与数据链路层以太网协议

文章目录 一、IP协议IP地址地址管理路由选择DNS 二、以太网协议以太网帧MTU 一、IP协议 IP协议是我们网络层的代表协议,今天我们就来一起学习一下吧,我们这里介绍的主要是IPv4协议。 版本:指定IP协议的版本,版本的取值只有4&…

TCP/IP协议详解篇三(链路层)

文章目录 数据链路层(DataLinkLayer)点对点信道数据链路层通信时的主要步骤三个基本问题封装成帧透明传输差错检测 点对点PPP协议PPP协议满足的需求PPP协议的组成PPP协议的帧格式透明传输字符填充法零比特填充法 PPP协议的工作过程 局域网的数据链路层局域网的拓扑结构媒体共享…

数据链路层-------以太网协议

这里写目录标题 数据链路层点对点协议(PPP协议)以太网协议认识以太网以太网帧格式认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对上层协议的影响查看硬件地址和MTU ARP协议(地址解析协议)ARP协议的作用ARP数据报格式ARP协议的工作原理 数据链路层 主要…

【网络协议详解】——数据链路层协议(学习笔记)

📖 前言:数据链路层是 OSI 模型中的第二层,位于物理层之上,是通信网络中的重要组成部分之一。数据链路层协议负责将网络层传输的数据分组封装成帧,传输到物理层,并通过物理介质进行传输。同时,数…

【网络原理】数据链路层 和 应用层 重点协议

✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 目 录 🍀一. 以太网协议(数据链路层)🌻二. DNS (应用层)🌿三. 网络原理知识面试总结 &#x1f34…

数据链路层六大协议详解

数据链路层六大协议详解 一些假设1.无限制的单工协议(乌托邦协议)五点假设发送方接收方接受方 2.单工停-等协议3.有噪声信道的单工协议 本文图片截取自 学堂在线-华南理工大学的计算机网络课程 一些假设 物理层、数据链路层和网络层各自是独立的处理进程机器A希望向B发送的是…

数据链路层相关协议

网络类型 ---根据数据链路层协议进行划分 MA ---多点接入网络(BMA广播型,NBMA非广播型)P2P---点到点的网络 以太网协议---需要使用MAC地址对不同的主机设备进行区分和标识 ---主要因为利用以太网组件的二层网络可以包含(两个和两…

网络安全——数据链路层安全协议

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.数据链路层安全协议简介 1.数据链路安全性 二.局域网数据链路层协议 1…

数据链路层协议

一、数据链路层概述 1.数据链路层的功能: 1)链路管理:负责数据链路的建立、维持和释放,主要用于面向连接的服务; 2)帧同步:接收方确定收到的比特流中一帧的开始位置和结束位置; …

数据链路层主要协议

PPP:点对点的协议,华为路由器默认封装,是面向字符的控制协议。HDLC:高级数据链路控制协议,Cisco路由器默认的封装,是面向位的控制协议。fram-relay:表示帧中继交换网,它是x.25分组交…

【计算机网络】数据链路层-基本数据链路层协议

【计算机网络】数据链路层-基本数据链路层协议 协议1:一个乌托邦式的单工协议 单工协议即数据只能单向传输。这个协议假设信道永远不会丢失或损坏帧,接收方的处理能力足够快,缓冲区足够大。 发送程序无限循环,接受程序响应事件&am…

数据链路层协议(Ethernet、IEEE802.3、PPP、HDLC)

​​​​​数据链路层协议 首先Ethernet、IEEE802.3、PPP和HDLC都是数据链路层的协议,只不过后面三个不常用而已,数据链路层最常用的协议是Ethernet以太网协议。 Ethernet和IEEE802.3属于以太链路层协议 广域网中经常会使用串行链路来提供远距离的数据…

计算机网络之数据链路层协议总结

数据链路层 1.数据链路层介绍2.ARP协议2.1 ARP的工作流程2.2 ARP数据报格式 3.NAT技术3.1 NAT转换过程3.2 NAPT技术(动态NAT重载) 4.DNS技术4.1 域名层级关系4.2 域名解析流程 5. ICMP协议5.1 ICMP功能5.2 ICMP类型 1.数据链路层介绍 数据链路层主要负责…

(SQL)修改表结构[字段类型]、表字段长度,

①:更改字段类型长度 ALTER TABLE 表名 ALTER COLUMN 字段名 类型的长度–varchar(50) 例:把城市表的城市字段原来长度为20改为30 ALTER TABLE city ALTER COLUMN cname varchar(30) ALTER TABLE #temp ALTER COLUMN bmmc NVARCHAR(30)②&#xff1…

表字段长度的修改

设置后,即可完成sqlserver数据库表字段长度的修改 超时修改:

用命令语句修改mysql某字段长度

在MySQL中修改某个字段的长度,需要使用ALTER TABLE语句,具体操作如下: 假设要修改表A中的字段col1的长度为50。 ALTER TABLE A MODIFY col1 VARCHAR(50); 以上语句中,MODIFY关键字用于修改表结构,VARCHAR(50)用于指定…

开发人员各种鄙视链

最近几年经常在网络上看到各种程序员鄙视链,其实真实情况是我们都很忙,每天 Bug 都调不玩,哪里有空鄙视这,鄙视那。所以很多的的鄙视链大家自己看看,笑一笑就过了,不要太过认真。 1、穿衣服也是有讲究的 2、…

趣图《程序员鄙视链》

小编推荐:Fundebug提供JS错误监控、微信小程序错误监控、微信小游戏错误监控,Node.j错误监控和Java错误监控。真的是一个很好用的错误监控费服务,众多大佬公司都在使用。 最近几年经常在网络上看到各种程序员鄙视链,其实真实情况是…