سلام به همه دوستان منطقه لینوکسی ها. در این مقاله یاد میگیرید چطور پهنای باند لازم رو برای مکالمات ویپ محاسبه کنید. ضمن تشکر از مهندس تهرانی پور که این مقاله رو تهیه دیدن شما رو به مطالعه این مقاله دعوت میکنم.
یکی از نکات مهم در در طراحی سیستم Voip پهنای باند مورد نیاز آن می باشد، به طوری که محدودیت پهنای باند، باعث قطع شدن مکالمه ها نشود.
در یک سیستم VoIP در گام اول ابتدا صدا به حالت دیجیتال در آمده، سپس فشرده می شود و در نهایت به صورت بسته های دیتا ارسال می شوند. این بسته ها باید بدون تاخیر زیاد، به گیرنده برسند تا تماسی موفق با رضایت طرفین مکالمه داشته باشیم. در سمت گیرنده دوباره این بسته ها به شکل آنالوگ در می آید و برای کاربر پخش می شوند.
در برقراری یک ارتباط تلفنی، عمل نمونه برداری یا Sampling از صدا صورت می گیرد. به طور معمول صدایی به طول تقریبی 10 تا 20 میلی ثانیه در بسته دیتا جهت ارسال قرار می گیرد. البته کدک های مختلفی تعریف شده اند که هر کدام استاندارد خاص خود را به منظور نمونه برداری و ارسال صدا تعریف کرده اند.
بسته به نوع کدک مورد استفاده در انتقال صدا، بسته های VoIP مدتی را در سمت گیرنده منتظر می مانند تا کار بافر شدن آن ها به حد تعیین شده برسد. با رسیدن حجم بسته ها در بافر سمت گیرنده به اندازه تعیین شده، صدا در سمت دیگر پخش خواهد شد.
تاخیر صدا، در حالت ایده آل باید به گونه ای باشد که شنونده متوجه آن نشود. چنانچه مقدار تاخیر از حدی فراتر رود، ادامه مکالمه میسر نخواهد بود. چنانچه تاخیر صدا بیش از 200 میلی ثانیه شود، مکالمه تلفنی را از حالت مطلوب خارج می کند.
برای بالا بردن کیفیت VoIP می توان سیگنال دیجیتال شده صوت را قبل از بسته بندی با کدک های خاصی فشرده کرد. این کدک ها باعث می شوند حجم دیتای منتقل شده و در نتیجه پهنای باند کاهش و بنابراین سرعت انتفال آن ها افزایش یابد. کیفیت صدا در این کدک ها نسبت به گم شدن بسته های صوتی در شبکه دیتا حساسیت بیشتری دارد. بنابراین انتخاب کدک یکی از عوامل مهم در طراحی شبکه تلفنی مبتنی بر IP می باشد.
مقدار پهنای باند لازم برای مکالمات VoIP به فاکتورهای متعددی بستگی دارد که می توان به موارد زیر اشاره کرد :
کدک (Codeck) :
کلمه Codec از تلفیق دو کلمه Coder-Decoder ساخته شده است. تبدیل موج آنالوگ به دیجیتال، پروسه فشرده سازی را کدک (Codec) گویند. کدک ها از امواج آنالوگ در فاصله های زمانی معین (time interval) نمونه برداری کرده و برای هر نمونه مقداری را اختصاص می دهند. در جدول زیر انواع کدک های صدا و برخی ویژگی های آن ها، آورده شده است.

کدک های پرکاربرد را بررسی می کنیم :
کدک G.711 :
کدک G.729 :
فرکانس نمونه برداری 8khz (یعنی 80 نمونه در هر 10 میلی ثانیه)
یک کدک استاندارد ITU با نرخ بیت پایین است .(8Kbps)
در بین کدک های موجود، بار پردازشی زیادی تحمیل می کند.
کیفیت مکالمه کمتری را در مقایسه با G.711 ارائه می کند.
نیاز به license دارد.
برای اطلاع بیشتر از انواع کدک ها می توانید به این لینک مراجعه کنید.
هدر IP :
”هدر IP” به سرآیند IP و UDP و RTP بسته ها اطلاق می شود.

