مقدمه ای بر منطق فازی Fuzzy Logic


مقدمه ای بر منطق فازی Fuzzy Logic


مقدمه ای بر منطق فازی Fuzzy Logic

مفاهیم
نادقیق بسیاری در پیرامون ما وجود دارند که آنها را به صورت روزمره در
قالب عبارتهای مختلف بیان می کنیم . به این جمله دقت کنید: ” هوا خوب
است.” هیچ کمیتی برای خوب بودن هوا مطرح نیست تا آن را اندازه بگیریم بلکه
این یک حس کیفی است. در واقع مغز انسان با در نظر گرفتن فاکتور های مختلف
و بر اساس تفکر استنتاجی جملات را تعریف و ارزش گذاری می نماید که مدل
سازی آنها به زبان و فرمولهای ریاضی اگر غیر ممکن نباشد کاری بسیار پیچیده
خواهد بود.منطق فازی تکنولوژی جدیدی است که شیوه هایی را که بر ای طراحی و
مدل سازی یک سیستم نیازمند ریاضیات پیچیده و پیشرفته است، با استفاده از
مقادیر زبانی و دانش فرد خبره جایگزین می سازد.
منطق فازی:
اگر از ما پرسیده شود منطق فازی چیست شاید ساده ترین پاسخ بر اساس شنیده
ها این باشد که Fuzzy Logic یا Fuzzy Theory یک نوع منطق است که روش های
نتیجه گیری در مغز بشر را جایگزین می کند.مفهوم منطق فازی توسط دکتر لطفی
زاده ، پروفسور دانشگاه کالیفورنیا در برکلی، ارائه گردید و نه تنهابه
عنوان متدولوژی کنترل ارائه شد بلکه راهی برای پردازش داده ها، بر مبنای
مجاز کردن عضویت گروهی کوچک به جای عضویت گروهی دسته ای ارائه کرد.به جهت
نارسا ونا بسنده بودن قابلیت کامپیوتر های ابتدایی تا دهه ۷۰ این تئوری در
سیستم های کنترلی به کار برده نشد.
پروفسور لطفی زاده اینطور
استدلال کرد که بشر به ورودیهای اطلاعاتی دقیق نیازی ندارد بلکه قادر است
تا کنترل تطبیقی را به صورت بالایی انجام دهد.پس اگر ماکنترل کننده های
فیدبک را در سیستم ها طوری طراحی کنیم که بتواند داده های مبهم را دریافت
کند، این داده ها میتوانند به طور ساده تر و موثرتری در اجرا به کار برده
شوند.
باین تعاریف منطق فازی دارای این قدرت است که در تنظیم سیستم
ها از میکرو کنترلهای ساده وکوچک و جاسازی شده گرفته تا PC های چند کاناله
شبکه شده بزرگ یاسیستم های کنترلی به کار برده شود.این منطق دارای قدرت
اجرایی در سخت افزار ،نرم افزار یا ترکیبی از هر دوی اینهاست.در واقع منطق
فازی راه ساده ای را برای رسیدن به یک نتیجه قطعی و معین بر پایه اطلاعات
ورودی ناقص ، خطا دار، مبهم ودوپهلو فراهم میکند.منطق فازی یک قانون ساده
بر مبنای ” IF x And y THEN z ” را بیان میکند.
به عنوان مثال به جای برخورد با اصطلاحاتی نظیر

“SP=500F” ،”۲۱۰<TEMP<220″ ،”T<1000F”

اصطلاحاتی نظیر

“IF (process is too cool) AND (process is getting colder) THEN

Or

“IF (process is too hot) AND (process is heating rapidly) THEN
به کار برده شود.
درست مثل
کاری که در هنگام دوش گرفتن انجام می دهیم: در صورتی که آب خیلی سرد یا
خیلی گرم باشد بدون اینکه از درجه دقیق آب اطلاعی داشته باشیم تنها بر
اساس پردازش انجام شده در مغز به کمک دریافت دمای هوا از طریق حسگرهای
پوست با کمی سختی کشیدن آب را به سرعت به دمای دلخواه در می آوریم یا آنکه
میتوانیم در یک اتاق به اشیاءگوناگونی نگاه کنیم وتصمیم بگیریم کدامیک
بیشتر شبیه صندلی است ویا به مردم نگاه کنیم و بگوییم کدامیک شبیهJohn
Wayne ویا کدامیک بیشتر شبیه گاندی است.منطق فازی قادر به تقلید اینگونه
رفتارها اما با سرعت بسیار بالایی است.از طرفی باید به این نکته هم توجه
کنیم که تمامی سیستم های طبقه بندی ساخته ذهن انسان هستند و برچسب درست تا
زمانی به یک سیستم طبقه بندی نسبت داده میشود که سیستم کنترلی دیگر آن را
رد نکند مثلا در تئوری نسبیت دیگر درست نیست بگوییم زمین دور خورشید
میگردد پس خورشید هم دور زمین می گردد! یا به عنوان مثال دیگر، کشف موجودی
عجیب در استرالیا که پلاتی پوس نامیده می شودو بر خلاف پستانداران دیگر
همانند خزندگان تخم میگذارد و جوجه های جوان را شیر می دهد! با این تعاریف
می توان گفت که منطق فازی یک تکنولوژی کنترلی بسیار قدرتمند است که به جای
ساختن یک حصار در اطراف یک طبقه بندی سعی دارد آن را به گونه ای توصیف کند
که به ایده نزدیک تر است.

متغیر های زبان شناختی :
در
زندگی روزمره ،کلماتی را به کار می بریم که اغلب برای توصیف متغییر ها
استفاده می شوند. به عنوان مثال هنگامیکه می گوییم ” امروز سرد است ” یا
“دمای هوا امروز پایین است ” از واژه ” پایین ” برای توصیف ” دمای هوای
امروز ” استفاده کرده ایم به این معنی که متغیر دمای هوای امروز واژه
“پایین” را به عنوان مقدار خود پذیرفته است.واضح است که متغیر ” دمای هوای
امروز ” میتواند مقادیری نظیر˚۳،˚۱۰-،˚۸-،˚۲۴و… را اختیار کند.هنگامیکه
یک متغیر ، اعداد را به عنوان مقدار بپذیرد ما یک چهارچوب ریاضی مشخص برای
فرموله کردن آن داریم اما هنگامیکه متغیر واژه ها را به عنوان مقدار
میگیرد در آن صورت چهارچوب مشخص برای فرموله کردن آن درتئوری ریاضیات
کلاسیک نداریم. در واقع در سیستم های عملی اطلاعات مهم از دو منبع سرچشمه
می گیرند : یکی از منابع افراد خبره که دانش و آگاهیشان را دردر مورد
سیستم با زبان طبیعی تعریف میکنند و منبع دیگر اندازه گیری ها و مدل های
ریاضی هستند که از قواعد فیزیکی مشتق شده اند .بنابر این یک مساله مهم
ترکیب این دو نوع اطلاعات در طراحی سیستم هاست. برای انجام این ترکیب سوال
کلیدی این است که چگونه می توانیم دانش بشری را به یک فرمول ریاضی تبدیل
کنیم ؟
برای اینکه چنین چهارچوبی به دست آوریم مفهوم متغیر های
زبانی تعریف شده است. در صحبت های عامیانه اگر یک متغیر بتواند واژه هایی
از زبان طبیعی را به عنوان مقدار بپذیرد یک متغیر زبان شناختی نامیده
میشود. برای فرموله کردن واژه ها در گزاره های ریاضی از مجموعه های فازی
برای مشخص کردن واژه ها استفاده میکنیم و تعریف میکنیم: ” اگر یک متغیر
بتواند واژه هایی از زبان طبیعی را به عنوان مقدار خود بپذیرد آنگاه متغیر
زبان شناختی نامیده میشود که واژه ها بوسیله مجموعه های فازی در محدوده ای
که متغیر ها تعریف شده اند مشخص می گردد . ” پروفسور لطفی زاده در سال
۱۹۷۳ مفهوم زبان شناختی یا متغیر های فازی را ارائه داد .در واقع یکی از
ویژگی های منطق فازی در استفاده از ساختار قانون پایه منطق فازی است که در
طی آن مسائل کنترلی به یک سری قوانین IF x And Y THEN z تبدیل میشوند که
پاسخ گوی خروجی مطلوب سیستم برای شرایط ورودی داده شده به سیستم می باشد.
این قوانین ساده و آشکار برای توصیف پاسخ دهی مطلوب سیستم با اصطلاحاتی از
متغییر های زبان شناختی به جای فرمول های ریاضی استفاده می شوند.
نکته جالب اینجاست که اگرچه سیستم های فازی پدیده های غیر قطعی و نامشخص
را توصیف می کند با این حال تئوری فازی یک تئوری دقیق می باشد.

اجزای ابتدایی و اصول اولیه تئوری مجموعه فازی :
در قسمتFuzzier یا مبدل فازی ، متغییر های با مقادیر حقیقی به یک مجموعه
فازی تبدیل شده از طریق ماشین رابط فازی و قوانین پایه نتایج به قسمت غیر
فازی ساز یا Defuzzier منتقل شده که یک مجموعه فازی را به یک متغیر با
مقدار حقیقی تبدیل می کند.به بیان دیگر اطلاعات ورودی اغلب مقادیری پیچیده
اند واین اعدادبه مجموعه های فازی تبدیل می گردند.مدل ها بر اساس منطق
فازی شامل قوانین اگر ،آنگاه تفسیر می گردند. حقیقت آن است که بعد از
عبارت اگریک منطق مقدم بیان می گردد و بر اساس آن ما حقیقت دیگر را مورد
بررسی قرار می دهیم که بعد ا زآنگاه می ایدو در آن نتیجه کار توضیح داده
می شود.در واقع منطق فازی تجربه و دانش انسانی را به صورت ترکیبی از اعداد
در مقابل وی قرار می دهد و او را قادر می سازد تا تصمیمی بر اساس ریاضیات
و منطق بگیرد.

مفاهيم رمزنگاری به زبان ساده Cryptography


مفاهيم رمزنگاری به زبان ساده Cryptography


مفاهيم رمزنگاری به زبان ساده Cryptography

اشاره :
احتمالا بارها از رمز و رمزنگاری یا کلماتی مانند Encrypt یا Decrypt
شنیده‌اید. در این مقاله بدون اینکه وارد مباحث پیچیده امنیت و
الگوریتم‌های رمزنگاری ( Encryption ) شویم ، به زبان ساده با برخی از این
مفاهیم آشنا خواهیم شد. هرچه از عمر علم کامپیوتر می‌گذرد رشد چشم گیرتری
در ابعاد مختلف این علم دیده می شود. اما چه بخواهبم و چه نخواهیم باید
قبول کرد که استفاده مخرب از آن نیز رشد بسیاری داشته است و روزانه حملات
بسیاری به اطلاعات و شبکه‌های کامپیوتری می‌شود. این در حالی است که
مدت‌هاست کارشناسان همراه با شاخه‌های متنوع علم کامپیوتر به بحث امنیت و
رمزگذاری پرداخته و در این راستا پیشرفت‌هایی نیز حاصل شده است. علم
رمزنگاری و Cryptography یکی از رشته‌هایی است که انسان از سال‌های بسیار
دور به آن توجه داشته است. در ادامه ، با این علم بصورت جزئی‌تر آشنا
می‌شوید.

تاریخچه رمزنگاری یا Cryptography
Cryptography یا رمزنگاری جزو پایه‌‌ای ترین علوم در کار کامپیوتر محسوب
می‌شود زیرا هر جا احتیاج به انتقال ( و یا بایگانی ) اطلاعاتی است که
ارزشمند هستند این بحث مطرح می‌شود، که آیا این اطلاعات را می‌توان دور از
دسترس دیگران نگاه داشت یا نه؟ ( در اینجا بحث کانال ایده‌آل مطرح می‌شود.
برای روشن شدن موضوع ، در شکل زیر فرض کنید که S می‌خواهد پیغام خود را به
R بفرستد به گونه‌ای که A متوجه نشود.)

احتمالا
بارها از رمز و رمزنگاری یا کلماتی مانند Encrypt یا Decrypt شنیده‌اید.
در این مقاله بدون اینکه وارد مباحث پیچیده امنیت و الگوریتم‌های رمزنگاری
( Encryption ) شویم ، به زبان ساده با برخی از این مفاهیم آشنا خواهیم
شد. هرچه از عمر علم کامپیوتر می‌گذرد رشد چشم گیرتری در ابعاد مختلف این
علم دیده می شود. اما چه بخواهبم و چه نخواهیم باید قبول کرد که استفاده
مخرب از آن نیز رشد بسیاری داشته است و روزانه حملات بسیاری به اطلاعات و
شبکه‌های کامپیوتری می‌شود. این در حالی است که مدت‌هاست کارشناسان همراه
با شاخه‌های متنوع علم کامپیوتر به بحث امنیت و رمزگذاری پرداخته و در این
راستا پیشرفت‌هایی نیز حاصل شده است. علم رمزنگاری و Cryptography یکی از
رشته‌هایی است که انسان از سال‌های بسیار دور به آن توجه داشته است. در
ادامه ، با این علم بصورت جزئی‌تر آشنا می‌شوید. Cryptography یا رمزنگاری
جزو پایه‌‌ای ترین علوم در کار کامپیوتر محسوب می‌شود زیرا هر جا احتیاج
به انتقال ( و یا بایگانی ) اطلاعاتی است که ارزشمند هستند این بحث مطرح
می‌شود، که آیا این اطلاعات را می‌توان دور از دسترس دیگران نگاه داشت یا
نه؟ ( در اینجا بحث کانال ایده‌آل مطرح می‌شود. برای روشن شدن موضوع ، در
شکل زیر فرض کنید که S می‌خواهد پیغام خود را به R بفرستد به گونه‌ای که A
متوجه نشود.)


مشخص است که
این علم چه کاربرد وسیعی در کاربردهای نظامی ‌خواهد داشت و از عوامل اصلی
پدید آمدن این علم همین کاربردهای نظامی بوده است. از زمینه‌های دیگر
کاربرد این علم می‌توان به مسایل دیپلماتیک بین کشورها و یا احزاب مختلف و
یا … اشاره کرد.
Cryptography از یک لغت یونانی گرفته شده است که
به معنای نوشتن به صورت پنهانی است. این علم تاریخچه‌ مفصلی دارد که ذکر
برخی از موارد تاریخی آن خالی از لطف نیست .
جولیوس سزار در مصر از
یک سیستم رمزنگاری استفاده می‌کرده که هنوز هم به نام او یعنی
Caesar’sCipher شناخته می‌شود. در این روش به این صورت عمل می‌شده است که
حروف الفبا را به صورت دورانی ۳ تا شیفت می‌دادند. برای مثال الف به ت
تبدیل می‌شود ( اگر به آخر الفبا رسیدیم دوباره از اولین حرف الفبا شروع
می‌کنیم.) مثلا فرض کنید بخواهیم جمله‌ی اول را رمز کنیم:

