网络通讯中TCP协议和UDP协议的关系和差异

TCP/IP 是个协议组,可以分为三个层次:网络层,传输层和应用层

网络通讯中TCP协议和UDP协议的关系和差异

在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。

在传输层中有TCP协议UDP协议

在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。

TCP又叫传输控制协议,TCP是面向连接的,并且是一种可靠的协议,在基于TCP进行通讯时,通信双方需要建立TCP连接,建立连接需要3次握手,握手成功才能进行通信,而断开连接需要进行4次

UDP又叫用户数据报协议,UDP是一个面向无连接,且不可靠的协议,在通信过程中,它并不像 TCP 那样需要先建立一个连接,只要(目的地址,端口号,源地址,端口号)确定了,就可以直接发送信息报文,并且不需要确保服务端一定能收到或收到完整的数据。它仅仅提供了校验和机制来保障一个报文是否完整,若校验失败,则直接丢弃报文,不做任何处理。

TCP与UDP的区别

基于连接无连接:TCP需要连接,UDP不需要连接

 

网络通讯中TCP协议和UDP协议的关系和差异

系统资源的要求:TCP占用的系统资源较多,UDP较少

程序结构较简单:TCP程序复杂,UDP程序简单

流模式与数据报模式:TCP是流模式,UDP是数据报模式

可靠性:TCP保证数据的正确性,UDP丢包,TCP保证数据顺序,UDP不保证

TCP与UDP应用场景:

从特点上我们已经知道,TCP 是可靠的但传输速度慢 ,UDP 是不可靠的但传输速度快。因此在选用具体协议通信时,应该根据通信数据的要求而决定。

若通信数据完整性需让位与通信实时性,则应该选用 TCP 协议(如文件传输、重要状态的更新等);反之,则使用 UDP 协议(如视频传输、实时通信等)。