虚拟网络技术: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 语言开发…

基于selenium工具刷b站播放量(请谨慎使用)

基于selenium工具刷b站播放量(请谨慎使用) from selenium import webdriver import time import random# 打开B站视频 url input("url:") if url "":url https://www.bilibili.com/video/BV1K64y1574T for i in range(50):# 设置…

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

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

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

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

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

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

Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)读书笔记 目录

完结状态:未完结 文章目录 前言第1章 Kubernetes入门 11.1 了解Kubernetes 2 附录A Kubernetes核心服务配置详解 915总结 前言 提示:这里可以添加本文要记录的大概内容: Kubernetes权威指南:从Docker到Kubernetes实践全接触&…

Jmeter 性能测试基础!

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

【编程技术】CUDA TencoreCore编程实例说明

概述 通过一个m16n8k16矩阵乘法的CUDA TencoreCore编程实例,展示load/store mma 的矩阵乘法运行过程 动画实例 CUDA TensoreCore 编程实例

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

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

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

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

深入理解Java中的逃逸分析

目录 1. 对象作用域分析2. 栈上分配3. 同步省略(锁消除)4. 标量替换 逃逸分析是一种编译器优化技术,用于确定对象的作用域和生命周期。其主要特点包括:对象作用域分析、栈上分配、同步省略和标量替换。现在将详细阐述这些特点&…

延长UPS电源寿命的12大方法

为提高机房UPS电源工作质量,加强日常管理,确保机房UPS不间断电源设备始终处于良好的环境中,设备安全稳定运行。让我们看看UPS不间断电源的使用寿命能达到多长时间?如何维护?UPS电源维护,延长UPS电源寿命。 …

JVM理解

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

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

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

springsecurity为什么说使用JWT就可以disable csrf

Cross-Site Request Forgery (CSRF) 是一种攻击,它利用了用户在浏览器中对特定网站的登录状态。攻击者可以在他们控制的网站上构造一个请求,当用户访问这个网站时,这个请求会在用户的浏览器中执行,并带有用户对目标网站的凭证&…

更简单的Redux工具 Toolkit

1 安装 npm install reduxjs/toolkit2 创建store目录 创建store文件夹,里面包含入口文件index.jsx,以及自定义的reduces方法main.jsx的slices文件夹,其中main1.jsx、main2.jsx表示每一个相对独立的reduces数据操作集 store ***slices *****…

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

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

使用python操作excel文档

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