تمرینات درس زبان ماشین

۱- برنامه ای بنویسید که یک عدد دو (۲) رقمی مبنای ده (۱۰) را گرفته و آنرا به صورت باینری (دودویی) نمایش دهد .


۲- برنامه ای بنویسید که یک عدد مبنای دو (دودویی) را گرفته و مبنای ده آنرا نمایش دهد .


۳- برنامه ای بنویسید که یک کاراکتر (X) را در وسط صفحه نمایش چاپ کرده و سپس در صورت فشردن کلید جهتدار به سمت چپ (Left arow) از صفحه کلید کاراکتر مورد نظر به سمت چپ حرکت کند ، در صورت فشردن کلید جهتدار به سمت راست (Right arow) از صفحه کلید کاراکتر مورد نظر به سمت راست حرکت کند و در مورد کلیدهای بالا و پایین (Up and Down arow)به صورت مشابه رفتار شود . برنامه با فشار دادن کلید (q) خاتمه یابد .


4- برنامه ای بنویسید که 2 مقدار کاراکتری را از کاربر بگیرد و به طور متوالی در ثبات های AX , BX قرار دهد . سپس به تعداد ورودی کاربر مقادیر دودویی آنها را به سمت راست بچرخاند و سپس نتیجه مبنای دو ثبات ها را به طور متوالی نمایش دهد .


تمرینات درس زبان ماشین

۱- برنامه ای بنویسید که کلیه کاراکترهای صفحه نمایش را با کاراکتر * پر کند.


۲- برنامه ای بنویسید که کلیه کاراکترهای از کد اسکی ۰ تا ۲۵۵ را نمایش دهد .


۳- برنامه ای بنویسید که با نمایش پیغام Enter a character: در وسط صفحه نمایش یک کاراکتر را از کاربر گرفته و تعداد 1 های موجود در کد اسکی آن را شمارش نموده و در یک متغیر در حافظه ذخیره کند . (با استفاده از وقفه های BIOS)


کنفرانس آز گرافیک

نام دانشجو : حامد مجیدی گرگانه

شماره دانشجویی : 2508921933

درس : گرافیک
استاد : آقای ابراهیمی
موضوع: نرم افزار گرافیکی Edrew max professional . 5.2
توضیحات:
ابزاری قدرتمند برای رسم ، طراحی جدول و نودار و اشکال مختلف با توجه به نیاز خود . توسط این نرم افزار از نوع طراحی شبکه ( lan  ) را رسم کرد . و رسم و انجام موارد زیر فقط با یک کلیک انجام می پذیرد.
شروع اصلی : نوار منو گزینه Home  انتخاب کرد.
در این نرم افزار Template  پیش فرض زیادی وجود دارد که می توان از هر کدام استفاده کرد- نمونه Examples  و دیگه ی Template است و بهره بردن از مجموعه Office است و در word  .

کنفرانس کارت شبکه

گردآورنده : خانم سودابه شیخ احمدی


آشنائی با کارت شبکه

کارت شبکه ، یکی از مهمترین عناصر سخت افزاری در زمان پیاده سازی یک شبکه کامپیوتری است . هر کامپیوتر موجود در شبکه ( سرویس گیرندگان و سرویس دهندگان ) ، نیازمند استفاده از یک کارت شبکه است . کارت شبکه ، ارتباط بین کامپیوتر و محیط انتقال ( نظیر کابل ها ی مسی و یا فیبر نوری ) را فراهم می نماید .

کارت شبکه ، یکی از مهمترین عناصر سخت افزاری در زمان پیاده سازی یک شبکه کامپیوتری است . هر کامپیوتر موجود در شبکه ( سرویس گیرندگان و سرویس دهندگان ) ، نیازمند استفاده از یک کارت شبکه است . کارت شبکه ، ارتباط بین کامپیوتر و محیط انتقال ( نظیر کابل ها ی مسی و یا فیبر نوری ) را فراهم می نماید .

وظایف کارت شبکه

برقراری ارتباط لازم بین کامپیوتر و محیط انتقال

تبدیل داده : داده ها بر روی گذرگاه ( bus ) کامپیوتر به صورت موازی حرکت می نمایند . نحوه حرکت داده ها بر روی محیط انتقال شبکه به صورت سریال است . ترانسیور کارت شبکه ( یک ارسال کننده و یا دریافت کننده ) ، داده ها را از حالت موازی به سریال و بالعکس تبدیل می نماید .

ارائه یک آدرس منحصربفرد سخت افزاری : آدرس سخت افزاری (MAC ) درون تراشه ROM موجود بر روی کارت شبکه نوشته می گردد . آدرس MAC در واقع یک زیر لایه از لایه Data Link مدل مرجع OSI می باشد . آدرس سخت افراری موجود بر روی کارت شبکه ، یک آدرس منحصربفرد را برای هر یک از کامپیوترهای موجود در شبکه ، مشخص می نماید . پروتکل هائی نظیر TCP/IP از یک سیستم آدرس دهی منطقی ( آدرس IP ) ، استفاده می نمایند . در چنین مواردی قبل از دریافت داده توسط کامپیوتر ، می بایست آدرس منطقی به آدرس سخت افزاری ترجمه گردد .

انتخاب کارت شبکه

برای انتخاب یک کارت شبکه ، می بایست پارامترهای متعددی را بررسی نمود :

سازگاری با معماری استفاده شده در شبکه : کارت های شبکه دارای مدل های متفاوتی با توجه به معماری استفاده شده در شبکه ( اترنت ، Token ring )می باشند . اترنت ، متداولترین معماری شبکه در حال حاضر است که در شبکه هائی با ابعاد بزرگ و کوچک ، استفاده می گردد .

سازگاری با throughput شبکه : در صورتی که یک شبکه اترنت سریع (سرعت 100Mbps ) پیاده سازی شده است ، انتخاب یک کارت اترنت با سرعت 10Mbps تصمیم مناسبی در این رابطه نخواهد بود . اکثر کارت های شبکه جدید قادر به سوئیچینگ اتوماتیک بین سرعت های 10 و 100Mbps می باشند ( اترنت معمولی و اترنت سریع )

سازگاری با نوع اسلات های خالی مادربرد : کارت های شبکه دارای مدل های متفاوتی با توجه به نوع اسلات مادربرد می باشند. کارت های شبکه PCI درون یک اسلات خالی PCI و کارت هائی از نوع ISA در اسلات های ISA نصب می گردند . کارت شبکه می بایست متناسب با یکی از اسلات های خالی موجود بر روی مادربرد، انتخاب گردد. اسلات آزاد به نوع مادربرد بستگی داشته و در این رابطه گزینه های متعددی نظیر ISA,PCI و EISA می تواند وجود داشته باشد .

گذرگاه ISA که از کلمات Industry Standard Architecture اقتباس شده است، استاندارد استفاده شده در کامپیوترهای IBM XT است . استاندارد فوق در ابتدا به صورت هشت بیتی مطرح و در سال 1984 نوع شانزده بیتی آن نیز عرضه گردید. تعداد زیادی از تجهیزات سخت افزاری نظیر مودم ، کارت صدا و کارت های شبکه بر اساس استاندارد فوق تولید و عرضه شده اند . برخی از مادربردهای جدید دارای اسلات های PCI بوده و از کارت های ISA حمایت نمی نمایند . ( کارت های PCI دارای سرعت بیشتری نسبت به ISA می باشند ) .
PCI
در سال 1993 معرفی و یک گذرگاه سی و دو بیتی است . PCI 2.1 شصت و چهار بیت را حمایـت می نماید .کارت های شبکه PCI با توجه به پتاسیل های موجود دارای استعداد لازم به منظور ارائه سرعت و کارآئی بیشتری نسبت به کارت های ISA می باشند :

