📘 شبکههای کامپیوتری / Computer Networks
📝 معرفی
این repo به زبان انگلیسی نوشته شده است، چرا که دانشجویان کامپیوتر نیاز دارند با زبان انگلیسی آشنا باشند و بتوانند مفاهیم انگلیسی را درک کنند. بیشتر مفاهیم شبکههای کامپیوتری به انگلیسی هستند، بنابراین بهتر است درسها را به زبان انگلیسی مطالعه کنید.
با این حال، من، یک 🎥 ویدیو آموزشی آماده کردهام که نحوه استفاده از یادداشتهای انگلیسی، ایجاد سوال، خلاصهسازی یا ترجمه از انگلیسی به فارسی برای استفاده بهتر را نشان میدهد.
📄 فایل های مرتبط با دوره
تعدادی فایل PDF مرتبط با این دوره در repo موجود هستند و میتوانید آنها را دانلود و مطالعه کنید:
📈 یادگیری تصویری و تعاملی
این دفترچه شامل نمودارهای ASCII، فلوچارتهای Mermaid و ابزارهای تصویری دیگر مستقیماً در Markdown برای درک مفهومی بهتر است.
میتوانید آزادانه در درسها حرکت کرده و هر درس را بهصورت تصویری و تعاملی در وبسایت GitHub Pages بررسی کنید.
🧠 نحوه استفاده از این دفترچه
- از ابتدای دفترچه شروع کرده و به ترتیب درسها را مطالعه کنید.
- میتوانید بین درسها بر اساس تمرکز فعلی خود جابهجا شوید — هر درس مستقل است.
- نمودارها، یادداشتها و مثالها برای ارجاع سریع و یادگیری پیشرونده طراحی شدهاند.
⚙️ ویژگیها و نکات repo
- فعال بودن GitHub Pages: دسترسی به دفترچه بهصورت وبسایت زنده.
- یادداشتهای هوشمند: امکان استفاده از ابزارهایی مانند Git Ingest یا سیستمهای بازیابی محلی هوش مصنوعی برای پرسش و پاسخ تعاملی.
- درسها مدولار هستند و به راحتی با مفاهیم و تمرینهای جدید قابل گسترشاند.
📚 فهرست درسها
- سوئیچینگ مداری — 🔗 مشاهده درس 1
- سوئیچینگ پیامی — 🔗 مشاهده درس 2
- سوئیچینگ سلولی (Packet) — 🔗 مشاهده درس 3
- مرور سوئیچینگ، مدار مجازی، دیتاگرام و سیگنالها — 🔗 مشاهده درس 4
- رسانههای انتقال، امواج و انتشار بیسیم — 🔗 مشاهده درس 5
- لایه داده (لایه ۲) — 🔗 مشاهده درس 6
7A. کنترل خطا (عمقی)، کد هامینگ، CRC — 🔗 مشاهده درس 7A
7B. بررسی کامل کنترل جریان — 🔗 مشاهده درس 7B
📘 Introduction
Author: Pahlavanian Mohammad
Format: Progressive Summary Notebook (Markdown-based)
Purpose: To build a clear, visual, and modular understanding of Computer Networks — one “Lesson” at a time.
📈 Visual & Interactive Learning
This notebook integrates ASCII diagrams, Mermaid flowcharts, and other visual aids directly in Markdown for conceptual clarity.
Navigate freely and explore each lesson visually and interactively through the GitHub Pages website.
🧠 How to Use This Notebook
- Start from the top and follow sequentially for structured learning.
- Jump between lessons based on your current study focus — every lesson is self-contained.
- Diagrams, notes, and examples are designed for easy reference and progressive learning.
⚙️ Repository Features & Tips
- GitHub Pages Enabled: Access this notebook like a live website.
- Smart Notes: Optionally, integrate tools like Git Ingest or other local AI retrieval systems for interactive querying and smart study.
- Lessons are modular — easily expandable with new concepts and exercises.
📚 Lesson Index
- Circuit Switching — Understand physical circuit switching, analog vs. digital signals, subswitch hierarchy, and setup/busy line problems. — 🔗 View Lesson 1
- Message Switching — Explore message forwarding, node processing time, ACK/NACK system, and the store-and-forward mechanism. — 🔗 View Lesson 2
- Cell (Packet) Switching — Learn how messages are divided into packets (cells), with virtual circuits and datagram methods explained. — 🔗 View Lesson 3
- Switching Review, Virtual Circuits, Datagrams, and Signals — A review of switching concepts and introduction to signals in networks. — 🔗 View Lesson 4
- Transmission Media, Waves, Wireless Propagation — Covers physical media, wave behavior, and wireless communication principles. — 🔗 View Lesson 5
- Data Link Layer (Layer 2) — Dive into framing, MAC addressing, and link-layer protocols. — 🔗 View Lesson 6
7A. Error Control (Deep Dive), Hamming Code, CRC — Detailed coverage of error detection and correction methods, including practical examples. — 🔗 View Lesson 7A
7B. Flow Control Full Breakdown — Complete analysis of flow control mechanisms and strategies in data communication. — 🔗 View Lesson 7B
⚜️ Maintained by
Mohammad Pahlavanian
⚜️ “Build knowledge like a network — one connection at a time.” ⚜️