TCP与UDP区别

TCP、UDP的区别及使用场景 在正式传输数据之前,先适用预先的协议,建立点到点的链接。TCP建立的连接实际建立了一个双向的会话连接,即通讯双方都可以向对方发送数据什么是面向无连接?是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)送到线路上,由系统自主选定路线进行传输。邮政系统是一个无连接的模式,天罗地网式的选择路线,天女散花式的传播形式;IP、UDP协议就是一种无连接协议。 阅读详情

TCP与UDP区别

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

(下面这一段TCP介绍来自百度知道,原因是这段话比较好理解,因此加入进来)

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

UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快;

下面一段来自百度知道

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! 
  UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次“ping”操作发送4个数据包。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。 
verview

TCP (Transmission Control Protocol) is the most commonly used protocol on the Internet. The reason for this is because TCP offers error correction. When the TCP protocol is used there is a "guaranteed delivery." This is due largely in part to a method called "flow control." Flow control determines when data needs to be re-sent, and stops the flow of data until previous packets are successfully transferred. This works because if a packet of data is sent, a collision may occur. When this happens, the client re-requests the packet from the server until the whole packet is complete and is identical to its original. UDP (User Datagram Protocol) is anther commonly used protocol on the Internet. However, UDP is never used to send important data such as webpages, database information, etc; UDP is commonly used for streaming audio and video. Streaming media such as Windows Media audio files (.WMA) , Real Player (.RM), and others use UDP because it offers speed! The reason UDP is faster than TCP is because there is no form of flow control or error correction. The data sent over the Internet is affected by collisions, and errors will be present. Remember that UDP is only concerned with speed. This is the main reason why streaming media is not high quality.

On the contrary, UDP has been implemented among some trojan horse viruses. Hackers develop scripts and trojans to run over UDP in order to mask their activities. UDP packets are also used in DoS (Denial of Service) attacks. It is important to know the difference between TCP port 80 and UDP port 80. If you don't know what ports are go here.

Frame Structure

As data moves along a network, various attributes are added to the file to create a frame. This process is called encapsulation. There are different methods of encapsulation depending on which protocol and topology are being used. As a result, the frame structure of these packets differ as well. The images below show both the TCP and UDP frame structures.

TCP FRAME STRUCTURE

UDP FRAME STRUCTURE

The payload field contains the actually data. Notice that TCP has a more complex frame structure. This is largely due to the fact the TCP is a connection-oriented protocol. The extra fields are need to ensure the "guaranteed delivery" offered by TCP.

UDP 
    UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误地到达目的地。UDP 在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用 UDP。ICQ 短消息使用 UDP 协议发送消息。 
    许多程序将使用单独的TCP连接和单独的UDP连接。重要的状态信息随可靠的TCP连接发送,而主数据流通过UDP发送。
TCP
    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协议和udp协议的差别 
                   	TCP				 UDP 
是否连接    	面向连接 		面向非连接 
传输可靠性 	可靠 			不可靠 
应用场合		 传输大量数据 	少量数据 
速度			 慢 				快
原文网址:http://blog.sina.com.cn/s/blog_493309600100clrw.html


TCP协议和UDP协议详解(十分详细) 1.介绍了TCP和UDP的区别; 2. 介绍了TCP和UDP的报文格式及其作用; 3.介绍了其通信机制; 立即下载

相关推荐

Unity特效序列帧输出全攻略:Recorder+Timeline保姆级教程(解决透明通道问题)

本文提供Unity特效序列帧输出的完整解决方案,重点讲解如何结合Recorder与Timeline工具,实现带透明通道的PNG序列帧高效输出。通过保姆级教程,详细解析摄像机隔离、层级设置、参数配置等关键步骤,并深度解决透明通道丢失等常见问题,帮助特效师和动画师打通引擎创作与后期合成的工作流。

tensorflowjs6的博客 429

TCP/IP网络协议部分 续二

在前一节,我们简要的介绍了下网络的分层体系,及其OSI/TCP/IP的分层图,并对分层的各层做了个简要的描述。下面我们将重点的一起来了解应用层,网络层,传输层,数据链路层,物理层的功能。极其数据封装传输的细节,在各层的封装表示。通过详细的了解数据封装过程。对后面实现常用的网络应用如网络数据包过滤,防火墙实现,协议过滤,IP过滤,端口过滤,NAT应用提供强有力的支撑,一切都是基于这个理论来实

每天有点惊喜 942

常用的集成TTL门电路

本篇主要分析了常用的逻辑门电路与非门,详细分析了电源原理。值得收藏。

ManagerUser的博客 5086

通讯协议的选择,TCP or UDP

