درک عمیق از پروتکلهای اساسی شبکه مانند **DHCP** (Dynamic Host Configuration Protocol) و **DNS** (Domain Name System) و همچنین فرآیند **TCP Three-way Handshake** برای هر متخصص شبکه و امنیت اطلاعات حیاتی است. این پروتکلها ستون فقرات ارتباطات در دنیای دیجیتال را تشکیل میدهند و تضمین میکنند که دستگاهها میتوانند آدرس IP دریافت کنند، نام دامنهها را به IP تبدیل کنند و ارتباطات قابل اعتماد برقرار نمایند.
DHCP یک پروتکل لایه Application است که برای اختصاص خودکار آدرسهای IP و سایر پارامترهای پیکربندی شبکه (مانند Subnet Mask، Default Gateway، و DNS Server) به دستگاههای کلاینت در یک شبکه استفاده میشود. این پروتکل بر بستر **UDP** (User Datagram Protocol) عمل میکند و یک پروتکل Connectionless است، به این معنی که نیازی به ایجاد اتصال پایدار قبل از ارسال داده ندارد. این ویژگی باعث سرعت بالا در تبادل پیامها میشود، اما تضمینی برای رسیدن بسته به مقصد وجود ندارد.
فرآیند اختصاص آدرس IP توسط DHCP از چهار مرحله اصلی تشکیل شده است:
0.0.0.0 و آدرس مقصد 255.255.255.255 (Broadcast IP) است.# DHCP Discover Packet (Simplified)
# Source IP: 0.0.0.0
# Destination IP: 255.255.255.255 (Broadcast)
# Source Port: 68 (DHCP Client)
# Destination Port: 67 (DHCP Server)
# Message Type: Discover (1)
# Transaction ID: [Unique ID]
# Client MAC Address: [Client's MAC]# DHCP Offer Packet (Simplified)
# Source IP: [DHCP Server IP]
# Destination IP: 255.255.255.255 (Broadcast) or [Client IP (if known)]
# Source Port: 67 (DHCP Server)
# Destination Port: 68 (DHCP Client)
# Message Type: Offer (2)
# Transaction ID: [Matching Discover ID]
# Offered IP Address: 192.168.1.100
# Subnet Mask: 255.255.255.0
# Default Gateway: 192.168.1.1
# DNS Server: 8.8.8.8
# Lease Time: 3600 seconds# DHCP Request Packet (Simplified)
# Source IP: 0.0.0.0
# Destination IP: 255.255.255.255 (Broadcast)
# Source Port: 68 (DHCP Client)
# Destination Port: 67 (DHCP Server)
# Message Type: Request (3)
# Requested IP Address: 192.168.1.100
# DHCP Server Identifier: [IP of selected DHCP Server]# DHCP ACK Packet (Simplified)
# Source IP: [DHCP Server IP]
# Destination IP: [Client IP (now known)] or 255.255.255.255
# Source Port: 67 (DHCP Server)
# Destination Port: 68 (DHCP Client)
# Message Type: ACK (5)
# Client IP Address: 192.168.1.100
# Subnet Mask: 255.255.255.0
# Default Gateway: 192.168.1.1
# DNS Server: 8.8.8.8
# Lease Time: 3600 secondsDNS یک سیستم توزیعشده و سلسلهمراتبی برای ترجمه نامهای دامنه (مانند www.google.com) به آدرسهای IP (مانند 172.217.160.132) است و بالعکس. این پروتکل امکان دسترسی به منابع شبکه با استفاده از نامهای قابل فهم برای انسان را فراهم میکند.
فرآیند ترجمه نام دامنه به آدرس IP:
www.example.com) را در مرورگر وارد میکند. سیستم عامل ابتدا Local DNS Cache خود را بررسی میکند. اگر آدرس یافت نشود، درخواست به Local DNS Resolver (که معمولاً در روتر خانگی یا سرویسدهنده اینترنت ISP شما تنظیم شده است) ارسال میشود.# Root Server Response Example (Simplified)
# Query: www.example.com
# Response: Refer to .com TLD Server: [IP Address of .com TLD DNS Server].com) درخواست میدهد.example.com) را به Local DNS Resolver برمیگرداند.# TLD Server Response Example (Simplified)
# Query: www.example.com
# Response: Refer to Authoritative Server for example.com: [IP Address of example.com DNS Server]www.example.com است) درخواست میدهد.www.example.com را به Local DNS Resolver برمیگرداند.# Authoritative Server Response Example (Simplified)
# Query: www.example.com
# Response: www.example.com IN A 93.184.216.34 (Actual IP Address)93.184.216.34 متصل میشود.DNS از انواع مختلفی از رکوردها برای نگاشت اطلاعات مختلف استفاده میکند:
example.com. IN A 93.184.216.34example.com. IN AAAA 2001:0db8::1www.example.com. IN CNAME example.com.example.com. IN MX 10 mail.example.com.34.216.184.93.in-addr.arpa. IN PTR example.com.example.com. IN NS ns1.example.com.example.com. IN SOA ns1.example.com. hostmaster.example.com. (
2023010101 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)_sip._tcp.example.com. IN SRV 0 5 5060 sipserver.example.com.example.com. IN TXT "v=spf1 include:_spf.google.com ~all"Three-way Handshake فرآیندی است که توسط پروتکل TCP (Transmission Control Protocol) برای برقراری یک اتصال Connection-oriented (اتصالگرا) بین دو هاست (معمولاً یک کلاینت و یک سرور) استفاده میشود. TCP بر خلاف UDP، یک پروتکل قابل اطمینان است که تحویل تضمینشده دادهها و کنترل جریان را فراهم میکند. این فرآیند از سه مرحله اصلی تشکیل شده است:
# Client sends SYN
# Source IP: [Client IP], Source Port: [Ephemeral Port]
# Destination IP: [Server IP], Destination Port: [Service Port (e.g., 80, 443)]
# Flags: SYN set
# Sequence Number (Seq): X (e.g., 1000)
# Window Size: [Client's Receive Window]# Server sends SYN-ACK
# Source IP: [Server IP], Source Port: [Service Port]
# Destination IP: [Client IP], Destination Port: [Ephemeral Port]
# Flags: SYN, ACK set
# Sequence Number (Seq): Y (e.g., 2000)
# Acknowledgment Number (Ack): X + 1 (e.g., 1001)
# Window Size: [Server's Receive Window]# Client sends final ACK
# Source IP: [Client IP], Source Port: [Ephemeral Port]
# Destination IP: [Server IP], Destination Port: [Service Port]
# Flags: ACK set
# Sequence Number (Seq): X + 1 (e.g., 1001)
# Acknowledgment Number (Ack): Y + 1 (e.g., 2001)