بخشی از مقاله

چکيده
اصليترين پروتکلي که در حال حاضر براي مديريت شبکه هاي کامپيوتري مورد استفاده قرار ميگيرد تحت عنوان SNMP شناخته ميشود. سادگي و گستردگي استفاده ، اصليترين مزاياي بکار گيري اين پروتکل در تجهيزات و شبکه هاي کامپيوتري ميباشند. اما عليرغم بهره مندي از اين مزايا، استفاده از اين پروتکل در شبکه هايي که طيف وسيعي از دستگاه هاي شبکه را در بر گرفته و ترافيک بالايي نيز توليد ميکنند با چالش هاي جدي روبرو ميباشد. براي غلبه بر مشکلات اين پروتکل ، روش هاي متعددي ارائه شده است که يکي از بهترين روش هاي موجود معماري توزيع شده اي است به نام CORBA. طراحي و پياده سازي يک پراکسي بر اساس همين معماري توزيع شده در دستور کار اين اثر قرار گرفته است . اصليترين وظيفه ي اين پراکسي، انجام برخي از اصلاحات بر روي دستورات و ساختارهاي پروتکل SNMP به منظور رفع نواقص اين دستورات و همچنين پوشش نيازمنديهاي شبکه هاي نسل بعد ميباشد.

١. مقدمه
در سالهاي اخير ساختار و کاربرد شبکه هاي کامپيوتري با تغييرات بسيار زيادي مواجه بوده است به طوري که اين امکان فراهم شده است تا بتوان طيف وسيع - تري از فناوريها را در درون تنها يک شبکه مورد پشتيباني قرار داد. فناوريهايي نظير تلويزيون از طريق اينترنت و انتقال صوت مثال هايي از اين نوع ميباشند.
عموما شبکه هايي که تنها محدود به پشتيباني از يک نوع تکنولوژي خاص نيستند و طيف وسيع تري از فناوريهاي مختلف را در بر ميگيرند تحت عنوان شبکه هاي نسل بعد شناخته ميشوند.
فراهم آوردن تکنولوژيهاي جديدي که به آنها اشاره شد در درون يک شبکه واحد( شبکه هاي نسل بعد ) منجر به کاهش هزينه هاي ساخت و نگه داري شبکه هاي اختصاصي گوناگون براي تکنولوژيهاي مختلف ميشود اما خود اين امر باعث ظهور جنبه هاي جديدي از پيچيدگي ميگردد. بدليل پيدايش همين پيچدگيها مديريت اين نوع از شبکه ها و کنترل صحت عملکرد آنها از اهميت بسيار زيادي برخوردار است .
مفهوم مديريت در يکي از اصلي ترين حلقه هاي شبکه هاي نسل بعد، يعني شبکه هاي مبتني بر پشته پروتکل TCP.IP بر اساس پروتکل SNMP ميباشد. اين پروتکل عليرغم بهرمندي از مزايايي نظير سادگي و مصرف کم حافظه داراي مشکلات بسياري نيز ميباشد.
يک رويکرد اساسي براي مديريت شبکه هاي مبتني بر پشته پروتکلي TCP.IP به عنوان يکي از زير ساخت هاي شبکه هاي نسل بعد و رفع مشکلات پروتکل SNMP، استفاده از تکنيک واسطهاي استاندارد ميباشد. واسطهاي استاندارد موجوديت هايي کليدي در مديريت شبکه هاي نامتجانس ميباشند چرا که منجر به کاهش هزينه هاي افزودن زير ساخت ها شده و انجام عمليات را نيز ساده تر مي - سازند. علاوه بر اين نيز باعث حل مشکل مقياس پذيري شده و استقلال از چهارچوب را تامين ميکنند.

يکي از بهترين ميان افزارهايي که بر اساس واسطهاي شفاف شکل گرفته است CORBA نام دارد. CORBA يک زير ساخت محاسباتي توزيع شده مبتني بر شي به صورت باز ميباشد که هدف اصلي آن نيز خود کار سازي بسياري از فعاليتهاي برنامه نويسي تحت شبکه ميباشد. فعاليت هايي نظير ثبت شي، فعال سازي، شفافيت مکاني، کدگذاري، کدگشايي و رهسپاري عمليات . اين خودکار سازي عموما از طريق يک ميان افزار انجام ميشود که ORB ناميده ميشود. اين ميان افزار وظيفه دارد که به طور شفاف پيام هاي درخواستي از کلاينت به سرور و بالعکس را مديريت کند.
راه حل در نظر گرفته شده در اين مقاله نيز بر اساس همين معماري ميباشد که عبارت است از طراحي يک پراکسي براي انجام برخي اصلاحات بر روي دستورات و ساختارهاي داده اي پروتکل SNMP. در واقع اين پراکسي داراي دو بخش مي باشد که در دو سوي يک ارتباط که بين مدير و عامل بر قرار ميشود قرار ميگيرند و قبل از ارسال اطلاعات بين اين دو، مجموعه اي از تنظيمات و اصلاحات را انجام ميدهند. به واقع يک مدير و يا عامل به صورت مستقيم تنها با پراکسي ارتباط برقرار ميکند و اتصال برقرار شده با سر ديگر ارتباط به صورت غير مستقيم و تنها از طريق پراکسي صورت ميپذيرد که منجر به پوشش برخي از مشکلات پروتکل SNMP و نيازهاي شبکه هاي نسل بعد ميشود.

٢. مفهوم پروتکل SNMP و مشکلات آن

پروتکل SNMP بر روي پشته پروتکلي TCP.IP و در لايه کاربرد قرار دارد و از پروتکل UDP براي انتقال داده ها استفاده ميکند. در حال حاضر سه نسخه از اين پروتکل وجود دارد که تحت عناوين SNMPv1، SNMPv2 و SNMPv3 شناخته ميشوند. نسخه هاي يک و دو داراي ويژگيهايي مشابه و خصوصيات متداولي هستند هر چند که به لحاظ پشتيباني از انجام دستورات ، نسخه دوم طيف وسيع تري از دستورات را در بر ميگيرد. نسخه سوم نيز ويژگيهاي پيکربندي از راه دور و خصوصيات امنيتي را به نسخه هاي قبلي اضافه کرده است .
نسخه يک اين پروتکل ، امروزه به طورگسترده اي مورد استفاده قرار ميگيرد و داراي مقبوليت گسترده اي است اما با اين وجود داراي ايراداتي نيز ميباشد .از مهمترين ضعف هاي اين نسخه ميتوان به مکانيزم هاي ضعيف امنيتي و انتقال پيام ها به صورت متن شفاف اشاره نمود. نسخه دوم پروتکل نيز در واقع توسعه اي بود بر روي نسخه قبلي خود. برخي از دستورات نظير خواندن و نوشتن دقيقا ساختاري مشابه با دستورات معادل خود در نسخه يک دارند. اما دستورات ديگري به اين نسخه اضافه شده اند و برخي از دستورات نيز بهبود پيدا کرده اند. به عنوان مثال در اين نسخه از پروتکل اگر در يک مجموعه درخواست خواندن يک عنصر نامعتبر وجود داشته باشد پاسخ هايي براي ساير عناصر معتبر ارسال ميشود در حالي که در نسخه يک هيچ پاسخي براي عناصر معتبر ارسال نميشود و فقط يک پيغام خطا برگشت داده ميشود که به نوعي هدر دادن منابع شبکه ميباشد.
همچنين در نسخه يک دستور تله داراي فرمتي متفاوت با ساير دستورات مي - باشد در حالي که در نسخه دو اين چنين نيست . به لحاظ دستوري نيز در نسخه دوم مجموعه دستورات جديدي نظير اعلان و انتقال عظيم براي بهبود عملکرد گنجانده شده اند. دستور انتقال عظيم ، براي بازيابي حجم بالايي از داده ها استفاده ميشود(مانند بازيابي چندين سطر از يک جدول ). دستور اعلان نيز به يک مدير اجازه ميدهد تا يک تله را به يک مدير ديگر ارسال کند و پاسخي را از آن مدير دريافت کند.
هدف اصلي ارائه نسخه سوم پروتکل ، تمرکز بر روي مسايل امنيتي ميباشد. در معماري نسخه سوم پروتکل ، از مدل امنيتي مبتني بر کاربر براي امنيت پيام و مدل کنترل دستيابي مبتني بر ديدگاه براي اعمال نحوه دستيابي به پايگاه داده اطلاعاتي استفاده ميشود. همچنين معماري نسخه سوم اجازه استفاده همزمان از مدلهاي مختلف امنيتي، کنترل دستيابي و پردازش پيام را نيز فراهم ميآورد.
بدليل سرعت اجراي بالا، مصرف کم حافظه و نيز سادگي کاربرد، اين پروتکل در تجهيزات شبکه به صورت گسترده به کار برده ميشود. اما عليرغم بهرمندي از اين مزايا، اين پروتکل داراي مشکلات فراواني نيز ميباشد که در ادامه به آنها اشاره شده است .
الف )روش کدگذاري ضعيف : روشي از کدگذاري که در پروتکل SNMP
مورد استفاده قرار ميگيرد تحت عنوان BER شناخته ميشود. تمام نسخه هاي اين پروتکل از همين روش براي کدگذاري و کدگشايي داده ها در هنگام ارسال و دريافت داده ها استفاده ميکنند که باعث افزايش نسبت مقدار داده هاي کنترلي در مقايسه با محتواي خود پيام ها شده و نتيجتا منجر به افزايش بيمورد بار شبکه و تاخير آماده سازي ميشود. بار شبکه بخشي از ظرفيت لينک ارتباطي ميباشد که براي انتقال داده هاي مديريتي (و نه داده هاي مربوط به کاربر) مورد استفاده قرار ميگيرد. هدف غايي در استفاده از شبکه هاي کامپيوتري انتقال داده هاي کاربر ميباشد بنابراين بايد حجم داده هاي مديريتي انتقال يافته را تا حد ممکن کاهش داد. تاخير نيز به فاصله زماني اطلاعات درخواست شده توسط مدير تا زمان دريافت اين اطلاعات از عامل اشاره ميکند. روش کدگذاري BER به شکلي است که در هنگام کدگذاري .کدگشايي، فشرده سازي . غير فشرده سازي و محاسبه کد امنيتي تاخير بسيار زياد ايجاد مي کند که منجر به کاهش شديد بهره وري ميشود[١].
ب ) عدم استفاده از تکنيک هاي فشرده سازي داده ها: در نسخه يک و دو پروتکل SNMP به هيچ عنوان از روش هاي فشرده سازي استفاده نشده است اما در نسخه سوم به روشي مفهومي که از طريق روش هاي کد گذاري اطلاعات فراهم شده است ، ميتوان نسبت به اعمال الگوريتم هاي فشرده سازي اقدام نمود.
مزيت انجام عمل فشره سازي بدين طريق اين است که ميتواند بدون انجام هر نوع تغييري در خود پروتکل صورت پذيرد. هرچند که بدليل عدم پشتيباني پروتکل از مکانيزم noAuthPriv نميتوان از اين الگوريتم فشرده سازي بدون استفاده از روش هاي تصديق اعتبار استفاده نمود و خود اين امر منجر به اعمال برخي محدوديت هاي بي مورد ميشود[١].
پ ) مشکل گزارش وضعيت خرابي: دستور تله در SNMP مبتني بر پروتکل نامطمئن UDP بوده و براي اعلام وضعيت خطا مورد استفاده قرار ميگيرد.
اصليترين مشکل دستور تله يک طرفه بودن و عدم دريافت پاسخ در قبال تله ارسالي ميباشد. البته در نسخه دوم براي غلبه بر مشکل دستور تله دستوري به نام اعلان اضافه شد که همانند دستور تله ميباشد با اين تفاوت که مدير به محض دريافت تله از عامل پاسخي مبني بر دريافت تله را به وي ارسال ميکند.
در واقع بدين طريق عامل از دريافت تله توسط مدير اطمينان حاصل ميکند و چنانچه پس از مدت زمان مشخصي، عامل پاسخي براي تله ارسال شده دريافت نکرد ميتواند مجددا نسبت به ارسال آن اقدام نمايد. استفاده از اين دستور به طور کامل مشکل را رفع نميکند چرا که از يک طرف تعداد عامل هايي که تنها از نسخه يک پروتکل SNMP استفاده ميکنند بسيار زياد هستند و بنابراين اساسا از دستور اعلان پشتيباني نميکنند و از طرفي ديگر نيز خود دستور اعلان از مشکلات پروتکل نامطمئن UDP براي ارسال اطلاعات و همچنين روش کدگذاري ضعيف BER رنج ميبرد.
ت )مشکل عدم مقياس پذيري: مديريت در تمامي نسخه هاي پروتکل SNMP
بر اساس روش متمرکز ميباشد که به معني عبور تمامي داده ها از يک نقطه مشخص در شبکه ميباشد. در واقع تمامي عامل هايي که توسط يک مدير کنترل ميشوند داده هاي خود را به نقطه اي در شبکه ميفرستند که مدير در آنجا قرار دارد. حال اگر تعداد عامل هايي که توسط يک مدير کنترل ميشوند از حد مشخصي فراتر رود آنگاه ترافيک ورودي به آن نقطه افزايش پيدا کرده و منجر به قفل شدن شبکه و نتيجتا مشکل گلوگاه ميشود. مشکل گلوه گاه نتيجه مستقيم روش متمرکز مديريتي و عدم مقياس پذيري در پروتکل SNMP ميباشد [٢].
٣. آشنايي با ساختار پراکسي
پراکسي مورد نظر بر مبناي ميان افزار CORBA طراحي و پياده سازي شده است . اين پراکسي در ارتباط برقرار شده بين عامل و مدير داراي دو بخش مي - باشد که يک بخش آن در سمت عامل (بر روي ماشين عامل ) و بخش ديگر آن در سمت مدير قرار مي گيرد. در شکل ١ شماي کلي نحوه قرار گيري بخش هاي پراکسي بر روي ماشين هاي عامل و مدير نشان داده شده است .
به صورت کلي مزاياي حاصل از پياده سازي پراکسي به نحوه ي مرتفع نمودن مشکلات پروتکل SNMP مربوط ميشوند که عبارتند از:
الف )مرتفع نمودن مشکل کدگذاري پروتکل SNMP: مشکل کد گذاري در پراکسي طراحي شده با استفاده از روش کدگذاري CDR حل ميشود. روش کدگذاري CDR در معماري CORBA و به طبع آن در پراکسي به عنوان زير ساخت قرار داده شده است . در اين روش انواع داده هاي اوليه در محدوده هايي مشخص از حافظه ذخيره ميشوند. به عبارت ديگر هر نوع داده اي در خانه اي از حافظه با ضريب مشخصي ذخيره ميشود. به عنوان مثال نوع داده ي short در خانه هايي با ضريب دو ذخيره ميشود. البته در اين حالت ممکن است فضاهاي خالي نيز بين داده هاي ذخيره شده به وجود بيايد. براي ذخيره انواع داده هاي ساخت يافته نيز از روشي مشابه با داده هاي اوليه استفاده ميشود چرا که اين نوع داده ها در واقع ترکيبي از انواع داده هاي ساده ميباشند. از يک طرف بدليل عدم ذخيره کردن طول داده ها در کنار خود داده ها روش کدگذاري CDR نسبت به روش BER داده سربار بسيار کمتري توليد کرده و در نتيجه منجر به کاهش بار شبکه ميشود و از طرف ديگر نيز بدليل استفاده از محدوده هاي بايتي ميتوان به صورت مستقيم به نمايش دودويي داده ها در حافظه دسترسي پيدا کرد و تاخير آماده سازي داده ها را نيز تا حد زيادي کاهش داد[٣].
ب ) نحوه پوشش مشکل عدم فشرده سازي داده ها: در بخش قبلي اشاره شد که پروتکل SNMP به صورت مستقيم از روش هاي فشرده سازي داده ها استفاده نمي کند. اين نقيصه از يک طرف باعث بروز مشکل در شبکه هايي با محدوديت پهناي باند شده و از طرفي ديگر نيز پديده گلوه گاه را تشديد ميکند. براي غلبه بر اين مشکل در پراکسي پياده سازي شده از يک الگوريتم به نام ZIOP استفاده شده است [٤][٥]. اين الگوريتم به صورت استاندارد و همراه با توصيفات
CORBA ارائه شده است . سطوح مختلف فشرده سازي که در اين الگوريتم تعبيه شده به شکلي است که حجم داده ها را به طرز چشم گيري کاهش داده و منجر به پوشش نسبي مشکلات پروتکل SNMP در زمينه فشرده سازي داده ها ميشود.
پ ) نحوه حل مشکل گزارش وضعيت خرابي : همانگونه که اشاره شد استفاده از دستور تله در پروتکل SNMP براي اعلام گزارشات خرابي با چالش هاي جدي روبرو ميباشد. در پراکسي پياده سازي شده اين مشکل با استفاده از سرويس رويداد به صورت کامل مرتفع ميشود. سرويس رويداد يک بخش از مجموعه سرويس هاي استاندارد ميان افزار CORBA ميباشد که براي تبادل پيغام بين طرفين يک ارتباط به کار برده ميشود. اين سرويس مبتني بر پروتکل مطمئن TCP بوده و نوعي از نشست را در بين طرفين ارتباط برقرار ميکند[٦][٧]. روش انجام کار نيز بدين صورت است که در ابتدا سرويس رويداد بين قسمت هاي مختلف پراکسي که در دوسوي ارتباط (سمت مدير و سمت عامل ) قرار دارند، راه اندازي ميشود. حال چناچه عامل بخواهد يک تله را به مدير ارسال کند اين تله را به پراکسي سمت خود تحويل داده و سپس اين تله در قالب پيام هاي مطمئن TCP و با استفاده از سرويس رويداد به مدير ارسال ميشود. در سمت مدير نيز پيام دريافت شده توسط پراکسي سمت مدير پردازش شده و با استفاده از دستورات متداول SNMP به مدير تحويل داده ميشود. مشاهده ميشود که اين نوع از نشست مشکل عدم دريافت تله ارسالي را به خوبي مرتفع ميکند. البته در صورت استفاده از همين روش براي دستور اعلان ، احتمال گم شدن بسته ها کاهش مييابد چرا که پروتکل نامطمئن UDP با پروتکل مطمئن TCP جايگزين ميشود و کيفيت ارتباط برقرار شده افزايش مييابد.
ت )چگونگي پوشش مشکل گلوگاه و عدم مقياس پذيري: بدليل ماهيت توزيع شدگي ميان افزار CORBA که به طبع در پراکسي طراحي شده نيز وجود دارد، مشکلات مربوط به روش متمرکز مديريتي به خوبي مرتفع ميشوند. در واقع اکنون با تکرار سازي پراکسي موجود در سمت مدير به تعداد دلخواه ، ميتوان مسيرهاي ارتباطي با مدير را افزايش داد و از تمرکز و عبور داده ها از يک نقطه خاص از شبکه جلوگيري نمود. انجام همين فرايند و تمرکز بر ماهيت توزيع شدگي پراکسي منجر به حل مشکل گلوگاه و متعاقب آن پوشش مشکل عدم مقياس پذيري ميشود

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید