传输层--TCP和UDP的区别

UDP(用户数据报协议):为调用它的应用程序提供了一种不可靠、无连接的服务。

TCP(传输控制协议):为调用它的应用程序提供了一种可靠的、面向连接的服务。

当设计一个网络应用程序时,该应用程序的开发人员必须指定使用这两种传输协议中的一种。开发人员在创建套接字时必须指定是选择UPD还是选择TCP。

区别:

1、套接字的区别

UDP套接字是由一个包含目的IP地址和目的端口号组成的二元组来全面标识的。

TCP套接字是通过一个四元组(源IP,源端口号,目的IP,目的端口号)来标识的。

2、UDP在应用层能更好地控制要发送的数据和发送时间。

由于TCP有一个拥塞控制机制,TCP在链路非常拥塞的情况下将不满足以上要求。

3、无连接和有连接。

TCP在数据传输之前需要经过三次握手。UPD则不需要。因此UPD不会引入建立连接的时延。DNS正是由于这个原因,运行在UDP上。HTTP则是运行在TCP上的。

4、无连接状态和有连接状态

TCP需要在端系统中维护连接状态。

5、分组头部开销的大小不同。

UDP报文段8字节首部开销。

TCP报文段20个字节的首部开销。

原文地址:https://www.cnblogs.com/zhousong918/p/10461508.html