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

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

时间:2019-10-20 16:15:56      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:信息   接受   过程   无法   down   tar   请求   code   发送数据   

  • 姓名:陈敏
  • 班级:计算1813
  • 学号:201821042003

目录

1.实验目的

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

2.实验内容

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

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

3.实验报告

3.1 建立网络拓扑结构

网络拓扑图如下图所示:

技术图片

 

3.2 配置参数

  • 客户端的IP地址为192.168.1.03,默认网关为192.168.1.04
  • 服务端的IP地址为192.168.2.03,默认网关为192.168.2.04
  • 配置路由器参数,详细操作:

(1)打开路由器的CLI

技术图片

(2)清除路由器上的现有配置

技术图片

 

• Router>enable                                    # 进入特权执行模式

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

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

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

(在实验环境中禁用DNS查找的目的是提高操作响应时间,因为键入错误的命令,路由器会把错误命令当成域名进行查找。)

 

(3)配置并激活端口

1.配置路由器名称

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

技术图片

2.配置G0/0和G0/1接口:

技术图片

激活接口后,发现G0/0和G0/1的接口箭头由红变绿

 技术图片

• R(config)#interface G0/0   #配置G0/0接口

• R(config-if)#ip address 192.168.1.110 255.255.255.0   

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

 

3.配置路由算法

技术图片

(1)启用动态路由

• R(config)# router rip

• R(config-router)#version   2 使用rip 2版本

• R(config-router)#no auto-summary   关闭自动路由汇总 

(2)指定网络(数据传过来需要查看路由表)

• R(config-router)#network 192.168.1.0

• R(config-router)#network 192.168.2.0

4.验证参数配置是否正确

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

         R#show ip interface brief

技术图片

 

(2)查看路由表

         R#show ip route

技术图片

 

技术图片

 

(3)任意两台机器能ping成功

         R#ping 192.168.2.3 at PC

技术图片

 

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

抓包:

TCP报文分析:

           客户端主动打开,发送请求报文段,首部同步位为SYN=1,选择一个初始序号seq=0(x)

技术图片

           服务端收到连接请求,同意连接,向客户端发送确认。确认报文中SYN和ACK为1,确认号ack=1(x+1),同时为自己选择一个初始序号seq=0(y)

技术图片

          客户端收到确认后,向服务端给出确认,确认报文段ACK=1,确认号ack=1(y+1),seq=1(x+1);此时TCP连接已经建立,客户端进入已连接状态

技术图片

 

         TCP报文格式

技术图片

源端口:占2个字节,源端口和IP的作用是标记报文的返回地址。
目的端口:占2个字节,指明接收方计算机上的应用程序接口。

序号:占4个字节,是TCP可靠传输的关键部分。

确认序号:即ack,占4个字节,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。

数据偏移:占4位,它指出TCP报文的数据距离TCP报文段的起始处有多远。

保留:为将来定义新的用途保留,一般置为0。

控制位:

  URG:紧急指针标志。1:紧急指针有效;0:忽略紧急指针。
  ACK:确认序号标志。1:确认号有效;0:忽略确认号段。
  PSH:push标志。1:带有push标志的数据,表示接收方在接收到该报文后应尽快将这个报文段交给应用程序,而不是缓冲区排队。
  RST:重置连接标志。用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。
  SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。
  FIN:结束标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。
窗口:滑动窗口大小,用来告知发送端接收端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。

校验和:奇偶校验,此校验和是针对整个TCP报文段的,包括TCP报头和TCP报文数据段,以2个字节进行计算所得。

紧急指针:只有当URG标志置1时紧急指针才有效,TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。

选项和填充:最常见的可选字段是最长报文大小,它表示本端所能接受的最大报文段的长度。

数据部分:TCP报文段中的数据部分是可选的。

 

         TCP连接建立示意图

技术图片

为什么连接建立需要第三次握手?

答:PC端向服务器发送连接请求时,可能出现意外而无法正常送到,当其到达服务器时属于无效报文,但服务器仍然会发出确认应答的报文,若没有三次握手,则连接建立成功,服务器会等待这一无效连接发送数据,造成资源浪费。若采用三次握手,则PC端不会再向服务器发送发送确认应答信息,连接不会被建立。

 

 

 

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

标签:信息   接受   过程   无法   down   tar   请求   code   发送数据   

原文地址:https://www.cnblogs.com/cm1128/p/11707319.html

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