网络
文章平均质量分 77
衣舞晨风
不预测,只应对
展开
-
酷家乐--应用频繁报出cause java.net.SocketTimeoutException: Read timed out怎么办
网络层面的问题在此做个总结,从tcp层、应用层以及工具的使用等方面进行阐述。原创 2024-08-01 23:00:00 · 1213 阅读 · 0 评论 -
哔哩哔哩技术--什么?你是怎么从数据包看出MTU异常的
到此我们的分析就结束啦。抓包并分析是一种非常高效的 debug 方法,已经帮助笔者解决了不少问题。不过笔者在处理此 case 时远没有文中那么顺畅,有很多细碎知识点运用并不熟练,初期没有相互关联起来。好在一个问题有多个观察面,念念不忘,逐渐搜集证据和知识,终于破案。以此记录,希望对你能有所助益。原创 2024-07-23 23:15:00 · 1738 阅读 · 0 评论 -
plantegg-长连接黑洞重现和分析
TCP 长连接在发送包的时候,如果没收到ack 默认会进行15次重传(net.ipv4.tcp_retries2=15, 这个不要较真,会根据RTO 时间大致是15次),累加起来大概是924秒,所以我们经常看到业务需要15分钟左右才恢复。这个问题存在所有TCP长连接中(几乎没有业务还在用短连接吧?),问题的本质和 LVS/k8s Service 都没关系我这里重现带上 LVS 只是为了场景演示方便。原创 2024-05-16 22:45:00 · 1073 阅读 · 0 评论 -
plantegg-10+倍性能提升全过程–优酷账号绑定淘宝账号的TPS从500到5400的优化历程
由于用户进来后先要登录并且绑定账号,实际压力先到Passport部分,在这个过程中最开始单机TPS只能到500,经过N轮优化后基本能达到5400 TPS,下面主要是阐述这个优化过程- docker bridge网络性能问题和网络中断si不均衡 (优化后:500->1000TPS)- 短连接导致的local port不够 (优化后:1000-3000TPS)- 生产环境snat单核导致的网络延时增大 (优化后能达到测试环境的3000TPS)原创 2024-03-27 23:15:00 · 908 阅读 · 0 评论 -
为什么不能用短链接
那么2MSL就是60秒,也就是说如果是短连接的话,一个连接释放后默认需要60秒回收。也就是说如果一个系统用的是短链接,那在咱们看的这台机器上,他的TPS不会超过912.先看下系统的MSL也就是tcp_fin_timeout。计算下理论TPS值 54760/60=912。在看一下 Local Port范围。今天从另一个角度看下这个问题。原创 2024-03-27 22:30:00 · 285 阅读 · 0 评论 -
plantegg-就是要你懂网络--一个网络包的旅程
网络丢包,卡顿,抖动很容易做背包侠,找到正确的原因解决问题才会更快,要不在错误的路径上怎么发力都不对。准的方向要靠好的基础知识和正确的逻辑以及证据来支撑,而不是猜测有重传的时候(或者说重传率高的时候),ping有可能是正常的(icmp包网卡直接返回);重传高,一般是tcp retrans,可能应用不响应,可能操作系统软中断太高等ping只是保证网络链路是否通畅这些原理基本都在RFC1180中阐述的清晰简洁,图文并茂,结构逻辑合理,但是对于90%的程序员没有什么卵用,因为看完几周后就忘得差不多。原创 2024-01-10 12:14:28 · 1053 阅读 · 0 评论 -
林沛满--快递员的工作策略——TCP窗口
本文整理自:《Wireshark网络分析就这么简单 第1版》作者:林沛满 著出版时间:2014-12more假如你是一位勤劳的快递员,要送100个包裹到某公司去,怎样送货才科学?最简单的方式是每次送1个,总共跑100趟。当然这也是最慢的方式,因为往返次数越多,消耗的时间就越长。除了需要减肥的快递员,一般人不会选择这种方式。最快的方式应该是一口气送100个,这样只要跑一趟就够了。可惜现实没有这么美好,往往存在各种制约因素:公司狭小的前台只容得下20个包裹,要等签收完了才能接着送;原创 2023-10-17 21:30:00 · 278 阅读 · 0 评论 -
林沛满-TCP 是如何避免被发送方分片的?
图 4 演示了 MSS 和 MTU 的关系。有的时候 TCP 头不只 20 字节,所以会侵占一些 MSS 的空间,比如图 5 的例子中就占用 12 字节作为 TCP Options,那传输层真正用来承载数据的就剩下 1500-20-20-12=1448 字节了。最大的分段大小称为 MSS(Maximum Segment Size),它相当于把 MTU 刨去 IP头和 TCP 头之后的大小,所以一个 MSS 恰好能装进一个 MTU 中。UDP 则没有 MSS 的概念,一股脑交给网络层,所以可能被分片。原创 2023-10-10 23:00:00 · 1147 阅读 · 0 评论 -
林沛满-TCP之在途字节数
而在途字节数如果超过网络的承载能力,也会丢包重传,这就是我们需要计算它的原因。在该时间点之前客户端发送的是 10 号包,即“Seq=265248,Len=180”字节,表示序号在 265248+180=265428 之前的字节已经发送出去了。也就是说,在数据接收方抓的包里是看不到在途字节数的,没有分析意义。就是一个需要计算的值。不过为了深度分析网络包,有时候是不得不计算的,好在小学一年级的加减法就够用了。是在客户端(数据发送方)抓到的,如果我们想知道第 0.400000 秒时的在途字节数,应该如何计算呢?原创 2023-10-07 22:00:00 · 844 阅读 · 0 评论 -
林沛满-Wireshark的提示
本文整理自:《Wireshark网络分析的艺术 第1版》作者:林沛满 著出版时间:2016-02more最近有不少同事开始学习 Wireshark,他们遇到的第一个困难就是理解不了主界面上的提示信息,于是跑来问我。问的人多了,我也总结成一篇文章,希望对大家有所帮助。Wireshark 的提示可是其最有价值之处,对于初学者来说,如果能理解这些提示所隐含的意义,学起来定能事半功倍。原创 2023-10-06 09:44:20 · 823 阅读 · 0 评论 -
细说tcpdump的妙用
tcpdump命令最初设计用于观察TCP/IP性能问题,它是一个用于截取网络分组,并输出分组内容的工具。tcpdump可以将网络中传送的数据包的报文头完全截获下来提供分析,它支持针对网络层、协议、主机、网络或端口的过滤,并提供and, or, not等逻辑语句来帮助用户去掉无用的信息。原创 2023-09-22 21:00:00 · 466 阅读 · 0 评论 -
计算机网络通关29讲_笔记
交换技术的本质,就是让数据切换路径。因为,网络中的数据是以分组或封包(Packet)的形式传输,因此这个技术也称作封包交换技术(Packet Switch)。原创 2021-12-18 17:05:33 · 861 阅读 · 1 评论 -
左耳朵耗子:从一次经历谈 TIME_WAIT 的那些事
下面是几点总结TIME_WAIT是一个TCP 协议完整性的手段,虽然会有一定的副作用,但是这个设计是非常关键的,最好不要妥协掉。永远不要使用,这个参数是个巨龙,破坏力极大。服务器端永远不要使用,而且使用对服务端意义不大,因为它只对出站流量有用。在服务端上最好不要主动断链接,设置好KeepAlive,重用链接,让客户端主动断链接。在客户端上可以使用和。最后强烈推荐阅读这篇文章 –(全文完)原创 2023-08-26 10:49:09 · 275 阅读 · 0 评论 -
左耳朵耗子:TCP 的那些事儿(下)
这个算法1994年被提出,它主要对TCP Reno 做了些修改。这个算法通过对RTT的非常重的监控来计算一个基准RTT。然后通过这个基准RTT来估计当前的网络实际带宽,如果实际带宽比我们的期望的带宽要小或是要多的活,那么就开始线性地减少或增加cwnd的大小。如果这个计算出来的RTT大于了Timeout后,那么,不等ack超时就直接重传。原创 2023-08-26 10:22:21 · 424 阅读 · 0 评论 -
左耳朵耗子:TCP 的那些事儿(上)
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相关的技术文档。之所以想写这篇文章,目的有三个,所以,本文不会面面俱到,只是对TCP协议、算法和原理的科普。原创 2023-08-26 09:58:48 · 303 阅读 · 0 评论 -
termshark安装
【代码】termshark安装。原创 2023-08-26 09:00:00 · 203 阅读 · 0 评论 -
plantegg-就是要你懂负载均衡--lvs和转发模式
绿色是请求包进来,红色是修改过MAC的请求包,SW是一个交换机。注意这里LVS修改进出包的(sip, dip)的时候只改了其中一个,所以才有接下来的full NAT。当然NAT最大的缺点是要求LVS和RS必须在同一个vlan,这样限制了LVS集群和RS集群的部署灵活性,尤其是在阿里云这种对外售卖的公有云环境下,NAT基本不实用。注意上图中绿色的进包和红色的出包他们的地址变化那么到现在full NAT解决了NAT的同vlan的要求,基本上可以用于公有云了。原创 2023-08-26 08:45:00 · 680 阅读 · 0 评论 -
plantegg-TCP--半连接队列和全连接队列
全连接队列、半连接队列溢出这种问题很容易被忽视,但是又很关键,特别是对于一些短连接应用(比如Nginx、PHP,当然他们也是支持长连接的)更容易爆发。一旦溢出,从cpu、线程状态看起来都比较正常,但是压力上不去,在client看来rt也比较高(rt=网络+排队+真正服务时间),但是从server日志记录的真正服务时间来看rt又很短。jdk、netty等一些框架默认backlog比较小,可能有些情况下导致性能上不去,比如这个 《netty新建连接并发数很小的case》都是类似原因。原创 2023-08-25 22:30:00 · 875 阅读 · 1 评论 -
根据子网掩码+网关计算网段
网段计算。原创 2023-05-15 15:43:22 · 1218 阅读 · 0 评论 -
[转载]根据子网掩码和网关计算ip
在了解ip地址的网段之前,我们先来了解子网掩码,很多对网络了解不深的朋友都对子网掩码有些迷惑, 不了解它是用来干什么的?子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。说的通俗的话,就是用来分割子网和区分那些ip是同一个网段的,那些不是同一网段的。【路由器产品大全】例如,两个人都叫张三,但一个张三是张家村的,另一个张三是张村的,那么如何区分这两个张三分别是属于那个村的呢?原创 2023-04-27 15:55:31 · 2396 阅读 · 0 评论 -
使用 nsenter 进入 netns 抓包
我们使用 Kubernetes 时难免发生一些网络问题,往往需要进入容器的网络命名空间 (netns) 中,进行一些网络调试来定位问题,本文介绍如何进入容器的 netns。使用 kubectl 获取 pod 中任意 cotnainer 的 id:输出示例片段1 (containerd运行时):输出示例片段2 (dockerd运行时):获取 PID拿到 container id 后,我们登录到 pod 所在节点上去获取其主进程 pid。containerd 运行时使用 crictl 命令获取:do原创 2022-06-08 18:19:11 · 1044 阅读 · 1 评论 -
Win7 DNS解析不准
背景:有一个域名x.jiankunking.net,该域名有内网及外网解析,但在内网环境下集团的DNS会解析到外网的负载均衡上。问题排查:C:\Windows\system32>ipconfig /allWindows IP 配置 主机名 . . . . . . . . . . . . . : 01C627501457141 主 DNS 后缀 . . . . . . . . . . . : corp.jiankunking.com 节点类型 . . . . . . .原创 2022-02-24 18:13:39 · 527 阅读 · 0 评论 -
《图解TCP/IP》读书笔记五:IP协议相关技术
5.3 ARP5.3.1 ARP概要 ARP属于数据链路层协议。 ARP(Address Resolution Protocol)是一种解决地址问题的协议。以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址。如果...原创 2018-02-10 15:35:18 · 907 阅读 · 0 评论 -
《图解TCP/IP》读书笔记三:数据链路
3.1数据链路的作用 指OSI参考模型中的数据链路层,有时也指以太网、无线局域网等通信手段。 TCP/IP中对于OSI参考模型的数据链路层及以下部分(物理层)未作定义。因为TCP/IP以这两层的功能是透明的为前提。然而,数据链路层的知识对于深入理...原创 2018-02-10 10:55:37 · 911 阅读 · 0 评论 -
《图解TCP/IP》读书笔记二:TCP/IP基础知识
TCP(Transmission Control Protocol,传输控制协议) IP(Internet Protocol,网络之间互连的协议) ICMP(Internet Control Message Protocol, 互联网控制消息协议) ARP(Address Resolution Protocol,地址解析协议) RARP(Reverse Address Resoluti...原创 2018-02-10 10:22:31 · 1749 阅读 · 0 评论 -
《图解TCP/IP》读书笔记一:网络基础知识
1.5.4 OSI参考模型中各个分层的作用应用层      为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。表原创 2018-02-07 20:04:51 · 2492 阅读 · 0 评论 -
《图解TCP/IP》读书笔记六:TCP与UDP
6.1 传输层的作用 TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。6.1.3 两种传输层协议TCP和UDPTCP TCP是面向连接的、可靠的流协议。流就是指不间断的数据结构,你可以把它想象成排水管道中的水流。TCP为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制(流量控制)”、“拥塞控制”、提高网络...原创 2018-02-13 16:13:46 · 1192 阅读 · 0 评论 -
《图解TCP/IP》读书笔记四:IP协议
4.1 IP即网际协议 TCP/IP的心脏是互联网层。这一层主要是由IP(Internet Protocol)和ICMP(Internet Control Message Protocol)两个协议组成。4.1.1 IP相当于OSI参考模型的第3层  ...原创 2018-02-10 14:27:17 · 3547 阅读 · 0 评论 -
《图解TCP/IP》--读书笔记(目录)
第一章:网络基础知识第二章:TCP/IP基础知识第三章:数据链路第四章:IP协议第五章:IP协议相关技术第六章:TCP与UDP第七章:路由协议第八章:应用协议第九章:网络安全《图解TCP/IP:第5版》下载地址: http://download.csdn.net/download/xunzaosiyecao/10245906个人微信公众号: ...原创 2018-02-14 08:39:43 · 1749 阅读 · 0 评论 -
《图解TCP/IP》读书笔记七:路由协议(部分章节需要重读)
7.1 路由控制的定义7.1.1 IP地址与路由控制 互联网是由路由器连接的网络组合而成的。为了能让数据包正确地到达目标主机,路由器必须在途中进行正确地转发。这种向“正确的方法”转发数据所进行的处理就叫做路由控制或路由。 路由器根据路由控制表(Routing Table)转发数据包。它根...原创 2018-02-13 18:52:03 · 922 阅读 · 0 评论 -
《图解TCP/IP》读书笔记九:网络安全
9.2 网络安全构成要素9.2.1 防火墙 组织机构(域)内部的网络与互联网相连时,为了避免域内受到非法访问的威胁,往往会设置防火墙(使用NAT(NAPT)的情况下,由于限定了可以从外部访问的地址,因此也能起到防火墙的作用)。 防火墙的基本设计思路:“暴露给危险的主机...原创 2018-02-14 08:32:59 · 832 阅读 · 0 评论 -
《图解TCP/IP》读书笔记八:应用协议
8.1 应用层协议概要应用协议的定义 利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登录、文件传输、网络管理等。能够让这些应用进行特定通信处理的正是应用协议。 TCP和IP等下层协议是不依赖于上层应用类型、适用性非常广泛的协议。而应用协议则是为了实现某种应用而设计和创造的协议。...原创 2018-02-14 07:17:18 · 640 阅读 · 0 评论 -
《图解HTTP》--读书笔记(目录)
第一章:了解 Web 及网络基础 第二章:简单的 HTTP 协议 第三章:HTTP 报文内的 HTTP 信息 第六章:HTTP 首部 第七章:确保 Web 安全的 HTTPS《图解HTTP》下载地址: http://download.csdn.net/download/xunzaosiyecao/10252084个人微信公众号: 作者:jiankunking 出处:h...原创 2018-02-15 11:18:55 · 657 阅读 · 0 评论 -
《图解HTTP》读书笔记一:了解 Web 及网络基础
1.3 网络基础 TCP/IP    为了理解 HTTP,我们有必要事先了解一下 TCP/IP 协议族。    &am原创 2018-02-15 08:10:14 · 1008 阅读 · 0 评论 -
《图解HTTP》读书笔记二:简单的 HTTP 协议
2.7 持久连接节省通信量2.7.1 持久连接 为解决上述 TCP 连接的问题,HTTP/1.1 和一部分的 HTTP/1.0 想出了持久连接(HTTP Persistent Connections,也称为 HTTP keep-alive 或HTTP connection reuse)的方法。持久连接的特点是,只要任...原创 2018-02-15 08:50:16 · 605 阅读 · 0 评论 -
《图解HTTP》读书笔记三:HTTP 报文内的 HTTP 信息
3.1 HTTP 报文 用于 HTTP 协议交互的信息被称为 HTTP 报文。请求端(客户端)的HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应报文。HTTP 报文本身是由多行(用 CR+LF 作换行符)数据构成的字符串文本。 HTTP 报文大...原创 2018-02-15 10:13:10 · 662 阅读 · 0 评论 -
《图解HTTP》读书笔记四:HTTP 首部
6.1 HTTP 报文首部HTTP 报文的结构: HTTP 协议的请求和响应报文中必定包含 HTTP 首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。对于客户端用户来说,这些信息中的大部分内容都无须亲自查看。HTTP 请求报文 &...原创 2018-02-15 10:57:13 · 1054 阅读 · 0 评论 -
《图解HTTP》读书笔记五:确保 Web 安全的 HTTPS
7.1 HTTP 的缺点HTTP 主要有这些不足,例举如下:通信使用明文(不加密),内容可能会被窃听不验证通信方的身份,因此有可能遭遇伪装无法证明报文的完整性,所以有可能已遭篡改     这些问题不仅在 HTTP 上出现,其他未加密的协议中也会存在这类问题。原创 2018-02-15 11:12:17 · 1305 阅读 · 0 评论 -
HTTP 协议入门
HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。本文介绍 HTTP 协议的历史演变和设计思路。一、HTTP/0.9HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。最早版本是1991年发布的0.9版。该版本极其简单,只有一个命令GET。G...转载 2018-12-13 21:36:00 · 444 阅读 · 0 评论 -
TCP 3次握手 4次挥手
3次握手的目的三次握手的目的:是为了确认双方都有收发数据的能力。第一次: A->B,证明A有发消息的能力。第二次: ->B && B->A,证明B有收消息,并且有发消息的能力。第三次: A->B,证明A有收消息的能力。二次握手达不到目的,四次多余。需4次挥手原因由于TCP的半关闭特性,TCP连接时双全工(即数据转载 2018-02-13 16:22:19 · 513 阅读 · 0 评论