مدل های شبکه
اکنون که متوجه شدیم LAN چیست و چرا از آن استفاده می شود، مهم است که آن را یک قدم فراتر برداریم و ساختار و سازماندهی شبکه ها را در سطح وسیع تری در نظر بگیریم. اینجاست که مدلهای شبکه بهویژه مدل TCP/IP و مدل OSI وارد عمل میشوند.
این مدلها به ما کمک میکنند تا بفهمیم شبکهها چگونه سازماندهی میشوند و انتقال داده چگونه کار میکند. آنها مانند نقشههایی هستند که به ما نشان میدهند چه «لایههایی» در یک شبکه وجود دارد و چگونه آن لایهها با هم کار میکنند تا ارتباط بین دستگاهها را فعال کنند.
🎯 آنچه در این فصل یاد میگیرید:
- ✓ مدل TCP/IP و چهار لایه آن
- ✓ پروتکلهای کاربردی مانند HTTP، FTP، DHCP، DNS
- ✓ TCP و UDP در لایه انتقال
- ✓ پورتهای شبکه و دستهبندی آنها
- ✓ آدرس IP و ICMP در لایه شبکه
- ✓ لایه دسترسی به شبکه و آدرس MAC
مدل TCP/IP
برای درک بهتر نحوه ارتباط دستگاهها در یک شبکه، نیاز داریم تا ساختار و سازماندهی شبکهها را بررسی کنیم. مدلهای شبکه، بهویژه مدل TCP/IP، به ما کمک میکنند تا ارتباطات دیجیتالی را به شکل منظم و قابل فهمی مشاهده کنیم. TCP/IP که به عنوان چارچوب اصلی اینترنت شناخته میشود، ساختاری فراهم میآورد که ارتباطات بین دستگاهها را ممکن ساخته و انتقال دادهها را به صورت قابل اعتماد انجام میدهد.
چرا مدل TCP/IP مهم است؟
در شبکهها، دادهها باید از یک دستگاه به دستگاه دیگر منتقل شوند، اما این انتقال نیازمند قوانینی است که تضمین کند دادهها بهدرستی و با امنیت ارسال و دریافت میشوند. این قوانین توسط پروتکلها تعریف میشوند. پروتکلها، قوانین و استانداردهایی هستند که شیوه ارتباط و تبادل داده بین دستگاهها را تنظیم میکنند. بدون وجود پروتکلها، دستگاههای مختلف نمیتوانند بهطور موثر و هماهنگ با یکدیگر ارتباط برقرار کنند.
/TCP-IP.png?width=1320&name=TCP-IP.png)
داده و هدر (Header): نقش آنها در انتقال اطلاعات
در هر انتقال دادهای، اطلاعات به بستههایی به نام پکت شکسته میشود. هر پکت دارای بخشی از داده اصلی (Data) و یک قسمت اطلاعاتی به نام هدر (Header) است. هدر شامل اطلاعاتی است که برای انتقال و مسیریابی دادهها به کار میرود، از جمله آدرس فرستنده، آدرس گیرنده و تنظیمات پروتکل. به کمک هدر، دستگاههای شبکه میدانند دادهها به کجا باید ارسال شوند و چگونه آنها را مدیریت کنند.


نقش پروتکل TCP/IP در انتقال دادهها
قبل از اینکه بیشتر به مبحث مدل های LAN و شبکه بپردازیم، درک نقش پروتکل ها در مدل TCP/IP مهم است.
پروتکل ها اساساً زبان هایی هستند که دستگاه های موجود در شبکه برای برقراری ارتباط با یکدیگر از آنها استفاده می کنند. آنها قوانینی را برای تبادل اطلاعات تعریف می کنند – دقیقاً مانند قواعد گرامری که تعیین می کند جملات چگونه شکل می گیرند تا برای دیگران قابل درک باشند. در زمینه TCP/IP، یکی از مدلهای اساسی شبکه، این پروتکلها نقش مهمی در فعالسازی و بهینهسازی ارتباطات دیجیتال دارند.
مدل TCP/IP از چهار لایه تشکیل شده است، و هر لایه مجموعهای از پروتکلها را در بر دارد که وظایف مختلفی را انجام میدهند.
درک بهتر TCP/IP:
برای درک بهتر بیایید ارتباط شبکه را با هم با استفاده از یک مثال از طریق TCP/IP نشان دهیم. برای نشان دادن فرآیند ارسال ایمیل بین دو نفر با استفاده از مدل TCP/IP، بیایید تصور کنیم که شخص A (آلیس) می خواهد برای شخص B (باب) ایمیل ارسال کند. ما در چهار لایه مدل TCP/IP قدم می زنیم تا بفهمیم چگونه داده ها از آلیس به باب منتقل می شوند.

1. لایه کاربردی / Application Layer
آلیس فرآیند را با باز کردن برنامه ایمیل خود (به عنوان مثال Outlook، Gmail در مرورگر) و نوشتن پیامی برای باب آغاز می کند. این لایه از پروتکل های ایمیل مانند SMTP (پروتکل انتقال نامه ساده) برای ارسال ایمیل و IMAP یا POP3 برای دریافت ایمیل استفاده می کند. آلیس آدرس ایمیل باب را وارد می کند، پیام او را می نویسد و روی ارسال کلیک می کند. برنامه از SMTP برای آماده سازی پیام برای انتقال استفاده می کند.
2. لایه حمل و نقل / Transport Layer
پس از آماده شدن ایمیل برای ارسال، به لایه انتقال داده می شود. TCP (پروتکل کنترل انتقال) در اینجا برای اطمینان از انتقال مطمئن داده های ایمیل استفاده می شود. TCP پیام را به بستههای داده کوچکتر تقسیم میکند، آنها را شمارهگذاری میکند و اطلاعات کنترلی را برای اطمینان از نظم و کامل بودن صحیح در گیرنده اضافه میکند. TCP همچنین یک اتصال به سرور ایمیل آلیس برقرار می کند تا اطمینان حاصل شود که بسته های داده به درستی منتقل می شوند.
3. لایه اینترنت / Internet Layer
در لایه اینترنت، IP (پروتکل اینترنت) برای مسیریابی بسته های داده از کامپیوتر آلیس به سرور ایمیل و در نهایت به سرور ایمیل باب استفاده می شود. هر بسته داده یک آدرس IP مبدا (رایانه آلیس) و یک آدرس IP مقصد (سرور ایمیل) را دریافت می کند. روترها در طول مسیر این آدرس ها را می خوانند تا بسته ها را از طریق اینترنت هدایت کنند. این لایه تضمین میکند که بستهها مسیر درست را پیدا میکنند حتی اگر قسمتهایی از شبکه از کار بیفتد یا بارگذاری بیش از حد داشته باشد.
4. لایه دسترسی به شبکه / Network Interface Layer
در لایه دسترسی به شبکه، بستههای داده IP در قالبهایی برای انتقال از طریق رسانه فیزیکی شبکه بستهبندی میشوند. این می تواند اترنت در یک LAN یا پروتکل دیگری در یک WAN (شبکه گسترده) باشد. فریم ها حاوی آدرس MAC دستگاه فرستنده و بعدی در مسیر شبکه هستند. هنگامی که داده ها به سرور ایمیل آلیس می رسد، روند معکوس را طی می کند تا به سرور ایمیل باب برسد. سپس سرور از TCP برای جمع آوری مجدد پیام و قرار دادن آن در صندوق ورودی Bob از طریق IMAP یا POP3 استفاده می کند.
هنگامی که ایمیل به صندوق ورودی باب رسید، باب می تواند از برنامه ایمیل خود برای ورود به سیستم و خواندن پیام آلیس استفاده کند. کل فرآیند، از آلیس تا باب، نشان میدهد که چگونه مدل TCP/IP از پروتکلها و فنآوریهای مختلف برای برقراری ارتباط مطمئن و کارآمد از طریق اینترنت استفاده میکند.
1. لایه کاربرد (Application Layer):
لایه کاربرد، بالاترین لایه در مدل TCP/IP است که بهعنوان رابطی بین برنامههای کاربردی کاربر نهایی و شبکه عمل میکند. این لایه شامل پروتکلها و خدماتی است که بهطور مستقیم با نرمافزارهایی که روزانه از آنها استفاده میکنیم، در تعامل هستند. در این لایه، دادهها از شکل قابل فهم برای برنامههای کاربردی به فرمتی تبدیل میشوند که بتوانند در شبکه انتقال یابند.
لایه کاربرد نقش حیاتی در ارتباطات شبکهای دارد زیرا بسیاری از عملکردهای مورد نیاز کاربران در این لایه اتفاق میافتد. این لایه امکاناتی را فراهم میکند که به برنامهها اجازه میدهد بدون نیاز به نگرانی درباره جزئیات انتقال دادهها در شبکه، با یکدیگر ارتباط برقرار کنند. به عبارت دیگر، لایه کاربرد پیچیدگیهای لایههای پایینتر را پنهان میکند و یک رابط ساده و قابل استفاده برای توسعهدهندگان و کاربران فراهم میسازد.
همچنین، لایه کاربرد مسئول مدیریت برخی از مسائل امنیتی مانند تأیید هویت (Authentication)، رمزنگاری (Encryption) و کنترل دسترسی (Access Control) است. پروتکلهایی مانند HTTPS (Hypertext Transfer Protocol Secure) با استفاده از SSL/TLS (Secure Sockets Layer/Transport Layer Security) ارتباطات امنی را بین کلاینت و سرور برقرار میکنند تا اطلاعات حساس کاربران محافظت شود.
فرض کنید شما می خواهید یک ایمیل ارسال کنید. لایه کاربرد از پروتکل هایی مانند SMTP (Simple Mail Transfer Protocol) برای ارسال پیام شما و IMAP یا POP3 برای دریافت پیام ها استفاده می کند. این پروتکل ها به برنامه ایمیل شما اجازه می دهند تا با پیروی از مجموعه ای از قوانین لازم برای انتقال موفق، پیام ها را قالب بندی، ارسال و دریافت کند.
پروتکل های رایج در لایه کاربرد:

- HTTP: پروتکل http یا Hypertext Transfer Protocol یک استاندارد تعریف شده برای شبکههای کامپیوتری است که برای نمایش صفحات وب مورد استفاده قرار میگیرد. این پروتکل اولین بار پس از ایجاد اولین سایتها در سطح اینترنت به وجود آمد و به کار گرفته شد، چرا که این پروتکل قابلیت ارتباط بین سرور و کلاینت را برقرار میکند، بنابراین بدون این پروتکل دسترسی به صفحات وب در سطح اینترنت وجود نخواهد داشت.در این پروتکل ابتدا از سمت کلاینت به سرور یک درخواست HTTP ارسال میشود. سرور درخواست را بررسی کرده و پاسخ را به کلاینت ارسال میکند یا عملیات لازم را انجام میدهد.

- HTTPS پروتکل: بزرگترین مشکل HTTP این بود که دادهها در آن رمزنگاری نمیشدند و به همین خاطر، امکان وقوع نشتهای امنیتی بسیار بالا بود. هر هکری، میتواند خیلی راحت به پیامهای HTTP دسترسی پیدا کند و آنها را بخواند. برای رفع این مشکل، نسخه پیشرفته HTTP، یعنی HTTPS معرفی شد که در آن دادهها رمزنگاری میشوند. حرف S که به انتهای HTTP اضافه شده است، از کلمه Secure به معنای ایمن گرفته شده است.

- FTP: بسیاری از مردم قبلاً بدون اینکه متوجه باشند از FTP استفاده کرده اند. اگر تا به حال فایلی را از یک صفحه وب دانلود کرده اید، از FTP استفاده کرده اید. پروتکل انتقال فایل یا همان File Transfer Protocol رایج ترین پروتکل برای برقراری ارتباط و انتقال فایلها بین رایانهها به صورت گسترده در شبکه TCP/IP استفاده میشود.

عملکرد این پروتکل که یکی دیگر از پروتکل های شبکه در لایه اپلیکیشن است، بدین صورت میباشد که یک کلاینت از سرور، درخواست دسترسی به منبعی یا ارسال و دریافت فایلی را داشته باشد و سرور به آنها اجازه دسترسی بدهد. بدین ترتیب در یک انتقال فایل با پروتکل FTP دو ماشین دخالت دارد. کلاینت و سرور دو ماشین مهم در این پروتکل هستند که پس از ایجاد ارتباط در بین دو ماشین، کلاینت میتواند با دسترسیهای محدودی که دارد، عملیات آپلود فایل در سرور و دانلود از آن ا انجام دهد. همچنین عملیات حذف یا ویرایش نام فایلها نیز قابل انجام خواهد بود.
- پروتکل DHCP: DHCP یکی از پروتکلهای موجود در لایهی اپلیکیشن شبکه است که وظیفهی آدرس دهیIP خودکار به دستگاهای موجود در شبکه را بر عهده دارد، DHCP از عبارت Dynamic Host Configuration Protocol تشکیل شده و همانطور که از نامش پیداست دستگاههای موجود در شبکه را به صورت خودکار(داینامیک) آدرسدهی و پیکربندی میکند.

- Telnet: برای ورود و کنترل از راه دور یک کامپیوتر دیگر


- SSH: برای ایجاد یک اتصال امن برای ورود و کنترل از راه دور یک کامپیوتر دیگر
- پروتکل ( Domain Name System ) DNS : یک پروتکل شناخته شده در زمینه شبکه می باشد. از پروتکل DNS در جهت تبدیل اسم به IP و همچنین تبدیل IP به اسم استفاده میکنند. وقتی می خواهید وارد سایتی شوید ، باید آدرس وب سرور آن را بدانید. آدرس وب سرور با IP مشخص میشود. اما به خاطر سپردن آدرس IP دشوار است. می توان به جای IP از اسمهای دامنه ها نیز استفاده کرد. برای هر IP یک اسم دامنه در نظر گرفته شده است. برای مثال فرض کنید IPآدرس گوگل 66.249.91.103 است. که در این صورت برای دسترسی به گوگل میتوانیم از IP یا آدرس www.google.comاستفاده کنید.

در حقیقت سرویس DNS آی پی آدرس را به اسامی مشخص و ساده ترجمه می کند. هم نامه دامنه و هم IP Address، کاربر را به یک وب سرور مشخص هدایت می کند ، اما نام دامنه، هم برای استفاده ، و هم برای به خاطر سپردن به مراتب راحت تر از IP Address است. بدون DNS کاربرها مجبور هستند برای وارد شدن به هر بخشی از اینترنت از اعداد خسته کننده IP Address استفاده کنند.
2. لایه انتقال (Transport Layer):
لایه انتقال (Transport Layer) در مدل TCP/IP نقش کلیدی در مدیریت ارتباطات و انتقال دادهها بین دستگاههای مختلف ایفا میکند. این لایه مسئول دریافت دادهها از لایه کاربرد (Application Layer) و تقسیم آنها به قطعات کوچکتر برای ارسال به شبکه است. این قطعات که به صورت بخشها (Segments) یا دیتاگرامها (Datagrams) ساخته میشوند، اطلاعات کنترلی خاصی را در هدر (Header) خود دارند که برای هدایت و مدیریت انتقال دادهها استفاده میشود. اطلاعاتی مانند شماره توالی (Sequence Number)، شماره تأیید (Acknowledgment Number)، و پورتهای مبدأ و مقصد، از جمله این دادههای کنترلی هستند که اطمینان از تحویل درست و مدیریت جریان ارتباطات را ممکن میسازند.
پروتکلهای اصلی در لایه انتقال شامل TCP (Transmission Control Protocol) و UDP (User Datagram Protocol) هستند. این دو پروتکل با اهداف متفاوت طراحی شدهاند و پایه و اساس بسیاری از برنامههای کاربردی را تشکیل میدهند. برنامههای کاربردی بر اساس نیازهای خود از یکی از این دو پروتکل استفاده میکنند. پروتکلهایی مانند HTTP/HTTPS (برای انتقال صفحات وب)، FTP (برای انتقال فایلها)، SMTP (برای ارسال ایمیل)، و SSH (برای ارتباطات امن از راه دور) بر پایه TCP اجرا میشوند و از ویژگیهای اطمینان و اتصالگرایی آن بهرهمند میشوند. از طرف دیگر، پروتکلهایی مانند VoIP (برای انتقال صدا بر روی اینترنت)، TFTP (برای انتقال فایلهای ساده)، و SNMP (برای مدیریت و نظارت بر تجهیزات شبکه) بر پایه UDP هستند و از سرعت بالا و سادگی آن استفاده میکنند.
پروتکلهای TCP و UDP در لایه انتقال مدل TCP/IP

