TCP与UDP区别的深入了解(这里只讨论IPV4情况,当然,IPV6下的TCP与UDP协议部分也能适用)

简单介绍

TCP: 自维持连接的数据“流”传输协议

UDP: 数据“报”形式的“单向”传输协议

区别

  1. 头部长度的区别:

    • TCP报头长20个字节,包括:源端口(2)、目的端口(2)、序号(4)、确认号(4)、头长度(4乘以n)(0.5)、(空)(0.5)、各种标志位(1)、窗口大小(2)、校验和(2)、紧急指针(2);
    • UDP报头长8个字节,包括:源端口(2)、目的端口(2)、UDP长度(2)、UDP校验和(2)。
  2. TCP面向连接(有连接概念),有明显的区分客户端和服务端,由客户端发起,服务端监听;UDP没有区分C/S端,只有发送方跟接收方的区别
  3. 收发数据上的区别:
    • 收发TCP数据前需要先建立连接(三次握手),服务端监听,客户端发起;断开连接时需要(四次握手,也有两次两次分开握手的方式,称之为半关闭
    • 而UDP只需要接收方有监听本地UDP端口即可;
  4. TCP因为是“流”形式的,所以传输的时候不自带数据长度;UDP则是“报文”形式的,所以要么不会到达目的端口,要么自动带着报文长度到达目的端口;
  5. TCP有流量控制、拥塞控制、慢启动(TCP为适应网络拥堵情况的特性)、滑动窗口协议(其一是控制流量,其二是保证重传机制),UDP没有。

项目实现过程中的收获:

如果不使用线程锁之类的操作的话,并行的读写操作很容易发生“脏读”或“越界写入”问题。最低限度的改进是:将写入与删除的操作都尽可能在同一函数(线程)中操作。

原文地址:https://www.cnblogs.com/pureLaw/p/9987205.html

时间: 2024-10-28 14:26:52

TCP与UDP区别的深入了解(这里只讨论IPV4情况,当然,IPV6下的TCP与UDP协议部分也能适用)的相关文章

[转]TCP、UDP区别

转自:http://zhangjiangxing-gmail-com.iteye.com/blog/646880 TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了.TCP/IP协议集包括应用层

TCP连接的三次握手,TCP/UDP区别联系,socket连接和http连接的区别

TCP连接的三次握手 1.第一次握手:客户端发送SYN + J包(syn = j)到服务器,并进入SYN_SEND状态,等待服务器确认: 2.第二次握手:服务器收到syn包,必须确认客户的SYN(A出口= j+1),同时自己也发送一个SYN+K包(syn =k),即SYN +ACK包,向服务器发送确认包ACK(ack = k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手, TCP/UDP区别联系 1.TCP的全称是传输控制协议,这种协议可以提供面向连接的,可靠地

TCP UDP区别

TCP和UDP区别 TCP UDP 是否连接 面向连接 面向非连接 传输可靠性 可靠的 不可靠的 应用场合 传输大量的数据 少量数据 速度 慢 快 1. TCP协议可靠,UDP协议不可靠 2. TCP协议面向连接,UDP协议采用无连接:TCP协议的发送方要确认接收方是否收到数据段(3次握手协议),UDP不需要 3. 当强调数据传输的完整性.可控制性和可靠性时,TCP协议是当然的选择.当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择,比如:包总量较少的通信(DNS/SN

TCP/IP协议栈与数据包封装+TCP与UDP区别

ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用.如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图. TCP/IP参考模型的层次结构 TCP/IP协议栈是美国国防部高级研究计划局计算机网(Advanced Research Projects Agency Network,ARPANET)和其后继因特网使用的参考模型.ARPANET是由美国国防部(U.S.Department of Defense,Do

面向报文(UDP)和面向字节流(TCP)的区别

1,TCP是面向连接(Connection oriented)的协议,UDP是无连接(Connection less)协议: 以下举例进行说明: 对于面向连接的: 两个人打电话时,双方确认并建立连接后才能进行通信. 对于面向无连接的:在邮局寄信时,你只需要将信放在邮筒里,不需要给收件人通知,收件人也不知道你给他寄信了. 2,TCP无界,UDP有界: TCP通过字节流传输,即TCP将应用程序看成是一连串的无结构的字节流.每个TCP套接口有一个发送缓冲区,如果字节流太长时,TCP会将其拆分进行发送.

python 网络通信协议/TCP,UDP区别

一.osi七层协议 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 协议具体内容 各层的功能简述: [1]物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化为1.0,也就是我们常说的数模转换与模数转换),这一层的数据叫做比特. [2]数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问,这一层通常还提供错误检测和纠正,以确保数

浅谈Get和Post方法的区别与TCP与UDP区别

Get和Post方法的区别 Get方法主要用于获取服务器资源,而Post方法除了能获取资源外,还可以向服务器上传数据. Get方法会把请求的数据附在URL后面,而Post不会. Get方法传输小数据,而Post方法主要用来传递大数据或比较隐私的数据,因此Post方法的安全性高一点. TCP与UDP区别 TCP是面向连接的,发送数据前必须建立可靠的连接:而UDP是无连接的,不需要建立连接 TCP传输可靠,能保证数据正确性:而UDP是不可靠的,传输时可能丢包 TCP用于传输大量数据(流模式):UDP

UDP 区别于 TCP 的特点

TCP 我们了解得多了,所以今天我们站在 UDP 的角度,探讨一下 UDP 区别于 TCP 的特点. 1. 面向无连接 UDP 比 TCP 简单得多,不需要“三次握手”来建立连接,直接把内容发送出去. 2. 数据的不可靠性 UDP 不会验证数据报文,不会流量控制,因此数据有可能会出现失真,或者丢包的情况. 3. 高效性 UDP 头部开销小,只有 8 个字节,而 TCP 需要 20 个字节. UDP 不需要保证数据不丢失和有序,而 TCP 需要. 因此 UDP 的性能会更高. 4. 传输方式多样

[网络编程] TCP、UDP区别以及TCP传输原理、拥塞避免、连接建立、连接释放总结

TCP.UDP都是属于运输层的协议,提供端到端的进程之间的逻辑通信,而IP协议(网络层)是提供主机间的逻辑通信,应用层规定应用进程在通信时所遵循的协议.一.UDP主要特点:传输的是用户数据报协议.1.UDP是无连接的,即发送数据之前不需要建立连接.2.UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制.3.UDP是面向报文的.UDP没有拥塞控制,很适合多媒体通信的要求.4.UDP支持一对一.一对多.多对一和多对多的交互通信.5.UDP的首部开销小,只有 8个字节.发送方 UDP对