TCP和UDP之间的区别

作者&投稿:邲晨 (若有异议请与网页底部的电邮联系)
TCP和UDP的主要区别是什么?~

1、在连接上,TCP是基于连接的,是面向连接的运输层协议,如打电话之前要拨号建立连接,UDP是无连接的,即发送数据之前不需要建立连接。
2、在对于系统资源的要求上,TCP较多,UDP较少。
3、结构程序方面,TCP的结构较为复杂,而UDP结构较为简单。
4、在模式上TCP为流模式,而UDP则是数据报模式。
5、TCP能保证数据的正确性和顺序性,而UDP可能丢失且不能保证数据的顺序不改变。

拓展资料TCP与UDP具体编程时的区别
1、sockt的参数两者是不同的,TCP提供可靠地通信传输,UDP则是主要用于广播和细节控制交给应用的通信传输。
2、在进行编程时UDP server不需要调用listen和zccept,而TCP则需要调用。
3、UDP收发数据用sendto/recvfrom函数。
4、TCP:地址信息在connect/accept时确定。
5、UDP:在sendto/recvfrom函数中每次均需指定地址信息爱,且shutdown函数无效。

tcp与udp的区别,不懂的可以看一看

TCP和UDP区别

TCP(或传输控制协议)

    UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误地到达目的地。UDP 在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用 UDP。ICQ 短消息使用 UDP 协议发送消息。 
    许多程序将使用单独的TCP连接和单独的UDP连接。重要的状态信息随可靠的TCP连接发送,而主数据流通过UDP发送。

 UDP(或用户数据报协议)

    TCP的目的是提供可靠的数据传输,并在相互进行通信的设备或服务之间保持一个虚拟连接。TCP在数据包接收无序、丢失或在交付期间被破坏时,负责数据恢复。它通过为其发送的每个数据包提供一个序号来完成此恢复。记住,较低的网络层会将每个数据包视为一个独立的单元,因此,数据包可以沿完全不同的路径发送,即使它们都是同一消息的组成部分。这种路由与网络层处理分段和重新组装数据包的方式非常相似,只是级别更高而已。
    为确保正确地接收数据,TCP要求在目标计算机成功收到数据时发回一个确认(即 ACK)。如果在某个时限内未收到相应的 ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。但是,接收计算机可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它。

TCP与UDP的选择

    如果比较UDP包和TCP包的结构,很明显UDP包不具备TCP包复杂的可靠性与控制机制。与TCP协议相同,UDP的源端口数和目的端口数也都支持一台主机上的多个应用。一个16位的UDP包包含了一个字节长的头部和数据的长度,校验码域使其可以进行整体校验。(许多应用只支持UDP,如:多媒体数据流,不产生任何额外的数据,即使知道有破坏的包也不进行重发。) 
    很明显,当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。TCP丰富的功能有时会导致不可预料的性能低下,但是我们相信在不远的将来,TCP可靠的点对点连接将会用于绝大多数的网络应用。



TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快

现在Internet上流行的协议是TCP/IP协议,该协议中对低于1024的端口都有确切的定义,他们对应着Internet上一些常见的服务。这些常见的服务可以分为使用TCP端口(面向连接)和使用UDP端口(面向无连接)两种。

