一·搭建拓扑
为简化过程,使用PC与服务器直连
IP分别为192.168.1.1和192.168.1.254
打开PC的网页浏览器,输入服务器IP192.168.1.254并回车
在此,可以通过点击show all/none关闭所有报文传输,之后再点击Edit Filters筛选只选择显示http和tcp报文传输
二·观察
1.TCP连接建立(三次握手)
- 开始发送报文,PC向服务器发送SYN=1的请求
此时序列号(seq)为0,确认字段(ack)为0 - 服务器收到报文
服务器回复应答确认段,可以看到发送了SYN和ACK
确认序号值由0变为1 - TCP确认报文
PC对服务器的确认应答段也发出确认报文,发送ACK确认字段,SYN同步标志在接受后消失
确认报文自身的序号为1(第一个请求建立连接报文已经消耗掉序号0)
2.TCP连接释放(四次挥手)
-
PC请求中止连接,向服务器发送终止标志FIN和确认标志ACK
序号是103(即PC之前已传送过的数据的最后一个字节的序号加1),确认序号是472 -
服务器确认报文,并向PC发出确认应答
可以看到发送FIN和ACK标志,确认号变为104,序列号不变
此时,PC到服务器的TCP连接已释放,但服务器至PC的TCP连接未关闭 -
服务器连接释放请求报文
ps:在此模拟器中,这一步和上一步被归为了同一步,这一步在原版“四次握手”中应该是请求终止连接
-
PC确认报文段
最后接收后,PC传输出发送应答段,输出ACK标志供服务器确认
服务器收到PC的确认报文,释放到PC这个方向的TCP连接