码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-10-19 20:32:07      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:连接   img   消息服务   结构   拓扑   alt   配置路由器   姓名   节点   

  • 姓名:郑远波
  • 班级:计算1814
  • 学号:201821121099

1 实验目的

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

2 实验内容

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

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

3. 实验报告

3.1 建立网络拓扑结构

         网络拓扑图如下图所示:

技术图片

3.2 配置参数

  • 客户端的IP地址为192.168.1.99,默认网关为192.168.1.100

      技术图片

  • 服务器端的IP地址为192.168.2.99,默认网关为192.168.2.100

   技术图片

  • 路由器参数配置

  •  进入特权模式,清除路由器的现有配置,并且禁用DNS查找;

      技术图片 

  •  给路由器命名,配置并激活端口;

     技术图片

      配置路由器算法;

      连接192.168.1.0和192.168.2.0两个网络。

      技术图片

      检验ip地址是否正确并且处于接口激活状态:

     技术图片

      查看路由表:

      技术图片

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

      技术图片

      技术图片

      技术图片

      技术图片

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

技术图片

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

seq是序列号,是为了连接以后传送数据用的,ack是对收到的数据包的确认,值是等待接收的数据包的序列号。
在第一次消息发送中,客户端随机选取一个序列号作为自己的初始序号发送给服务端;第二次消息服务端使用ack对客户端的数据包进行确认,因为已经收到了序列号为x的数据包,准备接收序列号为x+1的包,所以ack=x+1,同时服务端告诉客户端自己的初始序列号,就是seq=y;第三条消息客户端告诉服务端收到了服务端的确认消息并准备建立连接,客户端自己此条消息的序列号是x+1,所以seq=x+1,而ack=y+1是表示客户端正准备接收服务端序列号为y+1的数据包。

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

这主要是为了防止已失效的连接请求报文段突然又传送到了B,因而产生错误。

所谓已失效的连接请求报文段是这样产生的。A发送连接请求,但因连接请求报文丢失而未收到确认,于是A重发一次连接请求,成功后建立了连接。数据传输完毕后就释放了连接。现在假定A发出的第一个请求报文段并未丢失,而是在某个网络节点长时间滞留了,以致延误到连接释放以后的某个时间才到达B。本来这是一个早已失效的报文段。但B收到此失效的连接请求报文段后,就误以为A又发了一次新的连接请求,于是向A发出确认报文段,同意建立连接。假如不采用三次握手,那么只要B发出确认,新的连接就建立了。

由于A并未发出建立连接的请求,因此不会理睬B的确认,也不会向B发送数据。但B却以为新的运输连接已经建立了,并一直等待A发来数据,因此白白浪费了许多资源。

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

标签:连接   img   消息服务   结构   拓扑   alt   配置路由器   姓名   节点   

原文地址:https://www.cnblogs.com/zyb1104/p/11704940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!