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

  • 姓名:滕婉
  • 学号:201821121066  
  • 班级:计算1813

1 实验目的

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

2 实验内容

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

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

3. 实验报告

 

3.1 建立网络拓扑结构

网络拓扑图如下图所示:

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

 

 pc连接路由器,路由器再连接服务器

3.2 配置参数

  • 客户端的IP地址为192.168.1.66
  • 服务端的IP地址为192.168.2.66
  • 路由器左端IP地址为192.168.1.67 
  • 路由器右端IP地址为192.168.2.67

 

客户端IP地址配置:

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

 

 

服务端IP地址配置:

 

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

 

 

路由器参数配置:

清除路由器上的现有配置
• 使用命令erase startup-config清除路由器上的现有配置:
• Router>enable # 进入特权执行模式
• Router#erase startup-config # 清除路由器上的现有配

• Router#configure terminal # 进入全局配置模式
• Router(config)#no ip domain-lookup # 禁用DNS查找
• 在实验环境中禁用DNS查找的目的是提高操作响应时间,因为键
入错误的命令,路由器会把错误命令当成域名进行查找。
配置并激活端口
• Router>enable # 进入特权执行模式
• Router#configure terminal # 进入全局配置模式
• Router(config)#hostname R # 将路由器名称配置为R

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

 

 

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

• 配置G0/0/0和G0/0/1接口:
• R(config)#interface G0/0/0
• R(config-if)#ip address 192.168.1.67 255.255.255.0
• R(config-if)#no shutdown # 激活接口

• R(config)#interface G0/0/1
• R(config-if)#ip address 192.168.2.67 255.255.255.0
• R(config-if)#no shutdown# 激活接口

 

 

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

 

 

 


配置路由算法
• 启用动态路由
• 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

 

 

 

 

 

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

通过抓取HTTP数据包得到的TCP报文,完成如下事情:

抓包:

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

 

 报文:

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

 

 

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

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

 

 

 

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

 

 

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

 

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

 

 

 

 

 

 

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

如下图所示:

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

 

 

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

 

1.建立TCP连接时,客户端发送一个同步位SYN=1,选择一个初始序号seq=x,然后告诉服务器客户将在连接中发送的数据初始序列号seq,这时客户端状态为SYN_SENT,这是TCP连接的第一次握手。

2.当服务器收到请求报文后,如果服务器同意连接,则向A发送确认,且要把ACK置为1,即ACK=1,确认号ack等于x+1,同时初始序号seq=y,这是TCP连接的第二次握手;

3.客户收到服务器的确认后,需向A给出确认,ACK=1,ack=y+1,自己的序号为seq=x+1,这是TCP连接的第三次握手;

4.这时,TCP连接建立成功。

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

为了提高传输的效率、应对网络中存在的延迟的重复数组的问题,为了传输效率,只要3次握手就认为已经可以开始传输数据,三次握手之后, CLT和SERVER就进入状态,开始数据传输。

4. 拓展 (不作要求,但属于加分项)

为什么释放连接要四次握手?

 

1、当主机A确认发送完数据且知道B已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给主机B。

 

2、主机B收到A发送的FIN,表示收到了,就会发送ACK回复。

 

3、但这是B可能还在发送数据,没有想要关闭数据口的意思,所以FIN与ACK不是同时发送的,而是等到B数据发送完了,才会发送FIN给主机A。

 

4、A收到B发来的FIN,知道B的数据也发送完了,回复ACK, A等待2MSL以后,没有收到B传来的任何消息,知道B已经收到自己的ACK了,A就关闭链接,B也关闭链接了。

 

你可能感兴趣的:(第三次实验报告:使用Packet Tracer分析TCP连接建立过程)