پروتکل TCP بهعنوان یک پروتکل اتصالگرا (Connection-Oriented Protocol) پیش از شروع ارسال دادهها یک ارتباط مطمئن بین فرستنده و گیرنده برقرار میکند. این پروتکل از طریق یک فرآیند ارتباط سه مرحلهای (Three-Way Handshake) که شامل تبادل پیامهای SYN، SYN-ACK، و ACK است، پارامترهای ارتباطی را تنظیم و تایید میکند. پس از برقراری اتصال، TCP دادهها را به بخشهای کوچکتر تقسیم کرده و هر بخش را با یک هدر TCP همراه میکند. این پروتکل با استفاده از شمارههای توالی به هر بخش، ترتیب درست انتقال دادهها را تضمین میکند و در صورت گم شدن یا خراب شدن بخشها، امکان ارسال مجدد آنها را فراهم میسازد. TCP همچنین مکانیزمهای کنترل جریان (Flow Control) و کنترل ازدحام (Congestion Control) را بهکار میگیرد تا سرعت ارسال دادهها تنظیم شود و از ازدحام شبکه جلوگیری گردد.
پروتکل UDP برخلاف TCP، یک پروتکل بدون اتصال (Connectionless Protocol) است که دادهها را به شکل دیتاگرامهای مستقل و بدون تأیید دریافت به مقصد ارسال میکند. UDP به دلیل ساختار ساده و نبود مکانیزمهای پیچیده مانند کنترل جریان و تأیید دریافت، سرعت بالاتری دارد و سربار پردازشی کمتری ایجاد میکند. با این حال، این پروتکل تضمینی برای تحویل دادهها ارائه نمیدهد؛ به همین دلیل ممکن است بستهها گم شوند یا خارج از ترتیب برسند. UDP برای کاربردهای بلادرنگ (Real-Time Applications) مانند استریمینگ ویدئو و صدا، بازیهای آنلاین و پروتکلهایی مانند DNS و DHCP که نیاز به تأخیر کم و سرعت بالا دارند، ایدهآل است.

به منظور درک بهتر تفاوت این دو پروتکل، میتوان آنها را با روشهای ارسال نامه مقایسه کرد. ارسال داده با TCP مشابه ارسال نامهای بهصورت سفارشی با تأیید دریافت است؛ بهطوری که دریافت هر نامه تأیید شده و در صورت گم شدن، دوباره ارسال میشود. در مقابل، UDP مانند ارسال نامه بهصورت معمولی و بدون ردیابی است؛ سریعتر و سادهتر، اما بدون تضمین تحویل به مقصد.
انتخاب بین TCP و UDP به نیازهای برنامه بستگی دارد. TCP انتقال داده قابل اعتماد را فراهم می کند و زمانی که صحت و کامل بودن داده ها حیاتی است، انتخاب بهتری است. از طرف دیگر UDP انتقال سریعتر با سربار کمتر را ارائه می دهد و برای موقعیت هایی که سرعت مهمتر از دقت کامل داده های ارسالی است مناسب است.












