标签归档:TCP

TCP相关知识

1、 三次握手过程最后一个数据包丢失

当Client端收到Server的SYN+ACK应答后,其状态变为ESTABLISHED,并发送ACK包给Server,如果此时ACK在网络中丢失,那么Server端该TCP连接的状态为SYN_RECV,并且依次等待3秒,6秒,12秒后重新发送SYN+ACK包,以便Client重新发送ACK包。

如果重发指定次数后,仍然未收到ACK应答,那么一段时间后,Server自动关闭这个连接。但是Client认为这个连接已经建立,如果Client端向Server端写数据,Server端将以RST包响应,Client端方能感知到Server端的错误,从而断开连接。

2、 TCP状态变迁

客户端:CLOSED-SYN_SENT_ESTABLISED-FIN_WAIT_1-FIN_WAIT_2-TIME_WAIT-CLOSED

服务器端:CLOSED-LISTEN-SYN_RCVD-ESTABLISED-CLOSE_WAIT-LAST_ACK-CLOSED

3、 TCP协议RST标志

发送RST包关闭连接时,不必等待缓冲区的包都发出去,直接丢弃缓冲区的包,发送RST包。

接收端收到RST包后,也不必发送ACK包来确认。

四次握手不是关闭TCP连接的唯一方法,有时,如果主机需要尽快关闭连接(或连接超时,端口或主机不可达),RST包将被发送,由于RST包不是TCP连接中的必须部分,可以只发送RST包(即不带ACK标记),但在正常的TCP连接中RST包可以带ACK确认标记,RST包是可以不要收到对方确认的。

处于LISTEN状态的控制块只能响应SYN握手包,对非SYN握手包返回一个RST报文。

TCP连接过程解析

TCP客户端和服务器之间建立连接的过程称为3次握手过程。握手过程由客户端程序首先发起,整个过程要经历下面3个步骤:

1、客户端发送一个SYN标志置1的TCP报文段,报文段首部指明自己的端口号及期望连接的服务器端口好。在报文段中,客户端需要通告自己的初始序号ISN,除此之外,这个报文中还可以携带一些选项字段,例如最大报文段大小、窗口扩大因子,选项将客户端的一些连接属性通告给服务器。本报文段中ACK标志为0,因此它的确认号字段和通告窗口大小字段都会被视为无效。

00 E0 66 78 3A 84 E2 BB BC 41 4F 5A 08 00 45 00 00 3C 55 24 40 00 40 06 5B B6 C0 A8 03 77 C0 A8 05 1A E2 9E 1F 99 BE B1 91 02 00 00 00 00 A0 02 39 08 6F 08 00 00 02 04 05 B4 04 02 08 0A FF FF C4 26 00 00 00 00 01 03 03 02

00 E0 66 78 3A 84-以太网目的地址

E2 BB BC 41 4F 5A -以太网源地址

0800-帧类型,IP数据包

后面的为IP数据包

45-4表示使用IPV4版本,5*4=20字节,表示IP首部长度是20字节

00-TOS,描述当前IP数据报急需的服务类型,如最小延时,最大吞吐量,最高可靠性,最小费用等。路由器在转发数据报时,可以根据这个字段的值来为数据报选择最合理的路由路径。

003C-总长度,表示整个IP数据报(IP首部和数据区)的总字节数。总共60字节。

5524-16位标识字段,用于标识IP层发送出去的每一份IP数据报,每发送一份报文,该值加1,数据包被分片时,该字段会被复制到每一个分片中,在接收端,会使用这个字段值来组装所有分片为一个完整的数据报。

4000-3位标志字段和13位分片偏移量。高3位为010,第1位保留为今后使用,第2位是不分片位,此处为1,表示不分片。当该位为0时,IP层将在需要的时候对数据报进行分片处理。第3位表示更多分片位,此处为0,表示该分片是数据报的最后一个分片或者是唯一的分片,如果为1,说明该分片不是数据报的最后一个分片,后面还有分片的数据包。

13位偏移字段表示当前分片所携带的数据在整个数据报中的相对位置(以8字节为单位)。目的站必须收到从0偏移量到最高偏移量的所有分片,才能将分片重装成一个完整的数据报。每个分片在网络中断单独传输,它们到达终点的顺序可能会不相同,但在目的端,将按照分片的偏移量来顺序组织各个分片。

40-生存时间TTL。描述该IP数据报最多能被转发的次数,每经过一次转发,该值会减1,当该值为0时,路由器会丢弃掉分组,同时一个ICMP差错报文会被返回至源主机。

06-协议字段,1-表示ICMP协议,2-表示IGMP协议,6-表示TCP协议,17-表示UDP协议。

5BB6-首部校验和

C0A80377-源IP地址

C0A8051A -目的IP地址

继续阅读