0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【虹科案例】使用 TCP 分析测量握手时间

虹科网络可视化技术 2023-05-04 15:30 次阅读

如何使用 Allegro Network 万用表的 TCP 分析确定握手时间

握手需要多少时间?

在图 1 中,您可以在虹科Allegro 网络万用表的 TCP 统计数据中看到过去 10 分钟的客户端握手次数。在这里,您可以清楚地看到在指定时间段内有延长的响应时间。但为什么会延长呢?是不是互联网上的服务器太远?或者可能是无线局域网太弱?但是这些很快就不再是问题了,因为有了虹科Allegro网络万用表,您可以轻松快速地找出响应时间过长的位置以及原因。

图 1:TCP 统计信息一览

握手时间较长的原因

在图 2 的表中,所有数据都以表格形式显示。在这里,您可以根据各种参数选择是按升序还是降序排序,从而可以快速查看哪个服务器或客户端的平均握手时间最长。

虹科Allegro 网络万用表可以永久记录和分析握手时间。这样做的好处是什么呢?您可以一目了然地看到虚拟机是否存在延迟问题,甚至可能存在的质量问题。虚拟机通常会有这种情况,因为它们都是按照“Best Effort”来运行的。

Best Effort意味着它所分布的计算能力与当前可用的计算能力一样多。

对于一个服务和另一个服务(如备份),这种情况可能很好,因为这里的时间片大小并不重要。另一方面,对于ERP系统等服务,情况看起来却有所不同。因为ERP系统会发送许多小请求,它需要的是立即计算能力。

这个对于快速浏览握手时间也很好。我们曾经遇到过这样的情况,即握手时间在某些时候会经常上升,我们可以很快地判断出是虚拟机出了问题。我们意识到了这是由于主机没有为虚拟机分配足够的处理时间,因此出现重大停顿而造成的原因,其中,机器几乎静止不动,没有回答任何请求。

图 2:重要参数排序表

如果握手时间远远超过40毫秒怎么办?

这是你应该注意的地方。在这种情况下,通常意味着数据包已到达服务器,但服务器要么负载非常高,要么连接速度太慢。在客户端方向也是如此。如果客户端确认其在接收的数据方面运行缓慢,则可能是客户端或链路过载造成的。

TCP 重新传输

虹科Allegro网络万用表使您能够随时查看 TCP 统计信息。这使您可以缩小问题所在。对于 TCP 重新传输,这同样是可能的。如图 3 所示,您可以在菜单项 TCP 重传下看到连接的所有数据包和重新传输的数据。这使您可以立即查看重复的数据百分比以及总共传输的数据量。

图 3:TCP 重新传输

数据何时出现两次?

如果数据在同一个位置出现两次,则表示远程站未收到数据。在这种情况下,是设备和接收系统之间存在过载导致的虹科Allegro网络万用表中数据丢失。

实践中的典型用例:

有人抱怨网络太慢。但是如果使用虹科Allegro 网络万用表,您可以直接在服务器上进行测量,以查看其当前响应时间。如果此处未显示任何重新传输,您还可以查看数据在什么时间发送出去。则可以知道是否有网络带宽问题。除此之外,您还可以查看响应时间。如果这些值较低,则可以完全排除网络是导致问题的原因。如果问题出在服务器中或直接在客户端中,这需要很长时间来处理数据。

如何找到无效连接?

在图 4 中,您可以在”连接无效的 TCP 服务器”选项卡上的 TCP 统计信息下清楚地识别此类无效连接。通过这种方式,您始终可以立即知道哪个IP地址正在发送无效请求,并在必要时采取措施。

无效连接是指发送了 TCP 请求但不显示任何数据。其中一个原因可能是来自外部的攻击。但也可能是有人正在发送连接,但根本不想传输它们,并且还在客户端 – 服务器通信中受到干扰。

在表中,您可能还会看到某些连接包含状态”无效”。如果只传输了几个字节并且已经在那里握手,但连接已经打开了20个小时并且从未彻底地关闭,则可能会出现这种情况。请保持警惕,因为这可能是一次攻击。但请注意,这不是一个安全功能,而是一种早期预警系统。

图 4:查找无效连接

TCP 标志评估的功能

通过这种方式,您可以轻松快速地查看在什么时间使用了多少标志。

这可能表明网络中存在问题,例如,如果突然重置速率增加很多。在这种情况下,您可以按发送或接收最多重置的IP对表进行排序,以找到罪魁祸首。

