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

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

  • 姓名:钟建民
  • 学号:201821121101
  • 班级:计算1814
 

 

目录

  • 1 实验目的
  • 2 实验内容
  • 3. 实验报告
    • 3.1 建立网络拓扑结构
    • 3.2 配置参数
    • 3.3 抓包,分析TCP连接建立过程

1 实验目的

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

2 实验内容

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

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

3. 实验报告

3.1 建立网络拓扑结构

网络拓扑图如下:

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

 

3.2 配置参数

  • 客户端的IP地址为192.168.1.1
  • 服务端的IP地址为192.168.1.1.

给出路由器参数配置的详细操作,解释每条命令的功能。

清除路由器上的现有配置:

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

 

 

 

 Router>enable:进入特权模式

Router#erase startup-config:清除路由器上的现有配置

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

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

 

配置并激活端口:

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

 

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

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

 

 

 

 上图为配置F0/0和F0/1接口

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

 

配置路由算法:

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

 

 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:指定网络

 

验证参数配置:

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

 

 R#show ip interface brief:检验IP地址正确并且接口处于激活状态

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

 

 

 

 R#ping 192.168.2.1:ping 这个地址

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

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

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

 

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

 

 

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

如下图所示:

  • 箭头上方,给出ID(从IP报文头部找)、seq(序号)、ack(确认号)
  • 箭头下方,给出标志位的值,如ACK=1,标志位为0,无需给出

 

 

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

结合给出的TCP连接建立示意图,分析序号和确认号的变化。

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

 

 

 

 

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

第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
      握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
      确认号:其数值等于发送方的发送序号+1(即接收方期望接收的下一个序列号)。

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

(1)分析TCP连接释放

画出TCP连接释放示意图,结合课本内容,解释图为什么会跟课本不一样。解答为什么连接释放需要四次握手。

TCP的四次挥手过程(简言之):主动关闭方向被动关闭方发送不会再给你发数据了的信息;被动关闭方对收到的主动关闭方的报文段进行确认;被动关闭方向主动关闭方发送我也不会再给你发数据了的信息;主动关闭方再次对被动关闭方的确认进行确认。

(2)通过该实验如果有产生新的疑问,可以写出来,并尝试自己解决问题

TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?
答:建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。
(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。
(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。
(3)采用两次握手不行,原因就是上面说的失效的连接请求的特殊情况,因此采用三次握手刚刚好,两次可能出现失效,四次甚至更多次则没必要,反而复杂了。

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