در این جلسه، زیربنای فنی و فلسفهی وجودی شبکه جهانی اینترنت مورد بررسی قرار میگیرد. هدف از این بخش، آشنایی با نحوهی شکلگیری شبکهها و استانداردهایی است که اجازه میدهند میلیاردها دستگاه با سختافزارهای متفاوت، به زبانی مشترک با یکدیگر گفتگو کنند.
تاریخچه اینترنت و بررسی پشته پروتکلی TCP/IP
اینترنت حاصل تکامل پروژهای به نام ARPANET در دهه ۱۹۶۰ میلادی است که در ابتدا با هدف ایجاد یک شبکه مقاوم در برابر حملات و با قابلیت اطمینان بالا طراحی شد. در ادامه، با ظهور پشته پروتکلی TCP/IP به عنوان یک استاندارد باز، امکان اتصال شبکههای ناهمگون به یکدیگر فراهم گردید. پشته TCP/IP برخلاف مدلهای تئوری، یک مدل کاربردی است که از چهار لایه اصلی تشکیل شده است:
- لایه کاربرد (Application): شامل پروتکلهایی نظیر HTTP برای وب و FTP برای انتقال فایل.
- لایه انتقال (Transport): مدیریت ارتباط میان دو میزبان نهایی (Host-to-Host).
- لایه اینترنت (Internet): مسئول مسیریابی و آدرسدهی بستهها در کل شبکه.
- لایه دسترسی به شبکه (Network Access): تعامل با سختافزار و رسانههای فیزیکی مانند اترنت و وایفای.
مفهوم پروتکل، اجزا و انواع آن
در دنیای شبکه، پروتکل به مجموعهای از قوانین و توافقنامهها گفته میشود که نحوه برقراری ارتباط، قالب دادههای ارسالی و زمانبندی پیامها را مشخص میکند. هر پروتکل از سه جزء حیاتی تشکیل شده است:
۱. نحو (Syntax): مشخص میکند که دادهها چگونه در کنار هم قرار میگیرند و قالب کلی بسته چیست.
۲. معناشناسی (Semantics): تفسیر هر بخش از دادهها و فیلدها را مشخص میکند تا سیستم مقصد بداند در پاسخ به هر پیام چه واکنشی نشان دهد.
۳. زمانبندی (Timing): مربوط به سرعت ارسال دادهها و ترتیب زمانی تبادل پیامهاست تا از غرق شدن گیرنده در حجم زیاد داده جلوگیری شود.
همچنین پروتکلها از نظر نوع برقراری ارتباط به دو دسته کلی تقسیم میشوند:
- پروتکلهای اتصالگرا (Connection-Oriented): در این نوع، پیش از ارسال داده، یک نشست ارتباطی بین مبدأ و مقصد برقرار میشود (مانند پروتکل TCP). این پروتکلها امنیت و صحت رسیدن دادهها را تضمین میکنند.
- پروتکلهای بدون اتصال (Connection-less): دادهها بدون هماهنگی قبلی و به صورت مستقیم به سمت مقصد روانه میشوند (مانند پروتکل UDP یا IP). این روش سرعت بالاتری دارد اما تضمینی برای رسیدن به ترتیب یا سلامت کامل بستهها ارائه نمیدهد.
مفهوم بستهبندی دادهها (Encapsulation)
فرآیند Encapsulation یکی از کلیدیترین مفاهیم در درک عملکرد لایهای شبکه است. وقتی دادهای از لایههای بالاتر (مانند لایه کاربرد) به سمت لایههای پایینتر حرکت میکند، هر لایه اطلاعات کنترلی خود را در قالبی به نام “Header” به ابتدای داده اضافه میکند. این فرآیند مانند قرار دادن یک نامه درون چندین پاکت نامه متوالی است که روی هر پاکت، اطلاعات مربوط به لایهی خاصی (مانند شماره پورت، آدرس IP و آدرس MAC) درج شده است. در مقصد، فرآیند معکوسی به نام Decapsulation رخ میدهد تا دادهی اصلی از درون این پوستهها استخراج شود.
مفاهیم ارتباطات بینشبکهای (Internetworking)
اینترنتورکینگ به معنای اتصال دو یا چند شبکه مجزا (با معماریهای احتمالاً متفاوت) به یکدیگر است تا به عنوان یک واحد منطقی بزرگ عمل کنند. مسیریابها (Routers) نقش اصلی را در این ارتباط ایفا میکنند و وظیفه دارند بستهها را از یک شبکه به شبکه دیگر هدایت کنند.
مروری بر انواع سوئیچینگ در زیرساخت شبکه
برای انتقال داده در زیرساخت اینترنتورک، از دو روش عمده سوئیچینگ استفاده میشود:
۱. سوئیچینگ مداری (Circuit Switching): در این روش، یک مسیر فیزیکی و اختصاصی با پهنای باند ثابت بین مبدأ و مقصد برقرار میشود و تا پایان تماس رزرو باقی میماند (مانند شبکههای تلفن سنتی). این روش برای دادههای متناوب شبکه اینترنت بهینه نیست.
۲. سوئیچینگ بستهای (Packet Switching): در این روش، دادهها به قطعات کوچکی به نام «بسته» تقسیم میشوند. هر بسته میتواند از مسیرهای متفاوتی برای رسیدن به مقصد عبور کند. این روش اجازه میدهد از منابع شبکه به صورت اشتراکی و بسیار بهینهتر استفاده شود، که اساس کارکرد اینترنت امروزی است.