何时出现零窗口?

由于应用程序提取数据的速度不够快,所以当数据到达服务器时,始终会出现零窗口。这与操作系统核心中的缓冲区有关。每当数据到达操作系统的速度过快时,缓冲区就会变小。一旦缓冲区用完,TCP 就会发送消息”缓冲区为 0″,即零窗口。这样做的好处是,可以排除网络的问题。这是因为两个设备之间的网络足够快,服务器跟不上的原因。

但同时会有两个可能的原因:

  1. 窗口太小,可能会在其中发送数据。
  2. 或者应用程序速度太慢,无法接受数据

图 5:TCP 零窗口

在图 5 中所示的菜单项”TCP 零窗口”下,您可以随时查看存在哪些零窗口,还可以跟踪已发送和接收的窗口数。同时,您可以看到操作系统可以缓存的数据量有多大,即所谓的窗口大小。这是在 TCP 连接开始时通过 Windows 缩放因子协商的。Windows 比例因子确定最大大小,并且在连接运行时无法更改。

一般来说,出现这些标志,都是物理布线,交换机,路由器,防火墙没有问题的表现。在这里,问题显然出在终端设备及其性能上。因此,如您所见,TCP分析可帮助您快速排除可能的问题并更接近真正的问题。TCP的最大优点是它还可以与大量协议一起使用,特别是对于SSL等完全加密的流量,因为TCP在ssl中也有使用。

应用示例:

使用虹科Allegro网络万用表,您可以轻松地按发送最多 TCP 零窗口的应用程序进行排序。在我们的例子中,有很多来自备份系统。我们可以通过更仔细地观察看到每秒发送500个零窗口数据包的时间。同时,响应时间也非常慢。这是什么原因呢?

在”对等”项目下,我们看到从我们的磁盘站传输了66 GB的大容量。在这种情况下,每晚我们都会把中央 NAS 备份到旧 NAS。现在新 NAS 比旧 NAS 更快,也可以更快地发送数据。

使用过滤器排除流量

通常,在安装时,您要么获得大型镜像端口,要么从数据包代理处获得大量数据。为了分析这一点,我们内置了一个网络过滤器。这样,您可以轻松忽略某些不想记录或分析的流量。

此类连接还可以定义为黑名单或白名单。也许您有与您的测量相关的某些IP或MAC滤波器。或者,反之亦然,您希望排除在任何情况下都不应分析的某些计算机。请注意,即使单个数据包已被排除,仍然可以在接口统计信息中看到它们,但这不是Allegro网络万用表的问题,这是因为数据包存在并已注册。但在处理它们之前,它们被过滤掉并在内部丢弃。为了帮助您跟踪这一点,我们已将”过滤流量”部分安装到仪表板中。

如图 6 所示,您将在此处找到以下区域的筛选器函数:IP 地址、子网、IP 对、MAC 地址、VLAN、端口、网络接口筛选器。

筛选时的链接是基于 OR 的,这意味着每个筛选器都是单独应用的。例如,如果同时应用 MAC 筛选器和 IP 筛选器,那么一旦地址遇到该流量,就会将其过滤掉。在相反的情况下,如果您添加了许多IP地址,则它们将被Or链接,并且一旦命中IP地址,就会应用过滤器。

图 6:筛选特定流量

结论

虹科 Allegro网络万用表中的 TCP 分析和握手次数测量功能可以快速分析错误并检测可能的攻击。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1271

    浏览量

    78291
  • 测量
    +关注

    关注

    10

    文章

    4215

    浏览量

    109734
