در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

سلام خدمت ITPRO هایی عزیز

با قسمت هفتم مجموعه آموزشی CCNA 200-120 در خدمت شما دوستان هستم

پس از این مقاله پارت 1 کتاب سیسکو تمام میشه و از قسمت بعدی وارد پارت 2 کتاب که مربوط به مباحث Switching می باشد وارد می شیم وبیشتر مقاله ها و به امید خدا فیلم های آمورشی سناریو محور که به درک کامل این دوره کمک می کنه می پردازیم.

در این آموزش به بررسی کامل لایه Transport و پروتکل های TCP و UDP می پردازیم

مفاهیم لایه Transport و Application در TCP/IP


لایه 4 مدل شبکه OSI به نام Transport خدمات متنوعی را ارائه می دهد که مهمترین آن ها تصحیح خطا (Error Recovery) و کنترل جریان (Flow Control) است. لایه Transport در TCP/IP نیز همین خدمات را ارائه می دهد. از همین رو به خدمات این لایه خدمات لایه 4 نیز گفته می شود.

یکی از پروتکل های این لایه TCP نام دارد که بر خلاف UDP خدمات زیادی را ارائه می دهد. TCP خدماتی چون تصحیح خطا و ارسال مجدد Packet ها و کنترل جریان را بر عهده دارد. همانطور که دیدید بسیاری از Router ها در حین چک کردن فیلد FCS لایه Data Link و در صورت بروز خطا در ارسال، فریم را نابود می کنند و این TCP است که وظیفه دارد فریم نابود شده را مجددا ارسال نماید. بخاطر خدمات خاصی که ارائه می دهد، بسیاری از برنامه ها TCP را به عنوان پروتکل لایه Transport انتخاب می کنند. UDP بخاطر خدمات کمتری که ارائه می کند Header کوچکتری دارد و به همین دلیل ترافیک کمتری در شبکه ایجاد می کند. UDP سرعت ارسال را کند نمی کند، کاری که TCP مجبور به انجام آن است. بسیاری از برنامه ها و بویژه برنامه های VoIP که نیازی به خدمات تصحیح خطا و ... ندارند و در عوض به سرعت بالا احتیاج دارند UDP را به عنوان پروتکل لایه Transport انتخاب می نمایند.