说到TCP和UDP,首先要明白“连接”和“无连接”的含义,他们的关系可以用一个形象地比喻来说明,就是打电话和写信。两个人如果要通话,首先要建立连接——即打电话时的拨号,等待响应后——即接听电话后,才能相互传递信息,最后还要断开连接——即挂电话。写信就比较简单了,填写好收信人的地址后将信投入邮筒,收信人就可以收到了。从这个分析可以看出,建立连接可以在需要痛心地双方建立一个传递信息的通道,在发送方发送请求连接信息接收方响应后,由于是在接受方响应后才开始传递信息,而且是在一个通道中传送,因此接受方能比较完整地收到发送方发出的信息,即信息传递的可靠性比较高。但也正因为需要建立连接,使资源开销加大(在建立连接前必须等待接受方响应,传输信息过程中必须确认信息是否传到及断开连接时发出相应的信号等),独占一个通道,在断开连接钱不能建立另一个连接,即两人在通话过程中第三方不能打入电话。而无连接是一开始就发送信息(严格说来,这是没有开始、结束的),只是一次性的传递,是先不需要接受方的响应,因而在一定程度上也无法保证信息传递的可靠性了,就像写信一样,我们只是将信寄出去,却不能保证收信人一定可以收到。
TCP是面向连接的,有比较高的可靠性,
一些要求比较高的服务一般使用这个协议,如FTP、Telnet、SMTP、HTTP、POP3等,而UDP是面向无连接的,使用这个协议的常见服务有DNS、SNMP、QQ等。对于QQ必须另外说明一下,QQ2003以前是只使用UDP协议的,其服务器使用8000端口,侦听是否有信息传来,客户端使用4000端口,向外发送信息(这也就不难理解在一般的显IP的QQ版本中显示好友的IP地址信息中端口常为4000或其后续端口的原因了),即QQ程序既接受服务又提供服务,在以后的QQ版本中也支持使用TCP协议了。

1.面向连接的TCP
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。
总之,TCP要建立连接必须经过三次握手。
优点:1、面向连接的传输;2、数据传输稳定可靠;3、端到端的通信;4、全双工方式;5、以字节为单位传输
缺点:传输速度不够快

2.面向无连接的UDP
“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
每个数据包的大小限定在64K以内!
优点:1、传输速度快;2、效率高;
缺点:数据包可能会丢失

小结:正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。


这个http协议的post请求是什么意思?
向服务器提交数据,比如,你注册网站的账号,填完之后,提交时就会向服务器发一个post请求。服务器收到之后,会存到数据库。

动物营养学答案
粗蛋白质(CP):饲料中一切含N物质的总称,包括饲料非蛋白质含N物,如AA、酶、某些V、尿素、氨、无机含N盐。数值上,CP等于N×6.25。消化实验:以测定动物对饲料养分的消化能力或饲料养分的可消化性为目的的实验。代谢能(ME):饲料消化能减去尿能及消化道可燃气体的能量后剩余的能量。维持:是指动物生存过程中的一种...

ip层负责什么样的通信
CP\/IP分为四层:网络接口层 网络层 传输层 应用层。IP协议工作在网络层是无连接的,不可靠的数据包协议,主要是用于路由数据包及主机之间寻址 。TCP UDP 是传输层协议 用于端到端的通信!(进程—进程) TCP是面向连接的 UDP 是面向无连接的 UDP,TCP在传输层,IP在网络层,TCP\/IP是英文Transmissi...

电脑thcp是什么意思
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP...

临床执业医师考点:脂类代谢
(一)脑苷脂:神经酰胺与UDP-葡萄糖生成葡萄糖脑苷脂,由葡萄糖基转移酶催化,是b-糖苷键。也可先由糖基与鞘氨醇反应,再酯化。 (二)脑硫脂:硫酸先与2分子ATP生成PAPS,再转移到半乳糖脑苷脂的3位。由微粒体的半乳糖脑苷脂硫酸基转移酶催化。 (三)神经节苷脂:以神经酰胺为基础合成,UDP为糖载体,CMP为唾液酸...

简述常用的网络服务及提供服务的默认端口
伪造两个chargen服务器之间的UDP包。同样Fraggle DoS攻击向目标地址的 这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。 端口:21 服务:FTP 说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开 anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly Trojan...

android socket udp 怎么封装ip+报头+协议
而是测量路由器之间跳跃次数或网段的个数。发送数据报的计算机设置初始生存时间。9、协议(8比特)该字段指定数据报的数据部分所使用的协议,因此IP层知道将接收到的数据报传向何处。TCP协议为6,UDP协议为17。10、报头检验和(16比特)该字端使数据报的接收方只需要检验IP报头中的 ...

端口的作用是什么?
2、网络端口 在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。这里所指的端口不是指物理意义上的端口,而是特指TCP\/IP协议中的端口,是逻辑意义上的端口。3、软件端口 即缓冲区。\/iknow-pic.cdn.bcebos.com\/e824b...

