بخشی از مقاله

VPN، نظری و عملی
برقرار کردن امنیت برای یک شبکه درون یک ساختمان کار ساده ای است. اما هنگامی که بخواهیم از نقاط دور رو ی داده‌های مشترک کار کنیم ایمنی به مشکل بزرگی تبدیل می‌شود. در این بخش به اصول و ساختمان یک VPN برای سرویس گیرنده‌های ویندوز و لینوکس می‌پردازیم.
اصول VPN


فرستادن حجم زیادی از داده از یک کامپیوتر به کامپیوتر دیگر مثلاً در به هنگام رسانی بانک اطلاعاتی یک مشکل شناخته شده و قدیمی است. انجام این کار از طریق Email به دلیل محدودیت گنجایش سرویس دهنده Mail نشدنی است.
استفاده از FTP هم به سرویس دهنده مربوطه و همچنین ذخیره سازی موقت روی فضای اینترنت نیاز دارد که اصلاً قابل اطمینان نیست.
یکی از راه حل‌های اتصال مستقیم به کامپیوتر مقصد به کمک مودم است که در اینجا هم علاوه بر مودم، پیکر بندی کامپیوتر به عنوان سرویس دهنده RAS لازم خواهد بود. از این گذشته، هزینه ارتباط تلفنی راه دور برای مودم هم قابل تامل است. اما اگر دو کامپیوتر در دو جای مختلف به اینترنت متصل باشند می‌توان از طریق سرویس به اشتراک گذاری فایل در ویندوز بسادگی فایل‌ها را رد و بدل کرد. در این حالت، کاربران می‌توانند به سخت دیسک کامپیوترهای دیگر همچون سخت دیسک کامپیوتر خود دسترسی داشته باشند. به این ترتیب بسیاری از راه‌های خرابکاری برای نفوذ کنندگان بسته می‌شود.
شبکه‌های شخصی مجاری یا VPN (Virtual private Network)‌ها اینگونه مشکلات را حل می‌کند. VPN به کمک رمز گذاری روی داده ها، درون یک شبکه کوچک می‌سازد و تنها کسی که آدرس‌های لازم و رمز عبور را در اختیار داشته باشد می‌تواند به این شبکه وارد شود. مدیران شبکه ای که بیش از اندازه وسواس داشته و محتاط هستند می‌توانند VPN را حتی روی شبکه محلی هم پیاده کنند. اگر چه نفوذ کنندگان می‌توانند به کمک برنامه‌های Packet sniffer جریان داده‌ها را دنبال کنند اما بدون داشتن کلید رمز نمی توانند آنها را بخوانند.
-4.1.1 VPN چیست ؟
VPN دو کامپیوتر یا دو شبکه را به کمک یک شبکه دیگر که به عنوان مسیر انتقال به کار می‌گیرد به هم متصل می‌کند. برای نمونه می‌توان ب دو کامپیوتر یکی در تهران و دیگری در مشهد که در فضای اینترنت به یک شبکه وصل شده اند اشاره کرد. VPN از نگاه کاربر کاملاً مانند یک شبکه محلی به نظر می‌رسد. برای پیاده سازی چنین چیزی، VPN به هر کاربر یک ارتباط IP مجازی می‌دهد.
داده هایی که روی این ارتباط آمد و شد دارند را سرویس گیرنده نخست به رمز در آورده و در قالب بسته‌ها بسته بندی کرده و به سوی سرویس دهنده VPN می‌فرستد. اگر بستر این انتقال اینترنت باشد بسته‌ها همان بسته‌های IP خواهند بود.


سرویس گیرنده VPN بسته‌ها را پس از دریافت رمز گشایی کرده و پردازش لازم را روی آن انجام می‌دهد. روشی که شرح داده شد را اغلب Tunneling یا تونل زنی می‌نامند چون داده‌ها برای رسیدن به کامپیوتر مقصد از چیزی مانند تونل می‌گذرند. برای پیاده سازی VPN راه‌های گوناگونی وجود دارد که پر کاربرد ترین آنها عبارتند از
Point to point Tunneling protocol یا PPTP که برای انتقال NetBEUI روی یک شبکه بر پایه IP مناسب است.
Layer 2 Tunneling protocol یا L2TP که برای انتقال IP، IPX یا NetBEUI روی هر رسانه دلخوا

ه که توان انتقال Datagram‌های نقطه به نقطه (Point to point) را داشته باشد مناسب است. برای نمونه می‌توان به IP، X.25، Frame Relay یا ATM اشاره کرد.
IP Security protocol یا Ipsec که برای انتقال داده‌های IP روی یک شبکه بر پایه IP مناسب است.
-4.1.2 پروتکل‌های درون تونل
Tunneling را می‌توان روی دو لایه از لایه‌های OSI پیاده کرد. PPTP و L2TP از لایه 2 یعنی پیوند داده استفاده کرده و داده‌ها را در قالب Frame‌های پروتکل نقطه به نقطه (PPP) بسته بندی می‌کنند. در این حالت می‌توان از ویژگی‌های PPP همچون تعیین اعتبار کاربر، تخصیص آدرس پویا (مانند DHCP)، فشرده سازی داده‌ها یا رمز گذاری داده‌ها بهره برد.
با توجه به اهمیت ایمنی انتقال داده‌ها درVPN، دراین میان تعیین اعتبار کاربر نقش بسیار مهمی دارد. برای این کار معمولاً از CHAP استفاده می‌شود که مشخصات کاربر را در این حالت رمز گذاری شده جابه جا میکند. Call back هم دسترسی به سطح بعدی ایمنی را ممکن می‌سازد. در این روش پس از تعیین اعتبار موفقیت آمیز، ارتباط قطع می‌شود. سپس سرویس دهنده برای برقرار کردن ارتباط جهت انتقال داده‌ها شماره گیری می‌کند. هنگام انتقال داده ها، Packet‌های IP، IP X یا NetBEUI در قالب Frame‌های PPP بسته بندی شده و فرستاده می‌شوند. PPTP هم Frame‌های PPP را پیش از ارسال روی شبکه بر پایه IP به سوی کامپیوتر مقصد، در قالب Packet‌های IP بسته بندی می‌کند. این پروتکل در سال 1996 از سوی شرکت هایی چون مایکرو سافت، Ascend، 3 com و Robotics US پایه گذاری شد. محدودیت PPTP در کار تنها روی شبکه‌های IP باعث ظهور ایده ای در سال 1998 شد.L2TP روی X.25،Frame Relay یا ATM هم کار می‌کند. برتری L2TP در برابر PPTP این است که به طور مستقیم روی رسانه‌های گوناگون WAN قابل انتقال است.
4.1.3 - VPN-Ipsec فقط برای اینترنت
Ipsec برخلافPPTP و L2TP روی لایه شبکه یعنی لایه سوم کار می‌کند. این پروتکل داده هایی که باید فرستاده شود را همراه با همه اطلاعات جانبی مانند گیرنده و پیغام‌های وضعیت رمز گذاری کرده و به آن یک IP Header معمولی اضافه کرده و به آن سوی تونل می‌فرستد.
کامپیوتری که در آن سو قرار دارد IP Header را جدا کرده، داده‌ها را رمز گشایی کرده و آن را به کامپیوتر مقصد می‌فرستد.Ipsec را می‌توان با دو شیوه Tunneling پیکر بندی کرد. در این شیوه انتخاب اختیاری تونل، سرویس گیرنده نخست یک ارتباط معمولی با اینترنت برقرار می‌کند و سپس از این مسیر برای ایجاد اتصال مجازی به کامپیوتر مقصد استفاده می‌کند. برای این منظور، باید روی کامپیوتر سرویس گیرنده پروتکل تونل نصب شده باشد. معمولاً کاربر اینترنت است که به اینترنت وصل می‌شود. اما کامپیوترهای درون LAN هم می‌توانند یک ارتباط VPN برقرا کنند. از آنجا که ارتباط IP از پیش موجود است تنها برقرار کردن ارتباط VPN کافی است. در شیوه تونل اجباری، سرویس گیرنده نباید تونل را ایجاد کند بلکه این کار ار به عهده فراهم ساز (Service provider) است.

