![关于 Linux 内核 Netfilter 部分中深度数据包检测的说明](https://linux22.com/image/712402/%E5%85%B3%E4%BA%8E%20Linux%20%E5%86%85%E6%A0%B8%20Netfilter%20%E9%83%A8%E5%88%86%E4%B8%AD%E6%B7%B1%E5%BA%A6%E6%95%B0%E6%8D%AE%E5%8C%85%E6%A3%80%E6%B5%8B%E7%9A%84%E8%AF%B4%E6%98%8E.png)
Linux 内核提供 Netfilter 作为 NAT 和防火墙功能的机制。这两种功能都需要对传入数据包进行分析和分类,这被称为“状态数据包检查”。
对于大多数流量,查看 IP 数据包头就足够了。但是,FTP、IRC、H.323(以及其他一些协议)等协议在内核配置中具有特定模块,以便于这些数据包进行正确的 NAT 遍历。在内核中,这些被称为“conntrack 模块”。
现在,我的理解是,检查这些数据包的有效负载是为了使 netfilter 能够识别外部连接何时到达并需要路由到相应的客户端。这是因为协议需要 OSI 第 7 层传输的信息,这会直接影响第 3 层发送的实际 IP 数据包。换句话说,应用程序代码会导致创建另一个 TCP 连接,该连接必须由 NAT 设备路由。
现在回答我的问题:
- 为什么没有地方(好吧,我只是快速谷歌搜索了一下)标有深度包检测这个术语?
- 鉴于大量塑料路由器设备运行在 GNU/Linux 上,这在深度数据包检测被视为非法的地区会不会成为法律问题?我想到可能会出台有关网络中立性和流量保密性的法规,这可能会影响希望为客户提供更好服务并需要在某些环境中使用 NAT 的网络服务提供商。