TCP 协议详解
TCP 服务的特点
- 传输层协议
- TCP:面向连接、字节流,可靠传输
- UDP
- 使用 TCP 通信的啥 UN 官方必须先建立连接,然后才能开始数据的读写,双方都必须为该连接分配必要的内核资源以管理连接的状态和连接上数据的传输
- 完成数据交换后通信双方都必须断开连接以释放系统资源
- TCP 的连接是一对一,不适用于广播、多播
- 无连接的 UDP 适合于广播、多播
- 当发送端应用程序连续执行多次写操作时,TCP 模块将数据放入 TCP 发送缓冲区
- 当 TCP 模块真正开始发送数据时,发送缓冲区中这些等待发送的数据被封装成一个或多个 TCP 报文段发出
- 当接收端收到一个或多个 TCP 报文段后,TCP 模块将他们携带的数据按照 TCP 报文段的序号依次放入 TCP 接收缓冲区,并通知程序读取数据
- 接收端可一次读取出全部数据,也可分多次读取,取决于用户指定的应用程序读缓冲区的大小
- 发送端程序每执行一次写操作,UDP 就将其封装成一个 UDP 数据并发送,接收端必须及时针对每一个 UDP 数据执行读操作否则会丢包,若没有指定足够的应用程序缓冲区来读取则 UDP 数据将被截断
- TCP 可靠性
- 采用发送应答机制