背景最近一直在排查一些网络的问题,比如 connect timeout 、read timeout 以及一些的问题,刚好想整理一些东西,方便和团队内及开发分享。我们先看下 Linux 系统接收数据的过程:  网卡收到数据。将数据从网卡硬件缓存转移到服务器内存中。通知内核处理。经过 TCP/IP 协议逐层处理。应用程序通过 read() 从 socket buffer
转载 2024-02-09 12:32:55
564阅读
引言本期分享一个比较常见的⽹络问题—。例如我们去 Ping ⼀个⽹站,如果能 Ping 通,且⽹站返回信息全⾯,则说明与⽹站服务器的通信是畅通的,如果 Ping 不通,或者⽹站返回的信息不全等,则很可能是数据被包了,类似情况想必⼤家都不陌⽣。针对⽹络,本⽂提供⼀些常见的故障定位⽅法,希望能够帮助⼤家对⽹络有更多的认识,遇到莫要慌,且跟着⼀起来涨姿(知)势(识)……什么是
转载 2023-10-27 05:49:27
255阅读
“tcp分析”系列文章代码来自谢宝友老师,由西邮陈莉君教授研一学生进行解析,本文由戴君毅整理,梁金荣编辑,贺东升校对。最初开发 /proc 文件系统是为了提供有关系统中进程的信息。但是这个文件系统非常有用, /proc 文件系统包含了一些目录(用作组织信息的方式)和虚拟文件。虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段。/proc文件系统可以为用户提供很
上周六写了《 在Wireshark的tcptrace图中看清TCP拥塞控制算法的细节(CUBIC/BBR算法为例)》,收到一封邮件,说我文中的图示画错了。         确实,关于CUBIC,我只说了缠绕,关于BBR我只说了顺延,并没有说具体如何,甚至我没有提一嘴关于重传的细节,更
1 起因 前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况。这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了。在排查问题的过程中使用到了tcpdump和Wireshark进行抓分析。感觉这两个工具搭配起来干活,非常完美。所有的网络传输在这两个工具搭配下,都无处遁形。 为了更好、更顺手地能够用好这两个工具,特整理
今天我们谈论的关键词是“Linux ”。Linux系统作为一种开放源代码操作系统,广泛应用于各种服务器和计算机系统中,而问题一直是Linux系统中一个比较令人头疼的问题。 在网络通信过程中,数据的传输是非常重要的。指的是在数据传输过程中由于各种原因导致数据丢失的情况。在一个稳定的网络环境中,问题可能不太显著,但在网络负载较高或者网络环境不稳定的情况下,问题就显得更加明显
原创 2024-02-23 10:03:39
52阅读
(Packet loss)是指一个或多个数据数据(packet)的数据无法透过网上到达目的地的情况,无论是Windows还是Linux系统中都会出现的情况。netem是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网在Linux系统中性能,诸如低带宽、传输延迟、等等情况。除此之外,我们在Linux模拟的过程
D-SMART的雷达图上看到操作系统扣分十分严重,打开一看,原来是网络量十分严重。后来换了根网线,这个问题就消失了,看样子真的和网络有关。这两天一个客户那边有几套系统,我们的D-SMART总是报警网络有,高峰的时候会达到每秒几百个。一般情况下,每秒有十个八个是不会报警的,不过如果比较高的时候,必须做一个分析,否则心里总觉得不安心。于是我们就在INTEL等朋友的帮助下边学边干,工作过程中
实验 3:Mininet 实验——测量路径的损耗率 一、实验目的 在实验 2 的基础上进一步熟悉 Mininet 自定义拓扑脚本,以及与损耗率相关的设 定;初步了解 Mininet 安装时自带的 POX 控制器脚本编写,测试路径损耗率。 二、实验任务 h0 向 h1 发送数据,由于在 Mininet 脚本中设置了连接损耗率,在传输过程中 会丢失一些,本次实验的目的是展示如何通过控制器计算路径损
的概念和造成的原因,顾名思义,在通信中是指通信数据丢失。数据在通信网络上是以数据为单位传输的,每个数据中有表示数据信息和提供数据路由的帧。所以无论网络情况多好,数据之间都是有空隙的,因为物理线路故障、设备故障、病毒攻击、路由信息错误等原因,总会有一定的损失。碰到这种情况,网络会自动的让通信的两端根据协议来补。如果线路情况好,速度快,的损失会非常小,补的工作也相对较易完成,
转载 2024-07-11 21:52:02
153阅读
今天要测试一下linux上udp的率,查了一下,有个iperf的可以做这个,分别在发送端和接收端安装命令,然后运行一下就行了,首先在服务端设置 iperf -p 80 -s -u -i 1 参数说明: -p : 端口号 -s : 标示服务端 -u : 标示udp协议 -i : 检测的时间间隔(单位:秒)然后在发送端设置iperf -c 10.0.0.6 -p 10021 -u -b 10M
转载 2023-06-07 16:15:06
280阅读
TODO: 此篇比较杂乱, 待整理 !!!术语解释解决网络问题的思路流控理论网络性能问题拥塞重传RTO: 的 Retransmission Timeout 被触发 -> 进入超时重传阶段超时重传快速重传选择重传: SACk延迟确认: Delayed ACK来自: <<一篇关于Vmware的文章>> , <<来点有深度的>>含义: 当需要发送
网卡怎么办?或者再具体点,使用ifconfig查看网卡,发现有dropped统计时可以从哪些方面进行调查?要想知道为什么,首先要弄清楚接收数据的流程。一. 收模块间的关系Linux系统从网卡收到数据到最终上层应用处理之间涉及到多个模块,包括物理硬件、驱动、缓存队列、内核、再到应用程序。如下图,其中任一模块出问题都有可能导致网卡。二. 数据接收流程如上图,接收数据会遵循硬件(d
转载 2024-03-26 08:51:16
444阅读
1. TCP DUP ACK TCP dup ack XXX#X原因分析: 就是重复应答#前的表示报文到哪个序号丢失,#后面的是表示第几次丢失.当乱序或者发生时,接收方会收到一些Seq号比期望值大的。它每收到一个这种就会Ack一次期望的Seq值,以此方式来提醒发送方,于是就产生了一些重复的Ack。Wireshark会在这种重复的Ack上标记[TCP Dup ACK] .2. TCP Fas
转载 2024-02-21 11:45:25
359阅读
故障排查:早上突然收到nagios服务器check_icmp的报警,报警显示一台网站服务器的内网网络有问题。因为那台服务器挂载了内网的NFS,因此内网的网络就采用nagios的check_icmp来做监控。赶紧登录服务器进行排查。首先使用ping 内网IP的方式查看内网的连通性,ping的过程中出现现象,信息如下:64 bytes from 10.1.1.1: icmp_seq=34 ttl=
 关于TCP三次握手和四次挥手大家都在《计算机网络》课程里学过,还记得当时高超老师耐心地讲解。大学里我遇到的最好的老师大概就是这位了,虽然他只给我讲过《java程序设计》和《计算机网络》,但每次课几乎都动手敲代码或者当场做实验。好了不扯了,下面进入正题。     关于三次握手和四次挥手的理论部分可以在很多资料上找到,我今天动手抓了几个验证书上的理论,毕竟那
深入分析Linux网络问题
原创 精选 2023-04-20 21:06:09
423阅读
前言我们都知道,一般流量分析设备都支持pcap回放离线分析的功能,但如果抓的pcap丢了,会影响最终安全测试的效果。比如说竞测现场需要提供pcap测试恶意文件的检测功能,如果pcap中,可能会导致文件还原失败,最终恶意文件检测功能“实效”。那问题来了,我们怎么识别pcap是否有呢?接下来,我们通过wireshark来查找pcap文件中的线索。完整??思路1 :透过现象看现象。
一.根据定位问题到解决问题的思路:1.确认网络链路问题,ping测和traceroute确认链路是否健康。如果链路有问题,找对应网络管理员排查网络。2.确认系统问题,通过wireshark或者tcpdump在应用系统两端抓,定位问题所在,排查是发送或者接受系统网卡、性能问题3.从tcp应用本身排查,通过在程序上添加调试代码,核查是否应用逻辑处理问题二.考虑TCP协议为什么会,在什么样的情况下
Debug 网络质量的时候,我们一般会关注两个因素:延迟和吞吐量(带宽)。延迟比较好验证,Ping 一下或者 mtr[1] 一下就能看出来。这篇文章分享一个 debug 吞吐量的办法。看重吞吐量的场景一般是所谓的长肥管道(Long Fat Networks, LFN, rfc7323[2]). 比如下载大文件。吞吐量没有达到网络的上限,主要可能受 3 个方面的影响:发
  • 1
  • 2
  • 3
  • 4
  • 5