OSI
- 物理层 链路层 网络层 传输层 会话层 表示层 应用层
- IP属于网络层,TCP属于传输层
- 你可以把每一层想像成粽子的粽叶,包裹了七层的粽子
- 最外面的是物理层,最里面的是应用层,我们的数据就是粽肉
- 特殊的地方在于传输数据有最大值限定,即最大传输单元(MTU)
- 数据 > MTU,就需要被分片
IP分片
- IP层的上层是传输层
- TCP头部为20字节,UDP头部是8字节
- IP层头部占20字节
- IP层的MTU = 1500 - 20 = 1480字节
- IP层传输数据超过1480字节,就需要被分片,达到目的地前会自己重组
TCP分组
- TCP是可靠传输协议,通过超时与重传机制,保证数据完整性
- 如果传输数据大于1480 - 20 = 1460字节, 会在IP层被分片
- IP层分片缺点
- 如果某个IP分片丢失,由于TCP不知道是哪个IP分片,所以
需要重传整个TCP段,这样就造成了空间和时间的浪费
- 如果某个IP分片丢失,由于TCP不知道是哪个IP分片,所以
- 为了解决这个问题,就有了TCP分组和MSS(最大报文段长度)
- TCP三次握手过程中,交互各自的MTU,然后用小的那个MTU-20-20,得到MSS,以避免在IP层被分片
UDP
- UDP是不可靠传输,IP分片主要是为了UDP服务的
- 超过1500 - 20(IP头部) - 8(UDP头部) = 1472字节时,会发生IP分片
网友评论