pick up supplies at location x

که به این صورت در می آید:

slfn xt vxttolhv dw orfdwlrq a

همان طور که
مشاهده می‌شود جمله دوم برای انسان در حالت عادی قابل درک نیست هر چند این
روش خیلی ساده و ابتدایی است ولی مثال جالبی از کاربرد این علم در چند صد
سال پیش است.
یا در طول جنگ جهانی دوم آمریکایی ها برای آنکه از
شکسته شدن رمزهایشان توسط ژاپنی ها جلوگیری کنند مجبور به استفاده از
Navajo شدند.
Navajo یک زبان محلی مربوط به بومیان هندی که در شمال
New Mexico سکونت داشتند، می باشد و تعداد زیادی از افرادی كه به این زبان
صحبت می كردند و در جنگ به آمریکایی ها کمک کردند نشان های عالی نظامی
گرفتند.
یکی از زیر شاخه های Cryptography علمی، به نام
Steganography است که به معنای پنهان کردن اطلاعات در یک عکس یا یک موسیقی
و … است.
از سابقه تاریخی این علم ، به نوشتن اطلاعات توسط آب
لیمو یا آب پرتقال روی کاغذ که توسط حرارت آشکار می‌شود می‌توان اشاره کرد
که سابقه چند هزار ساله دارد.
از دیگر موارد تاریخی می‌توان به این
موضوع اشاره کرد که یونانی ها برای فرستادن پیام‌های بسیار دور که باید
مخفی می‌ماند به این صورت عمل می‌کردند که فردی را که قرار بود با اسب
پیغام را ببرد کچل می‌کردند و پیغام را با جوهر روی سر او می‌نوشتند و او
را راهی می‌کردند تا این فرد به مقصد برسد وی در حدود ۶ ماه تا یک سال در
راه بود و در چند ۱۰ روز اول موی او رشد می‌کرد و به مقصد که می‌رسید موی
او را دوباره می‌تراشیدند!

برخی اصطلاحات
در
لیست زیر باتوجه به ارتباط مستقیم علم رمزنگاری یا همان Cryptography به
برخی از اصطلاحات که در بحث امنیت شبكه و كامپیوتر وجود دارند اشاره شده
است، که تنها تعدادی از آنها در ادامه مقاله بررسی می‌شوند.

Encryption:
در علم cryptography به پنهان سازی اطلاعات گفته می‌شود.
Decryption :
معکوس encryption است و در crypto به آشکار سازی اطلاعات پنهان شده گفته می‌شود.
Plain text :
به متنی گفته می‌شود که معنای آن بدون تغییر خاصی قابل درک است.
Cipher :
به روشی برای تبدیل plain text به متنی که معنای آن پنهان باشد cipher گفته می‌شود.
Cryptanalysis :
به هنر شکستن متون cipher شده گفته می‌شود.
Intruder :
در لغت به معنای مزاحم است ولی در اینجا به معنای کسی است که یک كپی از
cipher text دارد و تمایل به شکستن رمز دارد. منظور از شکستن رمز یعنی
decrypt کردن آن متن که خود دو نوع است activeintruder که می‌تواند
اطلاعات را روی خط عوض کند و تغییر دهد و passive intruder که فقط
می‌تواند اطلاعات روی خط را داشته باشد و قابلیت تغییر آنها را ندارد.
Protocol :
به روش و یا قرار دادی که بین دو یا چند نفر برای تبادل اطلاعات گذاشته می‌شود گفته می‌شود.
Intrusion Points :
نقاطی که یک نفوذگر بتواند به اطلاعات با ارزش دست پیدا کند.
Internal Access Point :
به سیستم‌هایی گویند که در اتاق یا در شبکه داخلی مستقرند و هیچ امنیتی (‌
LocalSecurity ) روی آنها تنظیم نشده باشد و احتمال حمله به آنها وجود
دارد.
External Access Point :
تجهیزاتی که ما
را به شبکه خارجی مانند اینترنت متصل می‌کنند یا Applicationهایی که از
طریق اینترنت کار می‌کنند و احتمال حمله به آنها وجود دارد.
Attack :
هر چیزی که مکانیزم امنیت سیستم شما را دور زده و باعث تخریب گردد را حمله یا Attack گویند.
از انواع حمله می‌توان به موارد زیر اشاره کرد:
ـ DoS
ـ DDoS
ـ Spoofing (‌ مانند MAC Spoofing ، IP Spoofing و Web Spoofing )
ـ‌ Man-in-the-Middle
ـ Password Guessing
Key :
به
اطلاعاتی گفته می‌شود که با استفاده از آن بتوان cipher text (متنی که
cipher شده) را به plain text تبدیل کرد.( یا برعكس ) به عبارت ساده یک
متن رمز شده توسط یک Key با الگوریتم مناسب ، به متن ساده تبدیل می‌شود.

بحث هش ( Hash Algorithm )
روش
Hash یک روش یکطرفه ( One Way Function ) است كه برای مطمئن بودن از عدم
تغییر data استفاده می شود. (حفظ تمامیت یا Integrity) در این روش از فایل
یک واحدی از دیتا ایجاد می‌کند که فایل هش ( Hash File ) نام دارد و حجم
كوچكی دارد (در حد چند ۱۰ بایت) و در صورتیکه فایل تغییر کند Hash آن نیز
تغییر می‌کند. در این روش هم در مبدا و هم در مقصد ، از فایلی که قرار است
منتقل شود Hash گرفته می‌شود که باید Hash مبدا و مقصد با هم برابر باشد.
اگر در طول مسیر انتقال فایل به هر دلیلی فایل تغییر کند Hash مبدا و مقصد
یکی نخواهد شد. الگوریتم Hash خود روش‌های گوناگونی دارد که عبارتند از:
روش MD4
روش MD5
روش SHA-A

انواع keyهایی که در Encryption استفاده می شوند:.
دو مدل و الگوریتم برای کلید وجود دارد:
ـ الگوریتم متقارن یا Symmetric Algorithm
ـ الگوریتم نامتقارن یا AsymmetricAlgorithm
الگوریتم متقارن (Symmetric Algorithm )

در روش Symmetric Key Cryptography یک کلید برای encrypt و decrypt کردن
Cipher Text وجود دارد که به آن کلید معمولا secret key گفته می‌شود به
همین دلیل symmetric ( متقارن ) نامیده می‌شود.
متن یا فایلی که با
یک کلید و الگوریتم در مبدا ، رمز (encrypt) می‌شود با همان کلید و همان
الگوریتم در مقصد باز می‌شود. به عبارت دیگر دری که قفل شد فقط با همان
کلید باز می‌شود.
در این روش کلید باید بین فرستنده و گیرنده secret
نگاه داشته شود زیرا که با داشتن کلید به راحتی می‌توان Cipher Text را
Decrypt کرد.

الگوریتم‌های این روش عبارتند از:
DES
3DES
AES
IDEA
Blow Fish
RC4

این روش معمولا از روش نامتقارن کم هزینه‌تر است و سریع تر انجام می‌شود و
معمولا کلیدها خیلی بزرگ هستند و الگوریتم‌های آن چند هزار سال است که در
حال بهبودند و به خوبی شناخته شده هستند. مساله اصلی در این نوع
cryptography آن است که چگونه کلیدی را برای ارتباط به طرف مقابل یعنی
مقصد اعلام کرد (چون خط انتقال ممکن است secure نباشد).
یکی از ساده
ترین الگوریتم‌هایی که در روش متقارن استفاده می‌شود XOR کردن معمولی
Plain Text با کلید مورد نظر است که اگر دوباره Cipher Text را با کلید
مورد نظر XOR کنیم PlainText به دست می‌آید و این به دلیل خواص XOR است.
جالب است بدانید که نسخه های اولیه Yahoo Messenger برای ذخیره کردن
Password ها روی ماشین ، آن را با User Name شما XOR کرده و در registry
قرار می‌داد.



شکل بالا نحوه‌ کار کلید متقارن را نشان می‌دهد که در هر دو مرحله Encryption و Decryption از یک کلید K استفاده شده است.

الگوریتم نامتقارن (Asymmetric Algorithm )
در روش نامتقارن ، از دو کلید، یکی برای Encrypt کردن و دیگری برای
Decrypt کردن استفاده می‌شود. این دو کلید، Public Key و Private Key نام
دارند.
از پیدایش روش نامتقارن عمر زیادی نمی‌گذرد. یکی از زیر
شاخه‌های اصلی این نوع رمزنگاریPublic Key Cryptography است که امروزه
کاربرد وسیعی یافته است که در سال ۱۹۷۶ توسط Whitfield Diffie و Martin
Hellman به عنوان روشیی برای تبادل کلید روی خط غیر secure برای Symmetric
Key Cryptography مطرح شد (به عنوان مثال الگوریتم DH.).
در
الگوریتم DH ، یک جفت کلید به نام های Public Key و Private Key وجود
دارند و پیغامی که توسط Public Key رمز شود تنها توسط Privet Key قابل
Decrypt کردن است. بنابراین اگر شما Public Key مرا داشته باشید و پیغامی
را توسط آن رمز کنید و برای من بفرستید می‌توانید اطمینان داشته باشید که
فقط من می‌توانم این اطلاعات را Decrypt کنم. این مطلب از یک جهت دیگر نیز
جالب است و آن این است که اگر شما بتوانید یک پیغام را با Public Key
مربوط به من Decrypt کنید می‌توانید اطمینان داشته باشید که این پیغام با
Private Key من Encrypt شده است. زیرا فرض بر آن است که هیچ کسی نمی‌تواند
Private Key من را داشته باشد. (و این روش باعث می شود كه عدم انكار پذیری
ایجاد شود یعنی من نتوانم منكر فرستادن این پیغام شوم.)
ولی Public
Key من را ممکن است هر کسی داشته باشد. بنا براین اگر من بخواهم پیغامی را
به شما بفرستم از Public Key شما استفاده می‌کنم. معمولا الگوریتم های
مربوط به کلید نامتقارن کندتر هستند ولی در عوض اطمینان بیشتری را برای ما
از جهت secure ماندن اطلاعات فراهم می‌کنند.

برخی الگوریتم‌های روش نامتقارن عبارتند از:
«»‌ Elliptic Curve Cryptography
«» RSA
«» BlindSignatures
«»‌ Diffie-Hellman ( الگوریتم DH )
«» Elgamal Discrete logCryptosystem
«» Zero-knowledge Proofs

حال می‌توان از یک روش ترکیبی که توضیح داده شد استفاده کنیم یعنی آنکه ما
از یک روش symmetric keycryptography برای تبادل اطلاعات استفاده کنیم ولی
کلید را به وسیله‌ی روش asymmetric key cryptography روی خط منتقل کنیم تا
سرعت کار نیز مناسب تر باشد.
مثال کاربردی از این بحث ، می‌توان به
(SSL ( Secure Socket Layer اشاره کرد ( احتمالا در Browser Internet ها
به آن توجه کرده اید) که در سال ۱۹۹۵ توسط Netscape Communications Corp
ارایه شد و از الگوریتم های مختلفی مثل RSA و DES و ۳DES برای انتقال
اطلاعات محرمانه مثل Password ها یا Credit Card Information ها در
اینترنت استفاده می‌کند ومعمولا بین client و server برای Authentication
استفاده می‌شود. ( به شکل زیردقت کنید. )


Public key Cryptography اولین بار در DOS استفاده شد
که الگوریتم آن در سال ۱۹۹۱ توسط Phil Zimmerman ارائه داده و به عنوان
(PGP ( Pretty Good Privacy به کار گرفته شد. در سال ۱۹۹۴ PGP به صورت
multiple platform در آمد و در UNIX و Amiga هم به کار رفت.

برخی سایت‌ها و منابعی که برای اطلاع بیشتر می‌توانید به آنها مراجعه کنید:
• سایت: www.all.net/books/ip/Chap2-1.html
یک سایت بسیار جالب که حاوی تاریخچه مفصلی در مورد رمزنگاری است.

• کتاب Computer Networks , Fourth Edition -Andrew S. Tanenbaum
که فصل هشتم آن توضیحات کاملی در مورد Cryptography و کاربرد آن در علوم امروزی امنیت شبکه دارد.

• سایت:www.usenix.org
یک منبع مناسب که به صورت اسلاید به اسلاید مطالب را مطرح کرده است.

• سایت: www.cs.wisc.edu/~koconnor/applets/index.html :
تعدادی java applet که انواع مختلف Cryptography های متداول را به صورت interactive پوشش داده است.

• سایت: www.pgp.com
توضیحاتی در مورد pretty good privacy و همچنین نرم افزار تجاری آن.

• سایت: www.cryptographyworld.com/index.htm
یک دایره المعارف در مورد الگوریتم های مختلف encryption و دلایل استفاده از آن و …

• سایت: stats.distributed.net/projects.php?project_id=5
یک پروژه‌ی توزیع شده روی کامپیوترهای داوطلب در سطح اینترنت برای شکستن
رمز یک متن که توسط یکی از بهترین الگوریتم‌های نامتقارن به اسم RC5-64
رمز شده است.
منبع : ماهنامه رايانه خبر

Data Center مرکز داده چیست


Data Center مرکز داده چیست


Data Center مرکز داده چیست

مشاهده موضوع قبلي مشاهده موضوع بعدي اذهب الى الأسفل

پست  Admin في الخميس ديسمبر ۱۷, ۲۰۰۹ ۷:۵۲ am


● مرکز داده :
مرکز داده مکانی است که سیستم های کامپیوتری و تجهیزات جانبی مربوط به
آن‌ها مانند سیستم های ذخیره سازی و ارتباطی را در خود جای می‌دهد. مرکز
داده می‌تواند اتاقی از یک ساختمان، طبقه ای از آن و یا کل ساختمان باشد.
این مرکز معمولا شامل سیستم‌های پشتیبان برق و یا تجهیزات اضافی است که در
صورت خرابی سیستم اصلی به عنوان پشتیبان مورد استفاده قرار می‌گیرند و
همچنین شامل کنترل کننده‌های محیطی مانند دستگاه های تهویه هوا و سیستم
های آتش نشانی و ابزارهای کنترل دسترسی است.
● ساختار مرکز داده:
مراکز داده، به صورت کلی می‌توانند شامل قسمت‌های زیر باشند. این قسمت‌ها، بسته به دسته بندی مراکز داده می‌‌توانند متغییر باشند:
۱) ساختار فیزیکی مرکز داده:
– سیستم‌های توزیع و کنترل برق
– سیستم‌های تهویه هوا و کنترل رطوبت
– سیستم‌های آتش‌نشانی
– سیستم‌های کنترل دسترسی فیزیکی
– سیستم‌های پشتیبان افزونه N+۱
۲) ساختار شبکه‌ایی مرکز داده:
– تجهیزات شبکه مانند سوییچ ها، مسیریاب ها
– تجهیزات امنیتی مانند دیواره‌های آتش، IDS ها و IPS ها، ضدویروس‌ها و سایر سامانه‌های امنیت شبکه
– سیستم‌های مدیریتی و پایش شبکه
– سرورها و برنامه‌های مورد نیاز آن‌ها
– تجهیزات غیرفعال شبکه
۳) برنامه‌های کاربردی:
– سیستم‌های امنیت اطلاعات و حفظ امنیت نرم افزار
– سیستم‌های مدیریت سیستم‌های عامل، بانک های اطلاعاتی
– سیستم‌های یکپارچه سازی اطلاعات
– پایگاه‌های داده، فایل سرورها و برنامه‌های مربوط به داده‌های عملیاتی
– سیستم‌های ذخیره‌سازی و بازیابی اطلاعات
● ویژگی ها:
معماری مرکز داده باید به‌گونه‌ا‌‌ی باشد که در آن اعمال تغییرات به صورت
پویا امکان‌پذیر باشد. پنج عامل مهم در طراحی مرکز داده عبارت است از:
– سادگی
– قابلیت انعطاف
– مقیاس پذیری
– مادولار بودن
– منطقی بودن
● استانداردهای مرکز داده
در آوریل ۲۰۰۵، TIA استاندارد TIA-۹۴۲‌ را برای مرکز داده منتشر کرد. این استاندارد مطالب زیر را پوشش می‌دهد:
۱) فضای سایت و ترکیب بندی آن
فضای اختصاص یافته به مرکز داده باید به گونه‌ای باشد که این فضا به سادگی
قابل توسعه بوده و اعمال تغییرات محیطی در آن به سادگی امکان پذیر باشد.
طراح باید بین هزینه‌های ترکیب‌بندی آغازی وپیش بینی فضای مورد نیاز آتی
تعادل برقرار کند.
در مرکز داده باید “فضای خالی” در نظر گرفت به گونه
ای که این فضای خالی بتواند رک ها و کابینت های مورد نیاز آتی را در خود
جای دهد. فضای اطراف مرکز داده نیز باید به درستی برای توسعه و الحاقات
آتی طراحی شود.
بخش عمده‌ی این استاندارد به مشخصات فنی مرکز داده
مربوط می‌شود. این استاندارد محیط‌های عملیاتی خاصی را در راستای کمک به
تعیین مکان تجهیزات براساس طراحی توپولوژی ستاره‌ای توصیه می‌کند. طراحی
مرکز داده با این محیط‌های عملیاتی امکان اضافه شدن و به روزشدن
برنامه‌های کاربردی و سرورها را با حداقل مدت زمان از کار افتادگی فراهم
می‌کند. براساس این استاندارد یک مرکز داده باید شامل محیط‌های عملیاتی
کلیدی زیر باشد:
ـ یک یا چند اتاق ورودی
مکانی
برای سیستم‌های ایجاد دسترسی و نقاط مرزی است. این بخش ممکن است درون یا
بیرون اتاق کامپیوتر(بخشی از مرکز داده که تجهیزات پردازش داده در آن
قرارگرفته‌اند) باشد. استاندارد برای ایمنی بیشترتوصیه می‌کندکه این اتاق
بیرون اتاق کامپیوتر باشد.
ـ منطقه توزیع اصلی (MDA)
بخش
مرکزی که درخود، تجهیزات اصلی اتصال مانند مسیریاب‌ها و سوییچ های هسته‌ای
را جای داده است. مطابق با استاندارد هر مرکز داده حداقل به یک DMA نیاز
دارد. استاندارد نصب رک‌های جداگانه برای کابل‌های فیبر نوری، UTP و
coaxial را توصیه می‌کند.
ـ منطقه توزیع افقی( HDA)
منطقه
توزیع کابل‌کشی و تجهیزات اتصال شبکه مانند سوئیچ‌ها را می‌گویند. که
مانند MDA استاندارد، نصب رک‌های جداگانه برای کابل¬های فیبر نوری، UTP و
coaxial را توصیه
می¬کند. علاوه براین، استاندارد توصیه می‌کند که
برای اتصال سوییچ و پچ پنل از پچ کرد با حداقل طول و وسیله‌ی مدیریت کابل
استفاده شود.
هرHDA به حداکثر ۲۰۰۰ اتصال محدود می‌شود و تعداد HDA ها در مرکز داده به حجم کابل کشی و اندازه‌ی مرکز داده بستگی دارد.
(محیط‌های عملیاتی کلیدی مرکز داده)
▪ منطقه توزیع تجهیزات
این منطقه مکانی برای تجهیزات کابینتی و رک‌ها است و مسیرکابل‌ها به پچ
پنل‌ها ختم می‌شود. استاندارد توصیه می‌کند برای داشتن یک راهروی سرد و
گرم جهت کاهش گرمای تولید شده توسط تجهیزات و رساندن سرما به درجه لازم،
رک‌ها و کابینت‌ها به صورت یک درمیان نصب شوند.
▪ منطقه توزیع جداشده (ZDA)
یک
لینک اختیاری بین HDA و EDA که می‌تواند به عنوان نقطه تقویتی برای
پیکربندی دوباره مطمئن یا برای جادادن تجهیزات مستقل مانند سرورها و
Mainframe هایی که به پچ پنل وصل نمی‌شوند عمل کند به ازای هر ۲۸۸ اتصال
تنها یک ZDA مجاز است. در این بخش وجود تجهیزات فعال شبکه و یا اتصال شبکه
مجاز نیست.
▪ کابل کشی ستون فقرات و کابل کشی افقی
ارتباط بین MDA، HDA و اتاق ورودی و همچنین ارتباط بین HDA ها
می تواند از نوع کابل کشی ستون فقرات باشد.

Admin
Admin
تعداد پستها : ۸
تاريخ التسجيل : ۲۰۰۹-۱۲-۱۴
خواندن مشخصات فردي http://p30world.forumakers.com

بازگشت به بالاي صفحه اذهب الى الأسفل

مشاهده موضوع قبلي مشاهده موضوع بعدي بازگشت به بالاي صفحه


صلاحيات هذا المنتدى:

شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد

راهنمای پیکربندی سرویس‌دهنده Squid


راهنمای پیکربندی سرویس‌دهنده Squid


راهنمای پیکربندی سرویس‌دهنده Squid

● مقدمه
یک پراکسی سرور یک سرویس کارآمد جهت شبکه شما یا شبکه شما و اینترنت است
که امنیت بالاتری را جهت کاربران اینترنت فراهم می کند و هم چنین می تواند
بعنوان یک کش سرور هم استفاده شود که باعث بالا رفتن بازدهی سرور شما و
سرعت آن در دسترسی به اینترنت می شود.
Squid خود یک پراکسی سرور ایمن
با توانایی بسیار بالا است که قابلیت استفاده بعنوان کش سرور را نیز
داراست و یکی از کاربردی ترین کش سرورها در شبکه اینترنت است . اطلاعاتی
بیشتر در مورد این کش سرور ازطریق سایت http://www.squid-cache.org قابل
دریافت است .
● نصب لینوکس
قبل از نصب Squid نیاز دارید تا سیستم عامل لینوکس را بر روی سیستم در نظر
گرفته شده برای آن نصب نمایید. بهترین راه جهت نصب لینوکس استفاده از
نمونه های مختلف در دسترس است که ردهت و دبیان از مشهورترین آنهاست که
براحتی از طریق اینترنت قابل دریافت هستند.
● نصب Squid
▪ نصب از طریق بسته‌های نرم‌افزاری
توجه داشته باشید که معمولا بیشتر نسخه های لینوکس دارای یک بسته Squid به
صورت آماده و قابل نصب هستند که ممکن است در موقعی که نسخه لینوکس شما نصب
می شود نصب نگردد . بعنوان مثال بعد از نصب ردهت ۷.۱ شما متوجه می شوید که
Squid نصب نگردیده است . خود Squid در CD #۲ در فولدر RedHat/RPMS قرار
گرفته است . جهت نصب ان ابتدا اطمینان حاصل نمایید که شما بعنوان کاربر
ریشه وارد شده اید سپس از فرمان rpm به صورت زیر استفاده کنید:
▪mount /mnt/cdrom
▪ rpm -Uhv /mnt/cdrom/RedHat/RPMS/squid-*.rpm
▪ umount /mnt/cdrom
شما در هنگام نصب تعداد زیادی از هش (#) را مشاهده می کنید که نشان از نصب
Squid دارد . در لینوکس دبیان شما می توانید از برنامه apt-get جهت دان
لود و نصب Squid از اینترنت اقدام نمایید:
ـ apt-get install squid
▪ نصب از طریق کد منبع
اگر شما مایل به نصب Squid از طریق فایل های کد منبع آن هستید، می‌توانید
این کار را در تمامی نسخه های لینوکس انجام دهید. یادآور می‌شوم که شما
نیاز دارید تا جدیدترین نسخه پایدار Squid را از وب سایت آن دریافت
نمایید. سورس Squid به صورت فایل فشرده شده tar است که شما احتیاج دارید
ابتدا آن را غیر فشرده نمایید :
ـ Tar -zxf squid-۲.۳.STABLE۴-src.tar.gz
هنگامی که شما فایل فشرده tar را غیر فشرده نمودید شما از این طریق احتیاج به تنظیم، کامپایل و نصب Squid دارید:
ـ cd squid-۲.۳.STABLE۴
ـ ./configure
ـ make all
ـ make install
جهت اطلاعات بیشتر جهت نصب آن فایل INSTALL را که در کد منبع Squid موجود
است را مطالعه نمایید. البته به یاد داشته باشید که همیشه آسان‌ترین راه
برای نصب Squid استفاده از بسته‌های نرم‌افزاری آماده آن است.
● تنظیم Squid
همه تنظیمات این پراکسی سرور در فایل پیکربندی آن است ( squid.conf ) که
بستگی به نسخه لینوکس شما ممکن است در پوشهetc/squid.conf/ یا
etc/squid/squid.conf/ باشد . قبل از انجام هرکاری شما باید مسیر این فایل
را در سیستم تان پیدا کنید:
ـ locate squid.conf
روش های متعددی
جهت تنظیم Squid از طریق وب یا GUI ( اینترفیس کاربری گرافیکی ) وجود دارد
. این GUI ها توانایی خواندن و تشخیص و نوشتن فایل پیکربندی در محل مربوطه
را دارا هستند .
خوب ما در اینجا تنظیم نمودن Squid را به صورت دستی
شرح می دهیم . جهت این کار شما یک ویرایش گر متن مانند emacs یا دیگر نرم
افزار ها احتیاج دارید و اینکه فراموش نکنید جهت انجام فرامین مربوطه شما
باید ابصورت کاربر ریشه وارد سیستم شوید تا دسترسی به نوشتن در فایل
پیکربندی را داشته باشید.
فایل پیکربندی Squid خود دارای پارامترهای
تنظیماتی بسیاری است که ما در اینجا همه آن ها را پوشش نخواهیم داد و به
اصلی ترین آن ها اشاره خواهیم نمود.
● تنظیمات پیش فرض
به صورت پیش فرض Squid همراه با یک فایل پیکربندی است که تقریبا جهت بیشتر
سرورها صحیح و قابل استفاده است. جهت استفاده از Squid در شبکه بعنوان یک
پراکسی باید برخی از تنظیمات پیش‌گزیده را تغییر داد.
● شروع تنظیمات مقدماتی
هنگام تنظیم Squid در فایل پیکربندی آن ( squid.conf ) تعداد زیادی توضیح
وجود دارد که قابل استفاده هستند.در این حالت حجم فایل در حدود ۷۶ کیلو
بایت است که در صورت حذف این توضیحات حجم آن به ۶۰۰ بایت کاهش می یابد! که
در این صورت ویرایش آن از طریق ویرایش گر ها آسان تر خواهد شد. البته وجود
این توضیحات می‌تواند کمک بزرگی برای تنظیم کننده باشد.
جهت تنظیمات مقدماتی در فایل پیکربندی این پارامترها را اضافه می کنیم :
ـ acl privatenet src ۱۹۲.۱۶۸.۰.۰/۲۵۵.۲۵۵.۰.۰
ـ http_access allow privatenet
ـ cache_effective_user squid
ـ cache_effective_group squid
▪ نکته های قابل ذکر در این پارامترها:
acl privatenet * . برای مثال دو شبکه خصوصی در پشت فایروال وجود دارد که
از IANA در شماره های ۱۹۲.۱۶۸.x.x به آن اختصاص داده شده است.
● نمونه های تنظیمات فایل پیکربندی
دقت داشته باشید که تنظیمات اشاره شده در اینجا تنها بخش کوچکی از آن چه
که شما می خواهید با پراکسی سرور Squid انجام دهید را شامل می شود .
▪ ثبت وقایع (logging)
به طور پیش فرض Squid فعالیت های انجام شده را در چندین Log فایل ذخیره می کند :
ـ cache_access_log /var/log/squid/access.log
ـ cache_log /var/log/squid/cache.log
ـ cache_store_log none
با اضافه نمودن این پارامترها Squid پیغام های خطا را در مسیر
var/log/squid/cache.log/ و پیغام های دسترسی به سرور را در
var/log/squid/access.log/ ذخیره می کند که البته برنامه هایی نیز جهت
آنالیز access.log قابل دریافت هسنتد که از آن ها می توان به SARG اشاره
نمود ( که با نام sqmgrlog شهرت دارد ).
من چیز مفیدی را در مورد squid&#۰۳۹;s cache_store_log پیدا نکردم که از همین جهت می توان توسط خط ۳ بالا آن را غیر فعال نمود .
▪ Cache Access
شما می توانید استفاده از کش را در سرورتان مقدور سازید که این کار از
طریق http_access امکان پذیر است . این را مد نظر داشته باشید که خط acl
یک شبکه یا یک ابزار شبکه را تعریف می کند.
● اندکی در مورد Upstream Proxy
شاید یکی از برتری های Squid استفاده از Upstream Proxy باشد که می تواند
سرعت دسترسی به اینترنت تا حد قابل ملاحظه ای بالا ببرد. بعنوان مثال وقتی
ISP شما دارای کش جهت کاربرانش می باشد کش سرور شما می تواند سایت های
بسیاری را در خود ذخیره کند که این خود تا حد زیادی بازدهی را در مواقع
ضروری بالا می برد.
یکی دیگر از مزایای Squid پشتیبانی به صورت
چندگانه است بدین مفهوم که می توان چندین کش سرور را با ارتباط داد که
Squid این کار را از طریق پروتکول ICP انجام می دهد . ICP این اجازه را به
کش سرورها می دهد که که طریق پکت های سریع UDP یا هم ارتباط برقرار نمایند
.
خوب جهت استفاده از این مزایا شما اول باید مد نظر داشته باشید که
آدرس کش سرور ها چیست ( proxyserver.yourisp.com ) و هم چنین از چه پورتی
بدین منظور استفاده می کند . استفاده از Upstream Proxy به راحتی امکان
پذیر است :
ـ cache_peer proxy.yourisp.com parent ۳۱۲۸ ۳۱۳۰
ـ prefer_direct off
خط cache_peer اسم هاستینگ و نوع کشینگ “parent” و پورت پراکسی “۳۱۲۸” و
پورت ICP” ۳۱۳۰” را مشخص می کند . اگر کش سرور شما پروتکل ICP را پشتیبانی
نمی کند از این خط استفاده نمایید :
ـ cache_peer proxy.yourisp.com parent ۳۱۲۸ ۷ no-query default
ـ prefer_direct off
– Sharing Caches
توجه داشته باشید که در مواقع ضروری که یک شرکت چندین ارتباط را جهت
دسترسی به اینترنت را داشته باشد Squid کش نمودن سرور ها در حالت اشتراک
گذاری آن ها می پذیرد ( بدین مفهوم که چندین کش سرور با هم ارتباط داشته
باشند ). در این صورت باید هر کش سرور این خط را در فایل پیکربندی خود
داشته باشند :
ـ cache_peer theotherproxy.yournetwork.com sibling ۳۱۲۸ ۳۱۳۰
که اگر دقت نمایید یکی از پارامترها به sibling تغییر یافته بدین مفهوم که
فایل های کش را چنانچه در کش سرور دیگر باشد آن ها را آن ها دریافت می کند
.
▪ رد نمودن فایل های آلوده
فایل هایی وجود دارند که به ویروس
نیز آلوده هستند مانند WIN-BUGFIX.EXE که مربوط به ویروس Melissa می شد که
با یک پارامتر ساده می توان دریافت چنین فایل هایی را از سرور رد نمود .
ـ acl nastyfile dstdom_regex -i WIN[.*]BUG[.*]EXE
ـ http_access deny nastyfile
● تنظیمات پیشرفته
ترنفند هایی نیز وجود دارند که شما می توانید جهت وب پراکسی خود اعمال
نمایید مانند شناسایی کاربر و یا پراکسی ترانسپرنت و یا عدم دسترسی کاربر
به فایل های غیر مجاز در طی ساعات اداری . اما این را فراموش نکنید که
فایل پیکربندی Squid بسیار آسیب پذیر است و با یک تنظیم ناصحیح کوچک کش
سرور کار نمی کند!
▪ احراز هویت کاربران
این مرحله یکی از مهم ترین اجزا جهت مدیران شبکه است بعنوان مثال مواقعی
که شرکت شما دسترسی به اینترنت را جهت کاربر امکان پذیر و یا رد می کند .
تنظیم نمودن یک acl جهت ورود یا رد نمودن کاربر به راحتی از طریق تغییر زیر در فایل پیکربندی امکان پذیر است :
ـ authenticate_program /your/authentication/program
ـ acl validusers proxy_auth REQUIRED
ـ http_access allow validusers
و این را توجه داشته باشید که یک برنامه مناسب شناساگر پراکسی پیدا نمایید
( proxy authentication ) که قابل ذکر است Squid خود دارای شناساگری به
صورت داخلی نمی باشد که شما باید در خط authenticate_program تنظیمات
مناسب را بر طبق برنامه احراز هویت مورد استفاده، تغییر دهید.
البته
Squid همراه با چند برنامه احراز هویت نیز ارائه شده است که در مسیر
/usr/lib/squid موجود هسنتد که شامل smb_auth ( شناساگر جهت دومین NT ) و
squid_ldap_auth ( جهت شناسایی دایرکتوری LDAP ) که در این میان شناساگر
مورد انتحاب من pam_auth می باشد که از لایبرری های PAM جهت شناسایی
کاربران استفاده می کند.
برتری pam_auth در شناسایی کاربران در روش
های متعدد است و همه برنامه های شما ( نظیر XDM, Squid, Apache و …. )
بر روی آن قرار دارند …
▪ جهت تنظیم pam_auth ( این روش جهت سیستم های ردهت است ):
فایل etc/pam.d/squid/ را ایجاد نمایید که باید این چنین باشد :
ـ auth required /lib/security/pam_stack.so service=system-auth
ـ auth required /lib/security/pam_nologin.so
ـ account required /lib/security/pam_stack.so service=system-auth
ـ password required /lib/security/pam_stack.so service=system-auth
ـ session required /lib/security/pam_stack.so service=system-auth
▪ اطمینان حاصل نمایید که خط زیر را در فایل پیکربندی Squid گذارده اید:
ـ authenticate_program /usr/lib/squid/pam_auth
و اینکه authconfig در سرور شما اجرا شده است تا مشخص نماید شما از چه
سرور شناساگر استفاده می نمایید که مورد LDAP مناسب به نظر می رسد …
● پراکسی به صورت ترانسپرنت
ترانسپرنت نمودن پراکسی یک روش است که شما می توانید که یک پراکسی سرور را
بین شبکه و اینترنت بگذارید و بدون اینکه نیاز به تنظیمات خاصی باشد ما
مستقیما به اینرنت وصل خواهیم شد ( توجه داشته باشید که این روش فقط برای
پروتکل WWW قابل اجراست ولی جهت سرویس FTP قابل استفاده نمی‌باشد. )
همچنین باید توجه داشته باشید که ترانسپرنت نمودن پراکسی و اضافه نمودن
احراز هویت که در مرحله قبل توضیح داده شد هر دو با هم امکان پذیر نیست.
▪ جهت نصب پراکسی به صورت ترانسپرنت شما به این موارد نیاز خواهید داشت :
– یک قانون فایروال ( Rule ) و Redirect نمودن ترافیک خروجی شبکه به پراکسی سرور .
– یک قانون Squid جهت فعال کردن Squid تا اینکه به صورت ترانسپرنت عمل نماید .
جهت اجرای یک قانون فایروال شما به قانونی نظیر زیر احتیاج خواهید داشت :
ـ /sbin/ipchains -A input -p tcp -s ۰/۰ -d ۰/۰ ۸۰ -j REDIRECT ۳۱۲۸
جهت iptables ( هسته ۲.۴ لینوکس ۲.۴ به بالا ) ممکن است شما مایل به نصب
iptables مبنی بر فایروال در Squid باشید . در قستمی از نصب فایروال شما
به ایجاد قانون DNAT جهت ارسال ترافیک بر روی پورت ۸۰ به ۳۱۲۸ پراکسی سرور
خواهید داشت . برای اطلاعات بیشتر جهت ایجاد قانون های NAT می توانید به
وب سایت NET FILTER مراجعه کنید .
تنظیمات مورد نیاز Squid جهت فعال کردن Squid به صورت ترانسپرنت در اینجا ذکر شده اند :
ـ httpd_accel_host virtual
ـ httpd_accel_port ۸۰
ـ httpd_accel_with_proxy on
ـ httpd_accel_uses_host_header on
چنانچه در نصب و راه اندازی Squid به مشکلی برخورد نموده اید می توانید از
طریق ایمیل با من مکاتبه نمایید. هم چنین در اینجا جا دارد ازدوست گرامیم
علی مصلحی و اعضای گروه Rayesh در همکاری جهت تهیه این مقاله تشکر نمایم .

انواع نسلهای کامپیوتر


انواع نسلهای کامپیوتر


انواع نسلهای کامپیوتر

بدون شك دنيايى كه امروز ما در آن زندگى مى كنيم توسط كامپيوترها اداره مى
شود. البته در هر كشورى ميزان نفوذ كامپيوترها بسته به فرهنگ و تكنولوژى
مورد استفاده در آن كشور متفاوت است. به طور مثال در كشورى چون ايران كه
كشورى در حال توسعه است شايد بتوان بسيارى از كارها را به راحتى بدون
استفاده از كامپيوتر انجام داد، به دليل اينكه هم از نظر تكنولوژى و
زيرساخت هاى مورد نياز استفاده از كامپيوترها به حدى كه بايد نرسيده ايم و
هم اينكه فرهنگ استفاده از كامپيوتر در كشور ما به درستى جا نيفتاده است و
اكثر جوانان كه بزرگ ترين قشر استفاده كننده از كامپيوتر را تشكيل مى دهند
به جاى استفاده از كامپيوتر و اينترنت در جهت افزايش آگاهى ها و اطلاعات
بيشتر به بازى و چت مى پردازند.

با اين حال مشخص است كه روزبه
روز به كارايى كامپيوتر و اينترنت در ايران بيشتر پى برده مى شود و مى
توان روزى را تصور كرد كه حتى در دورافتاده ترين مناطق ايران هم هر فردى
مى تواند به كامپيوتر و اينترنت دسترسى پيدا كند اما وضعيت كشورهاى
پيشرفته دنيا در مورد استفاده از كامپيوتر كاملاً متفاوت با ايران است.

در كشورهايى چون آمريكا، ژاپن، آلمان و… كامپيوترها همه مشاغل را در
اختيار خود گرفته اند و مردم اين كشورها حتى يك روز را نمى توانند بدون
استفاده از كامپيوتر سپرى كنند. كامپيوترها با تمام خوبى ها و بدى هايى كه
دارند دنيا را تسخير كرده اند و حتى در ساده ترين جاها همچون سوپرماركت ها
نيز كامپيوترها حرف اول را مى زنند. اما ممكن است بسيارى اين سئوال را در
ذهن خود داشته باشند كه منشا و سرچشمه اين تكنولوژى چيست؟ مطمئناً براى
درك بهتر كامپيوتر و كارايى آن كه در زندگى امروز و فرداى بشر نقش اساسى
دارد نخستين قدم اين است كه سير تكاملى اين تكنولوژى را بررسى كنيم. شايد
باورتان نشود، اما مى توان گفت كامپيوترها از پنج هزار سال پيش مورد
استفاده قرار مى گرفتند.

انسان هايى كه در آن زمان زندگى مى
كردند براى انجام محاسبات خود «چرتكه» را اختراع كردند كه امروزه هم در
بسيارى از نقاط ايران از آن استفاده مى شود. اين اختراع اجازه مى داد تا
محاسبات رياضى خود را با عقب و جلو بردن چند مهره بر روى چند ميله انجام
دهند. تجار و بازرگانان اوليه براى خريد و فروش و معاملات خود از چرتكه
استفاده مى كردند. استفاده از چرتكه تا زمان اختراع كاغذ رواج داشت اما پس
از آن به دليل اينكه مردم به خصوص در اروپا از كاغذ و قلم براى انجام
محاسبات خود استفاده مى كردند از محبوبيت چرتكه در بين مردم كاسته شد و
روزبه روز بيشتر به فراموشى سپرده شد.

شايد اين تصور در ذهن
شما ايجاد شود كه چرا چرتكه را مى توان نوعى كامپيوتر به حساب آورد؟ دليل
آن، اين است كه ريشه كلمه Computer، لغت Compute است كه به معنى محاسبه
كردن است و چرتكه هم وسيله اى بود كه براى انجام محاسبات رياضى از آن
استفاده مى شد. فراموش نكنيم در سال هاى نخستين اختراع كامپيوتر به شكل
امروزى هم از كامپيوترها براى انجام محاسبات رياضى استفاده مى كردند اما
كامپيوتر تا زمانى كه به شكل امروزى مورد استفاده قرار بگيرد سير تكاملى
جالبى را پشت سر گذاشت. در سال ۱۶۴۲ بلز پاسكال پسر يكى از ماليات بگيران
فرانسوى هنگامى كه هجده سال داشت دستگاهى به نام «چرخ محاسبه گر عددى» را
اختراع كرد تا به پدرش در كارهايش كمك كند.

اين دستگاه پس از
آن به نام «پاسكالين» شناخته مى شد و از هشت صفحه شماره گير متحرك و هشت
ميله بلند تشكيل شده بود. پاسكالين مشكلاتى نيز در كنار مزاياى خود به
همراه داشت كه مهم ترين آن ها محدوديت محاسبه ارقام بود. در حقيقت اين
ماشين فقط توانايى جمع زدن اعداد را داشت. پس از آن و در سال ۱۶۹۴ يك
رياضيدان آلمانى به نام «گاتفرد ويلهم فول ليبنتيس» اصلاحاتى را در
پاسكالين ايجاد كرد كه از جمله آنها مى توان به قابليت ضرب كردن اعداد
اشاره كرد كه تا آن زمان هيچ دستگاهى توانايى انجام چنين كارى را نداشت.
در هر حال پاسكالين تا سال ۱۸۲۰ رايج ترين كامپيوتر زمان خود بود. بعدها
«چارلز خاوير كولمار» فرانسوى ماشينى اختراع كرد كه توانايى انجام چهار
عمل اصلى رياضى را داشت.

او اين دستگاه را «آرتيومتر» ناميد.
آرتيومتر هم تا زمان جنگ جهانى اول كاربرد زيادى داشت تا اينكه يك
رياضيدان انگليسى به نام «چارلز بابيج» اين دستگاه را در ساختمان جامعه
نجوم انگلستان مورد مطالعه قرار داد تا مشكلات و كاستى هايش را رفع كند.
البته او در پى اين بود كه بتواند دستگاه محاسبه گرى بسازد كه با انرژى
بخار كار كند. اولين جرقه اتوماتيك شدن كامپيوترها هم در اين زمان زده شد.
در سال ۱۸۱۲ بابيج توازن كلى بين ماشين ها و رياضيات برقرار كرد. از اين
پس ماشين ها مى توانستند يك كار را به طور مكرر و بدون اشتباه انجام دهند.
او در سال ۱۸۲۲ تصميم به ساخت دستگاهى گرفت كه توانايى انجام محاسبات
ديفرانسيل را داشته باشد و اين دستگاه را «ماشين تفاضل» ناميد.

ماشين تفاضل با بخار كار مى كرد و به بزرگى موتوريك ديزل بود. اين ماشين
پر از دستورات و برنامه هايى بود كه به صورت مكانيكى به آن داده شده بود و
نتايج محاسبات خود را به صورت اتوماتيك كپى مى گرفت. اين ماشين به مدت ده
سال بعد مورد استفاده قرار گرفت و پس از آن بابيج به فكر ساخت ماشينى كامل
تر افتاد و آن را «ماشين تحليلى» نام نهاد. يكى از برجسته ترين دستياران
بابيج در طرح ساخت ماشين تحليلى «آگوستا آداكينگ» دختر «لرد بايرون» شاعر
انگليسى بود كه نظراتش در طرح ريزى اين ماشين بسيار مفيد واقع شد. با تمام
زحماتى كه اين گروه براى ساخت ماشين تحليلى متحمل شدند اما اين ماشين به
دلايل نامشخص هرگز ساخته نشد.

به عقيده بسيارى از صاحبنظران كه
بابيج را پدر كامپيوتر مى نامند اگر ماشين تحليلى در زمان خودش ساخته مى
شد پيشرفت هاى عظيمى در صنعت و تكنولوژى كامپيوتر ايجاد مى كرد. اين
دستگاه داراى حافظه مكانيكى بود و مى توانست هزار عدد را با بيش از پنجاه
اعشار در خود ذخيره كند. پس از ناموفق ماندن اين طرح بابيج به فكر ساخت
كارت هاى سوراخ دار افتاد و هدف از ساخت آن رمزگذارى از تحقيقات مخترعى به
نام «جوزف ماريا جاكارد» بود. در سال ۱۸۸۹ نيز مخترعى آمريكايى به نام
«هرمان هولريس» از تحقيقات جاكارد استفاده كرد تا بتواند راه سريع ترى
براى آمارگيرى در آمريكا پيدا كند. به اين دليل كه در آمارگيرى قبلى كه در
سال ۱۸۸۰ در آمريكا اجرا شده بود حدود هفت سال طول كشيد تا نتايج آن مشخص
شود كه گذشت اين زمان طولانى موجب شد كه ارزش اين نتايج زير سئوال برود.

هولريس قصد داشت تا اطلاعات را به صورت «Data» روى كارت هاى سوراخ دار
ذخيره كند. در اين طرح هر نقطه روى كارت ها نشان دهنده يك حرف يا يك عدد
بود. روى هر كارت در حدود هشتاد عدد متغير ذخيره مى شد. هولريس اين كارت
ها را «پانچ» نام نهاد. با استفاده از اين طرح سرشمارى كه پيش بينى مى شد
ده سال طول بكشد در عرض شش هفته تمام شد. هولريس در سال ۱۸۹۶ طرح خود را
وارد بازار كرد و با يك شركت طراحى ماشين هاى مكانيكى در آمريكا قرارداد
بست. اين شركت بعدها در سال ۱۹۲۴ با شركت «IBM» ادغام شد. كامپيوتر روزبه
روز پيشرفت مى كرد تا اينكه در دهه ۳۰ ميلادى پروفسورى آمريكايى به نام
«جان آتاناسوف» به همراه شاگرد خود تصميم به ساخت يك كامپيوتر تمام
الكترونيك گرفتند كه مدارهاى اين دستگاه براساس معادلات «بولين» طراحى شده
بود.

بول كاشف سيستم جبرى مضاعف يا جفتى بود كه براساس آن
درستى يا نادرستى يك معادله رياضى مشخص مى شد. با استناد به اين نظريه مى
توان مشخص كرد كه يك مدار الكترونيكى روشن است يا خاموش. اين روش همان
كدهاى صفر و يك در كامپيوترها است كه يك به معنى روشن و صفر به معنى خاموش
است. در نهايت در سال ۱۹۴۰ پروفسور آتاناسوف و شاگردش توانستند اولين
كامپيوتر تمام الكترونيك را بسازند. از آن پس كامپيوترها، پنج نسل را پشت
سر گذاشتند تا به وضعيت امروزى خود برسند.

• نسل اول ۱۹۴۶ تا ۱۹۵۵

با آغاز جنگ جهانى دوم، دولت ها به دنبال كامپيوترهايى بودند كه بتوانند
اطلاعات سرى خود را در آنها ذخيره كننده و محاسبات اطلاعاتى خود را هم به
سرعت انجام دهند. به همين دليل دولت ها شروع به سرمايه گذارى در صنعت
كامپيوتر كردند. در ميان كشورهاى اروپايى، آلمانى ها سرمايه گذارى كلان
ترى انجام دادند. با اين حال تلاش آمريكايى ها براى ساخت كامپيوترهاى
پيشرفته تر با موفقيت بيشترى همراه بود. «هاوارد آيكن» كه با شركت IBM كار
مى كرد موفق شد يك ماشين حساب تمام الكترونيك به نام «Mark I» بسازد. هدف
او از ساخت اين ماشين انجام محاسبات نيروى دريايى آمريكا بر روى نقشه
هايشان بود. پهناى اين دستگاه نصف يك زمين فوتبال بود و حدود پانصد مايل
سيم كشى نيز در اين دستگاه انجام شده بود.

كامپيوتر ديگرى كه
در طول سال هاى جنگ جهانى دوم ساخته شد «ENIAC» نام داشت كه مخفف عبارت
Electronic Numerical Integrater & Computer بود. اين دستگاه با
مشاركت دولت آمريكا و دانشگاه پنسيلوانيا ساخته شد. پايه تكنولوژى اين
دستگاه لامپ خلاء بود كه شامل هجده هزار لامپ خلاء، هفتاد هزار مقاومت
الكتريكى و پنج ميليون اتصالات لحيم شده بود. «ايناك» ۳۰ تن وزن داشت و يك
ساختمان بزرگ را به خود اختصاص داده بود. اين دستگاه به هنگام مصرف معادل
يكصد و شصت كيلو وات برق مصرف مى كرد كه اين ميزان برق مى توانست شهرى مثل
«فيلادلفيا» را تغذيه كند. به همين خاطر هنگام كار اين دستگاه در وضعيت
برق شهر اختلال ايجاد مى شد. سرعت «ايناك» حدود هزار برابر سرعت MarkI
بود. در سال ۱۹۴۵ جان فون نيومن دستگاهى به نام «EDVAC» طراحى كرد. اين
دستگاه قدرت ذخيره داده ها را بهتر از ديتا داشت.

اين نوع
حافظه بهتر از نوع قبلى خود يعنى كنترل كننده انتقالات بود و به دستگاه
اجازه مى داد تا هر زمان كه كاربر بخواهد دست از كار كشيده و مجدداً شروع
به كار كند. عنصر كليدى نيومن در اين طرح استفاده از پردازنده مركزى بود
كه قسمت هاى مختلف دستگاه را بر اساس يك روش كلى هماهنگ مى كرد. عقايد و
ابتكارات نيومن آنقدر نوآورانه بود كه تا چهل سال پس از آن هم مورد
استفاده دانشگاه پنسيلوانيا قرار مى گرفت. در سال ۱۹۵۱ كامپيوتر «UNIVAC»
ساخته شد كه از ارزشمندترين دستگاه هاى محاسبات بازرگانى و تجارى بود.

اين كامپيوتر توسط «آژانس سرشمارى آمريكا» و شركت «جنرال الكتريك» ساخته
شد و از نكات جالب در مورد اين كامپيوتر مى توان به مورد تائيد قرار گرفتن
«UNIVAC» توسط ژنرال آيزنهاور اشاره كرد. به طور كلى همان طور كه مشخص بود
نسل اول كامپيوترهاى مدرن بر اساس سفارشات قبلى و براى كارهاى خاص ساخته
مى شد. در آن زمان هر دستگاه براى خود يك رمز برنامه دورويى داشت كه به
عنوان زبان كامپيوتر شناخته مى شد و نوع عمليات دستگاه را مشخص مى كرد.
البته اين رمزها از نظر سرعت و تطبيق پذيرى ميان اجزا محدوديت هايى را به
وجود مى آورد.

• نسل دوم ۱۹۶۳ _ ۱۹۵۶

در سال ۱۹۴۸ اختراع ترانزيستور تحول عظيمى در روند توسعه كامپيوترها ايجاد
كرد. ترانزيستورها به جاى لامپ هاى خلاء در تلويزيون ها، راديوها و به
ويژه در كامپيوترها مورد استفاده قرار گرفتند. مهمترين مزيت اختراع
ترانزيستور اين بود كه باعث مى شد ابعاد كامپيوتر كوچك شده و فضاى بسيار
كمى را به خود اختصاص دهد و در سرعت محاسبات و كاهش مصرف انرژى نيز سهم
بسزايى داشت. نخستين كامپيوترهايى كه از اين تكنولوژى به صورت گسترده
استفاده كردند ابركامپيوترهاى اوليه بودند كه طرح كامپيوتر «Stretch» توسط
«IBM» و طرح كامپيوتر «LARC» توسط «اسپرى راند» بر اين اساس بود. هر دوى
اين كامپيوترها در لابراتوار انرژى اتمى ساخته شده بودند و به اين خاطر
دانشمندان مى توانستند حافظه بيشترى را به اين كامپيوترها اختصاص دهند.

اين دستگاه ها بسيار گران بودند و با اينكه براى كارهاى تجارى و بازرگانى
مفيد بودند اما به خاطر قيمت بسيار بالا گيرايى زيادى نداشتند و تنها در
برخى ارگان هاى دولتى و استراتژيك مورد استفاده قرار مى گرفتند. در
كامپيوترهاى نسل دوم از زبان اسمبلى به جاى (صفر و يك) استفاده مى شد و از
ميزان مشكلات و محدوديت هاى رمز دورويى كاسته بود. دهه ۶۰ ميلادى استقبال
فوق العاده اى از اين نسل از كامپيوترها شد و در بسيارى مراكز مورد
استفاده قرار گرفت. كامپيوترهاى نسل دوم از ماكت هاى اجرايى قبل از ساخت
نيز بهره مى بردند. در اين نسل تجهيزاتى مانند پرينترها، انواع حافظه هاى
جامد و فيزيكى قابل افزايش و سيستم عامل هاى اوليه و برنامه هاى داخلى
مورد استفاده قرار گرفت. نخستين كامپيوتر در سال ۱۹۶۳ و در اين نسل ساخته
شد.

• نسل سوم ۱۹۷۷ _ ۱۹۶۴

حرارت زياد ترانزيستورها باعث آسيب رساندن به بخش هاى داخلى كامپيوترها مى
شد، به همين دليل دانشمندان به فكر جايگزينى براى آن افتادند و از «سنگ
كوارتز» در كامپيوترهاى نسل سوم استفاده كردند. در سال ۱۹۵۸ «جك كيبلى»
توانست يك مدار مجتمع (IC) را طراحى كند. اين مدار از سه بخش مجزاى
الكترونيكى تشكيل شده بود و يك بخش آن ديسك سيليكونى كوچكى بود كه از
كوارتز ساخته شده بود.

دانشمندان سعى كردند تا اجزاى بيشترى را
درون چيپ هاى نيمه رسانا جاى دهند، در نتيجه نيمه رساناها بيشتر مورد
استفاده قرار گرفت و كامپيوترها كوچك تر شد. از ديگر پيشرفت هاى نسل سوم
استفاده از سيستم هاى عامل بود كه اجازه مى داد برنامه ها از يك هسته
مركزى تبعيت كرده و با هم هماهنگ تر شوند. بد نيست بدانيد كه اولين
ميكروپروسسور در زمان اين نسل و در سال ۱۹۷۱ ساخته شد كه Intel و Motorola
نخستين سازندگان ميكروپروسسورها بودند. اولين ريزكامپيوتر هم در سال ۱۹۷۵
و باز هم در اين نسل ساخته شد.

• نسل چهارم ۱۹۷۸ _ تاكنون

در دهه هشتاد ميلادى تكنولوژى هايى مانند «LSI»، «VLSI» و «ULSI» پا به
عرصه گذاشتند و توانايى اين را داشتند كه ميليونها قطعه الكترونيكى را در
درون خود جاى دهند. با استفاده از اين تكنولوژى ها كاميپوترها در نسل
چهارم كوچكتر شده و قيمت آنها نيز كاهش يافت و نيز قدرت، بازده و اطمينان
به نتيجه محاسبات در كامپيوترهاى اين نسل بيشتر شده بود. نخستين اقدام مهم
در كامپيوترهاى اين نسل چيپ «۴۰۰۴» اينتل بود كه مى توانست بسيارى از
كارهاى كامپيوتر مانند اجراى سريع تر نرم افزارها، كنترل حافظه و ورودى ها
و خروجى ها را تحت كنترل داشته باشد. «۴۰۰۴» اولين ريزپردازنده اى بود كه
براى استفاده عموم كارايى داشت. پس از آن «CPU»ها در اشكال مختلف حتى در
اتومبيل ها نيز مورد استفاده قرار مى گرفتند.

كوچكتر و ارزان
تر و قابل دسترس شدن كامپيوترها اين امكان را فراهم مى كرد تا عموم مردم
بتوانند از قابليت كامپيوترها استفاده كنند. به تدريج توسعه و توليد
كامپيوترها از انحصار دولت ها و شركت هاى بازرگانى خارج شده و در اواسط
دهه هفتاد شكل عمومى ترى به خود گرفت. با كوچكتر شدن كامپيوترها برنامه
هاى نرم افزارى كامل تر و ساده ترى به بازار آمد كه استفاده از آنها به
تخصص خاصى نياز نداشت و از طريق اين برنامه ها امكانات بيشترى براى
كاربران كامپيوتر فراهم شد. در اوايل دهه هشتاد شركت هايى با هدف ساخت
بازى هاى كامپيوترى ايجاد شده و موجب شدند محبوبيت بيشترى بر استفاده از
كامپيوترها در خانه ها ايجاد شود. نخستين محصول آنها نيز «۲۶۰۰ Atari» بود
كه در زمان خود بسيارى از كاربران را به سوى خود جذب مى كرد.

IBM در سال ۱۹۸۱ اولين نسل كاميپوترهاى شخصى (PC) را ساخت و در دفاتر
ادارى، خانه ها و مدارس مورد استفاده قرار گرفت. تعداد كامپيوترهاى (PC)
كه در سال ۱۹۸۱ مورد استفاده عموم قرار گرفت ۲ ميليون بود كه در سال ۱۹۸۲
به ۵/۵ ميليون رسيد و در سال ۱۹۹۲ به شصت ميليون افزايش پيدا كرد و هم
اكنون صدها ميليون (PC) در نقاط مختلف دنيا مورد استفاده قرار مى گيرد. در
سال هاى اخير (PC)ها همچنان به روند كوچكتر شدن خود ادامه دادند و PDI،
Laptop و Palmtopها نيز ساخته شدند.

البته تنها IBM نبود كه در
زمينه توليد PC فعاليت گسترده انجام مى داد در سال ۱۹۸۴ شركت Apple براى
رقابت با IBM كامپيوترهاى «مكينتاش» را ساخت كه طرح اين كامپيوتر براى
كاربرانش بسيار جالب توجه بود. در هر حال كامپيوترها روز به روز بيشتر
پيشرفت كردند و امكانات و تسهيلات جالب ترى را هم براى كاربران خود فراهم
مى كنند. شبكه جهانى اينترنت، دوربين ديجيتال و صدها نوآورى ديگر. شايد
زمانى هيچ كسى چنين پيشرفتى را تصور نمى كرد اما مطمئناً اين تكنولوژى
روزبه روز مدرن تر شده و نه تنها هر سال و يا هر ماه، بلكه هر روز مردم را
با دستاوردهاى جديد خود به حيرت وامى دارد

بایاس BIOS


بایاس BIOS


بایاس BIOS

يکی از متداولترين موارد کاربرد حافظه
های Flash ، استفاده از آنان در BIOS)Basic Input/Output System) است .
BIOS اين اطمينان را به عناصر سخت افزاری نظير : تراشه ها ، هارد يسک ،
پورت ها ، پردازنده و … خواهد داد که بدرستی عمليات خود را در کنار
يکديگر انجام دهند. هر کامپيوتر ( شخصی ، دستی ) دارای يک ريزپردازنده
بعنوان واحد پردازشگر مرکزی است . ريزپردازنده يک المان سخت افزاری است
.بمنظور الزام پردازنده برای انجام يک عمليات خاص، می بايست مجموعه ای از
دستورالعمل ها که نرم افزار ناميده می شوند نوشته شده و در اختيار
پردازنده قرار گيرد. از دو نوع نرم افزار استفاده می گردد : – سيستم عامل
: سيستم عامل مجموعه ای از خدمات مورد نياز برای اجرای يک برنامه را فراهم
می نمايد. ويندوز ۹۸ ، ۲۰۰۰ و يا لينوکس نمونه هائی از سيستم های عامل می
باشند. – برنامه های کاربردی : برنامه های کاربردی نرم افزارهائی هستند که
بمنظور تامين خواسته های خاصی طراحی و در اختيار کاربران گذاشته می شوند.
برنامه هائی نظير : Word ، Excel و … نمونه هائی از اين نوع نرم افزارها
می باشند. BIOS در حقيقت نوع سومی از نرم افزارها بوده که کامپيوتر بمنظور
عملکرد صحيح خود به آن نياز خواهد داشت. خدمات ارائه شده توسط BIOS نرم
افزار BIOS دارای وطايف متعددی است . ولی بدون شک مهمترين وظيفه آن
استقرار سيستم عامل در حافظه است . زمانيکه کامپيوتر روشن و ريزپردازنده
سعی در اجرای اولين دستورالعمل های خود را داشته باشد ، می بايست
دستورالعمل های اوليه از مکان ديگر در اختيار آن گذاشته شوند ( در حافظه
اصلی کامپيوتر هنوز اطلاعاتی قرار نگرفته است ) دستورالعمل های مورد نظر
را نمی توان از طريق سيستم عامل در اختيار پردازنده قرار داد چراکه هنوز
سيستم عامل در حافظه مستقر نشده و همچنان بر روی هارد ديسک است . مشکل
اينجاست که می بايست با استفاده از روشهائی به پردازنده اعلام گردد که
سيستم عامل را به درون حافظه مستقر تا در ادامه زمينه استفاده از خدمات
سيستم عامل فراهم گردد. BIOS دستورالعمل های لازم را در اين خصوص ارائه
خواهد کرد. برخی از خدمات متداول که BIOS ارائه می دهد ، بشرح زير می
باشد: – يک برنامه تست با نام POST بمنظور بررسی صحت عملکرد عناصر سخت
افراری – فعال کردن تراشه های BIOS مربوط به ساير کارت های نصب شده در
سيستم نظير : کارت گرافيک و يا کنترل کننده SCSI – مديريت مجموعه ای از
تنظيمات در رابطه با هارد ديسک،Clock و … BIOS ، يک نرم افزار خاص است
که بعنوان اينترفيس ( ميانجی ) بين عناصر اصلی سخت افزارهای نصب شده بر
روی سيستم و سيستم عامل ايفای وظيفه می نمايد. نرم افزار فوق اغلب در
حافظه هائی از نوع Flash و بصورت يک تراشه بر روی برد اصلی نصب می گردد.
در برخی حالات تراشه فوق يک نوع خاص از حافظه ROM خواهد بود. زمانيکه
کامپيوتر روشن می گردد BIOS عمليات متفاوتی را انجام خواهد داد: – بررسی
محتويات CMOS برای آگاهی از تنظيمات خاص انجام شده – لود کردن درايورهای
استاندارد و Interrupt handlers – مقدار دهی اوليه ريجسترها و مديريت
Power – اجرای برنامه POST بمنظور اطمينان از صحت عملکرد عناصر سخت افزاری
– تشخيص درايوی که سيستم می بايست از طريق آن راه اندازی (Booting) گردد.
– مقدار دهی اوليه برنامه مربوط به استقرار سيستم عامل در حافظه
(Bootstrap) اولين موردی را که BIOS بررسی خواهد کرد، اطلاعات ذخيره شده
در يک نوع حافظه RAM با ظرفيت ۶۴ بايت است . اطلاعات فوق بر روی تراشه ای
با نام CMOS)Complementry metal oxid semiconductor) ذخيره می گردند. CMOS
شامل اطلاعات جزئی در رابطه با سيستم بوده و درصورت بروز هر گونه تغييردر
سيستم، اطلاعات فوق نيز تغيير خواهند کرد. BIOS از اطلاعات فوق بمنظور
تغيير و جايگزينی مقادير پيش فرض خود استفاده می نمايد. Interrupt
handlers نوع خاصی از نرم افزار بوده که بعنوان يک مترجم بين عناصر سخت
افزاری و سيستم عامل ايفای وظيفه می نمايد.مثلا” زمانيکه شما کليدی را
برروی صفحه کليد فعال می نمائيد، سيگنال مربوطه، برای Interrupt handler
صفحه کليد ارسال شده تا از اين طريق به پردازنده اعلام گردد که کداميک از
کليدهای صفحه کليد فعال شده اند. درايورها يک نوع خاص ديگر از نرم افزارها
بوده که مجموعه عمليات مجاز بر روی يک دستگاه را تبين و راهکارهای ( توابع
) مربوطه را ارائه خواهند. اغلب دستگاه های سخت افزاری نظير: صفحه کليد،
موس ، هارد و فلاپی درايو دارای درايورهای اختصاصی خود می باشند. با توجه
به اينکه BIOS بصورت دائم با سيگنال های ارسالی توسط عناصر سخت افزاری
مواجه است ، معمولا” يک نسخه از آن در حافظه RAM تکثير خواهد شد. راه
اندازی ( بوتينگ، Booting) کامپيوتر پس از روشن کردن کامپيوتر، BIOS
بلافاصله عمليات خود را آغاز خواهد کرد. در اغلب سيستم ها ، BIOS در زمان
انجام عمليات مربوطه پيام هائی را نيز نمايش می دهد ( ميزان حافظه، نوع
هارد ديسک و …) بمنظور آماده سازی کامپيوتر برای ارائه خدمات به
کاربران، BIOS مجموعه ای از عمليات را انجام می دهد. پس از بررسی و آگاهی
از تنظيمات موجود در CMOS و استقرار Interrupt handler در حافظه RAM ،
کارت گرافيک بررسی می گردد. اغلب کارت های گرافيک ، دارای BIOS اختصاصی
بوده که حافظه و پردازنده مربوط به کارت گرافيک را مقدار دهی اوليه می
نمايد. در صورتيکه BIOS اختصاصی برای کارت گرافيک وجود نداشته باشد از
درايور استانداری که در ROM ذخيره شده است ، استفاده و درايو مربوطه فعال
خواهد شد ( درايور استاندارد کارت گرافيک ) در ادامه BIOS نوع راه اندازی
( راه اندازی مجدد (Rebbot) و يا راه اندازی اوليه (Cold Boot ) را تشخيص
خواهد داد .برای تشخيص موضوع فوق، از محتويات آدرس ۰۰۰۰:۰۴۷۲ حافظه
استفاده می گردد. در صورتيکه در آدررس فوق مقدار ۱۲۳h موجود باشد ، بمنزله
“راه اندازی مجدد” بوده و برنامه BOIS بررسی صحت عملکرد حافظه را انجام
نخواهد داد. در غير اينصورت ( در صورت وجود هر مقدار ديگر در آدرس فوق )
يک “راه اندازی اوليه ” تلقی می گردد. در اين حالت بررسی صحت عملکرد و
سالم بودن حافظه انجام خواهد شد. در ادامه پورت های سريال و USB برای
اتصال صفحه کليد وموس بررسی خواهند شد. در مرحله بعد کارت های PCI نصب شده
بر روی سيستم بررسی می گردند. در صورتيکه در هر يک از مراحل فوق BIOS با
اشکالی برخورد نمايد با نواختن چند Beep معنی دار، مورد خطاء را اعلام
خواهد کرد. خطاهای اعلام شده اغلب به موارد سخت افزار سيستم مربوط می
گردد. برنامه BIOS اطلاعاتی در رابطه با نوع پردازنده ، فلاپی درايو ،
هارد ديسک ، حافظه تاريخ و شماره ( ورژن ) برنامه BIOS ، نوع صفحه نمايشگر
را نمايش خواهد داد. در صورتيکه بر روی سيستم از آداپتورهای SCSI استفاده
شده باشد ، BIOS درايور مربوطه آن رااز BIOS اختصاصی آداپتور فعال و BIOS
اختصاصی اطلاعاتی را در رابطه با آداپتور SCSI نمايش خواهد داد. در ادامه
برنامه BIOS نوع درايوی را که می بايست فرآيند انتقال سيستم عامل از آن
آغاز گردد را تشخيص خواهد داد. برای نيل به هدف فوق از تنظيمات موجود در
CMOS استفاده می گردد. اولويت درايو مربوطه برای بوت سيستم متغير و به نوع
سيستم بستگی دارد. اولويت فوق می تواند شامل مواردی نظير : A,C,CD و يا
C,A,CD و … باشد.(A نشاندهنده فلاپی درايو C نشاندهنده هاردديسک و CD
نشاندهنده درايو CD-ROM است ) در صورتيکه درايو مشخص شده شامل برنامه های
سيستم عامل نباشد پيام خطائی نمايش داده خواهد شد. (Non System disk or
disk error ) پيکربندی BIOS در بخش قبل اشاره گرديد که BIOS در موارد
ضروری از تنظيمات ذخيره شده در CMOS استفاده می نمايد. برای تغيير دادن
تنظيمات مربوطه می بايست برنامه پيکربندی CMOS فعال گردد. برای فعال کردن
برنامه فوق می بايست در زمان راه اندازی سيستم کليدهای خاصی را فعال تا
زمينه استفاده از برنامه فوق فراهم گردد. در اغلب سيستم ها بمنظور فعال
شدن برنامه پيکربندی کليد Esc يا Del يا F1 يا F2 يا Ctrl-Esc يا
Ctrl-Alt-Esc را می بايست فعال کرد.( معمولا” در زمان راه اندازی سيستم
نوع کليدی که فشردن آن باعث فعال شدن برنامه پيکربندی می گردد، بصورت يک
پيام بر روی صفحه نمايشگر نشان داده خواهد شد ) پس از فعال شدن برنامه
پيکربندی با استفاده از مجموعه ای از گزينه های می توان اقدام به تغيير
پارامترهای مورد نظر کرد. تنظيم تاريخ و زمان سيستم ، مشخص نمودن اولويت
درايو بوت، تعريف يک رمز عبور برای سيستم ، پيکربندی درايوها ( هارد،
فلاپی ، CD) و … نمونه هائی از گزينه های موجود در اين زمينه می باشند.
در زمان تغيير هر يک از تنظيمات مربوطه در CMOS می بايست دقت لازم را بعمل
آورد چراکه در صورتيکه عمليات فوق بدرستی انجام نگيرد اثرات منفی بر روی
سيستم گذاشته و حتی در مواردی باعث اختلال در راه اندازی سيستم خواهد شد.
BIOS از تکنولوژی CMOS بمنظور ذخيره کردن تنظيمات مربوطه استفاده می نمايد
. در اين تکنولوژی يک باتری کوچک ليتيوم انرژی(برق) لازم برای نگهداری
اطلاعات بمدت چندين سال را فراهم می نمايد ارتقاء برنامه BIOS تغيير
برنامه BIOS بندرت انجام می گيرد. ولی در موارديکه سيستم قديمی باشد،
ارتقاء BIOS ضروری خواهد بود.با توجه به اينکه BIOS در نوع خاصی از حافظه
ROM ذخيره می گردد، تغيير و ارتقاء آن مشابه ساير نرم افزارها نخواهد بود.
بدين منظور به يک برنامه خاص نياز است . برنامه های فوق از طريق توليد
کنندگان کامپيوتر و يا BIOS عرضه می گردند. در زمان راه اندازی سيستم می
توان تاريخ ، شماره و نام توليد کننده BIOS را مشاهده نمود. پس از مشخص
شدن نام سازنده BIOS ، با مراجعه به وب سايت سازنده ، اطمينان حاصل گردد
که برنامه ارتقاء BIOS از طرف شرکت مربوطه عرضه شده است . در صورتيکه
برنامه موجود باشد می بايست آن را Download نمود. پس از اخذ فايل( برنامه)
مربوطه آن را بر روی ديسکت قرار داده و سيستم را از طريق درايو A ( فلاپی
درايو) راه اندازی کرد. در اين حالت برنامه موجود بر روی ديسکت، BIOS
قديمی را پاک و اطلاعات جديد را در BIOS می نويسد. در زمان ارتقاء BIOS
حتما” می بايست به اين نکته توجه گردد که از نسخه ای که کاملا” با سيستم
سازگاری دارد، استفاده گردد در غير اينصورت BIOS با اشکال مواجه شده و
امکان راه اندازی سيستم وجود نخواهد داشت .!

درباره DNS Domain Name System


درباره DNS Domain Name System


درباره DNS Domain Name System

DNS مسئولیت حل مشکل اسامی کامپیوترها
(ترجمه نام به آدرس) در یک شبکه و مسائل مرتبط با برنامه های Winsock را
بر عهده دارد. بمنظور شناخت برخی از مفاهیم کلیدی و اساسی DNS ، لازم است
که سیستم فوق را با سیستم دیگر نامگذاری در شبکه های مایکروسافت(NetBIOS )
مقایسه نمائیم .
قبل از عرضه ویندوز ۲۰۰۰ تمامی شبکه های مایکروسافت
از مدل NetBIOS برای نامگذاری ماشین ها و سرویس ها ی موجود بر روی شبکه
استفاده می کردند. NetBIOS در سال ۱۹۸۳ به سفارش شرکت IBM طراحی گردید.
پروتکل فوق در ابتدا بعنوان پروتکلی در سطح لایه ” حمل ” ایفای وظیفه می
کرد.در ادامه مجموعه دستورات NetBIOS بعنوان یک اینترفیس مربوط به لایه
Session نیز مطرح تا از این طریق امکان ارتباط با سایر پروتکل ها نیز
فراهم گردد. NetBEUI مهمترین و رایج ترین نسخه پیاده سازی شده در این
زمینه است . NetBIOS برای شیکه های کوچک محلی با یک سگمنت طراحی شده است .
پروتکل فوق بصورت Broadcast Base است . سرویس گیرندگان NetBIOS می توانند
سایر سرویس گیرندگان موجود در شبکه را از طریق ارسال پیامهای Broadcast
بمنظور شناخت و آگاهی از آدرس سخت افزاری کامپیوترهای مقصد پیدا نمایند.
شکل زیر نحوه عملکرد پروتکل فوق در یک شبکه و آگاهی از آدرس سخت افزاری یک
کامپیوتر را نشان می دهد. کامپیوتر ds۲۰۰۰ قصد ارسال اطلاعات به کامپیوتری
با نام Exeter را دارد. یک پیام Broadcast برای تمامی کامپیوترهای موجود
در سگمنت ارسال خواهد شد. تمامی کامپیوترهای موجود در سگمنت مکلف به بررسی
پیام می باشند. کامپیوتر Exeter پس از دریافت پیام ،آدرس MAC خود را برای
کامپیوتر ds۲۰۰۰ ارسال می نماید.
همانگونه که اشاره گردید استفاده از
پروتکل فوق برای برطرف مشکل اسامی ( ترجمه نام یک کامپیوتر به آدرس فیزیکی
و سخت افزاری ) صرفا” برای شبکه های محلی با ابعاد کوچک توصیه شده و در
شبکه های بزرگ نظیر شبکه های اترنت با ماهیت Broadcast Based با مشکلات
عدیده ای مواجه خواهیم شد.در ادامه به برخی از این مشکلات اشاره شده است .
بموازات افزایش تعداد کامپیوترهای موجود در شبکه ترافیک انتشار بسته های اطلاعاتی بشدت افزایش خواهد یافت .
پروتکل های مبتنی بر NetBIOS ( نظیر NetBEUI) دارای مکانیزمهای لازم برای
روتینگ نبوده و دستورالعمل های مربوط به روتینگ در مشخصه فریم بسته های
اطلاعاتی NetBIOS تعریف نشده است .
در صورتیکه امکانی فراهم گردد که
قابلیت روتینگ به پیامهای NetBIOS داده شود ( نظیر Overlay نمودن NetBIOS
بر روی پروتکل دیگر با قابلیت روتینگ ، روترها بصورت پیش فرض بسته های
NetBIOS را منتشر نخواهند کرد.
ماهیت BroadCast بودن پروتکل NetBIOS
یکی از دو فاکتور مهم در رابطه با محدودیت های پروتکل فوق خصوصا” در شبکه
های بزرگ است . فاکتور دوم ، ساختار در نظر گرفته شده برای نحوه نامگذاری
است . ساختار نامگذاری در پروتکل فوق بصورت مسطح (Flat) است .

● Flat NetBios NameSpace
بمنظور شناخت و درک ملموس مشکل نامگذاری مسطح در NetBIOS لازم است که در
ابتدا مثال هائی در این زمینه ذکر گردد. فرض کنید هر شخص در دنیا دارای یک
نام بوده و صرفا” از طریق همان نام شناخته گردد. در چنین وضعیتی اداره
راهنمائی و رانندگی اقدام به صدور گواهینمامه رانندگی می نماید. هر راننده
دارای یک شماره سریال خواهد شد. در صورتیکه از اداره فوق سوالاتی نظیر
سوالات ذیل مطرح گردد قطعا” پاسخگوئی به آنها بسادگی میسر نخواهد شد.
– چند نفر با نام احمد دارای گواهینامه هستند؟
– چند نفر با نام رضا دارای گواهینامه هستند؟
در چنین حالی اگر افسر اداره راهنمائی و رانندگی راننده ای را بخاطر تخلف
متوقف نموده و از مرکز و بر اساس نام وی استعلام نماید که آیا ” راننده ای
با نام احمد قبلا” نیز مرتکب تخلف شده است یا خیر ؟” در صورتیکه از طرف
مرکز به وی پاسخ مثبت داده شود افسر مربوطه هیچگونه اطمینانی نخواهد داشت
که راننده در مقابل آن همان احمد متخلف است که قبلا” نیز تخلف داشته است .
یکی از روش های حل مشکل فوق، ایجاد سیستمی است که مسئولیت آن ارائه نام
بصورت انحصاری و غیرتکراری برای تمامی افراد در سطح دنیا باشد. در چنین
وضعیتی افسر اداره راهنمائی و رانندگی در برخورد با افراد متخلف دچار مشکل
نشده و همواره این اطمینان وجود خواهد داشت که اسامی بصورت منحصر بفرد
استفاده شده است . در چنین سیستمی چه افراد و یا سازمانهائی مسئله عدم
تکرار اسامی را کنترل و این اطمینان را بوجود خواهند آورند که اسامی بصورت
تکراری در سطح دنیا وجود نخواهد داشت؟. بهرحال ساختار سیستم نامگذاری می
بایست بگونه ای باشد که این اطمینان را بوجود آورد که نام انتخاب شده
قبلا” در اختیار دیگری قرار داده نشده است . در عمل پیاده سازی اینچنین
سیستم هائی غیر ممکن است.مثال فوق محدودیت نامگذاری بصورت مسطح را نشان می
دهد.
سیستم نامگذاری بر اساس NetBIOS بصورت مسطح بوده و این بدان معنی
است که هر کامپیوتر بر روی شبکه می بایست دارای یک نام متمایز از دیگران
باشد. در صورتیکه دو کامپیوتر موجود بر روی شبکه های مبتنی بر NetBIOS
دارای اسامی یکسانی باشند پیامهای ارسالی از یک کامپیوتر به کامپیوتر دیگر
که دارای چندین نمونه ( نام تکراری ) در شبکه است، می تواند باعث بروز
مشکلات در شبکه و عدم رسیدن پیام ارسال شده به مقصد درست خود باشد.

● اینترفیس های NetBIOS و WinSock
DNS مسائل فوق را بسادگی برطرف نموده است . سیستم فوق از یک مدل سلسله
مراتبی برای نامگذاری استفاده کرده است . قبل از پرداختن به نحوه عملکرد و
جزئیات سیستم DNS لازم است در ابتدا با نحوه دستیابی برنامه ها به پروتکل
های شبکه و خصوصا” نحوه ارتباط آنها با پروتکل TCP/IP آشنا شویم .
برنامه های با قابلیت اجراء بر روی شبکه هائی با سیستم های عامل
مایکروسافت، با استفاده از دو روش متفاوت با پروتکل TCP/IP مرتبط می
گردنند.
▪ اینترفیس سوکت های ویندوز (WinSock)
▪ اینترفیس NetBIOS
اینترفیس های فوق یکی از مسائل اساسی در نامگذاری و ترجمه اسامی در شبکه
های مبتنی بر TCP/IP را به چالش می کشانند.برنامه های نوشته شده که از
اینترفیس NetBIOS استفاده می نمایند از نام کامپیوتر مقصد بعنوان ” نقطه
آخر” برای ارتباطات استفاده می نمایند در چنین مواردی برنامه های NetBIOS
صرفا” مراقبت های لازم را در خصوص نام کامپیوتر مقصد بمنظور ایجاد یک
session انجام خواهند داد. در حالیکه پروتکل های TCP/IP )IP,TCP) هیچگونه
آگاهی از اسامی کامپیوترهای NetBIOS نداشته و در تمامی موارد مراقبت های
لازم را انجام نخواهند داد.
بمنظور حل مشکل فوق( برنامه هائی که از
NetBIOS بکمک اینترفیس NetBIOS با پروتکل TCP/IP مرتبط خواهند شد) از
اینترفیس netBT و یا NetBIOS over TCP/IP استفاده می نمایند. زمانیکه
درخواستی برای دستیابی به یک منبع در شبکه از طریق یک برنامه با اینترفیس
NetBIOS ارائه می گردد و به لایه Application می رسد از طریق اینترفیس
NetBT با آن مرتبط خواهد شد.در این مرحله نام NetBIOS ترجمه و به یک IP
تبدیل خواهد شد. زمانیکه نام NetBIOS کامپیوتر به یک آدرس فیزیکی ترجمه می
گردد درخواست مربوطه می تواند لایه های زیرین پروتکل TCP/IP را طی تا
وظایف محوله دنبال گردد. شکل زیر نحوه انجام عملیات فوق را نشان می دهد.

● اینترفیس Winsock
اغلب برنامه هائی که براساس پروتکل TCP/IP نوشته می گردنند، از اینترفیس
Winsock استفاده می نمایند. این نوع برنامه ها نیازمند آگاهی از نام
کامپیوتر مقصد برای ارتباط نبوده و با آگاهی از آدرس IP کامپیوتر مقصد
قادر به ایجاد یک ارتباط خواهند بود.
کامپیوترها جهت کار با اعداد (
خصوصا” IP ) دارای مسائل و مشکلات بسیار ناچیزی می باشند.در صورتیکه انسان
در این رابطه دارای مشکلات خاص خود است . قطعا” بخاطر سپردن اعداد بزرگ و
طولانی برای هر شخص کار مشکلی خواهد بود. هر یک از ما طی روز به وب سایت
های متعددی مراجعه و صرفا” با تایپ آدرس مربوطه که بصورت یک نام خاص است
(www.test.com) از امکانات سایت مربوطه بهره مند می گردیم. آیا طی این نوع
ملاقات ها ما نیازمند آگاهی از آدرس IP سایت مربوطه بوده ایم؟ بهرحال
بخاطر سپردن اسامی کامپیوترها بمراتب راحت تر از بخاطر سپردن اعداد ( کد )
است . از آنجائیکه برنامه های Winsock نیازمند آگاهی از نام کامپیوتر و یا
Host Name نمی باشند می توان با رعایت تمامی مسائل جانبی از روش فوق برای
ترجمه اسامی استفاده کرد. فرآیند فوق را ترجمه اسامی (Host Name
Resoulation) می گویند.

● موارد اختلاف بین NetBIOS و WinSock
برنامه های مبتنی بر NetBIOS می بایست قبل از ایجاد ارتباط با یک
کامپیوتر، نام NetBIOS را به یک IP ترجمه نمایند.( قبل از ایجاد ارتباط
نام NetBIOS به IP تبدیل خواهد شد.) در برنامه های مبتنی بر WinSock می
توان از نام کامپیوتر (Host name) در مقابل IP استفاده کرد. قبل از عرضه
ویندوز ۲۰۰۰ تمامی شبکه های کامپیوتری که توسط سیستم های عامل ویندوز
پیاده سازی می شدند از NetBIOS استفاده می کردند. بهمین دلیل در گذشته
زمان زیادی صرف ترجمه اسامی می گردید. ویندوز وابستگی به NetBIOS نداشته و
در مقابل از سیستم DNS استفاده می نماید.

● DNS NameSpace
همانگونه که اشاره گردید DNS از یک ساختار سلسله مراتبی برای سیستم
نامگذاری خود استفاده می نماید. با توجه به ماهیت سلسله مراتبی بودن
ساختار فوق، چندین کامپیوتر می توانند دارای اسامی یکسان بر روی یک شبکه
بوده و هیچگونه نگرانی از عدم ارسال پیام ها وجود نخواهد داشت. ویژگی فوق
درست نقطه مخالف سیستم نامگذاری NetBIOS است . در مدل فوق قادر به انتخاب
دو نام یکسان برای دو کامپیوتر موجود بر روی یک شبکه یکسان نخواهیم نبود.
بالاترین سطح در DNS با نام Root Domain نامیده شده و اغلب بصورت یک “.” و
یا یک فضای خالی “” نشان داده می شود. بلافاصله پس از ریشه با اسامی موجود
در دامنه بالاترین سطح (Top Level) برخورد خواهیم کرد. دامنه های .Com ,
.net , .org , .edu نمونه هائی از این نوع می باشند. سازمانهائی که تمایل
به داشتن یک وب سایت بر روی اینترنت دارند، می بایست یک دامنه را که
بعنوان عضوی از اسامی حوزه Top Level می باشد را برای خود اختیار نماید.
هر یک از حوزه های سطح بالا دارای کاربردهای خاصی می باشند. مثلا” سازمان
های اقتصادی در حوزه .com و موسسات آموزشی در حوزه .edu و … domain خود
را ثبت خواهند نمود.شکل زیر ساختار سلسله مراتبی DNS را نشان می دهد.
در هر سطح از ساختار سلسله مراتبی فوق می بایست اسامی با یکدیگر متفاوت
باشد. مثلا” نمی توان دو حوزه .com و یا دو حوزه .net را تعریف و یا دو
حوزه Microsoft.com در سطح دوم را داشته باشیم .استفاده از اسامی تکراری
در سطوح متفاوت مجاز بوده و بهمین دلیل است که اغلب وب سایت ها دارای نام
www می باشند.
حوزه های Top Level و Second level تنها بخش هائی از
سیستم DNS می باشند که می بایست بصورت مرکزی مدیریت و کنترل گردنند.
بمنظور ریجستر نمودن دامنه مورد نظر خود می بایست با سازمان و یا شرکتی که
مسئولیت ریجستر نمودن را برعهده دارد ارتباط برقرار نموده و از آنها
درخواست نمود که عملیات مربوط به ریجستر نمودن دامنه مورد نظر ما را انجام
دهند. در گذشته تنها سازمانی که دارای مجوز لازم برای ریجستر نمودن حوزه
های سطح دوم را در اختیار داشت شرکت NSI)Network Solutions Intcorporated)
بود. امروزه امتیاز فوق صرفا” در اختیار شرکت فوق نبوده و شرکت های متعددی
اقدام به ریجستر نمودن حوزه ها می نمایند.

● مشخصات دامنه و اسم Host
هر کامپیوتر در DNS بعنوان عضوی از یک دامنه در نظر گرفته می شود. بمنظور
شناخت و ضرورت استفاده از ساختار سلسله مراتبی بهمراه DNS لازم است در
ابتدا با FQDN آشنا شویم .

● معرفی FQDN)Fully Qualified Domain Names)
یک FQDN محل یک کامپیوتر خاص را در DNS مشخص خواهد نمود. با استفاده از
FQDN می توان بسادگی محل کامپیوتر در دامنه مربوطه را مشخص و به آن
دستیابی نمود. FQDN یک نام ترکیبی است که در آن نام ماشین (Host) و نام
دامنه مربوطه قرار خواهد گرفت . مثلا” اگر شرکتی با نام TestCorp در حوزه
سطح دوم دامنه خود را ثبت نماید (TestCorp.com) در صورتیکه سرویس دهنده وب
بر روی TestCorp.com اجراء گردد می توان آن را www نامید و کاربران با
استفاده از www.testCorp.com به آن دستیابی پیدا نمایند.
دقت داشته
باشید که www از نام FQDN مثال فوق نشاندهنده یک شناسه خدماتی نبوده و
صرفا” نام host مربوط به ماشین مربوطه را مشخص خواهد کرد. یک نام FQDN از
دو عنصر اساسی تشکیل شده است :
۱) Label : شامل نام حوزه و یا نام یک host است .
۲) Dots : نقطه ها که باعت جداسازی بخش های متفاوت خواهد شد.
هر lable توسط نقطه از یکدیگر جدا خواهند شد. هر lable می تواند حداکثر
دارای ۶۳ بایت باشد. دقت داشته باشید که طول ( اندازه ) هر lable بر حسب
بایت مشخص شده است نه بر حسب طول رشته . علت این است که DNS در ویندوز
۲۰۰۰ از کاراکترهای UTF-۸ استفاده می نماید. بر خلاف کاراکترهای اسکی که
قبلا” از آنان استفاده می گردید. بهرحال FQDN می بایست دارای طولی به
اندازه حداکثر ۲۵۵ بایت باشد.
طراحی نام حوزه برای یک سازمان
قبل از پیاده سازی سیستم ( مدل ) DNS برای یک سازمان ، می بایست به نمونه سوالات ذیل بدرستی پاسخ داد:
– آیا سازمان مربوطه در حال حاضر برای ارتباط اینترانتی خود از DNS استفاده می نماید؟
– آیا سازمان مربوطه دارای یک سایت اینترنتی است ؟
– آیا سازمان مربوطه دارای یک حوزه( دامنه ) ثبت شده ( ریجستر شده ) است ؟
– آیا سازمان مربوطه از اسامی حوزه یکسان برای منابع مربوطه موجود بر روی اینترنت / اینترانت استفاده می نماید؟

