×

tcp udp协议

tcp udp协议(TCP、UDP 协议的区别)

admin admin 发表于2023-08-14 11:57:17 浏览35 评论0

抢沙发发表评论

本文目录

TCP、UDP 协议的区别

TCP/IP协议与UDP协议的区别TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。详细点说就是:TCP三次握手过程1 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段,主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我.2 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我3 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:“我已收到回复,我现在要开始传输实际数据了这样3次握手就完成了,主机A和主机B 就可以传输数据了.3次握手的特点没有应用层的数据SYN这个标志位只有在TCP建产连接时才会被置1握手完成后SYN标志位被置0

传输协议:TCP和UDP的区别

TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP三次握手的过程如下:

客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。

服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。

客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。

TCP建立连接要进行3次握手,而断开连接要进行4次(1)当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求(2)主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1(3)由B 端再提出反方向的关闭请求,将FIN置1(4)主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础。

UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。

传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制

TCP与UDP的区别:

1.基于连接与无连接;

2.对系统资源的要求(TCP较多,UDP少);

3.UDP程序结构较简单;

4.流模式与数据报模式 ;

5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

传输控制协议tcp 与udp 的区别

1)连接vs无连接:

TCP面向连接,在收发数据前必须和对方建立可靠的连接;

UDP是无连接的,发送数据前是不需要建立连接,当它想传送时就简单的去抓取来自应用程序的数据,并尽可能快的把它扔到网络上。

2)可靠性:

TCP提供交付保证,是可靠的,意味着一个使用TCP协议发送的消息是保证交付给客户端的,如果消息在传输过程中丢失,那么它将重发,通过TCP连接传送的数据,没有差错,不丢失,不重复,且按序到达;

UDP不提供任何交付保证,是不可靠的,,他是尽最大的努力,即不保证可靠地交付

3)有序性:

TCP也保证了消息的有序性,该消息将从服务器端发送的同样的顺序发送到客户端,尽管这些消息到网络的另一端时可能是无序的,但TCP协议将会为你排好序;

 UDP不提供任何有序性或序列性的保证,数据包将以任何可能的顺序到达(尽管有基于UDP的协议通过使用序列号和重传来提供有序的可靠的应用)

4)数据边界:

TCP不保存数据的边界,数据以字节流的形式发送,并没有明显的标志表明传输信号消息的边界;

UDP保存数据的边界,数据包单独发送,只要当他们到达时,才会再次集成,包有明确的界限表明哪些包已经收到,这意味着在消息发送后,在接收器接口将会有一个读操作,来生成一个完成的消息

5)速度:

TCP比较慢,因为TCP必须创建连接,以保证消息的可靠交付和有序性,他需要做比UDP多得多的事

UDP比较快

6)重量级vs轻量级

TCP被认为是重量级的协议

UDP被认为是轻量级的协议,因为UDP传输的信息中不承担任何间接创造连接,保证交货或秩序的信息

7)头大小

TCP数据包报头的大小是20字节,TCP报头中包含序列号,ACK号,数据偏移量,保留,控制位,窗口,紧急指针,可选项,填充项,校验位,源端口和目的端口

UDP数据包报头的大小是8字节,UDP报头中只包含长度,源端口号,目的端口和校验和

8)拥塞或流控制

TCP有流量控制和拥塞控制

UDP不能进行流量控制无拥塞控制

9)对接

每一条TCP的连接是点到点的;UDP支持一对一,一对多和多对多的交互通信

10)适合场景

TCP提供可靠交付和有序性的保证,它最适合需要高可靠并对传输时间要求不高的应用,如金融领域

UDP更适合的应用程序需要快速,高效的传输应用,如游戏和娱乐场所