聊聊多人语音通话的基本原理

0.引言
本文主要是介绍一些基本工作原理,包括移动Mesh网络,VOIP技术等 。关于本文涉及到的一些专业知识,有更详细介绍,参考文章列表如下:
 
1.移动Mesh网络
1.1 常见的网络拓扑结构
常见的网络拓扑结构有点对点拓扑结构、星型拓扑结构、树型拓扑结构、环型拓扑结构和总线型拓扑结构等 。常见网络拓扑结构如下图所示:

聊聊多人语音通话的基本原理

文章插图
 
点对点拓扑结构(perr-to-peer,简称 P2P),是一种无路由节点、网络成员直接交换信息的网络结构 。这种结构在通信上较为简单,但应用开发较为复杂,需要打洞,在有些场景可以应用到 。
在星型拓扑结构的网络中,子节点都直接与中心节点相连,其具有结构简单,延迟低等优点,但是可靠性较低、部署成本较高 。它目前常见于企业、学校和家庭网络中,运营商网络由路由器接入后,各个设备通过网络线缆或者无线网络连接路由器或交换机接入互联网 。总线型拓扑结构则是一种所有节点挂在同一条总线上的拓扑结构,其没有网络中心,这种拓扑结构的优点是可扩展性好,但是维护困难,分支结构定位故障较难 。
2.Mesh网络拓扑结构
Mesh 网络拓扑结构,是一种在网络节点上使用动态路由的方式进行数据传输的拓扑结构 。这种网络拓扑结构可以保证每个节点与其他节点之间连接的可靠性,当网络中有某个节点故障时,这种结构允许其他节点使用“跳跃”(hip)的方式形成一条新的、可用的路由进行数据传输 。
Mesh 网络具有以下几个特点:
(1)自组织:网络节点可以即时加入 Mesh 网络,网络拓扑结构会随之改变,使得该节点可以与网络中的任意一个节点连接 。
(2)自愈性:如果 Mesh 网络中的网络成员因为关机、故障等原因不能工作,网络会自动调整网络拓扑结构,使得原来被破坏的路由被有效的路由替换 。
【聊聊多人语音通话的基本原理】(3)多跳:Mesh 网络中的所有节点都具备转发数据包的能力,网络中的节点可以通过多跳与物理上不能直接通信的节点进行数据传输 。
相对于传统 Wi-Fi 的 AP(Access Point)工作模式使用的星型网络拓扑结构,Mesh 网络使用的 Mesh 拓扑结构在网络成员节点传输距离以及移动性上都有了很大的改进 。
 
3.IEEE 802.11s 标准
IEEE 802.11s 是 IEEE(电机电子工程学会)对 802.11 无线网络协议中无线网状网络的补充标准,它定义了无线设备如何交互以组成一个 Mesh 无线局域网,这个网络的拓扑结构是可以随时变化的 。不同于传统Ad-Hoc 网络中使用传输层的路由协议实现多跳功能,802.11s 协议扩展了 mac(媒体访问控制)层标准,定义了一个使用无线感知进行自配置多跳拓扑结构的架构和协议,其支持包括广播、组播和单播方式的数据传输 。
802.11s 使用的路径选择协议为混合无线 Mesh 协议(Hybrid Wireless Mesh Protocol,简称 HWMP),即同时使用了先验式路由协议和反应式路由协议,上述路径选择协议中包含了四种路径选择消息包,分别为根节点通告(Root Announcement,简称 RANN)、路径请求(Path Request,简称 PREQ)、路径回复(Path Reply,简称 PREP)和路径错误(Path Error,简称 PERR) 。混合无线 Mesh 协议如下图:
聊聊多人语音通话的基本原理

文章插图
 
先验式路由协议对于网络中的每个节点,会建立一个树形的路由拓扑结构,根节点可以通过两种方式建立路由表,一种是使用根节点宣告包,另一种是使用路径请求包 。
使用根节点宣告包方式其路径请求是由根节点以外的其他节点以单播的方式发送给根节点,而根节点必须使用路径回复包进行回复 。
使用路径请求包的方式时,不会使用路径回复包,而且路径请求包是由根节点发送的
 
反应式路由协议,又称为按需路由协议,是基于 RM-AODV(Radio-Metric Ad hoc On-Demand Distance Vector)的协议,使用路由请求和路由回复机制在两个节点之间建立路由,节点间使用路由请求包和路由回复包进行信息数据交互,并在路由回复包中采用序列号以保证路由的时效性
目前 IEEE 802.11s 标准已经被 linux 内核支持,在 Linux 上可以方便地使用支持802.11s 标准的无线网卡组建基于 802.11s 的无线 Mesh 网络 。
 
4.Vo IP 技术
Vo IP 是一种语音通话技术,通过将语音信号数字化处理、编码压缩、网络传输、解码、还原成音频信号实现语音通信,其中关键技术为语音编码技术和实时网络传输技术 。其流程如下图所示:


推荐阅读