فصل اول:
مقدمه ای بر شبکه
استراتژی طراحی شبکه
استفاده از شبکه های کامپیوتری در چندین سال اخیر رشد و به موازات آن سازمان ها و موسسات متعددی اقدام به برپاسازی شبکه نموده اند. هر شبکه کامپیوتری می بایست با توجه به شرایط و سیاست های هر سازمان ، طراحی و در ادامه پیاده سازی گردد .شبکه ها ی کامپیوتری زیرساخت لازم برای استفاده از منابع فیزیکی و منطقی را در یک سازمان فراهم می نمایند . بدیهی است در صورتی که زیرساخت فوق به درستی طراحی نگردد، در زمان استفاده از شبکه با مشکلات متفاوتی برخورد نموده و می بایست هزینه های زیادی به منظور نگهداری و تطبیق آن با خواسته ها ی مورد نظر( جدید) ، صرف گردد ( اگر خوش شانس باشیم و مجبور نشویم که از اول همه چیز را مجددا" شروع نمائیم !) . یکی از علل اصلی در بروز اینچنین مشکلاتی ، به طراحی شبکه پس از پیاده سازی آن برمی گردد. ( در ابتدا شبکه را پیاده سازی می نمائیم و بعد سراغ طراحی می رویم ! ) .
برپاسازی هر شبکه کامپیوتری تابع مجموعه سیاست هائی است که با استناد به آنان در ابتدا طراحی منطقی شبکه و در ادامه طراحی فیزیکی ، انجام خواهد شد . پس از اتمام مراحل طراحی ، امکان پیاده سازی شبکه با توجه به استراتژی تدوین شده ، فراهم می گردد.
در زمان طراحی یک شبکه ، سوالات متعددی مطرح می گردد :
برای طراحی یک شبکه از کجا می بایست شروع کرد ؟
چه پارامترهائی را می بایست در نظر گرفت ؟
هدف از برپاسازی یک شبکه چیست ؟
انتطار کاربران از یک شبکه چیست ؟
آیا شبکه موجود ارتقاء می یابد و یا یک شبکه از ابتدا طراحی می گردد ؟
چه سرویس ها و خدماتی بر روی شبکه، ارائه خواهد شد ؟
و ...
سوالات فوق ، صرفا" نمونه هائی در این زمینه بوده که می بایست پاسخ آنان متناسب با واقعیت های موجود در هر سازمان ، مشخص گردد . ( یکی از اشکالات ما استفاده از پاسخ های ایستا در مواجهه با مسائل پویا است !) .
در این مقاله قصد داریم به بررسی پارامترهای لازم در خصوص تدوین یک استراتژی مشخص به منظور طراحی شبکه پرداخته تا از این طریق امکان طراحی منطقی ، طراحی فیزیکی و در نهایت پیاده سازی مطلوب یک شبکه کامپیوتری ، فراهم گردد .
مقدمه
قبل از طراحی فیزیکی شبکه ، می بایست در ابتدا و بر اساس یک فرآیند مشخص ، خواسته ها شناسائی و آنالیز گردند. چرا قصد ایجاد شبکه را داریم و این شبکه می بایست چه سرویس ها و خدماتی را ارائه نماید ؟ به چه منابعی نیار می باشد ؟ برای تامین سرویس ها و خدمات مورد نظر اکثریت کاربران ، چه اقداماتی می بایست انجام داد ؟ در ادامه می بایست به مواردی همچون پروتکل مورد نظر برای استفاده در شبکه ، سرعت شبکه و از همه مهم تر، مسائل امنیتی شبکه پرداخته گردد. هر یک از مسائل فوق ، تاثیر خاص خود را در طراحی منطقی یک شبکه به دنبال خواهند داشت .یکی دیگر از پارامترهائی که معمولا" از طرف مدیریت سازمان دنبال و به آن اهمیت داده می شود ، هزینه نهائی برپاسازی شبکه است . بنابراین لازم است در زمان طراحی منطقی شبکه به بودجه در نظر گرفته شده نیز توجه نمود .
در صورتی که قصد ایجاد یک شبکه و تهیه نرم افزارهای جدیدی وجود داشته باشد ، زمان زیادی صرف بررسی توانمندی نرم افزارها ، هزینه های مستقیم و غیر مستقیم آنان ( آموزش کاربران ، کارکنان شبکه و سایر موارد دیگر ) ، خواهد شد .در برخی موارد ممکن است تصمیم گرفته شود که از خرید نرم افزارهای جدید صرفنظر نموده و نرم افزارهای قدیمی را ارتقاء داد. تعداد زیادی از برنامه های کامپیوتری که با استفاده از زبانهائی نظیر : کوبال ، بیسیک و فرترن نوشته شده اند ، ممکن است دارای قابلیت های خاصی در محیط شبکه بوده که استفاده از آنان نیازمند بکارگیری پروتکل های قدیمی باشد. در چنین مواردی لازم است به چندین موضوع دیگر نیز توجه گردد :
هزینه ارتقاء هزاران خط کد نوشته شده قدیمی توسط نسخه های جدید و پیشرفته همان زبان های برنامه نویسی ، چه میزان است ؟
هزینه ارتقاء برنامه ها به یک زبان برنامه نویسی شی گراء چه میزان است ؟
آیا به منظور صرفه جوئی در هزینه ها ، می توان بخش های خاصی از شبکه را ارتقاء و از سخت افزارها و یا نرم افزارهای خاصی برای ارتباط با عناصر قدیمی شبکه استفاده نمود؟
با توجه به هزینه و زمان ارتقاء برنامه های نوشته شده قدیمی توسط زبان های جدید برنامه نویسی ، ممکن است تصمیم گرفته شود که فعلا" و تا زمانی که نرم افزارهای جدید نوشته و جایگزین گردند از نرم افزارهای موجود حمایت و پشتیبانی شود. در این رابطه ممکن است بتوان از یک بسته نرم افراری به عنوان گزینه ای جایگزین در ارتباط با برنامه های قدیمی نیز استفاده نمود. در صورتی که می توان با اعمال تغییراتی اندک و ترجمه کد منبع برنامه ، امکان اجرای برنامه را بر روی یک سیستم عامل جدید فراهم نمود ، قطعا" هزینه مورد نظر بمراتب کمتر از حالتی است که برنامه از ابتدا و متناسب با خواسته های جدید ، بازنویسی گردد. یکی دیگر از مسائلی که می بایست در زمان ارتقاء یک برنامه جدید مورد توجه قرار گیرد ، آموزش کاربرانی است که از نرم افزار فوق استفاده می نمایند .
برنامه ریزی برای طراحی منطقی شبکه
برای طراحی منطقی شبکه ، می توان از یک و یا دونقطه کار خود را شروع کرد: طراحی و نصب یک شبکه جدید و یا ارتقاء شبکه موجود. در هر دو حالت ، می بایست اطلاعات مورد نیاز در خصوص چندین عامل اساسی و مهم را قبل از طراحی منطقی شبکه ، جمع آوری نمود. مثلا" با توجه به سرویس ها و خدماتی که قصد ارائه آنان به سرویس گیرندگان شبکه را داریم ، می بایست به بررسی و آنالیز الگوهای ترافیک در شبکه پرداخته گردد . شناسائی نقاط حساس و بحرانی (در حد امکان ) ، کاهش ترافیک موجود با ارائه مسیرهای متعدد به منابع و تامین سرویس دهندگان متعددی که مسئولیت پاسخگوئی به داده های مهم با هدف تامین 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 و یا برخی فن آوری های دیگر مرتبط با دستگاه های ذخیره سازی نیز استفاده نمود .
انتخاب پروتکل برای شبکه
TCP/IP ، متداولترین پروتکل در شبکه های کامپیوتری است. در این رابطه پروتکل های دیگری نیز وجود داشته که هر کدام دارای جایگاه خاص خود می باشند . مثلا" در سیستم عامل شبکه ای " نت ور " ، از پروتکل IPX/SPX استفاده می شود. در نسخه های جدید سیستم عامل "نت ور" ( نسخه های پنج به بعد ) ، امکان استفاده از پروتکل TCP/IP وجود خواهد داشت . در صورتی که قصد ارتقاء شبکه هائی را داشته باشیم که در آنان از سیستم عامل شبکه ای "نت ور " ، استفاده می گردد ، استفاده از پروتکل IPX/SPX به برنامه های موجود در شبکه و ضرورت استفاده از آنان در شبکه جدید بستگی خواهد داشت .در چنین مواردی شبکه جدید می بایست امکان استفاده از پروتکل IPX/SPX را فراهم نماید.
در صورتی که قصد اتصال به اینترنت را داشته باشیم ، استفاده از پروتکل TCP/IP یک ضرورت می باشد . حتی در صورتی که ضرورت استفاده از اینترنت وجود نداشته باشد ، استفاده از پروتکل TCP/IP گزینه ای معقول و منطقی است ، چراکه اکثر برنامه ها از پروتکل فوق استفاده نموده و در این رابطه می توان از خدمات متخصصان و کارشناسان متعددی به منظور نگهداری و پشتیبانی شبکه های مبتنی بر پروتکل TCP/IP ، استفاده کرد.
علاوه بر ضرورت استفاده از پروتکل های لایه حمل ( نظیر TCP/IP و یا IPX/SPX ) ، می بایست به پروتکل های Application که قصد استفاده از آنان را در شبکه داریم ، نیز توجه نمود. مثلا" به منظور تسهیل در مدیریت پیکربندی اطلاعات ( نظیر اختصاص پویای آدرس های IP به سرویس گیرندگان ) برای تعداد زیادی از کامپیوترها ، می توان از پروتکل Dynamic Host Configuration Protocol ) DHCP) ، استفاده نمود. در صورتی که قصد ایجاد یک مرکز متمرکز به منظور ارائه سرویس لازم برای "معادل سازی نام به آدرس " در یک شبکه را داشته باشیم ، می توان از Domain Name Service )DNS) ، استفاده نمود . در صورتی که برخی از سرویس گیرندگان در شبکه از نسخه هائی قبل از ویندوز 2000 و یا XP استفاده می نمایند ، می بایست به منظور سازگاری با نسخه های قبلی از Windows Internet Naming Service) WINS) ، استفاده گردد.