(计算机网络)数据链路层

基础

网络层专门用于解决数据的长距离传输中,路径选择的问题。而数据链路层则专门用于解决数据如何前往下一个路由器的问题。

数据链路层有很多种技术,其中最广泛使用的是以太网 。以太网使用的报文是MAC帧,MAC帧的报头长度是固定的,能够轻松与有效载荷分离。

源地址和目的地址是指网卡的硬件地址(也叫 MAC 地址),长度是 48 位。在网卡出厂时就固定了。类型字段用于表示帧类型,不同类型的MAC帧会将数据交给上层的不同协议。它有三种值,分别对应 IP、ARP、RARP三种协议。

与MAC地址相比,IP 地址描述的是路途总体的起点和终点,而MAC 地址描述的则是路途上的每一个区间的起点和终点。这部分已经在(计算机网络)网络基础-CSDN博客 中讲过,不再赘述。

数据长度限制

我们知道,以太网内,同一时刻只能有一台主机通过以太网向外传输数据,否则不同的数据会相互干扰,导致数据由于一些硬件原因被意外修改,这个被称为数据碰撞。因此,以太网内的主机发送数据时应该尽可能地快,为此数据帧就不能太长,也不能太短,如果太短,发生数据碰撞时,可能碰撞信号还没返回,发送方已经发送完了,误以为发送成功,导致数据丢失。所以在MAC帧中,数据长度有上限也有下限。

数据长度的上限被称为最大传输单元(MTU),不同数据链路层标准的MTU是不同的,以太网的MTU是1500字节。上层的网络层、传输层的协议,报文长度都会收到MTU的限制,因为太长的话会在网络层分片,增加数据丢失的概率。

对于TCP协议而言,由于最终让数据链路层拿到的报文不能超过MTU,将MTU减去IP协议和TCP协议的标准报头长度,就得到了TCP协议的报文中,数据的最大长度,它被称为最大段尺寸(MSS)。TCP 在建立连接的过程中,通信双方会进行 MSS 协商。双方在发送 SYN 的时候会在 TCP 头部写入自己能支持的 MSS,最终选择较小的那个MSS。

对于UDP协议而言,由于它是面向报文的,不会对数据做分割,所以会将所有数据都塞给网络层。如果长度超限了,报文就会被网络层分片,同时UDP协议也不会管数据丢失的问题,所以发生丢失的概率大大增加。

ARP协议

ARP协议是以太网的地址解析协议,属于数据链路层的协议,其它种类的局域网也有类似的协议。当数据送达目标主机所在局域网的路由器时,如果只知道目标主机的IP地址,不知到对方的MAC地址,那也没办法将数据送达。所以需要通过ARP协议将IP地址转换为MAC地址。

当然,ARP协议也没办法直接将IP地址转换成MAC地址,而是提取数据的报头中的IP地址,生成一份ARP请求报文,并在局域网内广播,其它主机收到后就会将其丢弃,对应的主机收到后就会填写一份ARP应答报文并发回,其中就有主机自己的MAC地址。

ARP请求/应答格式如图。由于该长度不足MAC帧要求的数据字段长度下限(46字节),所以其后面会填充一些无意义的内容。另外,由于ARP协议并不是用来传输上层协议的数据的,所以只有报头,没有有效载荷。

注意到源MAC 地址(图中的以太网地址)、目的 MAC 地址在以太网报头和 ARP 报头中各出现一次, 对于链路层是以太网的情况,这个重复是多余的。但如果链路层是其它类型的网络则有可能是必要的。

ARP报头中,硬件类型字段指的是数据链路层的网络类型,为1 表示是以太网。协议类型指要转换的地址类型,为0x0800表示要转换 IP 地址。对于以太网地址,硬件地址长度的值为 6(字节)。对于 IP 地址,协议地址长度的值为 4(字节)。op 字段为 1 表示 该报文是ARP 请求,为 2 表示是 ARP 应答。

相关推荐
等风来不如迎风去5 分钟前
【win11】最佳性能:fix 没有壁纸,一直黑屏
网络·人工智能
Harvy_没救了23 分钟前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
汤愈韬1 小时前
NAT Server 与目的Nat
网络·网络协议·网络安全·security
2401_873479401 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
7ACE2 小时前
Wireshark TS | TLP 超时时间
网络·网络协议·tcp/ip·wireshark·tcpdump
其实防守也摸鱼3 小时前
CTF密码学综合教学指南--第三章
开发语言·网络·python·安全·网络安全·密码学
其实防守也摸鱼3 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
草履虫君4 小时前
VMware 虚拟机网络性能优化指南:从 11 秒到 4 秒的完整调优实践
服务器·网络·经验分享·性能优化
@insist1234 小时前
信息安全-防火墙技术演进全景:从代理NAT 到下一代及专项防火墙
网络·安全·web安全·软考·信息安全工程师·软件水平考试
优化Henry4 小时前
TDD-LTE站点Rilink=3链路故障处理案例---BBU侧C口“有发光、无收光”的排查与恢复
运维·网络·信息与通信·tdd