تشریح فنی DHCP و DNS و Three-way Handshake

درک عمیق از پروتکل‌های اساسی شبکه مانند **DHCP** (Dynamic Host Configuration Protocol) و **DNS** (Domain Name System) و همچنین فرآیند **TCP Three-way Handshake** برای هر متخصص شبکه و امنیت اطلاعات حیاتی است. این پروتکل‌ها ستون فقرات ارتباطات در دنیای دیجیتال را تشکیل می‌دهند و تضمین می‌کنند که دستگاه‌ها می‌توانند آدرس IP دریافت کنند، نام دامنه‌ها را به IP تبدیل کنند و ارتباطات قابل اعتماد برقرار نمایند.

پروتکل DHCP (Dynamic Host Configuration Protocol)

DHCP یک پروتکل لایه Application است که برای اختصاص خودکار آدرس‌های IP و سایر پارامترهای پیکربندی شبکه (مانند Subnet Mask، Default Gateway، و DNS Server) به دستگاه‌های کلاینت در یک شبکه استفاده می‌شود. این پروتکل بر بستر **UDP** (User Datagram Protocol) عمل می‌کند و یک پروتکل Connectionless است، به این معنی که نیازی به ایجاد اتصال پایدار قبل از ارسال داده ندارد. این ویژگی باعث سرعت بالا در تبادل پیام‌ها می‌شود، اما تضمینی برای رسیدن بسته به مقصد وجود ندارد.

پورت‌های DHCP

عملیات DORA (Discover, Offer, Request, Acknowledge)

فرآیند اختصاص آدرس IP توسط DHCP از چهار مرحله اصلی تشکیل شده است:

مدیریت Lease و Error Recovery در DHCP

پروتکل DNS (Domain Name System)

DNS یک سیستم توزیع‌شده و سلسله‌مراتبی برای ترجمه نام‌های دامنه (مانند www.google.com) به آدرس‌های IP (مانند 172.217.160.132) است و بالعکس. این پروتکل امکان دسترسی به منابع شبکه با استفاده از نام‌های قابل فهم برای انسان را فراهم می‌کند.

پورت‌های DNS

عملیات DNS Resolution

فرآیند ترجمه نام دامنه به آدرس IP:

انواع رکوردهای DNS

DNS از انواع مختلفی از رکوردها برای نگاشت اطلاعات مختلف استفاده می‌کند:

Error Handling و Robustness در DNS

TCP Three-way Handshake

Three-way Handshake فرآیندی است که توسط پروتکل TCP (Transmission Control Protocol) برای برقراری یک اتصال Connection-oriented (اتصال‌گرا) بین دو هاست (معمولاً یک کلاینت و یک سرور) استفاده می‌شود. TCP بر خلاف UDP، یک پروتکل قابل اطمینان است که تحویل تضمین‌شده داده‌ها و کنترل جریان را فراهم می‌کند. این فرآیند از سه مرحله اصلی تشکیل شده است:

پورت‌ها در TCP Three-way Handshake

مراحل Three-way Handshake

Connection-oriented vs. Connectionless (TCP vs. UDP)