Linux网络架构: XDP, iptables/netfilter和iproute2/tc/ip/Qdiscs

news2024/11/19 9:35:55

本文目录

  • 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架构XDPNetfilterQdisc
对应的Linux命令与工具iptablesiproute2, ip, tc
对应的原理与概念Qdisctables: nat, mangle, raw, filter
filterchains: INPUT, OUTPUT, PREROUTING, POST ROUTING, FORWARD
classrules&action: masquerade, accept, reject, drop, log, mark, redirect, snat, dnat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495969.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10:00面试,10:04就出来了 ,问的实在是太...

从外包出来,没想到竟然死在了另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以我也就忍了。没想到12月一纸通知,所有人都不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个…

建筑专业可以转行学云计算吗?

当然可行。 在过去的几年中,我们已经帮助很多建筑土木工程专业的同学转行学习云计算技术,尤其是在建筑信息化编程方向。近年来,云计算行业持续发展,涉及到众多领域,如云数据中心、云安全、云存储、云计算机服务等。云…

管好【SD-WEBUI】中大量的模型:名称+预览图+备注

文章目录 (零)前言(一)模型(1.1)模型名称(文件名)(1.2)模型缩略图(1.3)模型备注文字(1.4)模型详细信息 &#…

国民技术N32G430开发笔记(18)- I2C1 从机收发数据

I2C1 从机收发数据 1、将PB6 PB7设置为i2c从机,跟android板卡通讯。 2、Android发送 写命令: 0x05 0x02 0x00 0x00 checksum n32将收到的命令打印出来 读版本命令: 0x01 0x02 0x00 0x00 checksum n32将app_version返回电视端 3、i2c从机配置…

MTK6765安卓智能模组5G核心板联发科MTK方案主板开发板

联发科MTK6765这是一款12纳米八核A53处理器,最高运行速度可达2.3GHz。它使用Android 9.0操作系统,配备2G16G内存,也支持其他选项1G/3G/4G8G/32G/64G。 此外,它支持全球主流频段,包括默认的国内频段以及2G GSM、2G/3G E…

【Android取证篇】ADB端口驱动更新详细步骤

【Android取证篇】ADB端口驱动更新详细步骤 更新ADB端口驱动,解决无法连接设备问题—【蘇小沐】 1、【记录VID】路径:设备管理器->便携设备->属性->(记录)VID 查看设备的VID 2、添加设备ID(VID&#xff09…

Sass 总结

文章目录 Sass 总结概述编译.scss 和 .sass变量数据类型属性值变量属性名变量 嵌套规则基本嵌套& 父选择器标识符嵌套属性 import 导入导入Sass文件私有化导入原生CSS文件 mixin 混合器无参数带参数命名参数关键字参数可变参数content 混入内容 extend 继承media 媒体查询控…

hbase查询报错unable to find region for

某天由于集群资源不足。hbase大面积 region server 负载爆炸卡死,隔天发现部分查询报错 集群中一张表某些查询找不到region 尝试了重启集群和滚动重启集群,考虑滚动重启的过程会把regionserver上的region迁出和迁入。试试能不能修复,果断的…

自定义项目Jar上传到maven中央仓库(一步到位)

中央仓库 Open Source Software Repository Hosting 简称 OSSRH 实现目标:将自定义项目上传至maven中央仓库,其他人只需引入maven坐标即可直接使用 上传步骤:亲测有效 注册账号(去它平台)提交工单(叫它做事…

USB HS-PHY眼图调试

1 USB2 PHY AFE 1.1 USB 2.0 FS PHY github ultraembedded / core_usb_fs_phy NOP USB transceiver for all USB transceiver which are either built-in into USB IP or which are mostly autonomous. 1.2 电阻参数 USB host端:D和D-各接一个15kΩ的下拉电阻&#…

数据结构学习记录——堆的建立(最大堆的建立、思路图解、代码实现、代码解释)

目录 最大堆的建立 方法1 方法2 思路图解 代码实现 代码解释 PercDown BuildHeap 最大堆的建立 建立最大堆:将已经存在的N个元素按最大堆的要求存放在一个一维数组中。 方法1 通过插入操作,将N个元素一个一个地插入到一个初始为空的堆中去。…

CSA发布|《洞察2022 云上数据安全与重要事项 》

云安全联盟大中华区就云上数据安全和重要事项的洞察和建议等相关问题展开调查并发布《洞察2022 云上数据安全与重要事项 》(以下简称《报告》)。报告的主要内容是关于云上数据安全和重要事项的洞察和建议。它包括了对云安全现状的分析、云安全风险的评估…

git的学习

文章目录 一、Git 的简介二、Git 工作流程三、Git 工作区、暂存区和版本库总结 一、Git 的简介 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软…

【c语言】字符串比较 | API仿真

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

RabbitMQ可靠性消息发送(java实现)

本博客属于 《RabbitMQ基础组件封装—整体结构》的子博客 一、整体架构 step1&#xff1a;消息落库&#xff0c;业务数据存库的同时&#xff0c;也要将消息记录存入数据库&#xff0c;二者要保证原子性&#xff1b; step2&#xff1a;Producer发送消息到MQ Broker&#xff1b…

Formik使用详解

Formik使用详解 1 引言 在现代Web应用程序中&#xff0c;表单是一种不可避免的输入机制&#xff0c;但是处理表单的过程可能会变得非常复杂。Formik是一个React表单库&#xff0c;它的目标是简化表单处理的过程。本文将介绍Formik的主要功能和用途&#xff0c;以及如何使用它来…

怎么成为一名架构师?架构师第一步。基层开发人员逆袭成为架构师真的很难吗?

文章目录 写在前面一、企业需要什么样的架构师1、从招聘软件上了解2、架构师的主要职责与能力 二、成为一名架构师很难吗1、架构师的定义2、当前大部分开发团队的现状3、为什么要有架构师4、技术人员如何自我突破 三、晨钟暮鼓的几句话 写在前面 一个团队中&#xff0c;每个人…

JAVA基础:Scanner类中next(), nextLine(), hasNext(), hasNextLine()

一、next() : 只读缓冲区中空格之前的数据,并且光标指向本行。二、nextLine() : 读取除回车以外的所有符号(整行内容)&#xff0c;光标定位在下一行三、hasNext() &#xff1a;检查下一个标记&#xff08;token&#xff09;&#xff0c;也就是以空格、制表符或换行符为分隔符的…

[JAVA EE]创建Servlet——实现Servlet接口笔记1

创建Servlet的方式之一&#xff1a;实现servlet接口 servlet的生命周期&#xff1a; 1、实例化&#xff1a;创建servlet实例对象 2、初始化&#xff1a;调用init方法完成初始化工作 3、服务&#xff1a;调用service方法来处理用户请求 4、销毁&#xff1a;调用destroy方法…

Java算法比赛常用方法

1. 开方&#xff1a;Math.sqrt(x); 2. x的a方&#xff1a;Math.pow(x,a); 3. 绝对值&#xff1a;Math.abs(x)&#xff1b; 4. BigInteger&#xff1a;大数&#xff08;加&#xff0c;减&#xff0c;乘&#xff0c;除&#xff0c;取余&#xff09; c.add(d) ; c.subtract(d)…