پروتکل چیست ؟ معرفی ۲ پروتکل مهم در شبکه TCP/UDP
مقدمه
آنچه در این مقاله می خوانید:
در این درسنامه از دوره جامع pbxshop ما قصد داریم تا درباره ی یک موضوع خیلی مهم صحبت کنیم.این مبحث در لایه ی ترانسپورت قرار دارد و نام آن پروتکل است. در واقع ما در این درسنامه یاد می گیریم که پروتکل چیست و چه کاربردهایی در شبکه دارد.
به طور کلی آشنایی و تسلط بر مقوله پروتکل به شما کمک میکند تا تسلط خیلی بیشتری بر روی کل مباحث شبکه کامپیوتری پیدا کنید. از این رو اگر شما هم تمایل دارید که اطلاعات تان را در این زمینه ارتقا دهید، تا انتهای این مطلب ما را همراهی کنید. معرفی پروتکل ببینید دوستان ما تا به اینجای کار با پروتکل های بسیار زیادی کار کردیم. البته مطمئنا شما هم تا به اینجای کار، یک تعریف ساده از پروتکل ها برای خودتان دارید.
با این تفاسیر اگر بخواهیم الان یک تعریف ساده از پروتکل ها به شما ارائه دهیم باید این طور بیان کنیم که به مجموعه قوانینی که بین دو برنامه و یا دو تا کامپیوتر در شبکه انتقال پیدا میکنند، پروتکل گفته می شود. یا میتوان این طور بیان کرد که به مجموعه قوانینی که برای برقراری ارتباط بین دو کامپیوتر و یا دو برنامه در یک شبکه وضع میشود، پروتکل می گویند. در حالت خیلی ساده تر؛ به زبان مشترک بین دو برنامه و یا دو کامپیوتر، پروتکل گفته می شود.
در واقع زمانی که شما قصد دارید که از طریق مرورگر سیستم تان به اینترنت متصل شوید، باید از پروتکل http استفاده کنید. این پروتکل شما را به یک سایت و یا وب سرور متصل میکند. این بدین معناست که شما تا به امروز به صورت کاملاً ناخواسته در حال استفاده از پروتکل http بودید و نمیدانستید! در واقع ما برای اتصال به هر کامپیوتر و سیستمی باید از پروتکل مخصوص به همان کامپیوتر استفاده کنیم. پس پروتکل همان زبان قابل فهم بین دو کامپیوتر تعریف می گردد.
معرفی دو پروتکل udp و tcp
خوب؛ حالا ما در شبکه های کامپیوتری دو پروتکل خیلی معروف داریم که عموماً همه از همین دو پروتکل استفاده میکنند. نام این پروتکل ها TCPو UDP می باشد. در واقع کل هدف این درسنامه نیز صحبت کردن درباره این دو پروتکل می باشد.
بنابراین در ادامه با هم بررسی میکنیم که این پروتکل ها چه پروتکل هایی هستند؛ کاربرد هر یک از آنها چیست و چه تفاوت ها و شباهت هایی با هم دارند! بدیهی ترین تعریفی که می توانیم از پروتکل های TCP و UDP ارائه دهیم این است که این پروتکل ها، پروتکل هایی بر پایه ی Ip می باشند. این پروتکل ها در لایه ی ترانسپورت یعنی لایه ی چهارم و بعد از نتورک قرار می گیرند. در ادامه به بررسی جامع این پروتکل ها می پردازیم و با هم می خوانیم که کدام پروتکل برای کدام موقعیت بهتر است.
معرفی پروتکل های TCP و UDO بهتر است ابتدا توضیح دهیم که TCP و UDO هر کدام مخفف چه عبارتی هستند. چرا که از این طریق می توانیم کارکرد آن را نیز تشخیص دهیم.
Tcp را می توانیم مخفف عبارت لاتین transmission control protocol تعریف کنیم. در کنار این عبارت، udp، مخفف عبارت لاتین user datagram protocol می باشد. اما لازم است که در این قسمت موضوعی را برای شما عزیزان مطرح کنیم و آن این است که درباره ی ماهیت اصلی این پروتکل ها و تعریف اصلی و مفصل آن ها، مقالات بسیار زیادی در سایت pbxshop منتشر شده است.
از این روی، بهتر است که برای آشنایی بیشتر و درک بهتر این مفاهیم به وب سایت pbxshop مراجعه نمایید. چرا که موضوع بحث امروز این مقاله، به هیچ وجه درباره ی تعاریف این پروتکل ها نیست و قرار است که بحث امروز حول کاربرد این پروتکل ها در شبکه بچرخد.
بررسی تفاوت های دو پروتکل udp و tcp
خوب برسیم به اصل داستان؛ همین ابتدا نیاز است بدانید که پروتکل tcp یکی از امن ترین و قابل اعتمادترین پروتکل هایی است که در یک شبکه وجود دارد. اما در قیاس با این پروتکل نیاز است بدانید که پروتکل udp به هیچ وجه پروتکل امن و قابل اعتمادی نیست.
اما حالا سوال اینجاست که معیار امنیت و قابل اعتماد بودن یک پروتکل چیست؛ یعنی چرا ما پروتکل tcp را یک پروتکل امن و پروتکل udp را یک پروتکل ناامن معرفی می کنیم؟
پاسخ این سوال در گرو بررسی ارتباط است. یعنی اینکه پروتکل tcp قبل از اینکه بخواهد اطلاعات و یا دیتایی را به سمت مقصد هدایت کند، ابتدا بررسی می کند که اتصال برقرار است یا خیر!
در واقع تنها زمانی پیام، اطلاعات و دیتای شما ارسال می شود که اتصال شما با مقصد برقرار باشد. بر حسب این اطلاعات، پروتکل tcp را یک پروتکل اتصال گرا می نامند. این پروتکل ها، پروتکل هایی هستند که تنها در صورت برقرار بودن یک ارتباط، ارسال داده و دیتا را آغاز می کنند.
نکته جالب توجه دیگر اینجاست که اگر در حین ارسال اطلاعات، اتصال قطع شود، سریعاً انتقال داده نیز قطع خواهد شد و این کار کاملاً خودکار انجام می شود. همین پروسه باعث می شود که مسیر انتقال داده و اطلاعات ما، مسیری امن و قابل اطمینان تعریف گردد و در این مسیر هیچ داده ای از دست نرود.
اما این اتفاقات برای پروتکل udp رخ نمی دهد. در واقع در این پروتکل به هیچ وجه، موضوع اطمینان از رسیدن اطلاعات به مقصد مطرح نمی شود. در واقع در این پروتکل، فقط دیتا ارسال می شوند و هیچ اطمینانی دال بر اینکه این دیتاها به موقع به مقصد برسند، مطرح نمی گردد. از این روی احتمال اینکه این بین اطلاعات و داده های سوخته نیز وجود داشته باشد بسیار زیاد است. بنابراین پروتکل را غیر اتصال گرا می نامند. پروتکلی که اصلاً هیچ اهمیتی برای پروسه ی انتقال داده و اطمینان از رسیدن داده قائل نیست.
با تمامی تعاریف ذکر شده در سطرهای بالا، متوجه شدیم که اولین و مهم ترین تفاوتی که برای دو پروتکل udp و tcp مطرح می شود، مربوط به بخش اتصال و انتقال امن داده می باشد. ببینید؛ ما می توانیم روال کاری پروتکل udp را به سیستم های پستی قدیمی تشبیه کنیم.
اگر خاطرتان باشد، در قدیم بسته های پستی را فقط در صندوق های پستی مقصد قرار می دادند. از این روی، هیچ پیگیری در باب اطمینان از رسیدن بسته به دست گیرنده صورت نمی گرفت. Udp نیز به همین منوال پیش می رود؛ فقط داده را ارسال می کند و در نهایت هیچ پروسه ای دال بر دریافت اطمینان از رسیدن پیغام به مقصد انجام نمی شود.
تفاوت دوم پروتکل های udp و tcp در پهنای باندی است که توسط این دو پروتکل اشغال می شود. ببینید؛ همان طور که در بخش امنیت پروتکل ها مطرح شد، در پروتکل tcp نیاز است که ابتدا اتصال برقرار شود و سپس اطلاعات به سمت مقصد هدایت گردد. همین موضوع باعث می شود که این پروتکل برای انجام این پروسه به پهنای باند بیشتری نیاز داشته باشد. با این تحلیل طبیعتاً سرعت انتقال اطلاعات نیز در این پروتکل پایین تر خواهد بود.
اما در پروتکل udp دقیقاً عکس این موضوع صادق است. یعنی ما برای انتقال داده، به پهنای باند کمتری نیاز داریم و در نتیجه سرعت بالاتری را نیز خواهیم داشت. بنابراین در مواردی که ما برای انتقال داده ها به سرعت بالاتری نیاز داریم، باید از پروتکل udp استفاده نماییم.
این دو مورد، یعنی پهنای باند و امنیت، دو مورد از مهم ترین تفاوت هایی هستند که برای دو پروتکل udp و tcp مطرح می گردند. از این روی ما با توجه به همین تفاوت ها می توانیم پروتکل مورد نظرمان را انتخاب نماییم. اما لازم است بدانید که علاوه بر این دو مورد ذکر شده، پروتکل های دیگری نیز وجود دارند که ما می توانیم با توجه به ویژگی ها و کاربردهای آن ها، نمونه مورد نظرمان را انتخاب نماییم. البته که ما درسنامه های قبلی درباره ی برخی از این پروتکل ها صحبت کرده بودیم.
مثلا پروتکل SSH: پروتکل SSH یک پروتکل امن است و عموماً برای برقراری ارتباط از پروتکل TCP استفاده می کند. در این پروتکل نیز ابتدا تست برقراری اتصال انجام می شود و در صورت برقراری اتصال، دیتا ارسال می گردد. به همین خاطر پروتکل SSH یک پروتکل قابل اعتماد و امن است.
در این پروتکل به صورت پیش فرض از پورت ۲ استفاده می شود. با توجه به موارد ذکر شده، متوجه می شویم که پروتکل های مختلف مثل DNS، FTP، TFTP، TELL NET، SSH، HTTP و غیره، از پروتکل های نوع UDP و TCP برای برقراری ارتباط استفاده می کنند و انتخاب هر کدام از این پروتکل ها با توجه به کارکرد خود پروتکل انجام می شود.
اما بد نیست این را هم بدانید که از پروتکل UDP معمولاً در ویپ استفاده می شود. علاوه بر این RTP و SIP هم پروتکل هایی هستند که منحصراً از پروتکل UDP برای برقراری ارتباط استفاده می کنند. پس متوجه شدیم که ما برای برقراری ارتباط با یک کامپیوتر، می توانیم از پروتکل های مختلفی استفاده کنیم. در کل هر سروری که در شبکه راه اندازی شده باشد، یک پروتکل مخصوص به خود دارد و ما برای برقراری ارتباط با آن سرور باید از پروتکل آن استفاده کنیم.
در بخش های قبلی ما توضیح داده بودیم که قصد داریم کاری را انجام دهیم و یا درخواستی را ارسال کنیم، ( فرقی هم نمی کند که چه درخواستی باشد) برای این انتقال ما به یک IP نیاز داریم. همچنین یاد گرفتیم که علاوه بر IP، به یک پورت هم نیاز داریم.
اما حالا ما می خواهیم به این دو مورد، پروتکل را نیز اضافه کنیم. یعنی ما برای ارسال یک درخواست به سه گزینه IP، پورت و پروتکل نیاز داریم. هر چند که ما قبلاً درباره ی این موضوع صحبت کرده بودیم. ببینید؛ مثلاً ما قصد داریم که با پروتکل SSH به یک سرور متصل شویم، برای برقراری این اتصال نیاز است بدانیم که آن سرور چه IP دارد و این اتصال باید از طریق چه پورت و پروتکلی انجام شود.
نرم افزار MOBAXTERM
خوب؛ برای درک بهتر موضوع به نرم افزار MOBAXTERM رجوع می کنیم. ما می خواهیم از طریق پروتکل SHH این نرم افزار به یک سرور متصل شویم. برای این کار ابتدا باید سرور مورد نظرمان را در بخش REMOTE HOST وارد کنیم. بعد از وارد کردن سرور مشاهده می کنیم که این اتصال از طریق پروتکل SSH و پورت پیش فرض ۲۲ انجام می شود. دقت کنید که REMOTE HOST در واقع همان IP مورد نظر ماست.
خوب؛ حالا تصور کنید که ما قصد داریم به سایت PBXSHOP متصل شویم. گفته بودیم که ما برای این کار به سه آیتم آی پی، پورت و پروتکل نیاز داریم. خوب طبیعتاً برای اتصال به پی بی ایکس شاپ نیاز نیست IP سایت را وارد کنیم و تنها وارد کردن آدرس دامنه PBXSHOP.CO کفایت می کند. همینجا اعلام کنیم که در این قسمت که اهمیت DNS ها مطرح می شود. البته در درسنامه های بعدی مفصلاً دوباره درباره DNS ها صحبت خواهیم کرد.
در این پروسه DNS آدرس دامنه را به IP تبدیل می کند و این اتصال در پروتکل HTTP و پورت پیش فرض ۸۰ اتفاق می افتد.
سخن آخر
ما متوجه شدیم که برای برقراری یک ارتباط به سه آیتم پروتکل، پورت و آی پی نیاز داریم. از بین این موارد، IP از اهمیت بسیار زیادی برخوردار می باشد. چرا که معمولاً پورت های پیش فرض عوض می شوند و این کار برای برقراری امنیت بیشتر انجام می گردد. از این روی شما باید دقیقاً بدانید که سرور مورد نظر شما چه پورتی دارد.
با سلام
تشکر از ویدیوهای مفیدتان
ببخشید امکانش هست دوره آموزشی شبیه سازی شبکه با نرم افزار پکت تریسر هم آموزش دهید.
سلام و ممنون از شما
واقعیتش این دوره چندین ماه پیش ضبط شده و البته قراره چند بخش در قالب آپدیت هم اضافه کنیم
اگر وقت داشته باشیم، اضافه می کنیم
با سلام و احترام و تشکر از شما
ببخشید کدام جلسه مربوط به راه اندازی شبکه کلاینت سرور می باشد؟
سلام
این دوره بطور کامل مربوط میشه به راه اندازی شبکه و تنظیمات شبکه در کلاینت ها
با سلام و سپاس فروان. چقدر خوب آموزش میدید شما. تعجب می کنم چطور تا بحال شما و این سایت رو ندیده بودم. دریای اطلاعات هست اینجا واقعا . ممنون
ممنون از شما و این پیام پرانرژی
انشالا که موفق باشید
سلام استاد خیلی عالی وجامع توضیح دادید سلامت وسرافرازباشید
سلام و ارادت فراوان خدمت شما اقای سرلک
انشالا که موفق باشید همیشه
سلام بسیار عالی وشیوا
اگر امکانش هست بقیه دوره های شبکه رو هم بزارید
سلام و ارادت
ممنون از پیشنهاد شما. تا جایی که وقت داشته باشیم برای شما عزیزان محتوا ضبط میکنیم.
با سلام و احترام فراوان
تشکر از فایل آموزشی خوبتان و مهمتر اینکه خیلی توضیحات رو خوب ارائه میکنید مثل خیلی اساتید نیستید که خسته کننده باشه گوش دادن به مطالب.واقعا شخص مشتاق برای دریافت ویدیوی بعدی میشه
بازهم تشکر و کاش آموزش های بیشتری ارائه بشه
سلام و سپاس از توجه شما
ممنون، امیدوارم که موفق باشید. تا جایی که بتونیم برای شما محتوا ضبط می کنیم.