برای آموزش رایگان ویپ به زبان اصلی می توانید از سایت های زیر استفاده کنید:
آموزش 110:IP Telecommunication:Voip and All-IP Networking
پروتکل RTP و RTCP چیست؟
در واقع RTP برای استاندارد سازی ساختار بسته برای ارسال صدا و تصویر تحویل داده شده بر روی اینترنت تعریف شده است. این پروتکل اولین بار توسط گروه کاری انتقال صدا و تصویر سازمان IETF در قالب استاندارد RFC 1889 در سال 1996 استاندارد سازی شده و توسط استاندارد RFC 3550 در سال 2003 کامل گردیده است.
سرویس تحویل نقطه به نقطه برای یک ترافیک بلادرنگ بوسیله این پروتکلها برای صدا و تصویر ارائه می شود و همچنین این پروتکلها بر روی پروتکل UDP و در پارهای از اوقات بر روی پروتکل TCP کار می کنند و هیچ ضمانتی برای تحویل بسته ارائه نمی دهند .
طراحی اولیه این پروتکل ها برای فرآیند multicast (پخشی) بوده که از طریق ای فرآیند بتوانند داده های multimedia (صوت و تصویر) را ارسال کنند.
اگر بخواهیم از زاویه دیگری به موضوع بنگریم پروتکل RTP از دو بخش تشکیل شده است:
· RTP : بخشی که وظیفه حمل دیتا را بعهده دارد.
· RTCP : بخشی که وظیفه ما کنترل کیفیت سرویس و حمل اطلاعات جانبی انتقال را بعهده دارد. 2- RTP
RTP پروتکل انتقالی است که احتیاجات انتقال صدا و سایر داده های بلادرنگ را در نظر می گیرد. RTP می تواند داده را بصورت پیوسته و پشت سرهم انتقال دهد ودر تحویل داده ها به مقصد در فرآیند Multicast و ارائه گزارش از تحویل آن (delivery) کارائی محسوس و قابل توجهی دارد. RTP قابلیت حمل بلادرنگ دادههایی را دارد که TCP ندارد. داده هایی مانند صوت،ویدئو و ….
RTP پروتکلی است که برای کار مستقل تحت نظارت لایه انتقال طراحی شده، در واقع این پروتکل برای مدل هفت لایه OSI طراحی شده است.
نکات اصلی در مورد RTP
- حمل داده با ویژگیهای بلادرنگ
- ساده ترین کنفرانس صدا Multicast
- Audio and Video Conference
- بالا بردن قابلیت multicast،unicast از 2 مشتری تا بینهایت
- ارائه همزمان سازی داخلی: حذف jitterها
- ارائه همزمان سازی بین صدا وتصویر
ساختار RTP
این پروتکل در لایه کاربری قرار دارد در واقع در میان لایه کاربردی وانتقال و تحت نظر لایه انتقال بروی TCP و UDP کار می کند.
در مورد RTP یک سری کارهایی وجود دارد که به آن نسبت می دهند ولی در حقیقت همه آن مسائل درست نیست. از جمله این کارها می توان به موارد زیر اشاره کرد.
- تعریف فرمتmedia data
- راه اندازی تنظیمات ارتباط-connection setups
- راه اندازی رزرو منابع-resource reservation
- گارانتی تحویل به موقع و کیفیت سرویس-QOS
که به ترتیب در مورد 2 و 3 نیاز به پروتکلهای SIPیا H323 وRSVPمی باشد.
Packet header
کمترین طول packet header ،12 می باشد و بخشهای آن به صورت زیر تعریف می شوند. 2-4-1- Ver
2 بیت که مشخص کننده version پروتکل است. 2-4-2- (P (Padding
1 بیت که برای نشان دادن لایه خارجی در انتهای packet استفاده می شود. 2-4-3- (X (Extension
1 بیت که برای توسعهheader بین فرمت استاندارد و payload data استفاده می شود. 2-4-4- (CC (CSRC Count
4 بیت است که شامل شماره csrc مورد نظر می شود. 2-4-5- (M (Marker
1 بیت که برای تعیین سطح کاربرد و تعریف profile استفاده می شود.
PT) Payload Type)
7بیت که برای مشخص کردن فرمت payload مورد استفاذه قرار می گیرد. 2-4-7- Sequence Number
که نشان دهندهی شماره بسته ها و توالی بسته های ارسالی است. 2-4-8- Timestamp
32 بیت که برای فعال کردن باز نواخت نمونه گرفته شده در گیرنده فعال می شود. 2-4-9- SSRC
32 بیت که برای همزمان سازی منابعی که بعنوان منابع مسیر مشخص شده، مورد استفاده قرار می گیرد.. 2-4-10- CSRC
مشخص کننده منابع کمکی در فعالیتهایی که نیاز به چند منبع می باشد. 3- RTCP
یک فعالیت پویا برای حمایت از کیفیت سرویس در RTP که تحت عنوان پروتکل RTCP بیان شده است.که این عمل از آغاز ارسال تا دریافت گزارش تحویل انجام می شود و می تواند برای تشخیص خطا نیز مورد استفاده قرار گیرد. RTCP در خود سطح انتقال معین و بالایی را برای منابع RTP نگه می دارد که قابل توجه است.
در مورد کاربردهای این پروتکل می توان به موارد قابل توجه زیر اشاره کرد.
- کنفرانس صوتی پخشی (multicast)
- برقراری اتصال مکالمه(Call connection)
- نمونه برداری صدا در مدت زمانی 20ms
- هر داده قابل توجه با هدر RTP بسته بندی می شود.
- بسته RTP در اطراف بسته UDP فعالیت می کند.
- از طریق شبکه ارسال می شود.
- گیرنده ها بسته ارسال شده را می گیرند و هدر RTP آن را تحلیل می کنند.
مورد استفاده در Mixers and Translators
از طریق منطبق کردن منابع شبکه این کار را انجام می دهد.در واقع MIXER ها اطلاعات را در پهنای بان کم ارسال می کنند و خطوط مدیا را با هم ترکیب می کنند.در مورد Translator ها هم می توان گفت که هدرهای بسته های RTP را برای شبکه های خصوصی کد گشائی می کنند.
شکل: استفاده Mixer و Translator از RTP 4-3- کیفیت و توزیع دیتا
این پروتکل در زمان بروز برخی مشکلات ارسال اطلاعات مانند از دست دادن بسته ها،ازدحام،jitter و زمان حمل، از راهکارهای زیر استفاده می کند.
- استفاده مستقیم برای کنترل در تطابق کدگذاری
- شناسائی مشکل چه محلی باشد چه سراسری
- آنالیز آماری در دوره بلند مدت و کوتاه مدت
نتیجه
بطور کلی می توان اینچنین گفت که دو پروتکل RTP و RTCP دو پروتکل جدا ناشدنی هستند که در کنار یکدیگر به فعالیت می پردازند. در واقع برخی این دو پروتکل را یک پروتکل می دانند که از دو بخش تشکیل شده است RTP بخش اصلی پروتکل و RTCP پخش کنترلی پروتکل محسوب میشود.
کارکردهای اصلی این دو پروتکل
- payload type identification
- sequence numbering
- time stamping
- delivery monitoring
- mixers & translators
منابع :
[1] RFC 1889: H. Schulzrinne et al, “RTP: A Transport Protocol for Real-Time Applications”
[2] RFC 3551 - http://tools.ietf.org/html/rfc3551
[3] http://www.itpapers.com/techguide/voiceip.pdf
[4] www.cs.columbia.edu/~hgs/rtp/papers.html
[5] RTP-http://en.wikipedia.org/wiki/Real-time_Transport_Protocol
[6] RTCP - http://en.wikipedia.org/wiki/RTCP