MSS、MTU 和 TCP 拥塞堵塞

一个 MTU 最大 1500 bytes,如果超过这个数量则会被分片。如果将数据包比作运输卡车,标头是卡车本身,有效负载是拖车和货物,那么 MSS 就像只测量拖车的秤。如果拖车过重,则不允许卡车继续前往目的地。

网络分层模型

模型这些抽象的概念,用于帮助自己理解一些网络架构,但是发现面对一些名词或者概念时总是无法对上,想整理记录一下。

Linux Network sysctl parameters

1. 数据包到达 NIC":"- MAC 验证和 FCS 检查":" NIC 会检查数据包的 MAC 地址 (如果 NIC 不处于混杂模式) 和帧校验序列 (FCS)。如果 MAC 地址不匹配或 FCS 检查失败,数据包会被丢弃。

TCP Fast Open

折腾 TCP 的同时看到了 TCP Fast Open 这个有趣的参数,它是对 TCP 的优化,无需等待 3 次握手,应用程序就可以通过 TCP 发送数据。正常 TCP 建立连接过程:当前 TCP 实现的问题是,只有在连接发起方收到来自对等 TCP 的 ACK(确认)段后,才能在连接上交换数据。也就是说,只有在三次握手的第三步(发起方发送的ACK报文段)中,数据才能从客户端发送到服务器。因此,在对等点之间交换数据之前,就会损失一个完整的往返时间 (round trip time) 。这种丢失的 RTT 是短网络对话延迟的重要组成部分。TCP Fast Open 就是为了解决这个问题。

TCP 握手与挥手

在网络通信中,TCP(Transmission Control Protocol)是一种可靠的传输协议,而TCP三次握手是建立TCP连接时的重要过程之一。TCP 三次握手,包括三个步骤:

minikube 设置代理

在好久以前就折腾过 minikube 的代理配置,但是当时懒得写下来(其实也没啥配置步骤),想了想还是写下来算了,以后免得又忘记。minikube 会在宿主机上创建一个 bridge 让集群与宿主机通信:也就是可以将环境变量修改成 192.168.49.1 地址就可以将让集群使用宿主机的代理: