代码改变世界

第三次实验报告:使用Packet Tracer分析TCP连接建立过程

2019-10-19 13:18  Wangpj  阅读(596)  评论(0编辑  收藏  举报
  • 姓名:王丕杰
  • 学号:201821121052
  • 班级:计算1812

1 实验目的

  • 使用路由器连接不同的网络
  • 使用命令行操作路由器
  • 通过抓取HTTP报文,分析TCP连接建立的过程

2 实验内容

使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。

  • 建立网络拓扑结构
  • 配置参数
  • 抓包
  • 分析数据包

3. 实验报告

3.1 建立网络拓扑结构

网络拓扑图如下图所示:

3.2 配置参数

3.2.1 配置客户端、服务端

客户端的参数配置如下:

服务端的参数配置如下:

3.2.2 配置路由器参数

(1)激活路由器

Router>enable # 进入特权执行模式 

Router#configure terminal # 进入全局配置模式 

Router(config)# no ip domain-lookup # 禁用DNS查找

Router(config)#hostname R # 将路由器名称配置为R 

(2)配置端口 G0/0G0/1

R(config)#interface G0/0 

R(config-if)#ip address 192.168.1.52 255.255.255.0 

R(config-if)#no shutdown # 激活接口 

(3)配置路由器协议 

R(config)#router rip                       # 进入配置路由协议的模式

R(config-router)#version 2               # 使用rip 2版本

R(config-router)#no auto-summary    # 关闭自动路由总结

R(config-router)#network 192.168.1.0  # 指定网络

3.3 抓包,分析TCP连接建立过程

3.3.1 抓包

3.3.2 分析

(1)画出TCP连接建立示意图

如下图所示:

(2)分析序号和确认号的变化

在建立TCP连接时,客户端TCP发送一个同步位SYN,选择一个初始序号seq=x告诉服务器客户将在连接中发送的数据的初始序列号seq,客户端状态为SYN_SENT;

服务器收到连接请求报文之后,若同意连接,则向A发送确认,在报文中,要把ACK置为1,确认号ack等于x+1,同时初始序号seq=y;

客户收到服务器的确认后,需向A给出确认,ACK=1,ack=y+1,自己的序号为seq=x+1,这时TCP连接建立成功。

(3)解答:为什么连接建立需要第三次握手

防止失效的连接请求报文段被服务端接收,从而产生错误。