AI智能
改变未来

TCP/UDP相关-三次握手四次挥手以及为什么三次握手-如何实现可靠UDP传输

什么是TCP、UDP以及二者区别

TCP连接就像打电话,两者之间必须要有一条不间断的路,数据不到达对方,对方就一直等待,除非对方直接挂电话。先说的话先到,后说的话后到,是有顺序的。
UDP就像写信,发信方只管发出信件,不管对方是否收到。但是信封上必须写明地址,发信方和收信方没有通路,而是靠邮局联系。信件可能时隔很久才收到,也可能收不到,先发出的未必先到,后发出的也未必后到。

TCP是传输控制协议,提供面向连接的、可靠的字节流服务。客户端和服务端传输数据前,必须先建立TCP连接。TCP提供超时重发、丢弃重复数据、有序接收、应答确认、流量控制等保障可靠传输的功能;
UDP是用户数据报协议,是一种不可靠的、简单的面向数据报的传输层协议。它只负责把应用程序传给IP层的数据报发送出去,而不保证数据报到达。因为不建立连接,所以传输速率很快。
IP层根据端口区分是TCP报文还是UDP报文。

UDP适用场景

  1. 面向数据报方式;
  2. 传输数据大多为短消息;
  3. 拥有大量client;
  4. 对数据安全性无特殊要求;
  5. 网络负担重,且对响应速度要求高;

如何使用UDP实现可靠传输
要使用UDP构建可靠的面向连接的数据传输,就要在应用层自己手动实现一些保障可靠传输的机制,来实现类似于TCP超时重传(定时器)、有序接收(添加包序号)、应答确认(ACK应答机制)、滑动窗口流量控制(滑动窗口机制)等。目前已有的UDP可靠传输机制有UDT、RTP、RUDP等协议。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » TCP/UDP相关-三次握手四次挥手以及为什么三次握手-如何实现可靠UDP传输