网络—— 数据链路层,MTU

数据链路层:用于俩个设备(同一种数据链路节点)之间进行传递

一、认识以太网

  • “以太网”不是一种具体的网络,而是一种技术标准,包含了数据链路层的内容,也包含了一些物理层的内容
  • 以太网必须使用双绞线
  • 以太网是当前最广泛的局域网技术

以太网的帧格式:

  1. 目的地址:6字节,网卡中的硬件地址,固定在网卡上的
  2. 源地址:6字节,网卡中的硬件地址(MAC)
  3. 类型:协议类型:IP,ARP,RARP
  4. 数据:46~1500字节,
  5. CRC:循环冗余验证

认识MTU:

  • MTU,最大传输单元,相当于发快递时对包裹尺寸的限制,是由物理层产生的限制,通常与通信接口有关(网卡接口卡)
  • 以太网帧中数据最小长度时46,ARP数据报的长度不够46字节,要在后面补填充为
  • 以太网帧中的数据最大时1500,称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU
  • 如果以太网中传输的数据包长度大于MTU,则要对其进行分片

MTU对IP协议的影响:

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

  • 将较大的IP包分为多个小包,并给每个小包打上标签
  • 每个小包的IP协议头的16位标识(id)都是相同的
  • 每个小包IP协议头的三位标志字段中,第一位保留,第二位置0,表示允许切片,第三位表示结束标志(最后一个小包置1,其余的小包置0)
  • 到达对端将这些小包按顺序重组,拼装在一起返回给传输层
  • 一但这些小包中任意一个丢失,接受端重组就会失败,但是IP层不负载重传(IP协议无连接,不可靠)

MTU对UDP的影响:

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

MTU对TCP的影响:

  • TCP的一个数据报也不可能无限大,还是受制于MTU,TCP单个数据报的最大消息长度,称为MSS
  • TCP在建立连接的过程中,双方会进行MSS协商
  • 最理想的情况下,MSS的值正好是在IP不会被分片处理的最大长度(这个长度受限于数据链路层的MTU)
  • 双方在发送SYN的时候会在TCP的头部写入字节能支持的MSS值
  • 然后双方得知对方的MSS值之后,选择较小的作为最终MSS
  • MMS的值就在TCP首部的40字节变长选项中(kind=2)

MTU和MSS的关系

MTU:最大传输单元,由不同的数据链路层对应物理层产生的(硬件规定),以太网的MTU=1500

MSS:最大分节大小,为TCP数据包每次传输的最大数据分段大小

MSS的取值受限于MTU

猜你喜欢

转载自blog.csdn.net/audience_fzn/article/details/81269040