سرویس گیرنده تنها باید به ISP وصل شود. تونل به طور خودکار از فراهم ساز تا ایستگاه مقصد وجود دارد. البته برای این کار باید همانگی‌های لازم با ISP انجام بگیرد.
۴.۱.۴- ویژگی‌های امنیتی در IPsec
Ipsec از طریق Authentication Header (AH) مطمئن می‌شود که Packet‌های دریافتی از

سوی فرستنده واقعی (و نه از سوی یک نفوذ کننده که قصد رخنه دارد) رسیده و محتویات شان تغییر نکرده. AH اطلاعات مربوط به تعیین اعتبار و یک شماره توالی (Seguence Number) در خود دارد تا از حملات Replay جلوگیری کند. اما AH رمز گذاری نمی شود. رمز گذاری از طریق Encapsulation Security Header یا ESH انجام می‌گیرد. در این شیوه داده‌های اصلی رمز گذاری شده و VPN اطلاعاتی را از طریق ESH ارسال می‌کند.
ESH همچنین کارکرد هایی برای تعیین اعتبار و خطایابی دارد. به این ترتیب دیگر به AH نیازی نیست. برای رمز گذاری و تعیین اعتبار روش مشخص و ثابتی وجود ندارد اما با این همه، IETF برای حفظ سازگاری میان محصولات مختلف، الگوریتم‌های اجباری برای پیاده سازی Ipsec تدارک دیده. برای نمونه می‌توان به MD5، DES یا Secure Hash Algorithm اشاره کرد. مهمترین استانداردها و روش هایی که در Ipsec به کار می‌روند عبارتند از:
• Diffie-Hellman برای مبادله کلید‌ها میان ایستگاه‌های دو سر ارتباط.
• رمز گذاری Public Key برای ثبت و اطمینان از کلیدهای مبادله شده و همچنین اطمینان از هویت ایستگاه‌های سهیم در ارتباط.
• الگوریتم‌های رمز گذاری مانند DES برای اطمینان از درستی داده‌های انتقالی.
• الگوریتم‌های درهم ریزی (Hash) برای تعیین اعتبار تک تک Packet ها.
• امضاهای دیجیتال برای تعیین اعتبارهای دیجیتالی.
4.1.5 - Ipsec بدون تونل
Ipsec در مقایسه با دیگر روش‌ها یک برتری دیگر هم دارد و آن اینست که می‌تواند همچون یک پروتکل انتقال معمولی به کار برود.
در این حالت برخلاف حالت Tunneling همه IP packet رمز گذاری و دوباره بسته بندی نمی شود. بجای آن، تنها داده‌های اصلی رمزگذاری می‌شوند و Header همراه با آدرس‌های فرستنده و گیرنده باقی می‌ماند. این باعث می‌شود که داده‌های سرباز (Overhead) کمتری جابجا شوند و بخشی از پهنای باند آزاد شود. اما روشن است که در این وضعیت، خرابکاران می‌توانند به مبدا و مقصد داده‌ها پی ببرند. از آنجا که در مدل OSI داده‌ها از لایه 3 به بالا رمز گذاری می‌شوند خرابکاران متوجه نمی‌شوند که این داده‌ها به ارتباط با سرویس دهنده Mail مربوط می‌شود یا به چیز دیگر.

4.1.6 – جریان یک ارتباط Ipsec
بیش از آن که دو کامپیوتر بتوانند از طریق Ipsec داده‌ها را میان خود جابجا کنند باید یکسری کارها انجام شود.
• نخست باید ایمنی برقرار شود. برای این منظور، کامپیوترها برای یکدیگر مشخص می‌کنند که آیا رمز گذاری، تعیین اعتبار و تشخیص خطا یا هر سه آنها باید انجام بگیرد یا نه.
• سپس الگوریتم را مشخص می‌کنند، مثلاً DEC برای رمزگذاری و MD5 برای خطایابی.
• در گام بعدی، کلیدها را میان خود مبادله می‌کنند.

 


Ipsec برای حفظ ایمنی ارتباط از Security Association (SA) استفاده می‌کند. SA چگونگی ارتباط میان دو یا چند ایستگاه و سرویس‌های ایمنی را مشخص می‌کند. SA‌ها از سوی SPI (Security parameter Index) شناسایی می‌شوند. SPI از یک عدد تصادفی و آدرس مقصد تشکیل می‌شود. این به آن معنی است که همواره میان دو کامپیوتر دو SPI وجود دارد:


