TCP协议与UDP协议的区别

合集下载

tcp协议与 udp协议的区别

tcp协议与 udp协议的区别

tcp协议与 udp协议的区别TCP协议与UDP协议的区别概述:TCP(传输控制协议)和UDP(用户数据报协议)是互联网中最常用的传输层协议。

它们在数据传输的可靠性、连接性、速度和资源消耗等方面有着显著的区别。

本协议旨在详细介绍TCP协议和UDP协议的区别。

一、连接性:1. TCP协议:TCP协议是一种面向连接的协议,通信前需要建立连接,然后才能进行数据传输。

在通信过程中,TCP协议通过三次握手建立连接,并通过四次挥手关闭连接。

TCP协议提供可靠的数据传输,确保数据的完整性和顺序。

2. UDP协议:UDP协议是一种无连接的协议,通信双方不需要建立连接即可直接传输数据。

UDP协议不提供可靠性保证,数据传输过程中可能丢失、重复或乱序。

二、数据传输可靠性:1. TCP协议:TCP协议通过序列号、确认应答、重传机制等手段保证数据传输的可靠性。

如果数据包丢失或损坏,发送方会重新发送数据,直到接收方正确接收。

2. UDP协议:UDP协议不提供数据传输的可靠性保证,数据包的丢失、损坏或乱序在UDP 中是常见的情况。

UDP适用于实时性要求高、对数据传输可靠性要求较低的应用场景,如音频、视频流传输等。

三、数据传输效率:1. TCP协议:TCP协议通过拥塞控制、流量控制等机制保证网络的稳定和公平性,但这也导致了一定的传输延迟。

TCP协议的传输效率相对较低,适用于对实时性要求不高的应用场景。

2. UDP协议:UDP协议没有拥塞控制等机制,传输效率较高。

UDP协议适用于对实时性要求高、对传输延迟要求较低的应用场景,如在线游戏、实时通信等。

四、资源消耗:1. TCP协议:TCP协议需要维护连接状态、序列号等信息,占用较多的内存和计算资源。

同时,TCP协议的拥塞控制机制也会占用一定的带宽。

2. UDP协议:UDP协议不需要维护连接状态等信息,占用的内存和计算资源相对较少。

UDP 协议的资源消耗较低。

五、适用场景:1. TCP协议:TCP协议适用于对数据传输可靠性要求较高的应用场景,如网页浏览、文件传输等。

TCP与UDP的区别及其应用

TCP与UDP的区别及其应用

TCP与UDP的区别及其应用TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种互联网传输协议,它们在数据传输过程中有着不同的特点和应用场景。

本文将从协议特点、工作原理、优缺点和应用场景等方面对TCP和UDP进行比较,并探讨它们在实际应用中的差异。

1.协议特点TCP是一种面向连接的、可靠的传输协议,它保证数据的可靠传输和数据的顺序性。

具体来说,TCP通过三次握手建立连接,通过滑动窗口和确认机制来保证数据的可靠传输,通过序号和应答机制来保证数据的顺序性。

因此,TCP适合对数据传输可靠性要求高的应用场景,比如文件传输、网页浏览等。

UDP是一种无连接的、不可靠的传输协议,它不保证数据的可靠传输和数据的顺序性。

具体来说,UDP没有建立连接的过程,也没有确认机制和序号机制,因此对数据传输的可靠性和顺序性没有保证。

UDP适合对实时性要求高的应用场景,比如音视频传输、实时游戏等。

2.工作原理TCP和UDP的工作原理有着明显的区别。

TCP的工作原理如下:1)建立连接:客户端与服务器端通过三次握手建立连接,确定通信双方的初始序号。

2)数据传输:数据传输过程中,TCP采用滑动窗口和确认机制来保证数据的可靠传输,采用序号和应答机制来保证数据的顺序性。

3)断开连接:数据传输完成后,客户端与服务器端通过四次挥手断开连接,释放资源。

UDP的工作原理如下:1)数据传输:客户端通过封装数据包,直接发送给服务器端,不需要建立连接。

2)不可靠性:数据传输过程中,UDP不保证数据的可靠传输和数据的顺序性,也没有确认机制和序号机制。

3)实时性:由于UDP没有建立连接的过程和确认机制,因此传输延迟较小,适合对实时性要求高的应用场景。

3.优缺点TCP和UDP各有其优缺点,根据具体的应用场景选择合适的传输协议。

TCP的优点如下:1)可靠性高:TCP采用滑动窗口和确认机制来保证数据的可靠传输,保证数据不丢失、不重复、按序传输。

TCP和UDP的区别及各自优缺点区别

TCP和UDP的区别及各自优缺点区别

TCP和UDP的区别及各⾃优缺点区别区别⼀、是否基于连接TCP是⾯向连接的协议,⽽UDP是⽆连接的协议。

即TCP⾯向连接;UDP是⽆连接的,即发送数据之前不需要建⽴连接。

区别⼆、可靠性和有序性区别TCP 提供交付保证(Tcp通过校验和,重传控制,序号标识,滑动窗⼝、确认应答实现可靠传输),⽆差错,不丢失,不重复,且按序到达,也保证了消息的有序性。

该消息将以从服务器端发出的同样的顺序发送到客户端,尽管这些消息到⽹络的另⼀端时可能是⽆序的。

TCP协议将会为你排好序。

UDP不提供任何有序性或序列性的保证。

UDP尽最⼤努⼒交付,数据包将以任何可能的顺序到达。

TCP的逻辑通信信道是全双⼯的可靠信道,UDP则是不可靠信道区别三、实时性UDP具有较好的实时性,⼯作效率⽐TCP⾼,适⽤于对⾼速传输和实时性有较⾼的通信或⼴播通信。

区别四、协议⾸部⼤⼩TCP⾸部开销20字节; UDP的⾸部开销⼩,只有8个字节。

区别五、运⾏速度TCP速度⽐较慢,⽽UDP速度⽐较快,因为TCP必须创建连接,以保证消息的可靠交付和有序性,毕竟TCP协议⽐UDP复杂。

区别六、拥塞机制UDP没有拥塞控制,因此⽹络出现拥塞不会使源主机的发送速率降低(对实时应⽤很有⽤,如IP电话,实时视频会议等)区别七、流模式(TCP)与数据报模式(UDP);TCP⾯向字节流,实际上是TCP把数据看成⼀连串⽆结构的字节流;UDP是⾯向报⽂的。

区别⼋、资源占⽤TCP对系统资源要求较多,UDP对系统资源要求较少。

TCP被认为是重量级的协议,⽽与之相⽐,UDP协议则是⼀个轻量级的协议。

因为UDP传输的信息中不承担任何间接创造连接,保证交货或秩序的的信息。

这也反映在⽤于承载元数据的头的⼤⼩。

区别九、应⽤每⼀条TCP连接只能是点到点的;UDP⽀持⼀对⼀,⼀对多,多对⼀和多对多的交互通信。

基于UDP不需要建⽴连接,所以且适合多播的环境,UDP是⼤量使⽤在游戏和娱乐场所。

优缺点基于上⾯的区别;TCP和UDP的优缺点也很明显了。

TCP与UDP的区别及其应用

TCP与UDP的区别及其应用

TCP与UDP的区别及其应用TCP和UDP是互联网中最常用的两种通讯协议,正如两种不同的语言,它们各有优点和场合。

本文将重点探讨TCP与UDP的区别及其应用。

1. TCP和UDP的区别TCP(Transmission Control Protocol)是一种面向连接的协议,它保证数据传输的可靠性和有序性,是应用最为广泛的协议之一。

UDP (User Datagram Protocol)则是一种无连接的协议,它不保证数据传输的可靠性和有序性,但是速度较快,适用于一些实时性较高的应用。

1.1面向连接vs无连接TCP是一种面向连接的协议,在数据传输之前要先建立连接,即三次握手。

这样可以保证数据传输的可靠性和有序性。

如果数据在传输过程中出现丢包、延迟等问题,TCP会尝试重传数据包,保证数据的完整性。

但是,TCP连接的建立和断开需要额外的时间和资源,尤其是在网络拥塞的情况下,会增加一定的延迟。

UDP则是一种无连接的协议,不需要建立连接,传输速度较快。

但是,由于其无连接的特性,数据传输过程中出现丢包、延迟等问题时,UDP不会重传数据包,因此不保证数据传输的完整性。

也就是说,UDP更适合一些实时性要求高,但数据完整性要求不高的应用场合,例如实时视频流、音频传输、游戏等。

1.2可靠性vs速度TCP保证了数据传输的可靠性,可以保证数据不会丢失,数据的接收顺序也是有序的。

但是,由于TCP在传输数据之前要建立连接、拆除连接等操作,需要额外的时间和资源,因此速度相对较慢。

TCP也有一些针对网络拥塞等问题的优化措施,例如滑动窗口协议、流量控制和拥塞控制等。

UDP则是一种快速传输数据的协议,它不保证数据的可靠性和有序性,数据包间的传输不存在顺序问题,也就是说,UDP在保证实时性的同时,牺牲了数据传输的可靠性和有序性。

1.3应用场合的差异TCP适用于数据完整性要求高的应用场合,例如文件下载、网页浏览等。

TCP可靠性较高,可以保证数据不会丢失、数据传输的有序性,用户可以比较稳定地获取数据。

TCP与UDP的区别及其应用

TCP与UDP的区别及其应用

TCP与UDP的区别及其应用TCP(传输控制协议)和UDP(用户数据报协议)是两种不同的传输协议,它们在网络通信中起着非常重要的作用。

虽然它们都是在网络通信中传输数据的协议,但是它们有很大的区别。

在本文中,我将分别介绍TCP和UDP的特点、区别及其在各种应用中的使用。

一、TCP的特点及应用1. TCP的特点TCP是一种面向连接的协议,它在传输数据之前需要先建立连接,然后传输数据,传输结束后再断开连接。

它提供可靠的、按序传输的数据传输服务,能够保证数据的完整性和可靠性。

TCP使用三次握手来建立连接,四次挥手来断开连接,在传输数据时会进行数据校验和确认。

因此,它非常适合对数据传输的要求比较高的应用场景。

2. TCP的应用TCP广泛应用于各种需要可靠传输的应用场景,包括但不限于以下几个方面:(1)网络浏览:当用户访问网页时,浏览器会使用TCP协议与服务器建立连接,传输页面内容。

(2)文件传输:在文件传输过程中,TCP可以保证文件的完整性和可靠性,确保文件在传输过程中不会丢失或损坏。

(3)电子邮件:电子邮件的发送和接收过程中需要使用TCP协议来保证数据传输的可靠性。

(4)远程登录:如Telnet、SSH等远程登录方式都使用TCP协议来传输数据。

(5)数据库访问:数据库访问时需要使用TCP协议来传输数据。

二、UDP的特点及应用1. UDP的特点UDP是一种无连接的协议,它不需要在传输数据之前建立连接,也不保证数据的完整性和可靠性。

UDP是一种简单的数据传输协议,它仅提供数据传输的功能,不对数据传输进行确认和校验。

因此,UDP的传输效率比TCP高,但可靠性较差。

由于UDP不需要建立连接,所以它的开销比较小,适合对实时性要求较高的应用场景。

2. UDP的应用UDP主要用于那些对实时性要求较高的应用场景,包括但不限于以下几个方面:(1)实时视频、音频传输:视频会议、实时语音通话等应用中使用UDP来传输数据,因为在这些应用中,实时性比可靠性更为重要。

TCPUDP有什么区别

TCPUDP有什么区别

TCPUDP有什么区别前⾔计算机分层中的传输层,主要是负责计算机之间的数据传输,TCP 和 UDP 都属于传输层协议。

在实际开发过程中,需要根据实际需求的来选择适当的传输协议。

在这⾥我们简单总结下 TCP、UDP 的特点和区别以及实际开发中如何选择。

TCP 和 UDP 的定义TCP 是⾯向有连接,可靠的流协议。

保证两端通讯主机之间的通信可达,可以处理丢包、乱序等异常,可以有效利⽤带宽、缓解⽹络拥堵。

UDP 是⾯向⽆连接,不可靠的数据报协议。

不会处理丢包、乱序等异常,⼀般交给上层的应⽤层处理。

UDP 的特点及使⽤场景UDP 不提供复杂的控制机制,利⽤ IP 提供⾯向⽆连接的通信服务,随时都可以发送数据,处理简单且⾼效,经常⽤于以下场景:①包总量较⼩的通信(DNS、SNMP)②视频、⾳频等多媒体通信(即时通信)③⼴播通信TCP 的特点及使⽤场景相对于 UDP,TCP 实现了数据传输过程中的各种控制,可以进⾏丢包时的重发控制,还可以对次序乱掉的分包进⾏顺序控制。

在对可靠性要求较⾼的情况下,可以使⽤ TCP,即不考虑 UDP 的时候,都可以选择 TCP。

总结这⾥简单总结下:1.TCP 是⾯向连接的,UDP 是⾯向⽆连接的;故 TCP 需要建⽴连接和断开连接,UDP 不需要。

2.TCP 是流协议,UDP 是数据包协议;故 TCP 数据没有⼤⼩限制,UDP 数据报有⼤⼩限制(UDP 协议本⾝限制、数据链路层的 MTU、缓存区⼤⼩)。

3.TCP 是可靠协议,UDP 是不可靠协议;故 TCP 会处理数据丢包重发以及乱序等情况,UDP 则不会处理。

TCP 为什么要三次握⼿,四次挥⼿?前⾔TCP 属于传输层协议,是⾯向有连接,可靠的流协议。

⾯对有连接这个特性,TCP 就有建⽴连接和断开连接的过程。

我们分别了解建⽴连接和断开连接的流程以及当中的⼀些疑问。

TCP 建⽴连接和断开连接流程⾸先我们来看下这张经典的流程图:握⼿过程可以简化为下⾯的四次交互:1.Client 端⾸先发送⼀个 SYN 包,告诉 Server 端我的初始序列号是 X;Client 端进⼊了 SYN-SENT(同步已发送状态)状态。

tcp协议与udp协议的区别

tcp协议与udp协议的区别

tcp协议与udp协议的区别协议名称:TCP协议与UDP协议的区别一、引言TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是网络通信中常用的两种传输协议。

本协议旨在详细描述TCP协议和UDP协议之间的区别,包括其工作原理、特点、适用场景等方面的内容。

二、TCP协议的特点1. 可靠性:TCP协议提供可靠的数据传输,通过数据包的确认、重传机制和流量控制来确保数据的完整性和正确性。

2. 面向连接:TCP协议在通信前需要建立连接,通过三次握手来建立可靠的通信信道。

3. 有序性:TCP协议保证数据包按照发送的顺序进行传输,接收端会对乱序的数据包进行排序,保证数据的有序性。

4. 慢启动:TCP协议采用慢启动算法来控制数据的发送速率,以避免网络拥塞。

三、UDP协议的特点1. 无连接:UDP协议不需要建立连接,数据包的发送和接收是相互独立的,适用于实时性要求较高的应用场景。

2. 不可靠性:UDP协议不提供数据包的确认和重传机制,数据包的可靠性无法得到保证,但能够提供较高的传输效率。

3. 无序性:UDP协议不保证数据包按照发送的顺序进行传输,接收端会按照接收顺序进行处理。

4. 支持一对一、一对多、多对一和多对多的通信模式。

四、适用场景的区别1. TCP协议适用于对数据可靠性要求较高的场景,如文件传输、电子邮件等。

2. UDP协议适用于对实时性要求较高的场景,如音视频传输、在线游戏等。

五、性能比较1. 传输效率:UDP协议由于不需要建立连接和提供可靠性传输,传输效率较高;而TCP协议由于提供可靠性传输,传输效率相对较低。

2. 带宽占用:TCP协议的带宽占用较大,由于需要进行数据包的确认和重传,会占用较多的网络资源;而UDP协议的带宽占用较小。

3. 丢包率:UDP协议由于不提供数据包的确认和重传机制,丢包率相对较高;而TCP协议通过确认和重传机制,丢包率较低。

TCP与UDP的区别

TCP与UDP的区别

