سلام. به دهمین قسمت از سری مقالات آموزشی دوره نتورک پلاس خوش آمدید. همانطور که از عنوان این مقاله کاربردی مشخص است، در این بلاگ قصد داریم پروتکل های لایه Transport یا انتقال را که شامل دو نوع مهم UDP و TCP میشود را مورد بررسی قرار دهیم. پس با ما همراه باشید.
پروتکل های لایه Transport
آشنایی با TCP یا (Transmission Control Protocol)
این پروتکل بر صحت دادههای ارسالی و دریافتی نظارت داشته و دارای ضریب اطمینان بالا از جهت تضمین دریافت اطلاعات بدون خطا میباشد. به عبارت دیگر TCP اتصالگرا یا Connection Oriented بوده که بدین معنی است که قبل از ارسال اطلاعات باید از صحت ارتباط بین سیستمها اطمینان حاصل شود.
نکته مهمی که باید به خاطر داشته باشید این است که پروتکل TCP طی یک فرآیند سه مرحلهای (Three Way Handshake) اقدام به ایجاد ارتباط میکند. یعنی قبل از ارسال هرگونه اطلاعات، ارتباط بین سیستمها باید طی سه مرحله بررسی شود که در ادامه به توضیح این سه مرحله میپردازیم.
دست تکانی سه مرحلهای (Three-Way Handshake)
- مرحلهی اول: در این مرحله سیستم درخواست ارتباط را با ارسال بستهای که فقط Flag SYN آن تنظیم شده است میدهد.
- مرحلهی دوم: در این مرحله سیستم دوم با ارسال یک بسته که Flagهای SYN و ACK آن تنظیم شده است، آمادگی خود را اعلام میدارد.
- مرحلهی سوم: در این مرحله سیستم اول یک بسته حاوی ACK Flag به سیستم دوم ارسال کرده که بیانگر ایجاد ارتباط میباشد.
اگر سه مرحله بالا بدون مشکل صورت گرفت، ارتباط TCP برقرار شده است.
نکته: همانطور که در فرآیند بالا توضیح داده شد، پرچمها (Flag) نقش مهمی در پروتکل TCP ایفا میکنند. برای مثال یک بودن پرچم SYN بیانگر درخواست شروع یک ارتباط میباشد. در ادامه به بررسی دیگر Flagها و کاربرد آنها میپردازیم.
- SYN یا (Synchronize): این Flag برای اعلام شروع ارتباط کاربرد دارد.
- ACK یا (Acknowledgment): این Flag دریافت یک بسته را اعلام میدارد.
- PSH یا (Push): این Flag برای ارسال بدون فاصله دادههای بافر کاربرد دارد.
- RST یا (Reset): این Flag برای راهاندازی مجدد ارتباط کاربرد دارد.
- FIN یا (Finish): اتمام ارتباط با این Flag اعلام میشود.
- URG یا (Urgent): یک شدن این Flag به معنای پردازش سریع دادههای داخل بسته است.
آشنایی با UDP یا (User Datagram Protocol)
این پروتکل بر خلاف پروتکل TCP بدون اتصال بوده (Connection less) و بررسی خاصی برای صحت ارتباط سیستمها قبل از ارسال داده صورت نمیگیرد. از این پروتکل در ایجاد ارتباطهایی که سرعت انتقال از صحت دادهها اهمیت بیشتری دارد استفاده میشود. مثلا مشاهده آنلاین یک ویدیو یا گوش دادن به یک صوت در بستر شبکه.
نکته: UDP امنیت کمتر و سرعت بالاتری نسبت به پروتکل TCP دارد. تصویر زیر بیانگر تفاوت در ارتباط توسط پروتکلهای TCP و UDP میباشد.
آشنایی با پورتها در لایه انتقال
درگاه ورودی و خروجی یا همان پورت (Port) نیز در لایهی انتقال مطرح میشود. پورتها در ارتباط بین Client و Server از اهمیت ویژهای برخوردارند. به عنوان یک کارشناس شبکه که قصد راه اندازی و پیاده سازی شبکه در سازمانها را دارد باید بدانید که به طور کلی دو نوع پورت سختافزاری و نرمافزاری در شبکه وجود دارد.
پورتهای سخت افزاری: این پورتها شامل پورتهای LAN بر روی مادر بورد، سوئیچها، روترها و …. بوده و قابل رویت میباشند.
پورتهای نرم افزاری: این پورتها قابل رویت نبوده و تعداد آنها برابر ۶۵۵۳۵ برای هر دو پروتکل TCP و UDP میباشد. این تعداد پورت در سه گروه دسته بندی میشوند که جدول زیر بیانگر محدوده و کاربرد این پورتها میباشد.
پورت (Port) | کاربرد |
---|---|
1-1024 | این پورت به سرویسهای خاص شبکه اختصاص یافتهاند. |
1025-49151 | این پورتها پورتهای تصادفی نام دارند و در ارتباطهای موجود در بستر شبکه کاربرد دارند. |
49152-65535 | این پورتها پورتها آزاد نام دارند و کاربرد آنها در برنامه نویسی و سناریوهای خاص شبکه میباشد. |
اگر با مفهوم پورتهای نرمافزاری آشنایی ندارید، به طور خلاصه میتوان گفت پورتهای نرمافزاری کانالهای مجزا بر روی یک IP آدرس میباشند که شما میتوانید بر اساس نوع درخواست و پروتکلی که در بستر شبکه استفاده میکنید از هرکدام از این کانالها بهره ببرید تا دیگر نیاز نباشد که برای هر سرویس و هر درخواست یک IP برای برقراری ارتباط در نظر بگیرید. برای درک بهتر این موضوع به مقالات قبلی دوره آموزشی نتورک پلاس مراجعه نمایید.
مطالب مرتبط با این قسمت از بلاگ نتورک پلاس نیز در همین بخش به پایان میرسد. در قسمت بعدی مقالات به بررسی یکی دیگر از سرفصلهای دوره نتورک پلاس خواهیم پرداخت.
تلفن: 91004313-021 09129726690
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.