关于端口
UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。 查看端口 在Windows 2000\/XP\/Server 2003中要查看端口,可以使用Netstat命令: 依次点击“开始→运行”,键入“cmd”并回车,打开命令...

你能说出哪些常用端口?
常见的一种DoS攻击是echo循环(echo-loop),攻击者伪造从一个机器发送到另一个机器的UDP数据包,而两个机器分别以它们最快的方式回应这些数据包。另一种东西是由DoubleClick在词端口建立的TCP连接。有一种产品叫做“Resonate Global Dispatch”,它与DNS的这一端口连接以确定最近的路由。Harvest\/squid cache将从3130端口...

绵竹市18772537403: tcp协议和UDP协议之间的区别是什么啊? -
五仪五积: 1.TCP的特点TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简...

绵竹市18772537403: TCP和UDP之间的区别 -
五仪五积: TCP---传输控制协议,提供的是面向连接、可靠的字节流服务.当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据.TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传...

绵竹市18772537403: UDP和TCP的区别? -
五仪五积: UDP和TCP的区别: 1.基于连接与无连接 2.对系统资源的要求(TCP较多,UDP少) 3.UDP程序结构较简单 4.流模式与数据报模式 5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证UDP 是User Datagram Protocol的简...

绵竹市18772537403: 简述TCP与UDP的最大区别? -
五仪五积: TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介...

绵竹市18772537403: tcp协议和udp协议的区别有哪些 -
五仪五积: 相同:都是传输层的协议 不同:tcp是面向连接的,udp是面向无连接的.tcp采用虚电路的传输形式,udp采用数据报的方式. tcp是可靠传输,udp是不可靠传输.tcp有纠错机制,udp无纠错机制.

绵竹市18772537403: TCP和UDP的主要区别???? -
五仪五积: TCP是一种面向连接的协议,所以,在使用TCP通信时,双方需要首先建立连接再进行通信,这需要花费一定的建立连接的时间.但是在建立连接之后,双方就可以像电话联系那样准确、同步地进行通信.而使用UDP通信时,由于UDP是一种...

绵竹市18772537403: TCP协议和UDP协议的区别是什么 -
五仪五积: TCP是美国国防部设计的两种传输协议之一,另一种是UDP.UDP是一种不可靠的网络服务,负载比较小,而TCP则是一种可靠的通信服务,负载相对而言比较大.TCP采用套接字(socket)或者端口(port)来建立通信.TCP给端口到端口通信提供了错误和流量控制机制,同时TCP还负责建立连接、处理终止和中断的端对端通信控制. 通常情况下我们认为TCP相比UDP具有更大的通信负载,UDP不具备TCP的控制特性,TCP用了大约20个字节来发送一个65Kbps的数据块,这个报头占整个数据块的比重也不过3%.总得来看,这个负载是合理的,何况还令通信具有了可靠性.

绵竹市18772537403: TCP编程和UDP编程的主要区别是什么? -
五仪五积: tcp和udp从协议上的主要区别是:tcp是可靠的,流时的,但是链接建立比较“重”,需要三次握手,udp不能保证数据一定到达接收方,并且数据包并不能保证按照发送方的顺序接收.编程上的区别应该并不大,因为底层的API都屏蔽了协议上的差别.

绵竹市18772537403: tcp与udp的区别在什么地方?
五仪五积: 从专业的角度说,TCP的可靠保证,是它的三次握手机制,这一机制保证校验了数据,保证了他的可靠性.而UDP就没有了,所以不可靠.不过UDP的速度是TCP比不了的,而且UDP的反应速度更快,QQ就是用UDP协议传输的,HTTP是用TCP协议传输的,不用我说什么,自己体验一下就能发现区别了.再有就是UDP和TCP的目的端口不一样(这句话好象是多余的),而且两个协议不在同一层,TCP在三层,UDP不是在四层就是七层.

绵竹市18772537403: tcp和udp协议怎么区分? -
五仪五积: 面向连接的TCP “面向连接”就是在正式通信前必须要与对方建立起连接.比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话. TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网