جلسه دوم
موضوع: جلسه دوم CCNA Collaboration – پروتکل H.323
پروتکل H.323
H.323 یک توصیه از بخش استانداردسازی مخابرات یا همان ITU که پروتکل هایی را برای session های صوتی-تصویری در شبکه های مبتنی بر پکت ارائه میکند. استاندارد H.323 سیگنالینگ، کنترل تماس، انتقال و کنترل مالتی مدیا و کنترل پهنای باند برای کنفرانس های point-to-point و multi-point را مورد بررسی قرار میدهد.
این استاندارد به صورت گسترده توسط تولید کنندگان تجهیزات صوتی و ویدئو کنفرانس، در برنامه های مختلف اینترنتی real-time و توسط ارائه دهندگان خدمات و شرکت ها برای سرویس های صوتی و تصویری از طریق شبکه های مبتنی بر IP استفاده میشود.
این استاندارد، بخشی از سری پروتکل های ITU-T H.32x است که ارتباطات چندرسانه ای از طریق PSTN، ISDN، SS7 و یا شبکه های تلفن همراه 3G را پوشش میدهد.
سیگنالینگ تماس H.323 براساس پروتکل Q.931 پیشنهادی ITU است و برای انتقال تماس ها در سراسر شبکه با استفاده از ترکیبی از IP، PSTN، ISDN، QSIG over ISDN مناسب است. یک مدل تماس، مشابه مدل تماس ISDN، ورود تلفن IP را به شبکه های موجود سیستم های PBX مبتنی بر ISDN را آسان میکند.
اولین نسخه H.323 توسط ITU در نوامبر 1996 با تاکید برای فعالسازی قابلیت های ویدئو کنفرانس بروی یکشبکه LAN منتشر شد، اما به سرعت توسط صنعت به عنوان وسیله ای برای انتقال ارتباطات صوتی از طریق اینترنت مورد استفاده قرار گرفت.
در طول سالها، H.323 بارها با ارتقاءهای لازم جهت بهبود عملکرد صوتی و تصویری در شبکه های Packet-Switched، مورد تجدید نظر قرار گرفت. با تشخیص اینکه H.323 نه تنها در شبکه های LAN، بلکه در شبکه های WAN برای برقراری ارتباط استفاده میشود، عنوان H.323 هنگاام انتشار در سال 1998 تغییر کرد. عنوانی که نسخه فعلی تایید شده H.323 در سال 2009 با نام Packet-Based Multimedia Communications System است و از آن زمان تاکنون بدون تغییر باقیمانده است.
H.323 یک مشخصه سیستمی است که استفاده از چندین پروتکل ITU-T و IETF را توصیف میکند. پروتکل هایی که هسته تقریبا هر سیستم مبتنی بر H.323 را تشکیل میدهند عبارتند از:
- H.225.0 ثبت، پذیرش و وضعیت (RAS)، که بین H.323 پایانی و یک Gatekeeper برای ارائه یافتن آدرس و سرویس های کنترل پذیرش قرار میگیرد.
- H.225.0 سیگنالینگ تماس، که بین دو H.323 به منظور برقراری تماس براساس Q.931 قرار میگیرد.
- H.245 پروتکل کنترلی برای ارتباطات مالتی مدیا است که پیام ها و روش های استفاده شده برای تبادل، باز کردن و بستن کانال ها برای صوت و تصویر و داده، کنترل و علائم را شرح میدهد.
- Real-Time Transport Protocol (RTP) که برای ارسال و دریافت اطلاعات مالتی مدیا (صوت، تصویر یا متن) بین مبدا و مقصد استفاده میشود.
بسیاری از سیستم های H.323 همچنین پروتکل های دیگری را که در توصیه های مختلف ITU-T تعریف شده اند پیاده سازی میکنند تا خدمات تکمیلی را پشتیبانی کرده یا قابلیت های دیگری را توسط آنها به کاربرانشان ارائه دهند. برخی از این توصیه ها شامل H.235 برای امنیت، H.239 برای ویدئو کنفرانسینگ، H.450 برای سرویس های تکمیلی، H.460 و … .
H.323 از کدک های تعریف شده توسط ITU و کدک های خارج از تعاریف ITU استفاده میکند. کدک هایی که به طور گسترده توسط تجهیزات H.323 پیاده سازی میشوند عبارتند از:
- کدک های صوتی: G.711، G.729 (شامل G.729a)، G.723.1، G.726، G.722، G.728، Speex، AAC-LD
- کدک های متنی: T.140
- کدک های ویدئویی: H.261، H.263، H.264 و H.265
تمام ترمینال های H.323 که ارتباطات ویدئویی را ارائه میدهند، باید قادر به کدینگ و دی-کدینگ ویدئو مطابق H.261 QCIF باشند.
تمام ترمینال های H.323 باید یک کدک صوتی داشته باشند و قادر به کدینگ و دی-کدینگ صوت مطابق ITU-T Rec. G.711 باشند.
تمام ترمینال های باید قادر به انتقال و دریافت A-law و μ-law باشند.
پشتیبانی از سایر کدک های صوتی و تصویری اختیاری است.
معماری H.323
سیستم H.323 چندین عنصر شبکه را تعریف میکند که برای ارائه قابلیت های ارتباطی چندرسانه ای مطلوب با هم کار میکنند. این عناصر عبارتند از: ترمینال ها، Multipoint Control Unit (MCU)ها، Gatewayها، Gatekeeperها و عناصر مرزی. در مجموع، ترمینال ها، MCUها و Gatewayها اغلب نقاط پایانی یا endpoint نامیده میشوند.
H.323 از TCP 1720 استفاده میکند.
در حالیکه همه عناصر مورد نیاز نیستند، حداقل دو ترمینال مورد نیاز است تا بتوان ارتباط بین دو نفر را فعال کرد. در بیشتر پیاده سازی های H.323، یک Gatekeeper به منظور تسهیل آدرس دهی استفاده میشود.
عناصر شبکه H.323
ترمینال ها
ترمینال ها در یک شبکه H.323 اساسی ترین عناصر در هر سیستم H.323 هستند، زیرا دستگاه هایی هستند که کاربران معمولا با آنها روبرو میشوند. آنها ممکن است در قالب یک IP Phone ساده یا یک سیستم ویدئو کنفرانس قدرتمند با وضوح بالا باشد.
درون ترمینال H.323 چیزی وجود دارد که به عنوان protocol stack شناخته میشود که عملکرد تعریف شده توسط سیستم H.323 را پیاده سازی میکند. Protocol Stack شامل پیاده سازی پروتکل های پایه تعریف شده در توصیه های ITU-T H.225.0 و H.245 و همچنین RTP یا سایر پروتکل های شرح داده شده قبل میباشد.
تصویر زیر، یک استک کامل را نمایش میدهد که از صدا، ویدئو و اشکال مختلف دیتا پشتیبانی میکند. در حقیقت، بیشتر سیستم های H.323 چنین طیف گسترده ای از قابلیت ها را اجرا نمیکنند، اما این ترتیب منطقی برای درک روابط مفید است.
Multipoint Control Unit ها
یک Multiple Control Unit (MCU) مسئول مدیریت کنفرانس های بین چند نقطه را برعهده دارد و دو نهاد منطقی تشکیل شده است که به آنها Multipoint Controller (MC) و Multipoint Processor (MP) گفته میشود. از نظر کاربردی تر، MCU یک پل کنفرانسی است که بدون شباهت با پل های کنفرانسی مورد استفاده در PSTN نیست. با این حال، مهمترین تفاوت این است که MCU های H.323 علاوه بر میکس صوتی که توسط موارد ستنی انجام میشود، قادر به انجام میکس های تصویری نیز باشد. معنای این برای کاربر نهایی این است که، با قرار دادن یک تماس ویدئویی در یک MCU H.323، کاربر ممکن است بتواند سایر شرکت کنندگان در کنفرانس را در کنار شنیدن صدای بقیه، ببیند.
Gateway ها
Gateway ها دستگاه هایی هستند که ارتباط بین شبکه های H.323 و سایر شبکه ها مانند PSTN یا ISDN را مقدور میسازند. اگر یکی از طرفین مکالمه، از ترمینالی استفاده کند که ترمینال H.323 نباشد، تماس باید از طریق یک gateway عبور کند تا هر دو طرف قادر به برقراری تماس باشند.
Gateway ها امروزه به طور گسترده ای مورد استفاده قرار میگیرند تا تلفن های PSTN قدیمی بتوانند با شبکه های بزرگ بین المللی H.323 ارتباط برقرار کنند. gateway های همچنین در داخل شرکت مورد استفاده قرار میگیرند تا IP Phone ها بتوانند از طریق بستر شبکه با کاربران در شبکه های PSTN ارتباط برقرار کنند.
Gateway ها همچنین به منظور فعال کردن دستگاه های ویدئو کنفرانس مبتنی بر H.320 و H.324 برای ارتباط با سیستم های H.323 استفاده میشوند. اکثر شبکه های تلفن همراه نسل سوم (3G) که امروزه مستقر شده اند از پروتکل H.324 استفاده میکنند و قادرند از طریق این دستگاه های gateway با ترمینال های مبتنی بر H.323 ارتباط برقرار کنند.
Gatekeeper ها
Gatekeeper یک جزء اختیاری در شبکه H.323 است که سرویس هایی برای ترمینال ها، gateway ها و MCU ها ارائه میدهد. این خدمات شامل ثبت endpoint ها، مشخص کردن آدرس ها، کنترل پذیرش، احرازهویت کاربران و موارد دیگر است.
Gatekeeper ها ممکن است طوری طراحی شوند که در یکی از دو حالت سینگالینگ به نام های direct routed و gatekeeper routed کار کنند. حالت direct routed کارآمدترین و گسترده ترین حالت است. در این حالت، endpoint ها از پروتکل RAS برای یادگیری IP آدرس endpoint مقصد استفاده میکند و تماس مستقیما با دستگاه مقصد برقرار میشود. در حالت gatekeeper routed همیشه سیگنالینگ تماس از gatekeeper عبور میکند. در حالی که روش دوم برای داشتن قدرت پردازش بیشتر به gatekeeper نیاز دارد، اما در عین حال این روش به gatekeeper کنترل کامل بروی تماس ها و توانایی ارائه خدمات تکمیلی به endpoint ها را میدهد.
Endpoint های H.323 بوسیله پروتکل RAS با gatekeeper ارتباط برقرار میکنند. به همین ترتیب، gatekeeper ها نیز برای ارتباط برقرار کردن با بقیه gatekeeper ها از پروتکل RAS استفاده میکنند.
مجموعه endpoint هایی که برای یک gatekeeper در H.323 ثبت شده اند zone نامیده میشود. این مجموعه از دستگاه ها، لزوما نباید توپولوژی فیزیکی مرتبطی داشته باشند. در عوض، یک zone ممکن است کاملا لاجیکال و به طور دلخواه توسط مدیر شبکه تعریف شده باشد.
Gatekeeper ها توانایی همسایگی با یکدیگر را دارند، به طوری که برقراری تماس بین zone ها میتواند انجام شود. همسایگی استفاده از طرح های شماره گیری مانند طرح شماره گیری جهانی را تسهیل میکند. برنامه های شماره گیری بین zone را تسهیل کرده به طوری که دو endpoint میتوانند در مناطق جداگانه با همدیگر ارتباط داشته باشند.
Border Element ها و Peer Element ها موجودیت های اختیاری شبیه gatekeeper هستند اما endpoint ها را مستقیما مدیریت نمیکنند و برخی از سرویس ها را ارائه میدهند که در پروتکل RAS شرح داده شده است. نقش های Border Element و Peer Element از طریق تعریف Administrative Domain قابل درک است.
Administrative Domain مجموعه ای از تمام مناطق است که تحت کنترل یک شخص یا سازمان واحد، مانند ارائه دهندگان خدمات (service provider) است. در شبکه service provider ممکن است صدها یا هزاران دستگاه های gateway، تلفن، ترمینال های ویدئویی یا سایر عناصر شبکه H.323 وجود داشته باشد. Service provider ممکن است دستگاه هایی را در داخل zone قرار دهد که آن را قادر میسازد تا همه دستگاه های تحت کنترل خود را به بهترین شکل مدیریت کند. تمام zone های یک service provider برای بقیه به عنوان یک Administrative Domain دیده میشود.
Border Element یک نهاد سیگنالینگ است که معمولا در لبه Administrative Domain قرار میگیرد و با بقیه Administrative Domain ها ارتباط برقرار میکند. این ارتباط ممکن است شامل مواردی مانند اطلاعات مجوز دسترسی، اطلاعات قیمت تماس یا دیگر اطلاعات مهم برای برقراری ارتباط بین دو Administrative Domain باشد.
Peer Element ها موجودیت هایی در داخل Administrative Domain هستند که کم و بیش کمک به انتشار اطلاعات آموخته شده از Border Element میکند. چنین معماری در نظر گرفته شده است تا پیاده سازی وسیع در شبکه های حامل را فعال کرده و سرویس هایی مانند رومینگ را ارائه میدهد.
شکل زیر تصویری از یک Administrative Domain با Border Element، Peer Element و gatekeeper را نمایش میدهد.
سیگنالینگ در شبکه H.323
H.323 به عنوان یک پروتکل باینری تعریف میشود که امکان پردازش کارآمد پیام در عناصر شبکه را فراهم میکند. سینتکس این پروتکل در ASN.1 تعریف شده است و از روش Packed Encoding Rules (PER) بروی سیم استفاده میکند. در زیر مروری بر جریان های مختلف ارتباطی در سیستم های H.323 آمده است.
سیگنالینگ RAS
Endpoint ها برای ارتباط با gatekeeper از پروتکل RAS استفاده میکنند. gatekeeper ها نیز برای ارتباط با یکدیگر از همین پروتکل بهره میبرند. RAS یک پروتکل نسبتا ساده است که فقط از چند پیام تشکیل شده است. برای مثال:
- Gatekeeper request, reject and confirm messages (GRx)
- Registration request, reject and confirm messages (RRx)
- Unregister request, reject and confirm messages (URx)
- Admission request, reject and confirm messages (ARx)
- Bandwidth request, reject and confirm message (BRx)
- Disengage request, reject and confirm (DRx)
- Location request, reject and confirm messages (LRx)
- Info request, ack, nack and response (IRx)
- Nonstandard message
- Unknown message response
- Request in progress (RIP)
- Resource availability indication and confirm (RAx)
- Service control indication and response (SCx)
زمانی که یک endpoint روشن شده باشد، معمولا یک پیام gatekeeper request (GRQ) برای پیدا کردن gatekeeper هایی که مایل به ارائه سرویس هستند ارسال میکند. پس از آن gatekeeper ها پیام gatekeeper confirm (GCF) را ارسال کرده و endpoint یک gatekeeper را برای کار کردن انتخاب میکند. از طرف دیگر، ممکن است یک gatekeeper در تنظیمات سیستمی در دستگاه از پیش تعیین شده باشد، در این حالت، نیازی به یافتن gatekeeper مناسب نیست.
زمانی که endpoint، gatekeeper خود را تعیین کرد، برای رجیستر شدن پیام registration request (RRQ) را ارسال میکند و پس از آن gatekeeper در پاسخ پیام registration confirm (RCF) را ارسال میکند. در این مرحله، endpoint برای شبکه شناخته میشود و میتواند تماس برقرار کند.
زمانی که endpoint میخواهد تماس برقرار کند، یک admission request (ARQ) برای gatekeeper ارسال میکند. سپس gatekeeper آدرس مقصد را (یا به صورت locally یا بوسیله پرسیدن از gatekeeper های دیگر یا از طریق پرسیدن از شبکه های بیرونی) بدست آورده و در قالب پیام admission confirm (ACF) برای endpoint مبدا ارسال میکند. سپس endpoint میتواند تماس را برقرار کند.
پس از دریافت تماس، endpoint مقصد برای دریافت مجوز دریافت تماس ورودی یک ARQ ارسال و یک ACF دریافت میکند. این کار برای مواردی مانند احرازهویت دستگاه تماس گیرنده، یا برای اطمینان از این که پهنای باند کافی برای ایجاد تماس وجود دارد ضروری است. شکل زیر یک تبادل ارتباطی سطح بالا بین دو endpoint و دو gatekeeper را نمایش میدهد.
سیگنالینگ تماس H.225.0
زمانیکه آدرس endpoint مقصد بدست آمد، endpoint مبدا از سیگنالینگ تماس H.225.0 برای برقراری ارتباط با مقصد استفاده میکند. پیام های H.225.0 عبارتند از:
- Setup و Setup acknowledge
- Information
- Status و Status Inquiry
- Call Proceeding
- Release Complete
- Notify
- Contact
- Facility
- Alerting
- Progress
در ساده ترین حالت، یک تماس H.323 ممکن است به صورت زیر برقرار شود.
در این مثال، endpoint سمت چپ، ارتباط را با gateway در سمت راست برقرار میکند و gateway تماس برقرار شده را متصل میکند. در عمل، جریان تماس مقداری پیچیده تر از آنچه نشان داده شده میباشد، اما اکثر تماس هایی که از روش های اتصال سریع تعریف شده در H.323 استفاده میکنند، میتوانند تنها با 2 یا 3 پیام ایجاد شوند. Endpoint ها ممکن است gatekeeper خود را (در صورتی که از gatekeeper استفاده شود) از تماس برقرار شده مطلع سازند.
پس از اتمام تماس، دستگاه پیغام Release Complete را ارسال میکند. سپس endpoint باید به gatekeeper (در صورتیکه از آن استفاده شود) اطلاع دهد که تماس به پایان رسیده است.
کنترل تماس H.245
هنگامی که یک تماس شروع میشود (نه تماسی که لزوما به طور کامل متصل شده باشد)، endpoint ها ممکن است سیگنالینگ کنترل تماس H.245 را برای ارائه کنترل گسترده بر کنفرانس شروع کنند. H.245 یک مشخصه نسبتا بزرگ با بسیاری از پردازش هاست که ارتباط بین چندین نقطه را کاملا فعال میکند، هرچند در عمل، بیشتر پیاده سازی ها تنها برای ارتباط دو نقطه ارتباطی صدا و تصویر انجام میشود.
H.245 قابلیت هایی مانند، مذاکره، تعیین master/slave، باز و بسته کردن logical channel ها (مانند جریان های صدا و تصویر)، کنترل جریان و کنترل کنفرانس را دارد. H.245 از ارتباطات Unicast و Multicast پشتیبانی میکند، به این ترتیب از نظر تئوری، اندازه کنفرانس میتواند بدون محدودیت افزایش یابد.
از بین قابلیت هایی ارائه شده توسط H.245، قابلیت مذاکره، یکی از بهترین آنهاست، زیرا دستگاه ها را قدار میسازد بدون اطلاع قبلی از قابلیت های مقصد با آنها ارتباط برقرار کند. H.245 قابلیت های مالتی مدیا غنی، از جمله ارتباطات صوتی، تصویری و متنی داده را فعال میکند. برای انتقال صدا، تصویر یا متن، دستگاه های H.323 از کدک های تعریف شده توسط ITU و کدک های خارج از ITU استفاده میکنند. کدک هایی که تجهیزات H.323 به طور گسترده ای از آنها استفاده میکنند عبارتند از:
کدک های ویدئویی: H.261، H.263 و H.264
کدک های صوتی: G.711، G.729، G.729a، G.723.1، G.726
کدک های متنی: T.140
H.245 همچنین امکان کنفرانس دیتا real-time از طریق پروتکل هایی مانند T.120 را فراهم میکند. برنامه هایی که مبتنی بر T.120 کار میکنند معمولا موازی با سیستم H.323 عمل مینمایند، اما یکپارچه شده اند تا تجربه مالتی مدیا چندرسانه ای یکپارچه را در اختیار کاربر قرار دهند. T.120 قابلیت هایی مانند به اشتراک گذاری برنامه T.128، تخته وایت برد الکترونیکی T.126، انتقال فایل T.127 و چت متنی T.134 را در چهارچوب کنفرانس ارائه میدهد.
هنگامی که دستگاه H.323 ارتباط با دستگاه مقصد H.323 را آغاز میکند، زمانیکه ارتباط H.245 بین دو قسمت برقرار میشود، پیام Terminal Capability Set (TCS) اولین پیامی است که به طرف دیگر منتقل میشود.
پس از ارسال پیام TCS، H.323 از طریق تبادل H.245، سعی میکند تعیین کند کدام دستگاه master و کدام slave است. این فرآیند، که به آن Master/Slave Determination (MSD) گفته میشود، مهم است، زیرا master در یک تماس، تمام اختلاف های بین دو دستگاه را حل میکند. به عنوان مثال، اگر هر دو نقطه پایانی، سعی کنند جریان های مدیای ناسازگر را باز کنند، این master است که برای رد جریان ناسازگار اقدام میکند.
هنگامی که قابلیت ها رد و بدل میشوند، و مراحل MSD به پایان میرسد، دستگاه ها ممکن است logical channel ها یا جریان های مدیا را باز کنند. این کار به سادگی با ارسال یک پیام Open Logical Channel (OLC) و دریافت پیام تایید انجام میشود. پس از دریافت پیام تایید، یک endpoint ممکن است صدا یا تصویر را برای endpoint دیگر ارسال کند.
یک تبادل H.245 معمول شبیه تصویر زیر است.
پس از تبادل این پیام ها، هر دو endpoint در این تصویر میتوانند صوت را منتقل کنند. تعداد مبادله پیام ها زیاد است، هر کدام یک هدف مهم دارند، اما با این وجود این تبادل زمان بر است.
به همین دلیل، H.323 ورژن 2 (منتشر شده در سال 1998)، مفهومی به نام Fast Connect را معرفی کرد که به دستگاه امکان میدهد جریان های مدیا دو طرفه را به عنوان بخشی از روش های برقراری تماس H.225.0 ایجاد کند. با Fast Connect، میتوان تماسی با مدیا دو طرفه که بیش از دو پیام نیاز ندارند برقرار کرد.
Fast Connect بطور گسترده ای در صنعت پشتیبانی میشود. با این وجود، اکثر دستگاه ها، همچنان تبادل کامل H.245 را پیاده سازی میکنند و این تبادل پیام را به صورت موازی با بقیه فعالیت ها انجام میدهند، بنابراین هیچ تاخیر قابل توجه ای در طرف تماس گیرنده یا تماس گرفته شده وجود ندارد.
H.323 و سرویس VoIP
VoIP انتقال صدا را با استفاده از اینترنت یا دیگر شبکه های مبتنی بر پکت، توصیف میکند. توصیه H.323 از ITU-T یکی از استانداردهای استفاده شده در VoIP است. VoIP نیاز به اتصال به اینترنت یا شبکه مبتنی بر پکت دیگر، اشتراک در سرویس VoIP و یک کلاینت (یک ATA (Analogue Telephone Adaptor، تلفن VoIP یا soft phone) دارد. استفاده از VoIP بین دو شبکه بزرگ لزوما به ارائه دهنده خدمات VoIP نیاز ندارد. H.323 به طور گسترده توسط شرکت هایی که مایل به برقراری ارتباط با خارج از شبکه خود بروی بستر IP هستند به کار گرفته شده است.
IAX2 تبادل بین Asterisk، یک پروتکل دودویی، طراحی شده برای کاهش سربار به ویژه در مورد جریان های صوت است. تعریف شده در RFC 5456.
IETF استانداردی به نام Session Initiation Protocol (SIP) تولید کرده که همچنین امکان برقراری ارتباط صوتی و تصویری از رطیق IP را فراهم میآورد.
Jingle (Jabber/ افزنه XMPP) همچنین ویدئو و صدا را از طریق IP ممکن میکند.
برخی ارائه دهندگان (مانند اسکایپ) نیز از قالب های اختصاصی خود استفاده میکنند.
Access Grid عملکرد مشابهی را با تاکید بیشتر بر open-source و استفاده از Multicast ارائه میدهد.
EVO عملکرد نسبتا بازی را از رطیق جاوا ارائه میدهد و شامل پشتیبانی از H.323 میباشد.
برای دیدن فهرست مطالب دوره CCNA Collaboration اینجا کلیک کنید.