TCP链接建立到释放过程
如图:
截图有点问题,哈哈。下面说一下我对这幅图的理解。
两条竖线表示通讯两端,一个客户端,一个服务器端,从上到下表示时间的先后顺序,因为数据从一端到另一端也需要时间,所以图中的箭头都是斜的。双方发送的段已经按时间顺序编号为1-10。
数据段1:SYN标志请求建立连接,1000是客户端发送序号的初始值,(0)有效载荷0,最大段尺度1460。
数据段2:ACK1001表示同意客户端的连接建立请求,可以从1001序号发送;SYN询问客户端可以建立连接否;8000服务器端发送序号的初始值,(0)有效载荷0,可接收的最大段尺度1024。
数据段3:ACK8001表示同意服务器的连接请求,可以从8001序号发送。
至此三次握手完成,连接建立。
注意最后是四次断开连接。
数据段7:FIN断开连接请求,1021(0)序号为1021,有效载荷0,ACK8011表示8011前字节已收到,可以从8011发送。
数据段8:ACK1022表示1022前的字节已收到,同意断开连接。
数据段9:服务器段的连接断开请求,同数据段7。
数据段10:8012前字节已收到,同意断开请求。
每发送一个字节序号加1,SYN,FIN虽不是有效载荷但也占一位。