یکی برای ارتباط A و B و یکی برای ارتباط B به A. اگر یکی از کامپیوترها بخواهد در حالت محافظت شده داده‌ها را منتقل کند نخست شیوه رمز گذاری مورد توافق با کامپیوتر دیگر را بررسی کرده و آن شیوه را روی داده‌ها اعمال می‌کند. سپس SPI را در Header نوشته و Packet را به سوی مقصد می‌فرستد.
4.1.7 - مدیریت کلیدهای رمز در Ipsec
اگر چه Ipsec فرض را بر این می‌گذارد که توافقی برای ایمنی داده‌ها وجود دارد اما خودش برای ایجاد این توافق نمی تواند کاری انجام بدهد.
Ipsec در این کار به IKE (Internet Key Exchange) تکیه می‌کند که کارکردی همچون IKMP (Key Management Protocol) دارد. برای ایجاد SA هر دو کامپیوتر باید نخست تعیین اعتبار شوند. در حال حاضر برای این کار از راه‌های زیر استفاده می‌شود:
• Pre shared keys: روی هر دو کامپیوتر یک کلید نصب می‌شود که IKE از روی آن یک عدد Hash ساخته و آن را به سوی کامپیوتر مقصد می‌فرستد. اگر هر دو کامپیوتر بتوانند این عدد را بسازند پس هر دو این کلید دارند و به این ترتیب تعیین هویت انجام می‌گیرد.
• رمز گذاری Public Key: هر کامپیوتر یک عدد تصادفی ساخته و پس از رمز گذاری آن با کلید عمومی کامپیوتر مقابل، آن را به کامپیوتر مقابل می‌فرستد.اگر کامپیوتر مقابل بتواند با کلید شخصی خود این عدد را رمز گشایی کرده و باز پس بفرستد برا ی ارتباط مجاز است. در حال حاضر تنها از روش RSA برای این کار پیشنهاد می‌شود.
• امضاء دیجیتال: در این شیوه، هر کامپیوتر یک رشته داده را علامت گذاری (امضاء) کرده و به کامپیوتر مقصد می‌فرستد. در حال حاضر برای این کار از روش‌های RSA و DSS (Digital Singature Standard) استفاده می‌شود. برای امنیت بخشیدن به تبادل داده‌ها باید هر دو سر ارتبا طنخست بر سر یک یک کلید به توافق می‌رسند که برای تبادل داده‌ها به کار می‌رود. برا ی این منظور می‌توان همان کلید به دست آمده از طریق Diffie Hellman را به کاربرد که سریع تر است

یا یک کلید دیگر ساخت که مطمئن تر است.
4.1.8 – خلاصه
تبادل داده‌ها روی اینرنت چندان ایمن نیست. تقریباً هر کسی که در جای مناسب قرار داشته باشد می‌تواند جریان داده‌ها را زیر نظر گرفته و از آنها سوء استفاده کند. شبکه‌های شخصی مجازی یا VPN‌ها کار نفوذ را برا ی خرابکاران خیلی سخت می‌کند..


محافظت از شبكه توسط مسيرياب ها
مسير ياب علاوه بر قابليت هاي اتصال شبكه هاي مختلف به يكديگر، در زمينه امنيتي نيز مي تواند مورد استفاده قرار گيرد. در اين بخش نحوه برقراري امنيت در لبه شبكه توسط مسيرياب را بررسي مي كنيم.
شكل زير نمونه اي از ارتباط يك شبكه امن شده با اينترنت مي باشد:

علاوه بر آن مسير ياب ميتواند به صورت يكي از عناصر(لايه محافظتي) در روش دفاع در عمق بوده و از ابتداي ارتباط شبكه با دنياي خارج كار محافظت را انجام دهد.

مطابق شكل زير، مسيريابي كه در لبه شبكه قرار گرفته و به عنوان اولين نقطه كنترلي مي باشد، به Screen Router معروف است. اين مسير ياب داراي مسير هاي ثابتي است(Static route) كه شبكه داخلي را به فايروال ارتباط مي دهد. فايروال موجود نيز كنترل هاي بيشتري را روي ارتباطات انجام ميدهد. علاوه بر اين ميتواند كار تصديق هويت كاربران را نيز انجام دهد. بدليل اينكه مسير ياب داراي روش هاي امنيتي بيشتري براي اين كار مي باشد پيشنهاد ميشود كه اين كار توسط مسير ياب انجام گردد.

روش ديگر استفاده از يك مسيرياب بين فايروال و شبكه داخلي، و مسير ياب دوم بين فايروال و اينترنت مي باشد. اين راه قابليت اعمال كنترل‌ها را در دو نقطه ميسر مي سازد علاوه بر اين در اين طرح ميتوان يك شبكه بين دو مسير ياب داشت كه به ناحيه غير نظامي (de-militarized zone) معروف است. اغلب اين ناحيه براي سرور هايي كه بايد از اينترنت در دسترس باشند، استفاده ميگردد


بعد از اينكه ارتباطات و طراحي امن شبكه صورت گرفت، پياده سازي رويه و روال هاي كنترلي روي ارتباطات (Packet filtering)انجام خواهد شد.
كنترل بسته هاي TCP/IP:
فيلترينگ بسته هاي TCP/IP امكان كنترل اطلاعات منتقل شده بين شبكه‌ها را بر اساس آدرس و پروتكل هاي ارتباطي ميسر ميسازد.
مسيرياب‌ها روشهاي مختلفي را جهت كنترل دارند. بعضي از آنها فيلترهايي دارند كه روي سرويس هاي شبكه در هر دو مسير ورودي و خروجي اعمال ميكند ولي انواع ديگر آنها تنها در يك جهت كنترل را اعمال مي كنند.(سرويس هاي زيادي دو سوي مي باشند. به طور مثال كاربر از كامپيوتر A به كامپيوتر B، Telnet كرده و كامپيوتر B اطلاعاتي را به كامپيوتر A مي فرستد به همين دليل مسير ياب‌ها براي كنترل اين گونه ارتباطات نياز به كنترل دو سوي دارد). بيشتر مسير ياب‌ها ميتوانند بسته‌ها را بر اساس:
- آدرس مبدا


- آدرس مقصد
- پورت مورد استفاده مبدا و مقصد
- نوع پروتكل مورد استفاده
كنترل كنند.

