标签:ACK PC1 TCP 发送 PC2 四次 详解 回复
三次握手
根据TCP的包头字段,存在三个重要的标识ACK SYN FIN
ACK:位置为1,表示确认收到发送请求,表示确认位
SYN:位置1,表示建立TCP连接
FIN:位置1,表示断开TCP连接
PC1 要与PC2 建立TCP连接
三次握手
1)首先PC1像PC2发送:SYN包(表示我要与你建立连接)
2)PC2收到后回复PC1:ACK(同意与你建立连接),并发送:SYN(表示与你建立连接)
3)PC1收到后SYN包后回复:ACK(同意与你建立连接)
PC1和PC2 可以传输数据了
四次挥手
当传输完后
PC1要与PC2断开连接
1)PC1像PC2发送:FIN包(表示我要与你断开连接)
2)PC2收到后回复PC1:ACK包,(表示同意与你断开连接)
这个时候PC2还可以继续像PC1发送未发送完的数据,当PC2发送完数据后
3)PC2 像PC1发送:FIN包(表示与PC1断开连接)
4)PC1收到后,回复:ACK 包(表示同意断开连接)此时双方已经断开连接,无法发送数据,如果想要发送数据,需要再次从新三次握手。
三次握手
01.由主机A发送建立TCP连接的请求报文,其中报文包含seq序列号,是由发送端随机生成的,并且还将报文中SYN字段置为1,表示需要建立TCP连接请求。
02.主机B会回复A发送的TCP连接请求报文,其中包含seq序列号,也是由回复端随机生成的,并且将回复报文的SYN字段置1,而且会产生ACK验证字段,ACK验证字段数值是再A发送过来的seq序列号基础上加1进行回复;并且还会回复ack确认控制字段,以便A收到信息时,知晓自己的TCP建立请求以及得到了确认。
03.A端收到B端发送的TCP建立连接请求后,会使自己的原有序列号加1进行再次发送序列号,并且再次回复ACK验证请求,在B端发送过来的seq基础上加1,进行回复;同时也会回复ack确认控制字段,以便B收到信息时,知晓自己的TCP建立请求已经得到了确认
四次挥手
TCP四次挥手断开过程说明
01.主机A发送断开TCP连接请求的报文,其中报文中包含seq序列号,是由发送端随机生成的,并且还将报文中FIN字段置为1,表示需要断开TCP连接。
02.主机B会回复A发送的TCP断开请求报文,其中包含seq序列号,是由回复段随机生成的,而且会产生ACK验证字段,ACK验证字段数值是在A发送过来的seq序列号基础上加1进行回复;并且还会回复ack确认控制字段,以便A收到信息时,知晓自己的TCP断开请求已经得到了确认。
03.主机B在回复完A的TCP断开请求确认控制字段后,不会马上就进行TCP连接的断开,这个时候B可以将未发送完的数据继续发送,当B将数据都发送完成后,像A发起断开连接请求FIN
04.A收到B断开连接请求后,回复ACK包这时候就断开连接了
标签:ACK,
PC1,
TCP,
发送,
PC2,
四次,
详解,
回复
From: https://blog.51cto.com/u_15971294/7057542