第三次实验报告:使用Packet Tracer分析TCP连接建立过程
姓名:廖懋澄
学号:201821121118
班级:计算1814
1 实验目的
- 使用路由器连接不同的网络
- 使用命令行操作路由器
- 通过抓取HTTP报文,分析TCP连接建立的过
2 实验内容
使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。
- 建立网络拓扑结构
- 配置参数
- 抓包
- 分析数据包
3. 实验报告
3.1 建立网络拓扑结构
网络拓扑图如下图所示:
3.2 配置参数
配置PC端以及服务端地址如下:
PC
服务端
清除路由器上的现有配置:
使用命令erase startup-config清除路由器上的现有配置:
• Router>enable # 进入特权执行模式
• Router#erase startup-config # 清除路由器上的现有配 置
• Router#configure terminal # 进入全局配置模式
• Router(config)#no ip domain-lookup # 禁用DNS查找
配置并激活端口:
• Router>enable # 进入特权执行模式
• Router#configure terminal # 进入全局配置模式
• Router(config)#hostname R # 将路由器名称配置为R
配置Fa0/0接口:
• R(config)#interface Fa0/0
• R(config-if)#ip address 192.168.1.110 255.255.255.0
• R(config-if)#no shutdown # 激活接口
激活Fa0/1接口:
激活后链接显示绿色
配置路由算法:
R(config-router)#version 2:使用rip 2版本
R(config-router)#no auto-summary:关闭自动路由汇总
R(config-router)#network 192.168.1.0
R(config-router)#network 192.168.2.0:指定网络
验证参数配置是否正确
检验IP地址正确并且接口处于激活状态
查看路由表
R#ping 192.168.2.118:ping 这个地址
3.3 抓包,分析TCP连接建立过程
抓包:
HTTP报文:
TCP报文:
IP报文:
(1)画出TCP连接建立示意图
如下图所示:
(2)分析序号和确认号的变化
1.PC将标志位SYN置为1,随机产生一个值seq,并将该数据包发送给服务端,PC进入SYN_SENT状态,等待服务器确认。
2.服务端收到数据包后由标志位SYN=1知道PC请求建立连接,服务端将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给PC以确认连接请求,服务端进入SYN_RCVD状态。
3.服务端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务端,服务端检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,PC和服务端进入ESTABLISHED状态,完成三次握手,随后PC与服务端之间可以开始传输数据了。
(3)解答:为什么连接建立需要第三次握手
双方连接的建立可以会失败,若不加以确认,错误的连接会保留,并导致资源浪费,所以需要三握手,来确认连接是否成功。