Lync Server 2010所需媒体网络流量带宽详解和计算

如果在组织内部部署Lync Server 2010,那么最大的优势就是解决了组织内部的即时通讯需求,为什么这么说?因为纵观现在微软所推行的商业智能应用平台,可以非常直观的了解到实际上整个微软商业平台就是由Lync Server、Exchange Server以及SharePoint Server这三个解决方案来实现。Exchange Server主要用来实现企业的异步通讯,包括邮件、语音信箱、全球通讯簿等;Lync Server主要用来实现企业的即时通讯,包括在线文字聊天、语音会议、电话会议、视频会议、远程协助、远程演示等双方或多方的沟通;SharePoint Server主要实现的是企业信息、资源的融合,包括门户网站、工作流程、协同工作、企业搜索以及企业内容管理等。三大解决方案各施其职,共同构建企业的商业信息平台。
image
上面的内容有点偏题了,今天我们主要是来看下很多客户所关心的网络流量需求,对于一种沟通的方式我们不得不把网络流量需求记作沟通成本。Lync Server媒体流量的计算和评估我们可以根据不同的开销进行分别计算,主要将网络流量需求分为三类:音频编码器、视频分辨率及码率、流活动级别。我们下面就先来看下Lync Server的音频网络流量需求,在音频编码器中主要以下几种编码器:
音频编解码器
方案
音频负载比特率 (KBPS)
仅限于带宽音频负载和 IP 标头 (Kbps)
带宽音频负载、IP 标头、UDP、RTP 和 SRTP (Kbps)
带宽音频负载、IP 标头、UDP、RTP、SRTP 和前向纠错 (Kbps)
RTAudio 宽带
对等
29.0
45.0
57.0
86.0
RTAudio 窄带
对等,PSTN
11.8
27.8
39.8
51.6
G.722
会议
64.0
80.0
95.6
159.6
G.711
PSTN
64.0
80.0
92.0
156.0
Siren
会议
16.0
32.0
47.6
63.6
音频编码器指的是音频类型,比如PC到PC、PC到电话、PC到PC会议、PC到电话会议等等。需要说明的是RTAudio宽带和窄带这两种编码器,并不是我们通常所见的PC到PC语音编码器,而是微软针对Lync Server专门研发的。简单的介绍下RTAudio吧,这是一种针对基于IP的实时双向通讯语音程序专用的的高级语音编码,是微软首选的实时语音编码器,拥有性能、兼容性好、速率控制、延迟低以及前向错误纠正等功能。其中的前向错误纠正FEC需要额外的流量来实现,可以帮助维护音频流的质量。上表中的带宽数值基于 Siren 和 G.722 的 20 毫秒数据分包(每秒 50 个数据包),其中包含其他安全实时传输协议 (SRTP) 开销(在会议方案中),并假定流是 100% 活动的。
看完了音频我们再来看看视频,对于视频,只有一种解码器,那就是RTVideo。所需要、耗费的网络带宽取决于分辨率、编码率以及帧速率。每种分辨率都有两个相关的比特率:
  • 最大负载比特率 Lync 2010 将此比特率用于该分辨率所能支持的最大帧速率的分辨率。此值可提供最高质量和最高帧速率的视频,因此十分重要。
  • 最小负载比特率 Lync 2010 将此比特率用于大约每秒 1 帧的分辨率。通过此值可以了解在最大比特率不可用或不实际时,可能适用的最低值,因此十分重要。部分用户可能无法接受每秒 1 帧的视频体验,因此考虑使用这些比特率时应十分谨慎。
在了解最大负载比特率和最小负载比特率后,我们再来看下各种分辨率下的这两个值的需求:
分辨率
最大视频负载比特率 (Kbps)
最小视频负载比特率 (Kbps)
主视频 CIF
250
50
主视频 VGA
600
350
主视频 HD
1500
800
全景视频
350
50
在标准情况下,Lync的所有客户端节点在开启音视频会议时不会持续的传输数据包,根据场景的不同有所差异。
在对等方案中:
  • 仅当用户通话时终结点才发送音频流。
  • 参与双方都会接收到音频流。
  • 如果使用视频,则双方终结点都会在整个呼叫过程中发送和接收视频流。
在会议方案中:
  • 仅当用户通话时终结点才发送音频流。
  • 所有参与者都会接收到音频流。
  • 如果使用视频,则一次只有两个终结点发送视频流(活动讲话人和上一个活动讲话人)。
  • 如果使用视频,则所有参与者都会接收到视频流。
也就是在标准环境,不使用第三方for Lync的软硬件设备时,Lync最多同时显示一个参会者的视频图像,即讲话人。通过音频激活来切换到其他参会人。
下面我们看下微软给出的流活动级别表格:
方案
媒体
估计流活动 (%)
对等会话
音频
61
对等会话
主视频 CIF
84
对等会话
主视频 VGA
83
对等会话
主视频 HD
80
对等会话
全景视频
74
会议
音频
43
会议
主视频 CIF
84
会议
主视频 VGA
83
会议
主视频 HD
80
会议
全景视频
74
PSTN
音频
65
这个流活动级别是微软估计出来的一个平均值,也就是说我们通过相应的媒体类型,乘以这个估算流活动就可以得到大概的流量耗费。我们下面举个例子:
  • 在对等会话方案中使用RTAudio宽带编码器,在不使用FEC的情况下,即:57.0*61%+5=39.77Kbps;
  • 同样在对等会话方案中使用RTAudio宽带编码器,在使用FEC的情况下,即:86.0*61%+5=57.46Kbps。
可能这里大家就蒙了,这个"5Kbps"流量耗费又是怎么回事?除音频和视频媒体的实时传输协议 (RTP) 流量所需的带宽之外,实时传输控制协议 (即RTCP) 也需要带宽。RTCP 用于报告 RTP 流的统计信息和带外控制。我们在做规划时,可以直接参考下表中的带宽数值规划 RTCP 流量。这些值代表用于 RTCP 的最大带宽,并且因控制数据不同,音频流和视频流的这些值也有所不同。
媒体
RTCP 最大带宽 (Kbps)
音频
5
视频
10
这里应该就很清楚这个5Kbps是怎么回事了吧,同理,对于视频的话就需要额外加10Kbps的流量作为评估容量的参考值。其实讲到这里相信各位朋友就应该会计算了吧,但这些其实微软早就为我们准备好了,并且分为使用FEC、不使用FEC以及经典值。
这里还是给大家明确说下不使用FEC最大流带宽使用FEC最大流带宽这两个值的重要性:
  • 不使用 FEC 的最大带宽 流将使用的最大带宽,包括不使用 FEC 的方案中的典型流活动和使用的典型编解码器。这是流处于 100% 活动状态,且没有因丢失数据包而触发使用 FEC 时的带宽。它对于计算为允许给定的方案使用编解码器而必须分配的带宽数量而言,十分重要。
  • 使用 FEC 的最大带宽 流使用的最大带宽,包括使用 FEC 的方案中的典型流活动和使用的典型编解码器。这是流处于 100% 活动状态,且因丢失数据包而触发使用 FEC 以提高质量时的带宽。这对于计算为允许给定的方案使用编解码器,并且允许在数据包丢失的条件下使用 FEC 来维护质量而必须分配的带宽数量而言,十分重要。
