TCP和UDP区别

首先了解一下UDP特点

  1. 面向非连接的协议,传输数据之前源端和终端无建立连接

  2. 不维护连接状态,支持同时向多个客户端传输相同的消息

  3. 数据包报头只有8个字节,额外开销小

  4. 吞吐量只受限于数据生成速率、传输速率以及机器性能

  5. 尽最大努力交付,不保证可靠交付,不需要维护复制的链接状态表

  6. 面向报文,不对应用程序提交的报文信息进行拆分或合并(发送方的UDP对应用程序交下来的报文在添加首部后就向下交付给IP层,既不拆分也不合并,而是保留这些报文的边界,因此应用程序需要选择合适的报文大小)

区别

  1. TCP面向连接,UDP无连接。TCP有三次握手的连接过程;UDP适合消息的多拨发布,从单个点向多个点传输信息。

  2. 可靠性。TCP是可靠的,利用握手确认和重传机制提供了可靠性保证;而UDP则可能会丢失数据包,不知道有没有被接收。

  3. 有序性。TCP利用序列号保证了消息报的顺序交付,到达时可能无序,但TCP最终会排序;UDP不具备有序性。

  4. 速度。TCP速度比较慢,因为要创建连接保证消息的可靠性和有序性,需要做额外的事情就比较慢;UDP更适合对于速度比较敏感的应用,比如在线视频媒体,电视广播,多人在线游戏等。

  5. 量级。TCP属于重量级,UDP属于轻量级。体现在元数据的头大小,TCP是20个字节,而UDP是8个字节。

posted @ 2019-03-01 11:08  bce1100  阅读(152)  评论(0)    收藏  举报