۰
subtitle
ارسال: #۱
  
کنترل خطای UDP
سلام
درباره تفاوت بین کنترل خطا در UDP سوال داشتم
در واقع مشخصاً میخواهم بپرسم که آیا UDP کنترل خطا رو انجام میده؟
اگر انجام میده چرا خود Application باید کنترل خطا رو انجام بده
اگر انجام نمیده، اینکه گفته میشه کنترل خطا در UDP اختیاری هست، مربوط به چه کارهایی است؟
با سپاس
درباره تفاوت بین کنترل خطا در UDP سوال داشتم
در واقع مشخصاً میخواهم بپرسم که آیا UDP کنترل خطا رو انجام میده؟
اگر انجام میده چرا خود Application باید کنترل خطا رو انجام بده
اگر انجام نمیده، اینکه گفته میشه کنترل خطا در UDP اختیاری هست، مربوط به چه کارهایی است؟
با سپاس
۰
ارسال: #۲
  
RE: کنترل خطای UDP
باسلام
در لایه انتقال دوپروتکل انتقال داده ی مهم وجود دارد به نام های : TCP و UDP
پروتکل TCP کنترل خطا، کنترل جریان و کنترل ترافیک را برای اپلیکیشنی که از آن استفاده می کند ارائه می دهد. درحالی که پروتکل UDP هیچ سرویسی به غیر از انتقال داده به اپلیکیشنی که از آن استفاده می کند ارائه نمی دهد.
حالا میشه از UDP استفاده کرد و مثلا کنترل خطا را در لایه اپلیکیشن پیاده سازی کرد ولی این کار توصیه نمیشه به دلیل اینکه کسی که اپلیکیشن را پیاده سازی می کند باید خودش پروتکل کنترل خطا را پیاده سازی کند.
برای اپلیکیشن های که کنترل تراکم TCP از نقطه نظر آن ها خوب نیست مثل تلفن اینترنتی یا ویدیو کنفرانس از پروتکل UDP استفاده می شود زیرا چنانچه از دست رفت داده هم داشته باشیم در اپلیکیشنی مثل تلفن اینترنتی تا یه حدی این از دست رفت داده قابل قبول است. از طرف دیگر در اپلیکیشن های مثل مرورگر وب از دست رفت داده قابل قبول نیست بنابراین در پیاده سازی پروتکل HTTP از پروتکل TCP استفاده شده است.
بهترین آرزوها
در لایه انتقال دوپروتکل انتقال داده ی مهم وجود دارد به نام های : TCP و UDP
پروتکل TCP کنترل خطا، کنترل جریان و کنترل ترافیک را برای اپلیکیشنی که از آن استفاده می کند ارائه می دهد. درحالی که پروتکل UDP هیچ سرویسی به غیر از انتقال داده به اپلیکیشنی که از آن استفاده می کند ارائه نمی دهد.
حالا میشه از UDP استفاده کرد و مثلا کنترل خطا را در لایه اپلیکیشن پیاده سازی کرد ولی این کار توصیه نمیشه به دلیل اینکه کسی که اپلیکیشن را پیاده سازی می کند باید خودش پروتکل کنترل خطا را پیاده سازی کند.
برای اپلیکیشن های که کنترل تراکم TCP از نقطه نظر آن ها خوب نیست مثل تلفن اینترنتی یا ویدیو کنفرانس از پروتکل UDP استفاده می شود زیرا چنانچه از دست رفت داده هم داشته باشیم در اپلیکیشنی مثل تلفن اینترنتی تا یه حدی این از دست رفت داده قابل قبول است. از طرف دیگر در اپلیکیشن های مثل مرورگر وب از دست رفت داده قابل قبول نیست بنابراین در پیاده سازی پروتکل HTTP از پروتکل TCP استفاده شده است.
بهترین آرزوها
(۰۵ آبان ۱۳۹۲ ۰۱:۵۴ ق.ظ)mahmood1 نوشته شده توسط: سلام
درباره تفاوت بین کنترل خطا در UDP سوال داشتم
در واقع مشخصاً میخواهم بپرسم که آیا UDP کنترل خطا رو انجام میده؟
اگر انجام میده چرا خود Application باید کنترل خطا رو انجام بده
اگر انجام نمیده، اینکه گفته میشه کنترل خطا در UDP اختیاری هست، مربوط به چه کارهایی است؟
با سپاس
۰
ارسال: #۳
  
Re: کنترل خطای UDP
سلام
ممنون
پس اینکه گفته میشه کنترل خطا در UDP اختیاری است این مربوط به چی میشه؟
ممنون
پس اینکه گفته میشه کنترل خطا در UDP اختیاری است این مربوط به چی میشه؟
ارسال: #۴
  
