您的位置:首页 > 理论基础 > 计算机网络

图解 TCP IP 协议:三次握手、四次挥手

2016-08-28 22:41 302 查看
更多内容: http://blog.yuhai.win

参考地址:
1、http://mp.weixin.qq.com/s?__biz=MzAwNjMxMTA5Mw==&mid=2651340249&idx=1&sn=ad3bde6844f04049c5408334d09da871&scene=0#wechat_redirect
2、http://www.cricode.com/3568.html


1、TCP 的通信过程如下图:



TCP 的传输过程主要包括

a、 建立连接

b、 传输数据

c、 断开连接

2、 SYN(synchronous)是TCP/IP建立连接时使用的握手信息。在客户机与服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个信息,最后客户机再以ACK消息响应。

3、ACK(Acknowledgement),即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。

4、三次握手建立连接

a、第一次握手:客户端发送SYN包(seq=x)到服务器,并进入SYN_SEND 状态,等待服务器确认

b、第二次握手: 服务器接收到SYN包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态

c、第三次握手:客户端接收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器端进入ESTABLISHED状态,完成三次握手。

5、四次挥手断开连接

a、主动关闭发送一个FIN,用来关闭主动发到被动方的数据传送,也就是主动关闭方告诉被动关闭方,我已经不会再给你发数据了,但此时主动关闭方还可以接收数据。

b、第二次挥手 被动关闭方收到FIN包后,发送一个ACk给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)

c、第三次挥手: 被主动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传输,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。

d、第四次挥手 主动关闭收到FIN后,发送一个ACk给被动关闭方,确认序号为收到序号+1,至此完成四次挥手
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息