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

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

时间:2019-10-19 00:16:01      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:out   路由表   image   figure   分析   com   释放   子网   ble   

  • 姓名:刘志友
  • 学号:201821121106
  • 班级:计算1814

1 实验目的

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

2 实验内容

2.1建立网络拓扑结构

网络拓扑结构图如下:

技术图片

 

2.2配置参数

  • 客户端IP配置:

技术图片

 

 

  •  服务端IP配置:

技术图片

 

  • 路由参数配置:

接口IP配置:

输入enable指令进入特权模式

输入configure terminal进入全局配置模式

f0/0:

技术图片

f0/1:

技术图片

配置IP地址中加入子网掩码

配置完成后输入no shutdown激活接口

 

  • 配置路由算法

启用动态路由并指定网络:

技术图片

router rip指明动态路由协议

指令no auto-summary 关闭自动路由汇总 

network指定网络

 

  • 验证参数是否配置正确

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

指令show ip interface brief显示接口信息

技术图片

 

查看路由表:

指令show ip route显示路由表信息

技术图片

 

任意两台机器能ping通:

技术图片

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

(1)TCP建立连接示意图:

 技术图片

 

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

三次报文握手中PC先向Server端发送连接请求报文,让同步位SYN=1,此时需要选择一个初始序号(seq=x)seq=0,因为SYN报文段不能携带数据,但要消耗掉一个序号;Server端收到请求报文后,如果同意建立连接,则向PC端发送确认,确认报文段中,SYN=1,ACK=1,确认号ack=0+1(ack=x+1),此时需要选择一个初始序号(seq=y)seq=0,因为此报文段也不能携带数据,但要消耗掉一个序号;PC端收到Server端的确认后,需要再给Server端发送确认,其中,ACK=1,确认号ack=0+1(ack=y+1),seq=0+1(seq=x+1),因为ACK报文段可以携带数据,所以如果携带了数据就要消耗掉一个序号,若没有携带数据则下一数据报文段的序号仍然是seq=1(seq=x+1)。

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

主要是为了防止已失效的连接请求报文突然又传送到了Server端,这个已失效的连接请求报文可能来自于PC端发送连接请求后,该请求在某个网络结点长时间滞留。因为PC端没有收到Server端的确认所以PC端会重新发送请求以建立连接,当数据传送完毕,连接还没有断开时,早已失效的连接请求就有可能传送到Server端。那么如果没有第三次握手,这个失效的连接请求就会在PC端和Server端之间建立起无意义的连接,从而浪费网络资源;但如果需要第三次握手,那么,因为PC端没有发送请求,也就不会对Server端的确认予以回应,也就不会建立起连接。

3 拓展

(1)分析TCP连接释放过程

技术图片

 

 (2)为什么图和课本不一样

课本上的连接释放过程,在客户端发出连接释放请求后,服务端又发送了一个确认报文,然后进入半关闭状态,等服务端没有数据要传送后才会发送连接释放报文给客户端。而本例中客户端发送了连接释放请求后,服务端就立刻发送连接释放响应,没有经过半关闭状态。

(3)为什么释放连接需要第四次握手

若没有第四次握手,即客户端没有向服务端的连接释放请求发送确认,那么服务端就不能知道客户端有没有收到连接释报文段,也就不能保证客户端会进入TIME-WAIT状态,从而客户端就会一直处在半关闭状态等待服务端的数据。

 

 

 

 

 

 

 

    

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

标签:out   路由表   image   figure   分析   com   释放   子网   ble   

原文地址:https://www.cnblogs.com/Joen/p/11697126.html

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