TCP UDP 特性与区别(上篇)

TCP UDP 特性与区别(上篇),第1张

TCP UDP 特性与区别(上篇)

要了解TCP和UDP,先了解他们概念

TCP

TCP(Transmission Control Protocol) 提供可靠面向连接的字节流传输协议。总结两个特点:可靠,面向连接性

面向连接,是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。所谓可靠传输,是TCP协议中规定了:

①如何处理丢失或重复等差错情况。

②如何初始化一个数据流传输

③如何协商结束数据流传输

④流量控制和拥塞控制机制。

 对于可靠传输,判断丢包,重复靠的是TCP的段编号以及确认号。TCP在发送数据的时候,为每个字节编号,接收端收到数据之后,经过校验无误,发回确认号,确认号为接收端等待接受的写一个字节的序号。并且它会缓存到达的乱序数据,统一排序之后传递给上层。这样就解决了丢包,重复和乱序的问题。

协商开始和结束数据传输:当协商开始数据传输的时候要发送SYN信号,请求同步,并且告知将要发送的数据序号是多少,经过三次握手两端都知道对方已经建立连接并且知道对方将要从那个序号开始发送;结束的时候一方发送FIN结束信号,另一方收到之后发送ACK确认信号,于是两端都知道连接被释放,数据传输就停止了。

 流量控制和拥塞控制:TCP采用滑动窗口的方式进行流量控制,用拥塞窗口的速率调整算法(慢启动算法)来进行拥塞控制。
 

说了这些,怎么证明呢?我们下面使用wireshark抓包

上面红色框说明,TCP会发送sequence number 和syn信号

下面我们说一下TCP三次握手过程

第一次握手过程

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1,如下图

 

第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1

此外,我们可以看到,TCP头部我们看到,TCP header包含20个字节。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5717198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存