پروتکل شبکه
پروتکل شبکه مجموعهای از قوانین است که قالببندی و پردازش دادهها را تعیین میکند. این قوانین مانند یک زبان مشترک برای کامپیوترها عمل میکنند. حتی اگر کامپیوترهای داخل یک شبکه از نرمافزارها و سختافزارهای متفاوتی استفاده کنند، پروتکلها به آنها اجازه میدهند که با یکدیگر ارتباط برقرار کنند.
پروتکلهای استاندارد شده مانند یک زبان مشترک هستند که کامپیوترها میتوانند از آن استفاده کنند. مثلاً دو نفر از نقاط مختلف جهان که زبان مادری یکدیگر را نمیدانند، میتوانند با استفاده از یک زبان مشترک سوم با هم صحبت کنند. اگر یک کامپیوتر از پروتکل اینترنت (IP) استفاده کند و یک کامپیوتر دیگر هم از این پروتکل استفاده کند، آنها میتوانند با هم ارتباط برقرار کنند. اما اگر یکی از آنها این پروتکل را نشناسد، نمیتوانند با هم ارتباط برقرار کنند.
پروتکلهای مختلف در اینترنت
در اینترنت، پروتکلهای مختلفی برای فرآیندهای مختلف وجود دارد. پروتکلها معمولاً بر اساس لایهای از مدل OSI که به آن تعلق دارند، مورد بحث قرار میگیرند.
لایههای مدل OSI چیست؟
مدل OSI یک چارچوب انتزاعی است که نحوه کار اینترنت را توضیح میدهد. این مدل شامل ۷ لایه است که هر لایه وظیفه خاصی در شبکه دارد.
هفت لایه مدل OSI به ترتیب از پایین به بالا به شرح زیر هستند:
- لایه فیزیکی (Physical Layer): این لایه به انتقال سیگنالهای الکتریکی، نوری یا رادیویی بین دستگاهها مربوط میشود.
- لایه پیوند داده (Data Link Layer): این لایه وظیفه تشخیص و اصلاح خطاهای موجود در لایه فیزیکی را بر عهده دارد و برای انتقال دادهها بین دستگاههای شبکه از MAC addresses استفاده میکند.
- لایه شبکه (Network Layer): این لایه مسئول مسیریابی دادهها از مبدأ به مقصد در شبکه است و از آدرسهای IP برای این کار استفاده میکند.
- لایه انتقال (Transport Layer): این لایه وظیفه انتقال دادهها از یک سیستم به سیستم دیگر را بر عهده دارد و تضمین میکند که دادهها بهطور صحیح و کامل منتقل شوند. پروتکلهای معروف مانند TCP و UDP در این لایه قرار دارند.
- لایه جلسه (Session Layer): این لایه مدیریت و حفظ ارتباطات بین برنامههای کاربردی را انجام میدهد و کنترل برقراری و پایان ارتباطات را بر عهده دارد.
- لایه نمایش (Presentation Layer): این لایه وظیفه تبدیل دادهها به فرمتهای قابل فهم برای لایههای بالاتر را بر عهده دارد، شامل رمزگذاری و فشردهسازی دادهها.
- لایه کاربرد (Application Layer): این لایه نزدیکترین لایه به کاربر است و خدمات شبکهای را برای برنامههای کاربردی فراهم میکند، مانند پروتکلهای HTTP، FTP، و SMTP.
هر لایه از مدل OSI یک دسته از عملکردهای مختلف شبکه را مدیریت میکند و پروتکلها این عملکردها را ممکن میسازند. برای مثال:
– پروتکل اینترنت (IP): مسئول مسیریابی دادهها است. این پروتکل تعیین میکند که بستههای داده از کجا میآیند و به کجا میروند. به همین دلیل، IP در لایه شبکه (لایه ۳) قرار دارد.
– پروتکل کنترل انتقال (TCP): تضمین میکند که دادهها به درستی از یک شبکه به شبکه دیگر منتقل شوند. به همین دلیل، TCP در لایه انتقال (لایه ۴) قرار دارد.
بسته: یک بخش کوچک از دادهها است که تمامی دادههای ارسال شده از طریق شبکه به این بستهها تقسیم میشوند.
همانطور که در بالا توضیح داده شد، IP یک پروتکل لایه شبکه است که مسئول مسیریابی است. اما تنها پروتکل لایه شبکه نیست.
پروتکلهای مهم شبکه
۱. IPSEC: این پروتکل برای رمزگذاری و تایید امنیت دادههای IP در شبکههای خصوصی مجازی (VPN) استفاده میشود. IPSEC شامل چندین پروتکل است، از جمله پروتکل امنیتی پنهانسازی (ESP)، هدر تأیید هویت (AH) و روابط امنیتی (SA).
۲. ICMP: این پروتکل برای گزارش خطاها و ارائه وضعیت شبکه استفاده میشود. مثلاً، اگر یک روتر نتواند یک بسته را تحویل دهد، پیامی از نوع ICMP به منبع بسته ارسال میکند تا مشکل را گزارش دهد.
۳. IGMP: این پروتکل برای مدیریت ارتباطات یک به چند در شبکهها استفاده میشود. IGMP کمک میکند تا چندین کامپیوتر بتوانند دادههایی را که به یک آدرس IP خاص ارسال شده، دریافت کنند.
- TCP: این پروتکل در لایه انتقال مسئول تحویل قابل اعتماد دادهها است. TCP به همراه IP استفاده میشود و معمولاً به عنوان TCP/IP شناخته میشود.
- HTTP: این پروتکل برای انتقال دادهها بین دستگاهها در وب استفاده میشود. HTTP در لایه کاربردی (لایه ۷) قرار دارد و دادهها را به فرمتهایی تبدیل میکند که برنامهها (مانند مرورگر) میتوانند به راحتی استفاده کنند.
6. HTTPS: نسخه امن پروتکل انتقال ابرمتن (HTTP) است که برای برقراری ارتباطات امن در اینترنت استفاده میشود. در HTTPS، پیامهای HTTP با استفاده از پروتکل امنیت لایه حملونقل (TLS) یا پروتکل سوکتهای امن (SSL) رمزگذاری میشوند. این رمزگذاری باعث میشود که اطلاعات رد و بدل شده بین مرورگر و سرور، مانند اطلاعات شخصی، رمزهای عبور و دادههای حساس، توسط مهاجمان قابل خواندن و دسترسی نباشد.
در واقع، HTTPS یک کانال ارتباطی امن بین کاربر و وبسایت فراهم میکند که اطلاعات را از دستکاری و شنود محافظت میکند. استفاده از HTTPS به کاربران اطمینان میدهد که ارتباط آنها با وبسایت معتبر و امن است و اطلاعاتشان به صورت امن منتقل میشود. امروزه بسیاری از وبسایتها برای حفاظت از حریم خصوصی کاربران و افزایش امنیت، به HTTPS سوئیچ کردهاند.
- TLS/SSL: پروتکل امنیت لایه حملونقل که برای رمزگذاری HTTPS استفاده میشود. TLS قبلاً به نام SSL (پروتکل لایه سوکتهای امن) شناخته میشد.
- UDP: این پروتکل در لایه انتقال، جایگزین سریعتری برای TCP است. UDP برای سرویسهایی مثل استریم ویدئو و بازیهای آنلاین که سرعت انتقال داده مهم است، استفاده میشود.
پروتکلهایی که روترها استفاده میکنند
روترها از پروتکلهای خاصی برای پیدا کردن بهترین مسیرها به دیگر روترها استفاده میکنند. این پروتکلها برای انتقال دادههای کاربران به کار نمیروند. پروتکلهای مهم برای مسیریابی شامل:
۱. BGP: پروتکل مرزی مسیریابی (BGP) به شبکهها کمک میکند تا آدرسهای IP خود را به دیگر شبکهها اعلام کنند. این اطلاعات به روترها میگوید که بستههای داده باید از کدام شبکهها عبور کنند تا به مقصد برسند.
- EIGRP: پروتکل مسیریابی داخلی بهبود یافته (EIGRP) فاصلهها بین روترها را محاسبه کرده و بهطور خودکار اطلاعات بهترین مسیرها را به دیگر روترها ارسال میکند.
- OSPF: پروتکل مسیر کوتاهترین مسیر اول (OSPF) برای محاسبه بهترین مسیرها در شبکه با توجه به فاصله و پهنای باند استفاده میشود.
- RIP: پروتکل اطلاعات مسیریابی (RIP) یک پروتکل قدیمی است که برای شناسایی فاصلهها بین روترها به کار میرود.
مهاجمان میتوانند از روشهای مختلف پروتکلهای شبکه برای حمله به سیستمها استفاده کنند. یکی از این حملات، حمله سیل SYN است که در آن مهاجم از پروتکل TCP سوءاستفاده میکند. در این حمله، مهاجم بستههای SYN را به سرور میفرستد تا دستدادن TCP را بهطور مکرر آغاز کند. این کار باعث میشود سرور نتواند به کاربران واقعی خدمات دهد، چون منابع آن بهطور کامل درگیر اتصالات جعلی شده است.