آموزش جامع عیب‌یابی شبکه لایه ۲ تا لایه ۴
نسخه نهایی کامل – تمام نکات (نسخه بازبینی شده)

مستند کامل برای دانشجویان مهندسی شبکه، امنیت سایبری، CCNA/CCNP/CCIE

تاریخ انتشار: ۱ آذر ۱۴۰۴ (۲۱ نوامبر ۲۰۲۵)

۱. ICMP — یک پروتکل مستقل لایه ۳

ICMP (Protocol Number = 1) و ICMPv6 (Protocol Number = 58) مستقیماً درون بسته IP کپسوله می‌شوند.
نکتهICMP از TCP یا UDP استفاده نمی‌کند و پورت ندارد.

توضیح آموزشی (مختصر و کاربردی): ICMP برای گزارش خطا و تبادل پیام‌های کنترلی استفاده می‌شود — مانند پاسخ پینگ (Echo) یا پیام‌های «Destination Unreachable» و «Time Exceeded». وقتی با ابزارهایی مانند ping یا traceroute کار می‌کنید، معمولاً با ICMP سر و کار دارید.

Ethernet Header → IP Header (Protocol: 1 = ICMP) → ICMP Header → Payload

منابع: RFC 792 (ICMPv4) – RFC 4443 (ICMPv6)

راهنمای عملی: اگر پینگ کار نمی‌کند ولی IP لایهٔ شبکه به‌نظر درست است، از Capture پکت (با Wireshark یا tcpdump) بررسی کنید که آیا بسته ICMP ارسال می‌شود و آیا پاسخ برمی‌گردد. به فیلترهای فایروال و سیاست‌های ACL در مسیر توجه داشته باشید: بسیاری از فایروال‌ها ICMP را مسدود می‌کنند.

۲. ARP قبل از اولین Ping (فرایند حل آدرس)

ترتیب دقیق در شبکه محلی (IPv4):
۱. ARP Request (Broadcast) (شامل Gratuitous ARP)
۲. ARP Reply (Unicast)
۳. ICMP Echo Request → Echo Reply

اولین پینگ همیشه ۱–۱۰ میلی‌ثانیه کندتر است زیرا فرآیند ARP باید انجام شود.

توضیح آموزشی: ARP آدرس لایهٔ ۳ (IPv4) را به MAC لایهٔ ۲ نگاشت می‌کند. وقتی میزبان می‌خواهد برای اولین بار برای آدرس مقصد در همان LAN پینگ بفرستد، ابتدا ARP برای به‌دست آوردن آدرس MAC مقصد ارسال می‌کند. اگر ARP کش موجود نباشد، تا پاسخ ARP منتظر می‌ماند — همین باعث تأخیر اولیه می‌شود.

No. Time       Source            Destination       Protocol Info
 1  0.000000   00:1a:2b:3c:4d:5e  ff:ff:ff:ff:ff:ff ARP      Who has 192.168.1.10? Tell 192.168.1.5
 2  0.002145   00:5e:6f:78:90:ab 00:1a:2b:3c:4d:5e ARP      192.168.1.10 is at 00:5e:6f:78:90:ab
 3  0.002500   192.168.1.5       192.168.1.10      ICMP     Echo (ping) request
 4  0.004100   192.168.1.10      192.168.1.5       ICMP     Echo (ping) reply

RFC 826 (Address Resolution Protocol)

راهنمای عملی: برای مشکل‌زدایی:

۳. حداکثر ظرفیت دستگاه در سوئیچ و روتر (بر اساس دیتاشیت)

سوئیچ‌های لایه ۲ (MAC Address Table / CAM Table):
• Cisco Catalyst 9200/9300: تا ۳۲٬۰۰۰ MAC
• Cisco Catalyst 9400/9600 (Core/Distribution): تا ۲۵۶٬۰۰۰ MAC
• Cisco Nexus 9000 (Data Center): تا ۱٬۰۰۰٬۰۰۰ MAC

