数据链路层:负责设备之间的数据帧的传送和识别。
一、以太网
以太网的帧格式

如何分离报头和有效数据?
报头是固定长度的
如何将数据交给上层协议?
通过类型,如果是0800,则交给IP协议,如果是0806,就交给ARP协议
Mac地址
- MAC地址用来识别数据链路层中相连的节点
- 长度为48位,及6个字节。 一般用16进制数字加上冒号的形式来表示(如:08:00:27:03:fb:19)
- 在网卡出厂时就确定了,不能修改。mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址,可能会冲突,也有些网卡支持用户配置mac地址)
在网络传输时,源IP地址/目的IP地址不变(NAT技术将内网IP替换成公网IP除外),表示横跨多个网络的地址,源Mac地址/目的Mac地址会一直变化,描述的是路径上的每段路途的起点和终点

认识MTU
MTU相当于发快递时对包裹尺寸的限制,这个限制是不同的数据链路对应的物理层产生的限制
- 以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位
- 最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU
- 如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation)
- 不同的数据链路层标准的MTU是不同的
所以UDP/TCP发送的数据报文的大小都要在一定的范围内,不然在IP层就会被分片,让数据丢失的概率变大,效率变低。
UDP的报文中的有效数据<=1500-20-8=1472,TCP的报文中的有效数据<=1500-20-20=1460(最大段长度MSS)。TCP在建立连接时就会约定好MSS的大小,取两者的较小值
二、ARP协议
在局域网通信中,我们总是能通过主机的IP地址找到主机的Mac地址,从而将

最低0.47元/天 解锁文章
3811

被折叠的 条评论
为什么被折叠?



