خرید اینترنتی کتاب

جستجو در تک بوک با گوگل!

تابعيت پايگاه تك بوك از قوانين جمهوري اسلامي ايران

فرادرس!



چطور!




تبلیغات!


اینترنت شبکه ۲

441 views

بازدید

امتیاز به این مطلب!
فصل چهارم
مدلسازی یک سوئیچ MPLS

۴-۱- مقدمه
 
 در این فصل ابتدا به بررسی روشهای طراحی سیستمهای تک منظوره  (که سوئیچ های شبکه هم نوعی از آنها می باشند)  و زبانهای  برنامه نویسی  که بدین  منظور بکار می روند  می  پرذازیم ]۱۰[ و سپس به معرفی زبان SMPL می پردازیم. در ادامه به ارائه مدلی برای سوئیچ MPLS  خواهیم پرداخت.
در فصلهای گذشته دیدیم که MPLS قابلیت مجتمع‌سازی هر نوع فنآوری لایه سوم (که عموماً IP می‌باشد) را با هر نوع فنآوری لایه دوم دارا می‌باشد. از آنجا که سیاست کلی مخابرات ایران، استفاده از فن آوری‌های مبتنی بر ارسال فریم  در لایه دوم می‌باشد، در این پروژه فنآوری لایه دوم PPP در نظر گرفته شده است. همچنین بعلت اینکه مدولاتورها و دمدولاتورهای لایه فیزیکی و لایه دو در حال حاضر در دسترس عموم قرار دارد، در مدلسازی کارت خط از پردازش های لایه فیزیکی و لایه دو صرفنظر کرده و مبنای شبیه‌سازی را بر دریافت و ارسال بسته‌های IP (همراه با سرفصل Shim) می‌گذاریم. در صورت استفاده از فنآوری‌های مبنی بر ارسال سلول مثل ATM، این مدل سوئیچ با اعمال تغییراتی می‌تواند برای شبیه‌سازی مورد استفاده قرار بگیرد.
 

۴-۲- روشهای طراحی سیستمهای تک منظوره

بطور کلی به سیستمهایی که دارای عملکرد ثابت می باشند و برای یک کاربرد خاص طراحی و ساخته می شوند، سیستمهای تک منظوره گفته می شود. این سیستمها دارای بخشهای نرم افزاری و سخت افزاری دیجیتال و حتی آنالوگ می باشد. با توجه به پیشرفتهایی که در صنعت ساخت  تراشه ها بوجود آمده است، پیچیدگی سیستمهای تک منظوره بسیار زیاد شده است که نهایتاً به تغییراتی در روشهای طراحی آنها منجر شده است.
روش طراحی قدیمی به این صورت بود که مشخصات سیستم به صورت دستی و بازبانهای طبیعی مانند انگلیسی تهیه می شد و طراح سیستم بنا به تجربه و مهارت خود، این مشخصات را به بخشهای مختلف نرم افزار و سخت افزار تقسیم بندی می نمود و بخشهای مختلف را به متخصصین مربوطه تحویل می داد. ابتدا طراحان سخت افزار مشخصات بخش سخت افزار را به زبانهایی مانند Verilog  و یا VHDL تبدیل می‌نمودند و سپس عملیات سنتز توسط ابزارهای طراحی با کمک کامپیوتر (CAD)  انجام می‌گرفت. با آماده شدن نمونه اولیه سخت افزار، این نسخه تحویل مهندس نرم افزار گردیده و کارنرم افزار نویسی آغاز می شد و بعد از عملیات سنتز و کامپایل کردن  نرم افزار، کد بر روی پروسسور سیستم اجرا می شد و سرانجام عملیات مجتمع کردن سیستم  انجام می شد .
این روش دارای مشکلات اساسی بود که نیازهای جدید را بر آورده نمی ساخت. به عنوان مثال طراحی سخت افزار و نرم افزار در چندین مرحله انجام می گرفت که باعث اتلاف زمان می شد. دیگر اینکه کشف خطاهای ممکن در مشخصات سیستم و یا در بخش سخت افزار ممکن است بسیار دیر صورت بگیرد، مثلاً زمانی که مهندس نرم افزار مشغول طراحی نرم افزار می باشد. بدین ترتیب حذف این خطاها بسیار پرهزینه خواهد بود. همچنین بعلت استفاده متخصصین مختلف از زبانها و ابزارهای کاملاً متفاوت، ارتباط این افراد با یکدیگر قطع می شود. همچنین روش قدیمی طراحی اجازه استفاده از طرح های حاضر و آماده را به سادگی امکان پذیر نمی نماید.
روشهای جدید طراحی مبنی بر این ایده می باشند که طراحی در سطح سیستم   و حصول اطمینان از درستی عملکرد سیستم قبل از ساخت اجزا می تواند جلوی انتشار خطا به مراحل بعدی را بگیرد. همچنین با ارائه یک مدل قابل اجرا و قابل شبیه سازی از سخت افزار به مهندسین نرم افزار، آنها قادر خواهند بود کار پیاده سازی و سنتز نرم افزار را همزمان با سنتز سخت افزار شروع و اجرا نمایند. استفاده از یک زبان برای مدلسازی و شبیه سازی تمامی اجزاء سیستم، ارتباط بین گروههای طراح مختلف را به سادگی میسر می نماید که مزایای زیادی به همراه خواهد داشت.

۴-۳- مراحل طراحی سیستمهای تک منظوره

سیستمهای تک منظوره شامل بخشهای سخت افزاری و نرم افزاری مختلف می باشند. بخش نرم افزار معمولاً شامل یک سیستم عمل کننده همزمان  به اضافه یک سری فرآیندهای کنترلی می باشد. همچنین ممکن است فرایندهایی بطور همزمان برروی پردازنده های کمکی مانند پردازنده های سیگنالهای دیجیتال (DSP)  اجرا شوند. بخش سخت افزار شامل پردازنده، حافظه، پردازنده های کمکی و قسمت برقرار کننده ارتباط بین بقیه اجزا می باشد. در بعضی از کاربردها استفاده از مدارات مبدل آنالوگ به دیجیتال و دیجینال به آنالوگ نیز معمول می باشد. بدین ترتیب سیستم شامل اجزای متفاوت با ماهیت های متفاوت می باشد که طراحی آنها باید به صورت همزمان و با روشهای متناسب با هر بخش صورت پذیرد.
روند طراحی معمولا شامل مراحل متفاوتی می باشد که در هر مرحله مشخصات سیستم یا تهیه می‌گردد (در اولین مرحله ) ویا خروجی مرحله قبل می باشد (System Spesification). این مشخصات به روش خاص تست می شود که آیا درست بوده و انتظارات طراحی را برآورده می سازد (Validation ) و سپس یا به صورت اتوماتیک و یا به صورت ترکیب اتوماتیک – دستی به مشخصات مرحله بعد تبدیل می شود (Synthesis). که در این عمل جزییات پیاده سازی بیشتری به مشخصات مذکور اضافه می شود .

۴-۳-۱- مشخصه سیستم
اولین مرحله در طراحی عبارت است از تهیه مشخصات دقیق سیستم. معمولا این مشخصات در بالاترین سطح، یعنی سطح عملکرد  تهیه می گردد و شامل اطلاعات دقیق نحوه عملکرد سیستم می‌باشد. در این مشخصات هیچ اطلاعاتی راجع به ساختار و نحوه پیاده سازی و حتی زمانبندی وجود ندارد.
مشخصه سیستم را هم می توان به صورت یک زبان طبیعی مانند انگلیسی تهیه نمود (که این روش در سالهای قبل منسوخ گشته است) و هم می توان از زبانهای سطح بالا مانند C/C++ استفاده نمود. استفاده از زبانهای سطح بالا مزایای زیادی را در بردارد. اولا زبانهای طبیعی دقیق نیستند، به این معنی که توسط افراد مختلف به طرق متفاوت تعبیر می شوند. ثانیا آنها را نمی توان مبنای روشها و ابزارهای طراحی اتوماتیک قرار داد.

۴-۳-۲- تایید صحت
هنگامی که مشخصات یک سییستم تهیه می شود باید درستی آن نیز تأیید شود. برای این کار از شبیه سازی  استفاده می شود. در این روش مدل سیستم به اضافه یک سری ورودیها به یک شبیه‌ساز داده شده و شبیه ساز خروجیها و حالات داخلی سیستم را استخراج نموده و نمایش می‌دهد. بدین ترتیب می توان صحت عملکرد سیستم را تعین نمود. واضح است که شبیه سازی نمی تواند درستی سیستم را اثبات نماید و ما را صد درصد مطمئن نماید ولی به هر حال شبیه سازی فراگیرترین و بهترین روش برای تایید صحت سیستم می باشد.
در گذشته قسمتهای نرم افزاری سیستمها جداگانه و بازبانهای سطح بالا شبیه سازی می شدند. قسمت های سخت افزاری هم جداگانه شبیه سازی می شدند اما امروزه،‌ کل سیستم شامل سخت افزار و نرم افزار با هم به طور همزمان شبیه سازی می شوند که به آن شبیه سازی همزمان می گویند.
مزیت شبیه سازی همزمان این است که بسیاری از خطاها و نقائص در تک تک اجزا بروز نمی نمایند بلکه هنگام مجتمع کردن بخشهای مختلف بروز می نماید و برای پیدا نمودن آنها شبیه سازی همزمان لازم است.

۴-۳-۳- سنتز
سنتز به معنی تبدیل یک مشخصه سیستم به دیگری با سطح انتزاع پایین تر و جزییات ساختاری بیشتر می باشد. عمل سنتز بسته به سطح انتزاع می تواند بصورت کاملا اتوماتیک و یا ترکیب اتومامتیک – دستی انجام گیرد. معمولا در سطح انتزاع پایین عملیات سنتز کاملا اتوماتیک انجام می شود.
سنتز معمولا شامل سه مرحله اصلی است:
۱-    نگاشت مشخصه سیستم به معماری: در این مرحله معماری کلی سیستم پیاده سازی شده، تعیین می گردد.
۲-    تقسیم بندی: در این مرحله بخشهای مختلف مشخصه سیستم اولیه به بخشهای نرم افزار و سخت افزار تقسیم می شوند .
۳-    سنتز سخت افزار و نرم افزار: هر کدام از بخشهای نرم افزار و سخت افزار توسط ابزارهای خاص تا مرحله پیاده سازی نهایی رسانیده می شوند .

۴-۴ – زبانهای شبیه سازی
در این قسمت به بررسی زبانهای موجود شبیه سازی می پردازیم و در نهایت برای شبیه سازی سوئیچ MPLS  یک زبان شبیه سازی را انتخاب می کنیم .
در حال حاضر رقابت سختی بین طرفداران زبانهای شبیه سازی برای حصول برتری و تبدیل شدن به استاندارد جامعه طراحی در جریان است. به طور کلی این رقابت دو جبهه دارد. در یکی از جبهات طرفداران زبانهای سطح بالا (به فرماندهی C/C++) و در جبهه دیگر طرفداران زبانهای سخت افزاری مانند Verilog و VHDL قرار دارند.
بطورکلی زبانهای شبیه سازی مطرح را می توان به سه دسته تقسیم نمود:
۱-    زبانهای آکادمیک مانند Ptolemy و Rosetta
۲-    زبانهای براساس Verilog مانند Superlog
۳-    زبانهای بر پایه C/C++ مانند SystemC، A/RT, SMPL
زبان Ptolemy  که توسط دانشگاه برکلی ارائه شده است با تاکید زیاد برناهمگونی سیستمهای تک منظوره طراحی شده و با استفاده از آن بخشهای متفاوت سیستم با ماهیت متفاوت را می توان مدل نموده و نهایتا همگی آنها را با هم شبیه سازی کرد ولی نقطه ضعف آن نبودن ابزارهای لازم برای سنتز آن می باشد. همچنین کند بودن از دیگر نقاط ضعف این زبان می باشد.
زبان دیگر از گروه اول زبان Rosetta می باشد. این زبان با توجه به این ایده توسعه یافته است که سیستم شامل اجزایی غیر الکترونیکی و مکانیکی نیز می باشد و طراحی باید از این سطح آغاز شود نه از سطح سیستم الکترونیکی که فقط شامل سخت افزار و نرم افزار می باشد.
زبان Superlog یکی از زبانهای گروه دوم می باشد که محصول شرکت Co-Design می باشد. این زبان بااضافه نمودن ساختارهای سطح بالای C  به زبان Verilog شکل گرفته است. قدرت این زبان در این نکته است که اکثر طراحان سخت افزار با Verilog آشنا بوده و تغییر سطح طراحی به سطح بالاتر براساس Superlog برایشان زیاد ناخوشایند نخواهد بود.
گروه سوم که زبانهای برمبنای C/C++ می باشند و هم اکنون بیش از هشتاد درصد توجه به این زبانها معطوف شده، به عنوان جهت دهنده آینده صنعت طراحی و شبیه سازی پیش بینی شده اند. این زبانها به دلیل محبوبیت فوق العاده C/C++ در بین طراحان سیستم و مهندسین نرم افزار و همچنین آشنایی مهندسین سخت افزار با آنها ازیک طرف و از طرف دیگر به علت توانایی های چشمگیر C/C++ اهمیت فوق العاده ای یافته اند.
یکی از این زبانها SystemC می باشد که با اضافه نمودن قابلیت مدلسازی زمان و مدلهای سخت افزاری به زبان C++ شکل گرفته است. این زبان به صورت اضافه کردن یک کتابخانه به C++ قابلیت مدلسازی آنرا افزایش می دهد و هم اکنون نسخه های جدید تر و تکمیلی آن در حال ورود به بازار می باشد.
زبان دیگر از گروه زبانهای برپایه C/C++ ، SMPL می باشد که جزو نخستین زبانها از این گروه می باشد. این زبان بصورت اضافه کردن یک کتابخانه به زبان C یا C++ فعال می شود و با توجه به سادگی دستورات آن، قابلیت مدلسازی همزمان نرم افزار و سخت افزار به راحتی فراهم می آید.
در این پروژه با توجه به روند تبدیل زبانهای بر پایه C/C++ به عنوان استاندارد صفت طراحی و همچنین سادگی شبیه سازی سیستمهای صف و سرویس دهنده توسط زبان SMPL، از این زبان شبیه سازی استفاده شده است.
در بخش بعدی به بررسی دقیق تر زبان SMPL خواهیم پرداخت.

۴-۵- زبان شبیه سازی SMPL

این زبان که توسط فردی به نام Mac Dougall ارائه شده است  ]11[،از جمله زبانهایی است که به آنها برپایه رخداد  می گویند. در زبان SMPL سه نوع نهاد مختلف وجود دارد:
۱-    وسایل 
۲-    بلیط ها 
۳-    رخدادها
یک سیستم را در حالت ایستا می توان مجموعه ای از وسایل در نظر گرفت. یک وسیله بطور نوعی نمایانگر مدلی از یک عنصر سیستم می باشد که کار خاصی را انجام می دهد، مانند واحد پردازش مرکزی (CPU) در یک سیستم کامپیوتر و یا یک گذرگاه در یک شبکه کامپیوتری. در زبان SMPL توابعی وجود دارد که به کمک آنها می توان وسایل را تعریف، ذخیره  و رها   کرد. ارتباط بین وسایل هم توسط بلیطهایی که بین وسایل رد و بدل می شوند، مشخص می شود .
بلیطها در واقع نمایانگر نهادهای فعال سیستم می باشند. عملکرد پویای سیستم بوسیله حرکت بلیطها در یک سری از وسایل مدل می شود. یک بلیط ممکن است یک کار   در یک مدل کامپییوتری، یک بسته در یک مدل شبکه مخابراتی و یا  یک دسترسی به حافظه   در یک مدل سیستم حافظه باشد. SMPL از دو نوع عملیات اصلی برای کنترل بلیطها  در یک سیستم شبیه سازی شده استفاده می کند؛ یک بلیط می تواند یک وسیله را ذخیره کند و یا می تواند فعالیت هایی را با مدت های مختلف زمانبندی   کند. اگر یک بلیط بخواهد یک وسیله در حال سرویس را ذخیره کند، وارد یک صف می شود و تا هنگامی که آن وسیله برای آن بلیط دسترس پذیر  شود، منتظر می ماند .
بلیطها می توانند دارای اولویتهای مختلفی باشند. در این صورت می توان با دستورات خاصی به بلیطهای با اولیویت بیشتر سریعتر از بلیطهای با اولویت کمتر سرویس داد.
یک رخداد به هر تغییری در وضعیت هر یک از نهادهای سیستم اطلاق می شو . به عنوان مثال اگر یک کار محاسبه در CPU تمام شود و CPU رها شود، دو رخداد اتفاق افتاده است:
اول اینکه یک کار تمام شده است و دیگر اینکه وضعیت CPU عوض شده است. اتمام کار ممکن است با آغاز یک کار دیگر همراه باشد، ‌مثلا رها شدن CPU ممکن است با اجرای یک کار دیگر که قبلا CPU را ذخیره کرده است همراه شود. در زبانهای شبیه سازی برپایه رخداد مانند SMPL کلیه فعالیتهایی که باید در یک لحظه از زمان اتفاق بیافتد را یک رخداد تلقی می کنیم. این مساله در مدلهای کوچک مشکلی را به همراه ندارد ولی در مدلهای بزرگ که باید در یک لحظه از زمان اتفاقات زیادی رخ دهد، سازمان دهی آنها کار مشکلی می باشد .
SMPL توابعی برای زمانبندی رخدادها و انتخاب آنها براساس زمان اجرایشان دارا باشد. در یک سیستم شبیه سازی یک رخداد توسط یک شماره منسوب به آن، زمان شبیه سازی که رخداد باید در آن اتفاق بیافتد و هویت بلیط مربوط به آن مشخص شود.
توابع SMPL که برای شبیه سازی سیستمها بکار می رود را می توان به سه دسته اصلی تقسیم نمود:
۱-    آماده سازی اولیه مدل
۲-    تعریف و کنترل وسیله
۳-    زمانبندی و ایجاد رخدادها
حال به معرفی توابع مهم هر قسمت می پردازیم.

۴-۵-۱- آماده سازی اولیه مدل
۱- smpl(m,s)                    int m;char *s;
تابع Smpl( ) برای آماده سازی اولیه سیستم برای اجرای شبیه سازی بکار می رود.
m مشخص کننده نوع ارتباط بین کاربر و برنامه می باشد وs نیز یک اشاره گر به نام مدل می باشد.
هنگامی که Smbpl( ) اجرا می شود کلیه مقادیر اندازه گیری در زمان شبیه سازی برابر صفر قرارداده می شود.
۲- reset( )
هنگامی که این تابع اجرا می شود کلیه مقادیر اندازه گیری شده صفر می شوند و زمانی  که این تابع صدا شده است به عنوان زمان آغاز اندازه گیری ثبت می شود.
۴-۵-۲ تعریف و کنترل وسیله
۱- f=facility                              char * s; int n;
این تابع یک وسیله را تولید و نام گذاری می کند و مقدار f را  بر می گرداند که توصیف گر وسیله می باشد و برای مشخص کردن وسیله عملیتهای بعدی بکار می رود.
s یک اشاره گر به نام وسیله می باشد که برای مشخص کردن وسیله در گزارش برنامه، دنبال کردن برنامه و پیامهای خطا بکار می رود. n نیز تعداد سرویس دهنده های وسیله رامشخص می کند .
یک وسیله می تواند دارای یک صف و  n سرویس دهنده موازی باشد. هنگامی که تقاضا برای ذخیره سازی یک وسیله می رسد، سرویس دهنده های یک تا n به ترتیب  چک می‌شوند و اگر یک سرویس دهنده آزاد پیدا شود برای تقاضای مورد نظر ذخیره می شود. اگر همه سرویس دهنده های وسیله قبلا ذخیره شده اند، تقاضا وارد صف وسیله مورد نظر می گردد. هنگامی که یکی از بلیطهایی که وسیله را ذخیره کرده است آنرا رها کند، تقاضای داخل صف جای آنرا می گیرد. بطور کلی یک وسیله مشغول است اگر همه سرویس دهنده های آن ذخیره شده باشند و مشغول نیست اگر حداقل یکی از سرویس دهنده های آن آزاد باشد.
۲-    r = request (f,tkn, pri)                 int f , tkn , pri   
این تابع تقاضا می دهد که یکی از سرویس دهنده های وسیله f برای بلیطی که با tkn مشخص شده است، ذخیره شود. f همان توصیف گر وسیله است که هنگام تولید وسیله توسط تابع facility مشخص شده بود. اولویت بلیط متقاضی توسط pri مشخص می‌شود. هر چه که مقدار pri بیشتر باشد، ‌اولویت آن نیز بیشتر است. اگر وسیله مشغول نباشد، یک سرویس دهنده برای بلیط متقاضی ذخیره می شود و مقدار صفر برگردانده می شود. اگر وسیله مشغول باشد، تقاضا وارد صف می شود و مقدار یک برگدانده می شود. در برنامه شبیه سازی از مقدار برگردانده شده برای تصمیم گیری در مورد رخدادهای بعدی استفاده می شود. بدین صورت که اگر وسیله ذخیره شود، باید اتمام سرویس بلیط بروی آن وسیله زمانبندی شود و اگر ذخیره نشود ممکن است برنامه رخداد دیگری را انتخاب و اجرا کند.
هر وسیله دارای یک صف می باشد. اگر هنگام یک تقاضا وسیله مشغول باشد، یک ورودی صف برای آن تقاضا درست می شود. این ورودی شامل بلیط، اولویت آن و شماره رخداد حال می باشد و صف هم براساس اولویت سرویس داده می شود، بدین صورت که ورودیهای با الویت یکسان بصورت”ورودی اول ، خروجی اول “ (FIFO)  سرویس داده می شوند. هنگامی که تابع
release ( ) یک سرویس دهنده را رها می کند، ورودی اول صف از صف خارج می شود و رخداد آن ورودی به همراه بلیط تقاضای  اصلی  برای زمان حال شبیه سازی، زمانبندی  می شوند. هنگامی
که برنامه تابع cause ( ) را صدا می زند تا رخداد بعدی را انتخاب کند، همان رخدادی که ابتدا تابع request ( ) را اجرا کرده بود، دوباره اجرا می‌شود و تقاضای جدید وارد سرویس دهنده می شود.
۳- r = preempt (f,tkn,pri)                     int f, tkn , pri
تابعpreempt ( )  تقاضا می کند که یکی از سرویس دهنده های وسیله f برای بلیط tkn  ذخیره شود. pri  نیز اولویت بلیط می باشد. اگر وسیله مشغول نباشد، یک سرویس دهنده برای بلیط متقاضی ذخیره می شود و مقدار صف برگردانده می شود.
اگر وسیله مشغول باشد، سرویس دهنده ای که بلیط سرویس گیرنده آن دارای کمترین اولویت می باشد، مشخص می گردد. اگر این اولویت بزرگتر و یا مساوی اولویت بلیط متقاضی باشد، تقاضا وارد صف می شود و مقدار ”یک “ برگردانده می شود. بنابراین هنگامی که وسیله مشغول نباشد یا همه سرویس دهنده های آن با بلیط های با الویت بیشتر از بلیط متقاضی دخیره شده اند Preempt( ) کاملا مثل request( ) عمل می کند.
اگر وسیله مشغول باشد و بلیطه سرویس گیرنده با کمترین اولویت دارای اولیت کمتری از بلیط متقاضی باشد، سرویس بلیط اول قطع می شود و وارد صف می شود و بلیط متقاضی سرویس می گیرد. این عمل بدین صورت انجام می شود که زمان سرویس باقی مانده برای بلیط اول محاسبه شده و هنگامی که این بلیط دوباره وارد یکی از سرویس دهنده ها شد، به اندازه مدت زمان باقی مانده در آن باقی می ماند.
۴- release (f, tkn)                            int f, tkn
این تابع سرویس دهنده وسیله f  که توسط بلیط tkn  ذخیره شده است را رها می کند. در هنگام رها کردن یک وسیله، SMPL سرویس دهنده ذخیره شده برای آن بلیط را پیدا می کند و آنرا رها می کند. سپس، صف آن وسیله چک می شود و اگر خالی نباشد، ورودی واقع در اول صف خارج شده و رخداد مربوط به آن برای ایجاد در زمان حال زمانبندی می شود.

۴-۵-۳ – زمانبندی و ایجاد رخدادها
۱- schedule (ev,te,tkn)                    int ev,tkn ;double te;
این تابع برای زمانبدی یک رخداد بکار می رود. ev شماره رخداد و te مدت زمان ایجاد رخداد از زمان حال می باشد. tkn  نیز بلیط مربوط به رخداد می باشد .
schedule ( ) مقدار te را به زمان حال اضافه می کند تا زمان اتفاق رخداد را بدست آورد. سپس در لیست رخدادها یک ورودی شامل شماره رخداد، زمان اتفاق رخداد و بلیط درست می کند.
لیست رخدادها بدین صورت می باشد که رخدادهای بازمان اتفاق کمتر در ابتدای لیست قرار دارند و اگر چند رخداد دارای زمان اتفاق برابر باشند، رخدادی که زودتر وارد لیست شده است در ابتداقرار می گیرد.
۲- cause (ev, tkn)                    int * ev, * tkn;
cause( ) ورودی واقع در ابتدای لیست رخدادها را بر می دارد، ‌زمان شبیه سازی را تا زمان وقوع  آن رخداد جلو می برد و شماره رخداد ev و بلیط tkn را بر می گرداند .
۳- tkn = cancel(ev)                int * ev;
cancel( ) در لیست رخدادها به جستجوی رخداد ev  می پردازد، اگر آنرا پیدا نکند مقدار     ”1-“ برمی گرداند. اگر آنرا پیدا کند، ورودی مربوطه را از لیست رخدادها بر می دارد و شماره بلیط مربوط به آن ورودی را بر می گرداند. اگر چندین نمونه ازرخداد ev در لیست رخدادها موجود باشد، فقط اولین ورودی برداشته می شود.
توابعی که معرفی شدند اساسی ترین ابزارهای لازم برای شبیه سازی توسط زبان SMPL می باشند. لیست کامل تابع و توضیحات مربوطه به آنها در ]۱۱[ موجود می باشد.

۴-۶- مدلهای ترافیکی

برای انجام هر گونه شبیه سازی بر روی یک سوئیج باید به آن ترافیک داده اعمال نمود. تا کنون مدلهای ترافیکی گوناگونی معرفی شده اند که در شبیه سازی های این پروژه از سه نوع آن استفاده خواهیم نمود.

۴-۶-۱- ترافیک برنولی  یکنواخت
ترافیک برنولی یکنواخت (i.i.d)  ترافیکی است که در آن داده ها بصورت مستقل از یکدیگر تولید می شوند. در این مدل طول هر بسته برابر با یک سلول در نظر گرفته شده است و احتمال تولید سلول در هربازه زمانی برابر با درصد بار می باشد. مثلا در زیر بار۸۰% در هر بازه زمانی با احتمال ۸/۰ یک سلول تولید می شود. مقصد سلولها نیز بطور کاملاً تصادفی از بین یکی از پورتهای خروجی انتخاب می شود.
این مدل ساده ترین مدل ترافیکی می باشد که تقریبا در همه مراجع به عنوان یکی از انواع ترافیک ورودی مورد استفاده قرار می گیرد.

۴-۶-۲- ترافیک زنجیره ای
ترافیکی که در شبکه موجود می باشد، معمولاً بصورت زنجیره ای است. این زنجیره ممکن است مربوط به انتقال یک فایل بزرگ و یا یک جریان ویدیوئی باشد. برای تولید ترافیک     زنجیره ای از زنجیره مارکوف  دو حالته بصورت روشن  یا خاموش  استفاده شده است. همانطور که در شکل ۴-۱ نشان داده شده است این زنجیره شامل دو حالت روشن و خاموش می باشد که احتمال رفتن از حالت روشن به خاموش برابر P و ا حتمال رفتن از حالت خاموش به حالت روشن برابر q می باشد.
همانطور که در ]۱۲[ نشان داده شده است برای تولید ترافیک زنجیره ای با طول B و تحت بار   پارامترهای q و p را می توان از روابط زیر بدست آورد:

 شکل ۴-۱- زنجیره مارکوف دو حالته برای تولید ترافیک

 
 
از این مدل ترافیک زنجیره ای در مراحل مختلف شبیه سازی سوئیچ به عنوان ترافیک اعمالی استفاده خواهیم کرد.

۴-۶-۳- ترافیک آماری
برای مدل سازی هرچه واقعی تر ترافیک  شبکه، انداز ه گیریهایی بصورت   آماری   برروی خط های اینترنت در جاهای مختلف دنیا انجام گرفته است.
با توجه به اطلاعات موجود در یک نمونه از این اندازه گیریها ]۱۳[ شامل طول بسته ها و تعداد بسته های مربوط به جریان های اینترنتی نمودار شکل ۴-۲ رسم شده است.
بعد از مدل کردن قسمتهای مختلف سوئیچ، از این ترافیک برای بررسی عملکرد سوئیچ استفاده خواهیم نمود.
 
 
                       شکل ۴-۲- نمودار افزایش طول بسته های شبکه

۴-۷- مدلسازی کارت خط در ورودی

همانطور که ذکر شد در هنگام مدل کردن کارت خط فرض می کنیم که داده ها را بصورت بسته‌های IP (همراه با سرفصل Shim) دریافت می کنیم. اگر سوئیچ در لبه شبکه باشد (LER) باید علاوه بر عملکرد MPLS، توانایی انجام پردازش های سرفصل لایه IP را نیز دارا باشد، بعبارت دیگر سوئیچ های MPLS لبه شبکه باید توانایی قسمت های هدایت به جلوی یک مسیریاب IP را داشته باشند. بنابراین کلیه نتایجی که در شبیه سازی یک سوئیچ (LSR) MPLS بدست می آید برای سوئیچ‌های لبه شبکه (LER) نیز معتبر است. ولی باید این نکته را در نظر داشت که برای سوئیچ‌های لبه شبکه (LER) عملیات پردازش سرفصل لایه IP که در مسیریاب های IP انجام می‌شود باعث افزایش تاخیر بسته های اطلاعاتی خواهد شد.
بنا به آنچه در فصلهای گذشته درباره MPLS و وظایف یک سوئیچ بیان شد، مدل زیر را برای کارت خط در ورودی یک سوئیچ MPLS ارائه میدهیم:
۱-    درهر پورت ورودی، بسته های IP همراه با سرفصل Shim که حاوی اطلاعات مربوط به برچسب ورودی، کلاس سرویس پشته برچسب، و زمان زندگی (TTL) می باشد، دریافت می‌شود.
۲-    حوزه TTL سرفصل Shim مورد بررسی قرار می گیرد (هشت بیت )، اگر مقدار آن برابر صفر بود، بسته فاقد اعتبار می باشد و از آن صرفنظر می شود. در غیر اینصورت از مقدار آن یک واحد کاسته می شود.
۳-    مقدار برچسب ورودی (بیست بیت ) استخراج شده و بوسیله جدولی که توسط قسمت کنترل برای هر پورت تهیه می شود، مقدار برچسب خروجی و شماره پورت خروجی تعیین می‌گردد. از آنجا که در شبیه سازی یک سوئیچ اطلاعات مربوط به شبکه وجود ندارد، این مقادیر با توجه به نوع ترافیک ورودی تعیین می شوند، مثلا در ترافیک زنجیره ای به همه بسته های مربوط به یک زنجیره برچسب خروجی یکسان داده می شود و همگی به یک پورت خروجی می روند.
۴-    بسته ها به سلولهای ۶۴ بایتی شکسته می شوند و ۱۰ بایت به عنوان سرفصل به آنها اضافه می‌شود که در قسمت خروجی کارت خط برداشته خواهد شد. این سرفصل بنا به استاندارد مورد استفاده بین کارت خط و فابریک سوئیچ می تواند متفاوت باشد ولی اطلاعات مربوط به پورت ورودی، پورت خروجی، کلاس سرویس و شماره سلولها را دارا می باشد.
۵-    سلولها با توجه به مقدار کلاس سرویسشان در VOQ مربوطه قرار می گیرند. این کار ممکن است بطور مستقیم و یا با کمک الگوریتمهایی با تخصیص عرض باندهای مختلف به کلاس‌های مختلف صورت بگیرد. در قسمت های بعدی هر دو این حالات را بررسی خواهیم کرد.

۴-۸- مدلسازی فابریک سوئیچ

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

۴-۸-۱- الگوریتم iSLIP
iSLIP یک الگوریتم تکرار شونده  می‌باشد که در طی هر بازه زمانی چندین تکرار صورت می‌گیرد تا یک شکل از تطبیق ورودی‌ها و خروجی‌ها پیدا شود. الگوریتم iSLIP با استفاده از اولویت چرخشی هر یک از ورودی‌ها و خروجی‌های فعال را به نوبت برای ارسال اطلاعات انتخاب می‌کند. مهمترین خاصیت iSLIP سادگی آن می‌باشد که باعث می‌شود به راحتی قابل پیاده‌سازی در سخت‌افزار باشد و در سرعتهای بالا کار کند.


2+

نويسنده / مترجم : -
زبان کتاب : -
حجم کتاب : -
نوع فايل : -
تعداد صفحه : -

 ادامه مطلب + دانلود...
امتیاز به این مطلب!

اینترنت شبکه ۱

950 views

بازدید

اینترنت شبکه ۱
۴٫۵ (۹۰%) ۲ votes

چکیده

امروزه سرعت بیشتر و کیفیت سرویس بهتر مهمترین چالش های دنیای شبکه می باشند. تلاشهای زیادی که در این راستا در حال انجام می باشد، منجر به ارائه فنآوری ها، پروتکل ها و روشهای مختلف مهندسی ترافیک شده است. در این پایان نامه بعد از بررسی آنها به معرفی MPLS که به عنوان یک فنآوری نوین توسط گروه IETF ارائه شده است، خواهیم پرداخت. سپس به بررسی انواع ساختار سوئیچ های شبکه خواهیم پرداخت و قسمتهای مختلف تشکیل دهنده یک سوئیچ  MPLS را تغیین خواهیم کرد. سرانجام با نگاهی به روشهای طراحی و شبیه سازی و نرم افزارهای موجود آن، با انتخاب زبان شبیه سازی SMPL، به شبیه سازی قسمتهای مختلف سوئیچ و بررسی نتایج حاصل می پردازیم. همچنین یک الگوریتم زمانبندی جدید برای فابریک سوئیچ های متقاطع با عنوان iSLIP اولویت دار بهینه معرفی شده است که نسبت به انواع قبلی دارای کارآیی بسیار بهتری می باشد.
 
Abstract

Nowadays achieving higher speeds and better quality of service are the main subjects of networking. Many attempts are made in this way which have led to introducing various technologies, protocols and traffic engineering methods. In this thesis, after studying the above-mentioned parameters, IETF’s new technology called MPLS will be introduced. Then several different switch architectures are examined and the components of an MPLS switch are selected. Finally after a quick look at design and simulation methods and their available softwares, SMPL is chosen as simulation tool and then switch components are simulated and the results are studied. Also a new scheduling algorithm for crossbar switch fabrics named “The Optimized Prioritized iSLIP” is introduced which has much better performance than its previous versions.

فصل اول
کیفیت سرویس و فنآوری های شبکه

۱-۱- مقدمه

با گسترش تعداد کاربران اینترنت و نیاز به پهنای باند بیشتر از سوی آنها، تقاضا برای استفاده از سرویسهای اینترنت با سرعت رو به افزایش است و تهیه کننده های سرویس اینترنت برای برآورده سازی این تقاضا ها احتیاج به سوئیچ های با ظرفیت بیشتر دارند ]۱[.
در این میان تلاشهای زیادی نیز برای دستیابی به کیفیت سرویس بهتر در حال انجام می‌باشد. فنآوریATM  نیز که به امید حل این مشکل عرضه شد، بعلت گسترش و محبوبیتIP  نتوانست جای آن را بگیرد و هم اکنون مساله مجتمع سازی IP و ATM نیز به یکی از موضوعات مطرح در زمینه شبکه تبدیل شده است.
در این فصل به معرفی مسائل و مشکلات مربوط به کیفیت سرویس و مجتمع سازی IP و ATM می پردازیم و راه حلهای ارائه شده از جمله MPLS   رابررسی خواهیم نمود.

۱-۲- کیفیت سرویس در اینترنت

سرویسی که شبکه جهانی اینترنت به کاربران خود ارائه داده است، سرویس بهترین تلاش۴ بوده است. یکی از معایب اصلی این سرویس این است که با وجود اینکه مسیریاب‌های شبکه به خوبی قادر به دریافت و پردازش بسته های ورودی می باشند ولی هیچگونه تضمینی در مورد سالم رسیدن بسته ها به مقصد وجود ندارد. با توجه به رشد روز افزون استفاده از اینترنت و به خصوص با توجه به اشتیاق زیاد به اینترنت به عنوان ابزاری برای گسترش تجارت جهانی، تلاش های زیادی جهت حفظ کیفیت سرویس (QoS)  در اینترنت در حال انجام می باشد. در این راستا در حال حاضر کلاس های سرویس متنوعی مورد بحث و توسعه می باشند. یکی از کلاس های سرویس فوق ، به شرکت ها و مراکز ارائه سرویس های web که نیاز به ارائه سرویس های سریع و مطمئن به کاربران خود دارند، اختصاص دارد.
یکی دیگر از کلاس های سرویس جدید در اینترنت ، به سرویس هایی که نیاز به تاخیر و تغییرات تاخیر کمی دارند، اختصاص دارد. سرویس هایی نظیر تلفن اینترنتی  و کنفرانس‌های تصویری اینترنتی نمونه ای از سرویس های این کلاس سرویس می باشند.
برای نیل به سرویس های جدید فوق، عده ای براین عقیده هستند که در آینده ای نزدیک تکنولوژی فیبر نوری و  WDM  آنقدر رشد خواهد کرد که اینترنت به طور کامل بر مبنای آن پیاده سازی خواهد شد و عملا مشکل پهنای باند و همچنین تضمین کیفیت سرویس وجود نخواهد داشت. عقیده دوم که ظاهرا درست تر از عقیده اول می باشد، این است که با وجود گسترش فنآوریهای انتقال و افزایش پهنای باند، هنوز به مکانیسم هایی برای تضمین کیفیت سرویس کاربران نیاز می باشد. در حال حاضر اکثر تولید کنندگان مسیریاب ها و سوئیچ های شبکه اینترنت، در حال بررسی و افزودن مکانیسم‌هایی  برای تضمین کیفیت سرویس در محصولات خود می باشند.
از سوی سازمان جهانی IETF  مدل ها و مکانیسم های مختلفی برای تضمین کیفیت سرویس مورد تقاضای کاربران ارائه شده است. برخی از مهمترین این مدل ها عبارتند از:
۱-    پروتکل رزرو منابع در اینترنت RSVP
۲-    سرویس های متمایز  DS
۳-    مهندسی ترافیک
۴-    سوئیچنگ برچسب چندین پروتکل MPLS
در قسمتهای بعدی به طور خلاصه با هر یک از مدل های فوق آشنا می شویم .

۱-۲-۱- پروتکل رزور منابع در اینترنت
پروتکل RSVP به عنوان یک پروتکل سیگنالینگ برای رزرو منابع در اینترنت استفاده می شود. در شکل ۱-۱ مثالی از عملیات سیگنالینگ RSVP نشان داده شده است. مطابق با شکل فوق، فرستنده ابتدا پیام PATH را ارسال می دارد. در این پیام مشخصات و پارامترهای ترافیکی فرستنده موجود می باشد. هر مسیریاب شبکه با دریافت پیام PATH با کمک جدول مسیریابی خود پیام را هدایت نموده تا اینکه پیام به مقصد نهایی برسد. گیرنده نهایی بعد از دریافت پیام PATH، پیام RESV را از  خود عبور داده و منابع لازم شامل پهنای باند و فضای بافر را به ارتباط جدید اختصاص می دهد. چنانچه یکی از مسیریاب های موجود در مسیر، قادر به قبول پیام RESV نباشد، آنرا رد نموده و پیام خطایی به گیرنده ارسال می نماید و سپس عملیات سیگنالینگ خاتمه می یابد. با قبول پیام    RESVاز جانب هر مسیر یاب موجود در مسیر، اطلاعات وضعیت مربوط به جریان ترافیکی فوق ثبت می شود .
 
شکل ۱-۱-  مثالی از عملیات سیگنالینگ RSVP

با ورود هر بسته به مسیریاب های شبکه، واحد طبقه بندی کننده، بسته ورودی را به یک کلاس خاص طبقه بندی نموده و سپس بسته ورودی را در یک صف خاص قرار می دهد. عملیات زمانبندی بسته ها در هر صف موجود در مسیریاب، توسط واحد زمان بند بسته طوری انجام می گردد که کیفیت سرویس مورد نظر تامین شود. این سرویس دارای مشکلات زیر می باشد:
۱- میزان اطلاعات وضعیت متناسب با تعداد جریان های ترافیکی افزایش می یابد. بنابراین برای نگهداری اطلاعات وضعیت در مسیریاب ها نیاز به حافظه زیادی می باشد. همچنین بالاسری  عملیات مسیر یاب ها به شدت افزایش می یابد. لذا قابلیت مقیاس پذیری در ساختار سرویس های مجتمع به هیچ وجه مشاهده نمی گردد .
۲- هر مسیر یاب نیاز به پروتکل RSVP، روتین کنترل کننده دسترسی، طبقه بندی کننده جریان ترافیکی و زمان بند بسته دارد . بنابراین می توان گفت که در سرویس های مجتمع وظایف پردازشی مسیریاب ها به شدت زیاد می باشد.

۱-۲-۲- سرویس های متمایز
به خاطر مشکلات پیاده سازی و توسعه سرویس های مجتمع که در بالا به آنها اشاره شد، سرویس های متمایز ارائه گردیدند . همانطور که می دانیم درسر فصل بسته های IPv4 فیلد یک بایتی به نام نوع سرویس (ToS)  وجود دارد. در این فیلد سه بیت مختلف وجود دارد که برنامه های کاربردی با استفاده از این سه بیت قادر به تعیین نیازهای خود می باشند. سه بیت فوق عبارتند از:
۱-    بیت D : نیاز به تاخیر کم
۲-    بیت R :‌نیاز به نرخ اتلاف کم (اطمینان بالا)
۳-    بیت T : نیاز به گذردهی بالا
در سرویس های متمایز، فیلد نوع سرویس به فیلد DS تغییر نام کرده است. با کد گذاری های مختلف فیلد DS و پردازش بسته ها براساس مقدار فیلد فوق، می توان کلاس های سرویس متمایزی را ایجاد نمود.
برای دسترسی به سرویس های متمایز، لازم است که کاربران شبکه به یک توافق سطح سرویس (SLA)  با سرویس دهنده های اینترنت ((ISP ، برسند . کلاس های مختلف سرویس و میزان ترافیک هر کلاس در SLA مشخص می شود. SLA می تواند به یکی از دو صورت ثابت   و پویا   بیان شود. در نوع ثابت توافق ترافیکی بین کاربر و ISP ثابت می باشد، در حالیکه در نوع پویا با استفاده از پروتکل های سیگنالینگ (مثل RSVP ) سرویس مورد نظر کاربر متناسب با تقاضای آن قابل تنظیم می باشد. براساس SLA توافق شده بین کاربر و شبکه، در مدخل ورودی به شبکه،‌ بسته‌های ورودی کاربران طبقه بندی، نظارت و در صورت لزوم شکل دهی می گردند. همچنین میزان بافر مورد نیاز جریان ترافیکی کاربر از اطلاعات موجود در SLA استخراج می گردد.
با کمک عملیات طبقه بندی، نظارت، ‌شکل دهی و زمانبندی که در DS اجرا می گردد، می توان به سرویس های متمایز زیر دسترسی پیدا نمود.
۱-    سرویس های تشویقی   : برای کاربردهایی که به تاخیر و تغییرات تاخیر کم نیاز می باشد.
۲-    سرویس های مطمئن  : برای کاربردهایی که به اطمینان بالا نیاز می باشد.
۳-    سرویس های المپیک : این سرویس ها خود به سه دسته سرویس های طلایی ، نقره‌ای و برنزی تقسیم بندی می شوند که به ترتیب کیفیت سرویس کاهش می یابد.
بین استفاده از سرویس های متمایز و RSVP تفاوت های زیر وجود دارد:
از آنجائیکه در سرویس های متمایز تعداد کلاس های سرویس که توسط فیلد DS مشخص می شود بسیار محدود است، بنابراین برخلاف سرویس های مجتمع،‌ میزان اطلاعات وضعیت متناسب با تعداد کلاس های سرویس می باشد نه تعداد جریان های ترافیکی. این امر منجر به قابلیت مقیاس پذیری بالاتر سرویس های متمایز نسبت به سرویس های مجتمع می گردد.
عملیات طبقه بندی، نشانه گذاری، نظارت و شکل دهی فقط در مرز شبکه باید انجام شود. بنابراین پیاده سازی و اعمال سرویس های متمایز ساده تر از سرویس های مجتمع می باشد.
برای پیاده سازی سرویس های مطمئن، ‌ابتدا  توسط مسیریاب ورودی شبکه عملیات طبقه بندی و نظارت صورت می گیرد. چنانچه ترافیک ورودی از آنچه که در SLA آمده است، بیشتر باشد در این صورت ترافیک ورودی متخلف می باشد، در غیر این صورت نامتخلف است. تمام بسته های ورودی و خروجی در یک صف قرار می گیرند و برروی آنها مدیریت صف صورت می گیرد .
سرویس های تشویقی برای کاربرانی که ترافیک تولیدی آنها دارای حداکثر نرخ  بیت ثابت می باشد، تاخیر و تغییرات تاخیر کمی را تضمین می نماید. هر کاربر دارای یک توافق ترافیکی SLA با سرویس دهنده خود می باشد. در SLA حداکثر نرخ بیت مجاز کاربر قید شده است و کاربر موظف به رعایت آن می باشد. چنانچه نرخ بیت ارسال کاربر از حداکثر مجاز تجاوز نماید، ‌در این صورت ترافیک های اضافی از بین می روند. شبکه نیز متعهد می شود که پهنای باند مورد نیاز کاربر را تامین نماید. در کاربردهایی نظیر تلفن اینترنتی، کنفرانس ویدئوئی، ایجاد خطوط استیجاری و مجازی و VPN  از سرویس های تشویقی استفاده می شود.

۱-۲-۳- مهندسی ترافیک
عواملی نظیر کمبود منابع کافی در شبکه و همچنین توزیع نادرست بار ترافیکی در شبکه، باعث ایجاد تراکم در شبکه می گردد. چنانچه منابع کافی در شبکه موجود نباشد در این صورت تمام مسیر یاب های موجود در شبکه دچار تراکم و ازدحام بار می شوند که تنها راه حل مناسب آن، افزودن منابع دیگر به شکبه می باشد. اگر بار ترافیکی به طور مناسب و صحیح در شبکه توزیع نشود در این صورت برخی از مناطق شبکه دچار تراکم می شوند در حالیکه در برخی نقاط دیگر هیچگونه تراکمی مشاهده نمی شود. از آنجاییکه اکثر پروتکل های مسیر یابی دینامیکی از الگوریتم کوتاهترین فاصله استفاده می نمایند، بنابراین امکان ایجاد تراکم در برخی مسیرها و عدم وجود تراکم در مسیرهای دیگر شبکه وجود دارد . البته روش بهبود یافته   ECMP  به شرط آنکه بیش از یک مسیر به عنوان کوتاهترین مسیرها موجود باشد، تا حدی مشکل فوق را در پروتکل مسیریابی دینامیکی OSPF  حل می نماید. همچنین به عنوان یک راه حل دیگر می‌توان هزینه هر خط شبکه را به صورت دستی تغییر داد تا عملیات تقسیم بار صورت گیرد اما طبیعی است این راه حل برای شبکه‌های وسیع عملی نمی‌باشد .
با کمک روال هایی که در مهندس ترافیک در نظر گرفته شده است، میتوان تا حد زیادی از ایجاد تراکم در شبکه جلوگیری نمود. مسیر یابی مبتنی بر اضطرار (CBR)  یک روش برای مهندسی ترافیک و جلوگیری از تراکم در شبکه است که به شرح آن می پردازیم .
در مسیریابی مبتنی بر اضطرار با استفاده از چندین پارامتر مختلف، مسیرهای موجود بین مبدا و مقصد محاسبه می شوند. در حقیقت مسیریابی مبتنی بر اضطرار تکمیل یافته مسیریابی مبتنی بر کیفیت سرویس می باشد. در مسیریابی QoS کلیه مسیرهایی که کیفیت سرویس مورد نظر کاربر را برآورده می نماید محاسبه می شوند . در مسیریابی مبتنی بر اضطرار سایر محدودیت های شبکه نظیر نظارت بر ترافیک نیز درنظر گرفته شده است. با استفاده از مسیر یابی مبتنی بر اضطرار، امکان انتخاب مسیرهایی با کیفیت سرویس مورد نظر و همچنین افزایش میزان بهره وری شبکه فراهم می آید. در مسیریابی مبتنی بر اضطرار در هنگام محاسبه مسیرهای موجود نه تنها توپولوژی شبکه بلکه  پارامترهای دیگری نظیر نیازهای جریان های ترافیکی، میزان ظرفیت موجود در خط های شبکه و سایر نظارت های لازم که توسط مدیر شبکه تعیین می‌شود، در نظر گرفته می شوند. بنابراین در وحله اول ممکن است که مسیر محاسبه شده توسط مسیر یابی مبتنی بر اضطرار طولانی تر از مسیرهای دیگر باشد ولی مطمئنا مسیر محاسبه شده دارای سبکترین بار ترافیکی بوده و نیازهای کاربر را به خوبی برآورده می نماید.
همانند پروتکل های مسیریابی دینامیکی، برای محاسبه بهترین مسیر ممکن توسط الگوریتم مبتنی بر اضطرار باید مسیر یاب های شبکه به طور متناوب اطلاعات وضعیت خط را بین یکدیگر مبادله نمایند .
در مسیریابی مبتنی بر اضطرار مشابه سایر روش های مسیریابی، اولین مسئله مهم انتخاب متریک مورد نظر برای مسیرهای موجود در شبکه می باشد. متریک های متداول در مسیر یابی مبتنی بر اضطرار عبارتند از: هزینه  تعداد پرش ها ، پهنای باند، اطمینان، تاخیر و تغییرات تاخیر مسیر انتخاب شده. الگوریتم های مسیر یاب، یک یا چند متریک فوق را بهینه می نمایند.
چنانچه از چندین متریک فوق به صورت ترکیبی برای محاسبه مسیر بهینه استفاده شود، در این صورت پیچیدگی عملیات تولید جداول مسیر یابی به شدت زیاد می گردد. اگر از متریک های پهنای باند و یا تعداد پرش در محاسبه مسیر بهینه استفاده شود، در این صورت به خاطر وجود الگوریتم هایی نظیر الگوریتم Dijestra  و Bellman-Ford محاسبات مسیریابی نسبتا ساده می‌باشد. در مسیریابی مبتنی بر اضطرار فرکانس محاسبه مسیرها به مراتب نسبت به سایر روش های دینامیکی بیشتر می باشد. دلیلی که می توان برای این مطلب آورد این است که در مسیر یابی دینامیکی تنها با تغییر توپولوژی شبکه، مسیرهای جدید محاسبه می شوند ولی در مسیر یابی مبتنی بر اضطرار، تغییرات پهنای باند نیز منجر به محاسبه مسیرهای جدیددر جدول مسیریابی می گردد. بنابراین می توان نتیجه گرفت که پیچیدگی روش مسیر یابی مبتنی بر اضطرار به مراتب بیشتر از مسیریابی دینامیکی می باشد. برای محاسبه جداول مسیر یابی و کاهش پیچیدگی مسیریابی مبتنی بر اضطرار، می توان از روش های پیشنهادی زیر استفاده نمود:
۱-    استفاده از یک تایمر طولانی برای کاهش فرکانس محاسبات.
۲-    استفاده ازمرتیک های پهنای باند و تعداد جهش .
۳-    استفاده از سیاست های مدیریت برای حذف برخی از خط هایی که به هر دلیل مورد قبول نمی باشند. مثلا اگر یک ارتباط نیاز به تاخیر کم داشته باشد، قبل از انجام مسیریابی ابتدا تمام خط هایی که تاخیر بالایی دارند حذف می شوند و سپس مسیر‌یابی انجام می گردد.
ذکر این نکته ضروری می باشد که مسیریابی مبتنی بر اضطرار دارای مشکلات زیادی است که عبارتند از:
۱-    بالا سری زیاد در محاسبه مسیر.
۲-    افزایش اندازه جدول مسیریابی.
۳-    احتمال عدم پایداری.
۴-    بهینه نبودن مسیر انتخابی از نظر میزان مصرف منابع .

۱-۲-۴- سوئیچنگ برحسب چندین پروتکل 
در پروتکل MPLS به بسته های ورودی به شبکه یک برچسب کوتاه الحاق می گردد و سپس با توجه به مقدار برچسب فوق، عملیات مسیریابی در درون شبکه انجام می شود. در بخش های بعدی توضیحات کامل در مورد پروتکل MPLS ارائه خواهد شد.

۱-۳- مجتمع سازی IP و ATM

با گسترش سریع شبکه های مبتنی بر IP و همچنین با توجه به ویژگیهای منحصر به فرد فنآوری ATM، مدتی است که مبحث پیاده سازی IP بر روی ATM مطرح می باشد و تاکنون پیشنهادهای مختلف و فعالیتهای زیادی در این زمینه صورت گرفته است ]۲[.
یکی از اولین و مهمترین مشکلات پیاده سازی IP بروی ATM عملکرد متفاوت این دو فنآوری می باشد. IP یک پروتکل بهترین تلاش و بی اتصال  می باشد در حالیکه ATM از نوع اتصال گرا  است و کیفیت سرویس اتصال ها را به خوبی تضمین می نماید. در IP داده های ارسالی بصورت بسته  می باشد، در حالیکه در ATM داده ها بصورت سلول  می باشد. در IP از مسیر یابی لایه سوم استفاده می شود، در حالیکه در ATM از روش رزرو منابع استفاده می شود.
با استفاده از فنآوری ATM، امکان استفاده از سرویس های متنوع صوتی، تصویری و داده ای، فراهم می آید. از طرف دیگر IP، قدمت حدود ۳۰ سال دارد و در این مدت فعالیت ها و نرم افزارهای زیادی بر پایهIP طراحی و پیاده سازی شده است. بنابراین شرکت های مخابراتی و متخصصان شبکه، بهترین راه حل پیاده سازی نسل آینده اینترنت را ارسال ترافیک های IP و ATM می دانند.
همانطور که می دانیم در شبکه های کامپیوتری دو فنآوری  مختلف سوئیچینگ بسته ای  و سوئیچینگ مداری  وجود دارد. میزان بهره وری از منابع شبکه در سوئیچینگ بسته ای به خصوص در حالتیکه ترافیک های ارسالی کاربران از نوع زنجیره ای  باشد، به مراتب بالاتر از سوئیچینگ مداری است اما مهمترین برتری سوئیچینگ مداری آن است که امکان تضمین کیفیت سرویس در شبکه های سوئیچینگ مداری وجود دارد. با توجه به اینکه IP و ATM از دو نوع سوئیچینگ مختلف که در بالا به آن اشاره شد، استفاده می نمایند، ‌در ترکیبب و مجتمع سازی این دو نوع فنآوری یکسری مشکلاتی وجود دارد.
برای رفع مشکلات فوق و پیاده سازی IP برروی ATM، تاکنون از سوی IETF، انجمن ATM  و سایر شرکتهای مخابراتی، روش های مختلفی مانند مدل سنتیIP بروی ATM ،    NHRP ، MPOA  و MPLS ارائه شده است .
هر یک ازروش های فوق دارای ویژگی ها و مشخات خاصی می باشند ولی مطمئنا کاملترین روش پیاده سازیIP بروی ATM، پروتکل MPLS است که در این قسمت به بررسی اجمالی آن می پردازیم.
MPLS در حقیقت ترکیبی از سوئیچینگ لایه دوم (لایه پیونده داده) با مسیریابی لایه سوم (لایه شبکه) می باشد که هدف اصلی آن ایجاد یک فابریک انعطاف پذیرشبکه با کارآیی و مقیاس پذیری بالا می باشد.MPLS وابسته به پروتکل لایه دوم خاصی نمی باشد ولی پیاده سازی های اولیه آن بر روی ATM وFrame Relay صورت گرفته است. در اوایل سال ۱۹۹۷،  گروه مطالعاتی MPLS، که در آن ISP های زیاد عضویت دارند، ‌شروع به فعالیت نمود که هدف اصلی آن پاسخگویی و رفع نیاز مشکلات فراوان موجود در اینترنت فعلی می باشد. برخی از مهمترین اهداف MPLS که در شبکه اینترنت فعلی وجود ندارند عبارتند از:
۱-    ایجاد یک شبکه IP با قابلیت مقایس پذیری برای رفع نیازهای رو به افزون ترافیک‌های اینترنت
۲-    فراهم سازی سرویس های مبتنی بر IP
۳-    ترکیب ترافیک های مختلف بر روی یک شبکه IP واحد
۴-    بهبود  بازدهی عملیاتی شبکه در یک محیط رقابتی
در ابتدای پیدایش فنآوریATM، تصور همگان براین بود که با توجه به ویژگی های منحصر به فرد ATM در آینده شاهد یک شبکه کاملا مبتنی بر ATM خواهیم بود. اما با گسترش IP و شبکه های مبتنی بر IP، این ایده به تدریج کمرنگ گردید. تصور فعلی براین است که در نسل آینده شبکه ها از مزایای فنآوری های موجود نظیر ATM وIP به نحو احسن استفاده می شود.
فنارآوری سوئیچینگ برحسب  نتیجه ترکیب و استفاده توأم  از مزایای فناوری های سوئچینگ لایه دوم و مسیریابی لایه سوم می باشد. طبیعی است که این نوع شبکه، به دلیل استفاده همزمان از فنآوریهای سوئیچینگ و مسیریابی، بهترین راه حل برای استفاده همزمان از IP  و ATM می باشد.
در حالت کلی، فناوری MPLS فقط به IP و ATM محدود نمی‌شود، بلکه MPLS نحوه یکپارچه سازی فنآوریهای لایه دوم و لایه سوم را توصیف می نماید. در MPLS یکسری روال ها برای استفاده از قابلیت های سوئچیگ سریع ATM و Frame Relay در شبکه‌های  IP توصیف شده است .
در شبکه های MPLS به هر یک از بسته های IP ورودی توسط مسیر یاب های موجود در لبه شبکه، یک برچسب الحاق می گردد. در درون شبکه MPLS، هدایت بسته ها به مقصد بوسیله پردازش برروی فیلد برچسب انجام می شود. در لبه خروجی شبکهMPLS، برچسب الحاقی به بسته حذف شده و بسته  IP تحویل مقصد می گردد.
شکل ۱-۲ مثالی از یک شبکه MPLS و تجهیزات آن را نشان می دهد. مطابق با شکل فوق مسیریاب هایی که در لبه شبکه قرار گرفته اند و با استفاده از اطلاعات IP، به بسته های ورودی یک برچسب خاص تخصیص می دهند، با نام LER  شناخته می شوند . مسیریابهای داخل شبکه MPLS  که تنها وظیفه آنها پردازش بسته های IP برچسب زده شده و هدایت آنها به سمت مقصد می باشد، با نام LSR  شناخته می شوند. همچنین مطابق با شکل فوق، به مسیری که بسته های IP ازطریق آن مسیر به سمت مقصد ارسال می شوند، اصطلاحا LSP  گفته می شود.
 
شکل ۱-۲-  مثالی از یک شبکه MPLS


4+

نويسنده / مترجم : -
زبان کتاب : -
حجم کتاب : -
نوع فايل : -
تعداد صفحه : -

 ادامه مطلب + دانلود...
اینترنت شبکه ۱
4.5 (90%) 2 votes



هو الکاتب


پایگاه اینترنتی دانلود رايگان كتاب تك بوك در ستاد ساماندهي سايتهاي ايراني به ثبت رسيده است و  بر طبق قوانین جمهوری اسلامی ایران فعالیت میکند و به هیچ ارگان یا سازمانی وابسته نیست و هر گونه فعالیت غیر اخلاقی و سیاسی در آن ممنوع میباشد.
این پایگاه اینترنتی هیچ مسئولیتی در قبال محتویات کتاب ها و مطالب موجود در سایت نمی پذیرد و محتویات آنها مستقیما به نویسنده آنها مربوط میشود.
در صورت مشاهده کتابی خارج از قوانین در اینجا اعلام کنید تا حذف شود(حتما نام کامل کتاب و دلیل حذف قید شود) ،  درخواستهای سلیقه ای رسیدگی نخواهد شد.
در صورتیکه شما نویسنده یا ناشر یکی از کتاب هایی هستید که به اشتباه در این پایگاه اینترنتی قرار داده شده از اینجا تقاضای حذف کتاب کنید تا بسرعت حذف شود.
كتابخانه رايگان تك كتاب
دانلود كتاب هنر نيست ، خواندن كتاب هنر است.

دانلود کتاب , دانلود کتاب اندروید , کتاب , pdf , دانلود , کتاب آموزش , دانلود رایگان کتاب


تمامی حقوق و مطالب سایت برای تک بوک محفوظ است و هرگونه کپی برداری بدون ذکر منبع ممنوع می باشد.


فید نقشه سایت

تمامی حقوق برای سایت تک بوک محفوظ میباشد