از قابليت هاي ديگر روتر، فيلتر بر اساس وضعيت مختلف بيت هاي آدرس مي باشد. اگر چه روترها نسبت به محتويات بسته ها(Data) كنترلي نخواهند داشت.
فيلترينگ بسته ها، از مزاياي بسيار مهم مسير ياب هايي است كه بين شبكه هاي امن و ديگرشبكه‌ها قرار ميگيرد. در اين توپولوژي، مسيرياب ميتواند سياست امنيتي را اعمال كند يا پروتكل‌ها را Reject نمايد و يا اينكه پورت‌ها را مطابق سياست نامه امنيتي بسته نگه دارد.
فيلترها از نظر اعمال محدوديت روي آدرس اهميت فراوان دارند. به طور مثال در شكل زير، مسير ياب مي بايست مشخص كند، بسته هاي اطلاعاتي را كه از فايروال به خارج شبكه فرستاده مي شوند، بايد دامنه خاصي از آدرس را داشته باشند. اين محدوديت بنام كنترل خروجي يا Egress filtering معروف است.
همين روش براي ارتباطات ورودي نيز صحيح است و به نام كنترل ورودي يا Ingress filter مشخص ميشوند.

حذف پروتكل هايي كه داراي ريسك بالايي هستند، از ديگر از مواردي است كه مي توان روي مسيرياب انجام داد. جدول زير نشان دهنده سرويس‌ها و پورت هاي آنها مي باشد كه بايد روي مسير ياب غير فعال گردند.


و جدول زير شامل سرويس‌ها يا پورت هايي هستند كه مي بايست در برابر دسترسي كابران خارجي، روي خود مسير ياب غير فعال شوند تا از دسترسي غير مجاز به مسير ياب و اطلاعات شبكه جلوگيري كند:

معمولا سازمان‌ها يا شركت‌ها بسته به نوع استفاده از اينترنت، داراي ليست استانداردي از پورتهاي مورد نياز مي باشند كه باز بوده و پورت هاي غير از اين ليست غير فعال ميشوند. در بيشتر موارد، فيلترينگ بايد روي ترافيك خروجي و ورودي اعمال شود تا بتوان از حمله هاي احتمالي به شبكه جلوگيري به عمل آورد. در قسمت بعد به بررسي سياست نامه امنيتي مسير ياب و چك ليست امنيتي آن خواهيم پرداخت.

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


مقدمه
امروزه اکثر شبکه‌های کامپيوتری بزرگ و اغلب سيستم‌های عامل موجود از پروتکل TCP/IP، استفاده و حمايت می‌نمايند. TCP/IP، امکانات لازم بمنظور ارتباط سيستم‌های غيرمشابه را فراهم می‌آورد. از ويژگی‌های مهم پروتکل فوق، می‌توان به مواردی همچون: قابليت اجراء بر روی محيط‌های متفاوت، ضريب اطمينان بالا،قابليت گسترش و توسعه آن، اشاره کرد. از پروتکل فوق، بمنظور دستيابی به اينترنت و استفاده از سرويس‌های متنوع آن نظير وب و يا پست الکترونيکی استفاده می‌گردد. تنوع پروتکل‌های موجود در پشته TCP/IP و ارتباط منطقی و سيستماتي

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


TCP/IP، فرآيندهای لازم بمنظور برقراری ارتباط را سازماندهی و در اين راستا از پروتکل‌های متعددی در پشته TCP/IP استفاده می‌گردد. بمنظور افزايش کارآئی در تحقق فرآيند‌های مورد نظر، پروتکل‌ها در لايه‌های متفاوتی، سازماندهی شده اند. اطلاعات مربوط به آدرس دهی در انتها قرار گرفته و بدين ترتيب کامپيوترهای موجود در شبکه قادر به بررسی آن با سرعت مطلوب خواهند بود. در اين راستا، صرفا\ً کامپيوتری که بعنوان کامپيوتر مقصد معرفی شده است، امکان باز نمودن بسته اطلاعاتی و انجام پردازش‌های لازم بر روی آن را دارا خواهد بود. TCP/IP، از يک دل ارتباطی چهار لايه بمنظور ارسال اطلاعات از محلی به محل ديگر استفاده می‌نمايد: Application ,Transport ,Internet و Network Interface، لايه‌های موجود در پروتکل TCP/IP می‌باشند.هر يک از پروتکل‌های وابسته به پشته TCP/IP، با توجه به رسالت خود، در يکی از لايه‌های فوق، قرار می‌گيرند.
لايه Application
لايه Application، بالاترين لايه در پشته TCP/IP است.تمامی برنامه و ابزارهای کاربردی در اين لايه، با استفاده از لايه فوق، قادر به دستتيابی به شبکه خواهند بود. پروتکل‌های موجود در اين لايه بمنظور فرمت دهی و مبادله اطلاعات کاربران استفاده می‌گردند. HTTP و FTP دو نمونه از پروتکل‌ها ی موجود در اين لايه می‌باشند.
پروتکل HTTP)Hypertext Transfer Protocol). از پروتکل فوق، بمنظور ارسال فايل‌های صفحات وب مربوط به وب، استفاده می‌گردد.
پروتکل FTP)File Transfer Protocol). از پروتکل فوق برای ارسال و دريافت فايل، استفاده می‌گردد.
لايه Transport
لايه \ً حمل \ً، قابليت ايجاد نظم و ترتيب و تضمين ارتباط بين کامپيوترها و ارسال داده به لايه Application (لايه بالای خود) و يا لايه اينترنت (لايه پايين خود) را بر عهده دارد. لايه فوق، همچنين مشخصه منحصربفردی از برنامه ای که داده را عرضه نموده است، مشخص می‌نمايد. اين لايه دارای دو پروتکل اساسی است که نحوه توزيع داده را کنترل می‌نمايند.
TCP)Transmission Control Protocol). پروتکل فوق، مسئول تضمين صحت توزيع اطلاعات است.
UDP)User Datagram Protocol). پروتکل فوق، امکان عرضه سريع اطلاعات بدون پذيرفتن مسئوليتی در رابطه با تضمين صحت توزيع اطلاعات را برعهده دارد.
لايه اينترنت
لايه \ًاينترنت\ً، مسئول آدرس دهی، بسته بندی و روتينگ داده ها، است. لايه فوق، شامل چهار پروتکل اساسی است:
IP)Internet Protocol). پروتکل فوق، مسئول آدرسی داده‌ها بمنظور ارسال به مقصد مورد نظر است.
ARP)Address Resoulation Protocol). پروتکل فوق، مسئول مشخص نمودن آدرس MAC)Media Access Control) آداپتور شبکه بر روی کامپيوتر مقصد است.
ICMP)Internet Control Message Protocol). پروتکل فوق، مسئول ارائه توابع عيب يابی و گزارش خطاء در صورت عدم توزيع صحيح اطلاعات است.
IGMP)Internet Group Managemant Protocol). پروتکل فوق، مسئول مديريت Multicasting در TCP/IP را برعهده دارد.


لايه Network Interface
لايه \ً اينترفيس شبکه \ً، مسئول استقرار داده بر روی محيط انتقال شبکه و دريافت داده از محيط انتقال شبکه است. لايه فوق، شامل دستگاه‌های فيزيکی نظير کابل شبکه و آداپتورهای شبکه است. کارت شبکه (آداپتور) دارای يک عدد دوازده رقمی مبنای شانزده (نظير: B5-50-04-22-D4-66) بوده که آدرس MAC، ناميده می‌شود. لايه \ً اينترفيس شبکه \ً، شامل پروتکل‌های مبتنی بر نرم افزار مشابه لايه‌های قبل، نمی باشد. پروتکل‌های Ethernet و ATM)Asynchronous Transfer Mode)، نمونه هائی از پروتکل‌های موجود در اين لايه می‌باشند. پروتکل‌های فوق، نحوه ارسال داده در شبکه را مشخص می‌نمايند.


مشخص نمودن برنامه‌ها
در شبکه‌های کامپيوتری، برنامه‌ها ی متعددی در يک زمان با يکديگر مرتبط می‌گردند. زمانيکه چندين برنامه بر روی يک کامپيوتر فعال می‌گردند، TCP/IP، می‌بايست از روشی بمنظور تمايز يک برنامه از برنامه ديگر، استفاده نمايد. بدين منظور، از يک سوکت (Socket) بمنظور مشخص نمودن يک برنامه خاص، استفاده می‌گردد.
آدرس IP
برقراری ارتباط در يک شبکه، مستلزم مشخص شدن آدرس کامپيوترهای مبداء و مقصد است (شرط اوليه بمنظور برقراری ارتباط بين دو نقطه، مشخص بودن آدرس نقاط درگير در ارتباط است). آدرس هر يک از دستگاه‌های درگير در فرآيند ارتباط، توسط يک عدد منحصربفرد که IP ناميده می‌شود، مشخص می‌گردند. آدرس فوق به هريک از کامپيوترهای موجود در شبکه نسبت داده می‌شود. IP: 10. 10.1.1، نمونه ای در اين زمينه است.


پورت TCP/UDP
پورت مشخصه ای برای يک برنامه و در يک کامپيوتر خاص است.پورت با يکی از پروتکل‌های لايه \ًحمل\ً (TCP و يا UDP) مرتبط و پورت TCP و يا پورت UDP، ناميده می‌شود. پورت می‌تواند عددی بين صفر تا 65535 را شامل شود. پورت‌ها برای برنامه‌های TCP/IP سمت سرويس دهنده، بعنوان پورت‌های \ًشناخته شده \ً ناميده شده و به اعداد کمتر از 1024 ختم و رزو می‌شوند تا هيچگونه تعارض و برخوردی با ساير برنامه‌ها بوجود نيايد. مثلا\ً برنامه سرويس دهنده FTP از پورت TCP بيست و يا بيست ويک استفاده می‌نمايد.
سوکت (Socket)


سوکت، ترکيبی از يک آدرس IP و پورت TCP ويا پورت UDP است. يک برنامه، سوکتی را با مشخص نمودن آدرس IP مربوط به کامپيوتر و نوع سرويس (TCP برای تضمين توزيع اطلاعات و يا UDP) و پورتی که نشاندهنده برنامه است، مشخص می‌نمايد. آدرس IP موجود در سوکت، امکان آدرس دهی کامپيوتر مقصد را فراهم و پورت مربوطه، برنامه ای را که داده‌ها برای آن ارسال می‌گردد را مشخص می‌نمايد.
TCP/IP،شامل شش پروتکل اساسی(TCP,UDP,IP,ICMP,IGMP،ARP) و مجموعه ای از برنامه‌های کاربردی است. پروتکل‌های فوق، مجموعه ای از استادنداردها ی لازم بمنظور ارتباط بين کامپيوترها و دستگاهها را در شبکه، فراهم می‌نمايد. تمامی برنامه‌ها و ساير پروتکل‌ها ی موجود در پروتکل TCP/IP، به پروتکل‌های شش گانه فوق مرتبط و از خدمات ارائه شده توسط آنان استفاده می‌نمايند. در ادامه به تشريح عملکرد و جايگاه هر يک از پروتکل‌های اشاره شده، خواهيم پرداخت.

پروتکل TCP: لايه Transport
TCP) Transmission Control Protocol)، يکی از پروتکل‌های استاندارد TCP/IP است که امکان توزيع و عرضه اطلاعات (سرويس ها) بين صرفا\ً دو کامپيوتر، با ضريب اعتماد بالا را فراهم می‌نمايد. چنين ارتباطی (صرفا\ً بين دو نقطه)، Unicast ناميده می‌شود. در ارتباطات با رويکرد اتصال گرا، می‌بايست قبل از ارسال داده، ارتباط بين دو کامپيوتر برقرار گردد. پس از برقراری ارتباط، امکان ارسال اطلاعات برای صرفا\ً اتصال ايجاد شده، فراهم می‌گردد. ارتباطات از اين نوع، بسيار مطمئن می‌باشند، علت اين امر به تضمين توزيع اطلاعات برای مقصد مورد نظر برمی گردد. بر روی کامپيوتر مبداء، TCP داده هائی که می‌بايست ارسال گردند را در بسته‌های اطلاعاتی (Packet) سازماندهی می‌نمايد. در کامپيوتر مقصد، TCP، بسته‌های اطلاعاتی را تشخيص و داده‌های اوليه را مجددا\ً ايجاد خواهد کرد.
ارسال اطلاعات با استفاده از TCP


TCP، بمنظور افزايش کارائی، بسته‌های اطلاعاتی را بصورت گروهی ارسال می‌نمايد. TCP، يک عدد سريال (موقعيت يک بسته اطلاعاتی نسبت به تمام بسته اطلاعاتی ارسالی) را به هريک از بسته‌ها نسبت داده و از Acknowledgment بمنظور اطمينان از دريافت گروهی از بسته‌های اطلاعاتی ارسال شده، استفاده می‌نمايد. در صورتيکه کامپيوتر مقصد، در مدت زمان مشخصی نسبت به اعلام وصول بسته‌های اطلاعاتی، اقدام ننمايد، کامپيوتر مبداء، مجددا\ً اقدام به ارسال اطلاعات می‌نمايد. علاوه برافزودن يک دنباله عددی و Acknowledgment به يک بسته اطلاعاتی، TCP اطلاعات مربوط به پورت مرتبط با برنامه‌ها ی مبداء و مقصد را نيز به بسته اطلاعاتی اضافه می‌نمايد. کامپيوتر مبداء، از پورت کامپيوتر مقصد بمنظور هدايت صحيح بسته‌های اطلاعاتی به برنامه مناسب بر روی کامپيوتر مقصد، استفاده می‌نمايد. کامپيوتر مقصد از پورت کامپيوتر مبداء بمنظور برگرداندن اطلاعات به برنامه ارسال کننده در کامپيوتر مبداء، استفاده خواهد کرد.
هر يک از کامپيوترهائی که تمايل به استفاده از پروتکل TCP بمنظور ارسال اطلاعات دارند، می‌بايست قبل از مبادله اطلاعات، يک اتصال بين خود ايجاد نمايند. اتصال فوق، از نوع مجازی بوده و Session ناميده می‌شود.دو کامپيوتر درگير در ارتباط، با استفاده از TCP و بکمک فرآيندی با نام: Three-Way handshake، با يکديگر مرتبط و هر يک پايبند به رعايت اصول مشخص شده در الگوريتم مربوطه خواهند بود. فرآيند فوق، در سه مرحله صورت می‌پذيرد:
مرحله اول: کامپيوتر مبداء، اتصال مربوطه را از طريق ارسال اطلاعات مربوط به Session، مقداردهی اوليه می‌نمايد (عدد مربوط به موقعيت يک بسته اطلاعاتی بين تمام بسته‌های اطلاعاتی و اندازه مربوط به بسته اطلاعاتی)
مرحله دوم: کامپيوتر مقصد، به اطلاعات Session ارسال شده، پاسخ مناسب را خواهد داد.
کامپيوتر مبداء، از شرح واقعه بکمک Acknowledgment ارسال شده توسط کامپيوتر مقصد، آگاهی پيدا خواهد کرد.
پروتکل UDP: لايه Transport
UDP) User Datagram Protocol)، پروتکلی در سطح لايه \ًحمل\ً بوده که برنامه مقصد در شبکه را مشخص نموده و از نوع بدون اتصال است. پروتکل فوق، امکان توزيع اطلاعات با سرعت مناسب را ارائه ولی در رابطه با تضمين صحت ارسال اطلاعات، سطح مطلوبی از اطمينان را بوجود نمی آورد. UDP در رابطه با داده‌های دريافتی توسط مقصد، به Acknowledgment نيازی نداشته و در صورت بروز اشکال و يا خرابی در داده‌های ارسال شده، تلاش مضاعفی بمنظور ارسال مجدد داده ها، انجام نخواهد شد. اين بدان معنی است که داده هائی کمتر ارسال می‌گردد ولی هيچيک از داده‌های دريافتی و صحت تسلسل بسته‌های اطلاعاتی، تضمين نمی گردد.از پروتکل فوق، بمنظور انتقال اطلاعات به چندين کامپيوتر با استفاده از Broadcast و يا Multicast، استفاده بعمل می‌آيد. پروتکل UDP، در موارديکه حجم اندکی از اطلاعات ارسال و يا اطلاعات دارای اهميت بالائی نمی بانشد، نيز استفاده می‌گردد. استفاده از پروتکل UDP در مواردی همچون Multicasting Streaming media، (نظير يک ويدئو کنفرانس زنده) و يا انتشار ليستی از اسامی کامپيوترها که بمنظور ارتباطات محلی استفاده می‌گردند، متداول است. بمنظور استفاده از UDP، برنامه مبداء می‌بايست پورت UDP خود را مشخص نمايد دقيقا\ً مشابه عملياتی که می‌بايست کامپيوتر مقصد انجام دهد. لازم به يادآوری است که پورت‌های UDP از پورت‌های TCP مجزا و متمايز می‌باشند (حتی اگر دارای شماره پورت يکسان باشند).


پروتکل IP: لايه Internet
IP) Internet Protocol)، امکان مشخص نمودن محل کامپيوتر مقصد در يک شبکه ارتباطی را فراهم می‌نمايد. IP، يک پروتکل بدون اتصال و غيرمطمئن بوده که اولين مسئوليت آن آدرس دهی بسته‌های اطلاعاتی و روتينگ بين کامپيوترهای موجود در شبکه است. با اينکه IP همواره سعی در توزيع يک بسته اطلاعاتی می‌نمايد، ممکن است يک بسته اطلاعاتی در زمان ارسال گرفتار مسائل متعددی نظير: گم شدن، خرابی، عدم توزيع با اولويت مناسب، تکرار در ارسال و يا تاخير، گردند.در چنين مواردی، پروتکل IP تلاشی بمنظور حل مشکلات فوق را انجام نخواهد داد (ارسال مجدد

اطلاعات درخواستی).آگاهی از وصول بسته اطلاعاتی در مقصد و بازيافت بسته‌های اطلاعاتی گم شده، مسئوليتی است که بر عهده يک لايه بالاتر نظير TCP و يا برنامه ارسال کننده اطلاعات، واگذار می‌گردد.
عمليات انجام شده توسط IP
می توان IP را بعنوان مکانی در نظر گرفت که عمليات مرتب سازی و توزيع بسته‌های اطلاعاتی در آن محل، صورت می‌پذيرد.بسته‌ها ی اطلاعاتی توسط يکی از پروتکل‌های لايه حمل (TC

P و يا UDP) و يا از طريق لايه \ً ايترفيس شبکه \ً، برای IP ارسال می‌گردند. اولين وظيفه IP، روتينگ بسته‌های اطلاعاتی بمنظور ارسال به مقصد نهائی است. هر بسته اطلاعاتی، شامل آدرس IP مبداء (فرستنده) و آدرس IP مقصد (گيرنده) می‌باشد. در صورتيکه IP، آدرس مقصدی را مشخص نمايد که در همان سگمنت موجود باشد، بسته اطلاعاتی مستقيما\ً برای کامپيوتر مورد نظر ارسال می‌گردد. در صورتيکه آدرس مقصد در همان سگمنت نباشد، IP، می‌بايست از يک روتر استفاده و اطلاعات را برای آن ارسال نمايد.يکی ديگر از وظايف IP، ايجاد اطمينان از عدم وجود يک بسته اطلاعاتی (بلاتکليف !) در شبکه است. بدين منظور محدوديت زمانی خاصی در رابطه با مدت زمان حرکت بسته اطلاعاتی در طول شبکه، در نظر گرفته می‌شود.عمليات فوق، توسط نسبت دادن يک مقدار TTL)Time To Live) به هر يک از بسته‌های اطلاعاتی صورت می‌پذيرد. TTL، حداکثر مدت زمانی را که بسته اطلاعاتی قادر به حرکت در طول شبکه است را مشخص می‌نمايد(قبل از اينکه بسته اطلاعاتی کنار گذاشته شود).
پروتکل ICMP: لايه Internet
ICMP) Internet Control Message Protocol)، امکانات لازم در خصوص اشکال زدائی و گزارش خطاء در رابطه با بسته‌های اطلاعاتی غيرقابل توزيع را فراهم می‌نمايد. با استفاده از ICMP، کامپيوترها و روترها که از IP بمنظور ارتباطات استفاده می‌نمايند، قادر به گزارش خطاء و مبادله اطلاعاتی محدود در رابطه وضعيت بوجود آمده می‌باشند. مثلا\ً در صورتيکه IP، قادر به توزيع يک بسته اطلاعاتی به مقصد مورد نظر نباشد، ICMP يک پيام مبتنی بر غيرقابل دسترس بودن را برای کامپيوتر مبداء ارسال می‌دارد. با اينکه پروتکل IP بمنظور انتقال داده بين روترهای متعدد استفاده می‌گردد، ولی ICMP به نمايندگی از TCP/IP، مسئول ارائه گزارش خطاء و يا پيام‌های کنترلی است. تلاش ICMP، در اين جهت نيست که پروتکل IP را بعنوان يک پروتکل مطمئن مطرح نمايد،

