在之前的文章中,已经介绍过很多次 ECMP1 了,它的原理非常简单:在路由协议中,如果下一跳有多个路径可以选择,并且多个路径的 cost metric 相等,那么路由器就会根据包的 header,计算一个 hash 值,然后根据这个 hash 值对这个 flow 选择一条固定的路径,作为下一跳。| www.kawabangga.com
TCP 协议是基于 IP 协议的。IP 协议不保证顺序,只能说尽力保证包的顺序。如果发生乱序,TCP 的性能就会下降很多。最近就遇到一个 TCP 下载速度很慢的问题,抓包分析发现有很多乱序的包。| www.kawabangga.com
最近有一个需求是这样的:Linux 机器上有多个网络的 interface,想要让其中的一个程序使用 eth1 而不是默认的 interface,不影响其他程序。| www.kawabangga.com
有很多人问过我想了解一下 SRE 这个岗位,这是个很大的话题,在这篇博客中把想到的一些介绍一下吧。| www.kawabangga.com
在检查两个 IP 之间的网络情况的时候,常用的工具有两个:ping 可以检查两个 IP 之间通不通,以及延迟有多少;traceroute 可以检查从一个 IP 到另一个 IP 需要经过哪些 hop。| www.kawabangga.com
今天看 antirez 写了一篇有关客户端缓存设计的想法:《Client side caching in Redis 6》(文章比较难懂,如果先看 Ben 演讲,理解起来 antirez 这篇博客会轻松一些)。antirez 认为,redis 接下来的一个重点是配合客户端,因为客户端缓存显而易见的可以减轻 redis 的压力,速度也快很多。大公司或多或少都有实现这种应用端缓存的机制,antirez 想通过 server 端的一些设计来减少客户端缓...| www.kawabangga.com
很多人对“速度”没有什么概念,同机房内 RTT (Round Trip Time)大约是多少?如果将一个应用内的函数的调用拆成两个应用 RPC 调用,将增加多少延迟?打印日志有多快,打印日志的多少会增加多少延迟?| www.kawabangga.com
proxychains的作用如名字所示,将一个应用程序的tcp走proxy。可以走多个代理,像链条一样链接起来(chains),支持混合不同的代理。如:| www.kawabangga.com
I was working on a problem recently when I thought to myself “what if I could cause read operations on file X to actually come from file…| Medium
在之前的文章中介绍了网络的「分层」概念1,那么这一篇继续科普一下网络的基础,即「转发」这个概念。| www.kawabangga.com
Debug 网络质量的时候,我们一般会关注两个因素:延迟和吞吐量(带宽)。延迟比较好验证,Ping 一下或者 mtr 一下就能看出来。这篇文章分享一个 debug 吞吐量的办法。| www.kawabangga.com