● استفاده از نام یکسان دامنه برای منابع اینترنت و اینترانت
استفاده از اسامی یکسان برای نامگذاری دامنه بمنظور استفاده از منابع
موجود داخلی و منابع اینترنتی در مرحله اول بسیار قابل توجه و جذاب خواهد
بود. تمامی ماشین ها بعنوان عضو یک دامنه یکسان محسوب و کاربران نیاز به
بخاطر سپردن دامنه های متفاوت بر اساس نوع منبع که ممکن است داخلی و یا
خارجی باشد نخواهند داشت ..با توجه به وجود مزایای فوق، بکارگیری این روش
می تواند باعث بروز برخی مشکلات نیز گردد. بمنظور حفاظت از ناحیه (Zone)
های DNS از دستیابی غیر مجاز نمی بایست هیچگونه اطلاعاتی در رابطه با
منابع داخلی بر روی سرویس دهنده DNS نگهداری نمود. بنابراین می بایست برای
یک دامنه از دو Zone متفاوت استفاده نمود. یکی از Zone ها منابع داخلی را
دنبال و Zone دیگر مسئولیت پاسخگوئی به منابعی است که بر روی اینترنت قرار
دارند. عملیات فوق قطعا” حجم وظایف مدیریت سایت را افزایش خواهد داد.
● پیاده سازی نام یکسان برای منابع داخلی و خارجی
یکی دیگر از عملیاتی که می بایست در زمان پیاده سازی دامنه های یکسان برای
منابع داخلی و خارجی مورد توجه قرار دارد Mirror نمودن منابع خارجی بصورت
داخلی است . مثلا” فرض نمائید که Test.com نام انتخاب شده برای دستیابی به
منابع داخلی ( اینترانت) و منابع خارجی ( اینترنت ) است.درچنین وضعیتی
دارای سرویس دهنده وب برا یاینترانت باشیم که پرسنل سازمان از آن بمنظور
دستیابی به اطلاعات اختصاصی و سایر اطلاعات داخلی سازمان استفاده می
نمایند.در این مدل دارای سرویس دهندگانی خواهیم بود که بمنظور دستیابی به
منابع اینترنت مورد استفاده قرار خواهند گرفت . ما می خواهیم از اسامی
یکسان برای سرویس دهندگان استفاده نمائیم . در مدل فوق اگر درخواستی برای
www.test.com صورت پذیرد مسئله به کامپیوتری ختم خواهد شد که قصد داریم
برای کاربران اینترنت قابل دستیابی باشد. در چنین وضعیتی ما نمی خواهیم
کاربران اینترنت قادر به دستیابی به اطلاعات شخصی و داخلی سازمان باشند.
جهت حل مشکل فوق Mirror نمودن منابع اینترنت بصورت داخلی است و ایجاد یک
zone در DNS برای دستیابی کاربران به منابع داخلی ضروری خواهد بود.
زمانیکه کاربری درخواست www.test.com را صادر نمائید در ابتدا مسئله نام
از طریق سرویس دهنده داخلی DNS برطرف خواهد شد که شامل zone داخلی مربوطه
است . زمانی که یک کاربر اینترنت قصد دستیابی به www.test.com را داشته
باشد درخواست وی به سرویس دهنده اینترنت DNS ارسال خواهدشد که در چنین
حالتی آدرس IP سرویس دهنده خارجی DNS برگردانده خواهد شد.

● استفاده از اسامی متفاوت برای دامنه ها ی اینترنت و اینترانت
در صورتیکه سازمانی به اینترنت متصل و یا در حال برنامه ریزی جهت اتصال به
اینترنت است می توان از دو نام متفاوت برای دستیابی به منابع اینترانتی و
اینترنتی استفاده نمود. پیاده سازی مدل فوق بمراتب از مدل قبل ساده تر است
. در مدل فوق نیازی به نگهداری Zone های متفاوت برای هر یک از آنها نبوده
و هریک از آنها دارای یک نام مجزا و اختصاصی مربوط به خود خواهند بود.
مثلا” می توان نام اینترنتی حوزه را Test.com و نام اینترانتی آن را
TestCorp.com قرار داد.
برای نامگذاری هر یک از زیر دامنه ها می توان اسامی انتخابی را براساس نوع فعالیت و یا حوزه جفرافیائی انتخاب نمود.

● Zones of Authority
DNS دارای ساختاری است که از آن برای گروه بندی و دنبال نمودن ماشین
مربوطه براساس نام host در شبکه استفاده خواهد شد. بمنظور فعال نمودن DNS
در جهت تامین خواسته ای مورد نظر می بایست روشی جهت ذخیره نمودن اطلاعات
در DNS وجود داشته باشد.اطلاعات واقعی در رابطه با دامنه ها در فایلی با
نام Zone database ذخیره می گردد. این نوع فایل ها، فایل های فیزیکی بوده
که بر روی سرویس دهنده DNS ذخیره خواهند شد. آدرس محل قرار گیری فایل های
فوق %systemroot%system۳۲dns خواهد بود. در این بخش هدف بررسی Zone های
استاندارد بوده که به دو نوع عمده تقسیم خواهند شد.
▪ Forward Lookup Zone
▪ Reverse Lookup Zone
در ادامه به تشریح عملکرد هر یک از Zone های فوق خواهیم پرداخت .

● Forward Lookup Zone
از این نوع Zone برای ایجاد مکانیزمی برای ترجمه اسامی host به آدرس IP
برای سرویس گیرندگان DNS استفاده می گردد. Zone ها دارای اطلاعاتی هستند
که بصورت رکوردهای خاص در بانک اطلاعاتی مربوطه ذخیره خواهند شد. این نوع
رکوردها را ” رکوردهای منبع Resource Record ” می گویند. رکوردهای فوق
اطلاعات مورد نیاز در رابطه با منابع قابل دسترس در هر Zone را مشخص
خواهند کرد.

● تفاوت بین Domain و Zone
در ابتدا می بایست به این نکته اشاره نمود که Zone ها با دامنه ها
(Domain) یکسان نبوده و یک Zone می تواند شامل رکوردهائی در رابطه با
چندین دامنه باشد. مثلا” فرض کنید ، دامنه www.microsoft.com دارای دو زیر
دامنه با نام East , West باشد. (West.microsoft.com , East.microsoft.com
). مایکروسافت دارای دامنه اختصاصی msn.com بوده که خود شامل دارای یک
زیردامنه با نام mail.microsoft.com است
دامنه های همجوار و غیر
همجوار در شکل فوق نشان داده شده است . دامنه های همجوار همدیگر را حس
خواهند کرد ( برای یکدیگر ملموس خواهند بود ) . در رابطه با مثال فوق
دامنه های موجود در Zone Microsoft.com همجوار و دامنه های Msn.com و
Microsoft.com غیر همجوار هستند.
Zone ها مجوز واگذاری مسئولیت برای
پشتیبانی منابع موجود در Zone را فراهم خواهند کرد. Zone ها روشی را
بمنظور واگذاری مسئولیت پشتیبانی و نگهداری بانک اطلاعاتی مربوطه فراهم
خواهند کرد. فرض کنید شرکتی با نام TACteam وجودداشته باشد. شرکت فوق از
دامنه ای با نام tacteam.net استفاده می نماید. شرکت فوق دارای شعباتی در
San Francisco, Dallas, and Boston است . شعبه اصلی در Dallas بوده که
مدیران متعددی برای مدیریت شبکه در آن فعالیت می نمایند. شعبه San
Francisco نیز دارای چندین مدیر ورزیده بمنظور نظارت بر سایت است . شعبه
Boston دارای مدیریتی کارآمد برای مدیریت DNS نمی باشد. بنابراین همواره
نگرانی های مربوط به واگذاری مسئولیت نگهداری بانک اطلاعاتی به یک فرد در
Boston خواهیم بود. منابع موجود بر روی سایت Dallas در حوزه tacteam.net
بوده و منابع موجود در San Francisco در سایت west.tacteam.net و منابع
موجود در Boston در سایت east.tacteam.net نگهداری می گردنند. در چنین
وضعیتی ما صرفا” دو Zone را برای مدیریت سه دامنه ایجاد خواهیم کرد. یک
Zone برای tacteam.net که مسئولیت منابع مربوط به tacteam.net و
east.tacteam.net را برعهده داشته و یک Zone دیگر برای west.tacteam.net
که منابع موجود بر روی سایت San Francisco را برعهده خواهد گرفت . اسامی
مورد نظر برای هر Zone به چه صورت می بایست انتخاب گردنند؟ هر Zone نام
خود را از طریق ریشه و یا بالاترین سطح دامنه اقتباس خواهند شد. زمانیکه
درخواستی برای یک منبع موجود بر روی دامنه west.tacteam.net برای DNS واصل
گردد ( سرویس دهنده DNS مربوط به tacteam.net ) سرویس دهنده tacteam.net
صرفا” شامل یک Zone نخواهد بود.در چنین وضعینی سرویس دهنده فوق دارای یک
Delegation ( واگذاری مسئولیت ) بوده که به سرویس دهنده DNS مربوط به
west.tacteam.net اشاره خواهد کرد. بنابراین درخواست مربوطه برای ترجمه
اسامی به آدرس بدرستی به سرویس دهنده مربوطه هدایت تا مشکل برطرف گردد.

● Reverse Lookup Zones
Zoneها ی از نوع Forward امکان ترجمه نام یک کامپیوتر به یک IP را فراهم
می نمایند..یک Reverse Lookup این امکان را به سرویس گیرندگان خواهد داد
که عملیات مخالف عملیات گفته شده را انجام دهند: ترجمه یک آدرس IP به یک
نام . مثلا” فرض کنید شما می دانید که آدرس IP مربوط به کامپیوتر مقصد
۱۹۲.۱۶۸.۱.۳ است اما علاقه مند هستیم که نام آن را نیز داشته باشیم .
بمنظور پاسخگوئی به این نوع درخواست ها سیستم DNS از این نوع Zone ها
استفاده می نماید. Zone های فوق بسادگی و راحتی Forward Zone ها رفتار نمی
نمایند. مثلا” فرض کنید Forward Lookup Zone مشابه یک دفترچه تلفن باشد
ایندکس این نوع دفترچه ها بر اساس نام اشخاص است . در صورتیکه قصد یافتن
یک شماره تلفن را داشته باشید با حرکت بر روی حرف مربوطه و دنبال نمودن
لیست که بترتیب حروف الفباء است قادر به یافتن نام شخص مورد نظر خواهید
بود. اگر ما شماره تلفن فردی را بدانیم و قصد داشته باشیم از نام وی نیز
آگاهی پیدا نمائیم چه نوع فرآیندی را می بایست دنبال نمود؟. از آنجائیکه
دفترچه تلفن بر اساس نام ایندکس شده است تنها راه حرکت و جستجو در تمام
شماره تلفن ها و یافتن نام مربوطه است .قطعا” روش فوق روش مناسبی نخواهد
بود. بمنظور حل مشکل فوق در رابطه با یافتن نام در صورتیکه IP را داشته
باشیم از یک دامنه جدید با نام in-addr.arpa استفاده می گردد. دامنه فوق
اسامی مربوطه به دامنه ها را بر اساس شناسه شبکه (Network ID) ایندکس و
باعث افزایش سرعت و کارآئی در بازیابی اطلاعات مورد نظر با توجه به نوع
درخواست ها خواهد شد.
با استفاده از برنامه مدیریتی DNS می توان
براحتی اقدام به ایجاد این نوع Zone ها نمود. مثلا” اگر کامپیوتری دارای
آدرس ۱۹۲.۱۶۸.۱.۰ باشد یک آدرس معکوس ایجاد و Zone مربوطه بصورت زیر خواهد
بود :

۱.۱۶۸.۱۹۲.in-addr.arpa.dns