TCP:面向有连接,建立连接需要三次握手,断开连接需要四次挥手,报头至少需要20字节,TCP无边界。
UDP:面向无连接,不需要三次握手和四次挥手,报头至少需要8字节,UDP有边界。
TCP的优点和缺点
优点:因为有三次握手,所以可靠稳定,传递数据时,有确认、窗口、重传、拥塞机制。
缺点:易被攻击,浪费时间,传输慢,效率低。
UDP的优点和缺点
优点:效率快,不用建立连接,较安全,没有TCP的机制,易被攻击的漏洞就少 。
缺点:不可靠,不稳定,网络不好时容易丢包。
为什么TCP比UDP可靠?
TCP是面向有连接,建立连接之后才发送数据;而UDP不建立连接也会发送数据。
TCP有确认机制,接收端每收到一个正确包都会回应给发送端。超时或者数据包不完整的话发送端会重传。UDP没有。因此可能丢包。
为什么UDP比TCP快?
UDP没有三次握手,没有阻塞机制。
什么什么时候用UDP,什么时候用TCP?
UDP:一般用于视频传输,要速度,对质量要求不是很高。
TCP:当对网络通讯质量有要求的时候。