第三次实验报告:使用Packet Tracer分析TCP连接建立过程
- 姓名:黄碧婷
- 学号:201821121032
- 班级:计算1812
1 实验目的
- 使用路由器连接不同的网络
- 使用命令行操作路由器
- 通过抓取HTTP报文,分析TCP连接建立的过程
2 实验内容
使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。
2.1 建立网络拓扑结构
2.2 配置参数客户端配置:
服务端配置:
配置路由器参数:
Router>enable # 进入特权执行模式
Router#configure terminal # 进入全局配置模式
Router(config)#hostname R # 将路由器名称配置为R
配置F0/0接口:
R(config)#interface F0/0
R(config-if)#ip address 192.168.1.32 255.255.255.0
R(config-if)#no shutdown # 激活接口
启用动态路由
R(conf)# router rip
R(conf)#version 2 使用rip 2版本
R(conf)#no auto-summary 关闭自动路由汇总
指定网络
R(conf)#network 192.168.1.0
R(conf)#network 192.168.2.0
2.3 抓包,分析TCP连接建立过程
输入服务器IP
开始抓包
选择TCP包:
选择HTTP包:
TCP连接建立示意图:
分析序号和确认号的变化:
第一次握手:客户端向服务端发送连接请求报文段,这时首部的同步位SYN=1,同时选择初始序号seq=0
第二次握手:服务端向客户端发送确认报文,SYN、ACK均置为1,seq=0,ack= 1
第三次握手:客户端向服务端发送确认报文,ACK置1,ack=1,seq=1
问题:为什么客户端最后还要发送一次确认呢?
这主要是为了防止已失效的连接请求报文段突然又传送到了B,因而产生错误。