TCP和UDP协议
OSI网络七层模型
网络各层的主要功能
- 低三层
物理层: 使原始的数据比特流能在物理介质上传输。
数据链路层:通过校验、确认和反馈重发等手段,形成稳定的数据链路。(010100010101)
网络层: 进行路由选择和流量控制。(IP协议) - 传输层:提供可靠的端口到端口的数据传输服务(TCP/UDP协议)。
- 高三层
会话层: 负责建立、管理和终止进程之间的会话和数据交换。
表示层: 负责数据格式转换、数据加密与解密、压缩与解压缩。
应用层:为用户的应用进程提供网络服务。
传输控制协议TCP
传输控制协议(TCP)是Internet 一个重要的传输协议。TCP提供面向连接、可靠、有序、字节流传输服务。应用程序在使用TCP之前,必须先建立TCP链接。
TCP报文参数:
- URG:紧急标志位,说明紧急指针有效;
- ACK:确认标志位,多数情况下空,说明确认序号有效;
- PSH:推标志位,置位时表示接收方应立即请求将报文交给应用层;
- RST:复位标志,用于重建一个已经混乱的连接;
- SYN:同步标志,该标志仅在三次握手建立TCP连接时有效
- FIN:结束标志,带该标志位的数据包用于结束一个TCP会话。
TCP握手机制
- 三次握手
- 四次挥手
用户数据报文协议UDP
用户数据报协议UDP是Internet 传输协议。
提供无连接、不可靠、数据报尽力传输服务。
开发人员在UDP上创建应用时,关注以下几点:
- 应用进程更容易控制发送什么数据以及何时发送
- 无需建立连接
- 无连接状态
- 首部开销小
UDP和TCP比较
TCP | UDP |
---|---|
面向连接 | 无连接 |
提供可靠性保证 | 不可靠 |
慢 | 快 |
资源占用多 | 资源占用少 |
注: 部分内容来源于网络,如有侵权,请联系删除!