知识百科
您的位置:网站首页 > 知识百科 > TCP传输控制协议

TCP传输控制协议

时间:2020-10-01 13:01 发布:http://www.pbsvpn.com 点击量:732

今天我给大家讲一下传输层众多协议中比较重要的TCP传输控制协议。

TCP(传输控制协议)是面向连接的,配合高层用于程序做数据发送。只提供封装头的设计和SD端口号信息。

一、TCP端口号。

端口号主要用于区分不同的网络服务,大小为16位,范围为0-65535。它分为知名端口和未知名端口,如下所示:

(1)1-1023是知名端口,正好一一对应,知名应用和知名端口之间的映射,telnet对应TCP23;

(2)1024-65535为未知名端口,随机对应,不受应用程序和操作系统的固定;

具体的TCP端口号如下图所示:

二、TCP三次握手。

当主动方发送SYN连接请求时,等待对方回复SYN+ACK,最后对对方的SYN进行ACK确认。TCP连接建立的过程如下:

TCP关闭连接如下:

在关闭连接之前,主机应该确认收到敌方的ack。

三、TCP头部

我们可以看到TCP报头包含以下内容:

Source port (源端口号) 16 源应用程序时什么程序 

Destination port (目的端口号)16 目的应用程序是什么程序 

Sequence number(序列号)32 数据分段的时候每个段的号,用于重组,防止乱序 

Acknowledge number(确认号)32 确认收到数据,发送方发送最大序列号的值+1, 

Header length(首部长度)4 

Resv(保留)6 全部为 0 

URG :紧急指针 致为 1 表示紧急处理该数据 

ACK :确认的意思 

PSH 

RST :重置

SYN :同步的意思 

FIN :结束 

窗口16想要接收每个TCP数据段的大小,并且可以协商流量控制。发送端传输一段数据等。目的段收到一条数据后,向发送端发送一个ACK,然后发送段再发送。如果没有收到确认,将重新发送。

Checksum(校验和)16 不单单校验头部,数据内容也校验。 

Urgent pointer(紧急指针)16 结合 URG 优先处理某个应用, 

Options(选项) 

Padding(填充)

因为TCP是面向连接的,所以它包括以下功能:

(1)流量控制:限速,通过窗口字段协商速率,滑动窗口每次传输前协商窗口大小。

(2)防止乱序:处理延迟、串行化延迟、传输延迟、队列延迟和抖动的问题是先发送或先发送的,并通过序列号字段完成。

(3)防止丢包:通过确认号码。比如发送123对等回复ACK4给发送方,源方就知道了。

123,我从4开始发送,456如果6丢了,回复ACK6,源就知道6丢了,从6开始重发。

(4)完整性检查,防止数据篡改:通过校验和字段。

(5)数据重传:自身支持。

(6)点对点应用只支持单播数据传输,不支持组播和广播。

四、TCP传输过程。

五、TCP控制流量。

以上就是TCP传输控制协议的介绍,

如果你还有其他问题,欢迎进行咨询探讨,希望我们的专业的解决方案,可以解决你目前遇到的这些问题。