TCP和UDP的区别分析和应用场景

        根据应用程序的不同需求,传输层需要有两种不同的传输协议,面向连接的TCP和无连接的UDP。

        当传输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),当时这种逻辑通信信道就相当于一条全双工可靠信道。当采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道

        TCP:提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免地增加了许多的开销,如确认流量控制计时器以及连接管理等。这不仅使协议数据单元首部增大很多,还要占用许多的处理机资源

        UDP:在传送数据之前不需要先建立连接。远地主机的传输层在收到UDP数据报后不需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP却是一种最有效的工作方式。

使用TCP和UDP的应用和应用层协议
序号 应用 应用层协议 使用的传输层协议
1 万维网 HTTP超文本传输协议 TCP
2 文件传送 FTP文件传输协议
3 电子邮件 SMTP简单邮件传输协议
4 远程登录 TELNET远程终端协议
5 安全的远程登录 SSH安全外壳协议
6 名字转换 DNS域名系统



UDP



 
7 文件传送 TFTP简单文件传输协议
8 路由选择协议 RIP路由信息协议
9 IP地址配置 DHCP动态主机设置协议
10 网络管理 SNMP简单网络管理协议
11 远程文件服务器 NFS网络文件系统
12 IP电话 专用协议
13 流式多媒体通信 专用协议
14 多播 IGMP网际组管理协议
TCP和UDP协议比较
序号 对比项 TCP UDP
1 可靠性 可靠 不可靠
2 连接性 面向连接 连接
3 报文 面向字节流 面向报文(保留报文的边界)
4 效率 传输效率低 传输效率高
5 双工性 全双工 一对一、一对多、多对一,多对多
6 流量控制 有(滑动窗口)
7 拥塞控制 有(慢开始、拥塞[se]避免、快重传、快恢复)
8 传输速度
9 应用场合 效率要求相对低,但对准确性要求相对高;或者是有连接的场景 效率要求相对高,对准确性要求相对低的场景
10 应用实例

TCP一般用于:

1、文件传输FTP,HTTP 对数据的准确性要求高,速度可以相对慢);

2、发送或接收邮件POP3,IMAP,SMTP 对数据准确性要求高,非紧急应用);

3、远程登录(TELNET,SSH 对数据准确性有一定要求,有连接概念)等等

UDP一般用于:

1、即时通信QQ聊天,对数据准确性和丢包要求比较低,但速度必须快);

2、在线视频RTSP 速度一定要快,保证视频连续,但是偶尔花了一个图像帧,人们还是能接受的

3、网络语音电话VoIP 语音数据包一般比较小,需要高速发送,偶尔断音或串音也没有问题)等等

你可能感兴趣的:(TCP/IP)