读懂网络通信技术原理 网络通信技术( 五 )


5、我的主机收到数据帧,通过IP->TCP->HTTP->阅读器,阅读器以网页情势显示HTML内容 。
其他的HTTP办法在传输数据时办法都相似,只是所携带的内容不同 。
4.2.4与目标主机断开TCP衔接(四次挥手)
数据传输完成后须要断开衔接,与树立时不同,断开衔接须要多一次,有四次挥手,至于为什么,看完进程我们再讲 。
看图懂得进程:

读懂网络通信技术原理 网络通信技术

文章插图


进程如下:
1、阅读器向目标主机发出TCP衔接停止要求报文,此时进入FIN WAIT状况;
2、该报文FIN标记位设为1,表现停止要求;
3、TCP停止要求报文通过IP(DNS)->MAC(ARP)->网关->目标主机;
4、目标主机收到数据帧,通过IP->TCP,TCP协定单元回应停止应答报文;
5、当前只是进行回应,因为目标主机可能还有数据要传,并不急着断开衔接;
6、该报文中ACK标记位设为1,表现收到停止要求;
7、目标数据发送完所有数据后,向我的主机发出TCP衔接停止要求报文;
8、该报文FIN标记位设为1,表现停止要求;
9、TCP停止要求报文通过IP(DNS)->MAC(ARP)->网关->我的主机;
10、我的主机收到数据帧,通过IP->TCP,TCP协定单元回应停止应答报文,此时进入TIME WAIT状况,因为不信任网络是可靠的,如果目标主机没收到还可以重发;
11、该报文中的FIN标记位均设为1,表现停止应答;
12、该TCP回应报文通过IP(DNS)->MAC(ARP)->网关->目标主机;
13、目标主机关闭衔接;
14、TIME WAIT期待停止后,没有收到回复,解释目标正常关闭了,我的主机也关闭衔接 。
这里的进程是以我的主机自动发起停止要求开端的,实际上也可以由目标主机自动发起,那么进程就会跟上面相反,但细节差不多 。
FIN_WAIT状况是自动发起要求时期待确认信息,而TIME_WAIT状况是收到停止要求后发送确认信息后期待看是否须要重发 。
现在来说说为什么断开衔接时须要四次挥手呢?因为树立衔接时目标主机可以直接发送SYN(同步)+ACK(应答)报文 。而当断开时,目标主机收到FIN后可能还有数据要发,并不必定直接断开,所以先发送一次应答,告诉我的主机收到了要求,等确认所有数据都发完了,再发送FIN,同时期待我的主机应答,这里的FIN和ACK就不能一起发送,所以须要四次 。
4.2.5总结一下:
以上就是主机拜访网站时的网络通讯全进程,归纳起来就是:
首先要通过域名找到IP,如果缓存里没有就要要求DNS服务器;得到IP后开端于目标主机进行三次握手来树立TCP衔接;衔接树立落后行HTTP拜访,传输并获取网页内容;传输完后与目标主机四次挥手来断开TCP衔接 。
【读懂网络通信技术原理 网络通信技术】


推荐阅读