共计 785 个字符,预计需要花费 2 分钟才能阅读完成。
TCP 和 UDP 是两种最为著名的传输层协议,二者都使用 I P 作 为 网 络 层 协 议
尽管 TCP 和 UDP 都使用相同的网络层 (IP),TCP 却向应用层提供与 UDP 完全不同的服务。TCP 提供一种面向连接的、可靠的字节流服务。
TCP: 传输控制协议, 面向连接的协议
面向连接意味着两个使用 TCP 的 应 用 (通 常 是 一 个 客 户 和 一 个 服 务 器) 在 彼 此 交 换 数 据 之前必须先建立一个 TCP 连 接。
一对一传输
tcp 三次握手
TCP 四次断开
TCP 包头
UDP 协议
UDP(User Datagram Protocol),用户数据报协议,是 OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,UDP 提供了无连接通信,适合于一次传输少量数据,UDP 报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但是正因为 UDP 协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如 DNS、TFTP、SNMP 等。
可以一对一、一对多传输、多对一和多对多的交互通信
TCP 与 UDP 区别:
1、TCP 面向连接(如打电话要先拨号建立连接);UDP 是无连接的,即发送数据之前不需要建立连接
2、TCP 提供可靠的服务。也就是说,通过 TCP 连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP 尽最大努力交付,即不保证可靠交付,Tcp 通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
3、UDP 具有较好的实时性,工作效率比 TCP 高,适用于对高速传输和实时性有较高的通信或广播通信。
4. 每一条 TCP 连接只能是点到点的;UDP 支持一对一,一对多,多对一和多对多的交互通信
5、TCP 对系统资源要求较多,UDP 对系统资源要求较少。