طراحی شبکه
استراتژی طراحی شبکه (بخش اول )
طراحی شبکه:
استفاده از شبکه های کامپيوتری در چندين سال اخير رشد و به موازات آن سازمان ها و موسسات متعددی اقدام به برپاسازی شبکه نموده اند. هر شبکه کامپيوتری می بايست با توجه به شرايط و سياست های هر سازمان ، طراحی و در ادامه پياده سازی گردد .شبکه ها ی کامپيوتری زيرساخت لازم برای استفاده از منابع فيزيکی و منطقی را در يک سازمان فراهم می نمايند . بديهی است در صورتی که زيرساخت فوق به درستی طراحی نگردد، در زمان استفاده از شبکه با مشکلات متفاوتی برخورد نموده و می بايست هزينه های زيادی به منظور نگهداری و تطبيق آن با خواسته ها ی مورد نظر( جديد) ، صرف گردد ( اگر خوش شانس باشيم و مجبور نشويم که از اول همه چيز را مجددا” شروع نمائيم !) . يکی از علل اصلی در بروز اينچنين مشکلاتی ، به طراحی شبکه پس از پياده سازی آن برمی گردد. ( در ابتدا شبکه را پياده سازی می نمائيم و بعد سراغ طراحی می رويم ! ) .
برپاسازی هر شبکه کامپيوتری تابع مجموعه سياست هائی است که با استناد به آنان در ابتدا طراحی منطقی شبکه و در ادامه طراحی فيزيکی ، انجام خواهد شد . پس از اتمام مراحل طراحی ، امکان پياده سازی شبکه با توجه به استراتژی تدوين شده ، فراهم می گردد.
در زمان طراحی يک شبکه ، سوالات متعددی مطرح می گردد :
- برای طراحی يک شبکه از کجا می بايست شروع کرد ؟
- چه پارامترهائی را می بايست در نظر گرفت ؟
- هدف از برپاسازی يک شبکه چيست ؟
- انتطار کاربران از يک شبکه چيست ؟
- آيا شبکه موجود ارتقاء می يابد و يا يک شبکه از ابتدا طراحی می گردد ؟
- چه سرويس ها و خدماتی بر روی شبکه، ارائه خواهد شد ؟
- و …
سوالات فوق ، صرفا” نمونه هائی در اين زمينه بوده که می بايست پاسخ آنان متناسب با واقعيت های موجود در هر سازمان ، مشخص گردد . ( يکی از اشکالات ما استفاده از پاسخ های ايستا در مواجهه با مسائل پويا است !) .
در اين مقاله قصد داريم به بررسی پارامترهای لازم در خصوص تدوين يک استراتژی مشخص به منظور طراحی شبکه پرداخته تا از اين طريق امکان طراحی منطقی ، طراحی فيزيکی و در نهايت پياده سازی مطلوب يک شبکه کامپيوتری ، فراهم گردد .
مقدمه
قبل از طراحی فيزيکی شبکه ، می بايست در ابتدا و بر اساس يک فرآيند مشخص ، خواسته ها شناسائی و آناليز گردند. چرا قصد ايجاد شبکه را داريم و اين شبکه می بايست چه سرويس ها و خدماتی را ارائه نمايد ؟ به چه منابعی نيار می باشد ؟ برای تامين سرويس ها و خدمات مورد نظر اکثريت کاربران ، چه اقداماتی می بايست انجام داد ؟ در ادامه می بايست به مواردی همچون پروتکل مورد نظر برای استفاده در شبکه ، سرعت شبکه و از همه مهم تر، مسائل امنيتی شبکه پرداخته گردد. هر يک از مسائل فوق ، تاثير خاص خود را در طراحی منطقی يک شبکه به دنبال خواهند داشت .يکی ديگر از پارامترهائی که معمولا” از طرف مديريت سازمان دنبال و به آن اهميت داده می شود ، هزينه نهائی برپاسازی شبکه است . بنابراين لازم است در زمان طراحی منطقی شبکه به بودجه در نظر گرفته شده نيز توجه نمود .
در صورتی که قصد ايجاد يک شبکه و تهيه نرم افزارهای جديدی وجود داشته باشد ، زمان زيادی صرف بررسی توانمندی نرم افزارها ، هزينه های مستقيم و غير مستقيم آنان ( آموزش کاربران ، کارکنان شبکه و ساير موارد ديگر ) ، خواهد شد .در برخی موارد ممکن است تصميم گرفته شود که از خريد نرم افزارهای جديد صرفنظر نموده و نرم افزارهای قديمی را ارتقاء داد. تعداد زيادی از برنامه های کامپيوتری که با استفاده از زبانهایی نظير : کوبال ، بيسيک و فرترن نوشته شده اند ، ممکن است دارای قابليت های خاصی در محيط شبکه بوده که استفاده از آنان نيازمند بکارگيری پروتکل های قديمی باشد. در چنين مواردی لازم است به چندين موضوع ديگر نيز توجه گردد :
- هزينه ارتقاء هزاران خط کد نوشته شده قديمی توسط نسخه های جديد و پيشرفته همان زبان های برنامه نويسی ، چه ميزان است ؟
- هزينه ارتقاء برنامه ها به يک زبان برنامه نويسی شی گراء چه ميزان است ؟
- آيا به منظور صرفه جوئی در هزينه ها ، می توان بخش های خاصی از شبکه را ارتقاء و از سخت افزارها و يا نرم افزارهای خاصی برای ارتباط با عناصر قديمی شبکه استفاده نمود؟
با توجه به هزينه و زمان ارتقاء برنامه های نوشته شده قديمی توسط زبان های جديد برنامه نويسی ، ممکن است تصميم گرفته شود که فعلا” و تا زمانی که نرم افزارهای جديد نوشته و جايگزين گردند از نرم افزارهای موجود حمايت و پشتيبانی شود. در اين رابطه ممکن است بتوان از يک بسته نرم افراری به عنوان گزينه ای جايگزين در ارتباط با برنامه های قديمی نيز استفاده نمود. در صورتی که می توان با اعمال تغييراتی اندک و ترجمه کد منبع برنامه ، امکان اجرای برنامه را بر روی يک سيستم عامل جديد فراهم نمود ، قطعا” هزينه مورد نظر بمراتب کمتر از حالتی است که برنامه از ابتدا و متناسب با خواسته های جديد ، بازنويسی گردد. يکی ديگر از مسائلی که می بايست در زمان ارتقاء يک برنامه جديد مورد توجه قرار گيرد ، آموزش کاربرانی است که از نرم افزار فوق استفاده می نمايند.
برنامه ريزی برای طراحی منطقی شبکه
برای طراحی منطقی شبکه ، می توان از يک و يا دو نقطه کار خود را شروع کرد: طراحی و نصب يک شبکه جديد و يا ارتقاء شبکه موجود.
در هر دو حالت ، می بايست اطلاعات مورد نياز در خصوص چندين عامل اساسی و مهم را قبل از طراحی منطقی شبکه ، جمع آوری نمود. مثلا” با توجه به سرويس ها و خدماتی که قصد ارائه آنان به سرويس گيرندگان شبکه را داريم ، می بايست به بررسی و آناليز الگوهای ترافيک در شبکه پرداخته گردد . شناسائی نقاط حساس و بحرانی (در حد امکان ) ، کاهش ترافيک موجود با ارائه مسيرهای متعدد به منابع و تامين سرويس دهندگان متعددی که مسئوليت پاسخگوئی به داده های مهم با هدف تامين Load balancing را دارا می باشند ، نمونه هائی در اين رابطه می باشد .برای برنامه ريزی در خصوص طراحی منطقی شبکه می بايست به عواملی ديگر نيز توجه و در خصوص آنان تعيين تکليف شود :
- سرويس گيرندگان، چه افرادی می باشند؟ نياز واقعی آنان چيست ؟ چگونه از نياز آنان آگاهی پيدا کرده ايد ؟ آيا اطلاعات جمع آوری شده معتبر است ؟
- چه نوع سرويس ها و يا خدماتی می بايست بر روی شبکه ارائه گردد؟ آيا در اين رابطه محدوديت های خاصی وجود دارد ؟ آيا قصد استفاده و پيکربندی يک فايروال بين شبکه های محلی وجود دارد ؟ در صورت وجود فايروال ، به منظور استفاده از اينترنت به پيکربندی خاصی نياز می باشد؟
- آيا صرفا” به کاربران داخلی شبکه ، امکان استفاده از اينترنت داده می شود و يا کاربران خارجی ( مشتريان سازمان ) نيز می بايست قادر به دستيبابی شبکه باشند ؟ هزينه دستيابی و ارائه سرويس ها و خدمات به کاربران خارجی از طريق اينترنت، چه ميزان است ؟ ؟ آيا تمامی کاربران شبکه مجاز به استفاده از سرويس پست الکترونيکی می باشند (سيستم داخلی و يا خارجی از طريق فايروال ) . کاربران شبکه ، امکان دستيابی به چه سايت هائی را دارا خواهند بود؟ آيا سازمان شما دارای کاربرانی است که در منزل و يا محيط خارج از اداره مشغول به کار بوده و لازم است به شبکه از طريق Dial-up و يا VPN ( از طريق ايننترنت ) ، دستيابی نمايند ؟
يکی از موضوعات مهمی که امروزه مورد توجه اکثر سازمان ها می باشد ، نحوه تامين امکان دستيابی نامحدود به اينترنت برای کاربران است. در صورتی که کاربران نيازمند مبادله نامه الکترونيکی با مشتريان سازمان و يا مشاوران خارج از شرکت می باشند ، می بايست ترافيک موجود را از طريق يک برنامه فيلتر محتوا و يا فايروال انجام و به کمک نرم افزارهائی که حفاظت لازم در مقابل ويروس ها را ارائه می نمايند ، عمليات تشخيص و پيشگيری از کد های مخرب و يا فايل ضميمه آلوده را نيز انجام داد.
با استفاده از نرم افزارهائی نظير FTP ،کاربران قادر به ارسال و يا دريافت فايل از طريق سيستم های راه دور می باشند .آيا در اين خصوص تابع يک سياست مشخص شده ای بوده و می توان پتانسيل فوق را بدون اين که اثرات جانبی خاصی را به دنبال داشته باشد در اختيار کاربران قرار داد ؟ از لحاظ امنيتی ،امکان اجرای هر برنامه جديد بر روی هر کامپيوتر ( سرويس گيرنده و يا سرويس دهنده ) بدون بررسی لازم در خصوص امنيت برنامه ، تهديدی جدی در هر شبکه کامپيوتری محسوب می گردد .
- آيا کاربران شبکه با يک مشکل خاص کوچک که می تواند برای دقايقی شبکه و سرويس های آن را غير فعال نمايد ، کنار می آيند و يا می بايست شبکه تحت هر شرايطی به منظور ارائه خدمات و سرويس ها ، فعال و امکان دستيابی به آن وجود داشته باشد ؟ آيا به سرويس دهندگان کلاستر شده ای به منظور در دسترس بودن دائم شبکه ، نياز می باشد ؟ آيا کاربران در زمان غيرفعال بودن شبکه ، چيزی را از دست خواهند داد ؟ آيا يک سازمان توان مالی لازم در خصوص پرداخت هزينه های مربوط به ايجاد زيرساخت لازم برای فعال بودن دائمی شبکه را دارا می باشد ؟ مثلا” می توان توپولوژی های اضافه ای را در شبکه پيش بينی تا بتوان از آنان برای پيشگيری از بروز اشکال در يک نقطه و غير فعال شدن شبکه ، استفاده گردد. امروزه با بکارگيری تجهيزات خاص سخت افزاری به همراه نرم افزاری مربوطه ، می توان از راهکارهای متعددی به منظور انتقال داده های ارزشمند در يک سازمان و حفاظت از آنان در صورت بروز اشکال ، استفاده نمود.
- در صورتی که قصد ارتقاء شبکه موجود وجود داشته باشد ، آيا می توان از پروتکل های فعلی استفاده کرد و يا می بايست به يک استاندارد جديد در ارتباط با پروتکل ها ، سوئيچ نمود ؟ در صورتی که يک شبکه جديد طراحی می گردد ، چه عواملی می تواند در خصوص انتخاب پروتکل شبکه ، تاثير گذار باشد ؟ اترنت ، متداولترين تکنولوژی شبکه ها ی محلی ( LAN ) و TCP/IP ، متداولترين پروتکلی است که بر روی اترنت ، اجراء می گردد . در برخی موارد ممکن است لازم باشد که ساير تکنولوژی های موجود نيز بررسی و در رابطه با استفاده از آنان ، تصميم گيری گردد .
استفاده کنندگان شبکه چه افرادی هستند ؟
اين سوال به نظر خيلی ساده می آيد. ما نمی گوئيم که نام استفاده کنندگان چيست ؟ هدف از سوال فوق، آشنائی با نوع عملکرد شغلی و حوزه وظايف هر يک از کاربران شبکه است . طراحان شبکه های کامپيوتری نيازمند تامين الگوها و خواسته ها متناسب با ماهيت عملياتی هر يک از بخش های يک سازمان بوده تا بتوانند سرويس دهندگان را به درستی سازماندهی نموده و پهنای باند مناسب برای هر يک از بخش های فوق را تامين و آن را در طرح شبکه ، لحاظ نمايند . مثلا” در اکثر سازمان ها ، بخش عمده ترافيک شبکه مربوط به واحد مهندسی است. بنابراين در چنين مواردی لازم است امکانات لازم در خصوص مبادله داده در چنين واحدهائی به درستی پيش بينی شود .
شبکه مورد نظر می بايست چه نوع سرويس ها و خدماتی را ارائه نمايد ؟
مهمترين وظيفه يک شبکه ، حمايت از نرم افزارهائی است که امکان استفاده از آنان برای چندين کاربر ، وجود داشته باشد. در اين رابطه لازم است در ابتدا ليستی از انواع نرم افزارهائی که در حال حاضر استفاده می گردد و همچنين ليستی از نرم افزارهائی را که کاربران تقاضای استفاده از آنان را نموده اند، تهيه گردد. هر برنامه دارای يک فايل توضيحات کمکی است که در آن به مسائل متفاوتی از جمله رويکردهای امنيتی ، اشاره می گردد ( در صورت وجود ) . نرم افزارهای عمومی شبکه در حال حاضر FTP، telnet و مرورگرهای وب بوده که نسخه های خاص امنيتی در ارتباط با هر يک از آنان نيز ارائه شده است . برخی از اين نوع نرم افزارها دارای نسخه هائی می باشند که همزمان با نصب ، حفره ها و روزنه های متعددی را برروی شبکه ايجاد می نمايند . صرفنظر از اين که چه نرم افزارهائی برای استفاده در شبکه انتخاب می گردد ، می بايست به دو نکته مهم در اين رابطه توجه گردد :
- آيا برنامه ايمن و مطمئن می باشد؟ اکثر برنامه ها در حال حاضر دارای نسخه هائی ايمن بوده و يا می توان آنان را به همراه يک سرويس دهنده Proxy به منظور کمک در جهت کاهش احتمال بکارگيری نادرست ، استفاده نمود.سرويس دهندگان Proxy ، يکی از عناصر اصلی و مهم در فايروال ها بوده و لازم است به نقش و جايگاه آنان بيشتر توجه گردد. حتی شرکت های بزرگ نيز در معرض تهديد و آسيب بوده و هر سازمان می بايست دارای کارشناسانی ماهر به منظور پيشگيری و برخورد با مشکلات امنيتی خاص در شبکه باشد .
- آيا يک برنامه با برنامه ديگر Overlap دارد؟ هر کاربر دارای نرم افزار مورد علاقه خود می باشد . برخی افراد يک واژه پرداز را دوست دارند و عده ای ديگر به واژه پردازه ديگری علاقه مند می باشند. در زمان استفاده از چنين نرم افزارهائی لازم است حتی المقدور سعی گردد از يک محصول خاص بمظور تامين خواسته تمامی کاربران ،استفاده گردد. فراموش نکنيم که پشتيبانی چندين برنامه که عمليات مشابه و يکسانی را انجام می دهند هم سرمايه های مالی را هدر خواهد داد و هم می تواند سردرگمی ، تلف شدن زمان و بروز مشکلات مختلف در جهت مديريت آنان توسط گروه مديريت و پشتيبان شبکه را به دنبال داشته باشد .
هر برنامه و يا سرويس جديدی را که قصد نصب و فعال شدن آن را در شبکه داشته باشيم ، می بايست در ابتدا بررسی و در ادامه متناسب با سياست ها و شرايط موجود ، پيکربندی نمود . برنامه های جديد می بايست منطبق بر اين حقيقت باشند که چرا به وجود آنان نياز می باشد؟ در صورتی که يک برنامه موجود می تواند به منظور تحقق اهداف خاصی استفاده گردد ، چرا به برنامه ای ديگر نياز می باشد ؟ آيا عدم کارائی برنامه قديمی بررسی و بر اساس نتايج به دست آمده به سراغ تهيه يک نرم افزار جديد می رويم ؟ همواره لازم است برنامه جديد بررسی تا اطمينان لازم در خصوص تامين خواسته ها توسط آن حاصل گردد.اين موضوع در رابطه با برنامه های قديمی نيز صدق خواهد کرد: آيا اين نوع برنامه ها بر روی شبکه جديد و يا شبکه موجود که قصد ارتقاء آن را داريم ، کار خواهند کرد؟
آيا استفاده از شبکه ، مانيتور می گردد؟ آيا به کاربران شبکه اجازه داده می شود که اکثر وقت خود را در طی روز به استفاده از اينترنت و يا ارسال و يا دريافت نامه های الکترونيکی شخصی ، صرف نمايند ؟ تعداد زيادی از سازمان ها و موسسات امکان استفاده از تلفن برای کاربردهای شخصی را با لحاط نمودن سياست های خاصی در اختيار کارکنان خود قرار می دهند. آيا در زمان تعريف آدرس الکترونيکی کاربران ، راهکاری مناسب در اين خصوص انتخاب و به آنان اعلام شده است ؟ آيا پيشگيری لازم به منظور دستيابی به سايت هائی که ارتباطی با عملکرد شغلی پرسنل ندارند ، پيش بينی شده است ؟
برای هر يک از لينک های شبکه به چه درجه ای از اطمينان نياز است ؟
از کار افتادن شبکه و غير فعال شدن سرويس های آن تا چه ميزان قابل قبول است ؟ شايد اکثر کاربران در پاسخ زمان صفر را مطرح نموده و تمايل دارند که شبکه تحت هر شرايطی فعال و در دسترس باشد . عناصر مهم در شبکه ، نظير سرويس دهندگان فايل دارای استعداد لازم برای پذيرش اشکالات و بروز خطاء می باشند . در سرويس دهندگان بزرگ ، از دو منبع تغذيه متفاوت که هر کدام به يک ups جداگانه متصل می گردند ، استفاده می شود و از فن آوری های Raid به منظور اطمينان از صحت ارائه اطلاعات در رابطه با حوادثی که ممکن است باعث از کار افتادن يک ديسک گردد ، استفاده می شود. در صورتی که دو بخش متفاوت يک سازمان از طريق يک خط ارتباطی ( لينک ) خاص با يکديگر مرتبط شده باشند و لازم است که همواره ارتباط بين آنان بصورت تمام وقت برقرار باشد، می بايست برنامه ريزی لازم در خصوص ايجاد چندين لينک بين دو سايت ، صورت پذيرد (لينک Backup ). در چنين مواردی ، می بايست هزينه تامين لينک اضافه نيز پيش بينی گردد. در صورتی که از چندين لينک برای ارتباط با سايت های راه دور استفاده می شود ، می توان از مسيرهای مختلفی بدين منظور استفاده نمود . بديهی است در صورت بروز اشکال در يکی از لينک های موجود، می توان از ساير مسير ها استفاده به عمل آورد . در اين رابطه لازم است به موارد زير نيز توجه گردد :
- علاوه بر در نظر گرفتن خطوط اختصاصی بين سايت ها ، استفاده از VPN)Virtual Private Networking) ، نيز روشی متداول به منظور اتصال به سايت های راه دور، می باشد . مهمترين مزيت روش فوق، ارزان بودن آن نسبت به يک لينک اختصاصی با توجه به استفاده از زيرساخت اينترنت برای مبادله داده است . کاربران موبايل می توانند با استفاده از يک VPN به شبکه سازمان خود دستيابی داشته باشند ( در زمان حرکت از يک نقطه به نقطه ای ديگر ) . در چنين مواردی لازم است سايت راه دور ( و نيز سايت اصلی ) ، از دو ISP استفاده نموده تا اگر يکی از آنان با مشکل روبرو گرديد ، امکان استفاده از اينترنت از طريق يک اتصال ديگر ، وجود داشته باشد .
- فن آوری ديگری که می توان از آن به منظور ارائه يک لايه اضافه به منظور در دسترس بودن شبکه استفاده نمود ، دستيابی با سرعت بالا به دستگاههای ذخيره سازی و شبکه ذخيره سازی ( SAN:Storage Area Network ) است . SAN ، شبکه ای است که از LAN جدا بوده و شامل صرفا” دستگاههای ذخيره سازی و سرويس دهندگان لازم برای دستيابی به دستگاه ها است . با توجه به اين که پهنای باند شبکه با کاربران شبکه محلی LAN به اشتراک گذاشته نمی شود ، چندين سرويس دهنده قادر به دستيابی محيط ذخيره سازی مشابه و يکسانی ، خواهند بود. ساير سرويس دهندگان می توانند بگونه ای پيکربندی گردند که امکان دستيابی به داده را فراهم نمايند . در اين رابطه می توان از RAID و يا برخی فن آوری های ديگر مرتبط با دستگاه های ذخيره سازی نيز استفاده نمود .