TCP和UDP的联系与区别
在TCP/IP体系中,运输层有两个协议:TCP和UDP。
UDP——用户数据报协议是 TCP/IP 协议体系中运输层协议之一,UDP协议只提供应用进程寻址和简单的差错检测,并不提供其他功能。UDP接收应用层的数据,加上UDP 首部后封装成 UDP 数据报。
TCP——传输控制协议,是专门为了不可靠的互联网络中提供一个可靠的端到端的通信而设计的,是TCP/IP 协议体系中运输层的重要协议。TCP 为应用层提供面向连接的、可靠的数据传输服务。发送方应用进程将数据交给TCP,TCP保证将这些数据有序地、无差错地、完整地送达目的应用进程。同时TCP还具有流量控制和拥塞控制能力。TCP 为应用进程构建了一个可靠的比特流管道,发送方应用进程的比特从一端流入,无差错地、完整地从另一端流出,交给接收方应用进程,因此TCP适用于对数据可靠性有要求的应用。
网络应用应该根据需求的不同来选择使用TCP还是UDP。随着各种各样的应用不断增多,应用层协议也会不断地增多。在TCP/IP 协议体系中,输层协议只有两个,这样会出现多个应用层协议使用同一个运输层协议的情况。例如,用户在使用 FTP 协议下载文件的同时也能用 HTTP 协议浏览网页,这时 FTP 软件和浏览器都在使用TCP 提供的服务。那么当这个主机的TCP 收到一个TCP报文段时,其中的数据应该交给FTP 软件还是浏览器?TCP/IP的运输层提供了多路复用和多路分解来解决应用进程寻址问题。这里的“复用”是指在发送方不同的应用进程可以使用同一个运输层协议传送数据,而“分解”是指接收方的运输层在剥去报文的首部后能够把这些数据交付给正确的目的应用进程。
TCP与UDP的区别总结:
1、 TCP面向连接 ; UDP是无连接的,即发送数据之前不需要建立连接
2、TCP提供可靠的服务。通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。TCP通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5、TCP对系统资源要求较多,UDP对系统资源要求较少。
浙公网安备 33010602011771号