TCP/IP 之TCP
TCP与UDP
- TCP是面向连接的, UDP是面向无连接的
- 提供通用的, 可靠的 进程到进程的通信服务, UDP提供不可靠的进程到进程的通信服务.
- TCP使用数据流, UDP使用报文.
注意: TCP 在与上层协议交流时使用数据流的传输格式 , 但是在与下层协议交流时, 为了提高效率, 同样采用报文段的传输格式
报文与数据流的对比
– 报文 数据流 投递单位 报文 byte 接收顺序 报文按顺序接收, 连续报文流, 有报文边界 byte按序接收, 连续字节流,无边界 接收的内容 大小和顺序严格与发送方一致 顺序严格与发送方一致 发送 发送方和接收方以及网络传输过程中都是以报文格式,报文前后可以分割不能合并 发送和接收两端都是数据流, 在网络传输过程冲可以合并成大小不一的数据块
TCP 协议特点
可靠投递服务特点
- 面向数据流的传输, 无结构字节流: 没有边界, 内容任意
- 虚电路连接, 尽管IP网络是无连接的. 但是在TCP的端点上, 却可以看做是面向连接的通信
- 有缓冲的传达–提高传输效率
* 应用进程: 使用自己认为适宜的任意大小的数据片
* TCP 协议软件: 根据网络情况选择适当的收发缓冲区. TCP对上层提供服务是按字节流的方式, 但是对下层协议, 并不是来一个字节就发送一个自己, 而是有一定的缓冲区, 等缓冲区满了, 在交付给下层协议发送, 对于缓冲区的大小, 其实是由当前网络环境的最大发送能力决定的.
* Push: 强制发送滞留的数据. 无论缓冲区的数据是否达到标准, 都强制发送. - 双全工服务 可以同时双向发送数据
- 捎带确认方式: 确认信息放在发送数据的报文中一起发送.