برای مطالعه بخش بیست و چهارم آموزش رایگان و جامع نتورک پلاس (+Network) اینجا کلیک کنید
در مقالههای آغازین آموزش نتورکپلاس به شما گفتیم یک پروتکل نقش حاکمیتی داشته و به کامپیوترهای تحت یک شبکه اعلام میکند که دستورالعملها و دادهها را بر مبنای چه روشی انتقال دهند، در ادامه با تجهیزات زیرساختی شبکه آشنا شدیم و اطلاعاتی درباره نحوه کار لایههای شبکه، کاربرد، انتقال و پیوند داده به دست آورده و خواندیم که لایهها چگونه به تجهیزات شبکه کمک میکنند انواع مختلفی از آدرسها را برای ارسال درست دادهها برای دستگاهها یا پردازهها به خدمت گیرند. در ادامه با وظایف لایههای مختلف مدل OSI همچون قالببندی، آدرسدهی و کشف خطاها اطلاعاتی آشنا شدیم. در بطن همه این فعالیتها و اتفاقاتی که به آنها اشاره داشتیم پروتکلها قرار دارند. اکنون قصد داریم درباره نحوه عملکرد پروتکلها در لایههای مختلف و پیامهایی که ایجاد میکنند اطلاعات بیشتری به دست آورده، با نحوه کار روترها آشنا شده و نیم نگاهی به لایه شبکه داشته باشیم.
پروتکلهای اصلی TCP/IP
TCP/IP را مجموعهای از پروتکلها یا استانداردهایی همچون TCP، IP(IPv4/Ipv6)، DUP، ARP به انضمام سایر پروتکلها به وجود آوردهاند. اما چه اتفاقی برای پیامهای سرآیند در لایه انتقال رخ میدهد؟ اجازه دهید خلاصهای از آنچه درباره سرآیندها و دنباله فریم آموختید را در قالب شکل زیر به تصویر بکشیم.
لایههای 7، 6 و 5 دستورالعملها و دادههایی هستند که بار داده شناخته میشوند. باردادههایی که یک برنامه کاربردی در حال اجرا روی مبدا آنها را تولید میکند. بهطور مثال، در شکل بالا بارداده توسط مرورگر ایجاد شده است، در ادامه بالاترین لایه مدل OSI بار داده به سمت دو لایه بعدی انتقال میدهد.
لایه 4- یک پروتکل لایه انتقال است که معمولا هر یک از دو پروتکل TCP یا UDP از آن استفاده کرده و یک سرآیند به بار داده اضافه میکنند. این سرآیند شامل شماره پورتی است که مشخص میکند روی یک میزبان چه برنامهای قرار است بستهها را دریافت کند. کل پیام در ادامه به یک سگمنت (زمانی که از TCP استفاده شود) یا دیتاگرام (زمانی که از UDP استفاده میشود) تبدیل میشود.
لایه 3- لایه شبکه سرآیند خود را به سگمنت یا دیتاگرامی که به برایش ارسال شده اضافه میکند. این سرآیند آدرس آیپی مقصد و پیامی که پاکت نامیده میشود را مشخص میکند.
لایه 2- این بسته به سمت لایه پیوند داده روی کارت شبکه هدایت میشود. در ادامه بسته با سرآیند و دنباله فریم کپسوله شده و یک فریم ایجاد میشود. این فریم لایه شامل یک آدرس فیزیکی است که برای پیدا کردن یک گره روی شبکه محلی استفاده میشود.
لایه 1- لایه فیزیکی روی کارت شبکه فریم را دریافت کرده و فرآیند انتقال ملموس روی شبکه را انجام میدهد.
میزبان دریافتکننده پیام در هر لایه پیام را از حالت کپسوله خارج کرده و سپس اطلاعات باردادهای که دریافت میکند را نشان میدهد. یک پیام در فرآیند انتقال ممکن است از دستگاههای مختلفی همچون سوییچها و روترها عبور کند. دستگاههای اتصالدهنده، دستگاههای ویژهای هستند که به دو یا چند شبکه یا بخشهای مختلفی که درون یک شبکه قرار دارند اجازه میدهند به یکدیگر متصل شده و به تبادل دادهها بپردازند. هر دستگاهی که یک پیام را خوانده و آنرا پردازش میکند با بالاترین سرآیند لایه OSI شناخته میشود. بهطور مثال اگر یک سوییچ سرآیند لایه پیوند را خوانده و پردازش کند، اما فرآیند انتقال پیام را بدون خواندن سرآیندهای لایه بالاتر انجام دهد، به نام سوییچ لایه 2 شناخته میشود. به عبارت دیگر، روتری که سرآیند لایه شبکه را خوانده، پردازش کرده و آنرا به سرآیند لایه انتقال تحویل میدهد به نام دستگاه لایه 3 از آن نام برده میشود. شکل زیر این مسئله را نشان میدهد.
پروتکل کنترل انتقال (TCP) سرنام Transmission Control Protocol
اگر به خاطر داشته باشید، به شما گفتیم پروتکل TCP در لایه انتقال از مدل OSI استفاده میشود و سرویسهایی قابل اعتماد برای تحویل دادهها ارائه میکند. اجازه دهید برای روشن شدن مطلب پروتکل TCP را با یک تماس تلفنی مقایسه کنیم تا سه ویژگی کاربردی TCP که ضمنات میدهند دادهها به شکل درستی انتقال پیدا میکنند را به خوبی درک کنیم.
اتصالگرایی- قبل از آنکه TCP دادهها را انتقال دهد، این پروتکل مطمئن میشود که یک ارتباط یا نشستی ایجاد شده است. شبیه به حالتی که یک تماس تلفنی برقرار میکنید و پیش از آنکه صحبتهای خود را شروع کنید با گفتن سلام مطمئن میشود در آن سوی خط فردی در حال گوش دادن است. TCP از یک فرآیند سه مرحلهای که به نام دستدادن سه طرفه از آن نام برده میشود برای برقراری یک ارتباط TCP استفاده میکند. TCP تنها پس از آنکه ارتباطی را برقرار کرد، در ادامه فرآیند انتقال واقعی دادهها را آغاز میکند. بهطور مثال پاسخگویی به محاورهای که درباره دسترسی به یک صفحه وب مبتنی بر HTTP ارسال شده است.
توالی و بررسیها- زمانی که یک تماس تلفنی برقرار میکنید، ممکن است از شخص مقابل سوال کنید که آیا صدای شما را به درستی میشنود و در صورت لزوم جملهای به زبان میآورید. مشابه همین حالت در دنیای شبکه رخ میدهد، TCP یک رشته کاراکتری که بررسیکنندهها (checksum) نام دارند را ارسال میکند. در طرف دیگر پروتکل TCP میزبان رشته مشابهی را تولید میکند. اگر فرآیند تطابق دو رشته با شکست روبرو شود، میزبان از مبدا درخواست میکند دادهها را دومرتبه ارسال کند. علاوه بر این، به دلیل اینکه پیامها همیشه به همان ترتیبی که ساخته شدهاند به مقصد نمیرسند، TCP یک شماره ترتیب زمانی را برای مشخص کردن هر سگمنت برای میزبان ارسال میکند. اگر ضرورتی داشته باشد، در مقصد سگمنتهایی که دریافت شدهاند دومرتبه مرتب میشوند.
کنترل جریان- در آن سوی خط اگر فردی که با او صحبت میکنید، به درستی متوجه حرفهای شما نشود، مجبور هستید آهنگ صحبت کردن خود را کند کنید تا واژهها به درستی شنیده شوند. مشابه چنین حالتی در دنیای شبکه کنترل جریان نام دارد. کنترل جریان فرآیندی است که ضمانت میکند پیامها با نرخ درستی در حال انتقال هستند. نرخ انتقال دادهها بر مبنای سرعتی که گیرنده قادر به دریافت دادهها است تنظیم میشود. بهطور مثال، فرض کنید که دریافتکننده اعلام میدارد که بافر او قادر به مدیریت 4000 بایت است. در این حالت فرستنده فرآیند انتقال را بر مبنای 4000 بایت تنظیم کرده و به انتقال یک یا چند بسته کوتاه همراه با حالت توقف ادامه داده و پیش از فرستاندن بستههای بعدی کمی مکث میکند تا دادهها به درستی انتقال پیدا کنند. TCP همه عناصر دخیل در این فرآیند همچون دست دادن سه طرفه، بررسیکنندهها، توالی و کنترل جریان را با ارسال دادهها به فیلدهایی در سرآیند TCP در ابتدای یک سگمنت TCP مدیریت میکند.
فیلدهای درون یک سگمنت TCP
شکل زیر فهرستی از آیتمهایی را نشان میدهد که فیلد نامیده شده و درون یک سگمنت TCP قرار دارند. هر بلوک نشان داده شده در شکل بیانگر مجموعهای از بیتها بوده و هر سطر بیانگر 32 بیت است. تصویر زیر یک سگمنت TCP را نشان میدهد که همه فیلدها به جزء آخرین مورد فیلد دادهای بوده و بخشی از سرآیند TCP هستند. محتوای فیلد دادهای پیامی است که لایه بالای لایه انتقال آنرا ارسال کرده است.
نکته: سرآیندها در گروههای 32 ساخته میشوند که به آنها words گفته میشود. هر word (کلمه) شامل 4 بایت است که بلوک نامیده شده و هر کدام 8 بیت هستند. توضیح فوق به این دلیل آورده شد که سرآیندهای نشان داده شده در تصویر بالا همگی در گروههای 32 بیتی نشان داده شدهاند. توضیح هر یک از فیلدهای تصویر بالا در جدول زیر ارائه شده است. دقت کنید فیلد دادهای در انتهای تصویر بخشی از سرآیند TCP نیست. زمانی که سگمنت TCP به سمت پایین یعنی لایه شبکه میرود، کل سگمنت به بخش دادهای یک سگمنت آیپی تبدیل میشود. در ادامه این بارداده درون یک بسته آیپی کپسوله میشود.
عملکرد |
طول |
فیلد |
|
پورتی در گره مبدا را نشان میدهد. یک پورت شمارهای است که برای شناسایی یک پردازه روی یک میزبان استفاده میشود. پورت به یک پردازه اجازه میدهد دادههایی را دریافت کرده یا ارسال کند. |
16 bits |
Source port |
سرآیند |
پورتی در یک گره مقصد را نشان میدهد |
16 bits |
Destination port |
|
موقعیت سگمنت داده در یک استریم از سگمنتهای دادهای ارسال شده را نشان میدهد. به عبارت سادهتر شماره ترتیب آخرین بایت درون فید داده از بسته جاری را نشان میدهد. |
16 bits |
Sequence number |
|
تایید دریافت اطلاعات از طریق یک پیام بازگشتی برای فرستنده. |
32 bits |
Acknowledgment number |
|
طول سرآیند TCP را در بایت نشان میدهد. سرآیند میتواند حداقل 20 بایت و حداکثر 60 بایت باشد. این فیلد با نام Data offset هم شناخته میشود. |
4 bits |
TCP header length |
|
فیلدی که برای استفادههای بعدی رزرو شده است نشان میدهد. |
6 bits |
Reserved |
|
مجموعهای از شش فیلد 1 بیتی یا پرچمهایی است که برای شناسایی حالتهای ویژه سایر فیلدها در یک سرآیند سیگنالی را ارسال میکند. فرستنده میتواند از فلگهای زیر در زمان ارسال دادهها استفاده کند: URG: اگر 1 باشد، اعلام میدارد که فیلد اشارهگر Urgent درون سگمنت اطلاعاتی قرار داده که گیرنده باید آنرا پردازش کند. اگر 0 باشد، گیرنده از فیلد اشارهگر Urgent صرفنظر خواهد کرد. ACK: اگر 1 باشد، به معنای آن است که فیلد Acknowledgment درون سگمنت اطلاعاتی برای گیرنده قرار داده است. اگر 0 باشد، گیرنده از فیلد Acknowledgment خواهد کرد. PSH: اگر به 1 باشد، دادهها باید بدون بافر شدن برای یک برنامه ارسال شوند. RST: اگر 1 باشد، فرستنده درخواست کرده تا ارتباط ریست شود. SYN: اگر 1 باشد، فرستنده درخواست یک همگامسازی شمارههای توالی میان دو گره را ارسال کرده است. این کد نشان میدهد که هیچ باردادهای درون سگمنت وجود ندارد، و فیلد Acknowledgment number در پاسخ باید 1 واحد افزایش پیدا کند. اگر هر دو فیلد ACK و SYN 1 باشند، هر دو طرف آماده برقراری ارتباط هستند. FIN: اگر 1 باشد، سگمنت آخرین بسته بوده و ارتباط باید بسته شود. |
6 bits |
Flags |
|
نشان میدهد که فرستنده میتواند چند بایت را قبل از تأیید گیرنده برای او ارسال کند. این فیلد جریان ارسال دادهها را کنترل کرده و مانع از پر شدن بیش از اندازه بافر گیرنده میشود. |
16 bits |
Sliding-window size (or window) |
|
به گره دریافتکننده اجازه میدهد که تصمیمگیری کند که آیا سگمنت TCP میتواند در مدت زمان انتقال از بین برود یا خیر |
16 bits |
Checksum |
|
بیانگر مکانی در یک فیلد دادهای است که موقعیت دادههای مهم درون بسته را مشخص میکند. |
16 bits |
Urgent pointer |
|
گزینههای خاصی را ارائه میکند. بهطور مثال حداکثر اندازه سگمنت که یک شبکه قادر به مدیریت آن است. |
0–32 bits |
Options |
|
فیلد padding در TCP برای اطمینان از اینکه سرآیند TCP به پایان رسیده استفاده شده و اطمینان میدهد که طول سرآیند TCP دارای بیتهای 32 بیتی است. به عبارت دیگر؛ اطمینان میدهد که بخش دادهای یک بسته از کراه 32 بیتی آغاز شده و هیچ دادهای درون بسته از دست نخواهد رفت. |
متغیر |
Padding |
|
شامل اطلاعات ارسال شده توسط میزبان است. فیلد داده بخشی از سرآیند TCP نیست، بلکه درون سرآیند TCP کپسوله شده است. اندازه فیلد داده بستگی به میزان دادههایی دارد که باید انتقال داده شوند، محدودیتهایی که روی اندازه سگمنت TCP اعمال میشود به نوع شبکه بستگی دارد. |
متغیر |
Data |
|
لطفا نظرات خود در مورد این آموزش و ادامه آن را در بخش دیدگاه در انتهای صفحه اعلام نمایید و نظارت سایر کاربران را نیز ببینید.
تمام قسمتهای دوره نتورک پلاس (+Network)
استان تهران (تهران): آموزشگاه عصر شبکه
برگزار كننده دورهها بصورت حضوری و مجازی همزمان
تلفن: 02188735845 کانال: Asrehshabakeh@
---------------------------------------
استان گیلان (رشت): آموزشگاه هیوا شبکه
تلفن: 01333241269 کانال: HivaShabake@
---------------------------------------
استان اصفهان (اصفهان ): موسسه آموزش عالی آزاد فن پردازان
تلفن: 535-03195022636 کانال: fanpardazancom@
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