虚拟网络技术:bond技术

网卡bond也称为网卡捆绑,就是将两个或者更多的物理网卡绑定成一个虚拟网卡。

bond的作用:

1.提高网卡的吞吐量

2.增加网络的高可用,实现负载均衡。

                                                 

一、bond简介

bond技术即bonding,能将多块物理网卡绑定到一块虚拟网卡上,之后修改网卡驱动让多块网卡看起来像一个单独的以太网口,外界只能看到一个ip。

多网卡绑定需要提供一个额外的软件的bond驱动实现。通过驱动可以屏蔽多块网卡,对TCP协议层只存在一个bond网卡,在bond程序中实现网络流量的负载均衡,将一个网络请求重定位到不同的网卡上,来提高总体网络的可用性。

二、技术原理

bond技术需要网卡可以接收网络上所有的数据帧。多网卡之间的协同工作,bond将自己的MAC地址复制到各个物理网卡上,让所有网卡共享一个MAC地址。

多物理网卡的bond网卡,其中一块物理网卡会被设置为master,其他网卡是slave。bond网卡的Mac地址=master物理网卡的Mac地址。

在安装网卡时,需要指定bond网卡,以及bond网卡所对应的标志为master的物理网卡。

三、网卡bond模式

网络流量较大的时候推荐使用负载模式(bond0),在可靠性要求较高的时候,推荐使用主备模式(bond1)。

1.bond0

bond0可以保证bond虚拟网卡和被bond的几张物理网卡拥有相同的MAC地址。在bond0模式下,如果一个链接或者会话的数据包从不同的网口发出,途中经过不同的链路,在客户端可能会出现数据包无序到达。另外,如果做bond0的两张或多张网卡接到同一交换机上,还需要对交换机配置聚合模式。

2.bond1

该模式是主备策略。即网卡之间能快速切换,主网卡出现故障时能快速切换到备网卡上,切换过程中上层应用几乎不受影响。因为bond驱动会临时接管上层应用的数据包,存放到数据缓冲区内,等备网卡启动之后再传过去。但如果切换时间过长,贼会引起缓冲区的溢出,就会丢包。

3.bond2

选择网卡的序号=(源MAC地址XOR目标MAC地址)%slave的数量。

4.bond3

广播策略,数据包会被广播到所有slave卡上。

5.bond4

bond4使用动态链接聚合策略。启动时会创建一个聚合组,所有slave网卡共享同样的速率和双工设定,需要交换机支持IEEE 802.3ad动态链路聚合模式。支持使用ethtool工具获取每个slave网卡的速率和双工设定。

6.bond5

bond5基于每个slave网卡的速率选择传输网卡,支持使用ethtool工具获取每个slave的速率。

7.bond6

bond6包含了bond5模式,同时还支持IPV4流量接收时的负载均衡策略,而且不需要任何交换机的支持,支持只是用ethtool获取每个slave的速率,要求底层驱动支持设置某个网卡设备的硬件地址。

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

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

相关文章

六、C语言数组

1. 数组的概念 数组是⼀组相同类型元素的集合;从这个概念中我们就可以发现2个有价值的信息: 数组中存放的是1个或者多个数据,但是数组元素个数不能为0。数组中存放的多个数据,类型是相同的。 数组分为⼀维数组和多维数组&#xf…

Prometheus 发现机制和告警

1.服务发现 Prometheus Server的数据抓取工作于Pull模型,因而,它必需要事先知道各Target的位置,然后才能从相应的Exporter或Instrumentation中抓取数据。在不同的场景下,需要结合不同的机制来实现对应的数据抓取目的。 对于小型的…

企业级 接口自动化测试框架:Pytest+Allure+Excel

1. Allure 简介 简介 Allure 框架是一个灵活的、轻量级的、支持多语言的测试报告工具,它不仅以 Web 的方式展示了简介的测试结果,而且允许参与开发过程的每个人可以从日常执行的测试中,最大限度地提取有用信息。 Allure 是由 Java 语言开发…

【学习记录】从0开始的Linux学习之旅——字符型设备驱动及应用

一、概述 Linux操作系统通常是基于Linux内核,并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程,具有强大的网络功能和良好的兼容性。基于前面应用与驱动的开发学习,本文主要讲述如何在linux系统上把应用与驱动…

参考信号速度变化存在跳跃时容易发生不稳定的阻抗调节

问题描述 当参考信号速度存在跳跃变化时,阻抗调节系统容易发生不稳定。这是因为阻抗调节系统需要根据参考信号的速度来调整其输出阻抗,以匹配负载阻抗,从而保持系统的稳定性。 当参考信号速度突然变化时,阻抗调节系统可能无法及…

