以太网:
以太网是一种局域网技术。当一个数据报到达数据链路层时,会对数据报进行以太网封装,形成以太网帧。
目的地址和源地址是6字节48位的mac地址,mac地址是用来识别链路层中相连的节点,也叫网卡的硬件地址,这个地址一般在网卡出厂时就固定了,不能修改(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡⽀持⽤户配置mac地址)。mac地址常用十六进制加冒号表示:08:00:27:03:fb:19。
2字节8位类型一共有三种,分别对应IP、ARP、RARP。
帧末尾是32位CRC校验码,用来检验数据传输是否损坏。
MTU
MTU是指最大传输单元,不同类型网络有不同的最大传输单元,以太网MTU一般为1500字节。如果一个数据包长度大于MTU,则需要被分片。
MTU对IP数据包的影响:
假如有一个IP数据报文长度为3008字节,在IP层封装一个IP协议头,一共为3028字节。因为3028>1500所以需要对IP数据包进行分片。但是分片时仅对上层的数据报分片,首部不需要分片。分片过程如下:
1.首先计算最大的IP包中IP净荷的长度 =MTU-IP包头长度=1500-20= 1480字节。
2.然后把3008字节按照1480字节的长度分片,将要分为3片,3008= 1480+1480+48。
3. 最后发送者将为3个分片分别添加IP包头,组成3个IP包后再发送,3个IP包的长度分别为1500字节、1500字节和 68字节。
每个小的IP数据包中头部16位标识都一样,每个小包的3位标志字段中第二位置为0,最后一个小包的第三位置1。
MTU对TCP数据包的影响:
TCP的一个数据包也不能无限长度,还是受制于MTU,一个TCP的单个数据段最大长度,称为MSS(Max Segment Size)。
TCP在建立连接时,双方会对MSS进行协商。最理想的情况下, MSS的值正好是在I