(TCP (Transmission Control Protocol


هر برنامه مبتنی بر TCP/IP باید یکی از پروتکل های TCP یا UDP را در لایه Transport انتخاب نماید. TCP برای مثال خدمات تصحیح خطا را ارائه می دهد و پهنای باند و پردازش بیشتری را استفاده می کند. UDP که چنین خدماتی را ارائه نمی دهد به پهنای باند و پردازش کمتری نیاز دارد.

TCP برای انجام وظایف خود به پروتکل IP وابسته است.

شکل زیر یک Header پروتکل TCP را نشان می دهد.

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

پیامی که توسط پروتکل TCP ایجاد می شود با یک TCP Header کپسوله می شود و به این پیام TCP Segment گفته می شود. از طرفی بنابر استاندارد های OSI به این پیام L4PDU نیز گفته می شود.

Multiplexing


Multiplexing به فرایند تجزیه و تحلیل کامپیوتر ها از داده های دریافتی گفته می شود. برنامه های متفاوت روی یک کامپیوتر می تواند در حال اجرا باشند مانند مرورگرها، کلاینت های ایمیل و یا نرم افزارهای VoIP مانند Skype. Multiplexing به کامپیوتر می گوید که کدامیک از اطلاعات دریافت شده مربوط به کدامیک از این برنامه ها می باشد. برای درک Multiplexing به مثال زیر دقت می کنید

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

در شکل فوق دو PC به نام های Hannah و Jessie وجود دارند. Hannah از طریق 3 برنامه مختلف با Jessie در ارتباط است. یک برنامه تولید تبلیغات که هر ده ثانیه یک تبلیغ روی Jessie نشان می دهد، یک برنامه انتقال پول و یک مرورگر که به وب سرور نصب شده رو Jessie متصل می شود. برنامه تبلیغاتی از پزوتکل UDP و دو برنامه دیگر از TCP استفاده می کنند.

از آنجائیکه تمام بسته از یک Ethernet یکسان و با یک IP یکسان به Jessie ارسال می شوند، نیازمند یک مکانیزمی هستیم که دستگاه Jessie تشخیص دهد که کدام بسته برای کدام برنامه است.

TCP و UDP این مشکل را با استفاده از فیلد Port در Header هایشان حل کرده اند. هر Segment (چه UDP چه TCP) که Hannah تولید می کند یک شماره Port مقصد در Header هایشان دارند و Jessie از این شماره ها برای تشخیص برنامه ای که Segment مربوط به آن است استفاده می کند.

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

Multiplexing از مفهومی به نام Socket استفاده می کند. هر Socket از سه عنصر تشکیل می شود:

• آدرس IP

• پروتکل لایه Transport

• شماره Port

برای مثال، Socket مربوط به برنامه وب سرور روی کامپیوتر Jessie عبارت است از (10.1.1.2,TCP,80) چون بطور پیش فرض وب سرورها از پورت 80 استفاده می کنند. مرورگر نصب شده روی کامپیوتر Hannah در هنگام اتصال به وب سرور Jessie نیز از یک Socket استفاده می کند که در مثال ما (10.1.1.1,TCP,1030)است. علت استفاده از پورت 1030 آن است که این پورت روی دستگاه Hannah آزاد بوده است. کلاینت ها برای تشکیل Socket یک پورت منحصر به فرد آزاد بالای 1024 انتخاب کرده و استفاده می کنند. پورت های زیر 1024 برای برنامه ها (سرویس های) معروف رزرو شده اند.

در شکل زیر Hannah و Jessie بطور همزمان 3 برنامه در حال اجرا دارند بنابراین 3 Socket برای این سناریو وجود خواهد داشت. از آنجا که هر Socket در روی هر کامپیوتر باید منحصر به فرد باشد، بنابراین اتصال بین دو Socket نیز منحصر به فرد خواهد بود. ویژگی منحصر به فردی آن است که می توان بطور همزمان چندین برنامه تحت شبکه را روی یک PC اجرا نمود و یا یک سرور می تواند همزمان به صد ها کلاینت مختلف سرویس دهد.

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

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

روی کامپیوتر Client هنگامی که یک درخواست تولید میشود، یک شماره Port خالی به Socket اختصاص داده می شود. نتیجه آن است که هر برنامه کلاینت در یک Host از یک شماره Port متمایز استفاده می کند اما سرور در تمامی این اتصالات یک Port ثابت دارد. برای مثال 100 مرورگر وب روی یک کامپیوتر برای اتصال به یک سرور خاص نیازمند 100 سوکت با شماره پورت های مختلف هستند اما در سمت سرور تنها یک Socket با شماره پورت 80 کفایت می کند.

پروتکل معروف TCP/IP


جدول زیر نام نرم افزار، نوع پروتکل و شماره Port چندین پروتکل معروف نشان داده شده است:

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

برقراری اتصال (TCP (Connection Establishmentو پایان دادن به اتصال (TCP (Connection termination


آغاز یک اتصال در TCP قبل سایر خدمات این پروتکل اتفاق می افتد. در این فرایند فیلد های Sequence و Acknowledgement مقدار دهی اولیه می شوند و دو دستگاه بر سر شماره پورت مورد استفاده شان باهم مذاکره می کنند

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

شکل فوق فرایند سه مرحله ای اتصال TCP را نشان می دهد که به آن 3way Handshake نیز می گویند. طی این فرایند دو Socket در دو کامپیوتر به یکدیگر متصل می شوند.

3way Handshake

برای برقراری یک اتصال ، هر دستگاه باید یک پیام SYN به دستگاه دیگر ارسال کند و یک پیام ACK از آن دستگاه دریافت نماید. بنابراین قاعدتا باید 4 پیام بین دو دستگاه تبادل شود تا اتصال سوکت های مورد نظر برقرار شود. اما از آنجاکه در این فرایند یگی از کامپیوتر ها باید یک ACK برای درخواست کامپیوتر دیگر و یک SYN برای درخواست خود بصورت متوالی ارسال کند، با ادغام این دو پیام در یک پیام بصورت SYN + ACK این پیام را به دستگاه دیگر ارسال می کند و بدین ترتیب یک فرایند سه پیامی یا سه مرحله ای شکل می گیرد که طی آن Socket های موجود در دو دستگاه به یکدیگر متصل می شوند. جدول و شکل زیر فرایند 3way handshake را مرحله به مرحله از دیدگاه دو دستگاه درگیر توضیح می دهد.

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

TCP این فرایند توسط دو بیت از فیلد Flag در Header خود انجام می دهد. این دو فیلد SYN مخفف Synchronization به معنای همزمان سازی و ACK مخفف Acknowledgement به معنای تصدیق می باشند.

در ادامه فرایند پایان دادن به یک اتصال را توسط TCP توضیح می دهیم به این فرایند TCP Connection Termination می گویند. در این فرایند از بیت دیگری در فیلد Flag به نام FIN مخفف Finished به معنای خاتمه استفاده می شود.

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

بنابراین پایان دادن به یک ارتباط یک فرایند 3 مرحله ای نیست و از دو قسمت 2 مرحله ای (کلا 4 مرحله) تشکیل شده است. روند تغییر وضعیت دو دستگاهی که قرار است اتصال بین آن ها خاتمه یابد با یکدیگر متفاوت است. فرایندی که در خواست کننده باید طی کند با فرایندی که دریافت کننده درخواست باید طی کند متفاوت است. دستگاهی که درخواست خاتمه اتصال را دریافت می کند باید نرم افزار اجرا شده روی خود را از این درخواست مطلع سازد و صبر کند تا نرم افزار نیز آن را تایید نماید. دستگاه در خواست کننده نیازی به این کار ندارد چراکه نرم افزار موجود روی آن خود تقاضای اتمام رابطه را به TCP داده است. شکل و جدول زیر وضعیت دو سیستم کلاینت و سرور را حین قطع ارتباط بین Socket شان نشان می دهد.

پروتکل های اتصال گرا (Connection Oriented):


پروتکل هایی که قبل از تبادل اطلاعات باید اقدام به برقراری اتصال Socket بین دو نقطه نمایند مانند TCP

پروتکل های بدون اتصال (Connectionless):


پروتکل هایی که برای تبادل اطلاعات نیازی به برقراری اتصال Socket ندارند مانند UDP

(UDP (User Datagram Protocol


یک پروتکل بدون اتصال است که بر خلاف TCP خدمات تصحیح خطا و کنترل جریان و ... را ارائه نمی دهد و به همین دلیل به پهنای باند کمتری از شبکه و همینطور پردازش کمتری نیاز دارند. این پروتکل مانند TCP خدمات انتقال داده و Multiplexing را انجام می دهد و نرم افزار هایی که از UDP استفاده می کنند به سرعت بالای انتقال نیاز دارند مانند NFS، VoIP یا DNS. در شکل زیر یک Header پروتکل UDP نمایش داده شده است. فیلد های شماره Port مبدا و مقصد همان کاریی در TCP را دارند. اندازه این Header 8 بایت است که در مقایسه با Header 20 بایتی در TCP بسیار اندازه کمی دارد و علت آن خدمات کمتری است که این پروتکل ارائه می دهد.

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

QoS و تاثیر آن بر Application های TCP/IP


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

• Bandwidth یا پهنای باند: به تعداد بیت ها در ثانیه که نرم افزار برای خوب کار کردن به آن نیاز دارد.

• Delay یا تاخیر: مدت زمانی که طول می کشد تا یک Packet از مبدا به مقصد برسد.

• Jitter یا اعوجاج: نوسانات در Dealy.

• Loss یا از دست رفتن: درصد Packet هایی که قبل از رسیدن به مقصد نابود می شوند و TCP موظف به ارسال مجدد آن هاست.

انواع Application ها و نیاز Qos آن ها


Interactive یا نرم افزار های تعاملی: معمولا در یک سر مسیر یک انسان قرار دارد و برنامه باید با او تعامل نماید و با توجه به عملیاتی که شخص انجام می دهد Packet های خاصی باید بین دستگاه کاربر و سرور تبادل شوند. مانند تعامل مرورگر و وب سرور. در این نوع نرم افزار ها Delay و Jitter تاثیر زیادی بر این تعامل دو سویه خواهد داشت.

Batch یا نرم افزار های سری: این نوع نرم افزار ها بیشتر بر پهنای باند شبکه یا Bandwidth تمرکز دارند. در این نرم افزار ها تعاملی صورت نمی گیرد. برای مثال یک برنامه می خواهد در ساعت مشخصی یک Backup تهیه کند و آن را به سرور خود ارسال نماید. پهنای باندی که این تبادل از شبکه اشغال می کند مهعمتر از مدت زمانی است که قرار است این کار را انجام دهد.

Realtime VoiceVideo یا برنامه های صوتی و تصویری زنده: در شبکه های TCPIP امکان انتقال صدا و تصویر وجود دارد. در این موارد اغلب از تلفن های IP استفاده می شود. این تلفن ها دستگاه هایی هستند که صدا را در قالب بیت ها در داخل یک IP Packet ارسال می کند.

آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم

ارسال ترافیک صوتی در قالب IP Packet را VoIP می نامند و بکارگیری از تلفن های IP همانند شکل فوق را IP Telephony می گویند.

Qos مورد نیاز برای یک برنامه Realtime بالاتر از QoS مورد نیاز برای برنامه های Interactive مانند Browser است.

ITPRO باشید

نویسنده : امید رستمی

منبع : جزیره سیسکو وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#tcp_three-way_handshake_چیست؟ #اموزش_کامل_دوره_ccna_200-120 #پروتکل_UDP #دوره_آموزشی_ccna #آموزش_گام_به_گام_سیسکو #Transport_layer_یا_لایه_انتقال
عنوان
1 آموزش گام به گام CCNA دوره 220-120 - قسمت اول رایگان
2 آموزش گام به گام CCNA دوره 220-120 - قسمت دوم رایگان
3 آموزش گام به گام CCNA دوره 220-120 - قسمت سوم رایگان
4 آموزش گام به گام CCNA دوره 220-120 - قسمت چهارم رایگان
5 آموزش گام به گام CCNA دوره 220-120 - قسمت پنجم رایگان
6 آموزش گام به گام CCNA دوره 220-120 - قسمت ششم رایگان
7 آموزش گام به گام CCNA دوره 220-120 - قسمت هفتم رایگان
8 آموزش گام به گام CCNA دوره 220-120 - قسمت هشتم رایگان
9 آموزش گام به گام CCNA دوره 220-120 - قسمت نهم رایگان
10 آموزش گام به گام CCNA دوره 220-120 - قسمت دهم رایگان
زمان و قیمت کل 0″ 0
8 نظر
بهروز   سیروس زاد

من واقعا از سيسكو و كار باهاش لذت ميبرم ممنون مهندس

امید رستمی

لطف دارید استاد امید وارم همه این حس رو داشته باشند

البته من جدیدا علاقه ی زیادی به مجازی سازی پیدا کردم

بهروز   سیروس زاد

راستش و بگم من علاوه بر مجازي سازي و شبكه در مباحث سخت افزارو الكترونيك و طراحي مدار وتخصص در طراحي بازي با گيم انجين ها از جمله cry engine و unity رو هم دارم با premier و after effect در حد حرفه اي كار كردم و فيلم ساختم ،پس هميشه به حس علاقه و كنجكاويت جواب مثبت بده و برو دنبالش ما كلا از ١٠ درصد مغزمون استفاده ميكنيم پس تا آخر عمر كلي جا داره و كلي تخصص ميشه گرفت،كلي هم از پزشكي و دارو شناسي اطلاعات دارم پس آقا كار بكشيد از اين مغز تا آكبند نمونه،،D;

امید رستمی

استاد انرژيتون واقعا قابل تحسينه

حتما استاد

محمد نصیری

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

امید رستمی

ایشالا مرسی استاد نصیری ایشالا با کمک شما تو این سایت حالا حالا چه من چه همه ITPRO هایی عزیز پیشرفت کنیم

بهروز   سیروس زاد

مهندس نصيري آقا خجالت زدمون نكنين شما استاد مايين و تجربه اي كه شما دارين در كار عملي ما جز آرزو برامون چيزي نيست،،،واقعا افرادي مثل شما در ايران تك و نمونه هستند تعريف نيستا رزومتون ديگه كامل واسه همه گويا هست،،

رضا کریمی

افتخار میکنم به اینکه شاگرد مهندس سیروس زاد و مهندس نصیری هستم ... خیلی از قبح هارو شکستین شما دو بزرگوار ،براتون آرزو میکنم همین مسیرو با همین انرژی برین...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....