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

  • 姓名:许德阳
  • 学号:201821121045  
  • 班级:计算1812

1 实验目的

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

2 实验内容

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

2.1 建立网络拓扑结构

 

2.2 配置参数

客户端配置:

 

服务端配置:

 

 

路由器配置并激活端口:

Router>enable  #

Router#configure terminal

Router(config)#hostname R

配置接口

R(config)#interface Gig0/0/0

R(config)#ip address 192.168.1.46 255.255.255.0

R(config)#no shutdown

R(config)#interface Gig0/0/1

R(config)#ip address 192.168.2.46 255.255.255.0

R(config)#no shutdown

 配置路由算法:

启用动态路由:

R(config)#router rip

R(config)#version 2

R(config-router)#no auto-summary

R(config-router)#network 192.168.1.0

R(config-router)#network 192.168.2.0

 

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

 连接成功:

 

 获得如下http与tcp包:

TCP报文:

 

 

 

 

HTTP报文:

 

 

 

 

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

如下图所示:

 

 

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

在需要建立TCP连接时,客户端TCP发送一个同步位SYN,选择一个初始序号seq=x告诉服务器客户将在连接中发送的数据的初始序列号seq,客户端状态为SYN_SENT,即SYN=1,ACK=0。TCP规定,在SYN=1时不能携带数据,但是要消耗一个序号,所以申明自己的序号seq=x。

然后Server进行回复确认,即SYN=1,ACK=1,seq=y,ack=x+1。

然后客户端再次确认,但不用SYN=1,即ACK=1,seq=x+1,ack=y+1。(SYN=1时,表明这是一个请求连接或接受连接报文)

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

 为了防止pc端发出的连接报文失效但之后又发送到Server端导致出现错误,而且浪费资源。

 

 

 

 

 

posted on 2019-10-19 23:19  xudeyang  阅读(137)  评论(0编辑  收藏  举报