一般面试的时候我问这两个协议的区别,大部分人会回答,TCP 是面向连接的,UDP 是面向无连接的;
TCP 是面向连接的协议,就像彬彬有礼的成熟稳定的成年人一样,它会保证数据传输的顺序,可以处理丢包问题,并且在数据传输前要建立连接,在传输结束后要断开连接。TCP 还能控制数据传输的速度,以避免网络拥塞。
UDP 是面向无连接的协议,就像我行我素的PDD商家一样,它不保证数据传输的顺序和丢包问题,也不需要建立连接和断开连接。UDP 只是简单地把数据包发送给对方,如果对方收到了就收到了,如果没有收到就没有收到。因此,UDP 传输数据的速度比 TCP 更快,但也更容易丢包。
所以,TCP和UDP的区别在于,TCP是面向连接的可靠传输协议,保证数据传输的可靠性和完整性,而UDP则是无连接的不可靠传输协议,速度较快但可能出现数据丢失或乱序的问题。
请说人话!
tcp:彬彬有礼,成熟稳定的成年人
顺序问题 , 稳重不乱;
丢包问题,承诺靠谱;
连接维护,有始有终;
流量控制,把握分寸;
拥塞控制,知进知退。
udp:我行我素,不管不顾,管杀不管埋,容易丢包
顺序问题 , 一次就一个包;
丢包问题,我给你发货了,其他我不管;
连接维护,爱接不接;
流量控制,就是干;
拥塞控制,干就完了。
再通俗一点!
tcp就像京东的服务质量好的商家,会保证发货的质量和物流,谁让你付的钱多呢,必须服务到位.
udp就像PDD我只管把商品发出去,有没有到你手上,质量如何我不保证,谁让我便宜呢,要啥自行车.