然后再说下经典值:这是流使用的平均带宽,包括方案中的典型流活动和使用的典型编解码器。此带宽可用于估计给定时间内媒体流量使用的带宽量,但不应用于容量规划,因为活动级别高于平均水平时,个别呼叫会超过该值。经典值的计算方式就是我上面给大家计算的方式,这里就不再提了直接看下表。
对等会话的音频/视频容量规划
媒体
编解码器
典型流带宽(Kbps)
不使用FEC的最大流带宽
使用FEC的最大流带宽
音频
RTAudio宽带
39.8
62
91
音频
RTAudio窄带
29.3
44.8
56.6
主视频 CIF
RTVideo
220
260
不适用
主视频 VGA
RTVideo
508
610
不适用
主视频 HD
RTVideo
1210
1510
不适用
全景视频
RTVideo
269
360
不适用
会议的音频/视频容量规划
媒体
典型的编解码器
典型流带宽(Kbps)
不使用FEC的最大流带宽
使用FEC的最大流带宽
音频
G.722
46.1
100.6
164.6
音频
Siren
25.5
52.6
68.6
主视频 CIF
RTVideo
220
260
不适用
主视频 VGA
RTVideo
508
610
不适用
全景视频
RTVideo
269
360
不适用
PSTN 的音频容量规划
媒体
典型的编解码器
典型流带宽(Kbps)
不使用FEC的最大流带宽
使用FEC的最大流带宽
音频
G.711
64.8
97
161
音频
RTAudio 窄带
30.9
44.8
56.6
上面三个表中无论是经典值还是不使用FEC的最大流带宽和使用FEC最大流带宽,均已经包含了RTCP所需的流量,音频已经包含RTCP最大流量的5Kbps、视频包含RTCP最大流量的10Kbps。
我们可以根据以上的Lync Server所需的媒体网络流量带宽来评估计算生产环境中所需要的网络连接速率以及规划用户量、硬件设备等。好了,今天就讲到这里,感谢各位朋友的捧场!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux互斥锁的使用代码实现

From: http://blog.csdn.net/leo115/article/details/8037869 [cpp] view plaincopy#include <stdio.h> #include <pthread.h> #include <sched.h> #include <unistd.h> //对临界区的保护问题 void *fun1(void *arg); void *fun2(void *ar…

USB Camera摄像头(UVC 与 gspca)

From: http://www.cnblogs.com/leaven/archive/2010/08/19/1802934.html http://weijb0606.blog.163.com/blog/static/131286274201063145356429/ 我的摄像头终于出现图像了&#xff01; 李迟按&#xff1a;本文章不是教程&#xff0c;不是心得总结&#xff0c;而是记录我在…

随机存取存储器(RAM)

RAM&#xff08;random access memory&#xff09;随机存储器。存储单元的内容可按需随意取出或存入&#xff0c;且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容&#xff0c;故主要用于存储短时间使用的程序。 按照存储信息的不同&#xff0c;…

创建弹出窗口的图片展示

本帖最后由 oisweb 于 2009-11-24 14:11 编辑图片有点大了 显示不是很好 自己看着办吧 1 创建工程 设置页面属性 <mx:Application xmlns:mx"http://www.adobe.com/2006/mxml" layout"vertical" horizontalAlign"center" verticalAlign&…

移植gdb到DM368 IPNC中 linux arm gdb

From: http://blog.csdn.net/ghostyu/article/details/8081897 移植gdb到嵌入式的ipnc中&#xff0c;大多数人习惯使用printf调试&#xff0c;但是遇到像”segment fault“这的错误也是后就很难定位&#xff0c;这时候gdb的作用就体现出来了 在pc使用gdb调试应用程序前&…

Silverlight实用窍门系列:56.Silverlight中的Binding使用(一)【附带实例源码】

本文将详细讲述Silverlight中Binding&#xff0c;包括Binding的属性和用法&#xff0c;Binding的数据流向。 Binding:一个完整的Binding过程是让源对象中的某个属性值通过一定流向规则进行转换和验证之后绑定到目标对象的某个属性上面。这个源对象由ElementName指定&#xff0c…

jqGrid + JSON + WebService 完整示例

真没找到这样的例子&#xff0c;于是自已写了个&#xff0c;分享出来。 第一步&#xff0c;首先在WebService上&#xff0c;添加[System.Web.Script.Services.ScriptService]属性标签&#xff0c;让WebServer支持JSON. namespace jqGrid_JSON_WebService_Sample.Services{/// &…

交叉编译和交叉调试环境搭建及使用

From: http://blog.chinaunix.net/uid-25119314-id-226230.html 1. 交叉编译器 1.1 交叉编译器介绍 在一种计算机环境中运行的编译程序&#xff0c;能编译出在另外一种环境下运行的代码&#xff0c;我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说&…

Hello Views之Spinner(yaozq翻译,仅供参考)

