一份特殊的网络教程:“如果我们不使用 TCP 或 UDP 会发生什么?”
github.com/Hawzen/hdp
“如果我们不使用 TCP 或 UDP 会发生什么?
交换机、网桥、路由器、负载均衡器、防火墙——这些网络设备维持着互联网的运转。 以大多数人从未想过的方式路由、阻止、镜像、复制和去重流量。 没有它们,你根本看不到这份文档。
但网络只是其中一层。 操作系统也有自己处理数据包的方式——分类、排队、执行防火墙规则、转换地址、决定什么数据包能通过,什么数据包会被悄无声息地丢弃。 每个部分都按照自己的规则运行,塑造着什么是“允许的”,什么是不允许的。
在某个时候,我开始想——如果我发送一个使用不存在的传输协议的数据包会发生什么? 不是 TCP,不是 UDP,甚至不是 ICMP —— 完全是虚构出来的东西。 操作系统会让它通过吗? 它会在离开我的机器之前就被阻止吗? 路由器会忽略它,还是一些中间盒会立即将其毙掉? 它甚至有可能通过绕过常见的防火墙规则来更快地传输吗?
不知道。
所以我必须尝试一下。
首先,我将数据包发送给自己,只是为了看看我自己的机器如何处理我自创的毒药。 然后,我跨越洲际将它们发送到一台远程 Linux 机器,看看它们是否真的能到达那里。”