RE: کنترل خطای UDP
خواهش میکنم دوست عزیز
شما لطفا بفرمایید این مطلب که کنترل خطا در UDP اختیاری است در کدام منبع و کتاب زبان اصلی ذکر شده است ؟
شاید منظور همین فیلد Checksum در UDP است . طبق RFC768 داریم :
This information gives protection against misrouted datagrams.
شما می تونی در آدرس زیر کل اطلاعات UDP بخونی ۱۰ دقیقه بیشتر وقت نمیگیرد. لینک RFC768 . بعد میبینی که حرفی از کنترل خطا نزده .
دوست عزیز UDP هیچ سرویسی را فراهم نمی آورد به غیر از اینکه در طرف ارسال کننده داده را از لایه اپلیکیشن می گیرد و آن را به لایه شبکه می دهد و در طرف دریافت کننده داده را از لایه شبکه می گیرد و به لایه اپلیکیشن می دهد.
درنهایت پاسخ سوال شما از نظر اینجانب :
میشه گفت برای پروتکل لایه انتقال از UDP استفاده می کنیم و کنترل خطا را خودمان در لایه اپلیکیشن پیاده سازی می کنیم. در واقع درعین استفاده از UDP کنترل خطا هم داریم . در نتیجه به نحوی می توان گفت کنترل خطا در UDP اختیاری است.
البته دوست خوبم شخصا با این سوال مشکل دارم و آن را یک سوال استاندارد نمی دانم. شما وقتی RFC768 بخونی میبینی که نوشته :
امیدوارم مفید بوده باشد ... بهترین ها برای شما آرزو دارم
شما لطفا بفرمایید این مطلب که کنترل خطا در UDP اختیاری است در کدام منبع و کتاب زبان اصلی ذکر شده است ؟
شاید منظور همین فیلد Checksum در UDP است . طبق RFC768 داریم :
This information gives protection against misrouted datagrams.
شما می تونی در آدرس زیر کل اطلاعات UDP بخونی ۱۰ دقیقه بیشتر وقت نمیگیرد. لینک RFC768 . بعد میبینی که حرفی از کنترل خطا نزده .
کد:
http://www.ietf.org/rfc/rfc768.txt
درنهایت پاسخ سوال شما از نظر اینجانب :
میشه گفت برای پروتکل لایه انتقال از UDP استفاده می کنیم و کنترل خطا را خودمان در لایه اپلیکیشن پیاده سازی می کنیم. در واقع درعین استفاده از UDP کنترل خطا هم داریم . در نتیجه به نحوی می توان گفت کنترل خطا در UDP اختیاری است.
البته دوست خوبم شخصا با این سوال مشکل دارم و آن را یک سوال استاندارد نمی دانم. شما وقتی RFC768 بخونی میبینی که نوشته :
The
protocol is transaction oriented, and delivery and duplicate protection
are not guaranteed. Applications requiring ordered reliable delivery of
streams of data should use the Transmission Control Protocol (TCP)
وقتی در UDP تضمین تحویل داده را نداریم بنابراین حرف زدن در مورد کنترل خطای UDP درست نیست.protocol is transaction oriented, and delivery and duplicate protection
are not guaranteed. Applications requiring ordered reliable delivery of
streams of data should use the Transmission Control Protocol (TCP)
امیدوارم مفید بوده باشد ... بهترین ها برای شما آرزو دارم
(۰۵ آبان ۱۳۹۲ ۰۴:۱۴ ب.ظ)mahmood1 نوشته شده توسط: سلام
ممنون
پس اینکه گفته میشه کنترل خطا در UDP اختیاری است این مربوط به چی میشه؟
۰
ارسال: #۵
  
Re: کنترل خطای UDP
سلام
ببینید در کتاب راس اشاره شده که در برخی پیاده سازی UDP از قطعه هایی که دچار خطا شدند به سادگی صرف نظر میکند و در برخی دیگر به برنامه کاربردی هشدار میدهد
بنابراین اینجا گفته شده که ممکنه به برنامه کاربردی هشدار نده
و همینطور گفته شده که لایه انتقال روشهای آشکارسازی خطا را در خود حدیق داده اما قادر به تصحیح و بازیابی نیست
این یکی از ابهامات است
اختیاری بودن هم احتمالا به همان معنای اختیاری بودن checksum است
تشکر از شما
ببینید در کتاب راس اشاره شده که در برخی پیاده سازی UDP از قطعه هایی که دچار خطا شدند به سادگی صرف نظر میکند و در برخی دیگر به برنامه کاربردی هشدار میدهد
بنابراین اینجا گفته شده که ممکنه به برنامه کاربردی هشدار نده
و همینطور گفته شده که لایه انتقال روشهای آشکارسازی خطا را در خود حدیق داده اما قادر به تصحیح و بازیابی نیست
این یکی از ابهامات است
اختیاری بودن هم احتمالا به همان معنای اختیاری بودن checksum است
تشکر از شما
ارسال: #۶
  
RE: کنترل خطای UDP
خواهش میکنم ... اینگونه تبادل نظر به درک بهتر مطلب کمک می کند، سپاس خدمت شما برای مطرح کردن این سوال
خوشبتانه شما هم کتاب راس را خوانده اید، فقط یه سوال می ماند : کتاب را به زبان اصلی خوانده اید یا ترجمه شده ؟
شخصا یه ترجمه از این کتاب تهیه کردم. به نظر اینجانب ترجمه این کتاب جنایتی است در حق شبکه های کامپیوتری !!!
در کتاب راس گفته شده است : در طرف دریافت کننده با بررسی chechsum می توان به بررسی خطا پرداخت. بنابراین توجه کنید که مابین بررسی خطا و کنترل خطا از زمین تا آسمان تفاوت است. طبیعی است که وقتی سگمنت لایه انتقال خطا دار باشد در طرف دریافت کننده آن را حذف می کنند یا با اعلام هشدار به لایه اپلیکیشن تحویل می دهند، در واقع یه تصمیم عقلانی و طبیعی است زمانی که از UDP استفاده می شود.
در مورد این جمله :
UDP امکان بررسی خطا دارد به دلیل وجود checksum ولی چک سام در UDP به نخوی پیاده سازی شده که براساس آن نمی توان سگمت خراب را تصحیح و بازیابی کرد. ( بنابراین ابهامی وجود ندارد. )
برای تایید علاوه بر کتاب فوق العاده آقای راس و RFC768 می توان جمله زیر را در کتاب شبکه های کامپیوتری آقای دکتر حقیقت یافت : (چاپ ۹۲ صفحه ۳۷۵ خط ۲۱ )
"در صورتی که مبدا نخواهد از checksum استفاده کند مقدار این فیلد را برابر صفر قرار می دهد."
در نتیجه چک سام اختیاری است. یعنی بررسی خطا اختیاری است. ( در UDP )
بحث جالب و مفیدی بود . از نظر اینجانب پاسخ کامل به سوال داده شده است . خوشحال میشم نظر بقیه دوستان را بخوانم
بهترین آرزوها
خوشبتانه شما هم کتاب راس را خوانده اید، فقط یه سوال می ماند : کتاب را به زبان اصلی خوانده اید یا ترجمه شده ؟
شخصا یه ترجمه از این کتاب تهیه کردم. به نظر اینجانب ترجمه این کتاب جنایتی است در حق شبکه های کامپیوتری !!!
در کتاب راس گفته شده است : در طرف دریافت کننده با بررسی chechsum می توان به بررسی خطا پرداخت. بنابراین توجه کنید که مابین بررسی خطا و کنترل خطا از زمین تا آسمان تفاوت است. طبیعی است که وقتی سگمنت لایه انتقال خطا دار باشد در طرف دریافت کننده آن را حذف می کنند یا با اعلام هشدار به لایه اپلیکیشن تحویل می دهند، در واقع یه تصمیم عقلانی و طبیعی است زمانی که از UDP استفاده می شود.
در مورد این جمله :
نقل قول: و همینطور گفته شده که لایه انتقال روشهای آشکارسازی خطا را در خود حدیق داده اما قادر به تصحیح و بازیابی نیست
این یکی از ابهامات است
UDP امکان بررسی خطا دارد به دلیل وجود checksum ولی چک سام در UDP به نخوی پیاده سازی شده که براساس آن نمی توان سگمت خراب را تصحیح و بازیابی کرد. ( بنابراین ابهامی وجود ندارد. )
نقل قول: اختیاری بودن هم احتمالا به همان معنای اختیاری بودن checksum استمطمئنا اختیاری بودن به اختیاری بودن checksum در UDP اشاره می کند. بنابراین می توان گفت : " بررسی خطا در UDP اختیاری است."
برای تایید علاوه بر کتاب فوق العاده آقای راس و RFC768 می توان جمله زیر را در کتاب شبکه های کامپیوتری آقای دکتر حقیقت یافت : (چاپ ۹۲ صفحه ۳۷۵ خط ۲۱ )
"در صورتی که مبدا نخواهد از checksum استفاده کند مقدار این فیلد را برابر صفر قرار می دهد."
در نتیجه چک سام اختیاری است. یعنی بررسی خطا اختیاری است. ( در UDP )
بحث جالب و مفیدی بود . از نظر اینجانب پاسخ کامل به سوال داده شده است . خوشحال میشم نظر بقیه دوستان را بخوانم
بهترین آرزوها
(۰۶ آبان ۱۳۹۲ ۰۹:۱۶ ب.ظ)mahmood1 نوشته شده توسط: سلام
ببینید در کتاب راس اشاره شده که در برخی پیاده سازی UDP از قطعه هایی که دچار خطا شدند به سادگی صرف نظر میکند و در برخی دیگر به برنامه کاربردی هشدار میدهد
بنابراین اینجا گفته شده که ممکنه به برنامه کاربردی هشدار نده
و همینطور گفته شده که لایه انتقال روشهای آشکارسازی خطا را در خود حدیق داده اما قادر به تصحیح و بازیابی نیست
این یکی از ابهامات است
اختیاری بودن هم احتمالا به همان معنای اختیاری بودن checksum است
تشکر از شما
۰
ارسال: #۷
  
Re: کنترل خطای UDP
سلام
ممنونم از شما
لطف کردید و وقت گذاشتید
مورد سوال کامل برطرف شد.
ممنونم از شما
لطف کردید و وقت گذاشتید
مورد سوال کامل برطرف شد.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close