Linux 虚拟网络三大基石:Namespace、Veth pair 与 Bridge

news/2024/9/19 22:49:24/ 标签: 网络, linux, 服务器, 运维, k8s

引言

在 Linux 的世界里,虚拟网络技术是系统管理、云计算和容器化不可或缺的一部分。今天,我们将深入探讨构建这些虚拟网络的三大基石:Namespace、Veth 对和 Bridge,揭示它们如何在背后默默支撑起你的网络环境。
在这里插入图片描述

Namespace:隔离与抽象的艺术

当我们谈起 Namespace,实际上是在讨论一种革命性的资源隔离机制。它让每个进程仿佛拥有一套独立的系统资源。通过将全局资源包装在一个抽象中,Namespace 实现了资源的虚拟化。例如,在一个 Namespace 中,进程看到的 PID 仅在此 Namespace 内有效,而不会影响其他 Namespace 或全局系统。

Linux 提供了七种不同的 Namespace 类型,包括 Cgroup、IPC、Network、Mount、PID、User 和 UTS。每种 Namespace 都针对不同类型的系统资源。比如 Network Namespace 就允许你创建相互隔离的网络环境,每个网络名字空间都有自己独立的网络设备和路由表。

Veth pair:连接 Namespace 的桥梁的虚拟以太网卡对

如果 Namespace 是孤岛,那么 Veth 设备就是连接这些孤岛的桥梁。Veth 设备是成对出现的虚拟以太网设备,通常被称为 Veth 对。当数据从一个 Veth 端进入时,它会立即出现在另一端,无论这两个端口位于哪个 Namespace。

你可以把 Veth 对想象成一条连接两个隔离网络的网线。通过配置 Veth 对,我们可以使不同的 Network Namespaces 之间进行通信,就像两台真实计算机通过网线互联一样。这种简单的点对点连接为复杂的虚拟网络架构打下了基础。

Bridge:多个虚拟接口的集合点

如果说 Veth 对是连接两点的桥梁,那么 Bridge 就是多路口交汇处的大立交桥。在 Linux 中,Bridge 类似于一个二层交换机,它可以把多个网络接口“连接”起来,使得其中一个接口收到的报文可以复制给其他接口并发送出去。这对于实现多个网络接口间的通信至关重要。

使用 Bridge,我们可以将多个 Network Namespace 连接到同一个虚拟交换环境中,从而创建一个复杂的、互相连通的虚拟网络拓扑结构。比如,在同一个主机上创建的三个 Network Namespaces,可以通过 Bridge 实现彼此通信,甚至与外部物理网络通信。

实操应用:搭建微服务网络环境

假设我们正在为一套微服务架构的应用搭建隔离的网络环境。利用上述三种技术,我们首先为每个微服务创建一个独立的 Network Namespace。然后根据服务的依赖关系,用 Veth 对将这些 Namespace 连接起来。最后,我们可能需要一个 Bridge 来管理这些连接,确保整个网络的稳定运行。

这样,我们就得到了一个高效且隔离的网络环境,每个微服务都在自己的小天地里独立运行,同时通过 Veth 和 Bridge 与其他服务安全地通信。

总结

Namespace、Veth 与 Bridge 构成了 Linux 虚拟网络的根基。它们共同作用于资源隔离、连接和互通,为现代云计算和容器化技术提供了强有力的支持。了解并掌握这些技术,无疑会让你在 Linux 网络管理和虚拟化技术的道路上走得更远。


http://www.ppmy.cn/news/1520610.html

相关文章

区块链入门

1.1 区块链技术的发展 随着 2008 年比特币(Bitcoin) 的发明,一个被称为区块链(Blockchain) 的新概念进入了人们的视野,这项新技术据信有可能彻底改变整个社会。 区块链有望对每个行业产生颠覆的影响,包括但不限于 IT、金融、政府、媒体、医疗、法律和艺术等。一个流派将区…

速盾:防御ddos攻击的几大有效方法是什么?

DDoS攻击(分布式拒绝服务攻击)是一种恶意攻击手段,旨在通过向目标服务器发送大量的请求,使其无法正常响应正常用户的请求。这种攻击会耗尽服务器的带宽和资源,导致服务不可用。为了保护网络安全,防御DDoS攻…

线性代数 -- 矩阵求导

Tips:本文为理解神经网络的前置知识,整体内容并不全,相关内容还需后续进一步完善。 一、基础 1、标量、向量和矩阵 标量:只有大小,没有方向的量 向量(欧几里得向量):具有大小和方向…

Redis Desktop Manager 0.8.8.384 安装与使用详解

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

深入解析多商户商城系统源码:如何开发直播商城小程序?

本篇文章,小编将深入解析多商户商城系统源码的关键技术,并详细探讨如何基于这些源码开发一个功能完善的直播商城小程序。 一、多商户商城系统源码的核心构架 多商户商城系统源码的核心在于其能够支持多个商户独立运营,但同时又在一个统一的平…

LoRA大模型微调的利器

LoRA模型是小型的Stable Diffusion模型,它们对checkpoint模型进行微小的调整。它们的体积通常是检查点模型的10到100分之一。因为体积小,效果好,所以lora模型的使用程度比较高。 这是一篇面向从未使用过LoRA模型的初学者的教程。你将了解LoR…

Linux/Ubuntu服务器 screen 安装与使用

一、screen简单介绍 在Linux系统中,screen是一个非常强大的终端仿真器,它允许用户在一个终端窗口中创建多个子窗口,每个子窗口都可以运行一个独立的会话。screen的主要特点包括: 会话分离:screen允许用户在终端会话中运…

linux安装oracle的详细教程

在Linux系统上安装Oracle数据库涉及多个步骤,从准备工作到安装和初步配置。下面是一个详细的安装教程,以Oracle Database 19c和Oracle Linux(或类似的Red Hat/CentOS)系统为例。 前提条件 确保系统满足Oracle数据库的硬件和软件要…

学习日志8.30--防火墙NAT

目录 一、实验环境配置 二、配置防火墙静态NAT一对一 三、配置防火墙静态NAT多对多 四、配置防火墙NAT端口转换NAPT 五、防火墙smart-nat、easyip 六、防火墙三元组NAT 在学习过基于路由器的NAT网络地址转换,现在学习基于防火墙NAT的网络地址转换,…

电脑里的文件删除了还能恢复吗?这些方法能帮你找回

在数字化时代,电脑已经成为我们日常生活和工作中不可或缺的工具。然而,随着我们在电脑上创建、编辑和保存的文件越来越多,误删文件的情况也时有发生。一旦发现自己不小心删除了重要文件,很多人都会惊慌失措,疑惑这些被…

深入理解Java 8中的Stream API及其应用

深入理解Java 8中的Stream API及其应用 随着Java 8的推出,Java语言引入了许多令人兴奋的新特性,其中最为引人注目的便是Stream API。Stream API 为我们提供了一种全新的集合操作方式,使得数据处理、转换和过滤变得更加简洁、高效。在本文中&…

收藏夹里的“小网站”被误报违规不让上怎么办?如何将Chrome和Edge安装到 D 盘(含用户数据),重装系统也不会丢失收藏夹和密码?

当你用国产浏览器访问网站的时候,有时候会显示这个: 如果确实是违规网站,不让访问也没什么,但是很多都是误报啊,你这样直接来个大红横幅,还让人活不? 那遇到这种误报应当怎么办呢?有…

新电脑Win11系统想要降级为Win10怎么操作?

前言 现在的电脑大部分都是Windows 11系统,组装机还好一些,如果想要使用Windows 10,只需要在安装系统的时候选择Windows 10镜像即可。 但是对于新笔记本、厂商的成品机、一体机来说,只要是全新的电脑,基本上都是Wind…

性能优化:自动化处理系统设计

性能优化:自动化处理系统设计 前言需求分析系统设计1. 调度中心2. 任务执行器3. 错误处理机制4. 通知系统5. 报表生成器6. 日志记录器 技术实现结语 前言 在当今这个信息爆炸、技术日新月异的时代,企业面临着前所未有的挑战和机遇。随着业务量的不断增长…

ArcGIS的8个“合并”功能要分清——矢量:编辑器合并,复制粘贴,工具合并、追加、联合——栅格:镶嵌、镶嵌至新栅

​​​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 今天来看看ArcGIS中的几个涉及“合并”功能的用法。 对矢量: 包括编辑器中的合…

SprinBoot+Vue宠物领养救助微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平…

JAVA呵护晚年从智慧开始养老护理代办陪诊陪护小程序

呵护晚年,从智慧开始 —— 养老护理代办陪诊陪护小程序全解析 👵 【开篇:岁月静好,智慧护航】 随着时光的流转,家中的长辈渐渐步入晚年。如何给予他们最贴心的关怀与照顾,成为了我们心中的头等大事。今天…

Django Admin后台从一个页面同时编辑多个模型

要从Django Admin后台一个页面同时编辑多个对象,我们需要使用内联。 假设你有一个Category模型,并且需要在Admin后台Category编辑页面,同时编辑Villain模型。你可以在admin.py中使用内联: class VillainInline(admin.StackedInl…

光盘安全隔离与信息单向导入系统-信刻

信刻从用户需求出发,为更多用户提供安全可靠的跨网数据单向导入/导出光盘摆渡系统解决方案,解决内外网数据交换的问题,确保数据交换过程的安全性。 公司所研发出的光盘安全隔离与信息单向导入系统依托软硬件相结合的技术,集策略摆…

表外连接,数据去重,存在问题|解决

一、限制去重 1、distinct 整行去重 distinct your_column,.... 问题 :当连接log表,需要统计的主键可能重复 (其他列可以相同,只要有一列不同,就会统计)。 2、group by 当前字段全部去重 group by …