收藏 人收藏

    评论

    相关推荐

    说说TCP三次握手的过程?为什么是三次而不是两次、四次?

    说说TCP三次握手的过程?为什么是三次而不是两次、四次? TCP三次握手是建立TCP连接的过程,确保数据的可靠传输。它是由发送端和接收端完成
    的头像 发表于 02-04 11:03 226次阅读

    TCP协议连接的三次握手

    通过三次握手,客户端与服务端能够确保彼此的网络连接是可用的。客户端发起的SYN报文和服务端返回的SYN+ACK报文都包含了对方的初始序列号和通信能力信息,通过互相确认这些信息,双方确认彼此的能力和正确性。
    的头像 发表于 02-03 16:44 877次阅读
    <b class='flag-5'>TCP</b>协议连接的三次<b class='flag-5'>握手</b>

    TCP和UDP协议有什么区别?如何通过网关实现TCP协议通信?

    TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,能够保证数据从发送方到达接收方,是物联网领域常见的通信协议之一。 TCP是面向连接的,所以在开始传输数据前要先经历三次握手建立连接
    的头像 发表于 01-24 11:07 234次阅读
    <b class='flag-5'>TCP</b>和UDP协议有什么区别?如何通过网关实现<b class='flag-5'>TCP</b>协议通信?

    关于TCP协议总结的硬核干货

    本文给出TCP报文格式的详细说明,介绍网络数据包传递中如何进行地址解析、建立TCP连接的三次握手过程以及断开TCP连接的四次挥手过程。
    发表于 11-17 09:26 235次阅读
    关于<b class='flag-5'>TCP</b>协议总结的硬核干货

    TCP与UDP的基本区别

    顺序,UDP不保证 UDP应用场景: 面向数据报方式 网络数据大多为短消息 拥有大量Client 对数据安全性无特殊要求 网络负担非常重,但对响应速度要求高 TCP报头 UDP报头 TCP三次握手
    的头像 发表于 11-13 15:27 543次阅读
    <b class='flag-5'>TCP</b>与UDP的基本区别

    TCP的长连接和短连接

    TCP在真正开始进行数据传输之前,Server 和 Client 之间必须建立一个连接。当数据传输完成后,双方不再需要这个连接时,就可以释放这个连接。 TCP连接的建立是通过三次握手,而连接的释放
    的头像 发表于 11-13 10:46 522次阅读

    TCP通信过程详解

    握手的,而释放则需要4次挥手,所以说每个连接的建立都是需要资源消耗和时间消耗的 经典的三次握手示意图: 经典的四次挥手图: tcp的十种状态图: 注意: 当一端收到一个FIN,内核让r
    的头像 发表于 11-09 14:39 411次阅读
    <b class='flag-5'>TCP</b>通信过程详解

    TCP三次握手的理论知识

    关于TCP三次握手的理论知识,往上一搜一大片,本文就跳过理论,直接上手。Let’s go。 准备知识 抓一个TCP三次握手的包 开启三个窗口,窗口1执行命令: sudo tcpdump
    的头像 发表于 11-09 11:27 315次阅读
    <b class='flag-5'>TCP</b>三次<b class='flag-5'>握手</b>的理论知识

    TCP协议详细解析

    TCPTCP/IP协议族中一个最核心的协议,它向下使用网络层IP协议,向上为应用层HTTP、FTP、SMTP、POP3、SSH、Telnet等协议提供支持。本文给出TCP报文格式的详细说明,介绍网络数据包传递中如何进行地址解析
    的头像 发表于 11-03 09:14 1703次阅读
    <b class='flag-5'>TCP</b>协议详细解析

    TCP连接的建立与中止

    TCP三次握手其实,网络上的传输是没有连接的, TCP 是一样的 TCP 所谓的 “连接”,其实只不过是在通信的双方维护一个“连接状态”,让它看上去好像有连接一样 所以,
    的头像 发表于 10-08 16:52 455次阅读

    TCP协议如何优化

    TCP/IP协议经常在面试中会被问到,基础的会问三次握手和四次挥手,更深一点可能会问TCP如何优化等问题,下面我们来再详细了解一下这些问题。 1. 前言 TCP/IP(Transmis
    的头像 发表于 10-08 15:15 829次阅读
    <b class='flag-5'>TCP</b>协议如何优化

    TCP/IP三次握手与四次挥手讲解

    第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
    发表于 08-22 09:42 215次阅读
    <b class='flag-5'>TCP</b>/IP三次<b class='flag-5'>握手</b>与四次挥手讲解

    如何使用WireShark来抓取TCP的三次握手过程

    服务器收到该报文后,返回一个确认号为Ack=1, 序列号为Seq=0的SYN+ACK的报文给客户端,此为第二次握手
    发表于 05-10 14:54 1825次阅读
    如何使用WireShark来抓取<b class='flag-5'>TCP</b>的三次<b class='flag-5'>握手</b>过程

    什么是TCP连接的三次握手

    为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。TCP总是用来发送大批量的数据。当应用程序在收到数据后要做出确认时也要用到TCP
    发表于 05-04 15:30 1049次阅读