بافرینگ : حافظه تراشه ها ( RAM ) بر روی کارت شبکه قرار داشته و از آن به عنوان بافر استفاده می گردد .از حافظه فوق به منظور نگهداری اطلاعاتی که در انتظار پردازش می باشند و یا اطلاعاتی که می بایست بر روی شبکه منتشر شوند ، استفاده می گردد .

DMA و یا Direct Memory Access ، کامپیوترهائی که از DMA حمایـت می نمایند، امکان ارسال و یا دریافت داده از حافظه را مستقیما" و بدون درگیرکردن پردازنده فراهم می نمایند .

Bus Mastering . کارت های شبکه می توانند بگونه ای طراحی شوند که مستقیما" بدون استفاده از پردازنده کامپیوتر و یا واسطه ای دیگر به حافظه RAM کامپیوتر دستیابی داشته باشند . ویژگی فوق به کارت های شبکه اجازه می دهد که bus را کنترل نموده و داده ئی را به حافظه RAM کامیپوتر ارسال و یا دریافت نمایند .

نصب کارت شبکه
برای نصب کارت شبکه، توصیه می شود که از دستورالعمل های همراه کارت شبکه خود پیروی کنید. سعی کنید کارت شبکه ای را خریداری نمائید که این دستورالعمل ها را با خود داشته باشد. اگر قصد دارید از کارتی استفاده کنید که آن را از کامپیوتر دیگری بیرون کشیده اید و یا دوستتان آن را به شما داده است، ابتدا در دو روی آن کارت شبکه نام سازنده و شماره محصول را بررسی کنید.

حداقل یافتن نام سازنده درصورت وجود آسان است. در درجه دوم، به سایت سازنده در وب مراجعه نموده و اطلاعات فنی دربارة آن کارت شبکه جستجو کنید. سعی کنید شماره محصول، مدل و شماره سریال ها را تطبیق دهید. راهی دیگر نیز برای شناختن سازندة کارت شبکه وجود دارد. بر روی کارت شبکه یک کد شش رقمی است که از حروف و عدد تشکیل یافته است (مثل OOAOC۹(

شماره مذکور به OUI (Organizationally Unique Identifier) معروف است. در صورت وجود OUI شما قادر هستید سازنده کارت و نیز درایور مناسب را بیابید. شماره OUI توسط IEEE (Institute for Electrical and Electronical Engineers) تخصیص داده می شود و از طریق پایگاه داده های آن می توان به جستجوی نام سازندگان پرداخت. (www.ieee.org) شما می بایست به منظور کارکرد صحیح کارت شبکه در کامپیوترتان، یک درایور[۴۴] برای آن داشته باشید. اگر کارت شبکه ای را از یک تولید کننده معروف در دست دارید، این شانس وجود دارد که ویندوز درایور آن را در فایلهای خود داشته باشد. اما در غیر اینصورت یا باید به دریافت درایور از اینترنت اقدام کنید و یا دیسکت و یا CD ROM مربوط به کارت شبکه را در اختیار داشته باشید.

برخی کارت های شبکه در دیسکت یا CD ROM خود، یک نصب نرم افزاری را پیش بینی می کنند. سعی کنید این نصب را پیش از رفتن به مراحل بعدی کامل کنید. بهترین راه برای پاسخگویی به سؤالاتی که در حین مراحل نصب ممکن است برایتان پیش بیاید، مراجعه به وب سایت سازنده است.

فرایند نصب کارت شبکه شامل مراحل زیر است:.

جایدهی فیزیکی کارت در کامپیوتر.

پیکربندی (Configuring) کارت برای استفاده از منابع سخت افزاری مناسب.

نصب نرم افزاری راه اندازی (device driver) کارت.

در مراحل نصب و راه اندازی شبکه ابتدا می بایست مسیر کابل کشی که بطور فیزیکی کامپیوترهای شما را به یکدیگر متصل می کند مشخص شود. یک روش آسان ولی مؤثر در طراحی مسیر جایگیری کابل ها، این است که با در دست داشتن یک دفترچه یادداشت و یک مداد، از یک مکان دلخواه برای کامپیوتر به سمت مکان دیگر حرکت کنید و بدین شکل یک طرح کلی را از کف خانه خود بدست آورید؛ همینطور که پیش می روید هرگونه مانعی را که می بایست فکری برایش کرد یادداشت کنید مثل دیوارها، لوله ها، لوازم خانه، درخت ها و غیره.

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

پس از طراحی مسیر کابل ها، به اندازه گیری مسیر واقعی آنها بر روی زمین بپردازید. فراموش نکنید که اگر قرار است یک کامپیوتر بر روی میز قرار گیرد لازم است که فاصله پشت کیس کامپیوتر را تا زمین اندازه بگیرید. همچنین اندازه گوشه ها و زوایای دیوارها را بیفزایید. پس از پایان این مرحله مجدداً به اندازه گیری مسیر کابل ها بپردازید و اندازه های قبلی خود را بررسی و اصلاح نمائید. آنگاه همة اندازه های بدست آمده را برای بدست آوردن کل طول کابل مورد نیاز، با هم جمع کنید. اندازه ای حدود ده فوت را به کل اندازه کابل مورد نیاز بیفزایید، این طول اضافی بابت موانعی است که به آسانی قابل اندازه گیری نیستند مثل زوایا و گوشه ها و یا پله ها.

برای ادامه کار شما به کابل Cat۵ به همراه اتصال دهنده های RJ ۴۵ نیاز دارید.

به منظور جایدهی فیزیکی کارت شبکه در کامپیوتر، ابتدا کامپیوتر را خاموش کنید. سپس کیس کامپیوتر را باز نمائید و به دنبال یک شیار (slot) آزاد بگردید. در بازار هر دو نوع کارت شبکه ISA و PCI وجود دارند و شما قبل از انتخاب کارت باید بررسی کنید که کامپیوترتان چه نوع شیاری را دارا می باشد. کارت های ISA برای استفاده های معمولی شبکه کافی هستند اما امروزه این نوع باس ها با PCI جایگزین شده اند. در صورتیکه بخواهید کامپیوتر خود را به شبکه های پر سرعت (۱۰۰ Mbps) وصل کنید، باس PCI را ترجیح دهید. پس از خارج ساختن پوشش شیار، کارت را درون شیار جای دهید و آن را محکم کنید.

در مرحله دوم، پیکربندی کارت شبکه به منظور استفاده آن از منابع سخت افزاری خاص صورت می گیرد. مثالهایی از این منابع سخت افزاری عبارتند از:.

▪ Interrupt requests (IRQS): یعنی خطوط سخت افزاری که وسایل جانبی از آنها برای فرستادن سیگنال ها به پردازشگر و درخواست توجه آن، استفاده می کنند.

▪ Input/Output (I/O) port addresses: این مکان ها در حافظه برای استفاده وسایل خاص و به منظور تبادل اطلاعات با دیگر بخشهای کامپیوتر، تخصیص داده می شوند.

▪ Memory addresses: این مکانها از حافظه توسط وسایل خاص و به منظور نصب BIOS با هدف خاصی استفاده می شوند.

▪ Direct memory access (DMA) channels: یعنی مسیرهای سیستمی که وسایل از آنها برای تبادل اطلاعات با حافظه سیستم استفاده می کنند.

کارت های شبکه معمولاً از آدرسهای حافظه یا DMA استفاده نمی کنند، اما هر کارت شبکه به یک IRQ و نیز آدرس I/O پورت برای برقراری ارتباط با کامپیوتر نیاز دارد. وقتی شما کامپیوتر و کارت شبکه ای را داشته باشید که هر دو از استاندارد "Plug and Play" (یعنی توانایی یک سیستم کامپیوتری برای پیکربندی خودکار وسیله ای که به آن افزوده می شود) پشتیبانی کنند، فرایند پیکربندی (مرحله دوم) به طور خودکار انجام می گیرد. کامپیوتر کارت شبکه را تشخیص داده، آن را شناسایی می کند، همچنین منابع آزاد را مکان یابی کرده و به پیکربندی کارت شبکه برای استفاده از آنها اقدام می کند. عدم وجود مکان "Plug and Play" به معنی آنست که شما باید کارت شبکه را برای استفاده از IRQ خاص و پورت I/O پیکربندی نمائید و سپس این تنظیمات را با تنظیمات درایور کارت شبکه تطبیق دهید. البته این حالت بیشتر در کارت شبکه های قدیمی اتفاق می افتد. تقریباً از ویندوز ۹۵ به بعد، ابزارهایی به منظور تشخیص برخوردهای سخت افزاری در اختیار کاربران قرار گرفته است. "Device Manager" تنظیمات سخت افزاری همه اجزاء را در کامپیوتر فهرست می کند، و هنگامیکه در مورد کارت شبکه ای که به تازگی نصب شده، یک برخورد سخت افزاری پیش می آید، این ابزار شما را آگاه می سازد. شما می توانید از "Device Manager" برای تشخیص اینکه کارت شبکه با چه وسیله ای برخورد دارد و چه منبعی احتیاج به تنظیم دارد، استفاده نمائید.

مرحله سوم شامل نصب درایو های کارت شبکه است. نرم افزار راه اندازی (device driver) بخشی از کارت شبکه است که کامپیوتر را قادر می سازد با کارت شبکه ارتباط برقرار کرده و کارکردهای مورد نیاز را اجرا کند. در حقیقت تمامی کارت های شبکه برای پشتیبانی از سیستم های عامل مطرح، با یک نرم افزار راه اندازی عرضه می شوند، اما در بسیاری از موارد، شما حتی به این نرم افزار احتیاج پیدا نخواهید کرد زیرا سیستم های عاملی مثل ویندوز، مجموعه ای از درایوها را برای مدلهای کارت شبکه پراستفاده و رایج شامل می گردند. با وجود امکان "Plug and Play"، علاوه بر تنظیم پیکربندی منابع سخت افزاری کارت شبکه، درایور مناسب نیز نصب می شود. شما می توانید جدیدترین درایورهای مربوط به کارت شبکه را از سایت سازندة آن بدست آورید. البته نصب درایور جدید تنها در صورت بروز مشکل ضرورت پیدا می کند.

چگونه یک کارت شبکه به کابل متصل می‌شود؟

یک Connector Interface معمولا به طور فیزیکی بین کابل و کارت شبکه متصل می‌شود. سه نوع عمومی از Interface Connector ها که در LAN استفاده می‌شوند عبارتند از:

(BNC (British Naval Connector:
که با کابل کواکسیال استفاده می‌شود.
RJ-45:
یک کانکتور که از 8 سیم تشکیل شده است مثل سیم تلفن (Rj-11) که از زوج سیم به هم تابیده استفاده می‌کند. ( Rj-11 شامل 6 پایه است ولیRj-45 دارای 8 پایه می‌باشد)
(AUI (Attachment Unit Interface:
معمولا یک رابط 16 پایه است که با کابل کواکسیال ضخیم استفاده می شود و همچنین یک DIX (Digital Intal Xerox) نامیده می شود.
Rj-45
و BNC از کانکتورهایی هستند که بیشتر استفاده می‌شوند.

تفاوت های Local Bus و Expansion Bus:

در اصل ما دو نوع BUS داریم: Local و Expansion

Local Bus:
که گذرگاه سیستم یا پردازشگر نامیده می‌شود که گذرگاهی است که مستقیما به CPU متصل می‌شود و در عمل چهار گذرگاه است که داده، آدرس، کنترل و منبع‌تغذیه را شامل می‌شود.
اجزاء یک گذرگاه محلی، هماهنگ با CPU عمل می‌کنند به این معنی که آنها می توانند که روی 32 بیت گذرگاه با سرعت تمام عمل کنند. (که پردازشگر، 386 یا بالاتر می تواند باشد)
معمولا فقط حافظه اصلی پردازشگر و واحدکنترل منطق مستقیما به Local Bus متصل هستند .

Expansion Bus:
که AT Bus هم نامیده می شود، اجازه می دهد به CPU، که با دستگاههای جانبی و کنترلی ارتباط بر قرار کند، که شامل Disk and Video Controller ،Parallel Card Serial and و به طور نمونه کارت شبکه است، که این اجزاء با کارت‌های توسعه ISA شانزده بیتی، که با فرکانس 8MHZ کار می کنند، ارتباط برقرار می کنند. به عبارت دیگر آنها بسیار کم سرعت‌تر از پردازشگر هستند زیرا سرعت گذرگاه آنها بسیار پایین تر از Local Bus است. باس توسعه یافته می تواند گلوگاهی در عملکرد سیستم باشد.

Peripheral Connection Interface) PCI BUS)
برای تامین کردن تواناییهایی و بیشتر کردن سرعت انتقال داده که مستقیما به local Bus مرتبط می‌شود طراحی شده است.

چگونه یک کارت شبکه را برای استفاده کردن پیکربندی کنیم؟

هنگامی که یک کارت شبکه را بر روی یک کامپیوتر نصب کردید، کارت شبکه باید پیکر بندی شود. در حالیکه روالهای دقیقی وابسته به کارت شبکه موجود است که دارای چندین گزینه است و برای برقراری ارتباط درست کارت شبکه با کامپیوتر ممکنه به آن نیاز داشته باشیم.

IRQ) Interrupt Request Line):
خطوط سخت افزاری برای فرستادن و گرفتن درخواستها به CPU استفاده می شود.
Base I/O port address:
کانالی برای انتقال داده ، بین کارت شبکه وCPU است.
Base memory address:
مکانی از حافظه (Buffer) که بوسیله کارت شبکه استفاده می شود.
DMA channel:
کانالی برای کارت شبکه تا بدون ارتباط به CPU به حافظه دسترسی پیدا کند.
Transceiver type:
برقراری انتقال و دریافت است که وابسته به کابل است.
IRQ
چیست و چگونه در پیکربندی کارت شبکه استفاده می‌شود؟

یک (IRQ (Interrupt Request خط سخت‌افزاری است که از هر وسیله‌ای مانند کی بورد، دیسک راه انداز و یا کارت شبکه یک تقاضای سرویس (Interrupt) به CPU می‌فرستد.
IRQ
ها تقدم‌های متفاوتی به آنها تخصیص داده می شود و CPU می تواند اهمیت نسبی درخواست آنها را در هنگام درخواست سرویس مشخص کند.

در سیستم های 80286 و بالاتر، 16 خط IRQ از 0 تا 15 داریم که در این بین IRQ2 و IRQ9 برای استفاده سیستم (به صورت آبشاری) ذخیره می‌شوند.

چگونه IRQ تداخل پیدا می‌کنند؟

وقتی یک وسیله مانند کیبورد و یا پرینتر نیاز به توجه CPU دارند، آن وسیله یک سیگنال از طریق خط وقفه تخصیص داده شده، می‌فرستد. وقتی CPU وقفه را شناسایی کرد، می داند که چه وسیله‌ای سیگنال را فرستاده است و زمان خود را بر اساس اولویت درخواستها تخصیص می‌دهد.

برخی از این IRQها به طور ثابت تخصیص داده می شوند مثل کیبورد که دارای IRQ1 است و برخی دیگر، به وسیله کاربر تخصیص داده می شوند.

معمولا فقط یک وسیله می‌تواند یک خط IRQ مخصوص، را به خود تخصیص دهد، اگر دو وسیله سهوا یک IRQ را تخصیص دهند، CPU نمی تواند تشخیص دهد که کدام وسیله سیگنال را فرستاده است و در نتیجه تداخل (IRQ(IRQ Conflict پیش می آید.

دو وسیله می‌توانند یک خط IRQ را به اشتراک بگذارند ولی آنها نمی توانند همزمان از آن استفاده کنند.

معمولا به IRQ صفر تا 15 چه خطوطی را تخصیص می‌دهند؟

برای 80286 و بالاتر، IRQهایی که عموما تخصیص داده می‌شوند در زیر نشان داده شده است.



0. System timer
1 .keyboard
2. Cascade to IRQ 9/programmable interrupt controller
3 .COM2/COM4 (communication ports)
4. COM1/COM3 (communication ports)
5. LPT2 parallel port; typically used by the sound card
6. Floppy Disk Controller
7 .parallel port; LPT 1
8. System or real-time clock/CMOS
9. Cascade from IRQ 2
10. Open
11. Open
12 .sometimes OS/2 mouse or trackball
13. Math co-processor
14. Hard disk controller
15. second hard disk control


کدام IRQ معمولا برای کارت شبکه استفاده می‌شود؟ و چگونه می‌توانیم بگوییم که کدام IRQ در دسترس است؟

معمولا IRQ 10,11,15 به کارت شبکه تخصیص داده ‌شود. اگر کارت صدا نداشته باشیم IRQ5 به کارت شبکه تخصیص داده می شود و اگر پورت سریال Com2/com4 مورد استفاده وسیله دیگری قرار نگیرد، IRQ3هم می‌تواند به آن تخصیص داده شود.

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش اول ) 

TCP/IP یکی از متداولترین پروتکل های استفاده شده در شبکه های کامپیوتری است . از مهمترین ویژگی های این پروتکل می توان به مدیریت غیرمتمرکز آن اشاره نمود . در چنین مواردی، امکان مدیریت جداگانه شبکه های متعددی که از طریق اینترنت و یا اینترانت به یکدیگر مرتبط شده اند، فراهم می گردد .
برای اشکال زدائی شبکه های مبتنی بر
TCP/IP ،  تاکنون ابزارهای متعددی طراحی و پیاده سازی شده است . برخی از این ابزارها پس از نصب سیستم عامل در دسترس قرار خواهند گرفت و برخی دیگر را می بایست تهیه و بر روی سیستم نصب نمود . از ابزارهای فوق به منظور رفع اشکال ارتباطی یک کامپیوتر موجود در شبکه ، مسائل در ارتباط با پیکربندی TCP/IP و سرویس های مربوطه، استفاده می گردد .

برای اشکال زدائی از کجا می بایست شروع کرد ؟
تعیین مختصات نقطه شروع اشکال زدائی در یک شبکه به پارامترهای متعدد و نوع مشکل ایجاد شده، بستگی خواهد داشت . قبل از بررسی عناصر فیزیکی شبکه نظیر کابل ها ، آداپتورهای شبکه ، هاب و یا سوئیچ ، در ابتدا می بایست پیکربندی پروتکل TCP/IP بر روی سیستمی که دارای مشکل است ، برررسی گردد . بدین منظور می توان از ابزارهای ارائه شده همراه سیستم عامل استفاده نمود .

اولین اقدام : بررسی وضعیت پیکربندی TCP/IP
پیکربندی TCP/IP ، معمولا" در زمان نصب سیستم عامل انجام می شود . در برخی موارد ممکن است لازم باشد که تنظیمات انجام شده ، تغییر یابند. مثلا" در صورتی که کامپیوتر به یک subnet دیگر منتقل شده است ، می بایست تغییرات ضروری را بر روی آن اعمال نمود ( آیا سیستم دارای یک آدرس IP است که دارای شماره شبکه ای یکسان و مشابه سایر کامپیوترهای موجود در شبکه است ؟ ) . اطمینان از صحت تنظیمات Subnet Mask و Default gateway از دیگر اقدامات ضروری در این رابطه است . در صورتی که از DHCP به منظور نسبت دهی اطلاعات پیکربندی TCP/IP ( نظیر آدرس IP ) استفاده می شود ، می بایست از وجود یک سرویس دهنده DHCP و یا یک DHCP relay agent در subnet جدید ، اطمینان حاصل نمود .
در صورتی که همه تنظیمات به درستی انجام شده است ولی همچنان سیستم دارای مشکل است ، می توان از ابزارهائی که به همراه اکثر نسخه های
TCP/IP ارائه شده است ، استفاده نمود .

استفاده از hostname
یکی از عملیات اولیه به منظور اشکال زدائی یک کامپیوتر موجود درشبکه ، تشخیص نام آن است. بدین منظور می توان از برنامه کاربردی hostname استفاده نمود . برای نامگذاری کامپیوترها از دو روش متفاوت استفاده می شود . در اولین روش ، اسامی flat ( غیرسلسله مراتبی ) با استفاده از جداولی نظیر host tables به دستگاه ها نسبت داده می شوند . در روش دوم ، از طریق سرویس دهنده DNS  یک نام به دستگاه موجود در شبکه ، نسبت داده می شود ( از دستور hostname در دو روش فوق می توان استفاده نمود ) .
hostname ، ساده ترین دستوری است که می توان با استفاده از آن بررسی اولیه پیکربندی یک کامپیوتر را انجام داد . در سیستم های مبتنی بر ویندوز ، دستور فوق نام کامپیوتر را نمایش خواهد داد . برای استفاده از دستور فوق ، کافی است نام آن را از طریق پنجره  command prompt تایپ نمود .

تایپ دستور

خروجی

C:\>hostname

 srcocomputer

ضرورت استفاده از دستور hostname
شاید این سوال برای شما مطرح شده باشد که چرا می بایست از دستور hostname  استفاده نمائیم و نتایجی که نمایش داده می شود ، بیانگر چه واقعیتی است ؟ با توجه به این که hostname به یک آدرس IP ترجمه شده است ، با استفاده از دستور فوق ، می توان از صحت آدرس IP مرتبط با نام ، اطمینان حاصل نمود .
از دستور
hostname بر روی سیستم هائی که بر روی آنان سیستم عامل یونیکس و یا لینوکس نصب شده است نیز استفاده می گردد . با توجه به نوع سیستم عامل ، نحوه پیکربندی و پارامترهای استفاده شده ، اجرای این دستور نتایج متفاوتی را بدنبال خواهد داشت. در سیستم های عامل ویندوز NT/2000/XP  ، دستور فوق نام host را نمایش خواهد داد .

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش دوم ) 

ipconfig ، یکی از دستورات مفید به منظور بررسی وضعیت پیکربندی TCP/IP در کامپیوترهای سرویس دهنده و یا سرویس گیرنده ای است که بر روی آنان ویندوز نصب شده است . در یونیکس و لینوکس از دستور ifconfig در این رابطه استفاده می شود . در سیستم هائی که بر روی آنان ویندوز 9x و یا  ME نصب شده است ، می توان از دستور winipcfg استفاده نمود . 

استفاده از ipconfig 
برای استفاده از دستور فوق، کافی است نام آن را از طریق پنجره  command prompt تایپ نمود . عملکرد  ipconfig  و اطلاعاتی که در اثر اجرای آن نمایش داده خواهد شد به نوع سوئیچ استفاده شده ، بستگی دارد .

استفاده از ipconfig بدون سوئیچ ،اطلاعات پیکربندی TCP/IP در ارتباط با هر یک از  آداپتورهای موجود بر روی سیستم را نمایش خواهد داد:

  • آدرس IP
  • Subnet Mask
  • Default gateway
  • اطلاعات سرویس دهنده DNS
  • Domain

تایپ دستور

خروجی

C:\> ipconfig

 Ethernet adapter MyLan1:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . .   : 10.10.1.1
Subnet Mask . . . . . . . . . . . : 255.0.0.0
Default Gateway . . . . . . . . . :

PPP adapter My ISP:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . .   : 10.1.1.216
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 10.1.1.216

دستور فوق ، اطلاعات مربوط به اتصالات از نوع PPP که از آنان در Dialup و VPN استفاده می شود را نیز نمایش خواهد داد . 

استفاده از ipconfig به همراه سوئیچ all ، علاوه بر نمایش اطلاعات اشاره شده در بخش قبل ، اطلاعات دیگری را نیز نمایش خواهد داد  :

  •  آدرس سخت افزاری کارت شبکه ( آدرس MAC ) 
  • اطلاعات مربوط به DHCP

تایپ دستور

خروجی

C:\> ipconfig /all

 Windows 2000 IP Configuration

Host Name . . . . . . . . . . . . : srco
Primary DNS Suffix . . . . . . . : srco.ir
Node Type . . . . . . . . . . . . : Broadcast
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : srco.ir

Ethernet adapter MyLan1:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : D-Link DFE-680TX CardBus PC Card
Physical Address. . . . . . . . . : 00-50-BA-79-DB-6A
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . .    : 10.10.1.1
Subnet Mask . . . . . . . . . . .  : 255.0.0.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . .  : 127.0.0.1

PPP adapter My ISP:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . .    : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : 00-53-45-00-00-00
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . .    : 10.1.1.216
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . .: 10.1.1.216
DNS Servers . . . . . . . . . . . : x1.y1.z1.w1
                                            x2.y2.z2.w2

سایر سوئیچ های دستور ipconfig : با استفاده از دستور ipconfig و برخی سوئیچ های آن ( release ,renew ) ، می توان اطلاعات مربوط به پیکربندی TCP/IP ارائه شده توسط سرویس دهنده DHCP را که در اختیار یک سرویس گیرنده قرار داده شده است را آزاد و یا آنان را مجددا" از سرویس دهنده درخواست نمود . فرآیند فوق به منظور تشخیص عملکرد صحیح سرویس دهنده  DHCP  در شبکه بسیار مفید و کارساز است . ( آیا سرویس دهنده DHCP وظایف خود را به خوبی انجام می دهد ؟ آیا یک سرویس گیرنده قادر به برقراری ارتباط با سرویس دهنده DHCP به منظور درخواست و دریافت اطلاعات پیکربندی TCP/IP می باشد ؟ ) . دستور ipconfig دارای سوئیچ های مفید متعددی است که می توان با توجه به نوع خواسته خود از آنان استفاده نمود : 

عملکرد

سوئیچ 

 آدرس IP پیکربندی شده توسط  DHCP را آزاد می نماید . در صورتی که سوئیچ فوق را به تنهائی و بدون مشخص نمودن adapter تایپ نمائیم،پیکربندی IP برای تمامی آداپتورهای موجود بر روی کامپیوتر، آزاد می گردد. در صورتی که قصد آزاد سازی اطلاعات پیکربندی مربوط به یک آداپتور خاص را داشته باشیم ، می بایست به همراه سوئیچ فوق نام آداپتور نیز مشخص گردد .
( مثلا"
ipconfig / release MyLan1 )

 / release [ adapter]

یک آدرس IP را بر اساس اطلاعات جدیدی که از طریق DHCP دریافت می نماید ، پیکربندی مجدد می نماید . در صورتی که سوئیچ فوق را به تنهائی و بدون مشخص نمودن adapter تایپ نمائیم،پیکربندی IP  تمامی آداپتورهای موجود بر روی کامپیوتر، مجددا" انجام خواهد شد.  در صورتی که قصد ایجاد مجدد اطلاعات پیکربندی مربوط به یک آداپتور خاص را داشته باشیم ، می بایست به همراه سوئیچ فوق نام آداپتور نیز مشخص گردد.
( مثلا"
ipconfig / renew MyLan1 )

 /renew [adapter]

حذف محتویات Dns Resolver Cache

/ flushdn

Refresh نمودن تمامی اطلاعات تولید شده توسط DHCP برای آداپتور و ریجستر نمودن اسامی Dns

/ registerdn

 نمایش محتویات Dns Resolver Cache

/ displaydns

نمایش تمامی DHCP Class ID مجاز برای آداپتور

/ showclassid [adapter]

تغییر  DHCP Class ID 

/setclassid [adapter] [classidtoset ]

توضیحات :

  • تشخیص نام آداپتور : نام آداپتور را می توان با کلیک ( Right click ) بر روی Network Neighborhood و انتخاب گزینه properties، از طریق پنجره Network and Dial-up Connections مشاهده نمود ( اسامی آدپتورها ، نام آیکون ها می باشند ) .
  • مفهوم DNS Cache : زمانی که یک سیستم ، ترجمه ( تبدیل نام host  به آدرس ) را از طریق یک سرویس دهنده DNS دریافت می نماید ، برای مدت زمان کوتاهی آن را در یک Cache ذخیره می نماید . در صورتی که مجددا" از نام استفاده شود ، پشته TCP/IP محتویات Cache را به منظور یافتن رکورد درخواستی بررسی می نماید . بدین ترتیب امکان پاسخگوئی سریعتر به درخواست ترجمه نسبت به حالتی که در خواست برای یک سرویس دهنده DNS ارسال می شود ، فراهم می گردد . با توجه به این که اندازه Cache نمی تواند از یک میزان منطقی و تعریف شده تجاوز نماید ، هر رکورد موجود در Cache پس از مدت زمانی خاص حذف می گردد. در صورت اعمال هرگونه تغییرات در DNS ( مثلا" تغییر یک رکورد DNS ) ، می توان با استفاده از دستور ipconfig/flushdns تمامی رکوردهای موجود در cache را حذف نمود . بدین ترتیب در صورت درخواست یک نام host ، با سرویس دهنده DNS مشورت می گردد و نتایج مجددا" در Cache ذخیره خواهند شد .  دستور ipconfig / displaydns ، محتویات cache را نمایش خواهد داد. از اطلاعاتی که نمایش داده می شود ، می توان به منظور تشخیص این موضوع که آیا برای ترجمه نام به آدرس از Cache و یا سرویس دهنده DNS استفاده شده است ،  کمک گرفت .
  • موارد استفاده از دستور Ipconfig : از دستور فوق در مواردی که قصد تشخیص این موضوع را داریم که  آیا سرویس دهنده DNS و  DHCP در شبکه به درستی وظایف خود را انجام می دهند ، استفاده می شود( علاوه بر مشاهده اطلاعات پیکربندی TCP/IP ) . مثلا" با استفاده از سوئیچ های release و renew ، می توان براحتی تشخیص داد که آیا در زمینه دریافت اطلاعات پیکربندی از یک سرویس دهنده DHCP مشکل خاصی وجود دارد .از سوئیچ های مرتبط با  DNS می توان به منظور اعمال تغییرات پیکربندی ، بهنگام سازی cache  محلی و یا ریجستر نمودن اطلاعات پیکربندی جدید با یک سرویس دهنده DNS ، استفاده نمود .
  • امکانات جانبی به همراه دستور ipconfig : با استفاده از سوئیچ all / اطلاعات متنوعی در رابطه با پیکربندی TCP/IP نمایش داده خواهد شد . در صورتی که حجم اطلاعات بگونه ای است که می بایست صفحه را scroll نمود ، می توان  از   More| به همراه دستور ipconfig استفاده نمود . در صورت تمایل  می توان خروجی دستور ipconfig  را در مقابل ارسال بر روی دستگاه استاندارد خروجی ( صفحه نمایشگر ) ، در یک فایل ذخیره نمود تا امکان بررسی سریعتر نتایج و رفع مشکل فراهم گردد.
     ( ipconfg /all > test1.txt )

همانگونه که اشاره گردید در سیتم هائی که از لینوکس و یا یونیکس استفاده می نمایند ، از دستور ifconfig استفاده می گردد. از دستور فوق برای نمایش اطلاعات پیکربندی IP  و اعمال تغییرات لازم استفاده می شود

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش سوم) 

Ping و Tracert  ، دو برنامه مفید به منظور تست وضعیت ارتباطی گره های موجود در یک شبکه مبتنی بر TCP/IP می باشند . در این بخش با برنامه بسیار سودمند ping آشنا خواهیم شد و در بخش های بعدی به بررسی دستور tracert خواهیم پرداخت .

دستور Ping
دستور Ping می تواند نقطه شروع مناسبی برای اشکال زدائی یک شبکه مبتنی بر TCP/IP باشد . از برنامه فوق برای تست وضعیت ارتباط بین دو سیستم موجود در شبکه استفاده می شود . این برنامه از پروتکل ICMP (  اقتباس شده از Internet Control Message Protocol ) به منظور مبادله بسته های اطلاعاتی با سیستم راه دور استفاده می کند (ICMP از پروتکل UDP برای حمل داده استفاده می نماید ) .
برنامه
Ping در ابتدا توسط Mike Muuss و با عملکردی ساده ، پیاده سازی گردید. این برنامه از پروتکل ICMP به منظور ارسال پیام های UDP به یک آدرس ( ECHO REQUEST ) استفاده می نماید و پس از ارسال پیام ، در انتظار دریافت پاسخ ( ECHO REPLY ) می ماند . سیستم راه دور، یک بسته اطلاعاتی از نوع پاسخ ( REPLY ) را برای فرستنده پیام ارسال می نماید و بر اساس آن Round-trip ( ارسال یک درخواست و دریافت پاسخ ) محاسبه می گردد .
ساختار بسته های اطلاعاتی
ECHO REQUEST و ECHO REPLY در جدول زیر نشان داده شده است . از فیلد اطلاعاتی "نوع پیام " به منظور مشخص نمودن نوع پیام ، استفاده می شود . در صورتی که مقدار این فیلد هشت باشد ، بسته اطلاعاتی از نوع ECHO REQUEST  و در صورتی که مقدار این فیلد صفر باشد ، بسته اطلاعاتی از نوع ECHO REPLY  خواهد بود .

ساختار بسته های اطلاعاتی  ECHO REQUEST و ECHO REPLY

نوع پیام ICMP
( صفر و یا هشت )

کد صفر

CheckSum

Identifier

Sequence number

Optional data

استفاده از Ping
Ping دارای عملکردی بسیار ساده است . در ابتدا فیلد Sequence number مقدار صفر را خواهد گرفت و به ازای ارسال هر بسته اطلاعاتی، یک واحد به آن اضافه می شود . مقدار فیلد Identifier ، منحصر بفرد بوده  تا امکان تشخیص بسته های اطلاعاتی برگردانده شده وجود داشته باشد ( در مواردی که بیش از یک کاربر بطور همزمان از دستور Ping بر روی یک ماشین استفاده می نمایند) . در اکثر نسخه های یونیکس و لینوکس ، مقدار فیلد Identifier معادل Process ID  پردازه ای در نظر گرفته می شود که پیام ECHO REQUEST را ارسال نموده است .
پس از دریافت پیام
ECHO REQUEST توسط کامپیوتر دریافت کننده ، وی یک پاسخ ( REPLY ) را برای فرستنده ارسال می نماید که شامل  Identifier و Sequence number مشابه بسته اطلاعاتی ارسالی است .
با توجه به پاسخ ارائه شده توسط دریافت کننده بسته های اطلاعاتی می توان به نتایج متفاوتی دست یافت :

  •  تمامی بسته های اطلاعاتی ارسالی ، مجددا" برگردانده می شوند . ( بین سیستم ارسال کننده و دریافت کننده مشکل ارتباطی وجود ندارد ) .
  • برخی از بسته های اطلاعاتی ارسالی، توسط دریافت کننده برگردانده نمی شوند ( کاهش بسته های اطلاعاتی ارسالی ) و یا با اولویتی که ارسال می گردند با همان اولویت دریافت نمی شوند . این مسئله می تواند نشاندهنده وجود اشکال در یک شبکه باشد . در این رابطه احتمال دیگری نیز وجود دارد : سیستم از راه دور ( سیستمی که می بایست به پیام های ارسالی پاسخ دهد ) درگیر پردازش های متعددی است و قادر به پاسخگوئی پیام های ECHO REQUEST  در مدت زمان مشخص شده  نمی باشد .

دستور Ping ، مدت زمان Round-trip بر حسب میلی ثانیه را محاسبه و نمایش می دهد . برای محاسبه مدت زمان Round-trip ، برنامه ping زمان ارسال بسته اطلاعاتی را در فیلد Optional data قرار داده و پس از برگشت بسته اطلاعاتی، زمان ذخیره شده را با زمان جاری سیستم مقایسه نموده تا در نهایت مدت زمان رفت و برگشت یک بسته اطلاعاتی مشخص گردد . دستور Ping همچنین مقدار TTL ( اقتباس شده از Time To Live ) را در خروجی نمایش خواهد داد .TTL مدت زمان اعتبار یک بسته اطلاعاتی را مشخص نموده و  هر host و یا روتر موجود در مسیر بسته اطلاعاتی معمولا"  به میزان یک ثانیه آن را کاهش می دهد .
در برخی موارد ممکن است در زمان ارسال درخواست های متوالی
ping ، مدت زمان Round-trip کاهش پیدا نماید . این موضوع می تواند دلایل متعددی داشته باشد :

  • ماشین مقصد ( و یا روتر gateway ) در آن مقطع زمانی در جدول محلی ARP نمی باشد و مدت زمانی طول خواهد کشید ( میلی ثاینه ) تا arp آدرس سخت افزاری اولین بسته اطللاعاتی را  بدست آورد  .
  • در صورتی که به همراه دستور ping در مقابل استفاده از آدرس IP از نام host استفاده شود ، ممکن است یافتن سرویس دهنده DNS که برنامه ping می بایست با آن ارتباط برقرار نماید( ترجمه نام host به آدرس IP ) ،  زمان خاص خود را داشته باشد .

در زمان استفاده از دستور Ping بهتر است که در ابتدا عملیات ping را در ارتباط با اینترفیس محلی و یا آدرس  ( Loopback ( IP: 127.0.0.1 شروع نمود . آدرس loopback در پشته TCP/IP استفاده شده و می توان از آن به منظور حصول اطمینان از صحت کارکرد پشته محلی ، استفاده نمود . آدرس فوق ، یک آدرس IP رزو شده است که امکان استفاده از آن در اینترنت وجود ندارد . در صورتی که نمی توان آدرس IP سستم محلی را ping نمود ، ممکن است پیکربندی سیستم  دارای مشکل باشد .  در صورتی که نمی توان آدرس Loopback را ping نمود ، ممکن است پشته TCP/IP  و یا آداپتور شبکه مشکل داشته باشند .

استفاده از Ping در  ویندوز
جدول زیر  گرامر دستور Ping به همراه عملکرد برخی از  سوئیچ های متداول  آن را نشان می دهد :

گرامر دستور Ping در ویندوز

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]  
[-w timeout] destination-list

عملکرد

سوئیچ

به صورت پیوسته عملیات Ping را انجام می دهد. برای توقف برنامه ping می توان از کلیدهای CTRL+C استفاده نمود .

-t

 ترجمه آدرس به نام را انجام می دهد

-a

تعداد بسته های اطلاعاتی ICMP ECHO REQUEST ارسالی را مشخص می نماید .

-n count

اندازه بافر را ارسال می نماید.

-1 size

 مقدار TTL را مشخص می نماید .

-i TTL

مدت زمان انتظار پاسخ برحسب میلی ثانیه

-w timeout

نحوه استفاده از دستور Ping :

تایپ دستور

خروجی

C:\>ping www.google.com  

 Pinging www.google.akadns.net [64.233.187.99] with 32 bytes of data:

Reply from 64.233.187.99: bytes=32 time=421ms TTL=238
Reply from 64.233.187.99: bytes=32 time=430ms TTL=238
Reply from 64.233.187.99: bytes=32 time=431ms TTL=238
Reply from 64.233.187.99: bytes=32 time=430ms TTL=238

Ping statistics for 64.233.187.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 421ms, Maximum = 431ms, Average = 428ms

توضیحات :

  • چهار بسته اطلاعاتی ارسال شده است که همان چهار بسته نیز دریافت شده اند ( در زمان انتقال، هیچیک از بسته های اطلاعاتی گم نشده اند )
  • زمان پاسخ حدودا"  430 میلی ثانیه بوده است
  • اندازه بسته های اطلاعاتی ارسالی ، سی و دو بایت است .

اشکال زدائی ارتباط بین گره های یک شبکه با استفاده از دستور Ping 
برای اشکال زدائی ارتباط بین گره های یک شبکه ، می توان مراحل زیر را دنبال نمود :

  • آیا پیکربندی TCP/IP بر روی سیسم محلی ( ارسال کننده ) درست است ؟ برای پاسخ به سوال فوق می توان آدرس IP سیستم محلی را Ping و نتایج را مشاهده نمود . در صورت عدم ارائه پاسخ مناسب ،می تواند مشکل  مربوط به پیکربندی تنظیمات TCP/IP بر روی سیستم محلی باشد .
  • آیا امکان ping نمودن نام host وجود دارد ؟ برای پاسخ به سوال فوق به  همراه دستور ping از نام host استفاده نمائید . ping ، قبل از ارسال بسته اطلاعاتی برای host مورد نظر ، نام آن را به یک آدرس IP ترجمه می نماید . اگر آدرسی که Ping ترجمه می نماید ، آدرسی نیست که تصور آن را دارید ، می بایست پیکربندی سیستم خود را بررسی نمائید . در چنین مواردی ممکن است شما کامپیوتر خود را بگونه ای پیکربندی نموده اید که از یک آدرس IP خاص استفاده نماید ولی در سرویس دهنده DNS ، به کامپیوتر شما یک آدرس IP دیگر مرتبط شده است . در این رابطه می توان از دستور nslookup به منظور اشکال زدائی ترجمه استفاده نمود .
  • آیا امکان ارتباط با سیستمی دیگر در شبکه وجود دارد ؟ برای پاسخگوئی به سوال فوق می بایست یک سیستم دیگر را که مطمئن هستید در Subnet شما وجود دارد ، ping نمائید . در صورتی که نتایج موفقیت آمیز باشد ، شما می توانید با اعضاء broadcast Domain ارتباط برقرار نمائید .
  • آیا امکان ارتباط با Default Gateway وجود دارد ؟ Default Gateway ، روتر و یا دستگاهی دیگر است که  Subnet شما را به سایر شبکه ها متصل می نماید. در صورت عدم امکان ping نمودن Default Gateway ، دو احتمال می تواند وجود داشته باشد : احتمال اول : ممکن است آدرس Subnet شما اشتباه باشد . در چنین مواردی می بایست پیکربندی سیستم بررسی گردد  تا این اطمینان حاصل شود که شما از یک آدرس درست برای روتر و یا host دیگر که مسئول فورواردینگ بسته های اطلاعاتی در Local Subnet است ، استفاده می نمائید . احتمال دوم : ممکن است خود Default gateway دارای مشکل باشد . برای اطمینان از این موضوع ، می توان از طریق یک سیستم دیگر موجود در شبکه ، Default Gateway را ping نمود . در صورتی که مشکل همچنان باقی است ، می بایست برای حل مشکل بر روی Default Gateway متمرکز گردید .
  • آیا امکان ارتباط با سایر سیستم های موجود در خارج از شبکه محلی وجود دارد ؟ برای پاسخ به سوال فوق ، می توان یک سیستم راه دور را ping نمود . در صورتی که عملیات توام با موفقیت باشد ، ارتباط شما از طریق Default gateway به درستی  برقرار شده است و در صورت عدم موفقیت ، دلایل متعددی می تواند وجود داشته باشد : بروز اشکال در سیستم مقصد ، بروز اشکال در روتینگ به سیستم مقصد و یا تجهیزات موجود در خارج از شبکه محلی

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

  • نکته اول : همانگونه که ملاحظه گردید ، دستور ping دارای امکاناتی مفید و قدرتمند به منظور اشکال زدائی ارتباط بین گره ها در شبکه های مبتنی بر TCP/IP است، ولی Ping of Death که احتمالا" نام آن را تاکنون شنیده اید دارای وضعیتی اینچنین نمی باشد . Ping of Death یک نوع تهاجم در شبکه های کامپیوتری است که در آن یک مهاجم با استفاده از برنامه هائی خاص ، بسته های اطلاعاتی ICMP را تولید می نماید که دارای اندازه ای بیش از حد مجاز می باشند . در صورتی که نرم افزار موجود بر روی سیستم مقصد به درستی Patch نشده باشد ، بسته های اطلاعاتی ارسالی توسط مهاجمان دریافت و بخش عمده ای از حافظه را اشغال نموده و می تواند سرریز حافظه را بدنبال داشته باشد . مدیران شبکه می بایست یک محیط ایمن به منظور استفاده از ping را در شبکه فراهم نموده تا امکان تحقق چنین حملاتی در شبکه وجود نداشته باشد .
  • نکته دوم : در صورتی که نتوان یک کامپیوتر راه دور را ping نمود ، نمی توان با قاطعیت اعلام نمود که سیستم مقصد به شبکه متصل نمی باشد و  یا  مشکل مربوط به کابل کشی شبکه است . در این رابطه دلایل متعددی می تواند وجود داشته باشد : بروز اشکال در هر یک از دستگاه های موجود در مسیر ارتباطی نظیر  هاب ، سوئیچ ، روتر و یا Default Gateway . به همین دلیل ، می بایست همواره یک طرح کامل از شبکه به همراه جزئیات مربوطه وجود داشته باشد تا در صورت بروز مشکلاتی اینچنین به سرعت بتوان مسیر مربوطه را برای اشکال زدائی بررسی نمود . در چنین مواردی ، می بایست هر دستگاه موجود در مسیر ارتباطی بررسی گردد .

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش چهارم ) 

هر بسته اطلاعاتی در یک شبکه کامپیوتری دارای مسیری
  مشخص از زمان ارسال توسط فرستنده تا زمان دریافت توسط گیرنده ( گیرندگان ) می باشد . در صورتی که مقصد یک بسته اطلاعاتی برای سیستمی خارج از شبکه محلی باشد ، وی در مسیر خود از بین دستگاه ها و یا روترهای متعددی عبور می نماید تا  به مقصد نهائی خود برسد . مثلا" زمانی که آدرس یک وب سایت را در مرورگر خود تایپ می نمائید ، درخواست شما از بین روترها و کامپیوترهای متعددی عبور می نماید تا در نهایت به سرویس دهنده مقصد برسد .
برای مشاهده مسیر یک بسته اطلاعاتی، از دستور
tracerout که در برخی از سیستم های عامل نظیر ویندوز  ( از ویندور 98 تا 2003 )  به آن tracert گفته می شود ، استفاده می گردد.در اکثر سیستم هائی که از یونیکس و لینوکس استفاده می نمایند ، می توان از دستور traceroute به منظور مشاهده  مسیر یک بسته اطلاعاتی استفاده نمود .

موارد استفاده از دستور tracert

  • عدم امکان ping نمودن یک کامپیوتر موجود در خارج از Gateway پیش فرض . با استفاده از دستور فوق ، می توان کامپیوترها و روترهای موجود در مسیر یک بسته اطلاعاتی تا رسیدن به مقصد نهائی را مشاهده نمود . بدین ترتیب امکان مشاهده محلی که از آن نقطه به بعد امکان حرکت بسته اطلاعاتی وجود ندارد ، فراهم می گردد .
  • در صورتی که امکان حرکت بسته های اطلاعاتی از مبداء به مقصد وجود نداشته باشد و یا زمان پاسخ دستور ping زمانی نامعقول و طولانی باشد .
  • آگاهی از محل توقف یک بسته اطلاعاتی در  شبکه

نحوه عملکرد دستور tracert
دستور فوق از فیلد TTL مربوط به IP در ICMP Echo Request  و پیام های ICMP Time Exceeded  به منظور تعیین مسیر مبداء تا مقصد یک بسته اطلاعاتی استفاده می نماید . عملکرد این دستور نیز مشابه ping است و وی نیز  از پیام های مبتنی بر ICMP برای یافتن هر یک از دستگاه های  موجود در مسیر یک بسته اطلاعاتی ، استفاده می نماید . برای تشخیص مسیر حرکت ، به TTL موجود در بسته اطلاعاتی یک مقدار اولیه نسبت داده می شود  . TTL ، یک عدد صحیح است که حداکثر تعداد hop ( گره و یا روتر ) را که یک بسته اطلاعاتی  در مسیر خود با آنان برخورد می نماید را مشخص می نماید ( قبل از این که توسط IP دورانداخته شود ). مقدار TTL در ابتدا یک خواهد بود و هر روتر و دستگاه موجود در مسیر بسته اطلاعاتی ، یک واحد به آن اضافه می نماید .
بدین ترتیب برنامه
tracert قادر به دریافت پیام TIME_EXCEEDED ICMP از هر یک از روترها و یا سایر دستگاه های موجود در مسیر یک بسته اطلاعاتی می باشد .
شکل زیر نحوه عملکرد دستور
  tracert را نشان می دهد .


همانگونه که در شکل فوق مشاهده می گردد ، کامپیوتر A یک مجموعه از پیام های ICMP ECHO REQUEST را تولید و آنان را برای کامپیوتر B ارسال می نماید. زمانی که اولین بسته اطلاعاتی ارسال می شود ، مقدار TTL یک خواهد بود و در روتر شماره یک مقدار آن صفر شده و یک  پیام TIME_EXCEEDED ICMP ، برای کامپیوتر A ارسال می گردد . کامپیوتر A مجددا" یک بسته اطلاعاتی ICMP دیگر را ارسال می نماید . ولی این مرتبه مقدار TTL آن دو در نظر گرفته می شود . در چنین حالتی  روتر اول ، بسته اطلاعاتی را عبور داده و یک واحد از مقدار TTL کم می نماید و آن را برای روتر دوم ارسال می نماید . ( در این مقطع مقدار TTL=1 شده است ) .  روتر دوم مقدار TTL را بررسی نموده و از آن یک واحد کم خواهد کرد . با توجه به این که مقدار TTL=0 صفر شده است ، مجددا" یک پیام TIME_EXCEEDED ICMP برای کامپیوتر A ارسال می گردد . زمانی که ICMP ECHO REQUEST به کامپیوتر B می رسد ، وی یک ICMP Echo Reply را برمی گرداند . بدین ترتیب ، کامپیوتر A قادر به تشخیص تعداد hop موجود در مسیر خواهد بود.  

استفاده از دستور tracert
جدول زیر  گرامر دستور  tracert به همراه عملکرد برخی از سوئیچ های متداول  آن را نشان می دهد :

گرامر دستور tracert در ویندوز

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

عملکرد

سوئیچ

نام host را به آدرس IP ترجمه نمی نماید .

-d

حداکثر تعداد hop برای جستجوی مقصد را مشخص می نماید .

-h maximum_hops

مدت زمان انتظار برای دریافت پاسخ بر حسب میلی ثانیه را مشخص می نماید .

-w timeout

نحوه استفاده از دستور tracert :

تایپ دستور

خروجی

C:\>tracert www.google.com

Tracing route to www.google.akadns.net [66.102.11.99]
over a maximum of 30 hops:

1 180 ms 170 ms 191 ms x1.y1.z1.w1
2 201 ms 190 ms 190 ms x2.y2.z2.w2
3 201 ms 180 ms 190 ms x3.y3.z3.w3
4 * 217.218.96.253 reports: Destination net unreachable.

Trace complete.

توضیحات :

  • در مواردی که در مسیر یک بسته اطلاعاتی مشکل خاصی ایجاد شود و یا پیام ICMP Time Exceeded برگردانده نشود ، در خروجی علامت "ستاره"  نشان داده خواهد شد ( در سه ستونی که معمولا" زمان round-trip را نمایش می دهند ) . در چنین مواردی یک پیام Request timed out  در قسمت سمت راست نمایش داده می شود .
  • در برنامه اولیه tracert مقدار پورت در هدر UDP ، یک پورت UNREACHABLE  در نظر گرفته می شد . بنابراین زمانی که بسته اطلاعاتی ICMP به مقصد نهائی خود می رسد ، یک پیام ICMP DESTINATION UNREACHABLE توسط کامپیوتر مقصد برگردانده می شود .
  •  در صورتی که آخرین گره مشاهده شده در خروجی دستور tracert مقصد نهائی باشد ،  تمامی گره ها و یا روترهای موجود در مسیر نمایش داده شده اند .