از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
شش سال پیش منتشر شده
تعداد بازدید: 334
کد پروژه: 122457
شرح پروژه
سلام وقت بخیر
این پروژه در مورد طراحی یک روتر است که در switch fabric ان دو نوع الگوریتم داریم cross bar و mesh طراحیcross bar و mesh این صورت است که یک کلاس برای cross bar تعریف می شود و یک کلاس برای mesh .
خاصیت کراس بار به این صورت است که به سمت راست و پایین فقط حرکت می کند که از پورت های خروجی بیرون برود. پورتی که معلوم می شود که پورت خروجی آن چیست توی کراس می آید و بعد از طریق مسیری که پیدا می کند به خروجی مشخص شده در جدول lookup برسد مثلا یک ip وارد کردیم که در جدول lookup ما پورت خروجی آن پورت 4 شده این باید واردcross barشودو باید ببیند که مسیر توسط پکت دیگری اشغال شده است یا خیر اگر اشغال شده بود باید drop شود اگر نه که باید حرکت کند و به سمت راست پایین حرکت کند تا به خروجی مورد نظرش برسد که مثلا در اینجا پورت 4 است.
برای سوئیچ mesh یک کلاس باید تعریف شود که پکتی از ورودی آمده و در جدول lookup table مامشخص شده که خروجی آن مثلا پورت 3 است باید توی switch fabric mesh حرکت کند و به پورت خروجی 3 برسد و تفاوتی که mesh با کراس بار دارد اینست که در mesh حرکت چپ،راست ،بالا،پایین می توانیم داشته باشیم یعنی اگر بررسی کنیم سمت چپ ما پر است و قبلا توسط پکت دیگری اشغال شده است می توانیم مثلا بالا برویم حالا اگر بالا هم اشغال شده بود و سمت پایین هم اشغال بود این پکت drop می شود.
برای lookup table باید یک کلاس درخت trie بنویسیم درخت trie درختی است که فقط 0و1 دارد و براساس subnetmask ها ما پورت های خروجی را مشخص می کنیم که از طریق همین کلاسی که برای look up table می سازیم پورت خروجی را مشخص می کند.مثلا ipی که وارد می شود که وارد شده از پورت 1 می آید و وارد جدول lookup شده مثلا یک پکت 32بیتی است که به طور مثال 4تا 1 (1111)دارد باید این کلاس قادر باشد این پکت ورودی ما را حرکت بدهد و از ریشه درخت جست و جو کند.مثلا اینجا که 4 تا 1 بوده تا 4تا 1برود و پورت خروجی را مشخص کند.
این کلاسی که برای درخت trie می سازیم قابلیت آن را داشته باشد که node ی حذف شود و node ها update شود حتی اگر ما یک پورت جدید اضافه کردیم بتواند update کند و دوباره درخت به درخت اضافه شود و آپدیت شود.از طریق جدول lookup table ی که داده ما باید درخت trie را بسازیم و بعد مثلا نوشته که پورت 1 مثلا 4 تا صفر را ساپورت می کند یا مثلا پورت 8، 18تا 1 را ساپورت می کند به طور مثال پکت ورودی را می بینیم که 18 تا دارد ولی بعد از آن هم می بینیم که 20 تا 1 دارد ولی ابن درخت trie فقط می تواند تا 18 تا 1 ساپورت کند و بعد از آن را دیگر ادامه نمی دهد مثلا پورت خروجی ما 8 است چون تا 18 تا 1 را بیشتر نمی تواند جست وجو کند به خاطر اینکه بیشتر از این در جدول lookup ما نیست و برای همین پورت خروجی ما را 8 معرفی می کند که این خروجی وارد کلاس cross یا mesh می شود و از همان جا باید راه خروجی خود را پیدا کند . در ضمن قبل از جدول look up یک بافر 4 ظرفیتی داریم.
منبع این پروژه کتاب High Performance Switches and Routers می باشد.نویسنده H. JONATHAN CHAO and BIN LIU
این پروژه شامل 1 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.
مهارت ها و تخصص های مورد نیاز
مهلت برای انجام
7روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت سیزده سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصتهای متعددی در سایت موجود میباشد.
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار