精华内容
下载资源
问答
  • TCP与UDP区别

    千次阅读 2015-08-19 20:09:31
    TCP与UDP区别总结: 1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;...

    TCP与UDP区别总结:

    1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

    2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
    3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的
    UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
    4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
    5、TCP首部开销20字节;UDP的首部开销小,只有8个字节

    6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

    展开全文
  • TCP与UDP区别详解

    千次阅读 多人点赞 2020-05-19 21:23:53
    TCP与UDP区别详解 计算机其他网络设备相互通信,通信的双方在发送和接收数据包时必须基于相同的规则(例如:如何找到通信目标、如何发起通信、如何结束通信等规则都需要事先确定),我们将这种规则称为协议...

    TCP与UDP区别详解

    计算机与其他网络设备相互通信,通信的双方在发送和接收数据包时必须基于相同的规则(例如:如何找到通信目标、如何发起通信、如何结束通信等规则都需要事先确定),我们将这种规则称为协议(Protocol)。

    TCP/IP协议簇是 Internet 的基础,其是一系列网络协议的总称,例如:TCP、UDP、IP、FTP、HTTP、ICMP、SMTP等都属于TCP/IP协议族内的协议。
    这些协议在计算机网络中自下而上被划分为四层:链路层、网络层、传输层和应用层。

    • 链路层:
      负责发送和接收ARP/RARP报文;
    • 网络层:
      该层包含IP协议、RIP协议(Routing Information Protocol),主要负责数据包在主机之间的传输
    • 传输层:
      主要负责定位处理数据的具体进程并转发数据(TCP协议提供可靠的数据流运输服务,UDP协议提供不可靠的数据服务);
    • 应用层
      负责向用户提供应用程序,比如HTTP、FTP、Telnet、DNS、SMTP等;

    开放式系统互联通信参考模型

    在网络体系结构中网络通信的建立必须是在通信双方的对等层进行,不能交错。
    在整个数据传输过程中,数据在发送端经过各层时都要附加上相应层的协议头和协议尾(仅链路层需要封装协议尾)。

    UDP 与 TCP 两种传输协议是 TCP/IP 协议簇的核心成员。

    一、UDP

    UDP(User Datagram Protocol)全称是用户数据电报协议,是一种无连接的协议,提供不可靠的用户数据报服务,1980 年发布的 RFC 768 定义了 UDP 协议。

    UDP数据结构

    UDP数据结构如下图所示:
    UDP数据

    UDP 协议头中只包含 4 个字段:源端口、目的端口、UDP长度、UDP校验码,其中每一个字段都占 16 位,即 2 字节,共8个字节。

    • 源端口
      发送方进程的端口号,接收方可以使用该字段(不一定准确)向发送方发送信息(范围0-65535);
    • 目的端口
      数据接收方的端口号(范围0-65535);
    • UDP长度
      协议头和数据报中数据长度的总和,表示整个数据报的大小;
    • UDP校验码
      使用 IP 首部、UDP 首部和数据报中的数据进行计算,接收方可以通过校验码验证数据的准确性,发现传输过程中出现的问题;

    UDP首部数据举例

    常见的 DNS 协议就可以使用 UDP 协议获取域名解析的结果:

    0000   ff 7c 00 35 00 23 c2 6e
    

    上述 UDP 首部中四个字段对应的值如下:

    • 源端口 0xff7c = 65404
    • 目的端口 0x0035 = 53
      由于 DNS 协议使用的端口是 53,所以目的端口就是 53
    • UDP长度 0x0023 = 35
    • UDP校验码 0xc26e

    UDP在数据传输中的位置

    这里我们可以将应用到应用之间的传输过程分成两个部分:
    主机到主机的数据传输主机到应用的数据转发

    • UDP 协议首部的目的端口号用于定位处理数据的具体进程并转发数据;
    • UDP 协议底层的网络层IP协议(Internet Protocol)会负责数据包在主机之间的传输;

    我们说 UDP 协议是传输层协议,但是真正在主机间完成数据传输工作的是 IP 协议UDP 协议只起到了定位具体进程的作用。

    UDP数据传输的特点

    • 面向无连接
      UDP 不需要与 TCP一样在发送数据前进行三次握手建立连接,UDP想发数据就直接发送了;并且UDP只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。
    • 不可靠
      首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠的;并且收到什么数据就传递什么数据,也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据;
      再者网络环境时好时坏,但是 UDP 因为没有拥塞控制,一直会以恒定的速度发送数据;即使网络条件不好,也不会对发送速率进行调整,这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如直播、电话会议等)就需要使用 UDP 而不是 TCP;
    • 单播、多播、广播功能
      由于 UDP 不会建立连接,因此它可以给任何人传递数据,不止支持一对一的传输方式,同样支持一对多、多对多、多对一的方式;
    • UDP是面向报文的
      发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层(UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界);
    • 头部开销小,传输数据高效
      UDP 的头部开销小,只有八字节,在传输数据报文时是比较高效的(在某些实时性要求高的场景,例如直播、电话会议、媒体传输等场景经常使用 UDP协议);

    UDP数据传输

    二、TCP

    TCP(Transmission Control Protocol)协议全称是传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,由RFC 793定义。

    当用户查看网页或电子邮件时,希望看到的内容完整且顺序正确,不丢失任何内容;当下载文件时,希望获得的是完整的文件,而不仅仅是文件的一部分;以上应用场景的传输层协议均可采用TCP协议。

    TCP数据结构

    TCP数据结构

    • 源端口、目标端口
      发送方进程的端口号,数据接收方的端口号(范围0-65535);
    • 序号
      主要是为了解决乱序问题(编好号才知道哪个先来,哪个后到);
    • 确认序号
      发出去的包应该有确认,这样能知道对方是否收到,如果没收到就应该重新发送,这个解决的是不丢包的问题;
    • 状态位
      SYN 是发起一个链接,ACK 是回复,RST 是重新连接,FIN 是结束连接(TCP 是面向连接的,因此需要双方维护连接的状态,这些状态位的包会引起双方的状态变更);
    • 窗口大小
      TCP 要做流量控制,需要通信双方各声明一个窗口,标识自己当前的处理能力;

    TCP三次握手

    TCP协议发送数据之前必须在通信的两端建立连接,建立连接的方法是TCP三次握手

    TCP三次握手

    • 第一次握手
      客户端向服务端发送连接请求报文;请求发送后,客户端便进入 SYN-SENT 状态;
    • 第二次握手
      服务端收到连接请求报文后,如果同意连接,则会发送一个应答,发送完成后便进入 SYN-RECEIVED 状态;
    • 第三次握手
      当客户端收到连接同意的应答后,还要向服务端发送一个确认报文;客户端发完这个报文后便进入 ESTABLISHED 状态,服务端收到这个应答后也进入 ESTABLISHED 状态,此时连接建立成功。

    为什么 TCP 建立连接需要三次握手,而不是两次?
    TCP既要保证数据可靠传输,又要提高传输的效率,而用三次(客户端与服务端发送的报文都得到了响应,通信双方全都有来有回)恰恰满足了以上两方面的需求!

    TCP三次握手

    TCP四次挥手

    TCP断开连接,也被称为四次挥手:

    enter description here

    • 第一次挥手
      A:B,我不玩了
      客户端A服务端B发送连接释放请求;
    • 第二次挥手
      B:OK,A不玩了,知道了
      服务端B 收到连接释放请求后,发送 ACK 包,并进入 CLOSE_WAIT 状态;
      此时服务端B不再接收客户端A发送的数据,但服务端B 若此时还有没发完的数据会继续发送;
    • 第三次挥手
      B:A,我也不玩了,拜拜
      服务端 B 向 A 发送连接释放请求,然后 B 便进入 LAST-ACK 状态;
    • 第四次挥手
      A:OK,B不玩了,拜拜
      客户端A 收到释放请求后,向 服务端B 发送确认应答,此时 客户端A 进入 TIME-WAIT 状态;
      客户端A的 TIME-WAIT状态会持续 2MSL(最大段生存期,指报文段在网络中生存的时间,超时会被抛弃) 时间,若该时间段内没有 B 的重发请求,就进入 CLOSED 状态。当 B 收到确认应答后,也便进入 CLOSED 状态。

    TCP协议的特点

    相比与UDP协议,TCP协议拥有面向连接、保证顺序、可靠传输、提供拥塞控制等特点。

    为了保证顺序性,每个TCP数据包都有一个序号ID,在建立连接的时候会商定起始 ID 是什么,然后按照 ID 一个个发送;
    为了保证不丢包,需要对发送的包都要进行应答,这里应答不是一个一个来的,而是会应答某个之前的 ID,表示都收到了,这种模式成为累计应答
    为了记录所有发送的包和接收的包,需要发送端接收端分别缓存这些记录。

    TCP发送端的缓存里是按照数据包的 序号ID 一个个排列,根据处理的情况分成四个部分:

    • 发送并且确认的;
    • 发送尚未确认的;
    • 没有发送等待发送的;
    • 没有发送并且暂时不会发送的;

    TCP发送端缓存结构

    在 TCP 协议中接收端会给发送端报一个窗口大小Advertised Window,这个窗口大小等于上面的第二、第三部分加和,超过这个窗口接收端处理不过来,暂时不能继续发送;

    上图TCP发送端缓存队列中:

    • 1、2、3 已发送并确认;
    • 4、5、6、7、8、9 都是发送了还没确认;
    • 10、11、12 是还没发出的;
    • 13、14、15 是接收方没有空间,不准备发的。

    TCP接收端缓存内容类型如下:

    • 接收并且确认过的;
    • 还没接收,马上就能接收的;
    • 还没接收,也无法接收的;

    TCP接收端缓存结构

    上图TCP接收端缓存队列中:

    • 1、2、3、4、5 是已经完成 ACK ;
    • 6、7 是等待接收的,8、9 是已经接收还没有 ACK 的;
    • 10、11、12 、13、14、15 是暂时无法接收的;

    TCP发送端、接收端当前的状态如下(依据以上两个图):

    • 1、2、3 没有问题,双方达成了一致;
    • 4、5 接收方响应 ACK 了,但是发送方尚未收到;
    • 6、7、8、9 肯定都发了,而且8、9 已经到了,但6、7 尚未收到,出现了乱序,缓存着暂无法 ACK;

    根据这个例子可以知道顺序问题和丢包问题都有可能存在:

    假设4的ACK响应发送端收到了,5的ACK丢了;6、7的数据包丢了,该怎么办?

    • 一种方法是超时重试,即对每一个发送了但是没有 ACK 的包设定一个定时器,超过了一定的事件就重新尝试;这个重试时间必须大于往返时间,但也不宜过长,否则超时时间变长,访问就变慢了;
      例如:过一段时间,5、6、7 的ACK都超时了,发送端就会重新发送;接收方发现 5 原来接收过 于是丢弃 5,6、7收到了发送 ACK;
    • 另一个快速重传的机制,即当接收方接收到一个序号大于期望的报文段时,就检测数据流之间的间隔,于是发送三个冗余的 ACK,客户端接收到之后,知道数据报丢失,于是重传丢失的报文段;
      例如:接收方发现 6、8、9 都接收了,但是 7 没来(7丢了),于是发送三个 6 的 ACK,要求下一个是 7;客户端接收到 3 个ACK,就会发现 7 丢了,马上重发。

    参考

    UDP—RFC768:
    https://tools.ietf.org/html/rfc768

    TCP—RFC973:
    https://tools.ietf.org/html/rfc793

    Stackoverflow: UDP checksum calculation, Sep 2017
    https://stackoverflow.com/questions/1480580/udp-checksum-calculation

    百度百科—UDP:
    https://baike.baidu.com/item/UDP/571511?fr=aladdin

    百度百科—TCP:
    https://baike.baidu.com/item/TCP/33012?fr=aladdin

    TCP 和 UDP 的区别:
    https://blog.csdn.net/zhang6223284/article/details/81414149#comments

    一文搞懂TCP与UDP的区别
    https://www.cnblogs.com/fundebug/p/differences-of-tcp-and-udp.html

    展开全文
  • TCP与UDP区别(socket编程)
  • TCP与UDP区别【转】

    2013-09-23 08:10:05
    TCP与UDP区别 TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制...

    TCP与UDP区别

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

    Overview

    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.

     

    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可靠的点对点连接将会用于绝大多数的网络应用。

     

    展开全文
  • TCPUDP的最完整的区别

    万次阅读 多人点赞 2016-08-04 11:30:30
    TCPUDP两种协议的比较汇总

    欢迎访问个人网站:码到城攻

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

      6.TCP保证数据顺序,UDP不保证 
      
    UDP应用场景:
      1.面向数据报方式
      2.网络数据大多为短消息 
      3.拥有大量Client
      4.对数据安全性无特殊要求

      5.网络负担非常重,但对响应速度要求高
     
    具体编程时的区别
       1.socket()的参数不同 
       2.UDP Server不需要调用listen和accept 
       3.UDP收发数据用sendto/recvfrom函数 
       4.TCP:地址信息在connect/accept时确定 
       5.UDP:在sendto/recvfrom函数中每次均 需指定地址信息 
       6.UDP:shutdown函数无效

     
    编程区别
       通常我们在说到网络编程时默认是指TCP编程,即用前面提到的socket函数创建一个socket用于TCP通讯,函数参数我们通常填为SOCK_STREAM。即socket(PF_INET, SOCK_STREAM, 0),这表示建立一个socket用于流式网络通讯。 
       SOCK_STREAM这种的特点是面向连接的,即每次收发数据之前必须通过connect建立连接,也是双向的,即任何一方都可以收发数据,协议本身提供了一些保障机制保证它是可靠的、有序的,即每个包按照发送的顺序到达接收方。 

      而SOCK_DGRAM这种是User Datagram Protocol协议的网络通讯,它是无连接的,不可靠的,因为通讯双方发送数据后不知道对方是否已经收到数据,是否正常收到数据。任何一方建立一个socket以后就可以用sendto发送数据,也可以用recvfrom接收数据。根本不关心对方是否存在,是否发送了数据。它的特点是通讯速度比较快。大家都知道TCP是要经过三次握手的,而UDP没有。 


    基于上述不同,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上,用函数bind(); 
      4、循环接收数据,用函数recvfrom(); 
      5、关闭网络连接; 

    UDP编程的客户端一般步骤是: 
      1、创建一个socket,用函数socket(); 
      2、设置socket属性,用函数setsockopt();* 可选 
      3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选 
      4、设置对方的IP地址和端口等属性; 
      5、发送数据,用函数sendto(); 
      6、关闭网络连接;

    TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。

    UDP补充:
       UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立刻按照原样发送到网络上的一种机制。即使是出现网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的行为。此外,传输途中如果出现了丢包,UDO也不负责重发。甚至当出现包的到达顺序乱掉时也没有纠正的功能。如果需要这些细节控制,那么不得不交给由采用UDO的应用程序去处理。换句话说,UDP将部分控制转移到应用程序去处理,自己却只提供作为传输层协议的最基本功能。UDP有点类似于用户说什么听什么的机制,但是需要用户充分考虑好上层协议类型并制作相应的应用程序。

    TCP补充:
      TCP充分实现了数据传输时各种控制功能,可以进行丢包的重发控制,还可以对次序乱掉的分包进行顺序控制。而这些在UDP中都没有。此外,TCP作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。


    TCP与UDP区别总结:
    1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
    2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保   证可靠交付
    3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的
      UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
    4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
    5、TCP首部开销20字节;UDP的首部开销小,只有8个字节
    6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

    展开全文
  • TCP与UDP区别和用途

    千次阅读 2013-01-13 01:04:43
    TCP与UDP区别 TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量...
  • TCP与UDP区别总结

    2011-11-06 13:45:50
    UDP与TCP都是运输层的两个协议,UDP(User Datagram Protocol)用户数据报议,TCP(Transmission Control Protocol)传输控制协议。TCP传送的数据单位协议是TCP报文段(segment),UDP传送的数据单位协议是UDP报文或用户...
  • 一:趣图TCPUDP 之间的区别↓↓↓好了,我知道有些童鞋想到我们发过的旧图了往期趣图(点击下方图片可跳转阅读)感觉是不是很爽,图上UDP看起来那么暴力,但是使用起来感觉还好,内...
  • TCPUDP的优缺点及区别 TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来...
  • TCPUDP区别

    万次阅读 多人点赞 2018-08-04 21:57:42
    前言 ...前端的面试中经常问的 TCPUDP区别,网上也有好多内容,比如 TCPUDP区别 TCP 是面向连接的,UDP 是面向无连接的 UDP程序结构较简单 TCP 是面向字节流的,UDP 是基于...
  • TCP与 UDP区别及使用场景总结

    千次阅读 2017-05-10 22:22:04
    UDP与TCP 区别点: UDP协议:发短信 只管发生,不确认对方是否接收到 每个数据大小限制在64k之内 因为无需链接,因此是不可靠协议 速度快应用场景(当对网络通讯质量有要求的时候,比如:整个数据要准确无误的...
  • TCPUDP都是传输层协议 TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。 当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。 TCP提供超时重发,丢弃重复数据,...
  • TCP与UDP

    2018-01-09 12:29:38
    TCP UDP TCP UDP 为什么需要三次握手 为什么需要四次挥手 TCP UDP 基本区别 UDP 应用场景 编程时的区别 TCP编程的步骤 TCP Server编程 TCP Client编程 ...TCP与UDP区别总结 Created with
  • tcp与udp区别

    2012-11-30 15:01:24
    tcp与udp区别
  • TCP与UDP区别

    2017-08-15 11:25:39
    详细讲解TCPUDP
  • TCP与UDP基本区别

    千次阅读 2019-05-14 22:37:57
    php使用websoket做通讯的...TCP与UDP基本区别 1.基于连接无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单 4.流模式(TCP数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数...
  • (1)首先,http、tcpudp并不是在一个层(osi七层模型)中,http在应用层,tcpudp在传输层。 (2)http是基于tcp的,因为发送http请求时,会先进行tcp三次握手的连接。 (3)http的长连接短连接,其实就是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 400,872
精华内容 160,348
关键字:

tcp与udp的区别