首页 > 编程知识 正文

TCP连接三次握手的工作原理,计算机网络原理第三章课后答案

时间:2023-05-05 04:20:31 阅读:190050 作者:783

但好消息是,未来的TCP/IP协议在实现端到端连接时使用了三次握手连接。 典型的想法是,建立连接只需要四个步骤:客户端指示服务器确认两次握手。

但是,问题没有那么简单。 由于通信子网不是很理想,因此无法保证数据包会立即到达目的地。假如分组丢失,通常使用超时重传来解决此问题客户端发出连接请求时,将同时启动计时器。 如果计时器超时,客户端将再次发送连接请求,并重新启动计时器,直到连接成功。 或者,在重发次数达到一定值时,视为无法建立连接而废弃。

它存储在子网中,而不是最难解决的问题是连接根本没有丢失,过了一会儿突然出现在服务器端。 所谓的延迟重复问题。 延迟环路会导致重叠连接和重叠处理,在银行系统、订票系统等很多APP系统中是绝对不会出现的。

下面是TCP报文格式图:

上图中有几个字段需要重点介绍下:

)1)序列号) Seq序列号识别从TCP源向目的地传输的字节流,并在发起方传输数据时将其标记。

)2)确认号码) Ack号码占32位,只有在Ack标志位为1时,确认号码字段才有效,Ack=Seq 1。

)3)标志位)总共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下。

(a ) URG )紧急指针(urgent pointer )有效。

(b ) ACK )验证序列号是否有效。

) c ) PSH )接收方应该尽快将此消息传递到APP应用层。

(d )重置连接。

(e ) SYN )启动新连接。

(f )释放连接。

需要注意的是:

) a )请不要将确认编号Ack与标志位的Ack混淆。

) b )确认方Ack=启动器Req 1,两端对

三次握手机制已消除,以消除重复连接。 三重握手机制要求首先对此次连接的所有消息进行编号,并将随机值作为初始号码。 由于序列号字段足够长,在序列号循环一周的时间内,使用相同序列号的旧消息已经传输完毕,可以保证网络上不会出现相同连接、相同序列号的两条不同消息。

(1)第一次握手:

客户端将标志位SYN设定为1,随机生成值seq=J,将其数据包发送到服务器,客户端进入SYN_SENT状态,等待服务器的确认。

(2)第二次握手:

Server接收到数据包后,从标志位SYN=1得知Client请求建立连接,Server将标志位SYN和ACK都设定为1,ack=J 1,随机生成seq=K的值,并生成该数据包

(3)第三次握手:

Client在确认后,检查ack是否为J 1,ack是否为1。如果将标志位ack正确设定为1,则ack=K 1,Server将该数据包发送到Server,ack为K 1,ack为1

原文链接: 3359 blog.csdn.net/QQ _ 34940959/article/details/78592379

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。