说到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
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