第三次实验报告:使用Packet Tracer分析TCP连接建立过程
姓名:袁祎琦
学号:201821121033
班级:计算1812
实验目的
- 使用路由器连接不同的网络
- 使用命令行操作路由器
- 通过抓取HTTP报文,分析TCP连接建立的过程
实验内容
使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。
- 建立网络拓扑结构
- 配置参数
- 抓包
- 分析数据包
实验报告
1、建立网络拓扑结构
由一台路由器、一台PC机和一台服务器组成。
2、配置参数
客户端的IP地址为:192.168.1.33,默认网关为:192.168.1.101
服务端的IP地址为:192.168.2.33,默认网关为:192.168.1.101
路由器参数配置
两个端口配置好后,开始配置路由协议
验证参数设置
show ip interface brief
show ip route
3、抓包,分析TCP建立过程
3.2抓到的数据包
3.2TCP建立连接示意图
客户端主动打开连接,服务端被动打开连接。
一开始,SYN=1,seq=x,这时,TCP客户进程进入SYN-SENT(同步已发送)状态。
服务端收到连接请求报文后,如同意连接,则向服务端发送确认在确认报文段中应把SYN位和ACK位都置为1,确认号是ack=x+1,同时也为自己选择一个初始序号seq=y。
客户端收到服务器的确认后,还要向服务器发送确认。在确认报文段中应把SYN位和ACK位都置1,确认号是ack=y+1,而自己的序号seq=x+1。这时,TCP连接已建立,客户端进入ESTABLISHED状态。
拓展
1、TCP连接释放过程
2、Q:为什么建立TCP连接的时候时三次握手,而释放TCP连接的时候是四次挥手?
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。
(1)客户端发送一个FIN,用来关闭客户端到服务器B的。
(2)服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
(3)服务器关闭与客户端A的连接,发送一个FIN给客户端。
(4)客户端发回ACK报文确认,并将确认序号设置为收到序号加1。