Ch02-TCP 之 网络模型

Ch02-TCP 之 网络模型

August 2, 2021
Network
network

1. OSI 七层模型 VS TCP/IP 四层模型 #

osi-tcp

2. TCP/IP 四层模型报文封装/解封装 #

message

  • 网络接口层的传输单位是帧(frame)
  • IP 层的传输单位是包(packet)
  • TCP 层的传输单位是段(segment)
  • HTTP 的传输单位则是消息或报文(message)

但这些名词并没有什么本质的区分,可以统称为数据包。

3. TCP/IP 报文拆分 #

message-split

  • 如果 TCP 报文大小超过 MSS(握手阶段协商,大概为 1460 字节) ,就会对报文进行分片,得到一个即将传递到网络层的 TCP 报文。(如果途中一个分片丢失,只需要单独发送该分片就行,该分片也被称为 TCP Segment)。
  • 如果 IP 报文大小超过 MTU(以太网中一般为 1500 字节)就会再次进行分片,得到一个即将发送到网络的 IP 报文。

4. TCP VS UDP #

TCP UDP
连接 面向连接,传输数据前先要建立连接 不需要连接,即刻传输数据
服务对象 仅支持一对一的两点服务 一对一、一对多、多对多的交互通信
可靠性 可靠交付数据的,数据可以无差错、不丢失、不重复、按序到达 尽最大努力交付,不保证可靠交付数据
拥塞控制
流量控制
首部开销 首部长度较长,会有一定的开销 首部只有 8 个字节,并且是固定不变的,开销较小
传输方式 流式传输,没有边界,但保证顺序和可靠 一个包一个包的发送,是有边界的,但可能会丢包和乱序
分片不同 数据大小如果大于 MSS 大小会进行分片 不会分片,依赖网络层 MTU 大小及分片

5. 参考文献 #