『TypeScript』深入理解变量声明、函数定义、类与接口及泛型

📣读完这篇文章里你能收获到 了解TypeScript变量声明与类型注解掌握TypeScript函数与方法的使用掌握TypeScript类与接口的使用掌握TypeScript泛型的应用 文章目录 一、变量声明与类型注解1. 变量声明2. 类型注解3. 类型推断 二、函数与方法定义1. 函数定义2. 方法定…

Jmeter 性能测试基础!

压力测试   压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口。压测时间,一般场景都运行10-15分钟。如果是疲劳测试,可以压一天或一周,根据实际情况来定。 压…

springboot 在自定义注解中注入bean,解决注入bean为null的问题

问题: 在我们开发过程中总会遇到比如在某些场合中需要使用service或者mapper等读取数据库,或者某些自动注入bean失效的情况 解决方法: 1.在构造方法中通过工具类获取需要的bean 工具类代码: import org.springframework.beans…

Spring到底是如何解决循环依赖问题的?

Spring作为当前使用最广泛的框架之一,其重要性不言而喻。所以充分理解Spring的底层实现原理对于咱们Java程序员来说至关重要,那么今天笔者就详细说说Spring框架中一个核心技术点:如何解决循环依赖问题? 什么是循环依赖问题&#x…

JVM理解

1、JVM是什么? JVM是Java Virtual Machine(Java虚拟机)的缩写,由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。 他是帮助我们将java代码 生成编译后 的 class 文件。 2、JRE、JDK和JVM 的关系 …

用AI批量生成文章的工具有哪些?免费AI生成工具

人工智能(AI)技术不断演进,为许多领域带来了前所未有的便利。其中,AI生成文章技术作为一个备受关注的领域,为大家提供了独特的解决方案,特别是在批量文章生成的需求上。 1. AI生成文章的方法 开放式AI模型…

基于Browscap对浏览器工具类优化

项目背景 原有的启动平台公共组件库comm-util的浏览器工具类BrowserUtils是基于UserAgentUtils的,但是该项目最后一个版本发布于 2018/01/24,之至今日23年底,已有5年没有维护更新,会造成最新版本的部分浏览器不能正确获取到浏览器…

使用python操作excel文档

导入xlsxwriter包 python轻量化的语言,用来操作文档简直易如反掌,首先你需要导入的是import xlsxwriter包,他包括了操作文档所需要的全部工具方法,你只需要调用就好了。 操作excel指南 首先你需要创建一个文件xlsxwriter.Workb…

http与apache

目录 1.http相关概念 2.http请求的完整过程 3.访问浏览器背后的原理过程 4.动态页面与静态页面区别 静态页面: 动态页面: 5.http协议版本 6.http请求方法 7.HTTP协议报文格式 8.http响应状态码 1xx:提示信息 2xx:成功…

CPU密集型和IO密集型初学习

目录 1、CPU密集型 2、IO密集型 3、CPU密集型和IO密集型的区别 4、CPU密集型和IO密集型对CPU内核之间的关系 5、核心线程数计算公式 5、扩展:进程和线程 小结 1、CPU密集型 CPU密集型是指计算机程序或任务在执行过程中主要依赖于中央处理器(CPU&…

IOday5作业

使用两个线程完成两个文件的拷贝&#xff0c;分支线程1完成前一半内容拷贝&#xff0c;分支线程2完成后一半内容的拷贝&#xff0c;主线程完成资源的回收 #include<myhead.h> //定义结构体 struct file {const char* srcfile;//背拷贝文件路径const char* destfile;//拷…

C++ STL容器与常用库函数

STL是提高C编写效率的一个利器 STL容器&#xff1a; 一、#include <vector> 英文翻译&#xff1a;vector &#xff1a;向量 vector是变长数组(动态变化)&#xff0c;支持随机访问&#xff0c;不支持在任意位置O(1)插入。为了保证效率&#xff0c;元素的增删一般应该在末尾…

【设计模式-3.1】结构型——外观模式

说明&#xff1a;本文介绍设计模式中结构型设计模式中的&#xff0c;外观模式&#xff1b; 亲手下厨还是点外卖&#xff1f; 外观模式属于结构型的设计模式&#xff0c;关注类或对象的组合&#xff0c;所呈现出来的结构。以吃饭为例&#xff0c;在介绍外观模式之前&#xff0…

你们如何看待华为的鸿蒙ArkTS语言?

ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript&#xff08;简称TS&#xff09;基本语法风格的基础上&#xff0c;对TS的动态类型特性施加更严格的约束&#xff0c;引入静态类型。同时&#xff0c;提供了声明式UI、状态管理等相应的能力&#xff0c;让开发者可以以更简洁、…