当前位置: 首页 > news >正文

双链路提升网络传输的可靠性扩展可用带宽

为了提升网络传输的可靠性或增加网络可用带宽, 通常使用双链路冗余备份或者双链路聚合的方式。 本文介绍几种双链路网络通信的案例。

5G+WiFi冗余传输

  • 双Socket绑定不同网络接口:通过Android的ConnectivityManager绑定5G蜂窝网络和WiFi的Socket连接,实现双链路并行传输。
  • 动态切换策略:根据信号强度(RSSI)和带宽实时切换主链路(如5G用于大流量传输,WiFi用于低延迟控制)
  • 使用场景 : 常用于手机: 可以提升带宽并增加用户上网体验 。

C/C++双Socket冗余传输库

  • 主备Socket热切换:客户端同时维护TCP和UDP Socket,TCP用于可靠传输,UDP用于快速重传。若TCP丢包率超过阈值,则通过UDP补发数据。
  • 心跳检测与自动重连:周期性发送心跳包,若主链路超时,自动切换到备用链路。

高可靠工业通信网关(C++)

  • 双链路心跳同步:通过双Socket绑定,周期性同步状态信息。
  • 数据分片与校验:将数据分片后通过双链路发送,接收端根据校验码重组数据。

开源项目推荐

OpenMPTCP(多路径TCP协议栈)

OpenMPTCProuter - Internet connection bonding - Home

  • 功能:支持多链路(如5G+WiFi)聚合传输,提升吞吐量和可靠性。
  • 适用场景:移动设备、车联网。

topo

                ----- LTE -----/               \
PC ---- apu3c4 ----- cable ----- apu3c4 ---- PC

QUIC协议实现(如Chromium QUIC)

  • 功能:基于UDP的高可靠传输协议,支持快速握手和多路复用。
  • 源码参考:结合网页2的UDP代码实现QUIC逻辑。

Linux kernel 原生方案bond

Linux bond 是将多个网络接口绑定成一个逻辑接口的技术。其基本功能包括提升网络带宽,通过聚合多个网卡增加传输速率;实现链路冗余,当某一链路故障时自动切换到其他链路,保障网络连接稳定;还能实现负载均衡,将数据流量合理分配到不同物理链路上。

换到其他链路,保障网络连接稳定;还能实现负载均衡,将数据流量合理分配到不同物理链路上。

相关文章:

双链路提升网络传输的可靠性扩展可用带宽

为了提升网络传输的可靠性或增加网络可用带宽, 通常使用双链路冗余备份或者双链路聚合的方式。 本文介绍几种双链路网络通信的案例。 5GWiFi冗余传输 双Socket绑定不同网络接口:通过Android的ConnectivityManager绑定5G蜂窝网络和WiFi的Socket连接&…...

Pytest测试用例执行跳过的3种方式

文章目录 1.前言2.使用 pytest.mark.skip 标记无条件跳过3.使用 pytest.mark.skipif 标记根据条件跳过4. 执行pytest.skip()方法跳过测试用例 1.前言 在实际场景中,我们可能某条测试用例没写完,代码执行时会报错,或者是在一些条件下不让某些…...

【蓝桥杯】每天一题,理解逻辑(3/90)【Leetcode 快乐数】

闲话系列:每日一题,秃头有我,Hello!!!!!,我是IF‘Maxue,欢迎大佬们来参观我写的蓝桥杯系列,我好久没有更新博客了,因为up猪我寒假用自己的劳动换了…...

深度学习Save Best、Early Stop

一、Save Best 今天的大模型,在训练过程中可能会终止,但是模型其实是可以接着练的,假设GPU挂了,可以接着训练,在原有的权重上,训练其实就是更新w,如果前面对w进行了存档,那么可以从…...

数据库与存储优化

一、MySQL深度优化 索引优化 B树索引结构 结构特点: 平衡多路搜索树,所有数据存储在叶子节点,非叶子节点仅存键值和指针。叶子节点通过双向链表连接,支持范围查询高效遍历。 优势: 减少磁盘IO(高扇出&#…...

Android15请求动态申请存储权限完整示例

效果: 1.修改AndroidManifest.xml增加如下内容: <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-perm...

C/C++蓝桥杯算法真题打卡(Day3)

一、P8598 [蓝桥杯 2013 省 AB] 错误票据 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std;int main() {int N;cin >> N; // 读取数据行数unordered_map<int, int> idCount; // 用于统计每个ID出现的次数vector<int> ids; …...

【数据结构与算法】Java描述:第二节:LinkedList 链表

一、链表的概念与结构 1.1 概念&#xff1a; 通俗的来说&#xff0c;链表是由一个个结点连接起来的就叫链表。 1.2 结构&#xff1a; 链表存储的数据 在 物理上是不一定连续的&#xff0c;它是由前面链接后面&#xff0c;一个个连起来的。 二、Java底层的 LinkedList 2.1…...

LLM run

lmstudio lmstudio ollama ollama N 卡使用自带UI gpu加速推理 ,选择满足条件的&#xff0c; ds模型选择列表 https://ollama.com/library/deepseek-r1 a卡当前支持的显卡型号 I卡 gpu加速配置 2025.3 intel Official project optimization https://www.modelscope.cn/m…...

k8s面试题总结(十)

1.为什么HDFS不适合存储小文件&#xff1f; 元数据存储在NameNode内存中&#xff0c;一个节点的内存是有限的。存储大量的小文件会消耗过多的寻道时间 同等大小一个大文件的访问速度一定比多个小文件访问速度快 3.NameNode存储block的数量是有限的 比如你一个block元数据需要消…...

android中activity1和activity2中接收定时消息

android中activity1和activity2中接收定时消息 业务类 import java.util.Timer; import java.util.TimerTask;public class MyAnager {private MyAnager() {}private static MyAnager instance;//回调接口onRecvTaskpublic interface OnMsgListener {void onRecvTask(String a…...

Non-Homophilic Graph Pre-Training and Prompt Learning

Non-Homophilic Graph Pre-Training and Prompt Learning KDD25 ​#paper/⭐#​ 目的&#xff1a;对异配图进行prompt ‍ ​​ 方法 邻居节点的综合嵌入 s v 1 ∣ V ( S v ) ∣ ∑ u ∈ V ( S v ) h u ⋅ s i m ( h u , h v ) , \mathbf{s}_{v}\frac{1}{|V(S_{v})|}\su…...

Ollama 框架本地部署教程:开源定制,为AI 项目打造专属解决方案!

Ollama 是一款开源的本地大语言模型&#xff08;LLM&#xff09;运行框架&#xff0c;用于管理和运行语言模型。具有以下核心特点&#xff1a; 开源可定制&#xff1a;采用 MIT 开源协议&#xff0c;开发者能自由使用、阅读源码并定制&#xff0c;可根据自身需求进行功能扩展和…...

unittest框架 核心知识的系统复习及与pytest的对比

1. unittest 介绍 是什么&#xff1a;Python 标准库自带的单元测试框架&#xff0c;遵循 xUnit 架构&#xff08;类似Java的JUnit&#xff09;。 核心概念&#xff1a; TestCase&#xff1a;测试用例的基类&#xff0c;所有测试类需继承它。 TestSuite&#xff1a;测试套件&a…...

vue面试宝典之二

39.vue2和vue3中源码是如何解析模版的 new vue&#xff08;&#xff09;的时候实例化了类之后根据传进去的option进行模版的类型div还是text还是啥进行匹配&#xff0c;同时拿到节点的值进行绑定&#xff0c;比如正则匹配{{}}将匹配到的变量拿去跟option中的data查找到具体的值…...

ESLint 深度解析:原理、规则与插件开发实践

在前端开发的复杂生态中&#xff0c;保障代码质量与规范性是构建稳健、可维护项目的基石。ESLint 作为一款强大的代码检查工具&#xff0c;其默认规则与插件能满足多数常见需求&#xff0c;但面对特定团队规范或项目独特要求&#xff0c;自定义 ESLint 插件便成为有力的扩展手段…...

洛谷P1091

题目如下 思路 谢谢观看...

随机树算法 自动驾驶汽车的路径规划 静态障碍物(Matlab)

随着自动驾驶技术的蓬勃发展&#xff0c;安全、高效的路径规划成为核心挑战之一。快速探索随机树&#xff08;RRT&#xff09;算法作为一种强大的路径搜索策略&#xff0c;为自动驾驶汽车在复杂环境下绕过静态障碍物规划合理路径提供了有效解决方案。 RRT 算法基于随机采样思想…...

江科大51单片机笔记【9】DS1302时钟可调时钟(下)

在写代码前&#xff0c;记得把上一节的跳线帽给插回去&#xff0c;不然LCD无法显示 一.DS1302时钟 1.编写DS1302.c文件 &#xff08;1&#xff09;重新对端口定义名字 sbit DS1302_SCLKP3^6; sbit DS1302_IOP3^4; sbit DS1302_CEP3^5;&#xff08;2&#xff09;初始化 因为…...

ssm_mysql_暖心家装平台

收藏关注不迷路&#xff01;&#xff01; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff08;免费咨询指导选题&#xff09;&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;希望帮助更多…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...

2.2.2 ASPICE的需求分析

ASPICE的需求分析是汽车软件开发过程中至关重要的一环&#xff0c;它涉及到对需求进行详细分析、验证和确认&#xff0c;以确保软件产品能够满足客户和用户的需求。在ASPICE中&#xff0c;需求分析的关键步骤包括&#xff1a; 需求细化&#xff1a;将从需求收集阶段获得的高层需…...