معرفی انواع پروتکل (Protocol)
پروتکل مجموعهای از قوانین برای قالببندی و پردازش دادهها است. پروتکلهای شبکه مانند زبان مشترک رایانهها است.
شاید معروفترین پروتکلی که دیدهاید و با آن کار کرده باشید Https باشد. در ابتدای تمام آدرسهای اینترنتی از این پروتکل استفاده میشود. فکر میکنید دلیل این کار چیست؟ وقتی از طریق دستگاههای مختلف با سیستم عاملهای مختلف و در نقاط جغرافیایی مختلف قرار است یک سایت را باز کرده و از اطلاعات آن استفاده کنید، باید همه از یک قانون (پروتکل) تبعیت کنید تا بتوانید از اطلاعات سایت مورد نظر بهره برداری کنید.
پس میتوانیم بگوییم «پروتکل مجموعهای استاندارد از قوانین است که به دستگاههای الکترونیکی امکان برقراری ارتباط با یکدیگر را میدهد»
نحوه عملکرد پروتکل
پروتکلهای شبکه که تعدادشان هم کم نیست کارهای زیاد و گستردهای انجام میدهند. اولین اقدام آنها، تقسیم کار کلی به کارهای کوچکتر است تا کار کلی سریعتر و راحتتر انجام شود. البته تقسیم وظایف به صورت منظم بین لایههای شبکه صورت گرفته و هر لایه کار خود را انجام میدهد و بعد از تکمیل، آن را تحویل لایه دیگر میدهد. پروتکلهای شبکه معمولاً طبق اصول استاندارد توسط سازمانهای مختلف شبکه یا فناوری اطلاعات و برای ایجاد مدلهای مختلف تولید و طراحی میشوند.
مرور کوتاهی بر مدل OSI
OSI مخفف Open System Interconnection است. از مدل OSI برای ارتباط بین حداقل دو کامپیوتر استفاده میشود. زمانی که شما میخواهید بین دو سیستم در یک شبکه ارتباط برقرار کنید و از طریق این ارتباط تنها یک فایل ارسال کنید، در پشت صحنه اتفاقات زیادی میافتد. درست مثل خانهای که در آن زندگی میکنید. با زدن یک کلید، لامپ اتاق شما روشن میشود؛ با پیچاندن بخاری اتاقتان حرارت را تنظیم میکنید. در هیچ کدام از این موارد شما به فکر لوله کشی گاز یا سیستم سیمکشی برق خانه نیستید. مدل OSI هم همینطور است. یک مدل مرجع که قبلا از آن استفاده زیادی میشده، اما الان هم با تغییراتی هنوز کاربردهای زیادی دارد. مدل OSI هفت لایه دارد که هرکدام کار خاصی انجام می دهند. همه شبکهها لازم نیست همه لایهها را داشته باشند. مثلا مدل TCP تنها چهار لایه دارد.
وقتی سیستمی میخواهد دادهها را با یک سیستم دیگر به اشتراک بگذارد یا درخواستی را از طریق شبکه ارسال کند، توسط لایه کاربرد دریافت میشود. سپس دادهها پس از پردازش به لایههای پایین میآیند و در هر مرحله باتوجه به پروتکلهای آن لایه کارهای لازم برای آنها صورت میگیرد. لایه فیزیکی آخرین لایه است که دادهها را روی خط انتقال قرار داده تا در ایستگاه مقصد توسط لایه فیزیکی دریافت شود. در آنجا دادهها پس از پردازش به لایههای بالایی منتقل میشوند تا به لایه کاربرد برسند.
در لایه کاربرد، داده یا درخواست با ایستگاه کاری به اشتراک گذاشته میشود. بنابراین هر لایه دارای توابع مخالف برای ایستگاههای کاری منبع و مقصد است. به عنوان مثال، لایه پیوند داده منبع، پرچمهای شروع و توقف را به فریمها اضافه میکند، اما همان لایه ایستگاه کاری مقصد، پرچمهای شروع و توقف را از فریمها حذف میکند. این سیستم برای کلیه لایهها انجام میشود. حالا با درک بهتر، برخی از پروتکلهای مورد استفاده توسط لایههای مختلف برای انجام درخواستهای کاربر را ببینیم.
آشنایی با انواع پروتکل های شبکه
پروتکلهای زیادی وجود دارد که از آنها استفاده میشود تا کامپیوترها با هم ارتباط برقرار کنند. در این بخش به معرفی تعدادی از این پروتکلها میپردازیم.
پروتکل HTTP و HTTPS
مخفف Hyper Text Transfer Protocol است و برای ایجاد ارتباط، دریافت و ارسال اطلاعات به کار میرود. پروتکلی که از آن در سایتهای اینترنتی استفاده میشود و شما به عنوان کاربر اینترنت به صورت روزانه با آن سر و کار دارید. HTTP و HTTPS با استفاده از پروتکل TCP/IP راهی میان سرور (به کامپیوترهای قدرتمندی که سرویسدهی میکنند، سرور میگویند) و کلاینتها (به کامپیوترهایی که در شبکه سرویس میگیرند، میگویند) ایجاد میکند و به این صورت بستههای اطلاعاتی روی خطوط اینترنت و بین رایانهها در شبکه جابهجا میشوند.
پروتکل FTP
مخفف File Transfer Protocol به معنای پروتکل انتقال فایل است و امکان انتقال فایل از کلاینت به سرور و بلعکس را میدهد. این پروتکل طوری طراحی شده که در هر لحظه به شما امکان برقراری 256 ارتباط همزمان را میدهد. FTP مجوز احراز هویت هر کلاینت در شبکه و اجازه جابجایی فایلها از درایو به سیستم درخواست کننده را به عهده دارد.
SFTP یک پروتکل امن انتقال فایل است و TFTP یک پروتکل انتقال فایل جزئی است. FTP و SFTP تقریباً شبیه یکدیگر هستند که به آن اشاره کردیم. TFTP کمی متفاوت عمل میکند. این پروتکل برای ارسال فایلهای کوچک بین دو دستگاه به کار میرود که میتوانید بدون نگرانی در مورد احراز هویت یا ایجاد هرگونه مشکل در فایروالها، فایل را سریع انتقال دهید. FTP و SFTP برای انتقال فایل معمولاً به نام کاربری و رمزعبور نیاز دارد، در حالی که TFTP اینطور نیست. FTP از هر دو پورت 20 و 21 استفاده میکند. یکی برای احراز هویت، دیگری برای انتقال اطلاعات استفاده میشود. پورت 22 برای SFTP استفاده میشود و TFTP از درگاه شماره 69 استفاده میکند.
پروتکل FTAM
این پروتکل مخفف (File-Transfer Access and Management) به معنای روش دسترسی به انتقال فایل است. همچنین به عنوان دسترسی و مدیریت انتقال فایل یا روش دسترسی الکترونیکی انتقال پرونده (EFTAM) شناخته می شود. FTAM بر اساس مدل اتصال سیستمهای باز (OSI) ساخته شده است و مشابه پروتکل انتقال فایل (FTP) و سیستم پرونده شبکه (NFS) است. FTAM به کاربران کمک میکند تا دسترسی آسانتری به فایلها و پوشهها داشته باشند و ذخیره اطلاعات از راه دور انجام شود. عملکرد پروتکل FTAM شبیه به FTP است، اما تاکنون نتوانسته جای این پروتکل را بگیرد.
پروتکل RTP
این پروتکل مخفف Real-Time Transport Protocol است که پروتکل انتقال مدیا است. از این پروتکل برای انتقال اطلاعات در لحظه استفاده میشود. بیشترین موارد استفاده این پروتکل در VOIP (تکنولوژی انتقال صدا) است. یکی از مزیتهای این پروتکل انتقال صدا به چندین مقصد است و به خاطر خاصیت انتقال لحظهای از نظم زیادی برخوردار است تا پکتها به ترتیب به مقصد برسند.
پروتکل LCP
یکی دیگر از پروتکلها LCP یا Link Control Protocol است. این پروتکل در پروتکل PPP وجود دارد و وظیفه آن تست و پیکربندی اتصالات در لایه پیوند دادهها است. در واقع این پروتکل هویت سیستم فرستنده و گیرنده را بررسی میکند تا ارتباط میان این دو رایانه برقرار شود.
پروتکل SNMP
مخفف Simple Network Management Protocol است. این پروتکل از مجموعه پروتکلهای زیرمجموعه TCP/IP و در لایه کاربردی است. کار این پروتکل مدیریت و نظارت اجزای مختلف شبکه تحت یک IP است. SNMP به مدیر شبکه امکان میدهد تا از راه دور سیستمها، مسیریابها و دیگر تجهیزات را مدیریت و نظارت کنند. در اینجا خیلی خلاصه عملکرد این پروتکل را مرور میکنیم.
در تمام طول روز که انتقال اطلاعات در جریان است، SNMP تمام فعالیتهای شما مثل خطاها، سرعت اتصال بین دستگاهها یا تعداد بازدیدهایی که وبسرور دریافت میکند را بررسی و به وسیله پیامهایی با بخشهای مختلف شبکه صحبت میکند. به این پیامها SNMP Get-Requests گفته میشود. با بهرهگیری از اطلاعات بدست آمده، مدیران شبکه میتوانند تقریباً هر چیزی را ردیابی کنند. تمام اطلاعات SNMP میتواند به محصولی که آن را درخواست میکند ارائه شود. بسته به تنظیمات مدیر، این محصول میتواند دادهها را نمایش یا ذخیره کند.
پروتکل NCP
پروتکل کنترل شبکه (NCP) مخفف Network Control Protocol است و بخشی از پروتکل نقطه به نقطه (PPP) محسوب میشود. PPP یک پروتکل در لایه پیوند داده است. PPP از پروتکل کنترل پیوند (LCP)، پروتکل احراز هویت (AP) و پروتکل کنترل شبکه (NCP) تشکیل شده است. NCP کار کنترل را به عهده دارد و به کاربران اجازه میدهد تا از راه دور رایانه خود را مدیریت و از طریق آن بتوانند فایلها و بستهها را میان سیستمها جابجا کنند.
پروتکل TCP/IP
یکی از پرکاربردترین پروتکلهای اینترنتی TCP/IP (Transmission Control Protocol Internet Protocol) است. این پروتکل از دو بخش TCP و IP تشکیل شده و تعیین میکند سیستمها در شبکه چطور ارتباط داشته باشند و انتقال اطلاعات را به عهده دارد. بخش IP، سیستم آدرسدهی اینترنتی است و وظیفه اصلی آن ارائه پکتها از منبع به مقصد است. IP روش اصلی ایجاد ارتباطات شبکه است. این پروتکل کار با بستهبندی یا بررسی خطا را انجام نمیدهد. چنین عملکردی به پروتکل دیگری، مثل TCP نیاز دارد. کار TCP/IP مانند ارسال پیامی است که از طریق پست الکترونیکی میخواهد ارسال شود. پیام قطعه قطعه شده و هر قطعه میتواند از طریق یک مسیر پستی متفاوت منتقل شود، بعضی از مسیرها کوتاهتر و بعضی از مسیرها طولانیتر از سایر مسیرها هستند.
وقتی قطعات تکه تکه شده پیام پس از پیمایش در مسیرهای مختلف خود به مقصد میرسند، ممکن است بعضی از آنها از کار افتاده باشند. IP مطمئن میشود که قطعات به آدرس مقصد برسند. پروتکل TCP را میتوان به عنوان یک مونتاژ کننده تکهها در طرف دیگر دانست که قطعات را به ترتیب صحیح کنار هم قرار میدهد. اگر قطعات به مقصد نرسیده باشند یا با مشکل مواجه شده باشند درخواست ارسال مجدد آنها از طریق پروتکل TCP ارسال میشود. در صورتی که کل پیام به صورت کامل دریافت شده باشد، به فرستنده اطلاع میدهد پیام دریافت شده است. TCP قبل از ارسال اولین قطعه تا پس از ارسال قطعه نهایی، با فرستنده ارتباط برقرار میکند.
پروتکل SMTP
این پروتکل بخشی از لایه کاربرد پروتکل TCP/IP و مخفف Simple Mail Transfer Protocol است. SMTP برای ارسال و دریافت پستهای الکترونیکی به کار میرود. همچنین امکان ذخیره دادهها را روی سرور فراهم میکند. سرویس گیرنده پست الکترونیکی شما (مانندOutlook) از SMTP برای ارسال پیام به سرور نامه استفاده میکند و سرور نامه با استفاده از SMTP آن پیام را به سرور ایمیل صحیح دریافت میکند. اساساً، SMTP مجموعه دستوراتی است که انتقال نامه الکترونیکی را تأیید و کنترل میکند.
پروتکل Telnet
پروتکل Telnet یک پروتکل برای دسترسی مجازی به رایانه و ایجاد کانال ارتباطی دوطرفه بین دو سیستم است. این پروتکل هم از TCP/IP تبعیت میکند و مخفف Teletype Network است.
Telnet پروتکل قدیمی است که از هیچ نوع رمزنگاری برای اطلاعات استفاده نمیکند، اما هنوز هم گاهی اوقات از این سیستم برای آزمایش یا عیبیابی سرورهای از راه دور وب یا ایمیل و همچنین دسترسی از راه دور به MUDها و شبکههای داخلی قابل اعتماد استفاده میشود. در وب، پروتکل انتقال متن (HTTP) و پروتکل انتقال فایل (FTP) به کاربران کمک میکند تا درخواست خود را برای دریافت فایلهای جدید به سیستمهای دیگر در شبکه ارسال کنند، در حالی که از طریق Telnet، کاربران میتوانند به عنوان یک کاربر عادی با سطح دسترسیهایی که دارند، وارد سیستم شوند.
پروتکل Gopher
پروتکل Gopher یک پروتکل ارتباطی و نوع قدیمی پروتکل http است که در این نوع، کامپیوتر میزبان با سرور ارتباط برقرار کرده و موجب انتقال اطلاعات میشود. در حال حاضر استفاده از این سیستم منسوخ شده ولی بعضی از سیستمها هنوز هم از این پروتکل استفاده میکنند. گفتیم که سیستم کاربر میتواند با سرور ارتباط بگیرد، منتها این ارتباط یک شرط دارد. استفاده هر دو سیستم منبع و مقصد از یک پروتکل Gopher است.
پروتکلUDP
مخفف User Datagram Protocol است و بخشی از لایه انتقال به شمار میرود. این پروتکل شبیه به TCP است منتها با تفاوتهایی عمل میکند و بیشتر برای انتقال صوت یا ویدئو روی شبکه به کار میرود که پهنای باند در این نوع از دادهها اهمیت زیادی دارد. طرز کار این پروتکل به این صورت است که دادهها را از یک رایانه کپی و در یک بسته UDP قرار میدهد و هدر خود را روی پکت اضافه میکند. این هدر شامل پورتهای منبع و مقصد برای برقراری ارتباط، طول بسته وchecksum است. پس از اینکه بستههای UDP بسته شدند، به مقصد خود ارسال میشوند.
پروتکل DNS
DNS مخفف Domain Name System است و وظیفه اتصال دامنه به IP را به عهده دارد. در واقع DNS آدرسهای دامنه را به آدرس IP آن تبدیل میکند تا درخواست شما به آدرس درستی ارسال شود. فرض کنید میخواهید سایت گوگل به نشانی Google.com را باز کنید. وقتی شما این دامنه را در مرورگر خود وارد میکنید، DNS آن را تبدیل به آدرس IP مشابه میکند. به زبان ساده آدرس سایت را به زبان ماشین تبدیل میکند.
هر سایت یک دامنه منحصر به فرد دارد و میتوان روی هر دامنه بیش از یک آدرس IP تنظیم کرد. اگر تعداد بازدیدهای سایت شما زیاد باشد و تنها از یک آدرس IP برای نام دامنه استفاده کنید، ممکن است لود شدن سایت شما بیش از حد طول بکشد. به طور کلی DNS استفاده از اینترنت را آسان میکند. اگر این تبدیل آدرس نبود، مجبور بودیم تعداد زیادی از آدرسهای IP را حفظ کنیم که عملا غیر ممکن است. با استفاده از DNS نیازی به این کار نیست.
پروتکل DHCP
این پروتکل در لایه شبکه قرار دارد و مخفف Dynamic Host Configuration Protocol است. این پروتکل وظیفه تخصیص آدرسهای IP به کلاینتهای موجود در شبکه را به عهده دارد. DHCP یک پایگاه داده در خود دارد که شامل تعداد زیادی آدرس IP است. حالا هر سیستم یا دستگاهی که بخواهد به شبکه متصل شود، ابتدا باید یک آدرس IP بگیرد. این کار وظیفه پروتکل DHCP است. با استفاه از این پروتکل بخشی از میزان وظایف مدیر شبکه کاهش پیدا میکند. پس میتوان گفت هدف DHCP اختصاص اتوماتیک آدرسهای IP در بستر شبکه است.
چه کسانی از پروتکلها استفاده میکنند؟
پروتکلهای شبکه فقط مربوط به متخصصان مجاز شبکه یا متخصصان فناوری اطلاعات نیست. میلیاردها نفر روزانه از پروتکلهای شبکه استفاده میکنند، خواه بدانند یا نه (مثل https که اول مقاله مثال زدیم). هر بار که از اینترنت استفاده میکنید، از پروتکلهای شبکه استفاده میکنید. اگرچه شما نمیدانید پروتکلهای شبکه چگونه کار میکنند یا چند بار با آنها روبرو میشوید، اما آنها برای استفاده از اینترنت یا ارتباطات دیجیتال با هر ظرفیت لازم هستند.