如何实现4G、5G、Wi-Fi、网线多网聚合(聚合之后可以推流编码啥的)

我一直对多网聚合推流编码器、视频回传背包等设备很好于是我就开始研究多网聚合到底是怎么一回事,今天终于实现。

如何实现,大概的原理就是在Ubuntu系统上编译安装mptcp协议,然后在配置代理服务器,或者搭建同样具有mptcp协议的服务器(这个就不需要代理)。

猜想:是不是我把流媒体服务器直接搭建在有mptcp协议的服务器系统上,是不是就可以省去聚合服务器了呢?

在Ubuntu上实现:

一、先编译安装mptcp协议

1、去GitHub下载代码并在Ubuntu上编译安装

Releases · multipath-tcp/mptcp · GitHub

把.deb的文件下载下来,然后通过两个命令安装

sudo dpkg -i linux*.deb
sudo apt-get install -f

2、使用配置脚本(基于 Ubuntu/Debian 的系统)

/etc/network/if-up.d/可以放置​​每次出现新界面时执行的脚本。我们创建了两个脚本:

#!/bin/sh
# A script for setting up routing tables for MPTCP in the N950.

# Copy this script into /etc/network/if-up.d/

set -e

env > /etc/network/if_up_env

if [ "$IFACE" = lo -o "$MODE" != start ]; then
        exit 0
fi

if [ -z $DEVICE_IFACE ]; then
    exit 0
fi

# FIRST, make a table-alias
if [ `grep $DEVICE_IFACE /etc/iproute2/rt_tables | wc -l` -eq 0 ]; then
    NUM=`cat /etc/iproute2/rt_tables | wc -l`
    echo "$NUM  $DEVICE_IFACE" >> /etc/iproute2/rt_tables
fi

if [ $DHCP4_IP_ADDRESS ]; then
    SUBNET=`echo $IP4_ADDRESS_0 | cut -d \   -f 1 | cut -d / -f 2`
    ip route add table $DEVICE_IFACE to $DHCP4_NETWORK_NUMBER/$SUBNET dev $DEVICE_IFACE scope link
    ip route add table $DEVICE_IFACE default via $DHCP4_ROUTERS dev $DEVICE_IFACE
    ip rule add from $DHCP4_IP_ADDRESS table $DEVICE_IFACE
else
    # PPP-interface
    IPADDR=`echo $IP4_ADDRESS_0 | cut -d \   -f 1 | cut -d / -f 1`
    ip route add table $DEVICE_IFACE default dev $DEVICE_IP_IFACE scope link
    ip rule add from $IPADDR table $DEVICE_IFACE
fi
- 将其放在 /etc/network/if-up.d/ 中并使其可执行。

命令:

sudo cp mptcp_up /etc/network/if-up.d/

sudo chmod 755 /etc/network/if-up.d/mptcp_up

#!/bin/sh
# A script for setting up routing tables for MPTCP in the N950.

# Copy this script into /etc/network/if-post-down.d/

set -e

env > /etc/network/if_down_env

if [ "$IFACE" = lo -o "$MODE" != stop ]; then
        exit 0
fi

ip rule del table $DEVICE_IFACE
ip route flush table $DEVICE_IFACE 

- 将其放在 /etc/network/if-post-down.d/ 中并使其可执行。

命令:

sudo cp mptcp_down /etc/network/if-post-down.d/

sudo chmod 755 mptcp_down /etc/network/if-post-down.d/mptcp_down

然后加入开机选择系统

sudo sed -i 's/GRUB_TIMEOUT_STYLE=hidden/GRUB_TIMEOUT_STYLE=menu/g' /etc/default/grub
sudo sed -i 's/GRUB_TIMEOUT=0/GRUB_TIMEOUT=10/g' /etc/default/grub
sudo update-grub

二、然后重启系统,进入系统前前选择高级,再选择带mptcp的系统版本

进入系统后配置mptcp

sudo sysctl net.mptcp.mptcp_enabled=1

sudo sysctl net.mptcp.mptcp_path_manager=fullmesh

sudo sysctl net.mptcp.mptcp_scheduler=default

sudo sysctl net.ipv4.tcp_congestion_control=cubic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SnailSTU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值