本文目录
- 1、架构框图
- 2、网络架构分成三大块
- 3、网络架构-----对应的配置工具-----对应的原理与概念
说到Linux的网络架构,就离不开谈。。。这些东西。这几个概念很容易混淆起来,但如果仔细去看,就会发现这个Linux的网络架构的设计其实是非常简洁清晰的。
1、架构框图
首先我们先来看一张图:packet flow in Netfilter and General Networking,这个图来源于netfilter项目的官方网站。

2、网络架构分成三大块
- XDP
- netfilter
- Qdisc
| 网络架构部分名称 | 主要功能 | 说明 |
|---|---|---|
| XDP | 报文快速转发通道 | 图中绿圈圈出来的部分,可以简单的理解为工作在内核的DPDK |
| Qdisc | 流量控制, QoS | 图中红圈圈出来的部分,工作在Linux的TCP/IP协议前,主要功能就是流量分类,限速,流量整形,乱序,延时,丢包,模拟错误等,绑定在网卡 |
| Netfilter | 图中带颜色的部分,指向TCP/IP协议栈,主要用于进行IP报文处理,包括过滤,重定向,丢弃,修改等功能,可以用于构建防火墙,NAT路由等功能 | 主要由所谓的5表4链,借用table/chain/rule三级结构,在TCP/IP协议栈的各处对进出Linux TCP/IP协议栈的报文进行处理 |
3、网络架构-----对应的配置工具-----对应的原理与概念
| 层级 | 名称 | 名称 | 名称 |
| Linux架构 | XDP | Netfilter | Qdisc |
| 对应的Linux命令与工具 | iptables | iproute2, ip, tc | |
| 对应的原理与概念 | Qdisc | tables: nat, mangle, raw, filter | |
| filter | chains: INPUT, OUTPUT, PREROUTING, POST ROUTING, FORWARD | ||
| class | rules&action: masquerade, accept, reject, drop, log, mark, redirect, snat, dnat | ||
















![[JAVA EE]创建Servlet——实现Servlet接口笔记1](https://img-blog.csdnimg.cn/f6f62e6f5a4e407397e969957716efc8.png)
