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进程状态解析之R、S、D、T、Z

From: http://bbs.hx95.com/read-htm-tid-208094-fpage-2.html R (TASK_RUNNING),可执行状态。 只有在该状态的进程才可能在CPU上运行。同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对…

[react] react父子组件如何通信?

[react] react父子组件如何通信? props 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

PAT 1100

1100. Mars Numbers (20) 时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YuePeople on Mars count their numbers with base 13: Zero on Earth is called "tret" on Mars.The numbers 1 to 12 on Earch is called "jan, feb, m…

安装linux的准备

首先,在安装linux系统之前应首先做到规划。因为,一个好的服务器,工作台,甚至是个人PC都必须要做到规划。因为这样可以做到以最少的花费实现更高的服务要求。这个很好理解,比如你做邮件服务器就必须要选择一个大的硬盘预…

printf如何输出64位整数

From: http://blog.csdn.net/zzqhost/article/details/6064886 关于printf函数输出64位数的问题,其实在window下和linux下是不一样的: linux下是 printf("%lld/n",a); printf("%llu/n",a); windows下是 printf("%I64d/n"…

[react] 在react中你是怎么进行状态管理的?

[react] 在react中你是怎么进行状态管理的? 使用React原生的ContextuseContext(可选的加上useReducer)使用redux react-redux redux-thunk使用mobx mobx-react 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定…

iOS UI-常用控件

1 #import "ViewController.h"2 3 interface ViewController ()<UITextFieldDelegate>4 5 // 标题标签6 property (strong, nonatomic) UILabel *titleLablel;7 // 分段控制器8 property (strong,nonatomic) UISegmentedControl *segment;9 // 开关标签10 prop…

天龙八部***核心代码

天龙八部***核心代码 信息来源&#xff1a;邪恶八进制信息安全团队&#xff08;www.eviloctal.com&#xff09; 文章作者&#xff1a;认真的雪 我也来凑凑热闹..... 发一个网游***核心代码...无聊的时候写的.. 截取了用户名&#xff0c;密码&#xff0c;等级&#xff0c;仓库密…

Linux常用错误码--errno-base.h

经常会需要用到错误码&#xff0c;但是它具体的值 是什么呢&#xff0c;往往不太清楚&#xff0c;所以在使用的时候非常不舒服&#xff0c;下面把linux平台下常用的错误码列了下。 我是Fedora12系统&#xff0c;找到的定义文件是&#xff1a;/usr/include/asm-generic/errno-b…

[react] react组件的state和props两者有什么区别?

[react] react组件的state和props两者有什么区别&#xff1f; State 是一种数据结构&#xff0c;用于组件挂载时所需数据的默认值。State 可能会随着时间的推移而发生突变&#xff0c;但多数时候是作为用户事件行为的结果。 Props(properties 的简写)则是组件的配置。props 由…

[react] react与angular、vue有什么区别?

[react] react与angular、vue有什么区别&#xff1f; Angular以前有接触过&#xff0c;我的感觉是&#xff0c;这不像React和Vue一样是构架补充库&#xff08;比如需要另外的全家桶来配合使用&#xff09;&#xff0c;它的功能非常完整&#xff0c;更像是一个框架&#xff0c;…

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…

南京Uber优步司机奖励政策(12月28日到1月3日)

滴快车单单2.5倍&#xff0c;注册地址&#xff1a;http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单&#xff1a;http://www.cnblogs.com/mfryf/p/4612609.html 优步奖励低/不挣钱/怎么办?看这里&#xff1a;http://www.cnblogs.com/mfry…

[react] 说说你对声明式编程的理解?

[react] 说说你对声明式编程的理解&#xff1f; 声明式编程 区别于命令式编程,它的特点就是我告诉计算机做什么,但是没有告诉你怎么做. 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌…

有谁用过sendinput摸拟一个鼠标击键?

我想用&#xff0c;但定义了MOUSEINPUT和INPUT结构&#xff0c;编译是时出现这个错误&#xff1a; E:\My document\VCprograms\13\13.cpp(152) : error C2065: MOUSEINPUT : undeclared identifier E:\My document\VCprograms\13\13.cpp(152) : error C2065: INPUT : undeclare…

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;而是记录我在…

[react] react有几种构建组件的方式?可以写出来吗?

[react] react有几种构建组件的方式&#xff1f;可以写出来吗&#xff1f; 1.无状态函数式组件 function HelloComponent(props, /* context */) { return <div>Hello {props.name}</div> } ReactDOM.render(<HelloComponent name"Sebastian" /&g…

随机存取存储器(RAM)

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

JAVA基础实例(三)--排序

冒泡排序 是一种简单的排序算法。它反复地走訪过要排序的数列&#xff0c;一次比較两个元素。假设他们的顺序错误就把他们交换过来。走訪数列的工作是反复地进行直到没有再须要交换&#xff0c;也就是说该数列已经排序完毕。这个算法的名字由来是由于越小的元素会经由交换慢慢“…

对象文件格式分析工具: objdump, nm,ar

From: http://blog.csdn.net/longxin007/article/details/1880477 前言 如果普通编程不需要了解这些东西&#xff0c;如果想精确控制你的对象文件的格式或者你想查看一下文件对象里的内容以便作出某种判断&#xff0c;刚你可以看一下下面的工具&#xff1a;objdump, nm, ar。…