摘要:
结合传输层和应用层的分析推理 无论防火墙有多么神秘,它本质上是一种网络设备。既然是网络设备,那么它必然同样遵循我们知道的技术原理和网络规范。 这里传输层当然就是指 TCP/UDP,应用层就是问题表象,比如超时、报错之类。我们来看一个具体的例子。 内部的一个应用 A 访问应用 B 的时候,经常耗时过长 阅读全文
摘要:
我们经常看到Nginx 的日志里面,可能就有 connection reset by peer 这种报错。“连接被对端 reset(重置)”,这个字面上的意思是看明白了。但是,心里不免发毛: 这个 reset 会影响我们的业务吗,这次事务到底有没有成功呢? 这个 reset 发生在具体什么阶段,属于 阅读全文
摘要:
TCP 连接都是用 TCP 协议沟通的吗? 一般来说 TCP 连接是标准的 TCP 三次握手完成的: 客户端发送 SYN; 服务端收到 SYN 后,回复 SYN+ACK; 客户端收到 SYN+ACK 后,回复 ACK。 这里面 SYN 会在两端各发送一次,表示“我准备好了,可以开始连接了”。ACK 阅读全文
摘要:
tcpdump tcpdump 可以工作在各种 Unix 类的操作系统上,包括 Linux、FreeBSD、macOS、Solaris 等,也是目前使用最为广泛的抓包工具之一。但是 tcpdump 要过滤报文的话,还要依赖一个底层能力:BPF。 BPF BPF 全称是 Berkeley Packet 阅读全文