首页 > 其他分享 >TCP与UDP的联系与区别

TCP与UDP的联系与区别

时间:2022-10-09 12:11:05浏览次数:60  
标签:UDP 区别 TCP 发送 接收 数据 连接

TCP与UDP是什么?

TCP协议和UDP协议都是属于TCP/IP协议簇中的协议,且都是传输层中的协议。

 

TCP协议

TCP协议是面向连接的协议。TCP传输有三个步骤:建立连接、传输数据、关闭连接。在TCP协议中规定用户在收发数据之前必须和对方建立连接,在结束收发数据后要断开连接。这个建立连接的过程称为“三次握手”,断开连接的过程称为“四次挥手”。

三次握手过程如下:

   第一次握手:由发送方发送带有请求数据连接信息的数据段给接收方,意思是“我能向你发信息吗”。

   第二次握手:由接收方发送带有确认信息的数据段回复发送方,如果接收方同意连接,就进行第三次握手,否则连接到此结束。

   第三次握手:发送方收到接收方回复的数据段后再次发送带有确认信息的数据段,表示收到回复,即将发送信息,意思是“收到收到,我要发送信息了”。

 

 

 

四次挥手过程如下:

   第一次挥手:发送方发送完数据后,向接收方发送停止连接的请求数据段,意思是“我的数据发送完毕,请关闭连接”。

   第二次挥手:接收方收到停止连接的数据段后,就会发送一段数据段,表示“我已关闭连接”。

   第三次挥手:由于TCP连接提供的是双向连接,第二次挥手只是关闭了发送方到接收方方向的连接,此时就需要接收方再次发送一段请求发送方关闭连接的数据段。

   第四次挥手:发送方收到接收方的数据段后,就会将这个方向的连接关闭,并且再次发出数据段通知接收方,表示“我已关闭连接”,至此TCP的连接通道就全部关闭了。

 

 

 

TCP协议的主要特点:

      1.面向连接:TCP通信需要建立连接通道,每一条通道都是点对点的连接。

      2.可靠性传输:TCP在使用下层服务时,如果下层网络是不可靠的,TCP就要屏蔽下层网络的不可靠性,为上层的应用层提供一条可靠通道。

      3.流量控制:TCP连接的两端都有一个缓存窗口来缓存接收的数据,通过滑动窗口机制来控制发送方发送数据的速率,防止接收方缓存窗口溢出。

      4.拥塞控制:当网络出现拥塞时,TCP通过门限值、慢启动算法和拥塞避免算法能减少向网络注入数据的速率和数量,缓解拥塞。

      5.全双工通信:TCP提供双向的数据传输服务,TCP在通信双方的应用程序都设有缓存池,用来临时存放双向通信的数据,使得任何一方在发送数据时也可以接收数据,接收数据时也可以发送数据。

      6.面向字节流:TCP把数据块看成一连串的字节流,并将每个字节进行编号。

 

UDP协议

UDP协议是无面向连接的协议,该协议也是起到传输数据的作用,且只能提供应用进程寻址和简单的差错检测。UDP接收到应用层的数据后,加上UDP的首部后封装成UDP数据报。

UDP的主要特点:

       1.无连接:UDP传输时,通信双方不需要建立连接,也不用释放连接,因此减少了开销和发送数据之前的时延。

       2.尽力而为:UDP提供的是不可靠的传输服务,在传输途中出现重复、丢失、乱序的情况它一概不理,只交给上层应用层处理。一旦检测出UDP数据报出错就会将其丢弃。

       3.高效快速:UDP一旦收到上层的应用层报文后,不拆分也不合并,直接加上UDP首部后就将其发送。同样UDP一旦收到下层报文后就直接上交给应用层。这样就使得UDP的效率非常高,在一些传输可靠性高的网络中,UDP工作表现更好。

 

TCP与UDP的联系:

      1.都是TCP/IP协议簇中的成员。

      2.都是传输层中的协议。

 

TCP与UDP的区别:

      1.TCP面向连接,UDP无连接。

      2.TCP面向字节流,UDP面向数据报。

      3.TCP有流量控制和拥塞控制,UDP没有。

      4.TCP提供全双工通信可靠性通道,UDP提供不可靠通道。

      5.TCP报文首部固定20字节,UDP报文首部8个字节。

 

 

      6.TCP数据报复杂,UDP结构简单。

      7.TCP消耗资源多,UDP消耗资源少。

      

  这是我对TCP与UDP的一点理解,欢迎在底下留下你的评论哦。。。

标签:UDP,区别,TCP,发送,接收,数据,连接
From: https://www.cnblogs.com/HBB666/p/16771354.html

相关文章

  • TCP和UDP的区别
    两种协议的简单介绍TCP:传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议;UDP:用户数据报协议(UDP,UserDatagramProtoc......
  • TCP和UDP的联系与区别
         在TCP/IP体系中,运输层有两个协议:TCP和UDP。    UDP——用户数据报协议是TCP/IP协议体系中运输层协议之一,UDP协议只提供应用进程寻址和简单的差错......
  • 浅析TCP与UDP的联系与区别?
    什么是TCP?传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP的特点:(1)TCP是面向连接的运输层协议。......
  • 模型文件pt/pth/plk的区别
    参考链接:https://zhuanlan.zhihu.com/p/422797058https://blog.csdn.net/qq_27009517/article/details/111272115......
  • UDP和TCP的联系和区别
    1.tcp和udp的概念TCP(TransmissionControlProtocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。在简化的计算机网络OSI模型......
  • TCP与UDP的联系与区别
    TCP与UDP基本区别:1、基于连接与无连接。2、TCP要求系统资源较多,UDP较少。3、UDP程序结构较简单。4、流模式(TCP)与数据报模式(UDP)。5、TCP保证数据正确性,UDP可能丢包。6、TC......
  • TCP与UDP的联系与区别
    TCP与UDP基本区别:1、基于连接与无连接。2、TCP要求系统资源较多,UDP较少。3、UDP程序结构较简单。4、流模式(TCP)与数据报模式(UDP)。5、TCP保证数据正确性,UDP可能丢包。6、TC......
  • TCP与UDP的联系与区别?
    TCP(TransmissionControlProtocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来:1)主机A......
  • PHP 两个等号 和 三个等号的区别
    我们来看一下下面一个程序:$str=“abc”;if(0==$str){echo“真”}else{echo“假”}这个程序运行的结果出人意料,“fupeng”居然被PHP认为和0相等了。为......
  • tcp与udp的区别
    TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接TCP要求的系统资源较多,UDP较少TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差......