پروتکل چیست؟ ؛ بررسی انواع پروتکل شبکه
پروتکل ها قوانینی هستند که برای برقراری ارتباط بین دستگاههای شبکه لازمند. در مقاله “شبکه چیست” با شبکه و اجزای آن آشنا شدیم. در این مجال میخواهیم درباره چیستی پروتکل و انواع پروتکل در شبکه صحبت کنیم. با فالنیک همراه باشید.
پروتکل در شبکه چیست؟
پروتکلها ، زبان کامپیوترها هستند. کامپیوترها نرم افزارها و سخت افزارهای متفاوتی دارند اما با استفاده از پروتکل میتوانند با یکدیگر ارتباط برقرار کنند. کامپیوترها برای تبادل اطلاعات باید به توافق اولیه برسند که چطور اطلاعات ساختاربندی شود و هر طرف چطور و چه مقدار دیتایی ارسال و دریافت میکند. تصور کنید کامپیوتری بسته 8 بیتی میفرستد درحالی که کامپیوتر مقصد منتظر بسته 16 بیتی است.
پروتکلهای استانداردسازی به عنوان زبان کامپیوترها شبیه زبان انسانها است: دو نفر از دو نقطه مختلف دنیا شاید زبان یکدیگر را نفهمند اما از زبان سومی استفاده میکنند تا بتوانند با هم ارتباط برقرار کنند. اگر دو دستگاه سخت افزاری از یک پروتکل پشتیبانی کنند میتوانند با هم ارتباط برقرار کنند فارغ از نوع سخت افزار و تولیدکننده آن.
مثلا آیفون میتواند با استفاده از پروتکل استاندارد ایمیل، به دستگاه اندروریدی ایمیل بفرستد، یا کامپیوتر ویندوزی با استفاده از پروتکل استاندارد وب از وب سرور یونیکسی صفحه وب بگیرد. اگر دو کامپیوتر از پروتکل اینترنت – IP استفاده کنند، میتوانند با هم ارتباط برقرار کنند اما اگر یکی از آنها این پروتکل را نداشته باشد، امکان برقراری ارتباط هم وجود ندارد.
پروتکل در شبکه یعنی مجموعه قوانینی که دیتا را فرمت میدهد و پردازش میکند. این قوانین عبارتند از:
- چه نوع دیتایی میتواند منتقل شود
- چه دستوراتی برای ارسال و دریافت دیتا استفاده شود
- چطور دیتا منتقل شود
در اینترنت پروتکلهای مختلفی برای انواع مختلف پردازشها وجود دارد. پروتکلها معمولا در مدل OSI و لایهای که به آن تعلق دارند بررسی میشوند.
برای آشنایی با مدل مرجع OSI مقاله “مدل OSI چیست؟” را مطالعه کنید.
برخی از پروتکلهای لایه های OSI عبارتند از:
پروتکلهای لایه فیزیکی یا دیتا لینک در سطح سخت افزار بین دستگاهها ارتباط برقرار میکنند مثلا PPP و DSL و Wi-Fi. برای اینکه دیتا از یک دستگاه به دستگاه دیگر منتقل شود هر دو دستگاه باید از پروتکل لایه فیزیکی یکسان پشتیبانی کنند.
پروتکلهای لایه شبکه یا اینترنت، برای انتقال و مسیریابی دیتا در اینترنت استفاده میشوند. مثل IPv4 و IPv6.
پروتکلهای لایه انتقال، مشخص میکنند بستهها چگونه ارسال و دریافت و تایید میشوند مانند TCP و UDP.
پروتکلهای لایه اپلیکیشن شامل دستوراتی برای اپلیکیشنهای خاص هستند مثل HTTP و IMAP و FTP. مثلا مرورگرهای وب از https برای دانلود امن محتوا از وب سرور استفاده میکنند و یا کلاینتهای ایمیل از SMTP برای ارسال پیامها از طریق ایمیل سرور استفاده میکنند.
پروتکلهای شبکه به سه دسته کلی تقسیم میشوند:
- ارتباطی: پروتکلهای ارتباطی شبکه امکان برقراری ارتباط بین دستگاههای مختلف شبکه را فراهم میکنند و هم در ازتباطات آنالوگ و هم دیجیتال استفاده میشوند. این پروتکلها در پردازشهای متفاوتی مثل انتقال فایل و دسترسی به اینترنت استفاده میشوند.
- مدیریتی: پروتکلهای مدیریت شبکه فرآیندهای مختلفی که برای عملکرد بهینه شبکه کامپیوتری لازم است را مشخص میکنند. این پروتکلها روی دستگاههای شبکه شامل روتر و سرور و کامپیوتر تاثیر دارند تا بهینه کار کردن تمام شبکه را زیرنظر داشته باشند.
- امنیتی: پروتکلهای امنیتی یا رمزنگاری، از دسترسیهای غیرمجاز در شبکه و دیتای انتقالی در شبکه جلوگیری میکنند.
برای استفاده از خدمات طراحی، نصب و راه اندازی شبکه روی لینک بزنید.
آشنایی با انواع پروتکل های شبکه
در این قسمت به معرفی انواع پروتکل های شبکه میپردازیم.
Internet Protocol (IP): پروتکل لایه شبکه است که مسئولیت مسیریابی را به عهده دارد.
Internet Protocol Security (IPsec): برای رمزنگاری و احراز هویت اتصالات IP روی VPN استفاده میشود. از نظر فنی IPsec پروتکل نیست اما مجموعهای از چند پروتکل است:
- Encapsulating Security Protocol (ESP)
- Authentication Header (AH)
- Security Associations (SA)
برای آشنایی بیشتر با پروتکل IPsec مقاله “پروتکل ipsec چیست و چه کاربردی دارد؟” را مطالعه کنید.
Internet Control Message Protocol (ICMP): خطاها را گزارش میدهد و آپدیتهای وضعیت را فراهم میکند. مثلا اگر روتری نتواند بستهای دریافت کند، یک پیغام ICMP به منبع بسته میفرستد.
Internet Group Management Protocol (IGMP): اتصالات یک به چند شبکه را تنظیم میکند. IGMP مالتی تسکینگ را تنظیم میکند یعنی چندین کامپیوتر میتوانند بستههای دیتا را دریافت کنند.
TCP: پروتکل لایه انتقال است و از دریافت دیتا اطمینان حاصل میکند. TCP با IP کار میکند و اغلب در کنار هم استفاده میشوند: TCP/IP. هکرها از پروتکلهای شبکه برای هک استفاده میکنند و بسیاری از این پروتکلها در حملات DDoS به کار میروند. مثلا از شیوه عملکرد TCP در حمله SYN flood attack استفاده میکنند. برای آشنایی بیشتر با پروتکل TCP/IP مقاله “پروتکل tcp/ip چیست؟” را مطالعه کنید.
Hypertext Transfer Protocol (HTTP): پروتکل http چیست؟ http اساس کار اینترنت و تعامل کاربران است، برای انتقال دیتا بین دستگاهها استفاده میشود، در لایه کاربرد – لایه 7 در مدل OSI کار میکند. لایههای پایینتر مدل OSI با سیستم عامل کامپیوتر کار میکنند نه برنامهها.
http دیتا را در فرمتی قرار میدهد تا اپلیکیشنها مثلا مرورگر بتواند مستقیم از آن استفاده کند. این پروتکل اینترنت چگونگی انتقال دیتا روی اینترنت و چگونگی پاسخ وب سرورها و مرورگرها به دستورات را مشخص میکند. در ابتدای URL ها و آدرسهای وب کلمه http را مشاهده میکنید.
HTTPS (HTTP Secure): مشکل http این است که رمزگذاری نمیشود در نتیجه هر هکری میتواند جلوی آن را بگیرد و آن را بخواند. https این مشکل را با رمزگذاری پیامهای http حل میکند.
TLS/SSL: پروتکل Transport Layer Security (TLS) پروتکلی است که https برای رمزگذاری استفاده میکند. TLS قبلا با نام Secure Sockets Layer (SSL) شناخته میشد.
User Datagram Protocol (UDP): در لایه انتقال کار میکند، از TCP سریعتر است اما کمتر قابل اطمینان است. UDP اغلب در سرویسهایی مثل ویدئو استریمینگ و گیمینگ به کار میرود، یعنی جایی که سرعت دریافت دیتا اهمیت دارد.
Secure Socket Shell (SSH): دسترسی امن به کامپیوترها را فراهم میکند حتی اگر آن کامپیوتر در شبکه ناامنی باشد. بیشتر برای ادیمنهای شبکه پروتکل مفیدی است چون میتوانند با آن از راه دور، سیستمهای مختلفی را مدیریت کنند.
Teletype Network (Telnet): این پروتکل امکان برقراری ارتباط کاربر با دستگاه ریموت را میدهد. کاربر با استفاده از نرم افزار Telnet client به رابط کاربری command Line در دستگاه ریموت که برنامه Telnet server را اجرا میکند، دسترسی مییابد. این پروتکل، بیشتر توسط ادمینها به منظور دسترسی و مدیریت دستگاههای ریموت استفاده میشود.
Short Message Service (SMS): این پروتکل ارتباطی، امکان ارسال و درسافت پیام در شبکههای تلفن همراه را فراهم میکند. این پیامها پیامهای متنی هستند . برای عکس یا ویدئو به Multimedia Messaging Service (MMS) نیاز داریم.
File Transfer Protocol (FTP): پروتکل استاندارد اینترنت برای انتقال فایلها بین کامپیوترها در اینترنت است که از ارتباط TCO/IP استفاده میکند. FTP پروتکل کلاینت سروری است که وقتی کلاینت فایلی میخواهد، سرور لوکال یا ریموت، آن را برایش فراهم میکند. برای آشنایی با پروتکل FTP مقاله “همه چیز در مورد پروتکل FTP و کارایی های آن” را بخوانید.
File Transfer Access Method (FTAM): به عنوانFile Transfer Access and Management یا Electronic File Transfer Access Method (EFTAM)هم شناخته میشود. این پروتکل در لایه 7 کار میکند و روشهای انتقال فایل بین کامپیوترهای شبکه شده را مشخص میکند. FTAM مشابه FTM و NFS – Network File System کار میکند.
Simple Mail Transfer Protocol (SMTP): برنامهای است که برای ارسال ایمیلها استفاده میشود. وقتی ایمیلی ارسال میشود، با استفاده از SMTP از یک سرور به سرور دیگر روی اینترنت منتقل میشود به عبارت ساده، ایمیل SMTP ایمیلی است که با استفاده از سرور SMTP ارسال میشود. این پروتکل پروتکل ارسال است درحالی که در سمت دیگر، پروتکلهای POP (post office protocol) یا IMAP (internet message access protocol) هستند تا ایمیلها را دریافت کنند.
برای آشنایی با نحوه کار این پروتکل مقاله “Mail سرور چیست؟” را مطالعه کنید.
Simple Network Management Protocol (SNMP): پروتکل لایه 7 است که برای مانیتورینگ و مدیریت دستگاههای شبکه (مثل روتر و سرور و پرینتر) در شبکه LAN و WAN استفاده میشود و پروتکل مدیریت پهنای باند شامل لود CPUو مصرف حافظه و وضعیت اینترفیس را به عهده دارد.
NetFlow: پروتکل NetFlow از SNMP قویتر است چون مانیتورینگ جریان ترافیک IP را انجام میدهد و میداند ترافیک IP چطور و کجا در حرکت است. این پروتکل نقش مهمی در امنیت شبکه دارد. برای آشنایی بیشتر با این پروتکل مقاله “پروتکل NetFlow چیست؟” را بخوانید.
Server Message Block (SMB): در لایه 7 کار میکند و دسترسی کاربر به منابع و فایلهای موجود در سرور ریموت را فراهم میکند. برای آشنایی بیشتر با پروتکل SMB مقاله “پروتکل SMB چیست و چگونه کار می کند؟” را مطالعه کنید.
Domain Network System (DNS): با وجود پروتکل DSN، به جای اینکه کاربران اینترنت و دستگاههای شبکه از آدرسهای IP برای دسترسی به وب سایتها استفاده کنند، میتوانند از نام های هاست که معنادار هستند این کار را انجام دهند. DNS در واقع کار ترجمه IP به نام دامنه را انجام میدهد.
برای آشنایی بیشتر با نام دامنه و عملکرد DNS مقاله “دامنه چیست؟” را مطالعه کنید.
Point – to – Point Protocol (PPP): پروتکل PPP در پروتکل ارتباطی در لایه فیزیکی است و برای انتقال دیتای چند پروتکلی بین دو کامپیوتری که مستقم به هم وصل هستند (point-to-point) استفاده میشود. پروتکل مبتنی بر بایت است و در ارتباطات Broadband که لود زیاد و سرعت بالا نیاز دارند پرکاربرد است. چون در لایه دیتا لینک کار میکند، دیتا در قالب فریم منتقل میشود.
Dynamic Host Configuration Protocol (DHCP): پروتکل شبکه است که در لایه 7 مدل OSI کار میکند و وظیفه تخصیص آدرس IP به صورت دینامیک به هاست های شبکه را به عهده دارد.
انواع پروتکل های روتینگ در شبکه
در ادامه انواع پروتکل های شبکه که در روترها استفاده میشوند را معرفی میکنیم.
بیشتر بخوانید: پروتکل ARP چیست و چه انواعی دارد؟
روترهای شبکه از پروتکلهای خاصی استفاده میکنند تا بهترین مسیرها را به دیگر روترها پیدا کنند. این پروتکلها برای انتقال دیتای کاربر استفاده نمیشوند. مهمترین پروتکل های مسیریابی در شبکه عبارتند از:
Border Gateway Protocol (BGP): پروتکل لایه اپلیکیشن است که برای برادکست کردن از آن استفاده میشود و روتر تصمیم میگیرد بستههای دیتای شبکه را از کدام مسیر به مقصد برساند.
Enhanced Interior Gateway Routing Protocol (EIGRP): فاصله بین روترها را مشخص میکند. EIGRP به صورت اتوماتیک، رکوردهای هر روتر (جدول مسیریابی) را با بهترین مسیرها آپدیت میکند سپس این آپدیتها را به دیگر روترهای شبکه برادکست میکند.
Open Shortest Path First (OSPF): کاراترین مسیرهای شبکه را بر اساس فاکتورهای مختلف، مثلا فاصله و پهنای باند، محاسبه میکند.
Routing Information Protocol (RIP): پروتکل مسیریابی قدیمیتری است که فواصل بین روترها را مشخص میکند و پروتکل لایه اپلیکیشن است.
دانلود انواع پروتکل های شبکه pdf
پروتکل ها از چی درست میشن؟کدهای برنامه نویسی؟
درود بر شما
محمد عزیز، پروتکل ها کدهای برنامه نویسی نیستند. بلکه قوانین، قواعد و استاندارد می باشند. پروتکل ها اغلب در نرم افزار پیاده سازی می شوند و برنامه نویسان از زبان های برنامه نویسی برای نوشتن کدی که از این پروتکل ها پیروی می کند استفاده می کنند. به عنوان مثال، یک توسعه دهنده ممکن است از پایتون برای نوشتن برنامه ای استفاده کند که از طریق HTTP (یک پروتکل) ارتباط برقرار کند که قوانین مربوط به HTTP را در برنامه خود قرار می دهد.