TCP与UDP的区别TCP与UDP基本区别1、基于连接与⽆连接2、流模式(TCP)与数据报模式(UDP)3、TCP保证数据正确性,UDP可能丢包4、TCP保证数据顺序,UDP不保证5、TCP要求系统资源较多,UDP较少6、UDP程序结构较简单7、TCP连接只能是⼀对⼀UDP⽀持⼀对⼀,⼀对多,多对⼀和多对多的交互通信8、TCP⾸部开销20字节;UDP的⾸部开销⼩,只有8个字节9、TCP的逻辑通信信道是全双⼯的可靠信道,UDP则是不可靠信道UDP应⽤场景1、⾯向数据报⽅式2、⽹络数据⼤多为短消息3、拥有⼤量客户端连接4、对数据安全性⽆特殊要求5、⽹络负担⾮常重,但对响应速度要求⾼基于上述不同,UDP和TCP编程步骤如下:TCP:TCP编程的服务器端⼀般步骤是:1、创建socket。

函数socket();2、设置socket属性。

函数setsockopt(); * 可选3、将IP地址、端⼝等信息绑定到socket上。

函数bind();4、开启监听。

函数listen();5、接收来⾃客户端的连接。

函数accept();6、收发数据。

函数send()和recv(),或者read()和write();7、关闭⽹络连接。

8、关闭监听。

TCP编程的客户端⼀般步骤是:1、创建socket。

函数socket();2、设置socket属性。

⽤函数setsockopt();* 可选3、将IP地址、端⼝等信息绑定到socket上。

⽤函数bind();*4、设置要连接的对⽅的IP地址和端⼝等属性;5、连接服务器。

函数connect();6、收发数据。

函数send()和recv(),或者read()和write();7、关闭⽹络连接;UDP:与之对应的UDP编程步骤要简单许多,分别如下:UDP编程的服务器端⼀般步骤是:1、创建socket。

函数socket();2、设置socket属性。

函数setsockopt();* 可选3、将IP地址、端⼝等信息绑定到socket上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,
也就是说,在收发数据前,必须和对方建立可靠的连接。

一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:
A ---> B
//主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;
A <--- B
//主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)
//的数据包:“可以,你什么时候发?”,这是第二次对话;
A ---> B
//主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。

三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A 才向主机B正式发送数据。

详细点说就是:
TCP接通连接要进行3次握手过程
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断开连接要进行4次
1 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
2 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK 置1
3 由B 端再提出反方向的关闭请求,将FIN置1
4 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.
由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端
和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础
名词解释
ACK TCP报头的控制位之一,对数据进行确认.确认由目的端发出,用它来告诉发送端这个序列号之前的数据段
都收到了.比如,确认号为X,则表示前X-1个数据段都收到了,只有当ACK=1时,确认号才有效,当ACK=0时,确认号无效,这时会要求重传数据,保证数据的完整性. SYN同步序列号,TCP建立连接时将这个位置1
FIN发送端完成发送任务位,当TCP完成数据传输需要断开时,提出断开连接的
一方将这位置1
UDP(User Data Protocol,用户数据报协议)
(1)UDP是一个非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。

在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

(2)由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。

(3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

(4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。

(5)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。

(6)UDP是面向报文的。

发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。

既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。

我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。

小结TCP与UDP的区别:
1.基于连接与无连接;
2.对系统资源的要求(TCP较多,UDP少);
3.UDP程序结构较简单;
4.流模式与数据报模式;
5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

更多TCP和UPD的资料:
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。

当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。

TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。

UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。

由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

UDP 与TCP 的主要区别在于UDP 不一定提供可靠的数据传输。

事实上,该协议不能保证数据准确无误地到达目的地。

UDP 在许多方面非常有效。

当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),
可使用UDP。

ICQ 短消息使用UDP 协议发送消息。

许多程序将使用单独的TCP连接和单独的UDP连接。

重要的状态信息随可靠的TCP连接发送,而主数据流通过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可靠的点对点连接将会用于绝大多数的网络应用。

FTP协议即文件传输协议,它是一个标准协议,FTP协议也是应用TCP/IP协议的应用协议标准,它是在计算机和网络之间交换文件的最简单的方法。

相关文档
最新文档