Spinner是一种类似于下拉列表的widget。 在这个教程中&#xff0c;你将创建一个简单的用于展示星球列表的spinner组件。当选择列表中的一项时&#xff0c;将会弹出一个表示所选项的toast信息。下面是具体步骤&#xff1a; 1&#xff0c;新建一个名为HelloSpinner的项目。 2&…

Bitmap 之 getPixels() 的 stride

学习Graphics中遇到位图(Bitmap)中getPixels()方法&#xff0c;对该方法的用法大体理解&#xff0c;但对其中的stride参数却不明白具体的用法以及用意&#xff0c;现记述过程如下&#xff1a; getPixels()方法的用处为获取位图(Bitmap)中的像素值(颜色值)&#xff0c;存入类型为…

i++ 和 ++i 效率的分析以及自定义类型的自增/自减运算符重载实例

From: http://blog.csdn.net/leo115/article/details/8101541 我们通常在写for循环 的时候&#xff0c;要实现变量 i 的自增 1 &#xff1b;往往会在i 和i中随便挑一种写&#xff0c;对于i和i的理解&#xff0c;我们往往停留在返回的值的不同&#xff0c;其实i与i在实现效率上…

BZOJ 1146: [CTSC2008]网络管理Network( 树链剖分 + 树状数组套主席树 )

树链剖分完就成了一道主席树裸题了, 每次树链剖分找出相应区间然后用BIT(可持久化)权值线段树就可以完成计数. 但是空间问题很严重....在修改时不必要的就不要新建, 直接修改原来的..详见代码. 时间复杂度O(N*log^3(N))------------------------------------------------------…

struts2遍历select

2019独角兽企业重金招聘Python工程师标准>>> <s:bean name"org.apache.struts2.util.Counter" id"counter"> <s:param name"first" value"1" /> <s:param name"last" value"pageCount"…

Oracle 彻底 kill session

为什么80%的码农都做不了架构师&#xff1f;>>> --*************************** -- Oracle 彻底 kill session --*************************** kill session 是DBA经常碰到的事情之一。如果kill 掉了不该kill 的session&#xff0c;则具有破坏性&#xff0c;因此尽…

WebService学习总结——调用第三方提供的webService服务

互联网上面有很多的免费webService服务&#xff0c;我们可以调用这些免费的WebService服务&#xff0c;将一些其他网站的内容信息集成到我们的Web应用中显示&#xff0c;下面就以获取天气预报数据。气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server)…

【017】◀▶ C#学习(九) - ADO.NET

《C#入门经典&#xff08;中文第四版&#xff09;》在程序中访问数据库学习笔记 --------------------------------------------------------------------------------------------------------- ●● 目录&#xff1a; A0 ………… System.Data.SqlClient 命名空间 A1 ……………

【转】主流PHP框架间的比较(Zend Framework,CakePHP,CodeIgnit...

2019独角兽企业重金招聘Python工程师标准>>> 【转】主流PHP框架间的比较&#xff08;Zend Framework&#xff0c;CakePHP&#xff0c;CodeIgniter&#xff0c;Symfony&#xff0c;ThinkPHP&#xff0c;FleaPHP&#xff09; 2011年08月14日 星期日 12:51 转载自 leol…

如何利用业务时间提升自我

转载于:https://www.cnblogs.com/helloIT/articles/5140273.html

ping得通外网,上得了QQ,游戏,却打不开网页。

操作系统&#xff1a;win7_64bit 下午帮我小艾优化电脑&#xff0c;不知道把什么插件给卸载了。 她回来以上就上不了网&#xff0c;我首先ping网关&#xff0c;DNS&#xff0c;外网&#xff0c;都通。 登QQ正常。 我的思路&#xff1a; 先把Socket套字结相关的卸载掉就是&#…

WebGIS中一种根据网格索引判断点面关系的方法

文章版权由作者李晓晖和博客园共有&#xff0c;若转载请于明显处标明出处&#xff1a;http://www.cnblogs.com/naaoveGIS/。 1.背景 判断点面关系的算法有很多&#xff0c;在我之前的博文中有一篇专门对其进行了描述&#xff1a;判断点是否落在面中的Oracle存储过程描述。其中提…