روترها (ARP Table / Route Table):
• Cisco ISR 4000 Series: تا ۱۲۸٬۰۰۰ ورودی ARP
• Cisco ASR 1000/9000: تا ۴٬۰۰۰٬۰۰۰ ورودی جدول مسیریابی (Routing Table)

منبع: Cisco Official Data Sheets – Catalyst & Nexus Series

توضیح آموزشی: ظرفیت‌های CAM/ARP/RIB مهم هستند تا بدانیم چه تعداد میزبان یا مسیر یک دستگاه می‌تواند اداره کند. وقتی تعداد ورودی‌ها به آستانهٔ سخت‌افزاری می‌رسد، دستگاه ممکن است ورودی‌ها را ری‌استور کند یا وارد حالت software fallback شود که عملکرد شبکه را کند می‌کند.

راهنمای عملی:

۴. TCP 3-Way Handshake، حالات اتصال و پایان

شرح کوتاه: TCP برای اتصال‌های قابل اطمینان از الگوی 3-way handshake استفاده می‌کند (SYN → SYN-ACK → ACK). پایان اتصال معمولاً ۴-way انجام می‌شود (FIN/ACK/FIN/ACK) مگر اینکه RST صادر شود.

روند 3-Way
مرحلهپکتفلگ‌هاSeq / Ackتوضیح
۱SYNSYN=1Seq = xClient: درخواست اتصال
۲SYN-ACKSYN=1, ACK=1Seq = y, Ack = x+1Server: موافقم و آماده‌ام
۳ACKACK=1Ack = y+1اتصال ESTABLISHED شد

پایان اتصال (Graceful Shutdown – ۴-Way)

Client → FIN → Server  (پایان ارسال)
Client ← ACK ← Server   (تایید FIN)
Client ← FIN ← Server  (پایان دریافت)
Client → ACK → Server  → CLOSED

حالات اتصال TCP (کلیدی برای netstat)

رد اتصال (Reset - RST)

RFC 793 (Transmission Control Protocol)

راهنمای عملی: برای عیب‌یابی اتصال TCP:

۵. TTL (Time To Live) و حداکثر تعداد Hop

سیستم‌عامل / تجهیزTTL پیش‌فرض
Microsoft Windows۱۲۸
Linux / macOS / BSD۶۴
Cisco IOS / IOS-XE / NX-OS۲۵۵
Juniper JunOS۶۴ یا ۲۵۵

رفتار تجهیزات مختلف با TTL

تجهیزکاهش TTLتولید ICMP Time Exceeded
روتر (Router)بله (همیشه)بله (پیش‌فرض)
سوئیچ لایه ۲خیرخیر
سوئیچ لایه ۳بله (فقط هنگام مسیریابی)بله
فایروالبله (معمولاً)اغلب بلاک می‌شود
اگر TTL به ۰ برسد، روتر بسته را دراپ کرده و ICMP Type 11 Code 0 (Time Exceeded) برمی‌گرداند. (اساس کار Traceroute) بیش از ۴۰ هپ تقریباً همیشه نشان‌دهنده Loop در شبکه است.

RFC 791 (Internet Protocol)

راهنمای عملی: برای تشخیص مشکلات مسیر از traceroute استفاده کنید و به hopهایی که پاسخ نمی‌دهند یا زمان‌ زیادی مصرف می‌کنند توجه کنید. اگر hopها نشان‌دهنده loop باشند، بررسی تنظیمات مسیر (static route / BGP / IGP) لازم است.

۶. انواع پیام‌های ICMP (کامل)

TypeنامCode مهمکاربرد
0Echo Reply0پاسخ پینگ
8Echo Request0درخواست پینگ
3Destination Unreachable0: Net, 1: Host, 3: Port, 4: Frag Needed, 13: Admin Prohibitedمقصد در دسترس نیست
11Time Exceeded0: TTL expiredTraceroute
5Redirect0–3مسیر بهتر وجود دارد
13Timestamp Request0درخواست زمان (سنجش تاخیر)
14Timestamp Reply0پاسخ زمان