在网络应用系统的实现中,一般来说,有两类协议可供选择, TCP或者UDP。关于这个话题,网上有大量的文章讨论,我在这里只是做一个比较简单的总结:a. 从应用程序者角度来看,我们可以看到这样一些区别:在整个TCP的会话过程中,总是与一个socket句柄相关联。在对于UDP,是没有这样一个固定的socket句柄。TCP的socket句柄,你可以把它作为一个普通的IO句柄一样看待,可以读入数据,或者写入

爱上龙卷风的专栏 1700

3D美术14——max——fbx导入max后直接生成bip人形骨骼插件

最近经常会从unity里反八FBX到max里进行2次修改。 但是非常尴尬的事情就是,就是用max做的fbx,你在反导入回来,BIP骨骼都会变成预制体。这个时候有一个方法补救。那就是在导入的时候调整一下参数。(如下图) 把这里调整成设置为骨骼。就还可以了。 但是,如果你不是用max做的FBX。呵呵,那么你一定很头大,因为完全没有用。 所以,这个时候就要上插件了。 Autofbxtobip v.1.1 这个插件适用于2015及其以上版本。 在这之前我还用过一款叫BIPPY,但是效果相当感人,照着这个图片调整

qq_37576129的博客 1万+

C#通过Aforge调用电脑摄像头(附代码)

C#标准库本身不带有能调用电脑摄像头的库,如果利用windows自身的API来实现的话,着实有些麻烦。Aforge这个第三方库能很好的实现调用、处理的功能。 PS:文末给大家分享了完整的项目源码,各位最好先下载下来,对照着来看 1、先看一下效果 2、Aforge介绍 AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。 3、我使用的开发环境 操作系统

weixin_44996090的博客 1万+

HTTP与HTTPS协议介绍

HTTP HTTPS 网络协议

Archi-dreamer的博客 1647

第12篇:TMC2240 CoolStep节能功能|软件配置+功耗测试(保姆级)

本文介绍了TMC2240驱动芯片的CoolStep节能功能,通过动态调节电机电流实现功耗优化。CoolStep利用StallGuard技术实时检测负载,自动调整运行电流,空载时可降低50%以上功耗。文章详细讲解了节能原理、寄存器配置方法和参数校准步骤,提供可直接复用的STM32代码。该功能特别适合电池供电设备,能显著延长续航时间,同时保持电机性能稳定。配置时需注意SG阈值、电流步长等关键参数,并可与静音模式叠加使用。

BackCatK Chen的博客 918

网络编程:TCP与UDP简介及端口映射技术

这是张富涛的第5篇原创 网络编程:TCP与UDP简介及端口映射技术 1. TCP与UDP简介 在Java中,网络编程有两种通讯协议:TCP 和 UDP。 其中两种传输方式的优缺点对比: TCP:优点较为安全,缺点是较慢。 UDP:优点较快,缺点是“丢包”。 传输方式的差别: TCP:A链接B,只要链接上就不用再次建立链接,下次可以直接传输(类似打电话) UDP:数据发送过去,不关心消息送没送到,不关心传输地址存不存在,消息发送了之后,链接就断开了(类似发快递、给离线的用户发送qq) .

张富涛的博客 3746

IgH EtherCAT 从入门到精通:第 5 章 多主站与系统集成配置

本文介绍了 EtherCAT 多主站配置与系统集成方法。主要内容包括: 多主站实例配置原理:通过内核模块参数指定多个主站设备,每个主站独立管理一条 EtherCAT 总线,最多支持32个主站实例。 配置文件详解:在/etc/ethercat.conf中通过MASTER<X>_DEVICE变量定义各主站绑定的网卡或MAC地址,支持冗余备份配置。 系统服务集成:提供了systemd服务单元文件和传统init.d脚本两种方式实现开机自启动和管理,并建议通过override文件定制服务依赖关系。 架构示

从事嵌入式linux android驱动开发,拥有全栈能力 349

27930-2015+充电协议解析

对2015+充电与2015充电进行硬件电路对比、通信协议对比和2015+通信协议解析。

manjixingkong1234的专栏 232

TCP协议与UDP协议的区别

1.TCP协议 TCP:传输控制协议(Transmission Control Protocol) TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,位于计算机网络OSI模型中的IP层之上,应用层之下的中间层,即传输层。 当应用层向TCP层发送数据流时,TCP则把数据流分割成适当长度的报文段,之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。 TCP为了保证报文...

lilygg的博客 5341

【虚幻引擎UE】UE5 四步骤实现AI漫游与对话行为(含工程源码)

【虚幻引擎UE】UE5 四步骤实现AI漫游与对话行为(含工程源码)

灵境引路人 3227

TCP 和 UDP的区别

TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)是互联网中两种最常用的传输层协议总的来说,TCP适用于对数据可靠性要求高的场景,而UDP适用于实时传输和对可靠性要求较低的场景。在实际应用中,根据具体需求选择合适的传输协议非常重要。

