دی۱۶۱۳۸۷

این حق کاربران اینترنت در ایران نیست!

دی۱۴۱۳۸۷

آشنایی با TelNet

http://www.ipcas.com/images/stories/support/linuxbox/telnet2rs232.jpg

Telnet در اصل پروتکلی است که برای login و استفاده از یک کامپیوتر دیگر به کار می رود. روش اجرای Telnet در لینوکس یا انواع دیگر Unix و نیز ویندوز ۲۰۰۰ تا حد خیلی زیادی شبیه چیزی است که ما گفتیم. برای آشنایی بیشتر با telnet و گرفتن جواب دقیقتر سوالات بالا روی مـــن کلیک کنید که به یک میزبان واقعی Telnet شما را متصل می کند که می توانید به رایگان عضو شوید و از خدمات آن استفاده کنید. خواهید دید که لینک فوق در حقیقت Hyper Terminal را باز می کند. در حقیقت هم اگر به درون Hyper Terminal بروید می توانید در قسمت برقراری تماس با انتخاب TCP/IP مستقیما از آن به عنوان Telnet استفاده کنید. اما اینکه Telnet در هک چه نقشی داره و چه فایده ای داره کلاً رو از زبان “کارولین مینل” برایتان می نویسم: “فقط با یک سرویسگیر Telnet [مثل همین Telnet خودمون در ویندوز] شما می توانید:
- ایمیل بفرستید.
- سورس (متن برنامه) سایتها را بخوانید.
به میزبانهای وب ورودیهای غیر منتظره بفرستید که می تواند سبب دریافت پاسخهای شگفت انگیز و گاهی غیر قانونی شود.
- به بسیاری از دیگر سرویسهای کامپیوترهای میزبان وب ورودی دلخواه خود را بدهید.
- در سرویسهایی که میزبانها، روترها و حتی کامپیوترهای شخصی مردم در منزلشان در اختیار شما می گذارند کاوش و جستجو کنید.” تلنت کردن معمولا اولین کاری است که یک هکر برای هک کردن یک سایت انجام میدهد، زیرا بعضی از پورتها در صورت بسته نبودن روی آن سرور، معمولا حاوی اطلاعات بسیار مهمی هستند.(به همین دلیل ما باید اول پورتها رو چک کنیم بعد telnet چون اگر پورتی که ما بهش telnet میکنیم close باشه دستور اجرا نمیشه) موضوع مهمی که یک نفوذ گر واقعی به آن توجه می کند در سه اصل خلاصه شده است :
۱) او هیچگاه سعی در استفاده از برنامه هایی که دیگران نوشته اند نمی کند … »البته ممکن است تعدادی از هکر ها باشند که با استفاده از تروجان ها یا Back doors ها به این کار بیپردازند و فقط خود را با این مباحث ساده درگیر کنند.
۲) معمولا از به کارگیری برنامه های گرافیکی که حتی خود طراحی کرده اند نفرت دارند و فقط در دنیای سیاه و سفید msdos-prompt برای خود حکومت تشکیل میدهند.(در اصل از استفاده نرم افزار برای هک نفرت دارند)
۳) موضوع سوم و اساسی این است که فقط یک چیز را در دنیا میشناسند و آن هم تایپ کردن است.تایپ در صفحه سیاه و سفید command prompt .
در ویندوز XP، یکی از بهترین ابزارهایی که در دست شماست، همان صفحه مشکی Command prompt است. در ویندوز XP دو نوع DOS وجود دارد. یکی cmd.exe و دیگری command.com که cmd.exe برای کارهای ما مناسبتر است و کلیک روی دگمه Start و انتخاب All programs و انتخاب Accessories و سپس کلیک روی Command prompt نیز همین را باز خواهد کرد. (راه مناسبتر: دگمه ویندوز کیبورد را به همراه حرف R فشار دهید، تایپ کنید cmd و Enter کیبورد را فشار دهید). تایپ کردن Help و فشردن Enter لیستی از دستورات را برای شما به نمایش در می آورد که متاسفانه دستورهای مناسب برای هک را از قلم انداخته است. (ناگفته نماند که Help ویندوزXP اگر بدانید که در کجای آن به دنبال چه بگردید نسبتاً کامل است).
از جمله مهمترین این دستورها می توان به دستورات زیر اشاره کرد:

TCP/IP command: telnet, netstat, nslookup, tracert, ping, ftp NetBIOS commands: nbtstat, net use, net view, net localgroup

(و چند دستور دیگر) در این شماره، برای اینکه هم کمی با telnet (که به عنوان یکی از مهمترین ابزارهای هک مطرح بوده و هست) آشنا شوید هم از موضوعی شروع کرده باشیم که ملموس و جذاب باشد، فرستادن ایمیل از طرف هرکسی به هرکسی با telnet را آموزش می دهیم (من هم می دونم که راههای آسونتری برای این کار هست و راحتترین راهش استفاده از Outlook مایکروسافت است، اما مطمئنم از دیدن پشت صحنه نمایش فرستادن ایمیل لذت خواهید برد). قبل از هر چیز بگم که telnet کردن به خودی خود جرم نیست و استفاده از telnet برای فرستادن یا گرفتن ایمیل نه ضرری برای شما دارد و نه میزبان. اما شما این حق را ندارید که از طرف کسی به کس دیگر ایمیل بزنید مگر با اجازه آنها.اول وارد صفحه سیاه خط فرمان شوید (مراحل نوشته شده در بالا)، حالا می خواهیم از دستور telnet استفاده کنیم:
telnet target port به جای target آدرس سایت یا کامپیوتر و به جای port باید آدرس پورت را وارد کنید. در مثال این شماره با فرستادن ایمیل (smtp) سروکار داریم که پورت آن ۲۵ است و آدرس نیز آدرس یک سرور ایمیل باید باشد. به عنوان مثال telnet mail.hamsafar.com ۲۵ را خواهیم داشت. همسفر، وب سایت من که عضویت در آن را به شما توصیه می کنم، فقط یک مثال است و شما می توانید از هر آدرس مشابهی استفاده کنید. جوابی دریافت خواهید کرد که معمولا شامل نام میزبان ایمیل است. حالا وقت سلام کردن با دستور helo است (دستور ehlo هم داریم که می توانید امتحانش کنید). بهتر است جلوی helo آدرس ایمیل فرستنده را درج نمایید. با گرفتن جواب سلام، برای فرستادن ایمیل از دستور mail استفاده می کنیم:mail from leyli@masalan-ye-sity.com بعد از گرفتن OK حالا گیرنده را معرفی می کنیم: rcpt to: majnoon@hamsafar.com این بار بعد از گرفتن OK دستور data را تایپ و Enter کنید. توجه کنید که میزبان به شما می گوید وقتی کارتان تمام شد . بزنید که این یعنی زدن یک Enter، تایپ کردن یک نقطه و دوباره زدن Enter. حالا وقت وارد کردن Subject، to و from و سپس زدن دو Enter و وارد کردن متن ایمیل و سپس زدن Enter، تایپ کردن نقطه و زدن Enter دوم است. در عکس بالا فقط Subject وارد شده است. نمونه کاملتری که شامل To و From می باشد به صورت زیر است:

data ۳۵۴ ok, send it; end with . From: Leyli@masalan-ye-sity.com To
Majnoon@hamsafar.com Subject: Salam! In email faghat be ghasde azmayesh ferestade shode ast. Rooze khooby dashte bashid . ۲۵۰ Message queued

▪ چند نکته مهم :
ـ سوال : اسم Target که در قالب Telnet target port مطرح کردیم چیست و چرا برخی به جای آن ۴ تا عدد می زنند؟
ـ پاسخ: هر کامپیوتر روی اینترنت با ۴ عدد بین ۰ تا ۲۵۵ که با نقطه از هم جدا می شوند مشخص می شود. در XP برای فهمیدن IP خود کافی است که روی مانیتورهای نشاندهنده اتصال شما به اینترنت دابل کلیک کنید و از بالای پنجره ظاهر شده با انتخاب قسمت جزئیات (Details) آدرس IP خود را خواهید دید.(برای کسانی که ویندوز قدیمی دارند معمولا یک راه مناسب تایپ کردن winipcfg در پنجره Run و فشردن Enter است). حال وقتی که کسی یک Domain ثبت می کند، در واقع روی این عددها یک اسم می گذارد. این کار دو فایده اساسی دارد. یکی اینکه اگر عدد فرد به هر دلیل عوض شود لازم نیست دوباره به همه خبر دهد و دلیل دیگر آن این است که اسم ساده تر به خاطر سپرده می شود و احتمال اشتباه در آن کمتر است. همانطور که می بینید تشبیه IP به شماره تلفن تا حدی به فهم آن کمک خواهد کرد. در اینجا قصد نداریم وارد بحث دقیق IP بشویم اما دو عدد اول IP حتما به اینکه از کجا اینترنت دارید مربوط است و به طور تئوری با داشتن IP شما می توان مکان شما را به صورت فیزیکی هم در روی کره زمین مشخص کرد. برای دانستن IP یک سایت کافی است که از داخل Command Prompt، دستور Ping را اجرا کنید. به سادگی تایپ کنید Ping yahoo.com یا Ping hamsafar.com تا IP را ببینید. پس حالا دیدید که در واقع منظور از Target شماره آن کامپیوتری است که قصد دارید به آن متصل شوید. (مفهوم Port و کمی از پروتکل Telnet:) سوال : اصطلاح port که در قالب Telnet target port مطرح کردیم چیست و چرا ما آنرا برابر ۲۵ گرفتیم؟ اگر جای آن را خالی بگذاریم چه می شود؟ ترجمه کلمه port به فارسی “بندر” می شود. کامپیوتر مقصد را به صورت جزیره ای تصور کنید که چندین بندر دارد و هرکدام تخصص خاص خود را دارند. یکی برای نفتکشهاست یکی برای صادرات سنگ معدن و… .
Port روی کامپیوتر هم در حقیقت همچین مفهومی داره. Port کامپیوتر جایی است که اطلاعات می توانند از آن خارج یا به آن وارد شوند. کیبورد، پرینتر، نمایشگر و مودم از پورتهایی هستند که به راحتی از آنها درک فیزیکی دارید اما پورتهای مجازی توسط نرم افزار ایجاد می شوند. وقتی پورت مودم شما به اینترنت متصل می شود، کامپیوتر شما می تواند هر کدام از پورتها را که تعدادشان بیش از ۶۵۰۰۰ عدد است ببندد یا باز بگذارد و نیز می تواند به هر کدام از این پورتهای یک کامپیوتر دیگر متصل شود (البته در صورتی که آن کامپیوتر بر روی این پورت چیزی در حال اجرا داشته باشد و نیز دیوارآتش (firewall) آن را نبسته باشد. (در ویندوز XP هنگامی که اینترنت خود را تنظیم می کنید این امکان را به شما می دهد که با استفاده از دیوار آتش جلوی نفوذ دیگران به شما را بگیرد که به طور پیش فرض خودش آنرا فعال می کند). پورتهای خاص کاربردهای خاص دارند. پورت ۲۵ معمولا برای SMTP (مخفف Simple mail transfer protocol ) است و ما برای ارسال ایمیل از آن استفاده کردیم. اگر قصد دریافت ایمیلهایمان را داشتیم به چورت ۱۱۰ سر می زدیم، برای مشاهده صفحات وب به سراغ پورت ۸۰ می رویم و… (درست حدس زدید! Outlook هم به طور پیش فرض برای ارسال ایمیل از پورت ۲۵ و برای دریافت آن از پورت ۱۱۰ استفاده می کند و اینترنت اکسپلورر هم به پورت ۸۰ شماره IP آدرس سایتی که می نویسید سر می زند.) و در پایان اگر پورت را ننویسید، پورت برابر ۲۳ فرض می شود که پورت Telnet است. به پاسخ سوال اول دوباره سر بزنید. وقتی روی لینکی که داده ام کلیک می کنید در حقیقت به پورت ۲۳ آن میزبان متصل می شوید. امروزه بسیاری از سایتها بخصوص سایتهایی که از میزبانی ویندوزی استفاده می کنند سرویس Telnet ندارند و امکان اتصال به پورت ۲۳ وجود ندارد اما من باز هم توصیه می کنم که برای تجربه Shell Account هم که شده Telnet واقعی را تجربه کنید. این Telnet در حقیقت معمولا یک BBS هم هست اما امکانات بسیار زیادی هم برای یک هکر دارد. برای آشنایی اولیه صرف اینکه کمی انگلیسی بفهمید و هرموقع گیر کردید تایپ کنید Help و Enter کنید باید کافی باشد. سوال :آدرس مورد استفاده در Telnet برای سایتهای مختلف را چگونه پیدا کنیم؟ پاسخ:اگرچه بسیاری از سایتها از همان mail.domain-name.com استفاده می کنند، این امر همه گیر نیست. در ویندوز و با استفاده از cmd.exe خودمان به راحتی می توانیم این آدرس را برای ۹۹% دومینها تعیین کنیم. پس از اجرای cmd، دستور nslookup را با تایپ کردن این کلمه و فشردن Enter اجرا کنید. از آنجایی که ما قصد گرفتن اطلاعات در مورد سامانه دریافت ایمیل آن سایت را داریم، از کد mx که مخفف mail exchanger است استفاده می کنیم. به طور کلی اطلاعات یک domain شامل چند قسمت است که برای مورد ما فقط این اطلاعات مورد نیاز است. پس تایپ کنید set q=mx و Enter را فشار دهید. حال کافی است نام domain را تایپ و Enter کنید. در برخی موارد مانند مثال زیر فقط یک جواب می گیرید:

irib.com Server: UnKnown Address: ۲۱۳.۱۶۵.۱۲۳.۱ irib.com MX preference = ۶۰, mail exchanger = mail.irib.com mail.irib.com internet address = ۶۲.۲۲۰.۱۱۹.۶۰ و یا مثال زیر: irna.com MX preference = ۱۰, mail exchanger = irna.com irna.com nameserver = ns۱.gpg.com irna.com nameserver = ns۱.irna.net irna.com nameserver = ns۱.simorgh.com irna.com nameserver = ns۲.irna.net irna.com internet address = ۲۰۹.۱.۱۶۳.۱۰۱ ns۱.irna.net internet address = ۲۱۷.۲۵.۴۸.۱۸ ns۱.irna.net internet address = ۱۹۴.۱۲۶.۶۱.۸ ns۲.irna.net internet address = ۱۹۴.۱۲۶.۶۱.۷ ns۲.irna.net internet address = ۲۱۷.۲۵.۴۸.۱۷

که نشان می دهد برای آدرس irib.com باید از mail.irdir.com استفاده کرد و برای آدرس irna.com باید از irna.com استفاده کرد. به قسمت قرمز رنگ دقت کنید. همیشه پاسخ مورد نظر ما بعد از عبارت mail exchanger قرار می گیرد. گاهی تعداد جوابها بیشتر است:

hamsafar.com
MX preference = ۱۰, mail exchanger = mail.hamsafar.com hamsafar.com MX preference = ۱۵, mail exchanger = hamsafar.com mail.hamsafar.com internet address = ۳۸.۱۱۸.۱۴۳.۹۸ hamsafar.com internet address = ۳۸.۱۱۸.۱۴۳.۹۸ و یا مثال زیر: hotmail.com MX preference = ۵, mail exchanger = mx۴.hotmail.com hotmail.com MX preference = ۵, mail exchanger = mx۱.hotmail.com hotmail.com MX preference = ۵, mail exchanger = mx۲.hotmail.com hotmail.com MX preference = ۵, mail exchanger = mx۳.hotmail.com hotmail.com nameserver = ns۱.hotmail.com hotmail.com nameserver = ns۲.hotmail.com hotmail.com nameserver = ns۳.hotmail.com hotmail.com nameserver = ns۴.hotmail.com mx۴.hotmail.com internet address = ۶۵.۵۴.۲۵۴.۱۵۱ mx۴.hotmail.com internet address = ۶۵.۵۴.۲۵۳.۲۳۰ mx۱.hotmail.com internet address = ۶۵.۵۴.۲۵۴.۱۲۹ mx۱.hotmail.com internet address = ۶۵.۵۴.۲۵۲.۹۹ mx۱.hotmail.com internet address = ۶۵.۵۴.۱۶۶.۹۹ mx۲.hotmail.com internet address = ۶۵.۵۴.۲۵۴.۱۴۵ mx۲.hotmail.com internet address = ۶۵.۵۴.۲۵۲.۲۳۰ mx۲.hotmail.com internet address = ۶۵.۵۴.۱۶۶.۲۳۰ mx۳.hotmail.com internet address = ۶۵.۵۴.۲۵۴.۱۴۰ mx۳.hotmail.com internet address = ۶۵.۵۴.۲۵۳.۹۹ ns۱.hotmail.com internet address = ۲۱۶.۲۰۰.۲۰۶.۱۴۰ ns۲.hotmail.com internet address = ۲۱۶.۲۰۰.۲۰۶.۱۳۹ ns۳.hotmail.com internet address = ۲۰۹.۱۸۵.۱۳۰.۶۸ ns۴.hotmail.com internet address = ۶۴.۴.۲۹.۲۴ و یا مثال زیر: cnn.com MX preference = ۱۰, mail exchanger = atlmail۴.turner.com cnn.com MX preference = ۲۰, mail exchanger = atlmail۲.turner.com cnn.com MX preference = ۳۰, mail exchanger = nymail۱.turner.com cnn.com MX preference = ۱۰, mail exchanger = atlmail۱.turner.com cnn.com nameserver = twdns-۰۴.ns.aol.com cnn.com nameserver = twdns-۰۱.ns.aol.com cnn.com nameserver = twdns-۰۲.ns.aol.com cnn.com nameserver = twdns-۰۳.ns.aol.com atlmail۱.turner.com internet address = ۶۴.۲۳۶.۲۴۰.۱۴۶ atlmail۴.turner.com internet address = ۶۴.۲۳۶.۲۲۱.۵ atlmail۲.turner.com internet address = ۶۴.۲۳۶.۲۴۰.۱۴۷ nymail۱.turner.com internet address = ۶۴.۲۳۶.۱۸۰.۹۵

اگر کمی دقت کنید، قسمت MX preference همواره دارای یک عدد است. اگر جوابهای متفاوتی پیدا شد، جوابی که عدد MX preference آن کمتر باشد به طور معمول انتخاب مناسبتری است و باید اولین جوابی باشد که امتحان می کنید. با این روش شما می توانید بدون استفاده از SMTP خاصی ایمیلهای خود را ارسال کنید یا برنامه ای بنویسید که ایمیل ارسال کند. سوالی که در اینجا پیش می آید این است که چه کارهایی در این زمینه مجاز و چه کارهایی غیرقانونی است. فرستادن ایمیل به هزاران نفر طوری که به هر کدام فقط یک ایمیل برسد و آنها راهی برای خروج از لیست شما داشته باشند غیرقانونی نیست اما ممکن است ISP یا Host شما را عصبانی کند، بنابراین بهتر است از آنها سوال کنید یا حداقل مطمئن باشید که در قراردادی که با آنها امضا کرده اید ممنوعیت این مورد ذکر نشده باشد. البته اگر این ایمیل طوری فرستاده شود که فرستنده آن صحیح نباشد و به نظر برسد که از طرف کس دیگری آمده است قابل پیگرد قانونی است و افراد زیادی در دنیا به این دلیل محاکمه شده اند. فرستادن چندین ایمیل به یک فرد طوری که سبب مزاحمت وی یا از دست رفتن برخی از اطلاعات وی شود جرو است و از طریق مراجع ذیصلاح قابل پیگرد قانونی می باشد. فرستادن ایمیل طوری که به نظر برسد از آدرسی دیگر آمده است، اگر آن آدرس دیگر متعلق به شما نباشد علاوه بر غیر اخلاقی بودن عمل، انشاءالله قابل پیگیری قانونی می باشد. از توضیح نصب و کار با SMTP روی ویندوز شخصی منصرف شدیم، اما همین قدر بدانید که از control panel-> add/remove programs بایأ به قسمت add/remove windows components بروید و از آنجا IIS و Message queuing را نصب کنید و سپس در صورت نیاز آنها را تنظیم کنید. به این شکل شما قادر به فرستادن ایمیل با telnet کردن به آدرس localhost یا آدرس IP ۱۲۷.۰.۰.۱ به هر آدرسی خواهید بود. امیدوارم بعد از خواندن این صفحات به این نتیجه رسیده باشید که هرکسی به راحتی می تواند هر ایمیلی را از طرف کس دیگری برای شما ارسال کند و در مورد ایمیلهای مشکوک باید احتیاط کنید. البته مشکلات ایمیل به اینجا ختم نمی شود… ایمیل را به طور معمول به کارت پستال بدون پاکت تشبیه می کنند به این مفهوم که در مسیر رایانه شما به رایانه گیرنده نامه در تمام مسیرهای میانی و توسط پستچیها قابل خواندن است!
اگرچه متاسفانه در ایران به دلیل اهمیت ندادن به امنیت اطلاعات، تمامی مکالمات تلفنی (بخصوص تلفن همراه)، فکس و مانند آنها هم همین حکم را دارند و در مقایسه وضع ایمیل کمی بهتر است (بعد بگید چرا تجارت الکترونیکی نداریم… یا بگید چرا بانکها خودشون برا خودشون شبکه راه می اندازند یا…)! سوال :جگونه می شود به یک پورت باز telnet کرد؟ پاسخ:برای اینکه عملکرد یک پورت برای شما روشن شود، باید به آن پورت Telnet کنید.البته معمولا تعدادی از پورتهایی را که ممکن است اطلاعاتی مهم را در اختیار هکرها قرار دهند مثل پورت ۷۹ یا ۸۰ معمولا بسته است و ارتباط با آنها شاید برقرار نشود. برای telnet کردن در command prompt دستور زیر را تایپ کنید: telnet hostname portnum در این دستور بهجای hostname شماره ip و یا نام سایت را وارد میکنید و بهجای portnum شماره پورت توجه کنید که فقط در صورتی میتوانید با یک پورت تلنت کنید که ان پورت open باشد . مثلا برای تلنت کردن به پورت ۱۳ که ساعت و تاریخ را بهدست میدهد در کامپیوتری با IP : ۱۹۲.۱۶۸.۱۰۰.۳۵ مینویسید: telnet ۱۹۲.۱۶۸.۱۰۰.۳۵ ۱۳ یا اگر ip سایت مورد نظر رو بلد نبودید (بعد روش بدست اوردن ip رو هم میگم) میتوانید از این راه استفاده کنید:

telnet yahoo.com ۱۳

سایت یاسین نیساری تبریزی ( www.naisari.tripod.com )

دی۱۴۱۳۸۷

آموزش NAT در سیسکو

Network Address Translation

NAT یکی از ابزارهای قدرتمند دنیای IT است که دقیقا همان کاری را انجام می دهد که از اسم آن بر می آید,به وسیله NAT میتوانیم آدرسهای یک شبکه را به یک شبکه دیگر ترجمه کنیم.
NAT تقریبا در تمامی سیستم عاملها و روتر ها قابل انجام است که هر کدام شیوه و روش خود را دارند.
برای همه متخصصین واضح است که قوی ترین روتر های دنیا Cisco هستند و تقریبا ۸۰ درصد از بستر اینترنت بر روی دستگا های Cisco بنا شده اند. در این آموزش به توضیح مراحل انجام NAT به صورت عملی بر روی سخت افزارهای سیسکو می پردازیم.

از کاربردهای NAT می توان به موارد زیر اشاره کرد:

  • ترجمه IP های Private به Public یا بلعکس
  • تغییر مرکز سرویس دهنده اینترنت بدون نیاز به تغییر IP ها داخلی
  • حفاظت از یک شبکه حساس در مقابل برخی حملات خارجی
  • تغییر پورت مقصد پکتها برای کاربران داخلی به صورت transparent

تعریف برخی اصطلاحات:

  • Inside Local : به آدرسی (هایی) اطلاق میشود که بر روی کلاینتهای شبکه داخلی تنظیم شده اند.
  • Inside Global : به آدرسی اطلاق میشود که به اینترفیس داخلی روتر که به شبکه داخلی متصل است داده شده است.
  • Outside Local : به آدرسهایی که درون اینترنت یا شبکه Public ما قرار دارد گفته می شود.
  • Outside Global : به آدرسی (هایی) که بر روی اینترفیس خارجی روتر که به شبکه Public متصل است گفته می شود.

با یک مثال تصویری با اصطلاحات فوق بیشتر آشنا خواهیم شد.

Static NAT

این نوع NAT به صورت یک به یک عمل میکند. بدین معنی که یک عدد inside-localرا به یک outside-global ترجمه می کند. کاربرد این نوع NAT وقتی است که میخواهیم یک private ip را به یک public ip تبدیل کنیم.
با مثالی عملی این بیشتر توضیح می دهیم.

در مثال فوق یک روتر سیسکو داریم که ۲ عدد اینترفیس دارد. یکی سریال که به اینترنت متصل و دومی اترنت که به شبکه داخلی ما وصل شده است.
ما میخواهیم آدرس ۱۰/۱/۱/۱را به ۱۱/۱۱/۱۱/۲۵۴ترجمه کنیم.
بر روی روتر سیسکو چنین عمل میکنیم:

وارد محیط کانفیگ میشویم

config terminal

با این دستور یک NAT استاتیک انجام میدهیم

ip nat inside source static 10.1.1.1 11.11.11.254

وارد اینترفیس سریال میشویم

interface serial0

این اینترفیس را به عنوان خروجی NAT مشخص میکنیم

ip nat outside

از اینترفیس خارج می شویم

exit

وارد اینترفیس اترنت میشویم

interface Ethernet0

اینترفیس را به عنوان ورودی NAT مشخص میکنیم

ip nat inside

از اینترفیس و مد کانفیگ خارج میشویم

هم اکنون با ست کردن آدرس ۱۰/۱/۱/۱و گیت وی ۱۰/۱۰/۱۰/۱۰روی کلاینت میتوانیم به اینترنت دسترسی داشته باشیم.

Dynamic NAT

Dynamic NAT نیز همانند Static NAT است اما با این تفاوت که در NAT به صورت Dynamic میتوانیم یک یا چندین IP با به چندین IP ترجمه کنیم.

اما چرا چندین IP به چندین IP؟

فرض کنید شما Admin یک ISP هستید و به دلیل کمبود IP نیاز به NAT دارید. بر فرض مثال شما دارای ۱۰ Valid IP و ۱۰۰ Invalid IP که باید به آنها ترجمه کنید. ممکن است تا کنون برای شما پیش آمده باشد که یوزری تماس گرفته و اعلام نا رضایتی کند از اینکه مدتهای طولانی برای دانلود یک فایل از سایت Rapidshare.com باید انتظار بکشد. این به دلیل این است که سایت Rapidshare.com تمامی یوزرهای شما را به چشم یک کاربر میبیند. برای رفع این مشکل میتوانیم ۱۰ آدرس معتبر را به ۱۰۰ آدرس غیر معتبر ترجمه کنیم که تا حدود زیادی مشکل را حل خواهد کرد.
در Dynamic NAT معمولا آدرسهای معتبر را به وسیله IP nat pool مشخص و آدرسهای غیر معتبر را توسط یک access-list مشخص میکنیم. دلیل استفاده از access-list ایجاد امنیت بیشتر است.

حال با یک مثال به نحوه ایجاد یک Dynamic NAT واقف می شویم:

یک روتر سیسکو داریم که از یک سو توسط اینترفیس سریال به اینترنت متصل گردیده که دارای رنج IP 217.219.109.128/25 و از سوی دیگر توسط اینترفیس اترنت به شبکه داخلی با رنج ۱۷۲/۱۶/۰/۰/۲۴ متصل شده است.

آدرس اینترفیس سریال را ۲۱۷/۲۱۹/۱۰۹/۱۲۹ و آدرس اینترفیس اترنت را ۱۷۲/۱۶/۰/۱ قرار میدهیم.

config terminal

ابتدا برای آدرسهای Valid خود یک Pool تهیه می کنیم

ip nat pool pool1 217.219.109.130 217.219.109.254 prefix-length 25

Prefix-length در مثال بالا همان subnet mask آدرسهای ما می باشد
حال access-list مربوط به آدرسهای داخلی را می نویسیم

access-list 8 permit 172.16.0.0 0.0.0.255

دستور اصلی NAT را می نویسیم

ip nat inside source list 8 pool pool1

که در دستور فوق عدد ۸ بیانگر آدرسهای داخلی و pool1 مشخص کننده آدرسهای خارجیست

interface serial0

اینترفیس را به عنوان خروجی NAT مشخص میکنیم

ip nat outside

از اینترفیس خارج می شویم

exit

وارد اینترفیس اترنت میشویم

interface ethernet0

اینترفیس را به عنوان ورودی NAT معرفی میکنیم

ip nat inside
Dynamic NAT به صورت Overload

ممکن است ما به شرایطی بر بخوریم که تنها ۱ عدد آدرس Valid در اختیار داریم و اجبار به NAT کردن آدرس مذکور به چندین آدرس را داریم. در چنین شرایطی باید از قابلیت Overload استفاده کنیم.
در این حالت روتر برای ورود و خروج هر آدرس Invalid یک پورت مجزا در نظر می گیرد که تمامی آنها را در جدولی که درون خود تشکیل می دهد به ثبت می رساند. به این ترتیب هر پکت که از روتر به مقصد اینترنت خارج می شود دقیقا در هنگام بازگشت به همان آدرس Invalid که صادر کننده آن است باز میگردد. هر یک خط در جدول مذکور یک کانکشن به حساب می آید. اگر دقت کنید بر روی کاتالوگ بعضی سخت افزارها محدودیتی برای تعداد این کانکشن ها قائل می شوند.

در مثال زیر نحوه تنظیم یک روتر به صورت Overload را توضیح می دهیم :

دیاگرام خود را مقداری تغییر می دهیم. در این مثال ما روتر خود را که دارای ۳ اینترفیس است به ۳ شبکه متصل میکنیم. پورت سریال که به اینترنت متصل و دارای آدرس ۸۰/۱۹۱/۱۲۰/۸/۲۶ است . اینترفیس ethernet0 به شبکه داخلی اول ما متصل و دارای آدرس ۱۷۲/۱۶/۱۰۰/۱/۲۴ میباشد و در آخر اینترفیس ethernet1 را داریم که دارای آدرس ۱۹۲/۱۶۸/۳۰/۱/۲۴ است.
میخواهیم آدرس ۸۰/۱۹۱/۱۲۰/۸ را به دو سابنت داخلی NAT کنیم:

وارد مد کانفیگ می شویم

config terminal

یک pool برای آدرس Valid تهیه میکنیم که تنها ۱ آدرس در آن وجود دارد

ip nat pool ovrld 80.191.120.8 80.191.120.8 netmask 255.255.255.192

با access-list زیر آدرسهای ۲ رنج داخلی خود را به access-list شماره ۳ نسبت می دهیم

access-list 3 permit 172.16.100.0 0.0.0.255
access-list 3 permit 192.168.30.0 0.0.0.255

دستور اصلی NAT را می نویسیم که کلمه Overload میبایست در آخر آن اضافه شود

ip nat inside source list 3 pool ovrld overload

اینترفیس خروجی NAT را مشخص میکنیم

interface serial0
ip nat outside
exit

این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet0
ip nat inside
exit

این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet1
ip nat inside
exit

هم اکنون آدرس ۸۰/۱۹۱/۱۲۰/۸ عمل NAT را برای هر دو سابنت ما انجام می دهد.

Destination NAT

dstNAT یا outside source address translation بدین معنی است که ما عمل NAT را برای شبکه Public خود انجام دهیم. با یک مثال قضیه را روشن میکنم:
فرض کنید آدرس IP یکی از مشترکین شما  NAT شده است. یعنی مشترک به صورت دستی آدرس را در کامپیوتر خود وارد کرده و default gateway را آدرس اینترفیس داخلی روتر شما قرار داره است. شما قبلا عمل NAT را برای وی انجام داده اید و او را به اینترنت متصل نموده اید. حال مشترک نیاز دارد که کاربری در اینترنت به کامپیوترش وصل شود یا اینکه قصد هاست کردن یک وبسایت بر روی کامپیوتر حود را دارد. با شرایط فعلی این امر امکان پذیر نیست زیرا که آدرس معتبری یر روی آن تنظیم نشده و از اینترنت قابل رویت نیست.
ما برای رفع مشکل این یوزر می بایست عمل dstNAT را انجام دهیم. یعنی به روتر خود بگوئیم هر گاه پکتی با درخواست اتصال به آدرس X را داشت آن را به کامپیوتری در شبکه داخلی با آدرس Y بفرست. بدین ترتیب با داشتن آن آدرس valid میتوانیم به هاست لوکال خود دسترسی پیدا کنیم. این امر نیز به دو صورت static و dynamic قابل اجراست که در مثالهای زیر توضیح داده شده است.

Static dstNAT

ابتدا همانند قبل یک static nat میان ۲ آدرس ۱۰/۱/۱/۱ و ۱۱/۱۱/۱۱/۲۵۴ ایجاد میکنیم

سپس این خط را به تنظیمات خود اضافه میکنیم

ip nat outside source static 11.11.11.254 10.1.1.1
Dynamic dstNAT

در این مثال نیز ابتدا تمامی تنظیمات Dynamic NAT را که قبلا گفته شده انجام میدهیم سپس این خط را به آخر آن اضافه میکنیم

ip nat outside source list 8 pool pool1

بدین ترتیب عمل reverse را نیز برای NAT خود انجام میدهیم.

Redirect in NAT

در بعضی مواقع نیاز داریم که یک پورت یا IP را به صورت transparent برای یوزرهای خود عوض کنیم. به عنوان مثال ما در شبکه خود یک وب سرور داریم. این سرور قبلا بر روی پورت ۸۰ کار کرده است اما اکنون به دلایلی مجبور به تعویض پورت آن به ۸۰۸۰ شده ایم. ممکن است آگاه سازی یوزرهای ما برایمان مشکل ساز باشد و بخواهیم بدون هیچ تغییری برای آنها این پورت را عوض کنیم. در چنین مواقعی Redirect به کمک ما می شتابد.
در مثال زیر با چگونگی تنظیمات این نوع NAT آشنا می شویم:

در این مثال ما یک روتر سیسکو داریم که ۲ اینترفیس سریال و اترنت دارد. که آدرس سریال را ۱۰۰/۱۰۰/۱۰۰/۵ و آدرس اترنت را ۱۰/۲۰/۳۰/۱ قرار داده ایم.
آدرس وب سرور ما ۱۰/۲۰/۳۰/۵۵ می باشد که در شبکه داخلی ما قرار دارد.
برای Redirect کردن پورت ۸۰ به ۸۰۸۰ بدین صورت عمل میکنیم:

config terminal
ip nat inside source static tcp 10.20.30.55 8080 10.20.30.55 80

اینترفیس خروجی NAT را مشخص میکنیم

interface serial0
ip nat outside
exit

این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet0
ip nat inside
exit

حال یک سولوشن دیگر پیاده میکنیم.

در شبکه ما یک روتر وجود دارد که دارای ۳ اینترفیس است. اینترفیس سریال که آدرس ۲۰۰/۲۰۰/۲۰۰/۴۳ و اینترفیس ethernet0 که آدرس ۱۷۲/۱۶/۱۰/۱ و اینترفیس ethernet1 که آدرس ۱۹۲/۱۶۸/۰/۱ را داراست.
ما در شبکه ای که به اینترفیس ethernet1 متصل شده یک سرور داریم که آدرس آن ۱۹۲/۱۶۸/۰/۶ است. به دلایلی مجبور به تعویض آدرس آن به ۱۹۲/۱۶۸/۰/۱۲ شده ایم. به دلیل اینکه این سرور مربوط به اتوماسیون اداری ما بوده بسیار کار دشواریست که بر روی ۱۷۶ کلاینت خود که با این سرور کار میکنند و در شبکه ای که به اینترفیس ethernet0 وصل است آدرس سرور را عوض کنیم.
برای همین به سراغ روتر قدرتمند خود می آئیم و تمامی درخواستهایی را که به مقصد ۱۹۲/۱۶۸/۰/۶ می روند را به ۱۹۲/۱۶۸/۰/۱۲ هدایت میکنیم.
در زیر نحوه انجام این کار توضیح داده شده است.

config terminal
ip nat inside source static 192.168.0.12 192.168.0.6

اینترفیس خروجی NAT را مشخص میکنیم

interface serial0
ip nat outside
exit

این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet0
ip nat inside
exit

این اینترفیس را به عنوان ورودی NAT مشخص میکنیم

interface ethernet1
ip nat inside
exit
Change Translation Timeouts

وقتی که ما از Dynamic NAT استفاده می کنیم یک IP به یک IP دیگر نسبت داده می شود. فرضا اگر کلاینت ما ۱ ساعت از این IP استفاده کند تا یک مدت بعد این IP خارجی برای وی به صورت رزرو می ماند. اگر بعد از یک پریود زمانی کلاینت ما از آن استفاده نکند به کلاینت دیگری اختصاص داده می شود.
زمان این تاخیر را میتوانیم مشخص کنیم که در حالت Dynamic NAT بدون Overload این زمان به صورت پیش فرض ۲۴ ساعت است.

با دستور زیر این امر محقق می شود:

config terminal
ip nat translation timeout 21600

عدد فوق بر اساس ثانیه بوده که در مثال بالا ما این زمان تاخیر را بر روی ۶ ساعت تنظیم کرده ایم.

همانطور که گفتیم مثال بالا برای حالت Dynamic NAT بدون Overload هست. در حالت Overload چون برای هر یوزر یه آدرس خارجی نداریم مقدار این زمان اصلا مشخص نیست.
در حالت Overload تنها میتوانیم زمان برای پروتکلهای خاص مشخص کنیم:

در مثال زیر پروتکلها آورده شده اند:

config terminal
ip nat translation udp-timeout 120
ip nat translation dns-timeout 100
ip nat translation tcp-timeout 480
exit

مانیتور کردن NAT درون Router

show ip nat translations
show ip nat statistics

www.persianadmins.com

دی۱۴۱۳۸۷

آموزش Cisco Access List

Cisco Access List در ترجمه لغوی به معنای لیست دسترسی سیسکو می باشد که زیاد هم از معنای واقعی خود دور نیست.
همانطور که از اسم آن بر می آید به وسیله این ابزار میتوانیم بر روی سخت افزارهای سیسکو فایروال ایجاد کنیم.
از آنجا که بحث فایروال بسیار گسترده است و تنها به یک   access list  منتهی نمیشود به این نوع فایروال packet filter گفته میشود.
حتما خوانندگان عزیز سیسکو را شناخته و از کارایی آن خبر دارند.
از آنجا که ورودی اینترنت ۸۰ درصد شبکه هایی که ما با آنها کار می کنیم Cisco هست میتوانیم با بکار گیری Access list در آنها امنیت زیادی را برای خود به ارمغان بیاوریم. نا گفته نماند که مهمترین گزینه در Packet filter ها کانفیگ خوب آنهاست نه Brand یا مدل دستگاه. شما اگر با اصول Packet Filtering آشنایی داشته باشید بر روی هر سیستم عامل یا سخت افزاری تنها با آموختن Syntax آن میتوانید یک فایروال ایجاد کنید.
من در اینجا به توضیح قوائد آن در سیسکو میپردازم.
برای ایجاد access list شما نیاز به IOS های بالاتر از ورژن ۸/۳ دارید.
دو مرحله برای ایجاد یک access list داریم. اول میبایست ACL مربوطه را نوشته و دوم آن را به یک اینترفیس اعمال کنیم.
بدیهیست در صورت عدم اعمال ACL به یک اینترفیس ACL مذکور بلا استفاده می ماند.
پر کاربردترین ACL ها IP Access list است. زیرا اکثر ترافیکها بر روی پروتکل IP انتقال می یابد.
خود IP access list دو نوع است. Standard و Extended
Standard تنها بر اساس SOURCE IP address می تواند کنترل کند.
Extended بر حسب SOURCE and DESTINATION IP address و SOURCE and DESTINATION Port می تواند محدودیت ایجاد کند.
معمولا برای نام گذاری access list ها از اعداد استفاده میشود. که از شماره ۱ تا ۹۹ برای Standard و ۱۰۰ تا ۱۹۹   برای Extended استفاده میشود. البته اعداد ۱۳۰۰  تا ۱۹۹۹ برای Standard و ۲۰۰۰ تا ۲۶۹۹ برای Extended  رزرو شده اند.

قائده یک  Standard Access list بدین صورت است:

access-list access-list-number {permit|deny} {host|source source-wildcard|any}

یعنی در ابتدا میبایست عبارت access-list را تایپ نموده سپس یک شماره به آن اختصاص میدهیم و در آخر وظیفه آن که نابودی یا اجازه عبور یک پکت هست را مشخص میکنیم.

در مثال زیر میخواهیم تنها به یک رنج IP اجازه عبور از اینترفیس Ethernet0 را بدهیم.

ابتدا access list مورد نظر را می نویسیم

access-list 10 permit 192.168.20.0    ۰/۰/۰/۲۵۵
access-list 10 deny any

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

interface ethernet0
ip access-group 10 in
exit

Extended access list ها را وقتی به کار میگیریم که نیاز به انعطاف بیشتری داریم. مثلا وقتی نیاز به فیلتر یک پورت خاص است.
قائده آن بدین صورت است:

access-list access-list-number {deny|permit} protocol source source-wildcard destination destination-wildcard [precedence precedence][tostos][log]

پس از عبارت access-list میبایست شماره آن را از همان رنج ذکر شده انتخاب کنیم .سپس action آن را که حذف یا عبور packet است را انتخاب کرده و آدرس مقصد و مبدا و همچنین پروتکل یا پورت آن را مشخص میکنیم.
برای نوشتن پروتکل ما مجاز به استفاده از پروتکل های زیر هستیم:

eigrp, gre, icmp, igmp, igrp, ip, ipinip, nos, ospf, tcp, or udp

همچنین می توان از یک keyword بین ۰ تا ۲۵۵ استفاده کرد که هر کدام بیانگر پروتکلی خاص است.
اگر ما عبارت ip را استفاده کنیم به عنوان تمامی پروتکل های IP شناخته میشود.
برای مشخص کردن هر آدرسی (any) نیز باید از عبارت ۲۵۵/۲۵۵/۲۵۵/۲۵۵ استفاده کرد.

Option های precedence و tos نیز دو ابزار اختیاریست که برای سرویس های خاص به کار می رود. که باید سرویس مورد نظر را با وارد کردن کد آن که precedence از ۰ تا ۷ و tos از ۰ تا ۱۵ مشخص شده اند را فعال کرد.
Log نیز یک ابزار اختیاری دیگر است که با فعال کردن آن میتوانیم از access list خود گزارش برداریم.

با مثالی بیشتر با Extended access list آشنا میشویم:

اجازه دسترسی سابنت ۲۱۷/۲۱۹/۱۰۲/۰/۲۴ با آدرس ۱۹۲/۱۶۸/۲۰/۲۷ با هر پروتکلی

access-list 105 permit ip 217.219.102.0   ۰/۰/۰/۲۵۵   ۱۹۲/۱۶۸/۲۰/۲۷   ۰/۰/۰/۰

اجازه دسترسی آدرس ۲۱۷/۲۱۹/۱۰۸/۱۵ به سابنت ۱۹۲/۱۶۸/۲۰/۰/۲۴ با هر پروتکلی

access-list 105 permit ip 217.219.108.15  ۰/۰/۰/۰   ۱۹۲/۱۶۸/۲۰/۰   ۰/۰/۰/۲۵۵

اجازه دسترسی سابنت   ۱۰/۰/۰/۰/۲۴ به سابنت  ۱۷۲/۲۲/۱۸/۰/۲۴ تنها با پورت ۲۳ (telnet)

access-list 105 permit tcp 10.0.0.0   ۰/۲۵۵/۲۵۵/۲۵۵   ۱۷۲/۲۲/۱۸/۰   ۰/۰/۰/۲۵۵ eq 23

عدم اجازه دسترسی همه جا به همه جا روی پورت snmp که ۱۶۱ است

access-list 105 permit udp any any eq 161

عدم اجازه پینگ (echo reply icmp type 0) از سابنت ۱۷۲/۱۲/۰/۰/۱۶ به همه جا

access-list 105 deny icmp 172.12.0.0   ۰/۰/۲۵۵/۲۵۵  any  ۰

عدم دسترسی کلیه packet های دیگر

access-list 105 deny ip any any

و در آخر اعمال آن به یک اینترفیس

interface serial0
ip access-group 105 out
exit

همانطور که میدانید ترتیب در access list ها مهم است.
به همین علت وقتی که لیست ACL ها را مشاهده میکنیم یک سری اعداد کنار آنها مینویسد که بیانگر اولویت آنهاست.
ما میتوانیم خود دستی آنها را وارد کنیم:

مثال ۱:
ACL ما بدین صورت است

Router#show access-list
Extended IP access list 101
10 permit tcp any any
20 permit udp any any
30 permit icmp any any

حال میخواهیم در ابتدای آن یک خط اضافه کنیم

Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#ip access-list extended 101
Router(config-ext-nacl)#5 deny tcp any any eq telnet
Router(config-ext-nacl)#exit
Router(config)#exit
Router#

هم اکنون بدین صورت می شود.

Router#show access-list
Extended IP access list 101
5 deny tcp any any eq telnet
10 permit tcp any any
20 permit udp any any
30 permit icmp any any
Router#

مثال ۲:

قبلا یکبار به آن یک خط اضافه کرده ایم. برای بار دوم چنین عمل میکنیم

routerB#show access-lists
Extended IP access list 101
10 permit tcp any any
15 permit tcp any host 172.162.2.9
20 permit udp host 172.16.1.21 any
30 permit udp host 172.16.1.22 any

routerB#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
routerB(config)#ip access-list extended 101
routerB(config-ext-nacl)#18 per tcp any host 172.162.2.11
routerB(config-ext-nacl)#^Z

ترتیب آن بدین صورت می شود:

routerB#show access-lists
Extended IP access list 101
10 permit tcp any any
15 permit tcp any host 172.162.2.9
18 permit tcp any host 172.162.2.11
20 permit udp host 172.16.1.21 any
30 permit udp host 172.16.1.22 any
routerB#

نکته ۱:
برای برداشتن یک access list میبایست همان ACL را تایپ نموده و در ابتدای سطر یک no قرار دهیم:

no access-list 105 deny ip any any

نکته۲:
برای مشاهده ACL ها از دستور زیر استفاده میکنیم.

show access-list

www.persianadmins.com

دی۱۳۱۳۸۷

۳ هسته‌ای ضرب در ۳

http://madkiwi.com/images/amd.gif

شرکت AMDم (Advanced Micro Devices) که یک فصل مالی نا‌امید‌کننده را سپری کرده است، با عرضه سه پردازنده جدید سه هسته‌ای فنوم (Phenom) برای بازار کامپیوتر‌های خانگی سعی در تقویت مجدد جایگاه خود دارد.
سه پردازنده جدید Phenom X۳ که توسط AMD، رسما ۲۳ آوریل وارد بازار شده نسبت به محصولات هم‌ردیف از سرعت ساعت پردازنده بالاتری برخوردار است که می‌تواند فاصله میان پردازنده‌های قدیمی دو هسته‌ای Athlon و پردازنده‌های چهار هسته‌ای پیشرفته فنوم را پر کند.
AMD اولین پردازنده سه هسته‌ای (Tri-Core) خود را برای جذب بازار کامپیوتر‌های خانگی و کاربران دسکتاپ، در تاریخ ۲۷ مارس سال جاری میلادی عرضه کرد که قادر است از یک پردازنده دو هسته‌ای استاندارد، کارایی بالاتری ارایه کند، در حالی که قیمت آن از آخرین چیپ‌های چهار هسته‌ای کامپیوتر‌های پرقدرت و پیشرفته ارزان‌تر است.
برنت بری (Brent Barry)، مدیر بازار‌یابی محصولات دسکتاپ AMD عنوان کرد که تحقیقات شرکت‌های تراشه‌ساز نشان می‌دهند اکثر خریداران همچنان به خرید پردازنده‌های دو هسته‌ای ادامه می‌دهند و هنوز کاملا با محصولات پیشرفته چهار هسته‌ای مانوس نشده‌اند.
به گفته بری، این الگوی مصرف، فضای مناسبی را برای پردازنده‌های سه هسته‌ای «فنوم» به وجود می‌آورد و در واقع پلی میان سیستم‌های پیشرفته و سیستم‌های متوسط محسوب می‌شود.بری می‌گوید: مصرف‌کنندگان – چه خریداران اداری و تجاری و چه کاربران عادی – در حال حاضر از تاثیر عملکرد تعداد هسته‌ها در یک پردازنده آگاه هستند و تفاوت‌ها را به خوبی تشخیص می‌دهند.
وی می‌گوید: در گذشته، همه چیز در میزان فرکانس پردازنده‌ها خلاصه می‌شد، اما در حال حاضر قدرت پردازش تعداد هسته‌ها و نوع کاربری مصرف‌کننده اهمیت دارد.سه مدل جدید پردازنده Phenom X۳ به نام ۸۷۵۰، ۸۶۵۰ و ۸۴۵۰ به ترتیب از سرعت پردازنده ۴/۲ گیگاهرتز، ۳/۲ گیگاهرتز و ۱/۲ گیگاهرتز برخوردار است. این ریز‌پردازنده‌ها از ۵/۱ مگابایت کش LeveL ۲، ۲مگابایت کش اشتراکی Level ۳ و پوشش گرمایی ۹۵ وات برخوردارند. علاوه بر این، پردازنده‌های Phenom X۳ در سازگاری کامل با چیپ‌های سری AMD ۷۸۰ و کارت گرافیکی‌های Radeon طراحی شده است.
پردازنده سه هسته‌ای مدل ۸۷۵۰، ۱۹۵ دلار و مدل ۸۴۵۰، ۱۴۵ دلار قیمت‌گذاری شده است. این در حالی است که پردازنده فنوم چهار هسته‌ای مدل ۹۷۵۰ در مقایسه با پردازنده Phenom X۳ مدل ۸۷۵۰ با سرعت مشابه ۴/۲ گیگاهرتز، با قیمت ۲۱۵ دلار به فروش می‌رسد.
هر سه مدل پردازنده‌های جدید Phenom X۳ از علامت جدید «۵۰» برخوردارند که نشان می‌دهد این تراشه‌‌ها، از سری جدید سیلیکون به نام B۳ هستند که ایراد طراحی بافر در اولین سری پردازنده‌های چهار هسته‌ای، در آن برطرف شده است. این مشکل هنگام انتقال اطلاعات میان کش‌های L۲ و L۳ مشکلاتی را به وجود می‌آورد. البته این مشکل AMD، بیش از پردازنده‌های کامپیوتر‌های دسکتاپ، در پردازنده‌های سرور این شرکت ایجاد مشکل می‌کرد. این مشکل باعث شد AMD، عرضه پردازنده‌های چهار هسته‌ای فنوم و Opteron را از اواخر سال ۲۰۰۷ تا سه ماهه اول ۲۰۰۸ به تعویق بیندازد. در واقع مشکل اختلال انتقال اطلاعات در پردازنده‌های AMD، یکی از دلایل اصلی نتایج ضعیف مالی در سه ماهه اول سال ۲۰۰۸ محسوب می‌شود.
AMD در حال حاضر، پردازنده‌های سه هسته‌ای را برای فروش در بازار عمده مصرف در نظر گرفته است. اما این شرکت بزرگ سازنده پردازنده‌های کامپیوتر قصد دارد چیپ‌های Phenom X۳ را به زودی، برای کامپیوتر‌های خانگی تجاری به کار گیرد.براساس این گزارش AMD پیش‌بینی می‌کند که پلات‌فورم جدید خود به نام Perseus را در سال جاری میلادی عرضه کند. این پلات‌فورم که برای کامپیوتر‌های تجاری طراحی شده، از سری جدید پردازنده‌ها از جمله مدل‌های سه هسته‌ای پشتیبانی می‌کند. با این وجود، AMD اطلاعات بیش‌تری درباره این پلات‌فورم ارایه نکرده است.
جان اسپونر (John Spooner) کارشناس شرکت Techhology Business Research می‌گوید: AMD باید مشابه زمانی که برای رقابت با اینتل و دست و پا کردن جایگاهی در دیتاسنتر‌ها، پردازنده Opteron را عرضه کرد، حالا هم باید پردازنده‌ها خود را در بازار دسکتاپ‌های تجاری افزایش دهد.
اما مشکل AMD اینجاست که خریداران تجاری، براساس برنامه‌های خود در زمینه فناوری اطلاعات، به دنبال ترکیب و مشخصات معین و شناخته شده‌ای هستند، در حالی که تراشه‌های سه هسته‌ای برای بازار تجاری، یک محصول جدید به حساب می‌آیند.اسپونر می‌گوید: AMD برای رقابت با اینتل باید راهی پیدا کند که پردازنده‌های خود را از محصولات رقیب متمایز نشان دهد و «سه هسته‌ای بودن» و «قیمت» پردازنده‌ها در برابر قدرت عملکرد‌شان، دو راه متفاوت جلوه دادن محصولات این شرکت است.
اینتل نیز در بیستم آوریل، قیمت برخی از پردازنده‌های خود از جمله چند پردازنده چهار هسته‌ای آماده عرضه به بازار را کاهش داد تا بتواند در بازار مصرفی و تجاری، با چیپ‌های Phenom X۳ شرکت AMD رقابت کند.
مفهوم پردازنده X۸۶ با سه هسته پردازنده، در بازاری که در آن، قدرت پردازنده‌ها براساس تعداد هسته‌های پردازنده تعریف می‌شود، خلاف قاعده و بی‌معنی است و تنها، کار را برای مشتریان سخت می‌کند.
در حالی که به گفته AMD، نوآوری در طراحی ریز‌پردازنده‌های این شرکت، امکان ساخت چیپ های با سه هسته پردازنده را فراهم کرده است، اما برخی از کارشناسان بر این باورند که پردازنده Phenom X۳ در واقع یک پردازنده چهار هسته‌ای است که یکی از هسته‌های آن را از کار انداخته‌اند.

ترجمه: ترنم محمودی
روزنامه فناوران
دی۱۳۱۳۸۷

ترانزیستور ها چطورکارمی کنند ؟

ریزپردازنده ها به صورت یک جزء لاینفک در بسیاری از محصولاتی که ما هرروزه از آن ها استفاده می کنیم در آمده اند ، مانند تلویزیون ، اسباب بازی ها ، رادیو ، و البته کامپیوترها . ولی این ترانزیستورها هستند که اجزای اصلی ریزپردازنده ها را تشکیل می دهند . در پایین ترین سطح خود ، ممکن است ترانزیستورها به نظر ساده برسند . اما تولید آن ها عملاً به سال های سال تحقیقات کشنده نیاز داشته است. تا پیش از ترانزیستورها ، کامپیوترها به لامپ های خلاء و کلید های مکانیکی متکی بودند. در سال ۱۹۵۸ تعدادی مهندس ( که یکی از آن ها به نام رابرت نویس ، بعداً پایه گذار شرکت اینتل شد ) دست به دست هم دادند تا ۲ ترانزیستور را روی یک قطعه بلور سیلیکون بکارند و اولین مدار مجتمع را بسازند؛ چیزی که به ساخت ریزپردازنده منجر شد .
ترانزیستورها در واقع کلیدهای قطع و وصلِ برق در ابعاد مینیاتوری هستند . اگر ریزپردازنده را یک «ساختمان» در نظر بگیرید ، ترانزیستورها، حکم آجری را دارند که برای بنای این ساختمان باید روی هم گذاشته شوند.
درست همانند یک کلید ساده ی چراغ ، ترانزیستورها در دوحالت کار می کنند: حالت وصل، و حالت قطع. این حالت قطع یا وصل ، یا خاموش و روشنِ ترانزیستورهاست که امکان پردازش اطلاعات را فراهم می سازد .
● یک کلید ساده ی برقی چطور کارمی کند ؟
تنها چیزی که کامپیوترها از آن سردر می آورند ، سیگنال های الکتریکی است که قطع و وصل می شوند . برای درکِ بهتر ترانزیستورها ، لازم است بفهمید که یک مدار قطع و وصل الکترونیکی چه طور کار می کند . مدارات قطع و وصل الکترونیکی از اجزای مختلفی تشکیل می شود. یکی ، مسیر جریان است که جریانِ الکتریکی عموماً از طریق یک سیم در آن گردش می کند.
دیگری ، خودِ کلید یا سویچ است ؛ وسیله ای که گردش جریان الکتریکی را شروع و متوقف می کند، آن هم یا با بازگذاشتن مسیر جریان یا مسدود کردن آن. ترانزیستورها هیچ قطعه ی متحرکی ندارند و تنها با علایم الکتریکی قطع و وصل می شوند. قطع و وصل شدنِ ترانزیستورها ، کار ریزپردازنده ها را میسر می سازد .
● ترانزیستور چطور از عهده ی اطلاعات برمی آید ؟
شمارنده ی باینری چیزی است که فقط دارای دو حالت است ، درست مانند ترانزیستور. حالت «وصل» ترانزیستور را با ۱ نشان می دهند و حالت قطع آن را با ۰ . ردیف های مشخصی از الگوی ۱ها و ۰هایی که به وسیله ی ترانزیستورهای متعدد تولید می شوند ، می توانند نشان دهنده ی حروف ، اعداد ، رنگ ها ، و خطوط باشند. به این می گویند دستگاه باینری.
( دستگاه باینری ، یک روش شمارش است که فقط از دو رقم ۰ و ۱ تشکیل شده است و تمام اعداد فقط با این دو رقم نمایش داده می شوند .)
● اسم خود را برحسب باینری هجی کنید
هر حرف الفبا یک معادل باینری دارد . در سمت چپ اسم JOHN و معادل باینری آن را می بینید. اطلاعات پیچیده تری را نیز می توان با حالت قطع و وصل یا حالتِ باینری ترانزیستور ها تولید نمود؛ مانند گرافیک ، صوت ، و ویدیو .
● نیمه هادی ها و جریان الکتریسته
با اضافه کردن چند نوع ناخالصی معین به سیلیکون یک ترانزیستور، ساختار بلورین آن تغییر می کند، و خاصیت هدایت الکتریسته ی آن بهتر می شود . اگر به سیلیکون، فلز بور اضافه کنید، سیلیکونِ مثبت یا نوعِ P (P مخفف Positive ) تولید می شود که فاقدِ الکترون است . اگر به سیلیکون، فلز فسفر اضافه نمایند ، سیلیکونِ منفی یا نوع N ( N مخفف Negative ) به دست می آید که شامل تعداد بسیار زیادی الکترون آزاد است.
● حالت های قطع و وصل یک ترانزیستور
الف) رانزیستورها از سه پایانه تشکیل می شوند : منبع ، گیت ، مخرج .
ب) در ترانزیستور نوع منفی ، هم منبع و هم مخرج بار منفی دارند و روی توده ای از سیلیکون نوع مثبت را گرفته اند .
ج ) هنگامی که ولتاژ مثبت به گیت وارد می شود ، الکترون های موجود در سیلیکون نوع مثبت ، جذبِ منطقه ی زیرینِ گیت می شوند ، و یک کانال الکترونیکی بین منبع و مخرج را شکل می دهند .
د) هنگامی که ولتاژ مثبت به مخرج وارد می شود ، الکترون ها از منبع جدا شده و به سمت مخرج می روند. در این حالت ، ترانزیستور ، وصل است.
ه) اگر ولتاژ از روی گیت برداشته شود ، الکترون ها جذبِ منطقه ی واقع بین منبع و مخرج نمی گردند . مسیر جریان از بین می رود ، و ترانزیستور به حالت قطع در می آید.
● ریزپردازنده ها چطور بر زندگی ما تاثیر می گذارند
کارکردِ باینری ترانزیستورها به پردازنده ها این قابلیت را می دهد که ماموریت های بسیاری را انجام دهند، از یک نامه نگاری ساده تا ویرایش فایل های ویدیویی. ریزپردازنده ها به نقطه ای رسیده اند که ترانزیستورها می توانند صدها میلیون دستورالعمل در ثانیه را روی یک تراشه ی واحد به اجرا در آورند . اتومبیل ها ، تجهیزات پزشکی ، تلویزیون ها ،کامپیوترها ، و حتا سفاین فضایی از ریزپردازنده ها استفاده می کنند. همه ی آن ها متکی به گردش اطلاعات باینری هستند که به یمنِ وجودِ ترانزیستور ممکن گشته است.