راهنمای عملی: هنگام مواجهه با پیام‌های ICMP «Destination Unreachable» به کد آن توجه کنید — مثلاً Code 3 (Port Unreachable) به شما می‌گوید که پورت مقصد بسته است و نیاز به بازبینی سرویس/فایروال دارد.

۷. دستورات Ping و Traceroute/Tracert – سوئیچ‌ها

سوئیچ‌های مهم Ping

ویندوزLinux/macOSتوضیح
-t(Ctrl+C برای توقف)مداوم
-n count-c countتعداد بسته
-l size-s sizeاندازه payload
-f-M doDon't Fragment (DF-bit)
-i TTL-t TTLتنظیم TTL

پیاده‌سازی Traceroute

دستورات مدیریت ARP Cache

ویندوزLinux/macOSتوضیح
arp -aip neigh showنمایش جدول کش
arp -d *ip neigh flush allپاک کردن کل کش
arp -s IP MACip neigh add IP lladdr MAC dev eth0ورودی استاتیک

راهنمای عملی: اگر traceroute مسیر نشاندار ندارد (یا پاسخ نمی‌دهد)، سعی کنید تکنیک‌های مختلف (ICMP، UDP، TCP) را امتحان کنید تا ببینید کدام پروتکل در مسیر مجاز است.

۸. Neighbor Discovery Protocol (NDP) در IPv6

در IPv6، NDP جایگزین ARP می‌شود. پیام‌های NDP در واقع همان پیام‌های ICMPv6 هستند.
Type ICMPv6نامکاربرد
135Neighbor Solicitation (NS)معادل ARP Request
136Neighbor Advertisement (NA)معادل ARP Reply
133Router Solicitation (RS)درخواست روتر
134Router Advertisement (RA)اعلام پیشوند، Gateway، DNS

RFC 4861 (Neighbor Discovery for IP version 6)

نکتهٔ عملی: برای دیباگ IPv6 همیشه به پیام‌های NDP نگاه کنید — به‌ویژه RS/RA که اطلاعات پیکربندی خودکار (SLAAC) را فراهم می‌کند. ابزارهایی مثل ndisc6 و rdisc6 در لینوکس مفیدند.

۹. NSLOOKUP، DIG و انواع رکوردهای DNS

ابزارهای پرس‌وجو DNS

nslookup google.com 8.8.8.8
dig @1.1.1.1 MX microsoft.com
host -t AAAA ipv6.google.com

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

رکوردتوضیح
AIPv4 Address
AAAAIPv6 Address
MXMail Exchanger (میل سرور)
CNAMECanonical Name (نام مستعار)
TXTText (مثلاً برای SPF و DKIM)
PTRReverse DNS (برعکس‌سازی IP به Name)

راهنمای عملی: برای بررسی تاخیرهای DNS و علت خطاها، از dig +trace استفاده کنید تا ببینید پرس‌وجو از کدام سرورهای سطحی عبور می‌کند. رکوردهای TTL بالاتر/پایین‌تر می‌توانند تأثیر بسزایی روی سرعت و propagation داشته باشند.

جمع‌بندی نهایی – ترتیب کامل ارتباط در شبکه محلی

IPv4 (مثل Ping):
ARP Request → ARP Reply → ICMP Echo Request (TTL=128/64) → هر روتر TTL-- → Echo Reply

IPv6 (مثل Ping):
NS (Multicast solicited-node) → NA → ICMPv6 Echo Request

TCP (وب/SSH):
ARP/NS → TCP SYN → SYN-ACK → ACK (اتصال ESTABLISHED) → انتقال داده → FIN/FIN/ACK/ACK

این نسخه کامل‌ترین و جامع‌ترین مستند عیب‌یابی شبکه است — تهیه‌شده برای دانشجویان مهندسی شبکه ایران.

منابع اصلی: RFC 791, 792, 793, 826, 1035, 4443, 4861 • Data Sheets Cisco/Juniper
تهیه‌شده برای دانشجویان مهندسی شبکه ایران – ۱ آذر ۱۴۰۴