多网络路径传输

最近更新时间:2024-08-26 15:23:42

我的收藏
说明:
多网络路径传输,可支持对音视频流、控制数据流采用多网络路径进行传输。使用时需要确保设备网络环境符合多网要求,且 SDK 配置多个对应网卡进行绑定。

SDK 多网配置

SDK 初始化时,加入网卡 IP 绑定配置,绑定多个网卡 IP 即可开启多网功能,并可选配置视频多网传输模式。
网卡 IP 绑定配置
"network_bind":["IP1","IP2"]
如果采用 Web 工具生成配置,在高级配置中,勾选指定 IP 绑定网卡配置,填写多个网卡 IP 并用分号隔开。
视频多网传输模式(可选)
"media_trans_mode":2
1为 5G 增强模式,适合多 5G 网络场景;2为均衡模式; 3为 4G 增强模式,适合多 4G 网络场景。
注意:
使用 SDK 的应用运行多网模式时,为确保能够成功绑定网卡,需要授权 sudo 权限。如果不方便授权 sudo 权限,也可为应用单独授权网卡绑定权限,在应用目录下执行以下内容:sudo setcap cap_net_raw,cap_net_bind_service+ep ./应用名

设备多网环境验证

使用 SDK 进行多网传输前,需要验证设备多网环境正常,满足 SDK 多网传输要求。具体验证时,可在设备上使用 curl 命令访问可返回客户端公网 IP 的网站URL(以下以使用 http://cip.cc 为例),验证 SDK 配置绑定的多个网卡 IP 请求的公网 IP 地址是否符合多网环境要求。
curl http://cip.cc --interface 本地网卡IP1
curl http://cip.cc --interface 本地网卡IP2
如果不同网卡 IP 的 curl 请求能稳定返回不同的公网 IP,且与对应网络运营商线路匹配,则验证通过。

设备路由及 IP 配置(供参考)

以下是满足设备多网环境验证要求的一种车端网络部署方案示例,可用于网络部署参考,非强制建议。实际设备网络只要符合设备多网环境验证要求即可。

CPE 配置要求

单个多网 CPE

同一个 CPE 接入不同运营商 WAN 网络。 通过 VLAN+路由配置方式创建多个不同网段的 LAN 网关指向不同的 WAN 网络, 例如192.168.67.1网段网关指向WAN1 网络(A 运营商), 192.168.8.1网段网关指向 WAN2 网络(B 运营商)。

多个单网 CPE

不同 CPE 接入不同运营商 WAN 网络。将多个 CPE 的 LAN 网段设置为不同网段。例如 CPE1 为 192.168.8.1/24网段, CPE2 为 192.168.67.1/24网段。

设备 IP 及路由配置

单网卡连接 CPE

设备采用1个网口及网线,通过交换机与 CPE 多个 LAN 网段网关连接。
IP 设置
为网卡设置多个网段的 IP 以及相应的网关(若无法配置网关也可)。以下是 Ubuntu 系统 /etc/network/interfaces.d 设置举例,对 eth0 网卡创建 eth0:0,分配 IP 192.168.8.96 及网关192.168.8.1, 创建 eth0:1 分配 IP 192.168.67.96 及网关192.168.67.1。
auto eth0
iface eth0 inet static

auto eth0:0
iface eth0:0 inet static
address 192.168.8.96
netmask 255.255.255.0
gateway 192.168.8.1
 
auto eth0:1
iface eth0:1 inet static
address 192.168.67.96
netmask 255.255.255.0
gateway 192.168.67.1
路由表设置
为每个网络的 IP 创建独立路由表,并指定路由的网关。以下是 eth0 网卡不同 IP 路由设置的举例:
ip rule add from 192.168.8.96 table 10
ip rule add from 192.168.67.96 table 20
ip route add default via 192.168.8.1 dev eth0 proto static metric 0 table 10
ip route add default via 192.168.67.1 dev eth0 proto static metric 0 table 20

多网卡连接 CPE

设备采用多个网口及网线,分别与 CPE 多个 LAN 网段网关连接(可通过交换机)。
IP 设置
为每个网卡设置对应网段的IP以及相应的网关。以下是 Ubuntu 系统 /etc/network/interfaces.d 设置举例,对 eth0 网卡分配 IP 192.168.8.96 及网关192.168.8.1,对 eth1 网卡分配 IP 192.168.67.96 及网关192.168.67.1。
auto eth0
iface eth0 inet static
address 192.168.8.96
netmask 255.255.255.0
gateway 192.168.8.1
 
auto eth1
iface eth1 inet static
address 192.168.67.96
netmask 255.255.255.0
gateway 192.168.67.1
路由表设置
为每个网络的 IP 创建独立路由表,并指定路由的网关。以下是对 eth0 和 eth1 网卡不同 IP 路由设置的举例:
ip rule add from 192.168.8.96 table 10
ip rule add from 192.168.67.96 table 20
ip route add default via 192.168.8.1 dev eth0 proto static metric 0 table 10
ip route add default via 192.168.67.1 dev eth1 proto static metric 0 table 20