افتاب

دی۱۳۱۳۸۷

میکروکنترولر و ریزپردازنده

http://www.itna.ir/archives/images/cell.jpg

مقدمه:
اولین ریز پردازنده ای که با موفقیت عملی به بازار عرضه شد محصول شرکت اینتل در سال ۱۹۷۱ با نام ۸۰۸۰ بود بعد از آن بازار رقابت میکرو پروسسوری گرم شد و شرکت های دیگری همچون RCA ,ZILOG ,MOS technology ریز پردازنده های خود را به بازار عرضه کردند.
کم کم با ورود کامپیوتر به صنعت، وجود تکنولوژی دیگری نیز احساس شد. تکنولوژیی که از میکرو پروسسور جمع و جور تر و کندتر بود اما هزینه را خیلی پایین می آورد. این تکنولوزی میکرو کنترلر نام گرفت و کار آن نظارت و کنترل یک سری اعمال بود که توسط برنامه نویسی انجام می شد.
امروزه میکرو کنترلر حوزه های وسیعی از زندگی ما را اشغال کرده است بی آنکه بدانیم که سیستم به کار رفته در آنها میکرو کنترلری است و به اشتباه همه ی آنها را کامپیوتر می نامیم. برای مثال ماشین لباسشویی که اتمام کار خود را با نواختن آهنگی اعلام میکند یا اجاق گازی که خاموش شدن شعله را با آهنگ گوشزد می کند و یا خودروی سمندی که باز بودن در خودرو را با جمله ی ” درب خودرو باز است.” یاد آوری می کند، همگی نمونه های ملموسی از سیستم های میکرو کنترلری هستند که روزانه بارها با آنها سر و کار داریم.
● ملزومات یک سیستم کامپیوتری:
▪ واحد پردازش مرکزی - CPU :
همان مغز سیستم است که فعالیت های سیستم را کنترل می کند و عملیات هایی را بر روی داده ها انجام می دهد CPU مجموعه ای از مدارات منطقی است که به طور متناوب دستورات را واکشی و اجرا می کنند.
CPU خود دارای چند قسمت می باشد:
الف) ALU یا واحد محاسبه و منطق که مسئول انجام اعمال محاسباتی نظیر جمع و تفریق و … و اعمال منطقی مانند مقایسه And و OR و … می باشد.
ب) واحد کنترل که مسئول رمز گشایی و تعیین نوع عملیاتی است که ALU باید انجام دهد است.
ج) ثبات ها جهت ذخیره موقت داده ها قبل از رفتن به ALU و همچنین نگه داری نتایج پردازش به کار میروند.
د) PC یا شمارنده برنامه که آدرس دستورالعمل بعدی که CPU باید از حافظه بخواند را در خود نگه می دارد.
ه) IR یا ثبات دستور العمل که مسئول ذخیره قسمت عملیاتی دستورالعمل فعلی می باشد.
بعد از معرفی دیگر واحدها به تفصیل در مورد واکشی دستور بحث می کنیم.
▪ حافظه :
حافظه محل ذخیره اطلاعات است. حافظه ها را بر اساس مشخصه های مختلفی می توان طبقه بندی کرد. معمولترین طبقه بندی، طبقه بندی بر اساس حافظه های اولیه و ثانویه است.
حافظه های اولیه حافظه هایی هستند که در اختیار سیستم هستند و سیستم برای انجام اعمال پردازشی به آنها احتیاج دارد ROM و RAM از حافظه های اولیه هستند.
ROM (رام) یا حافظه فقط خواندنی توسط کارخانه برنامه نویسی شده و محتویات آن توسط کاربر یا برنامه نویس تغییر نمی یابد. در حقیقت ROM یک بار برنامه نویسی شده و بارها و بارها می توان آن را خواند. محتویات ROM ثابت است و با قطع برق از بین نمی رود.
RAM (رم) حافظه با دستیابی تصادفی است که CPU اطلاعات را در آن ذخیره می کند و محتویات آن توسط برنامه نویس هم می تواند تغییر داده شود محتویات آن با قطع جریان برق هم از بین می رود.
حافظه های ثانویه، حافظه هایی هستند که ما اطلاعات را بر روی آنها ذخیره می کنیم تا بعدا دوباره آن اطلاعات را مورد استفاده قرار دهیم و با قطع برق هم محتویات آنها از بین نمی رود. در حقیقت حافظه های ثانویه ترکیبی از خصوصیات Rom و Ram هستند. پایداری خود در مقابل قطع برق را از ROM و توانایی تغییر محتویات توسط کاربر را از RAM به ارث برده اند. برای حافظه های ثانویه می توان از HARD DISK و FLOPPY نام برد
▪ گذرگاه یا باس:
مجموعه ای از سیم ها که اطلاعات را با یک هدف مشترک حمل می کنند. در معماری کامپیوتر از سه باس می توان نام برد:
الف) باس آدرس: برای هر عمل خواندن یا نوشتن CPU آدرس (موقعیت) داده را با قرار دادن یک آدرس روی باس آدرس به حافظه ارسال می کند.
ب) باس کنترل: با قرار دادن آدرس بر روی باس آدرس یک سیگنال کنترلی بر روی گذرگاه کنترل قرار می گیرد که مشخص می کند که عملیات مورد نظر خواندن است یا نوشتن در حافظه.
ج‌) گذرگاه داده: برای عملیات خواندن یک بایت داده بر روی گذرگاه داده توسط حافظه قرار داده می شود و برای عمل نوشتن یک بایت داده توسط CPU بر روی گذرگاه داده قرار می گیرد.
علاوه بر سیگنالهای کنترلی READ و WRITE سیگنال کنترلی دیگری هم با نام CLOCK وجود دارد که برای هم زمان کردن واحدها به کار می رود.
▪ واحدهای ورودی و خروجی:
این واحد مسئول ارتباط با دنیای خارج است و توانایی اتصال سیستم ها را به کامپیوتر می دهد .
از کامپیوتر با نام ماشین برنامه پذیر نام بردیم. حال ببینیم برنامه چه تعریفی دارد.
● برنامه:
به مجموعه ای از دستور العمل ها که ترتیب اجرای مشخصی دارند و دارای نقطه شروع و پایان مشخصی هستند که به منظور انجام عمل خاصی نوشته شده اند یک برنامه می گویند.
از تعریف بالا نتیجه گرفته می شود که واحد ساختمانی برنامه دستور العمل است درست مانند یک ساختمان که به وسیله آجر ساخته می شود برنامه هم با قرار دادن دستور العمل ها پهلوی هم ساخته می شود.
عمل خواندن دستور العمل ها از حافظه توسط CPU را واکشی گویند. دستور العملها پشت سر هم واکشی شده و توسط CPU اجرا می شوند تا زمانی که برنامه به اتمام برسد و آن هدفی که برنامه نویس مد نظرش بوده است انجام شود.
CPU تنها با داده های باینری کار می کند بنابراین هر دستور العمل نوشته شده توسط برنامه نویس باید به مقدار معادل باینری (همان زبان ماشین) آن تبدیل شود و سپس اجرا شود.
یک سیکل واکشی دستور به صورت زیر می باشد:
۱) مقدار PC یا شمارنده برنامه بر روی گذرگاه آدرس قرار می گیرد.
۲) سیگنال کنترلی READ بر روی گذرگاه کنترل قرار می گیرد.
۳) داده (کد عملیاتی دستورالعمل) از حافظه خوانده می شود و روی گذرگاه داده قرار می گیرد.
۴) کد عملیاتی در ثبات IR قرار می گیرد.
۵) شمارنده برنامه به ابتدای دستور بعدی اشاره میکند (اغلب گفته می شود که شمارنده برنامه یک واحد افزایش می یابد اما گاهی اوقات ۲ واحد و گاهی ۳ واحد افزایش پیدا می کند در حقیقت شمارنده برنامه به اندازه طول دستور فعلی افزایش پیدا می کند.)
مرحله ی اجرا شامل کد گشایی و ایجاد سیگنالهای کنترلی لازم برای باز کردن ثبات های CPU و قرار دادن محتویات آنها در ALU و مجددا قرار دادن نتیجه عملیات در ثبات ها است.
● مقایسه ریز پردازنده و میکرو کنترلر :
ریز پردازنده یک IC است که فقط شامل CPU است اما در میکرو کنترلر مدارات اضافی دیگری در داخل همان IC قرار داده شده است که میکرو کنترلر را تبدیل به یک میکرو کامپیوتر کرده است (البته در مقیاس کمتر) مدارات دیگری همانند ROM,RAM, timer, رابط سریال، پردازش وقفه و …
اما برای اینکه یک میکروپروسسور به عنوان یک میکرو کامپیوتر عمل کند به مدارات ذکر شده بالا در خارج IC نیازمندیم که این مدارات هم حجم و هم هزینه را به طور نمایی افزایش می دهند.
اما ریز پردازنده و میکرو کنترلر از نظر معماری داخلی به هیچ وجه قابل مقایسه نیستند ریز پردازنده برای انجام اعمال پردازشی بسیار پیچیده در سرعت بالا طراحی شده است و نتیجتا معماری آن بسیار پیچیده تر از معماری میکرو کنترلر خواهد بود.
تفاوت دیگر میکرو کنترلر و میکرو پروسسور در مصرف توان آنهاست. میکرو کنترلر توان بسیار کمتر از توان مصرفی میکرو پروسسور لازم دارد چون مدارات آن نسبت به میکروپروسسور بسیار کمتر است و این یک مزیت برای طراحی مدارات می باشد.

سافتستان

دی۱۰۱۳۸۷

نمایشگاه الکامپ ۸۷

http://dc100.4shared.com/img/78209335/111329f/DSC_4857.jpg?sizeM=3

http://dc100.4shared.com/img/78209355/574b9519/DSC_4862.jpg?sizeM=3

http://dc100.4shared.com/img/78209391/fc931e0c/DSC_4882.jpg?sizeM=3

http://dc100.4shared.com/img/78209362/e2025379/DSC_4874.jpg?sizeM=3

http://dc100.4shared.com/img/78209379/6ccbbbb0/DSC_4878.jpg?sizeM=3

http://dc100.4shared.com/img/78209405/2f7377d9/DSC_4923.jpg?sizeM=3

http://dc100.4shared.com/img/78209412/a80cd33b/DSC_4925.jpg?sizeM=3

http://dc105.4shared.com/img/78211008/ae1fa2e7/DSC_5002.jpg?sizeM=3

http://dc105.4shared.com/img/78211044/c3c52bc8/DSC_5021.jpg?sizeM=3

http://dc100.4shared.com/img/78209593/16100392/DSC_4974.jpg?sizeM=3

http://dc100.4shared.com/img/78209608/5246df0a/DSC_4976.jpg?sizeM=3

http://dc100.4shared.com/img/78209546/d3d48950/DSC_4968.jpg?sizeM=3

http://dc100.4shared.com/img/78209466/e02081e5/DSC_4930.jpg?sizeM=3

http://dc100.4shared.com/img/78209663/93cea104/DSC_4995.jpg?sizeM=3

http://dc100.4shared.com/img/78209729/16b5e729/DSC_5017.jpg?sizeM=3

http://dc100.4shared.com/img/78209651/56ed93eb/DSC_4991.jpg?sizeM=3

http://dc100.4shared.com/img/78209617/dbe2f3da/DSC_4978.jpg?sizeM=3

http://dc100.4shared.com/img/78209493/17d269a5/DSC_4965.jpg?sizeM=3

http://dc100.4shared.com/img/78209444/3c18824b/DSC_4929.jpg?sizeM=3

http://dc100.4shared.com/img/78209569/715df643/DSC_4970.jpg?sizeM=3

http://dc108.4shared.com/img/78311613/ef07e539/DSC_5006.jpg?sizeM=3

دی۹۱۳۸۷

آموزش دوره های MCSE با نرم افزار شبیه ساز Windows Server 2003 Network Simulator

اگر شما هم جزء کسانی هستید که به دنبال گرفتن مدارک MCSA یا MCSE هستند و دست یافتن به آن برایتان مشکل است. راه آن بسیار ساده می باشد.

شما با داشتن Microsoft Server 2003 Simulator می توانید کلیه محیط Windows 2003 Server را به صورت شبیه سازی شده در اختیار داشته باشید بدون اینکه هزینه زیادی بخواهید بابت کلاسها و آزمایشگاههای مختلف بپردازید. با این سی دی دیگر نیازی نیست که در یک شبکه واقعی کار کنید و یا نرم افزار خاصی نصب کنید فقط با نصب این سی دی می توانید مهارتهای خود را برای امتحانات MCSA و MCSE به طرز شگفت انگیزی بالا ببرید. این سی دی مجموعه ای از آموزش تمام دوره های MCSE در محیطی شبیه سازی شده . تست و پیاده سازی تمام مراحل در یک محیط عملی همراه با توضیحات آموزشی کامل محصول شرکت Sybex می باشد.

Windows Server 2003 Network Simulator

Image

Windows Server 2003 Network Simulator | 59 Mb

If you’re serious about attaining your MCSA or MCSE certification, you need hands-on experience with Windows Server 2003 software in a network environment. The MCSA/MCSE Windows Server 2003 Network Simulator from Sybex gives you everything you need to accomplish this, and more! Get the skills you need to approach the Windows 2003 exams with confidence by practicing on labs that cover key topics for exams 70-290, 70-291, 70-293, and 70-294. An affordable alternative to products and courses costing hundreds, even thousands, of dollars, this Simulator allows you to work at your own pace, on your own time, so you get the most out of your exam preparation efforts.

http://rapidshare.com/files/168273087/server_sim.rar

دی۹۱۳۸۷

ارتقا کارایی هارددیسک‌ها با تکنولوژی NCQ

ارتقا کارایی هارددیسک‌ها با تکنولوژی NCQ


در خرید قطعه مهمی مانند هارددیسک کمتر به نوع تکنولوژی مورد استفاده توجه می‌شود و خریدار محترم بیشتر بر سرعت گردش و میزان بافر آن ‌تمرکز می‌کند. سرعت گردش محور مرکزی و ظرفیت بافر، دو پارامتر مهم در افزایش کارایی هارددیسک‌ها محسوب می‌شوند، اما چیزهای دیگری نیز وجود دارند که در ظاهر امر به چشم نمی‌آیند، اما اثربخشی آن‌ها غیرقابل انکار است. در این نوبت و به قدر فرصتی که در اختیار دارم در این‌باره صحبت خواهم کرد.
● تکنولوژی NCQ
اگر نظرسنجی دقیقی شکل گیرد، حتم دارم کمتر از پنج درصد کاربران بازار با تکنولوژی NCQ آشنایی دارند. البته اهالی حرفه‌ای مدت‌هاست که با تکنولوژی اصیل‌تری با نام TCQ آشنایی دارند و به‌همین دلیل می‌توانند حدس‌هایی درباره NCQ مطرح کنند.
تکنولوژی NCQ در واقع یکی از فرزندان خلف تکنولوژی TCQ است و فقط در هارددیسک‌های SATA عرضه می‌شود و شرایطی را فراهم می‌کند تا دسترسی به محل‌های ذخیره‌سازی داده‌ها به شیوه‌ای هوشمندانه انجام شود. اصطلاح NCQ مخفف Native Command Queuing است و همچنان که گفتم از فرزندان TCQ که در سال ۱۹۹۴ برای استفاده در هارددیسک‌های SCSI۲ ارایه شده بود.
● مفهوم NCQ
همچنان که می‌دانید بخش کنترل‌گر هارددیسک براساس درخواست‌هایی که توسط چیپ ست‌های اصلی مادربرد ارسال می‌شود فعالیت می‌کند. این درخواست‌ها شامل نوشتن و خواندن‌ داده‌ها هستند. از این‌رو اگر هارددیسک را مجموعه‌ای از منطقه‌های ذخیره‌سازی (سلول‌های حافظه) فرض کنیم،‌ هد خواندن و نوشتن برای انجام دستورات بخش کنترلی، لازم است که بین سلول‌های توزیع شده روی دیسک مدور جابه‌جا شود و دستورات مشخص را یک به یک انجام دهد.
با یک مثال ساده توصیف بهتری از عملکرد هد خواندن و نوشتن ارایه می‌کنیم. فرض کنید که دستورات بخش کنترلی هارددیسک این چنین باشد که:
۱) داده X را از سلول حافظه ۸ بخوان،
۲) داده Y را در سلول حافظه ۴ ثبت کن،
۳) داده Z را از سلول حافظه ۷ بخوان،
۴) داده W را در سلول حافظه ۱ ثبت کن.
هد خواندن و نوشتن برای انجام این امور باید از موقعیت سکون خود (سلول حافظه صفر) حرکت کند و پس از گذر از سلول‌های ۱ تا ۷، خود را به سلول شماره ۸ برساند. سپس باید به از ۳ سلول عبور کند و خود را به سلول ۴ برساند. آنگاه نوبت به سلول ۷ می‌رسد که با عبور از سلول‌های حافظه ۵ و ۶ قابل دسترسی خواهد بود و در پایان هد خواندن و نوشتن باید که به سلول ۱ بازگردد و دستور چهارم را انجام دهد. هد خواندن و نوشتن برای انجام این چهار دستور مختصر لازم است که از روی حداقل ۲۱ سلول حافظه عبور کند.
استفاده از تکنولوژی NCQ شرایط دیگری را رقم خواهد زد. به این صورت که بخش کنترلی پیش از ارسال دستورات برای هد خواندن و نوشتن قدری فکر می‌کند و سعی دارد که مسیرهای تکراری را حذف کند. اگر دستورات چهارگانه ذکر شده را با استفاده از تکنولوژی NCQ انجام دهیم این‌چنین می‌شود که هد خواندن و نوشتن اول دستور‌العمل چهارم را به انجام می‌رساند و به سلول حافظه یک منتقل می‌شود، سپس دستورالعمل دوم را به انجام می‌رساند و پس از آن نوبت به انجام دستورالعمل سوم در موقعیت ۷ می‌رسد. در پایان دستورالعمل اول را در سلول ۸ به پایان می‌رساند. مشهود است که موارد چهارگانه فوق فقط با ۸ جابه‌جایی انجام می‌شود، در صورتی که این دستورات بدون استفاده از این تکنولوژی در ۲۱ جابه‌جایی انجام می‌گرفت.
البته هر چه شرایط پیچیده‌تر شود، میزان اثرگذاری تکنولوژی NCQ کاهش خواهد یافت، اما در همان حالت حداقلی نیز تفاوت مشهود است.
● مزایای تکنولوژی NCQ
اصل‌ترین استفاده از تکنولوژی NCQ، در کاربردهای چندگانه است. به‌ بیان دیگر این تکنولوژی برای افزایش کارایی سرورهایی طراحی شده است که درخواست‌های متنوع چندین کاربر به‌صورت همزمان برای هارددیسک ارسال می‌کند. نکته جالب این است که بیشتر کاربران کنونی کامپیوترها از چندین برنامه به صورت همزمان استفاده می‌کنند و به‌همین دلیل این تکنولوژی کارساز خواهد بود.
علاوه بر افزایش کارایی هارددیسک در دسترسی به داده‌ها، چند مزیت دیگر را نیز می‌توان عنوان کرد.
۱) هد خواندن و نوشتن کمتر جابه‌جا می‌شود و عمر مفید آن افزایش خواهد یافت.
۲) استفاده بلندمدت از تکنولوژی NCQ موجب کاهش مصرف‌انرژی خواهد شد.
۳) هر چه تماس هد خواندن و نوشتن با سطح هارددیسک کمتر باشد، احتمال بروز خطا در ثبت و خوانش داده‌ها کاهش خواهد یافت. دیگر اینکه، کاهش تماس هد یا سطح هارددیسک احتمال برخورد فیزیکی این دو موجود و بروز صدمات غیرقابل جبران فیزیکی هارددیسک را کاهش خواهد داد. به‌ بیان دیگر امر ذخیره‌سازی داده‌ها با درصد خطای کمتری انجام می‌شود و داده‌ها با امنیت بیشتری نگهداری می‌شوند.
۴) زمان انتظار انجام دستورات بعدی کاهش خواهد یافت و حافظه بافر با سرعت بالاتری خالی می شود و پذیرای داده‌ها و دستورالعمل‌های جدید خواهد شد. نتیجه اینکه با این اقدام شاهد وقفه‌های طولانی برای ثبت یا دریافت داده‌ها نخواهیم بود.
● آخر اینکه
بیشتر هارددیسک‌هایی که از رابط SATA استفاده می‌کنند همراه با تکنولوژی NCQ عرضه می‌شوند، اما برخی مدل‌ها همچنان بدون این تکنولوژی تولید شده و خریدار از همه جا بی‌خبر نیز بدون اطلاع قبلی آن را می‌خرد. به‌طور معمول قیمت اضافه‌ای به‌دلیل ارایه امکان استفاده از این تکنولوژی دریافت نمی‌شود!
دیگر اینکه، استفاده از تکنولوژی NCQ علاوه بر افزایش کارایی کلی هارددیسک، احتمال بروز خطا یا خرابی (MTBF) را نیز کاهش می‌دهد. اگر از آن دسته کاربرانی هستید که به‌ صورت همزمان از چند نرم‌افزار استفاده می‌کنید لازم است که هارددیسک شما مجهز به تکنولوژی NCQ باشد.
این را هم بگویم و خلاص که ترکیب تکنولوژی‌های NCQ و RAID در سیستم‌هایی که از چندین هارددیسک استفاده می‌کنند فوق‌العاده است. همین!

هفته‌نامه بزرگراه فناوری