شبکه‌های کامپیوتری

مدرس: دکتر امیرمهدی صادق‌زاده پیش‌نیاز: برنامه‌سازی پایتون
ترم: محل برگزاری: کلاس مجازی
زمان ارائه: یک‌شنبه ۱۴:۰۰ تا ۱۷:۰۰ مشاهده: دریافت لایسنس

معرفی درس

شبکه‌های کامپیوتری؛ از مبانی ارتباطات اینترنتی تا فناوری‌های نوین شبکه

شبکه‌های کامپیوتری زیرساخت اصلی ارتباط میان سامانه‌های دیجیتال و تبادل اطلاعات در اینترنت هستند. از ارسال یک پیام ساده و باز کردن یک صفحه وب تا ارتباط میان مراکز داده، پخش محتوای چندرسانه‌ای و اجرای برنامه‌های توزیع‌شده، همگی به مجموعه‌ای از پروتکل‌ها و سازوکارهای شبکه وابسته‌اند. آشنایی با این مفاهیم به شما کمک می‌کند درک عمیق‌تری از نحوه عملکرد اینترنت و سامانه‌های متصل به آن به دست آورید.

در این درس، با مفاهیم اساسی شبکه‌های کامپیوتری و سازوکارهای انتقال داده آشنا می‌شوید. موضوعاتی مانند سوئیچینگ بسته‌های IP، آدرس‌دهی و مسیریابی، پروتکل‌های TCP و UDP، کنترل ازدحام و سازوکارهای مرتبط با نام‌گذاری و پیکربندی شبکه، از جمله DNS، DHCP و ARP، بخش مهمی از محتوای درس را تشکیل می‌دهند. همچنین با نقش سوئیچ‌ها، پل‌ها و اتصالات شبکه در انتقال داده و ارتباط میان دستگاه‌ها آشنا خواهید شد.

در ادامه، مباحث پیشرفته‌تری مانند الگوریتم‌های مسیریابی، پروتکل BGP، شبکه‌های همتا‌به‌همتا، جریان‌سازی چندرسانه‌ای، شبکه‌های توزیع محتوا (CDN) و شبکه‌های مبتنی بر نرم‌افزار بررسی می‌شوند. برنامه‌سازی مبتنی بر سوکت و آشنایی با میان‌افزار نیز به درک بهتر ارتباط میان برنامه‌های کاربردی و زیرساخت شبکه کمک می‌کنند. در کنار این مباحث، شبکه‌های بی‌سیم و همراه و تفاوت رویکردهای مختلف انتقال و مدیریت داده در شبکه نیز مورد توجه قرار می‌گیرند.

در پایان این درس چه توانایی‌هایی کسب می‌کنید؟

با گذراندن این درس، انتظار می‌رود بتوانید:

  • مفاهیم پایه شبکه‌های کامپیوتری و نقش آن‌ها در ارتباط میان سامانه‌ها را توضیح دهید.
  • سازوکار سوئیچینگ بسته‌های IP و اصول آدرس‌دهی و هدایت بسته‌ها را درک کنید.
  • تفاوت‌ها و کاربردهای پروتکل‌های انتقال TCP و UDP و مفهوم کنترل ازدحام را توضیح دهید.
  • با نقش DNS، DHCP و ARP در نام‌گذاری، پیکربندی و برقراری ارتباط در شبکه آشنا شوید.
  • عملکرد سوئیچ‌ها، پل‌ها و اتصالات شبکه را در انتقال داده بشناسید.
  • اصول مسیریابی مبتنی بر حالت اتصال، بردار فاصله و بردار مسیر را درک کنید و با نقش پروتکل BGP در مسیریابی اینترنت آشنا شوید.
  • با مبانی برنامه‌سازی مبتنی بر سوکت و ارتباط برنامه‌های کاربردی از طریق شبکه آشنا شوید.
  • سازوکارهای شبکه‌های همتا‌به‌همتا، جریان‌سازی چندرسانه‌ای و شبکه‌های توزیع محتوا را توضیح دهید.
  • با ویژگی‌های شبکه‌های بی‌سیم و همراه و اصول شبکه‌های مبتنی بر نرم‌افزار آشنا شوید.
  • نقش میان‌افزار را در ارتباط و تعامل میان اجزای نرم‌افزاری و سامانه‌های توزیع‌شده درک کنید.

این درس برای دانشجویان و علاقه‌مندان به علوم کامپیوتر و مهندسی کامپیوتر، به‌ویژه افرادی که می‌خواهند مبانی فنی اینترنت و شبکه‌های ارتباطی را بهتر بشناسند، مناسب است. همچنین برای برنامه‌نویسان و توسعه‌دهندگانی که با برنامه‌های شبکه‌ای، سامانه‌های توزیع‌شده یا زیرساخت‌های اینترنتی سروکار دارند، می‌تواند پایه‌ای ارزشمند برای یادگیری مباحث تخصصی‌تر فراهم کند.

پیش‌نیاز

آشنایی مقدماتی با برنامه‌نویسی و مفاهیم پایه کامپیوتر برای استفاده بهتر از این درس مفید است. تجربه برنامه‌سازی، به‌ویژه برای درک بخش مربوط به سوکت‌ها، کمک‌کننده خواهد بود. آشنایی قبلی با پروتکل‌های شبکه یا پیکربندی شبکه الزامی نیست؛ مفاهیم اصلی در طول درس معرفی می‌شوند.

سرفصل‌ها

  • برنامه‌سازی مبتنی بر سوکت
  • سویچینگ بسته‌های آی‌پی
  • آدرس‌دهی و هدایت مبتنی بر آی‌پی
  • قراردادهای انتقال (تی‌سی‌پی و یو‌دی‌پی‌)
  • کنترل ازدحام
  • ترجمه‌ی آدرس‌ها (دی‌ان‌اس‌، دی‌اچ‌سی‌پی و اِی‌آر‌پی‌)
  • میان‌افزار (Middleware)
  • سوئیچ ها و پل‌ها (Switches and Bridges)
  • اتصالات (Links)
  • مسیریابی حالت اتصال
  • مسیریابی بردار فاصله و بردار مسیر
  • مسیریابی بردار مسیر مبتنی بر خط مشی (BGP)
  • شبکه‌های فرالایه‌ای و همتا-به-همتا
  • جریان‌سازی چندرسانه‌ای
  • سویچینگ مداری (Circuit Switching)
  • شبکه‌های بی‌سیم و همراه
  • شبکه توزیع محتوا (CDN)
  • شبکه‌های مبتنی بر نرم‌‌افزار

ارزیابی

  • تمرین‌ و پروژه: ۴۰ درصد
  • آزمون پایانی: ۶۰ درسد

منابع

  1. Larry L. Peterson and Bruce S. Davie. Computer Networks: A Systems Approach. 5th Edition, 2011.