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

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

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)聚合传输,提升吞吐量和可靠性。
  • 适用场景:移动设备、车联网。
复制代码
                ----- LTE -----
               /               \
PC ---- apu3c4 ----- cable ----- apu3c4 ---- PC

QUIC协议实现(如Chromium QUIC)

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

Linux kernel 原生方案bond

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

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

相关推荐
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
wuyk5554 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
QYRdata4 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK4 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang19924 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖4 天前
Netty 核心组件与 Reactor 模型详解
网络·架构
ITxiaobing20234 天前
IP 定位服务选型指南:从准确率到工程落地的技术考察
linux·服务器·网络
wuyk5554 天前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
z落落4 天前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp
云运维笔记4 天前
华为设备IP地址配置全攻略
运维·网络·计算机网络·华为