اطلاعات و داده ها درواقع مهم ترین سرمایه هر کسب و کاری می باشد که حفظ امنیت و نحوه انتقال آن ها بسیار حائز اهمیت است. از این رو همواره شرکت ها و سازمان ها در تلاش اند تا راهی پیدا کنند که ضمن حفظ امنیت بستر انتقال، بتوانند به بهترین شیوه ارتباطی این اطلاعات را ارسال کنند. ما در این مقاله قصد دار یم تا شما را با پروتکل SCTP که یک پروتکل انتقال می باشد آشنا سازیم و پس از معرفی این پروتکل در مورد جوانب گوناگون آن صحبت کنیم. با ما تا انتهای این مقاله همراه باشید.
اگر کار شبکه انجام می دهید و یا به این حوزه علاقه دارید توصیه می کنیم به مجله اینترنتی مسترشبکه مراجعه کنید، زیرا می توانید مقالات زیادی در هر زمینه ای مرتبط با شبکه، تجهیزات شبکه، تجهیزات پسیو، نحوه کانفیگ، نحوه بارگذاری، برقراری امنیت و .. را مطالعه کنید.
پروتکل SCTP چیست:
SCTP که مخفف Stream Control Transmission Protocol است به معنی پروتکل انتقال کنترل جریان است. این پروتکل شبکه یک پروتکل اتصال گرا است که می تواند چندین جریان را به طور همزمان بین دو نقطه پایانی در شبکه کامپیوتری برقرار سازد.
برای انتقال داده به صورت قابل اعتماد و متوالی می توانید از پروتکل SCTP استفاده کنید. این پروتکل به شما تضمین می دهد که واحدهای ارسال شده همچون فایل، رکورد و .. از طریق شبکه به طور کامل و با ترتیب مناسب به کاربر و یا هر برنامه ای به نقطه پایانی برسد.
این پروتکل یک پروتکل ارتباطی شبکه است که در لایه انتقال IP قرار دارد، اگر بخواهیم بیشتر در این رابطه توضیح دهیم می توان گفت که پروتکل SCTP در ابتدا برای انتقال پیام سیستم سیگنالینگ 7 در مخابرات مورد استفاده قرار می گرفت که به اختصار به SS7 شهرت داشت. از طرفی پروتکل SCTP ویژگی های پیام گرا پروتکل UDP را نیز برایتان فراهم می کند از این رو می تواند جایگزین خوبی برای این پروتکل باشد.
پروتکل SCTP با کنترل تراکم و ترافیک، از انتقال متوالی و مطمئن پیام ها اطمینان حاصل می کند و با پشتیبانی از مسیرهای اضافی می تواند قابلیت اطمینان و انعطاف پذیری را بالا بیرد. این پروتکل بعد از انتشار در FreeBSD نسخه 7 به طور گسترده مورد استفاده قرار گرفت و در پلتفرم های دیگر تعبیه شد.
پروتکل SCTP چگونه کار می کند:
پروتکل SCTP، داده ها را برای انتقال در پیام ها در گروه های بایت قرار می دهد (TCP داده ها را در یک جریان جداگانه قرار می دهد که به آن بایت گفته می شود)، سپس به لایه انتقال پروتکل SCTP ارسال می کند. SCTP پیام ها و اطلاعات کنترلی را در تکه های جداگانه (تکه های داده و تکه های کنترلی) قرار می دهد که هر کدام با یک هدر قطعه مشخص می شوند. این پروتکل می تواند یک پیام را به چند تکه داده تقسیم کند، اما هر تکه داده حاوی داده هایی از یک پیام کاربر است.
پروتکل SCTP تکه ها را در بسته های SCTP دسته بندی می کند. بسته SCTP، به پروتکل اینترنت (آدرس IP) ارسال می شود، هدر هر بسته از تکه های کنترل SCTP (در صورت لزوم) و به دنبال آن تکه های داده SCTP (در صورت وجود) تشکیل شده است.
به بیان دیگر پروتکل SCTP به عنوان یک اتصال دوطرفه، امکان ارسال و دریافت داده ها را به طور همزمان فراهم می کند. داده ها به صورت تکه ای و به صورت مرتب در یک جریان مستقل تحویل داده می شوند، در حالی که داده ها را از جریان های مختلف جدا می کنند.
بنابراین، مسدود کردن سر خط، که اغلب با TCP اتفاق می افتد را حذف می کند. این پدیده زمانی رخ می دهد که یکی از بسته ها توسط اولین بسته نگه داشته می شود و در نتیجه عملکرد شبکه را محدود می کند و همچنین اتصالات نیمه بسته را نیز فعال می سازد.
مقایسه پروتکل SCTP با TCP و UDP:
پروتکل انتقال کنترل جریان که جز پروتکل لایه انتقال می باشد تقریبا می توان گفت وظیفه ای مشابه پروتکل های TCP و UDP را دارد. پروتکل SCTP برخی از ویژگی های دو پروتکل گفته شده را ارائه می دهد، بدین صورت که مانند UDP، مبتنی بر پیام و قابل اطمینان است و همانند TCP، در بخش انتقال پیام، از قابلیت کنترل ترافیک استفاده می کند. تفاوت این پروتکل با دو پروتکل ذکر شده دیگر، در بحث ایجاد مسیر های اضافی و چند شاخه ای و همچنین افزایش اطمینان و قابلیت توسعه پذیری می باشد.
اگر پروتکل SCTP توسط سیستم عامل پشتیبانی نشود، این امکان وجود دارد که با استفاده از تونلینگ Tunneling، از SCTP بر روی UDP استفاده کنیم. همانند MAPPING TCP API
برنامه های کاربردی SCTP، داده ها را برای ارسال به صورت پیام به لایه انتقال SCTP، تحویل می دهند. همچنین این پروتکل، پیام ها و اطلاعات کنترلی را به صورت دو بخش جداگانه قرار می دهد که هر کدام توسط هدر آن بخش شناسایی می شود و حتی این پروتکل می تواند پیام ها را نیز بخش بخش کند، که در آن صورت هر بخش تنها شامل داده های مربوط به یک کاربر می باشد و سپس SCTP این بخش ها را به صورت مجموعه ای در می آورد و به بسته (پکیج) SCTP تبدیل می کند.
بنابراین بسته ی SCTP که به پروتکل اینترنت تحویل داده می شود، شامل هدر بسته، بخش کنترل SCTP (در صورت نیاز) و بخش داده SCTP (زمانی که در دسترس باشد) می باشد.
همانندUDP، در SCTP نیز فرستنده پیام را در یک بخش ارسال می کند و آن پیام نیز توسط برنامه دریافت و در یک بخش پردازش می شود. در مقابل، TCP پروتکلی جریان گرا (مبتنی بر جریان داده ای) است که جریانی از بایت ها را به صورت مطمئن و پشت سر هم ارسال می کند. البته TCP این امکان را به گیرنده نمی دهد که از تعداد دفعاتی که فرستنده به آن درخواست ارسال کرده است، مطلع شود.
همچنین در سمت فرستنده، TCP چندین بایت به صف بایت های در حال ارسال اضافه می کند. اصطلاح multi-streaming نیز به قابلیت و ظرفیت SCTP برای ارسال چندین جریان داده ای مستقل به صورت موازی با هم اطلاق می شود.
TCP در هر بخش با اختصاص دادن شماره به بایت ها، آن ها را به ترتیب پشت سر هم نگه می دارد که در مقابل، SCTP به هر پیام ارسال شده توسط جریان، یک شماره اختصاص می دهد. درواقع ارائه این پروتکل ها بر روی تجهیزات شبکه ای که وظیفه مبادله اطلاعات را دارند همچون سرور، سوئیچ، روتر و .. یکی از تاثیرگذارترین پیشرفت ها در عصر تکنولوژی امروز به شمار می آید.
بیشتر بدانید: تفاوت میان پروتکل TCP و UDP
ویژگی های پروتکل SCTP:
- انتقال قابل اعتماد جریان داده های مرتب و نامرتب
- پشتیبانی Multihoming که در آن یک یا هر دو نقطه پایانی اتصال میتواند از بیش از یک آدرس IP تشکیل شده باشد که امکان شکست شفاف بین مسیرهای شبکه اضافی را فراهم میکند.
- تحویل تکهها در جریانهای مستقل و حذف انسداد غیرضروری head-of-line بر خلاف تحویل جریان بایت TCP
- قابلیت اطمینان جزئی صریح
- انتخاب مسیر و نظارت برای انتخاب مسیر انتقال داده اولیه و تست اتصال مسیر انتقال
- با مکانیسم های اعتبار سنجی و تأیید از داده ها در برابر حملات محافظت می کند و اطلاعات مربوط به تکه های داده تکراری یا گم شده را ارائه می دهد.
- خطای بهبود یافته و مناسب برای فریمهای جامبو اترنت تشخیص می دهد.
Multihoming در SCTP چیست؟
در سیستم های مخابراتی تاخیر زمانی وجود دارد و این سازمان شدیدا مستعد در این زمینه است. Multihoming دارای این قابلیت است که سیستم هایی را با چندین رابط قادر می سازد تا از یکی بر دیگری بدون نیاز به انتظار استفاده کنند.
پشتیبانی پروتکل SCTP از Multihoming به این معنی است که یک نقطه پایانی متصل (مقصد نهایی) می تواند آدرس های IP جایگزین مرتبط با آن را داشته باشد. به زبان ساده، قابلیت Multihoming به توانایی ارسال داده به یک آدرس IP جایگزین است که این اگر به هر علتی آدرس IP اولیه مسدود و یا غیر قابل دسترس بود، داده به نقطه پایان و مقصد برسد. بنابراین، پروتکلSCTP می تواند مسیرهای ارتباطی متعددی را بین دو نقطه پایانی ایجاد کند که یکی از مزیت های این پروتکل نسبت به پروتکل های مشابه به شمار می رود.
در راه اندازی Multihoming، رابط اولیه و ثانویه وجود دارد. در حین برقراری ارتباط، یک فرآیند تأیید ضربان قلب وجود دارد که آدرس ها را تأیید می کند و همچنین یک محاسبه زمان رفت و برگشت (RTT) برای هر آدرس اینترنت حفظ می کند. RTT ارتباطات را قادر می سازد تا بتوانند به یک رابط ثانویه منتقل شوند.
در پروتکل SCTP دارا بودن قابلیت multihoming به نقطه پایانی این امکان را می دهد تا در مورد خرابی شبکه یا تغییر شرایط مذاکره کند. همچنین failover شفاف بین مسیرهای شبکه اضافی را فعال می کند. از دیگر موارد قابل بحث این است که، برای انعطاف پذیری به لایه IP متکی نیست.
جریان داده ها در پروتکل SCTP به چه صورت است:
همان طور که قبلا توضیح دادیم، پروتکل SCTP دارای یک جریان جداگانه است. که به آن بایت می گویند. اگر در هنگام انتقال داده ها، داده ای از بین برود یا اشتباه و خطایی رخ دهد، عملیات انتقال تا ارسال مجدد آن داده و یا خارج شدن آن از ترتیب داده ها به تعویق می افتد.
Multihoming که از قابلیت های این پروتکل ارتباط به شمار می رود، داده ها را در جریان های مستقل و متعددی قرار می دهد که موجب می گردد در صورت از بین رفتن داده ها در جریان اصلی ارسال، تاثیر منفی نداشته باشد.
مزایای پروتکل SCTP:
- مرورگرهای وب تنها می توانند به دو اتصال وصل شوند، این پروتکل با داشتن چند جریان می تواند این محدودیت را از بین ببرد.
- برای جلوگیری از سنگین شدن بار سرور، کاربر می تواند جریان های اضافی را حذف کند و فضای کافی برای چندین اتصال به وجود بیاید.
- تاخیر کلی را کاهش می دهد.
- با داشتن قابلیت Multihoming امکان اتصال چند ابزار ارتباطی همچون صدا، تصویر و .. به طور همزمان به وجود می آید.
- قابلیت Multihoming و Multi-Streaming از مزیت های این پروتکل است.
- امنیت بالایی ارائه می دهد
- تخصیص منابع در زمان راه اندازی
جمع بندی:
ما در این مقاله سعی کردیم تا اطلاعات کاملی درباره پروتکل SCTP ارائه دهیم و با مقایسه این پروتکل با پروتکل های ارتباطی مشابه تا حد زیادی نحوه کار آن ها را از یکدیگر تمیز دهیم. از این که نظرات خود در رابطه با پروتکل SCTP با ما در میان می گذارید پیشاپیش سپاسگزاریم. جهت بررسی و مطالعه سایر مقالات و آشنایی با دیگر پروتکل ها به مجله مسترشبکه مراجعه کنید.
برای مشاهده ویدئو تفاوت میان پروتکل TCP و UDP بر روی لینک کلیک کنید |
1 نظر در “پروتکل SCTP چیست”
با خوندن این مقاله، راغب شدم بقیه مطالبتون هم بخونم. خیلی جالب و مفید بود.