چون پيام‌های ICMP دارای هيچگونه محتوياتی مبنی بر اعلام وصول پيام (Acknowledgment) بسته اطلاعاتی نمی باشند. ICMP، صرفا\ً سعی در گزارش خطاء و ارائه فيدبک‌های لازم در رابطه با تحقق يک وضعيت خاص را می‌نمايد.
پروتکل IGMP: لايه Internet
IGMP) Internet Group Managment Protocol)، پروتکلی است که مديريت ليست اعضاء برای

IP Multicasting، در يک شبکه TCP/IP را بر عهده دارد. IP Multicasting، فرآيندی است که بر اساس آن يک پيام برای گروهی انتخاب شده از گيرندگان که گروه multicat ناميده می‌شوند ؛ ارسال می‌گردد. IGMP ليست اعضاء را نگهداری می‌نمايد.
مديريت IP Multicasting
تمامی اعضاء يک گروه multicast، به ترافيک IP هدايت شده به يک آدرس Multicast IP، گوش داده و بسته‌های اطلاعاتی ارسال شده به آن آدرس را دريافت می‌نمايند. زمانيکه چندين کامپيوتر نيازمند دستيابی به اطلاعاتی نظير Streaming media باشند، يک آدرس IP رزوشده برای multicasting استفاده می‌گردد. روترها که بمنظور پردازش multicast پيکربندی می‌گردند، اطلاعات را انتخاب و آنها را برای تمامی مشترکين گروه multicast ارسال (Forward) می‌نمايند. بمنظور رسيدن اطلاعات Multicast به گيرندگان مربوطه، هر يک از روترهای موجود در مسير ارتباطی می‌بايست، قادر به حمايت از Multicasting باشند. کامپيوترهای مبتنی بر سيستم عامل وينوز 2000، قادر به ارسال و دريافت IP Multicast، می‌باشند.
پروتکل ARP: لايه Internet
ARP) Address Resolution Protocol)، پروتکلی است که مسئوليت مسئله \ً نام به آدرس\ً را در رابطه با بسته‌های اطلاعاتی خروجی (Outgoing)، برعهده دارد. ماحصل فرآيند فوق، Mapping آدرس IP به آدرسMAC)Media Access Control)، مربوطه است. کارت شبکه از آدرس MAC، بمنظور تشخيص تعلق يک بسته اطلاعاتی به کامپيوتر مربوطه، استفاده می‌نمايند. بدون آدرس‌های MAC، کارت‌های شبکه، دانش لازم در خصوص ارسال بسته‌های اطلاعاتی به لايه بالاتر بمنظور پردازش‌های مربوطه را دارا نخواهند بود. همزمان با رسيدن بسته‌های اطلاعاتی به لايه IP بمنظور ارسال در شبکه، آدرس‌های MAC مبداء و مقصد به آن اضافه می‌گردد.
ARP، از جدولی خاص بمنظور ذخيره سازی آدرس‌های IP و MAC مربوطه، استفاده می‌نمايد. محلی از حافظه که جدول فوق در آنجا ذخيره می‌گردد، ARP Cache ناميده می‌شود. ARP Cache هر کامپيوتر شامل mapping لازم برای کامپيوترها و روترهائی است که صرفا\ً بر روی يک سگمنت مشابه قرار دارند.


Physical Address Resolution
پروتکل ARP، آدرس IP مقصد هر يک از بسته‌های اطلاعاتی خروجی را با ARP Cache مقايسه تا آدرس MAC مقصد مورد نظر را بدست آورد. در صورتيکه موردی پيدا گردد، آدرس MAC از Cache بازيابی می‌گردد. در غير اينصورت ؛ ARP درخواستی را برای کامپيوتری که مالکيت IP را برعهده دارد، Broadcast نموده و از وی می‌خواهد که آدرس MAC خود را اعلام نمايد. کامپيوتر مورد نظر (با IP مربوطه)، در ابتدا آدرس MAC کامپيوتر ارسال کننده درخواست را به Cache خود اضافه نموده و در ادامه پاسخ لازم را از طريق ارسال آدرس MAC خود، به متقاضی خواهد داد. زمانيکه پاسخ ARP توسط درخواست کننده، دريافت گرديد، در ابتدا با استناد به اطلاعات ج