Voice Payload تولید شده توسط کدک شامل دیتای صدا می شود.
UDP : این پروتکل 8 اکتت را اضافه می کند که وظیفه Route کردن به سمت مقصد را بر عهده دارد. همانطور که می دانید یک پروتکل Connectionless بوده و تضمینی برای رسیدن بسته نمی کند.
IP : شامل 20 اکتت می باشد که مسئول رساندن داده به مقصد است.
RTP : شامل 12 اکتت است که اجازه بازسازی نمونه ها با ترتیب درست را می دهد. همچنین مکانیزمی برای اندازه گیری jitter و delay ارائه می کند.
در مجموع هدر های IP/UDP/RTP مقدار ثابت 40 اکتت را به عنوان سرایند اضافه می کند.
البته قابل ذکر است که روش هایی برای کاهش سربار هدر های IP وجود دارند که می توان به CRTP یا RTP فشرده شده اشاره کرد. البته این مسئله به صورت گسترده پیاده سازی نشده است و انتظار می رود در آینده استفاده از آن بیشتر شود.
وسیله ارتباطی :
اغلب انتقال های ارتباطی VoIP از طریق اترنت انجام می شود. همانطور که در شکل زیر مشاهده می کنید، در بسته های اترنت به ترتیب 8 اکتت را به Ethernet Preamble و 14 اکتت بعدی برای آدرس MAC مبدا و مقصد، 4 اکتت هم برای CRC و در نهایت 12 اکتت هم به عنوان Gap در نظر گرفته می شود.
نتیجه نهایی به عنوان سربار اترنت 38 اکتت خواهد بود.
Silence Suppression :
پروسه عدم انتقال اطلاعات، هنگام سکوت یکی از طرفین مکالمه است. این عملیات با استفاده از مبحث Voice Activity Detection (VAD)، پهنای باند لازم برای مکالمه را تا مقدار زیادی کاهش می دهد.
محاسبه پهنای باند :
مثال اول :
کدک G.711 – 64Kbps و دوره زمانی نمونه ها 20 ms .
1 فریم به ازای هر بسته (20ms)
هدر IP استاندارد
وسیله ارتباطی اترنت

رابطه های زیر را برای به دست آوردن مقادیر نهایی استفاده می کنیم :
در هر 20 میلی ثانیه 1 بسته فرستاده می شود پس در هر ثانیه 50 بسته می فرستیم. (20ms * 50 = 1s)
Payload بدین صورت به دست می آید :
در مجموع خواهیم داشت :
بنابر این پهنای باند مورد نیاز برابر است با :
مثال دوم :
کدک G.729a – 8Kbps و دوره زمانی نمونه ها 10 ms
2 فریم به ازای هر بسته (20ms)
هدر IP استاندارد
وسیله ارتباطی اترنت

در هر 20 میلی ثانیه یک بسته فرستاده می شود پس در هر ثانیه 50 بسته می فرستیم.
Payload بدین صورت به دست می آید :
در مجموع خواهیم داشت :
بنابر این پهنای باند مورد نیاز برابر است با :
در شکل زیر انواع کدک های موجود به همراه پهنای باند لازم (با توجه به مقادیر فرضی طبق مثال های ارائه شده ) آورده شده است.

ابزار های مفید برای محاسبه پهنای باند:
Asterisk Guru:

RHEID:

BandCalc:

VoIP Bandwidth calc:
نرم افزار نسخه گوشی های آیفون برای محاسبه پهنای باند

