همه پروتکلهای شبکه که باید بدانید
پروتکلهای شبکه همانند زبان انسانها هستند که بدون آن برقراری ارتباط امکانپذیر نیست. وقتی که مرورگر خود را باز میکنید تا جستجویی انجام دهید یا از برنامههای تحت وب (مانند تلگرام) برای رسد اخبار و اتفاقات جهان استفاده میکنید، اتفاقات پشت پرده زیادی رخ میدهد تا نتایج موردنظر شما بهخوبی نمایش داده شود.
برای حکمرانی بر روی این اتفاقات بهمنظور اجرای آنها در چهارچوبهای تعین شده، نیاز به پروتکل داریم. انواع مختلفی از شبکه وجود دارد که بسته به نیاز ممکن است تا از هرکدام از آنها استفاده شود. ازاین رو پروتکلهای متفاوتی نیز وجود دارد تا تمامی جنبههای موجود در شبکه را در بر گیرد. در ادامه به بررسی کامل پروتکلهای اصلی اینترنت و network پرداختهایم.
تعریف پروتکل و هدف استفاده از انواع پروتکلهای شبکه
اگر دقت کنید تمامی جوانب زندگی در چهارچوب های تعیین شده به نام قوانین قرار دارند. بدون قانون نمیتوان نظم را بر دنیا حاکم کرد. پروتکلهای شبکه نیز میتوانند تعریفی مانند قوانین دنیای ما داشته باشند. درحقیقت پروتکلها، استانداردهای انعطافپذیری هستند که اجازه حکومت بر اینترنت را تا حدودی امکانپذیر میکند.
یکی از مهمترین دلایل محبوبیت اینترنت نسبت به تکنولوژیهای دیگر، نامتمرکز بودن آن است. به این معنی که هرکسی میتواند بدون جواب پس دادن، هر چیزی که دلش میخواهد در آن منتشر کند. بهخاطر همین موضوع است که اشاره کردیم پروتکلها اجازه حکومت بر شبکه و اینترنت را تا حدودی امکانپذیر میکند.
هدف خلق و استفاده از پروتکلهای نتورک در ابتدا برای برقراری ارتباط بود. بر این اساس که اولین پروتکلهای خلق شده TCP و IP بودند. این پروتکلها برای شناسایی دستگاههای موجود در شبکه و برقراری ارتباط میان آنها طراحی و ساخته شدند. سپس رفتهرفته و با پیشرفت چشمگیر اینترنت و شبکه، نیاز به طراحی پروتکلهای دیگری نیز احساس شد. پس دقت کنید که باید اولین و ابتداییترین هدف از خلق پروتکلهای شبکه را ایجاد ارتباط نامید.
تعبیری دیگر پروتکلها برای درمان ارتباط موجود در شبکه و بهبود آن خلق شدهاند.
منظور از لایههای شبکه و مدل TCP/IP یا OSI
زمانی که برنامه اینستاگرام را بازکرده و یک عکس را لایک میکنید یا حتی وقتی که میخواهید یک فیلم از اینترنت دانلود کنید، شاید میلیونها محاسبه نیاز است تا این عملیاتهای ساده صورت گیرد. تمامی این عملیاتها در لایههای شبکه رخ میدهد. در حالت کلی دو مدل برای پیادهسازی شبکه و اجرای لایههای آن وجود دارد. مدل TCP/IP و OSI .
نوع اول ابتداییتر بوده و اینترنت مدرنی که الان از آن استفاده میکنیم بر پایه آن بنا شده (TCP/IP) و دارای 4 لایه است. اما مدل دوم برای اجرا و راهاندازی شبکههای درونسازمانی بوده و 7 لایه مجزا دارد. هر پروتکل ممکن است در لایههای مختلفی از این مدلها اجرا شود.
برای مطالعه بیشتر مقاله TCP/IP چیست را از دست ندهید.
مانند اینکه اگر بخواهید یک جواز ساخت بگیرید باید از ارگانهای مختلفی تاییدیههای لازم را اخذ کنید که هرکدام از این ارگانها قوانین (protocols) مخصوص خود را دارند. در ادامه به معرفی مهمترین پروتکلهای موجود در شبکههای مختلف که در لایههای متفاوتی اجرا میشوند، اشاره میکنیم.
مهمترین پروتکلهای شبکه
در زمان برقراری ارتباط در مدل OSI، هفت لایه مختلف در هر سیستم یا دستگاه اجرا میشود تا به درخواست مدنظر پاسخ داده شود. همانطور که اشاره شد پروتکلهای مختلفی در لایههای این مدل وجود دارد که عبارتاند از:
- Transmission Control Protocol (TCP)
- Internet Protocol (IP)
- User Datagram Protocol (UDP)
- Post office Protocol (POP)
- Simple mail transport Protocol (SMTP)
- File Transfer Protocol (FTP)
- Hyper Text Transfer Protocol (HTTP)
- Hyper Text Transfer Protocol Secure (HTTPS)
- Dynamic Host Configuration Protocol (DHCP)
- Domain Name System protocol (DNS)
- Internet Message Access Protocol (IMAP)
- Terminal emulation protocol (Telnet)
- Simple Network Management Protocol (SNMP)
- Lightweight Presentation Protocol (LPP)
- Remote Procedure Call protocol (RCP)
- Internet Control Message Protocol (ICMP)
- Address Resolution Protocol (ARP)
- Serial Line IP (SLIP)
بهاحتمال زیاد با تعدادی از این پروتکلها آشنا هستید و با حتی در هنگام استفاده از سرویسهای مختلف (مانند مرورگرهای chrome، Opera و…) تعدادی از آنها به چشمتان خورد است. اما اگر دوست دارید تا بیشتر و بهتر با هرکدام از این موارد و لایه اجرایی آنها آشنا شوید، همچنان به مطالعه مقاله ادامه دهید.
پروکسی چیست؟ برای آشنایی بیشتر مقاله مورد نظر را مطالعه نمایید.
پروتکلهای لایه 7 شبکه (Application)
در ادامه انواع پروتکل های لایه هفتم شبکه را با هم بررسی می کنیم پس همراه ما باشید.
DHCP: Dynamic Host Configuration Protocol
در نتورک (network) هر دستگاه نیاز به یک IP منحصر به فرد دارد. در دنیای واقعی نمیتوان برای دو خانه مختلف یک آدرس ثابت داشت، همانند دنیای شبکه که نمیتوان برای دو دستگاه متفاوت یک IP یکسان ارائه کرد. ممکن است IP یک دستگاه در طول روز تغییر کند (مثلا در زمان استفاده از VPN) اما مطمئن باشید که منحصربهفرد خواهد بود.
پروتکل DHCP وظیفه توزیع خودکار و منحصربهفرد IP در زمان اتصال یک دستگاه به شبکه را دارد. همچنین دستگاهی که از این پروتکل یعنی DHCP استفاده میکند نمیتواند بهعنوان سرور استفاده شود زیرا IPهای او در طول زمان تغییر میکند.
DNS: Domain Name System protocol
زمانی که میخواهید آدرس یک سایت را در اینترنت جستجو کنید در حقیقت آدرس واقعی آن بهصورت 112.14.158.111 است. این حالت برای درک و بهخاطر سپردن بسیار نامتعارف خواهد بود. زیرا فرض کنید که بخواهید 10 سایت مختلف را با این آدرس حفظ کنید!!
برای حل این مشکل از پروتکل DNS استفاده میشود. پروتکلی که با استفاده از آن آدرس یک سایت را میتوان بهصورت xxxx.xxx مثلا google.com جستجو کرد. به تعبیری دیگر پروتکل DNS مانند یک دفترچه تلفن است که شما نام یک نفر را در آن جستجو میکنید و دفترچه شمارهتلفن او را به شما نمایش میدهد.
FTP: File Transfer Protocol
زمانی که درخواستی از یک شبکه دارید (مانند دانلود فایل یا آپلود یک عکس)، نیاز است تا میان دو میزبان (Host) یک اتصال برقرار شود. برای انتقال فایل، پروتکل FTP دو اتصال (بهوسیله پروتکل TCP) ایجاد میکند که در یکی اطلاعات مربوط به رمزنگاری فایلها، دستورات ذخیرهسازی و بازیابی دادهها وجود دارد و در دیگری انتقال دادههای واقعی (مانند دادههای عکسی که قرار است آپلود شود) صورت میگیرد.
HTTP: Hyper Text Transfer Protocol
انتقال دادههای فرامتنی توسط این پروتکل صورت میگیرد. زمانی که یک صفحه از یک سایت را روی مرورگر خود باز میکنید، تصاویر، ویدئوها، متن و اشکال گرافیکی مختلفی را میبینید. انتقال و ارسال این دادهها فرامتنی به لطف پروتکل HTTP امکانپذیر شده است. در زمان استفاده از مرورگرها بهاحتمال زیاد این پروتکل را دیده باشید.
iscsi چیست؟ برای آشنایی بیشتر و اطلاعات جامع تر می توانید مقاله مورد نظر را مطالعه نمایید.
IMAP: Internet Message Access Protocol
یکی از ابتداییترین شبکهها، ایمیل است که انواع مختلفی از آن را با نامهای جمیل (gmail) یاهو میل (yahoo mail) و… میشناسیم. آیا تابهحال فکر کردهاید که چگونه و بهراحتی میتوانید به صندوق پستی ایمیلهای خود مراجعه کرده و هر پیام فرستاده شدهای را حذف و ادیت کنید یا حتی نامش را تغییر دهید؟ پروتکل IMAP این امکان را فراهم میکند تا یک کاربر با مراجعه به صندوق پستی خود عملیاتهایی مانند حذف دائمی پیام، ایجاد تغییرات، تنظیم و حذف پرچمها و بسیاری از موارد دیگر را انجام دهد (در ورژنهای جدید).
POP: Post Office Protocol
اگر دقت کرده باشید بدون نیاز به دسترسی اینترنت میتوان به نرم افزار ایمیل خود مراجعه کرده و پیامهایی را که در زمان اتصال به اینترنت دریافت شده است را مشاهده کنید. پروتکل POP وظیفه دانلود ایمیلها و ذخیره آنها در صندوق پستی محلی شما (همان نرمافزار ایمیلی که روی گوشی یا سیستم خود دارید) را دارد تا بدون نیاز به دسترسی اینترنت بهراحتی پیامهای خود را ببینید. آخرین ورژن Post Office Protocol ، POP3 است.
SMTP: Simple Mail Transfer Protocol
پروتکل SMT طراحی شده است تا پیامها و ایمیلهای خود را ارسال (بهصورت امن) کنید. اگر دو پروتکل قبلی یعنی POP و IMAP را در دستهبندی بازیابی پیامها قرار دهیم، SMTP در دسته انتقال پیامها قرار خواهد گرفت.
به معنای دیگر با وجود پروتکل Simple Mail Transfer میتوان گفت که دو کلاینت (client) میتوانند در یک شبکه یا شبکههای دیگر برای همدیگر پیام ارسال کنند و از امنیت ایمیلهای ارسال یا دریافت شده نیز مطمئن باشند.
برای مطالعه بیشتری کلاینت چیست را ازدست ندهید.
Telnet: Terminal emulation protocol
اگر بخواهید تا دستگاهی را از راه دور کنترل کنید به پروتکل Telnet نیاز خواهید داشت. در واقع با این پروتکل میتوان کارهایی مانند کنترل دوربینهای امنیتی نصب شده در دفتر کار از مکانی مانند خانه را امکانپذیر کرد. برای این عمل نیاز است تا IP دستگاه را داشته باشید و همچنین یک گیرنده پروتکل Terminal emulation نیز بر روی دستگاهی که قرار است کنترل شود، نصب باشد.
SNMP: Simple Network Management Protocol
برای مدیریت گرههای موجود (مانند روترها، سوئیچها، سرورها، هاب و…) در شبکه IP، از پروتکل SNMP استفاده میشود. با این پروتکل قادر خواهید بود تا یک شبکه را مدیریت کنید، بر عملکرد آن نظارت داشته باشید و در صورت لزوم شبکه را عیبیابی و اشکالزدایی کنید.
SNMP از سه قسمت تشکیل شده است. یک دستگاه مدیریت شده، یک عامل SNMP و یک مدیر SNMP. منظور از عامل SNMP یک ماژول نرمافزاری است که دانش کافی از اطلاعات مدیریت داشته و این اطلاعات را به زبان قابلفهم برای انسان تبدیل میکند. مدیر SNMP اطلاعات استخراج شده از عامل را به کاربر ارائه کرده و امکان مدیریت گرهها را برای ایشان فراهم میکند.
پروتکل لایه 6 شبکه (Presentation)
در ادامه پروتکل های لایه ششم شبکه را بررسی می کنیم.
LPP: Lightweight Presentation Protocol
این پروتکل به ارائه پشتیبانی کارآمد بر روی خدمات مدل OSI که روی مدل TCP/IP در محیطهای محدود در حال اجرا است، کمک میکند. LPP (Lightweight Presentation Protocol) برای درخواستها و کاربردهای خاصی از مدل لایه شبکه OSI طراحی شده است (برای موجودیتهایی که زمینه برنامه آنها فقط حاوی Association Control Service Element (ACSE) و Remote Operations Service Element (ROSE) است). این پروتکل برای زمینههای گسترده قابلاجرا نیست.
پروتکل لایه 5 شبکه (Session)
در ادامه پروتکل های لایه پنجم شبکه را بررسی می کنیم.
RPC: Remote Procedure Call protocol
در زمانی که نیاز به درخواست از راه دور و ازطریق شبکه برای سرویسی از یک نرمافزار باشد، پروتکل RCP اجرا خواهد شد. یعنی زمانی که شما میخواهید درخواستی ارسال کنید که پاسخ آن باید از یک نرمافزار در حال اجرا روی سیستم دیگر متصل به شبکه ارسال شود، باید از پروتکل Remote Procedure Call استفاده کنید. خود پروتکل یاد شده از پروتکلهای TCP یا UDP برای حمل پیامها استفاده میکند. در این پروتکل، درخواستی که از برنامه میشود client و سرویسی که برنامه را ارائه میدهد، server است.
BGP چیست و این پروتکل چگونه کار می کند؟ برای اطلاعات بیشتر مقاله مورد نظر را مطالعه نمایید.
پروتکلهای لایه 4 شبکه (Transport)
ر ادامه پروتکل های لایه چهارم شبکه را بررسی می کنیم.
TCP: Transmission Control Protocol
Transmission Control Protocol یک پروتکل در لایه 4 است که مسئولیت تحویل دادهها بهصورت کامل و قابلاعتماد را دارد. TCP با استفاده از تاییدهای متوالی این اطمینان را به شبکه میدهد که یک داده بهصورت کامل انتقالیافته است. باید اشاره کنیم که TCP پروتکلی اتصال گرا است، یعنی تا قبل از انتقال دادهها نیاز به برقراری یک ارتباط دارد.
UDP: User Datagram Protocol
پروتکل دیگری که برای انتقال دادهها و درخواستها در لایه 4 مورداستفاده قرار میگیرد، UDP بوده که برخلاف TCP با تاییدهای متوالی دادهها را منتقل نمیکند. ازاینرو باید گفت که سرعت این پروتکل نسبت به همنوع قبلی خود بیشتر است، اما ممکن است دادههایی در پروسه انتقال از دست برود. از UDP زمانی استفاده میشود که نیازی به حصول اطمینان از دادههای دریافتی نیست. مانند استریم ویدئو.
پروتکلهای لایه 3 شبکه (network)
IP: Internet Protocol
شاید مشهورترین پروتکل، همین مورد یعنی IP باشد. با استفاده از IP یک آدرس برای هر دستگاه متصل به شبکه خواهیم داشت تا سیستمها و سرویسهای شبکه بدانند که یک درخواست از کجا صادر شده و پاسخ آن به کجا باید برود. این پروتکل دارای دو ورژن است. ورژن ابتداییتر IPV4 بوده که بهصورت xxx.xxx.xxx.xxx شناخته میشود. ولی به دلیل اتمام IPهای منحصربهفرد نیاز بود تا ورژن جدید این پروتکل یعنی IPV6 معرفی شود. مثال برای IPv6: 65b3:b834:45a3:0000:0000:762e:0270:5224
ICMP: Internet Control Message Protocol
یک پروتکل پشتیبانی از شبکه است که برای ارسال اطلاعات و دادههایی مانند خطاها و پیامهای عملیاتی استفاده میشود. با استفاده از این پروتکل ناظران بر شبکه میتوانند خطاها و اشکالات موجود در network (مانند ازدحام یا وقفه زمانی) را با استفاده از اعلانهایی تشخیص دهند.
پروتکلهای لایه 2 شبکه (Data link)
ARP: Address Resolution Protocol
ARP وظیفه ایجاد یک نقشه از آدرسهای IP به آدرس فیزیکی ماشینها (MAC آدرس در اترنت) که در شبکه محلی پیدا شدهاند را دارد. همچنین این پروتکل اطلاعاتی از ارتباطها و مکاتبههایی که از قبل انجام شده است را در جدولی کش میکند تا برقراری دوباره مکاتبه بهتر و سریعتر رخ دهد.
SLIP: Serial Line IP
از پروتکل SLIP برای ایجاد سریال اتصالات نقطهبهنقطه (point-to-point serial connections)، با کمک پروتکل TCP/IP، استفاده میشود. Serial Line IP بهمنظور ایجاد ارتباط مخلوط میان میزبان (host) و روتر مفید است. مانند host-host ، host-router و router-router.
مقاله ipsec چیست و نحوه کارکرد آن چگونه است؟ را ازدست ندهید.
چند پروتکل کمتر شناختهشده
انواع پروتکل های شبکه که در بخش قبل معرفی کردیم، معروفترین پروتکلهایی هستند که تقریبا در تمام صفحات اینترنت درباره آنها میخوانید. اما جز آنها، موارد دیگری هم هست که در ادامه معرفی میکنیم.
۱. STP: Spanning Tree Protocol
این پروتکل توسط IEEE 802.1d تعریف شده تا از ایجاد لوپ در LAN جلوگیری کند. دغدغه این پروتکل رفع مشکلات شبکههای بریج دار است. میخواهد با کنترل تمام لینکهای شبکه، پیوندهای اضافه را حذف کرده و تغییرات و خرابیهای شبکه را پردازش کند. روال کار پروتکل به این صورت است که برای یافتن مشکلات پیوندها از الگوریتم درخت پوشا (STA) استفاده میشود. STA یک توپولوژی از شبکه فعلی میسازد و پیوندهای اضافه را حذف میکند. سپس به محض آنکه یک پیوند جدید به شبکه اضافه شد، الگوریتم STA را مجددا اجرا میکند تا از اضافی نبودن آن اطمینان حاصل کند.
۲. SFTP: SSH File Transfer ProtocolSFTP
پروتکل SFTP که بهعنوان FTP امن هم شناخته میشوند، برای ایمنسازی اتصال و ارسال فایل از راه دور استفاده میشود. در این پروتکل برای حفظ امنیت و تسهیل احراز هویت کاربران، از تکنولوژی رمزگذاری کلید عمومی استفاده میشود. کارگروه مهندسی اینترنت (IETF) اولین بار در سال 2006 این پروتکل را برای تامین امنیت پروتکلهای پوسته (shell protocol) توسعه داد و دو راه برای برقراری ارتباط کاربران با سرور SFTP معرفی کرد: احراز هویت با رمز عبور یا با کلید خصوصی/عمومی.
۳. SSH: Secure Shell
پوسته امن (SSH) یک پروتکل شبکه است که برای ایمنسازی خدمات شبکه در شبکههای ناامن از رمزنگاری استفاده میکند. به لطف این پروتکل میتوان بسیاری از اقدامات مثل دسترسی به کامپیوتر از راه دور را ایمن کرد.
روترها از چه پروتکلهایی استفاده میکنند؟
روترهای شبکه از پروتکل های خاصی برای کشف کارآمدترین مسیرهای شبکه به روترهای دیگر استفاده میکنند که برای انتقال دادههای کاربران مورد استفاده قرار نمیگیرند. پروتکلهای مهم مسیریابی شبکه عبارتاند از:
- BGP: پروتکل دروازه مرزی (BGP) یک پروتکل لایه کاربردی است که شبکهها برای پخش آدرسهای IP استفاده میکنند. روترها با داشتن این اطلاعات تصمیم میگیرند که بستههای داده در مسیر رسیدن به مقصد باید از کدام شبکهها عبور کنند.
- EIGRP: پروتکل مسیریابی دروازه داخلی پیشرفته (EIGRP) فواصل بین روترها را مشخص میکند. به این صورت که رکورد روترها از بهترین مسیرها را بهروز کرده و اطلاعات بهروزرسانی را در اختیار روترهای دیگر شبکه میگذارد.
- OSPF: پروتکل OSPF یا «کوتاهترین مسیر را باز کن» کارآمدترین مسیرهای شبکه را بر اساس عوامل مختلفی از جمله فاصله و پهنای باند آنها محاسبه میکند.
- RIP: پروتکل اطلاعات مسیریابی (RIP) یک پروتکل مسیریابی قدیمی لایه کاربردی است که فواصل بین روترها را مشخص میکند.
مقاله router چیست را ازدست ندهید.
پروتکلها چه نقشی در حملات سایبری دارند؟
مهاجمان میتوانند از نحوه عملکرد پروتکلهای شبکه برای بهخطر انداختن یا غلبه بر سیستمها سوء استفاده کنند. شاید برایتان جالب باشد که بدانید بسیاری از این پروتکلها در حملات انکار سرویس توزیع شده (DDoS) مورد استفاده قرار میگیرند. به عنوان مثال، در یک حمله سیل SYN، یک مهاجم با سوءاستفاده از نحوه عملکرد پروتکل TCP، بستههای SYN را میفرستد تا فرایند هندشیک (دستدهی) TCP با سرور مکررا انجام شود. آنقدر که سرور دیگر قادر به ارائه خدمات به کاربران مجاز نباشد؛ چرا که تا اینجا تمام منابع آن با اتصالات ساختگی TCP پر شده است.
جمعبندی
پروتکلهای لایههای شبکه جزئی جداییناپذیر هستند که بدون آنها اتصالی در سطح جهانی هیچوقت صورت نمیگرفت. در این مقاله سعی شد تا پروتکلهای 6 لایه از مدل OSI را شرح دهیم (لایه اول مربوط به زیرساختهای فیزیکی مانند کابل شبکه و کانکتورها است). با مطالعه کامل این مقاله مطمئنا درک بهتر و کاملتری از نحوه کارکرد شبکهها و بهخصوص اینترنت به دست خواهید آورد.
پروتکلها به دستههای مختلفی تقسیم میشوند، از جمله پروتکلهای لایه کاربرد (مثل HTTP، FTP)، لایه انتقال (مثل TCP، UDP) و لایه شبکه (مثل IP).
ابزارهایی مانند Wireshark به شما اجازه میدهند ترافیک شبکه را مشاهده و تجزیه و تحلیل کنید و پروتکلهای مختلف را شناسایی کنید.
پروتکل IP مسئول آدرسدهی و مسیریابی بستههای داده در شبکه است. این پروتکل تعیین میکند که دادهها از کجا به کجا بروند.
HTTP پروتکلی است که برای انتقال اطلاعات در وب استفاده میشود. این پروتکل نحوه ارسال درخواستها و دریافت پاسخها بین مرورگر و سرور را مشخص میکند.
دیدگاهتان را بنویسید