欢迎光临散文网 会员登陆 & 注册

千锋教育2023版Java面试宝典Java面试200题(含美团、字节、阿里大厂真

2023-07-16 18:01 作者:菠萝味的冰啤酒  | 我要投稿

Tcp协议位于传输层,作用是提供可靠的字节流服务,为了准确无误的将数据送达目的地,Tcp协议采用三次握手策略。


三次握手原理:

第一次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端

第二次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了

第三次握手:客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。

其中:SYN标志位置1,表示建立TCP连接;ACK标志表示验证字段。


详细说明:

1.客户端发送建立TCP连接的请求报文,其中报文中包含seq序列号,是由发送端随机生成的,将报文中的SYN字段置为1,表示需要建立TCP连接(SYN=1,seq=x,x为随机生成数值)

2.服务端回复客户端发送的TCP连接请求报文,其中包含seq序列号,是由回复端随机生成的,并且将SYN置为1,而且会产生ACK字段,ACK字段数值是在客户端发送过来的序列号seq的基础上加1进行回复,以便客户端接收到信息后,知晓自己的TCP建立请求已经得到验证(SYN=1.ack=x=1,seq=y,y是随机生成数值),这里的ack加1可以理解为是确认和谁建立连接

3.客户端收到服务端发送的TCP建立验证请求后,会使自己的序列号加1表示,并且再次回复ACK验证请求,在服务端发过来的seq上加1进行回复(SYN=1,ack=y+1,seq=x+1)


千锋教育2023版Java面试宝典Java面试200题(含美团、字节、阿里大厂真的评论 (共 条)

分享到微博请遵守国家法律