刘皇叔说Java的博客 3590

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

TCP和UDP的区别

转载:https://www.cnblogs.com/steven520213/p/8005258.html TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于广播和细节控制交给应用的通信传输 UDP(User Datagram Protocol) UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,...

Mr.ZD的专栏 331

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

udp和tcp的区别

在网络通信的世界里,TCP(传输控制协议)和UDP(用户数据报协议)作为两种最基本的数据传输协议,各自扮演着不同的角色,共同支撑着互联网的多样性和复杂性。它们虽同根同源,却展现出截然不同的性格与特性,满足了不同场景下的数据传输需求。本文将深入探讨TCP与UDP之间的七大核心区别,以期为读者全面揭示这两种协议的本质与适用环境。

liveweb888的博客 908

socket、tcp、udp、http 的认识及区别

转载自:https://www.cnblogs.com/chengzhengfu/p/4584510.html 一、先来一个讲TCP、UDP和HTTP关系的 1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有FTP、HTTP、TELNET、SMT...

jiangjiane 3460

TCP与UDP的区别、联系

一、TCP、UDP的区别 1、TCP(传输控制协议): 1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算机B回发数据包,这也会产生部分通信量),有效流控,全双工操作(数据在两个方向上能同时传递),多路复用服务,是面向连接,端到端的传输; 2)面向连接:正式通信前必须要与对方建立连接。事先为所发送的数据开辟出连接...

yx20130919的博客 1789

TCP和UDP区别

TCP与UDP是网络传输层的两大核心协议,主要区别体现在: 连接方式:TCP需三次握手建立连接,UDP无连接; 可靠性:TCP提供确认重传机制保证可靠传输,UDP不保证数据必达; 有序性:TCP确保数据有序,UDP不保证顺序; 性能:TCP因复杂控制机制速度较慢,UDP轻量高效; 头部开销:TCP头部至少20字节,UDP仅8字节。 典型应用场景: TCP适用于网页、文件传输等可靠性优先的场景 UDP适用于直播、视频通话等实时性优先的场景

weixin_46028606的博客 2317

TCP与UDP的联系与区别

联系:TCP/IP协议 首先来了解一下TCP/IP协议,它是一个协议簇,里面包括很多协议,比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP 等,之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议,就用他两命名了。 TCP/IP协议集包括应用层,传输层,网络层,网络访问层。 链路层:负责封装和解封装IP报文,发送和接受ARP/RARP报文等。 网络层:负责路由以及把分组报文发送给目标网络或主机。 传输层:负责对报文进行分组和重组,并以TCP或UDP协议格式封装报文。 应用层:

weixin_44380645的博客 2263

TCP与UDP的区别详解

TCP和UDP是两种在传输层具有不同特性和适用场景的协议。TCP作为面向连接的协议,提供了可靠的数据传输保障,适用于需要确保数据准确性的应用。而UDP作为无连接的协议,具有较低的延迟和开销,适用于对实时性要求高的应用。理解这两种协议的区别和特点,有助于在实际应用中选择合适的协议,以满足不同的需求。

Actkeying的博客 1666

TCP、UDP、WebSocket的区别

TCP:可靠性高、适合传输完整数据的场景,因连接和确认机制开销较大,不适合实时性要求高的场景。UDP:效率高、适合对实时性要求高的数据传输,但不保证数据的顺序和完整性。WebSocket:基于TCP的持久连接,支持实时的双向通信,适合需要频繁交互的应用,如聊天、通知等。

weixin_43968370的博客 1254

TCP 与 UDP的区别 java

The difference between TCP/IP and UDPCitation:=http://xuxd32.blog.163.com/blog/static/4812193320114885118923/Java主要关注传输层, 在传输层TCP,UDP是两种传输数据流的方式。一、TCP(Transmission Control Protocol,传输控制协议)Connection-o

bb0905010427的专栏 1907

TCP与UDP的区别

一、TCP与UDP的区别        基于连接与无连接         对系统资源的要求(TCP较多,UDP少)    UDP程序结构较简单    流模式与数据报模式    TCP保证数据正确性,UDP可能丢包    TCP保证数据顺序,UDP不保证          每一条TCP连接只能是点到点的        UDP支持一对一,一对多,多对一和多对多的交互通信 二、

Tyrion_Matrix的博客 347

TCP、UDP、HTTP、SOCKET、WebSocket之间的区别

TCP、UDP、HTTP、SOCKET、WebSocket之间的区别 转-----https://blog.youkuaiyun.com/sinat_31057219/article/details/72872359 TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手 TCP的几个状态 (SYN, FIN, ACK, PSH, RST, URG) TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层, 每层都有相应的协议,如下图 I...

seabirds 369
上一篇: 单高斯背景建模
下一篇: 智力题攻略——推理类
willian0621
博客等级 码龄17年 50粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值