بدون قانون، سنگ روی سنگ بند نمیشود! نهتنها در جامعه، بلکه در دنیای اینترنت و شبکه هم به قوانینی برای اطمینان از عمکلرد درست اجزا نیازمندیم.
پروتکل همان سازوکاری است که نیاز به قانون در شبکه را برطرف میکند. در واقع، میتوان گفت پروتکل قانونی است که برای بقای شبکهها وضع شده است و اگر نبود، هیچوقت کامپیوترها به هم وصل نمیشدند.
در این مقاله میفهمیم پروتکل چیست و چطور در شبکه کار میکند. همچنین با برخی از مهمترین پروتکلها و وظایف آنها آشنا خواهیم شد. ابتدا بیایید تعریف آن را بررسی کنیم.
پروتکل چیست؟
اگر موافق باشید، برای اینکه معنی پروتکل (Protocol) را بهتر درک کنید، یک مثال خارج از موضوع بزنیم!
فرض کنید به یک سفر خارجی رفتهاید؛ مثلاً آلمان. وقتی به یک فروشگاه میروید و میخواهید با فروشنده آلمانی زبان ارتباط بگیرید، نه شما آلمانی بلدید و نه طرف مقابل شناختی از زبان فارسی دارد! به همین خاطر، دست به دامان یک زبان سوم میشوید.
از آنجایی که در اکثر نقاط دنیا، زبان انگلیسی بهعنوان زبان بینالمللی شناخته میشود، انتظار میرود که هر دو طرف برای ارتباط گرفتن با یکدیگر، از این زبان استفاده کنند. میتوان گفت استفاده از زبان انگلیسی، یک توافق بینالمللی برای ارتباط گرفتن افراد با زبانهای مختلف است.
منظور از پروتکل نیز چنین چیزی است. پروتکل مجموعهای از قوانین هستند که برای بررسی و پردازش دادهها مورد استفاده قرار میگیرند.
بگذارید اینطور بگوییم، پروتکل زبان مشترک بین کامپیوترهای حاضر روی شبکه است! گرچه هرکدام از آنها دارای سختافزارها، نرمافزارها و حتی سیستمعاملهای مختلف هستند، اما با کمک پروتکلهایی که از قبل تعریفشدهاند، میتوانند با هم ارتباط داشته باشند.
شاید معروفترین پروتکلی که همه میشناسیم، IP باشد. این عبارت مخفف Internet Protocol است و وظیفه ایجاد ارتباط بین دو یا چند دستگاه روی شبکه را برعهده دارد. جلوتر راجعبه پروتکلهای مختلف و کاربردهایشان بیشتر صحبت خواهیم کرد.
قبل از آن، بیایید ببینیم آیا میتوان از چند پروتکل بهصورت همزمان استفاده کرد یا نه؟
پیشنهاد خواندنی: آی پی چیست؟ کاربرد انواع IP به زبان ساده |
Protocol Suite چیست؟
بله! استفاده از چند پروتکل بهصورت همزمان امکانپذیر است. حتی در بسیاری از مواقع، یک ضرورت بهحساب میآید.
منظور از Protocol Suite، مجموعهای از پروتکلهای ارتباطی است که در کنار یکدیگر، برای انتقال اطلاعات روی شبکه، مورد استفاده قرار میگیرند.
یکی از معروفترین Protocol Suiteها، ترکیب IP و TCP است که به آن TCP/IP گفته میشود. عملیات با این ترکیب در چهار لایه انجام میشود:
- Application
- Transport
- Internet
- Network Access
لایه اول شامل پروتکلهایی است که به اپلیکیشنها خدمات ارائه میکنند.
لایه دوم شامل پروتکلهایی است که برای انتقال داده به شکلهای مختلف کاربرد دارند. (TCP در این لایه قرار دارد.)
لایه سوم شامل پروتکلهایی است که وظیفه هدایت و آدرسدهی سرویسها را برعهده دارند.( IP در این لایه است.)
لایه چهارم شامل پروتکلهایی است که چگونگی انتقال داده در شبکه را مشخص میکنند.
ممکن است کمی گیج شده باشید! اصلاً جای نگرانی نیست، هرچه جلوتر برویم، درک این مفاهیم برایتان راحتتر خواهد شد.
اگر موافق باشید، کمی در موضوع عمیق شویم.
پیشنهاد خواندنی: پروتکل FTP چیست و چه فرقی با SFTP دارد؟ |
نحوه کار پروتکل در شبکه چگونه است؟
همانطور که گفتیم، از پروتکلها برای ایجاد ارتباط بین اجزای مختلف شبکه و جابهجایی داده در آن استفاده میشود. برای اینکه بفهمیم پروتکلها چطور میتوانند این کار را انجام دهند، لازم است با مدل OSI آشنا شویم.
برای بررسی کامل و پرداختن به جزئیات این مدل، نیازمند مقاله دیگری خواهیم شد. خوشبختانه قبلاً چنین مطلبی را نوشتهایم که میتوانید آن را با عنوان «مدل OSI چیست» در وبلاگمان پیدا کنید. با توجه به این موضوع، به جزئیات نمیپردازیم؛ اما لازم است به برخی از نکات مهم اشارهای داشته باشیم.
مدل OSI، ساختار شبکههای کامپیوتری را به ۷ لایه تقسیم میکند. در هرکدام از این لایهها، چند پروتکل فعالیت میکنند تا در نهایت کار انتقال داده بهدرستی انجام شود.
۷ لایه این مدل عبارتند از:
- لایه Physical: پروتکلها در این لایه، داده خام را روی کانالهای فیزیکی جابهجا میکنند.
- لایه Datalink: در این لایه، فرمت داده روی شبکه مشخص میشود.
- لایه Network: مسیر عبوری دادهها روی شبکه، در این لایه معلوم میشود.
- لایه Transport: کار انتقال دادهها در این لایه انجام میشود. با پروتکلهایی مثل TCP و UDP.
- لایه Session: نگهداری و محافظت از اتصالات و همچنین کنترل پورتها، برعهده پروتکلهای این لایه است.
- لایه Presentation: کار رمزنگاری دادهها در این لایه انجام میشود. پروتکلهای این لایه از قابلاستفاده بودن فرمت داده اطمینان حاصل میکنند.
- لایه Application: ارتباط میان انسان و کامپیوتر در این لایه صورت میگیرد. پروتکلهای لایه اپلیکیشن، کمک میکنند تا اپلیکیشن بتواند به سرویسهای مختلف شبکه دسترسی پیدا کند.
پروتکلها، انجام این فرایندها را در هر لایه ممکن میکنند. در واقع، آنها فرایند انتقال را به وظایف کوچکتری تقسیم میکنند که در لایههای مختلف مدل OSI انجام میگیرند.
برای مثال، پروتکل IP که متعلق به لایه سوم یا Network است، دادهها را با شناسایی مبدا و مقصد آنها، در شبکه هدایت میکند. با کمک این پروتکل، ارتباط بین دستگاههای شبکههای مختلف ممکن میشود؛ به همین خاطر است که IP مربوط به لایه شبکه است.
بد نیست که به TCP هم اشاره کنیم. این پروتکل وظیفه دارد تا از انتقال درست دادهها در شبکه اطمینان حاصل کند. احتمالاً میتوانید حدس بزنید که این پروتکل در لایه چهارم یا Transport کار میکند؛ چراکه در زمینه نقلوانتقال داده کاربرد دارد.
نکته: معمولاً در هر لایه، بیش از ۱ لایه وجود دارند که انجام فرایندها را میسر میکنند.
در بخش بعدی، با جزئیات بیشتری راجعبه پروتکلها صحبت خواهیم کرد و با انواع مختلفی از آنها آشنا خواهیم شد.
پیشنهاد خواندنی: SSH چیست؟ آشنایی با ۰ تا ۱۰۰ پروتکل SSH |
انواع پروتکلها در شبکه
دستهبندیهای متفاوتی برای پروتکلها تعریف شدهاند. ما تصمیم گرفتیم در این قسمت از مقاله، پروتکلها را به پروتکلهای لایه شبکه، اینترنت و روتر تقسیم کنیم. با ما همراه باشید تا با پروتکلهای هرکدام بیشتر آشنا شوید.
پروتکلهای لایه شبکه
بالاتر خواندید که یکی از پروتکلهای این لایه، IP معروف و شناختهشده است؛ اما همانطور که اشاره کردیم، بیش از ۱ پروتکل در هر لایه فعالیت دارند! دیگر پروتکلهای لایه شبکه عبارتند از:
IPsec
گفتیم IP مخفف Internet Protocol است. sec هم که در ادامه آن آمده است، از کلمه Security بهمعنای امنیت گرفته شده است. وظیفه IPsec ساخت اتصالات رمزنگاریشده و معتبر در VPNها است!
البته ناگفته نماند، IPsec از نظر فنی یک پروتکل مستقل محسوب نمیشود؛ بلکه متشکل از مجموعهای پروتکلها، مثل ESP (Encapsulating Security Protocol)، AH (Authentication Header) و SA (Security Associations) است.
ICMP
پروتکل ICMP، مخفف Internet Control Message Protocol است! وظیفه این پروتکل چیست؟
ICMP، گزارش خطاها را بههمراه آپدیت دائمی وضعیت بستههای داده ارائه میکند. مثلاً اگر روتر نتواند یک بسته را به مقصد برساند، یک پیام ICMP به منبع ارسال خواهد شد.
IGPM
IGPM مخفف Internet Group Management Protocol است!
همانطور که از نام آن مشخص است، این پروتکل اتصال یک شبکه به چندین شبکه دیگر را ممکن میکند. بهعبارتی دیگر، ارسال همزمان داده از یک مبدا به چندین مقصد، با کمک IGMP امکانپذیر خواهد بود. تعداد زیادی از کامپیوترها میتوانند بستههای داده را از یک آدرس IP دریافت کنند.
پیشنهاد خواندنی: پروتکل SSL چگونه کار میکند؟ نگاهی عمیقتر به SSL |
پروتکلهای لایه اینترنت
برخی از مهمترین پروتکلهای مورد استفاده روی اینترنت، عبارتند از:
TCP
در بالا به این پروتکل اشاره کردیم. پروتکلی که در لایه Transport قرار دارد. وظیفه آن انتقال داده بهشکلی مطمئن در شبکه است. گفتیم TCP معمولاً در ترکیب با IP استفاده میشود. به همین خاطر، به این Protocol Suite ایجادشده، TCP/IP هم میگویند.
HTTP
این پروتکل را میتوان زیربنای شبکه جهانی اینترنت دانست! Hypertext Transfer Protocol که با نام HTTP شناخته میشود، روزانه توسط میلیونها و میلیاردها کاربر استفاده میشود. وظیفه اصلی این پروتکل، ایجاد ارتباط بین دستگاههای مختلف روی شبکه است.
HTTP به لایه هفتم مدل OSI، یعنی لایه Application تعلق دارد؛ چراکه داده را به فرمتی تبدیل میکند که اپلیکیشنهای نهایی (مثلاً یک مرورگر) بتوانند مستقیماً از آن استفاده کنند.
HTTPS
بزرگترین مشکل HTTP این بود که دادهها در آن رمزنگاری نمیشدند و به همین خاطر، امکان وقوع نشتهای امنیتی بسیار بالا بود. هر هکری، میتواند خیلی راحت به پیامهای HTTP دسترسی پیدا کند و آنها را بخواند.
برای رفع این مشکل، نسخه پیشرفته HTTP، یعنی HTTPS معرفی شد که در آن دادهها رمزنگاری میشوند. حرف S که به انتهای HTTP اضافه شده است، از کلمه Secure به معنای ایمن گرفته شده است.
پیشنهاد خواندنی: پروتکل https چیست؟ چه فرقی با HTTP دارد و چرا به آن نیاز داریم؟ |
TLS/SSL
پرووتکل HTTPS برای رمزنگاری دادهها، از یک پروتکل دیگر کمک میگیرد. این پروتکل با نام TLS شناخته میشود که مخفف Transport Layer Security است.
نسخه قدیمیتر این پروتکل رمزنگاری، SSL نام داشت که بهخاطر برخی ایرادات اصلاح شد و TLS جایگزین آن شد. SSL مخفف Secure Sockets Layer است.
UDP
پروتکل TCP را که در ابتدای این بخش معرفی کردیم خاطرتان است؟ UDP هم درست مثل TCP، وظیفه انتقال دادهها روی شبکه را به دوش میکشد. با سرعتی بسیار بیشتر از همتای خود؛ اما برخلاف TCP، پروسه انتقال با این پروتکل، چندان اطمینانبخش نیست!
احتمالاً میپرسید که چرا باید سراغ پروتکلی رفت که مطمئن نیست؟!
خب همانطور که گفتیم، سرعت انتقال داده با UDP بسیار بیشتر است. در سرویسهایی که سرعت بسیار حائز اهمیت است، مثل استریم ویدیو و بازی، UDP بهمیزان قابلتوجهی کارآمدتر از TCP عمل میکند.
پروتکلهای روتر
روترها برای پیدا کردن بهترین مسیر انتقال، از برخی پروتکلهای مشخص کمک میگیرند. توجه داشته باشید که نمیتوان از این پروتکلها، جهت انتقال داده کاربران استفاده کرد.
اگر بخواهیم مهمترین پروتکلهای روتر را معرفی کنیم، موارد زیر جزو لیست ما خواهند بود.
BGP
یکی از رایجترین پروتکلهایی که مورد استفاده روترها قرار میگیرد، BGP نام دارد. این عبارت مخففBorder Gateway Protocol است. لایه هفتم مدل OSI یا لایه اپلیکیشن، جایی است که این پروتکل در آن فعالیت میکند.
خیلی ساده بگوییم، این پروتکل به روتر کمک میکند تا بفهمد بستههای داده، در مسیر رسیدن به مقصد، از کدام شبکهها باید عبور کنند.
EIGRP
بهترین راه برای رفتن به آمل از تهران، جاده هراز است! همانطور که برای رسیدن به هر شهری از شهری دیگر، راهی ایدئال وجود دارد، یک مسیر ایدئال برای دسترسی به هر روتر نیز موجود است.
EIRGP که مخفف Enhanced Interior Gateway Routing Protocol است که در عمل فاصله بین روترها را مشخص میکند.
همچنین بهصورت خودکار، مسیر دستیابی به هر روتر را مشخص میکند و آن را در اختیار روترهای دیگر شبکه قرار میدهد.
OSPF
وظیفه این پروتکل، شناسایی کارآمدترین و سریعترین مسیرهای موجود روی هر شبکه است! تفاوت OSPF با EIGRP این است که دومی بهترین مسیر دستیابی به هر روتر را مشخص میکند، اما اولی کل مسیرهای شبکه را رصد و بهترین آنها را مشخص میکند.
OSPF مخفف Open Shortest Path First است و محاسبهاش را بر اساس فاکتورهای مختلفی مثل فاصله و پهنای باند انجام میدهد.
RIP
این پروتکل کمی قدیمی است و احتمالاً حالا خیلی از آن استفاده نمیشود. نام کامل آن،Routing Information Protocol است. وظیفه آن هم مشخص کردن فاصله بین روترها است.
این پروتکل در لایه هفتم مدل OSI یا لایه Network فعالیت میکند.
خب تا اینجا فهمیدیم پروتکل چیست و چگونه عمل میکند. همچنین با برخی از مهمترین پروتکلها هم آشنا شدیم.
خوب است بدانید که برخی از هکرها، برای پیادهسازی عملیات خرابکارانه خود از همین پروتکلها کمک میگیرند!
چگونه از پروتکل در حملات سایبری استفاده میشود؟
هر روزی که میگذرد، کلی شیوه جدید برای اجرای حملات سایبری اختراع میشود. اولیهترین اقدامی که میتوانید برای مقابله با این حملات انجام دهید، بالا بردن آگاهی و دانش است.
هکرها میتوانند از نحوه عملکرد برخی از پروتکلها برای دستیابی به اهداف شومشان استفاده کنند. برای مثال، بسیاری از این پروتکلها، در اجرای حملات DDoS، عصای دست هکر میشوند و به او کمک میکنند.
اگر میخواهید با این نوع هک بیشتر آشنا شوید، میتوانید مقاله «حمله DDoS چیست و چگونه انجام میشود» را بخوانید.
اجازه دهید مثالی دیگر برایتان بزنیم و موضوع را باز کنیم.
در حملات SYN Floods، هکر از نحوه عملکرد Protocol Suite معروف، یعنی TCP/IP سوءاستفاده میکند.
کارکرد پروتکل TCP به این شکل است که وقتی کامپیوتری میخواهد به سروری متصل شود، بستهای با نام SYN به سرور میفرستد. سرور درخواست را با ارسال یک بسته SYN-ACK پاسخ میدهد. در نهایت هم کامپیوتر بسته ACK را به سرور برمیگرداند تا اتصال شکل بگیرد. این سازوکار پروتکل TCP است.
در حملات SYN Floods، هکر حجم بسیار زیادی از بستههای SYN را به سمت سرور میفرستد؛ اما اجازه نمیدهد پاسخ بسته SYN-ACK که همان بسته ACK است به سرور بازگردانده شود. به همین خاطر، درخواست باز میماند.
با انجام این کار و ارسال حجم زیاد بستههای SYN، منابع سرور درگیر میشوند و امکان پاسخگویی به کاربران مجاز وجود نخواهد داشت. در نتیجه این اقدام، سرور مشغول رسیدگی به کلی درخواست ناتمام میشود و سرعتش بسیار کاهش پیدا میکند یا حتی ممکن است بهطور کامل پایین بیاید.
به این ترتیب، هکرها از پروتکل TCP برای اجرای یکی از رایجترین انواع حملات DDoS، جهت آسیب زدن به یک وبسایت، سرور یا شبکه استفاده میکنند.
این هم از این. وقت جمعبندی هرآنچه گفتیم است.
پروتکلها: مجموعه قوانینی که شبکهها را میسازند!
وقتی هیچ کامپیوتر و سروری نتواند با کامپیوتر و سرور دیگری ارتباط برقرار کند، اینترنت چه معنایی خواهد داشت؟ بگذارید اینطور بپرسیم، آیا امکان ساخت شبکه بدون ارتباط بین سرورها و دستگاهها وجود دارد؟ قطعاً خیر!
خوشبختانه پروتکلها ایجاد شدند تا این مشکل برطرف شود. زبانهای مشترکی که کامپیوترها برای ایجاد ارتباط از آنها بهره میبرند.
در این مقاله فهمیدیم پروتکل چیست و چرا در دنیای شبکه اهمیت دارد. همچنین، چند مورد از رایجترین آنها را در لایههای شبکه، اینترنت و روتر شناختیم.
در نهایت هم دیدیم که چطور میتوان از پروتکل برای طرحریزی حملات سایبری استفاده کرد.
امیدواریم از خواندن این مقاله نهایت استفاده را برده باشید؛ اگر سؤالی در این زمینه دارید، در قسمت کامنتها برایمان بنویسید.
منابع: Solarwinds | Cloudflare
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید