计算机网络-数据链路层:以太网协议、ARP协议、MAC、MTU

简介: 【2月更文挑战第2天】

一、以太网协议

1. 认识以太网

       (1)以太网不是一种具体的网络,而是一种技术标准。其中既包含了数据链路层的内容,也包含了一些物理层的内容。比如:规定了网络拓扑结构、访问控制方式,传输速率等。

       (2)以太网中的网线必须使用双绞线,传输速率有10M、100M,1000M等。

       (3)以太网是当前应用最为广泛的局域网技术,和以太网并列的还有令牌环网,无线LAN等。

2. 协议格式

image.png

48位对端MAC地址,48位源端MAC地址,16位上层协议,数据,32位数据帧尾。

48位对端&源端MAC地址:

       描述了相邻的两个指定物理硬件设备。

16位上层协议类型:

       描述的是以太网帧中数据所使用的协议,用于数据分用时协议选择。

32位数据帧尾:

       包含了校验和(CRC校验码)。

二、 MAC地址

1. 认识MAC地址

MAC地址:物理硬件地址

(1)MAC地址是每一块网卡在出厂时设定的地址,固定且不可修改(早期)。(虚拟机中的MAC地址不是真实的MAC地址,可能会产生冲突)

(2)MAC地址用来识别数据链路层中相邻的节点。

(3)MAC地址长度为48位,及6个字节。一般用16进制数字加上冒号的形式来表示。

2. 对比MAC地址与IP地址

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

MAC地址:描述的是路途上的每一个区间的起点和终点。

三、ARP协议

1. 认识ARP协议

       ARP协议是介于数据链路层和网络层之间的一个协议,作用就是通过IP地址获取指定设备的MAC地址。

2.  ARP协议的作用

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

(1)在网络通讯时,源端主机的应用程序知道对端主机的IP地址和端口号,但是不知道对端主机的硬件地址。

(2)数据包是先被网卡接收到,再去处理上层协议,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。

(3)所以在通讯前,必须先获得目的主机的硬件地址。

3. ARP协议的工作流程

(1)广播ARP请求,将目的端MAC地址设置为全1(广播地址),其中包含了自己的IP地址和MAC地址,以及指定设备的IP地址。

(2)收到ARP请求的主机,会验证目标IP地址与自己是否一致:一致,则组织ARP响应,填充自己的MAC地址进行回复;不一致,则丢弃。

(3)主机获取到指定主机的MAC地址后,会在arp缓存表中临时存储起来(默认保存30分钟)。

4. ARP欺骗攻击

       在局域网中有个恶意主机,不断的给局域网每个主机大量的进行发送ARP响应,覆盖主机上的ARP映射表,告诉主机自己是网关,然后给网关发送ARP响应,告诉自己是主机。

解决方法:设置防火墙,添加局域网的MAC白名单等方式。

四、MTU

1. 认识MTU

MTU:链路层限制的最大传输单元,以太网默认是1500字节。

(1)以太网帧中的数据长度规定,最小为46字节,最大为1500字节。若ARP数据包的长度不足46字节,需要在后面补填充位。

(2)最大值1500字节称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU

(3)若一个数据包从以太网路由到拨号链路上,数据包长度大于了拨号链路的MTU,则需要对数据包进行分片。

(4)不同的数据链路层标准的MTU不同。

2. MTU对IP协议的影响(了解)

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

(1)将较大的IP包分成多个小包,并给每个小包打上标签。

(2)每个小包IP协议头的16位标识(id)都是相同的。

(3)每个小包的IP协议头的3位标志字段中,第2位置0,标识允许分片,第3位来表示结束标记(当前是最后一个小包,则置1,否则置0)。

(4)到达对端时,再将这些小包按序重组,拼接到一起后再交付给传输层。

(5)一旦这些小包中任意一个包丢失,接收端就会重组失效,但是IP层不会负责进行数据重传。

3. MTU对TCP协议的影响

回顾一下TCP协议:

(1)TCP的一个数据报不能无限大,也是受限于MTU。TCP的单个数据报的最大信息长度,称为MSS。

(2)TCP在建立连接的过程中,通信双方就会协商MSS。

(3)最理想的情况下,MSS的值正好是IP不会被分片处理的最大长度(这个长度,仍然是受限于数据链路层的MTU)。

(4)双方在发送SYN的时候会在TCP头部写入自己所能支持的MSS值。

(5)双方得知对方的MSS值后,会选择较小的值作为最终的MSS。

TCP通信时,程序员通常不用过多考虑:

       因为MSS就是根据MTU计数得到的。tcp在传输层发送数据时,就是从缓冲区中取出不大于MSS大小的数据进行封装报头,然后进行传输。(在网络层不会出现数据分片)

       MSS = MTU - 最小IP报头大小 - 最小TCP报头大小

4. MTU对UDP协议的影响

回顾一下UDP协议:

(1)一旦UDP携带的数据超过1472字节(1500 - 20(IP首部) - 8(UDP首部)),那么就会在网络层分成多个IP数据报。

(2)这多个IP数据报一旦有任意一个丢失,都会引起接收端网络层重组失败。也就意味着,如果UDP数据报在网络层被分片,整个数据被丢失的概率就会大大增加。

       UDP通信时,不存在MSS协商过程,只要数据报整体大小小于64k就可以进行传输,但是在网络层会因为大于MTU而导致数据分片,分片后的数据到达对端主机后就需要进行分片重组,而一旦有一个分片有问题,整个数据报文就会被丢弃。

       所以程序员需要最好在应用层就考虑到更多的要素,如果数据过大,就要最好在应用层分包,分包大小需要考虑MTU,尽可能的减少分片可能。

相关文章
|
5天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
23 4
|
15天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
【10月更文挑战第27天】计算机主机网关的作用类似于小区传达室的李大爷,负责将内部网络的请求转发到外部网络。当小区内的小不点想与外面的小明通话时,必须通过李大爷(网关)进行联系。网关不仅帮助内部设备与外部通信,还负责路由选择,确保数据包高效传输。此外,网关还参与路由表的维护和更新,确保网络路径的准确性。
38 2
|
5月前
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
81 5
|
3月前
|
弹性计算 网络协议
计算机网络-数据链路层
计算机网络-数据链路层
计算机网络-数据链路层
|
4月前
|
网络协议 算法 程序员
网络必修课:以太网报文格式详解
嗨,大家好!今天,我要带大家深入了解以太网报文格式,这是现代网络通信的重要基础。无论你是网络工程师、开发者,还是对技术感兴趣的朋友,这篇文章都将为你揭开以太网的神秘面纱,让你更好地理解和应用这一关键技术。准备好了吗?让我们开始吧!
128 4
|
3月前
|
网络协议
网络工程师必看 | 某高校实验作业:以太网帧分析
网络工程师必看 | 某高校实验作业:以太网帧分析
|
5月前
计算机网络学习记录 数据链路层 Day3 (上)(1)
计算机网络学习记录 数据链路层 Day3 (上)(1)
34 2
|
5月前
计算机网络——数据链路层-媒体接入控制的基本概念
计算机网络——数据链路层-媒体接入控制的基本概念
89 7
|
5月前
|
网络协议 C语言 网络架构
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
276 7
|
5月前
计算机网络——数据链路层-媒体接入控制-静态划分信道(频分复用FDM、时分复用TDM、波分复用WDM、码分复用CDM)
计算机网络——数据链路层-媒体接入控制-静态划分信道(频分复用FDM、时分复用TDM、波分复用WDM、码分复用CDM)
119 1