آموزش رایگان ccna؛ قسمت چهاردهم: آشنایی اولیه با پروتکل tcp/ip
در مقاله قبلی آموزش ccna تفاوت مفاهیم «بسته، سگمنت، فریم و داده» را بررسی کردیم. در این قسمت به مبحث مهم tcp ip میرسیم. در ادامه به معرفی این پروتکل پرداخته و در مورد دستدهی سه طرفه و پایان جلسه در tcp صحبت میکنیم. با فالنیک همراه باشید.
- برقراری ارتباط با آدرسهای لایه دو و لایه سه در osi
- نکاتی که باید در مورد مدل مرجع OSI بدانید
- آشنایی با مجموعه پروتکل TCP/IP
- مدل TCP/IP
- سطح کاربرد (Application Layer)
- لایه انتقال (Transport Layer)
- لایه اینترنت (Internet Layer) چیست؟
- لایه دسترسی به شبکه (Network Access Layer)
- انواع پروتکلهای لایه انتقال (Transport Layer Protocols)
- پروتکل کنترل انتقال (Transmission Control Protocol) چیست؟
- دستدهی سه طرفه TCP چیست؟
- پایان ارتباط یک جلسه TCP چگونه است؟
برقراری ارتباط با آدرس های لایه دو و لایه سه در osi
هنگام انتقال ترافیک بین دو دستگاه در سگمنتهای مختلف، دستگاه مبدأ دارای یک فریم لایه دو با مک آدرس خود به عنوان مبدا و مک آدرس گیتوی (روتر) پیشفرض به عنوان مقصد است. در لایه سه نیز، بسته مبدا اشاره به دستگاه مبدا دارد، اما آدرس لایه سه دیگر گیتوی پیشفرض نیست، بلکه مقصد واقعی است که قرار است بسته به آن تحویل داده شود. از اینرو به این نکته مهم دقت کنید که آدرسهای لایه دو برای برقراری ارتباط دستگاههای موجود در همان سگمنت یا شبکه فیزیکی یا منطقی معتبر هستند و از آدرسهای لایه دو برای برقراری ارتباط با دستگاهها درون شبکه که ممکن است در سگمنتهای دیگر باشند استفاده میشود. راه دیگری برای به خاطر سپردن این موضوع این است که به این نکته دقت کنید که مک آدرسها میتوانند از لینکی به لینک دیگر تغییر کنند، اما آدرسهای منطقی لایه سه، بهطور پیشفرض تغییر نکرده و ثابت هستند.
روترها، سگمنتهای فیزیکی یا منطقی را از هم جدا میکنند، در حالی که پلها و سوئیچها اینکار را انجام نمیدهند. بنابراین، اگر در تصویر زیر PC-A بخواهد ترافیک را به PC-B انتقال دهد، PC-A از مک آدرس (یا لایه دو) برای ارسال ترافیک به نقطه خروجی سگمنت استفاده میکند، در ادامه روتر با نگاه کردن به آدرس منطقی PC-B (یا لایه سه) متوجه میشود که ترافیک مربوط به ماشینی است که در سگمنت دیگری قرار دارد و در نتیجه از آدرس آیپی (لایه سه) برای ارسال بسته برای مقصد استفاده میکند.
در شکل بالا، دستگاه بعدی که سیگنالهای لایه فیزیکی را دریافت میکند، هاب است. امروزه به ندرت از هاب استفاده میشود و تقریبا در بیشتر شبکهها از یک سوئیچ استفاده میشود، اما برای آنکه آموزش ما کامل باشد، در نمودار بالا از یک هاب استفاده کردیم تا در مورد نحوه مدیریت هابها با دادهها صحبت کنیم. اگر به یاد داشته باشید در آموزشهای ابتدایی گفتیم که هابها و تکرارکنندهها در لایه فیزیکی کار میکنند. اساسا، هاب یک تکرارکننده چند پورتی است و هر سیگنال لایه فیزیکی را که دریافت کند، تکرار میکند. بنابراین، سیگنال دریافت شده در رابط یک هاب در تمام رابطهای دیگر آن تکرار میشود. این سیگنالها در ادامه توسط PC-B دریافت میشوند که این اطلاعات (همانطور که در آموزشهای قبلی توضیح دادیم) به پشته پروتکل ارسال میشود. امروزه شرکتها به جای هاب از سوئیچها استفاده میکنند، زیرا هابها دادهها (سیگنال الکتریکی) را به همه پورتها ارسال میکنند، در حالیکه یک سوئیچ تنها با ارسال دادهها به پورتی که آدرس مقصد به آن متصل است، ترافیک را فیلتر میکند.
نکاتی که باید در مورد مدل مرجع OSI بدانید
برای آزمون ccna، مطمئن شوید که با مدل مرجع osi و چرایی توسعه اولیه آن آشنا هستید. شما باید نام و ترتیب لایهها را بدانید که به صورت زیر است:
- لایه کاربرد
- لایه ارائه
- لایه جلسه
- لایه انتقال
- لایه شبکه
- لایه پیوند داده
- لایه فیزیکی
همچنین، باید انواع دستگاههایی که در لایههای مختلف کار میکنند (لایه روتر/شبکه، لایه سوئیچ/پیوند داده و لایه هاب/فیزیکی) و برخی از عملکردهای مهم این دستگاهها را بشناسید.
- دستگاههای فعال در هر لایه
بهعنوان مثال، روترها بستهها را بین سگمنتهای شبکه سوئیچ میکنند، مانع انتشار پخشی و هدر رفت پهنای باند میشوند، میتوانند آدرسهای منطقی لایه سه را فیلتر کنند و مسیرهای منتهی به شبکههای منطقی مقصد را تعیین میکنند.
- پروتکلهای هر لایه و وظایف آنها
همچنین، باید بتوانید پروتکلهایی که در لایههای مختلف کار میکنند را نام ببرید. بهعنوان مثال، telnet و FTP در لایه کاربرد عمل میکنند.
بهویژه با لایههای انتقال، شبکه و پیوند داده و عملکرد آنها آشنا باشید. برای مثال، لایه انتقال، اتصالات را راهاندازی، نگهداری و پایان میدهد. میتواند تحویل قابل اعتماد یا غیر قابل اعتماد دادهها را مدیریت کند. دادهها را به قطعات کوچکتر و قابل مدیریتتر تقسیم میکند. میتواند کنترل جریان را از طریق سیگنالهای آماده/غیر آماده یا پنجرهبندی (Windowing) از طریق اختصاص اعداد ترتیبی و تصدیق برای پیشگیری از بروز مشکل تراکم به کار گیرد. از بافرها برای ذخیره دادههای دریافتی استفاده میکند و از تکنیک مالتیپلکس برای مدیریت ارتباطات چندگانه با استفاده از شماره پورت و آدرسهای لایه سه استفاده میکند. TCP و UDP از پروتکلهای معروفی هستند که در لایه انتقال کار میکنند.
لایه شبکه آدرسهای منطقی را تعریف میکند، بهترین مسیرها را برای آدرسهای منطقی مقصد از طریق استفاده از جداول مسیریابی روی روترها پیدا میکند و لینکهای مختلف لایه دو را به هم متصل میکند. مزایایی را که روترها فراهم میکنند، به خاطر بسپارید، مانند مقیاسپذیری از طریق استفاده از طرحهای شبکه سلسله مراتبی و پروتکلهای مسیریابی، مدیریت مکانیزمهای پخشی، انتخاب هوشمند مسیرها و فیلتر ترافیک.
لایه پیوند داده، نحوه اتصال دستگاهها به رسانه لایه دو و نحوه ارتباط دستگاهها با یکدیگر از طریق بهکارگیری آدرسهای فیزیکی را (مانند مکآدرسها در اترنت) مشخص میکند. بهعنوان یک کارشناس شبکه باید بدانید که یک مک آدرس چگونه به نظر میرسد، چه طولی دارد (48 بیت) و به صورت هگزادسیمال نشان داده میشود.
- اصطلاحات PDU
باید با اصطلاحات PDU مورد استفاده در لایههای مختلف مدل مرجع OSI که در شماره گذشته به آنها اشاره کردیم، آشنا باشید که لایه انتقال/سگمنت، لایه شبکه/بسته یا دیتاگرام، لایه پیوند داده/فریم و لایه فیزیکی/بیت است. همچنین، باید بتوانید نحوه ارتباط دستگاهها با دستگاههای دیگر در لایههای مختلف را توضیح دهید، چه آدرسهای لایه دو یا لایه سه بین دستگاههای مختلف از مبدا تا مقصد استفاده میشود. به یاد داشته باشید که مک آدرسها میتوانند از لینکی به لینک دیگر تغییر کنند، اما آدرسهای لایه سه، مانند آدرسهای TCP/IP، معمولاً تغییر نمیکنند.
آشنایی با مجموعه پروتکل TCP/IP
محبوبترین مجموعه پروتکلی که امروزه مورد استفاده قرار میگیرد، پروتکل کنترل انتقال/پروتکل اینترنت (TCP/IP) است. امروزه اینترنت و اکثر شبکههای داخلی درون شرکتی از TCP/IP به دلیل محبوبیت، انعطافپذیری، سازگاری و قابلیت اجرا در مقیاسهای کوچک و بزرگ استفاده میکنند. TCP/IP میتواند طیف متنوعی از میزبانها، از مینفریم گرفته تا رایانههای کوچک را به هم متصل کند. آزمون CCNA دانش شما در مورد TCP/IP را کاملا مورد آزمایش قرار میدهد، بنابراین پیشنهاد میکنیم، مطالب چند شماره آینده را به دقت مطالعه کنید. اگرچه TCP/IP متداولترین پروتکل مورد استفاده است، پیکربندی یا حتی درک آن کار سادهای نیست، زیرا نکات ریز زیادی در خود جای داده و هر یک از پروتکلهای زیرمجموعه آن کار خاصی را انجام میدهند.
نکته امتحانی
TCP/IP مجموعهای متشکل از پروتکلهاست، به این معنا که چند پروتکل در تعامل با یکدیگر کار میکنند تا ارتباط میان گرههای شبکه را پدید آورند.
مدل TCP/IP
پروتکل TCP/IP یک مدل چهار لایه شبیه به مدل مرجع هفت لایه OSI است. چهار لایه مدل TCP/IP به هفت لایه نسخه OSI نگاشت میشوند، به این معنا که در عمل همان هفت لایه مدل OSI استفاده میشوند، اما تجمیع شدهاند و شما بهلحاظ بصری و مفهومی با چهار لایه در ارتباط هستید. شکل زیر این موضوع را نشان میدهد. در مدل مذکور، چند پروتکل نحوه اتصال و ارتباط رایانهها را بر مبنای مدل TCP/IP هدایت میکنند، بهطوریکه هر پروتکل روی لایههای مختلف مدل TCP/IP اجرا میشود.
سطح کاربرد (Application Layer)
لایه کاربرد در بالای مدل TCP/IP قرار دارد و با لایههای کاربرد، نمایش و جلسه مدل OSI مطابقت دارد و مسئول ایجاد درخواستهای شبکه یا ارائه سرویسها است. بهطور مثال، هنگامی که یک کاربر درخواستی را از یک مرورگر وب ارسال میکند، مرورگر وب درخواست را برای لایه کاربرد ارسال میکند. هنگامی که آن درخواست به وب سرور میرسد، وب سرور درخواست را دریافت و شروع به پردازش آن میکند.
از پروتکلهای محبوب لایه کاربرد میتوان به موارد زیر اشاره کرد:
- پروتکل انتقال ابرمتن (HTTP): صفحات HTML را بین سرور وب و مرورگر وب انتقال میدهد.
- پروتکل انتقال ابرمتن ایمن (HTTPS): صفحات HTML رمزگذاری شده را از سرور وب به مرورگر وب تحویل میدهد.
- پروتکل انتقال ساده ایمیل (SMTP): مسئولیت مدیریت ایمیلهای اینترنتی را برعهده دارد.
- پروتکل اداره پست (POP): ایمیل اینترنتی را در سیستم شما میخواند یا دانلود میکند.
- پروتکل انتقال فایل (FTP): به شما امکان میدهد فایلها را از سیستمی در شبکه یا اینترنت دانلود کنید.
- سیستم نام دامنه (DNS): نامهای دامنه کاملاً واجد شرایط (FQDN) را به آدرسهای IP تبدیل میکند.
- پروتکل دسکتاپ از راه دور (RDP): به شما کمک میکند سیستم را از راه دور مدیریت کنید.
لایه انتقال (Transport Layer)
لایه بعدی، لایه انتقال است که مسئولیت برقراری ارتباطات اتصالگرا (یک جلسه را برقرار میکند) یا بدون اتصال (جلسهای ایجاد نمیکند) را بر عهده دارد. هنگامی که درخواست از لایه کاربرد یک مرحله به پایین میآید، یک پروتکل انتقال برای رسیدگی به آن انتخاب میشود. دو پروتکل انتقال در TCP/IP عبارتند از پروتکل کنترل انتقال (TCP) و پروتکل دیتاگرام کاربر (UDP). همانطور که دادهها از لایههای مدل TCP/IP عبور میکنند، اگر ارتباط اتصالگرا مورد نیاز باشد، TCP به عنوان پروتکل لایه انتقال استفاده میشود، اما اگر ارتباط بدون اتصال مورد نیاز باشد، از UDP استفاده میشود.
لایه اینترنت (Internet Layer) چیست؟
لایه اینترنت با لایه شبکه مدل OSI مطابقت دارد و مسئول رسیدگی به فعالیتهای مهم شبکه مثل آدرسدهی منطقی، مسیریابی و تبدیل آدرس منطقی به آدرس فیزیکی کنترل دسترسی رسانه (MAC) است. از پروتکلهای مهم این لایه باید به موارد زیر اشاره کرد:
• پروتکل اینترنت (IP): همه عملکردهای آدرسدهی منطقی (آدرس IP) و مسیریابی را کنترل میکند.
• پروتکل تفکیک آدرس (ARP): آدرس منطقی (آدرس آیپی) را به یک آدرس فیزیکی (مکآدرس) تبدیل میکند.
• پروتکل کنترل پیام اینترنتی (ICMP): وضعیت و هرگونه خطا را در مجموعه پروتکل TCP/IP گزارش میکند.
لایه دسترسی به شبکه (Network Access Layer)
لایه دسترسی به شبکه گاهی اوقات به عنوان لایه رابط شبکه یا لایه پیوند نیز نامیده میشود. لایه دسترسی به شبکه متناظر با لایه پیوند داده و فیزیکی مدل OSI است. از مولفههای لایه دسترسی به شبکه باید به معماری شبکه، آدرسدهی فیزیکی، کابلها، اتصالدهندهها، رسانههای شبکه و سایر مولفههای مستقر در لایه دو و لایه یک اشاره کرد. از آنجایی که مولفههای لایه دسترسی به شبکه در مقالههای اولیه مورد بررسی قرار گرفتند، در اینجا تمرکز خود را روی پروتکلهای TCP/IP قرار میدهیم.
انواع پروتکلهای لایه انتقال (Transport Layer Protocols)
اکنون اجازه دهید جزییات پروتکلهای لایه انتقال را به شکل دقیقتری بررسی کنیم. همانگونه که اشاره کردیم، لایه انتقال شامل پروتکلهای TCP و UDP است. در این قسمت با جزئیات هر پروتکل و سرآیند پروتکل بیشتر آشنا میشویم.
پروتکل کنترل انتقال (Transmission Control Protocol) چیست؟
TCP مسئول برقراری ارتباطات اتصالگرا و اطمینان از تحویل دادهها (به عنوان پروتکل تحویل مطمئن) است. در مکانیزم ارتباط اتصالگرا هدف این است که دو سیستم با یکدیگر ارتباط برقرار کنند و فرستنده با اطمینان خاطر بستههای اطلاعاتی را برای مقصد ارسال کند. TCP با ارسال مجدد هر گونه دادهای که از بین رفته یا خراب شده است اطمینان حاصل میکند که دادهها به مقصد میرسند. بهطور معمول، TCP توسط برنامههایی استفاده میشود که به یک انتقال قابل اعتماد نیاز دارند، اما این انتقال به دلیل ساخت جلسه، نظارت و ارسال مجدد دادهها در آن جلسه، سربار بیشتری نسبت به یک پروتکل بدون اتصال بهوجود میآورد.
موضوع دیگری که باید در مورد TCP به خاطر بسپارید این است که پروتکل فوق مستلزم آن است که گیرنده پیام موفقیتآمیز بودن دریافت دادهها را ارسال کند. البته، تمام پیامهای تایید (ACK)، ترافیک اضافی در شبکه ایجاد میکنند که باعث کاهش نرخ انتقال دادههایی میشوند که باید در یک زمان معین ارسال شوند. سربار اضافی مربوط به ایجاد، نظارت و پایان جلسه TCP است. تمامی این فرآیندها به این دلیل انجام میشود تا TCP اطمینان حاصل کند که دادهها بدون مشکل به مقصد خواهند رسید.
TCP تضمین میکند که دادهها با استفاده از اعداد ترتیبی و اعداد تصدیقی تحویل داده میشوند. شماره ترتیبی عددی است که به هر قطعه دادهای که ارسال میشود اختصاص مییابد. پس از اینکه یک سیستم قطعهای از داده را دریافت کرد، با ارسال یک پیام تأیید به فرستنده، تأیید میکند که دادهها را دریافت کرده است، برای این منظور از شماره توالی اصلی و شماره تأیید پیام پاسخ استفاده میکند.
دستدهی سه طرفه TCP چیست؟
قبل از اینکه یک سیستم بتواند از طریق TCP ارتباطی برقرار کند، ابتدا باید با سیستم راه دور ارتباط برقرار کند. اینکار از طریق مکانیزم دستدهی سه طرفه TCP انجام میشود. شکل زیر این موضوع را نشان میدهد.
دستدهی سه طرفه TCP شامل سه مرحله است:
1. SYN: سیستم فرستنده یک پیام SYN به سیستم دریافتکننده ارسال میکند و به هر بسته ارسال شده یک شماره توالی منحصر به فرد اختصاص میدهد. پیام SYN حاوی شماره ترتیب اولیه (ISN) سرنام initial sequence number است که اولین شماره ترتیبی است که برای ارسال بستهها استفاده میشود. در این مثال، رایانه A در حال برقراری ارتباط با وبسایتی در رایانه B است، بنابراین یک پیام SYN به پورت 80 در رایانه B ارسال میشود.
2. SYN/ACK: این مرحله اولین پیام را تأیید میکند، اما در عین حال شماره توالی اولیه آنرا نیز نشان میدهد. در این مثال، کامپیوتر B پیام SYN/ACK را ارسال میکند که تأیید میکند بسته 123 را دریافت کرده است (با تأیید اینکه 124 شماره دنباله بعدی است)، اما همچنین مشخص میکند که ISN آن 326 است.
3. ACK: مرحله نهایی پیام تأییدی است که تأیید میکند بسته ارسال شده در مرحله دوم دریافت شده است. در این مثال، کامپیوتر A با تایید اینکه بسته بعدی دنباله شماره 327 خواهد بود، ACK را میفرستد تا تأیید کند که بسته 326 را دریافت کرده است.
پایان ارتباط یک جلسه TCP چگونه است؟
همانطور که TCP از یک فرآیند دستدهی سه طرفه برای برقراری ارتباط بین دو سیستمی که میخواهند با هم ارتباط برقرار کنند، استفاده میکند، همچنین فرآیندی برای قطع ارتباط دارد. با نگاهی به شکل زیر مشاهده میکنید که اگر کامپیوتر A بخواهد به یک جلسه TCP پایان دهد، ابتدا باید یک پرچم FIN را به کامپیوتر B ارسال کند که بیانگر سیگنالی است که قرار است مکالمه را پایان دهد.
هنگامی که رایانه B پیام FIN را دریافت میکند با یک تأیید پاسخ میدهد و سپس پیام FIN خود را به رایانه A میفرستد. به عنوان آخرین مرحله برای این فرآیند، رایانه A باید تأیید کند که پیام FIN را از رایانه B دریافت کرده است. درست مشابه زمانی که تلفنی با فردی صحبت میکنید و برای پایان دادن به مکالمه، خداحافظی میکنید و قبل از قطع کردن تلفن منتظر میمانید تا طرف مقابل خداحافظی کند. من این را بهعنوان پایان دادن مکالمه به روشی «مودبانه» توصیف میکنم.
همچنین راهی برای پایان دادن به مکالمه به شیوهای «غیر مودبانه» وجود دارد. دومرتبه به قیاس تلفنی بر میگردیم. با قطع تلفن بدون خداحافظی، میتوانید مکالمه را بیادبانه پایان دهید. در دنیای TCP، میتوانید با ارسال یک پیام TCP با مجموعه پرچم RST (بازنشانی) تماس را قطع کنید.