TCP三次握手的浅显理解

TCP相较UDP,是一种面向连接的可靠数据包传递。

1)先发起请求的为客户端。

2)SYN是发起连接请求标志位,ACK是应答请求标志位,FIN是结束连接标志位,虽然只是占1个位,但是需用1个字节发送的。

这些个标志位可以类比flag置1或置0的操作。

3)SYN消耗一个包号。

4)包号是传输字节的编号,一个字节对应一个包号(编号)

第一次:客户端(C)  --(发起连接请求)-->      服务器端(S)

                                       SYN  1000(0)                          //1000是包号,0是包中携带的数据(字节数),SYN占1个字节

第二次:客户端(C)  <--(应答客户端连接请求,同时发起连接请求)--  服务器端(S)

                                        SYN 8000(0),  ACK 1001       //ACK 应答第1次的SYN,确认号是下一个希望接收到字节的编号

                                                                                              //向客户端发送连接请求

第三次:客户端(C)   --(应答服务器的连接请求)-->  服务器端(S)

                                          ACK 8001                                   //只需要对服务器进行应答即可,不需要再发起请求了

三次握手,跟发送的数据无关,只是确定网络是否畅通。类比打电话的喂

第二次握手后,客户端已经建立了对服务器的连接,第三次握手后,服务器才建立了对客户端的连接。

 断开连接的四次握手,是由于允许半关闭的状态,即允许一端先关闭(不发送连接请求了,只能接),另一端再关闭。

发布了100 篇原创文章 · 获赞 26 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/modi000/article/details/105374296