advertise laitec sharif univercity
سورس پروژه دفترچه تلفن ساده در سی شارپ #c و بانک Access

سورس پروژه دفترچه تلفن ساده در سی شارپ #c و بانک Access

10000 تومان
دانلود سورس بازی اندروید جدول خونه (900 جدول) همراه آموزش راه اندازی

دانلود سورس بازی اندروید جدول خونه (900 جدول) همراه آموزش راه اندازی

99000 تومان
دانلود پروژه فروشنده دوره گرد با الگوریتم گرانشی در #C

دانلود پروژه فروشنده دوره گرد با الگوریتم گرانشی در #C

10000 تومان
دانلود پروژه معمای 8 با الگوریتم ژنتیک در سی شارپ

دانلود پروژه معمای 8 با الگوریتم ژنتیک در سی شارپ

10000 تومان
دانلود پروژه پایانی طراحی وب سایت مخابرات با Asp.net

دانلود پروژه پایانی طراحی وب سایت مخابرات با Asp.net

48000 تومان

قراردادهای پنجره لغزان در لایه های شبکه

پروتکل های پنجره لغزان انتقال قابها در لایه پیوند دادههای شبکه، قراردادهای دوسویه اند: قرارداد پنجره لغزان تک بیتی، قرارداد برگشت n تایی و قراردادی که از تکرار انتخابی استفاده میکند.
قراردادهای پنجره لغزان در لایه های شبکه

قراردادهای پنجره لغزان در لایه های شبکه

در قراردادهایی که قبلا ذکر کردیم، قاب های داده فقط در یک جهت انتقال می یابد. در اغلب موارد لازم است انتقال داده ها در دو جهت انجام شود. یک راه برای انتقال دو طرفه کامل داده ها، داشتن دو کانال ارتباطی جداگانه و به کار گیری هر یک  از آنها برای ترافیک یکسویه داده هاست (در دو جهت مخالف) و دیگری برای کانال برگشت (اعلام وصول). در هر دو مورد پهنای باند کانال برگشت، تقریبا بطور کامل از بین می رود. درنتیجه کاربر هزینه دو مدار را می پردازد ولی از ظرفیت یک کانال استفاده می کند.

ایده بهتر استفاده از یک مدار برای انتقال داده ها در دو جهت است. سه قرارداد بعدی شبکه ها، قراردادهای دوسویه اند و به دسته ای از قراردادها به نام پنجره لغزان تعلق دارند. این قراردادها از نظر کارایی، پیچیدگی و نیاز به بافر با هم فرق می کنند.

در تمام این قراردادهای پنجره لغزان، هر قاب خروجی، حاوی شماره ترتیبی است که از 0 تا یک عدد بیشینه تغییر میکند.  این مقدار بیشینه معمولا 2n – 1 است، بنابراین شماره ترتیب به خوبی در فیلد n بیتی می گنجد. در قرارداد پنجره لغزان ایست و انتظار، از n = 1 استفاده می شود و  شماره ترتیب به 0 و 1 محدود است ولی در نسخه های پیچیده تر، n به دلخواه انتخاب میشود.

 

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

گرچه این قراردادها به لایه پیوند داده ها آزادی بیشتری درباره ترتیب ارسال و دریافت قاب ها می دهد ولی قراردادها باید بسته ها را به همان ترتیبی که از لایه فرستنده به لایه پیوند داده ها ارسال شده بود، به لایه شبکه ماشین گیرنده تحویل دهد. همچنین این شرط را که کانال ارتباط فیزیکی سیم مانند است، تغییر ندادیم.

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

 

قرارداد پنجره لغزان تک بیتی

در قرارداد پنجره لغزان با حداکثر اندازه 1، از ایست و انتظار استفاده می شود، زیرا فرستنده قابی ارسال میکند و قبل از ارسال قاب بعدی منتظر اعلام وصول  می ماند.

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

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

 

قرارداد برگشت n تایی

در روش برگشت n تایی، گیرنده تمام قاب ها را دور می اندازد و هیچ اعلام وصولی را ارسال نمی کند. این راهبرد متناظر با پنجره گیرنده با اندازه 1 است. به بیان دیگر لایه پیوند داده ها از پذیرش هر قابی خودداری میکند، به جز قابی که باید به لایه شبکه بدهد. اگر پنجره فرستنده قبل از خاموش شدن تایمر پر شود کانال اطلاعاتی شروع به خالی شدن میکند. سرانجام مهلت فرستنده تمام می شود و تمام قاب هایی را که دریافت انها به ترتیب وصول نشد، با شروع از قاب آسیب دیده یا از بین رفته دوباره ارسال میکند. این روش در صورت بالا بودن میزان خطا، می تواند پهنای باند و زیادی را به هد رددهد.

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

 

قراردادی که از تکرار انتخابی استفاده میکند

اگر تعداد خطا کم باشد، قرارداد قبلی به خوبی عمل میکند اما اگر خط ضعیف باشد بخش عظیمی از پهنای باند را در انتقال مجدد قاب ها هدر می دهد. راهبرد دیگر برای رفع این خطا این است که گیرنده، قاب هایی را که بعد از قاب آسیب دیده یا از بین رفته می آیند، بپذیرد و ذخیره کند. این قرارداد قاب ها را صرفا به خاطر اینکه قاب قبلی آسیب دیده یا از بین رفته است، دورنمی اندازد.

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

 



0
نظرات

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


پارس وی دی اس
معرفی قراردادهای دو سویه شبکه هااساس کار پنجره های لغزان در شبکه ها چیست؟ویژگی های قراردادهای پنجه لغزان لایه پیوند داده های شبکهقرارداد پنجره لغزان تک بیتی در شبکهقراردادهای دوسویه شبکه یعنی چه؟آشنایی با پنجره های لغزان در لایه پیوند داده هاقراردادی در شبکه ها که از تکرار انتخابی استفاده میکندمعرفی پروتکل های پنجره لغزان برای شبکه هاقرارداد پنجره لغزان چیست؟معرفی قرارداد برگشت n تایی در لایه پیوند داده هاپنجره های لغزان در انتقالات شبکه ای لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php