ديد دريافتی، Cache مربوطه بهنگام و در ادامه بسته اطلاعاتی به مقصد کامپيوتر مورد نظر ارسال می‌گردد.
در صورتيکه مقصد يک بسته اطلاعاتی، سگمنتی ديگر باشد، ARP، آدرس MAC را به روتر مسئول در سگمنت مربوطه، تعميم خواهد داد (در مقابل آدرس مربوط به کامپيوتر مقصد). روتر، در ادامه مسئول يافتن آدرس MAC مقصد و يا Forwarding بسته اطلاعاتی برای روتر ديگر است.
نسخه TCP/IP پياد ه سازی شده در ويندوز، بهمراه خود مجموعه ای از برنامه‌های کاربردی را ارائه نموده است. با استفاده از برنامه‌های فوق، امکان اجرای ويندوز 2000 بر روی يک کامپيوتر بمنظور دستيابی به مجموعه ای گسترده از اطلاعات موجود در يک شبکه، وجود خواهد داشت. ويندوز 2000، سه گروه عمده از ابزارهای مبتنی بر TCP/IP را ارائه می‌نمايد: برنامه‌های عيب يابی، برنامه‌های ارتباطی و نرم افزارهای سمت سرويس دهنده.
برنامه‌های عيب يابی
برنامه‌های عيب يابی، امکان تشخيص و برطرف نمودن مسائل مرتبط با شبکه را برای کاربران فراهم می‌نمايند. برخی از اين ابزارها عبارتند از:
ARP. برنامه فوق، Cache مربوط به ARP) Addreee Resolution Protocol) را نمايش و امکان اصلاح آن را فراهم می‌نمايد. بمنظور استفاده از برنامه فوق، کافی است ARP -a را در خط دستور تايپ و در ادامه جدول مربوط به ARP Cache، نمايش داده می‌شود. با استفاده از برنامه فوق می‌توان يک Entry ايستا را به جدول مربوطه اضافه (arp -s 157.55.85.212 00-aa-00-62-c6-09)، و يا اقدام به حذف يک host از جدول نمود (arp -d).
Hostname. برنامه فوق، نام کامپيوتر ميزبان را نمايش می‌دهد. برای استفاده از برنامه فوق، کافی است Hostname را در خط دستور، تايپ و نام کامپيوتر خود را مشاهده نمود.
IPConfig. برنامه فوق، پيکربندی جاری پروتکل TCP/IP را نمايش (آدرس IP، آدرس فيزيکی، نام کامپيوتر و...) و امکان بهنگام سازی آن را فراهم می‌نمايد. بمنظور آشنائی با پتانسيل‌های برنامه فوق، ipcongig/help را در خط دستور تايپ تا با عملکرد اين برنامه و سوئيچ‌های مربوطه آشنا گرديد.
Nbtstat. برنامه فوق، جدول محلی اسامی NetBIOS را نمايش می‌دهد.جدول فوق، شامل ليستی از اسامی کامپيوتر‌ها بهمراه IP مربوطه است (mapping)
Netstat. برنامه فوق، اطلاعات مربوط به جلسه کاری (Session) پروتکل TCP/IP را نمايش

می‌دهد.
Ping. برنامه فوق، پيکربندی و ارتباط مبتنی بر IP بين دو کامپيوتر را بررسی و تست می‌نمايد. Ping يک درخواست ICMP را از کامپيوتر مبداء ارسال و کامپيوتر مقصد از طريق يک پاسخ ICMP به آن جواب خواهد داد.بمنظور تست ارتباط با استفاده از يک آدرس IP و يا نام يک کامپيوتر، فرمان [ PING [IP_Address or Computer_Name را تايپ نمائيد. بمنظور تست پيکربندی TCP/IP بر روی کامپيوتر خود، از Local Loopback استفاده نمائيد. Local loopback، شامل آدرس 127.0.0.1 است. (Ping 127.0.0.1)

Tracert. برنامه فوق، رديابی يک بسته اطلاعاتی تا رسيدن به مقصد مورد نظر را انجام می‌د

هد.
برنامه‌های ارتباطی
برنامه‌های فوق، امکان ارتباط با مجموعه وسيعی از سيستم‌های مبتنی بر ويندوز و يا غيرويندوز نظير سيستم‌های يوينيکس، را در اختيار کاربران قرار می‌دهند. با اينکه اين نوع از برنامه‌ها امکان ارسال سريع اطلاعات را فراهم می‌نمايند ولی با توجه به ماهيت ارسال اطلاعات توسط آنان (تمامی اطلاعات شامل اطلاعات مربوط به تائيد اعتبار و هويت کاربران بصورت متن شفاف ارسال می‌گردد)، می‌بايست دقت لازم صورت پذيرد.موارد زير نمونه هائی از برنامه‌های ارتباطی می‌باشند:
FTP. برنامه فوق، با استفاده از پروتکل TCP، اقدام به ارسال فايل بين ويندوز 2000 و کامپيوترهائی که بر روی آنان نرم افزار سرويس دهنده FTP نصب شده است، می‌نمايد.
Telnet. برنامه فوق، امکان ارتباط از راه دور به منابع شبکه موجود در کامپيوترهائی که سرويس دهنده Telnet بر روی آنان نصب شده است را فراهم می‌نمايد.
Tftp. برنامه فوق از پروتکل UDP، برای ارسال فايل‌های کوچک بين ويندوز 2000 و کامپيوترهائی که بر روی آنان سرويس دهنده TFTP)Trivial File Transfer Protocol) نصب شده است را فراهم می‌نمايد.
نرم افزارهای سمت سرويس دهنده
اين نوع نرم افزارها امکان چاپ و انتشار سرويس‌ها را برای سرويس گيرندگان مبتنی بر TCP/IP در ويندوز 2000، فراهم می‌نمايد.
سرويس چاپ TCP/IP. برنامه فوق، سرويس استاندارد چاپ TCP/IP را ارائه می‌نمايد. سرويس فوق، امکان ارسال چاپ را برای کامپيوترهائی که بر روی آنان سيستم‌های عاملی بجز ويندوز 2000 نصب شده باشد، به چاپگر‌های متصل شده به يک کامپيوتر مبتنی بر ويندوز 2000، فراهم می‌نمايد.
سرويس‌های اطلاعاتی اينترنت (IIS). برنامه IIS، نرم افزارهای سرويس دهنده متعددی نظير وب، اخبار، پست الکترونيکی و ارسال فايل مبتنی بر TCP/IP را در اختيار قرار می‌دهد. IIS، در سيستم هائی که از نسخه‌های Server ويندوز 2000 استفاده می‌نمايند، بصورت پيش فرض نصب می‌گردد. پيشنهاد می‌گردد در صورتيکه به عملکرد اين برنامه نيازی وجود ندارد، اقدام به حذف (Uninstall) آن از روی سيستم نمود.


مثال
مثال 1 - هدف: استفاده از برنامه Ping بمنظور اطمينان از صحت عملکرد پروتکل TCP/IP
مرحله يک: بعنوان يک کاربر مجاز، به شبکه وارد شويد.
مرحله دو: گزينه Command Prompt را از مسير Start | Programs | Accessories انتخاب نمائيد.
مرحله سه: دستور Ping 127.0.0.1 را در پنجره مربوطه تايپ نمائيد.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید