قرارداد داده‌نگار کاربر: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
خط ۱۸۱:
 
انتقال صدا و تصویر معمولاً از طریق UDP صورت می‌گیرد. پروتکل‌های پخش زنده صدا و تصویر برای مدیریت از دست رفتن بسته‌ها طراحی شده‌اند تا تنها افت کیفیت ناچیزی رخ دهد، تا اینکه زمان زیادی برای ارسال دوباره بسته‌های از دست رفته صرف شود. به این دلیل که TCP و UDP هر دو در یک شبکه کار می‌کنند، بسیاری از کسب و کارها به این نتیجه رسیده‌اند که افزایش اخیر در ترافیک UDP از این برنامه‌های بلادرنگ بر کارایی برنامه‌هایی نظیر [[پایانه‌های فروش]] (POS)، سیستم‌های حسابداری و پایگاه داده که از TCP استفاده می‌کنند، آسیب می‌رسانند. زمانیکه TCP متوجه از دست رفتن بسته‌ای می‌شود، نرخ انتقال داده‌هایش را کاهش می‌دهد. از آنجاییکه، برنامه‌های تجاری و بلادرنگ برای کسب و کارها مهم می‌باشند، بر اهمیت توسعه راه حل‌های [[کیفیت خدمات]] (QoS) روز به روز افزوده می‌شود.
 
==مقایسه UDP و TCP==
 
{{اصلی|لایه کاربرد}}
 
[[پروتکل کنترل انتقال]] یک پروتکل اتصال گرا (Connection-Oriented) می‌باشد، بدین معنا که برای برقراری ارتباط بین دو میزبان احتیاج به تکنیک «دست تکانی» یا Handshaking دارد. به محض اینکه ارتباط برقرار شد داده‌های کاربر می‌تواند به صورت دوطرفه ارسال و دریافت شود. از جمله خصوصیات این پروتکل می‌توان به موارد زیر اشاره کرد:
* ''قابل اطمینان'' - TCP تصدیق پیغام، ارسال دوباره و زمان انقضاء را مدیریت می‌کند. اگر پیغامی به مقصد نرسید این امکان را دارد که برای چندین بار این کار را انجام دهد. اگر بسته‌ای در وسط راه از دست رفت، سرور می‌تواند درخواست ارسال دوباره بسته مفقوده را اعلام کند. در TCP، از دست رفتن داده معنایی ندارد و در مواردی که زمان انقضاء (Timeout) افزایش یابد، ارتباط قطع خواهد شد.
*''دارای ترتیب'' - اگر دو پیغام بر روی یک خط ارتباطی به ترتیب فرستاده شوند، پیغام اول، اول خواهد رسید. زمانیکه قطعات داده‌ای در ترتیب اشتباه دریافت شوند، TCP تمام بسته‌های خارج از ترتیب را بافر می‌کند تا اینکه تمام بسته‌ها به طور کامل دریافت شوند، سپس تمام آنها را مرتب کرده و تحویل برنامه کاربردی می‌دهد.
*''سنگین'' - TCP برای برقراری ارتباط سوکت و پیش از شروع ارسال اطلاعات کاربر، احتیاج به سه بسته دارد. TCP با استفاده از [[کنترل ازدحام]] قابلیت اطمینان را فراهم می‌آورد.
*''جریانی'' - داده‌ها به صورت جریانی از بایت‌ها خوانده می‌شوند.
 
UDP یک پروتکل بی اتصال (Connectionless) مبتنی بر پیغام ساده‌است. پروتکل‌های بی اتصال نیازی به برقراری ارتباط اختصاصی ندارند. ارتباط به صورت یکطرفه و در یک مسیر ار مبدأ به مقصد و بدون در نظر گرفتن حالت یا وضعیت گیرنده برقرار می‌شود. از جمله خصوصیات این پروتکل می‌توان به موارد زیر اشاره کرد:
*غیر مطمئن - زمانیکه پیغامی ارسال می‌شود، نمی‌توان فهمید که آیا این پیغام به مقصد رسیده‌است یا خیر؛ ممکن است پیغام مورد نظر در میانه راه از دست رفته باشد. در این نوع پروتکل مفهومی به نام «تصدیق» یا Acknowledgement، ارسال دوباره یا زمان انقضاء وجود ندارد.
*بدون ترتیب - اگر دو پیغام به یک گیرنده فرستاده شود، ترتیب دریافت پیغام‌ها به هیچوجه مشخص نخواهد بود.
*سبک - در این پروتکل هیچگونه ترتیب پیغام، ردگیری ارتباط و غیره وجود ندارد. بنابراین بار پردازشی خاصی نیز بر شبکه تحمیل نمی‌کند.
*داده‌نگار - بسته‌ها به صورت تکی ارسال شده و تنها زمانیکه به مقصد برسند از نظر یکپارچگی مورد بررسی قرار می‌گیرند. بسته‌ها دارای حد صریح و روشنی هستند که برای گیرنده کاملاً مشخص است.
*عدم وجود کنترل ازدحام - UDP به خودی خود از ازدحام جلوگیری نمی‌کند و این احتمال وجود دارد برنامه‌هایی که پهنای باند زیادی مصرف می‌کنند باعث بروز ازدحام شوند، مگر اینکه در لایه کاربردی تمهیداتی برای کنترل ازدحام در نظر گرفته شده باشد.
 
==همچنین ببینید==
*[[فهرست پورت‌های TCP و UDP]]
*[[پروتکل داده‌نگار کاربر قابل اطمینان]] (RUDP)
*[[لایه انتقال#جدول مقایسه‌ای پروتکل‌های لایه انتقال|جدول مقایسه‌ای پروتکل‌های لایه انتقال]]
*[[حمله سیل‌آسای UDP]]
*[[انتقال داده UDP]]
*[[UDP سبک]]، شکل دیگری از UDP که بسته‌ها را حتی اگر خراب هم باشند تحویل می‌دهد.
 
==پانویس==