ایده‌ات را بگو؛ با هوش مصنوعی می‌سازیمش

مبانی شبکه

مبانی شبکه؛ مدل OSI و TCP/IP، آدرس IP، Subnet، Gateway، NAT

شبکه چیست؟

شبکه مجموعه‌ای از دستگاه‌هاست که می‌توانند با هم داده رد و بدل کنند. هر دستگاه سه چیز اصلی دارد:

  • MAC Address: شناسه‌ی سخت‌افزاری کارت شبکه، مثل 3c:52:82:aa:bb:cc. فقط در شبکه‌ی محلی (LAN) معنا دارد.
  • IP Address: آدرس منطقی برای مسیریابی، مثل 192.168.1.10.
  • Port: شماره‌ای که مشخص می‌کند داده برای کدام برنامه است، مثل 443 برای HTTPS.

مدل OSI و TCP/IP

مدل OSI داده را در ۷ لایه توصیف می‌کند. در عمل، اینترنت از مدل ساده‌تر TCP/IP استفاده می‌کند:

لایه TCP/IPلایه‌های OSIنمونه‌هاواحد داده
Application۵ تا ۷HTTP، DNS، SSH، TLSMessage
Transport۴TCP، UDPSegment / Datagram
Internet۳IP، ICMPPacket
Network Access۱ و ۲Ethernet، Wi-Fi، ARPFrame

ایده‌ی کلیدی: Encapsulation. هر لایه یک هدر به داده اضافه می‌کند. مثلاً یک درخواست HTTP داخل segment تی‌سی‌پی، داخل packet آی‌پی و داخل frame اترنت حمل می‌شود.

آدرس IP: IPv4 و IPv6

IPv4

یک عدد ۳۲ بیتی به شکل چهار بخش ۸ بیتی: 192.168.1.10.

IPv6

عدد ۱۲۸ بیتی به شکل هگزادسیمال: 2001:db8::1. کمبود آدرس IPv4 دلیل اصلی ساخته شدن آن است.

محدوده‌های خصوصی (Private) IPv4

محدودهکاربرد معمول
10.0.0.0/8شبکه‌های بزرگ و سازمانی
172.16.0.0/12شبکه‌های متوسط و Docker
192.168.0.0/16مودم خانگی و LAN
127.0.0.1localhost (خود دستگاه)

Subnet و CIDR

نماد 192.168.1.0/24 یعنی ۲۴ بیت اول شبکه است و ۸ بیت باقی‌مانده برای دستگاه‌ها.

CIDRSubnet Maskتعداد آدرسآدرس‌های قابل استفاده
/8255.0.0.016,777,21616,777,214
/16255.255.0.065,53665,534
/24255.255.255.0256254
/30255.255.255.25242 (لینک point-to-point)

قانون محاسبه: تعداد آدرس‌ها = 2^(32 - prefix). از این تعداد، آدرس شبکه (اولین) و Broadcast (آخرین) کم می‌شوند.

تمرین ذهنی

  • 10.0.0.0/22 چند آدرس دارد؟ 2^(32-22) = 1024. بازه از 10.0.0.0 تا 10.0.3.255 است.
  • آیا 192.168.1.200 در 192.168.1.0/24 است؟ بله، چون سه اکتت اول یکی است.

ابزار محاسبه

ipcalc 192.168.1.0/24         # نیاز به sudo apt install ipcalc

Gateway و مسیریابی

  • Gateway (دروازه): آدرس روتری که ترافیک خارج از subnet را به آن می‌فرستی.
  • Routing Table: جدولی که می‌گوید هر مقصد از کدام اینترفیس و کدام gateway برود.
ip route show                 # جدول مسیریابی
ip route get 8.8.8.8         # مسیر انتخاب‌شده برای یک مقصد
ip -br a                      # IPها روی هر اینترفیس

خروجی نمونه: default via 192.168.1.1 dev enp3s0 یعنی همه‌ی ترافیک ناشناخته از enp3s0 به 192.168.1.1 می‌رود.

NAT (Network Address Translation)

روترهای خانگی یک IP عمومی دارند و کل شبکه‌ی خصوصی را پشت آن پنهان می‌کنند.

  • ترافیک خروجی: IP مبدأ خصوصی (192.168.1.10) با IP عمومی روتر جایگزین می‌شود.
  • پاسخ‌ها برگشت داده می‌شوند چون روتر جدول ترجمه را نگه می‌دارد.

نتیجه: از بیرون نمی‌توانی مستقیم به 192.168.1.10 وصل شوی؛ برای این کار باید Port Forwarding یا Public IP داشته باشی. این موضوع در WireGuard مهم است.

curl ifconfig.me              # IP عمومی فعلی (از بیرون NAT)

DNS در یک نگاه

دامنه‌ها (example.com) را به IP تبدیل می‌کند. جزئیات در فایل بعدی آمده است.

پیشرفته: ARP، VLAN و بسته‌بندی

  • ARP: IP را به MAC در شبکه‌ی محلی تبدیل می‌کند. ip neigh show جدول ARP را نشان می‌دهد.
  • VLAN: تقسیم یک سوئیچ فیزیکی به چند شبکه‌ی منطقی با برچسب 802.1Q.
  • MTU: بیشینه‌ی اندازه‌ی فریم. در VPN معمولاً کمتر از 1500 است (مثلاً 1420 برای WireGuard) چون هدر تونل اضافه می‌شود.
ip link show                  # MTU و وضعیت اینترفیس‌ها
ping -M do -s 1372 1.1.1.1    # تست MTU با بسته‌ی بزرگ و بدون fragment

خلاصه

  • IP مشخص می‌کند «کجا»، پورت مشخص می‌کند «کدام برنامه».
  • Subnet مشخص می‌کند کدام آدرس‌ها در یک شبکه‌ی محلی هستند.
  • Gateway و جدول مسیریابی مشخص می‌کند ترافیک خارج از شبکه کجا برود.
  • NAT شبکه‌ی خصوصی را پشت یک IP عمومی پنهان می‌کند.

ایده‌ای دارید؟ برایمان بگویید

مشاوره و پیشنهاد اولیه رایگان است.

تماس با ما