نویسنده : سهیل تهرانی پور
یکی از نکات مهم در در طراحی سیستم Voip پهنای باند مورد نیاز آن می باشد، به طوری که محدودیت پهنای باند، باعث قطع شدن مکالمه ها نشود.
در یک سیستم VoIP در گام اول ابتدا صدا به حالت دیجیتال در آمده، سپس فشرده می شود و در نهایت به صورت بسته های دیتا ارسال می شوند. این بسته ها باید بدون تاخیر زیاد، به گیرنده برسند تا تماسی موفق با رضایت طرفین مکالمه داشته باشیم. در سمت گیرنده دوباره این بسته ها به شکل آنالوگ در می آید و برای کاربر پخش می شوند.
در برقراری یک ارتباط تلفنی، عمل نمونه برداری یا Sampling از صدا صورت می گیرد. به طور معمول صدایی به طول تقریبی 10 تا 20 میلی ثانیه در بسته دیتا جهت ارسال قرار می گیرد. البته کدک های مختلفی تعریف شده اند که هر کدام استاندارد خاص خود را به منظور نمونه برداری و ارسال صدا تعریف کرده اند.
بسته به نوع کدک مورد استفاده در انتقال صدا، بسته های VoIP مدتی را در سمت گیرنده منتظر می مانند تا کار بافر شدن آن ها به حد تعیین شده برسد. با رسیدن حجم بسته ها در بافر سمت گیرنده به اندازه تعیین شده، صدا در سمت دیگر پخش خواهد شد.
تاخیر صدا، در حالت ایده آل باید به گونه ای باشد که شنونده متوجه آن نشود. چنانچه مقدار تاخیر از حدی فراتر رود، ادامه مکالمه میسر نخواهد بود. چنانچه تاخیر صدا بیش از 200 میلی ثانیه شود، مکالمه تلفنی را از حالت مطلوب خارج می کند.
برای بالا بردن کیفیت VoIP می توان سیگنال دیجیتال شده صوت را قبل از بسته بندی با کدک های خاصی فشرده کرد. این کدک ها باعث می شوند حجم دیتای منتقل شده و در نتیجه پهنای باند کاهش و بنابراین سرعت انتفال آن ها افزایش یابد. کیفیت صدا در این کدک ها نسبت به گم شدن بسته های صوتی در شبکه دیتا حساسیت بیشتری دارد. بنابراین انتخاب کدک یکی از عوامل مهم در طراحی شبکه تلفنی مبتنی بر IP می باشد.
مقدار پهنای باند لازم برای مکالمات VoIP به فاکتورهای متعددی بستگی دارد که می توان به موارد زیر اشاره کرد :
- نوع کدک
- هدر IP
- وسیله ارتباطی (اترنت)
- Silence Suppression
کدک (Codeck) :
کلمه Codec از تلفیق دو کلمه Coder-Decoder ساخته شده است. تبدیل موج آنالوگ به دیجیتال، پروسه فشرده سازی را کدک (Codec) گویند. کدک ها از امواج آنالوگ در فاصله های زمانی معین (time interval) نمونه برداری کرده و برای هر نمونه مقداری را اختصاص می دهند. در جدول زیر انواع کدک های صدا و برخی ویژگی های آن ها، آورده شده است.
کدک های پرکاربرد را بررسی می کنیم :
کدک G.711 :
- فرکانس نمونه برداری 8khz
- یک کدک استاندارد با Bitrate بالا می باشد. (64 Kbps)
- استفاده از این کدک بهترین کیفیت صدا را ممکن می سازد. این نکته قابل ذکر است که از این کدک در خطوط PSTN نیز استفاده می شود لذا کیفیت تماس ها مانند خطوط تلفن معمولی خواهد بود.
- همچنین کمترین latency را داراست که در نتیجه بار پردازشی کمتری را تحمیل می کند.
- نیاز به license ندارد.
- اما با همه این مزیت ها، مشکلی که پیش روی ما می گذارد نیاز به پهنای باند بالا است.
کدک G.729 :
فرکانس نمونه برداری 8khz (یعنی 80 نمونه در هر 10 میلی ثانیه)
یک کدک استاندارد ITU با نرخ بیت پایین است .(8Kbps)
در بین کدک های موجود، بار پردازشی زیادی تحمیل می کند.
کیفیت مکالمه کمتری را در مقایسه با G.711 ارائه می کند.
نیاز به license دارد.
برای اطلاع بیشتر از انواع کدک ها می توانید به این لینک مراجعه کنید.
هدر IP :
”هدر IP” به سرآیند IP و UDP و RTP بسته ها اطلاق می شود.
Voice Payload تولید شده توسط کدک شامل دیتای صدا می شود.
UDP : این پروتکل 8 اکتت را اضافه می کند که وظیفه Route کردن به سمت مقصد را بر عهده دارد. همانطور که می دانید یک پروتکل Connectionless بوده و تضمینی برای رسیدن بسته نمی کند.
IP : شامل 20 اکتت می باشد که مسئول رساندن داده به مقصد است.
RTP : شامل 12 اکتت است که اجازه بازسازی نمونه ها با ترتیب درست را می دهد. همچنین مکانیزمی برای اندازه گیری jitter و delay ارائه می کند.
در مجموع هدر های IP/UDP/RTP مقدار ثابت 40 اکتت را به عنوان سرایند اضافه می کند.
البته قابل ذکر است که روش هایی برای کاهش سربار هدر های IP وجود دارند که می توان به CRTP یا RTP فشرده شده اشاره کرد. البته این مسئله به صورت گسترده پیاده سازی نشده است و انتظار می رود در آینده استفاده از آن بیشتر شود.
وسیله ارتباطی :
اغلب انتقال های ارتباطی VoIP از طریق اترنت انجام می شود. همانطور که در شکل زیر مشاهده می کنید، در بسته های اترنت به ترتیب 8 اکتت را به Ethernet Preamble و 14 اکتت بعدی برای آدرس MAC مبدا و مقصد، 4 اکتت هم برای CRC و در نهایت 12 اکتت هم به عنوان Gap در نظر گرفته می شود.
نتیجه نهایی به عنوان سربار اترنت 38 اکتت خواهد بود.
Silence Suppression :
پروسه عدم انتقال اطلاعات، هنگام سکوت یکی از طرفین مکالمه است. این عملیات با استفاده از مبحث Voice Activity Detection (VAD)، پهنای باند لازم برای مکالمه را تا مقدار زیادی کاهش می دهد.
محاسبه پهنای باند :
مثال اول :
کدک G.711 – 64Kbps و دوره زمانی نمونه ها 20 ms .
1 فریم به ازای هر بسته (20ms)
هدر IP استاندارد
وسیله ارتباطی اترنت
رابطه های زیر را برای به دست آوردن مقادیر نهایی استفاده می کنیم :
کد PHP:
(PPS = (codec bit rate)/ (voice payload size
Bandwidth = total packet size * PPS
Payload بدین صورت به دست می آید :
کد PHP:
64000 / 50 = 1.280 bit => 1.280 bits / 8 = 160 octet
40 octet - ip سربار
38 octet - سربار اترنت
کد PHP:
160 + 40 + 38 = 238 octet
کد PHP:
238 * 50 * 8 = 95.2 kbps
مثال دوم :
کدک G.729a – 8Kbps و دوره زمانی نمونه ها 10 ms
2 فریم به ازای هر بسته (20ms)
هدر IP استاندارد
وسیله ارتباطی اترنت
در هر 20 میلی ثانیه یک بسته فرستاده می شود پس در هر ثانیه 50 بسته می فرستیم.
کد PHP:
20ms * 50 = 1s
کد PHP:
8000 / 50 = 160 bit => 160 bits / 8 = 20 octet
40 octet - ip سربار
38 octet - سربار اترنت
کد PHP:
20 + 40 + 38 = 98 octet
کد PHP:
98 * 50 * 8 = 39.2 kbps
ابزار های مفید برای محاسبه پهنای باند:
Asterisk Guru:
کد PHP:
http://www.asteriskguru.com/tools/bandwidth_calculator.php
RHEID:
کد PHP:
http://voip.rheid.com/voip-faqs/voip-bandwidth-calculator.html
BandCalc:
کد PHP:
http://www.bandcalc.com/
VoIP Bandwidth calc:
کد PHP:
https://itunes.apple.com/us/app/voip-bandwidth-calc/id373034918?mt=8
نویسنده : سهیل تهرانی پور