جلسه بیست و هفتم

NAT

همانطور که می دانید NAT مخفف Network Address Translation هست . من در وبلاگ MCITP ام به طور مفصل راجع به این موضوع صحبت کرده ام، برای آشنایی با مفهوم NAT به آنجا مراجعه کنید و مطالعه بفرمایید. دقت بفرمایید که چون من در آنجا مفصل توضیح دادم در اینجا فقط نحوه پیاده سازی NAT را بر روی روتر بحث می کنیم و دیگر به صورت ساختاری به بررسی NAT نمی پردازم. پس فرض ما بر این است که شما مفهوم NAT را می دانید.

اما یک توضیح کلی اینکه ما با IP های Invalid یا IP هایی که داخل شبکه از آن استفاده می کنیم، نمی توانیم بر روی اینترنت برویم و برای رفتن بر روی اینترنت مجبور به ترجمه این IP و یا تبدیل آن به یک IP پابلیک یا Valid هستیم.

کاربرد دیگر NAT این هست که ساختار IP Addressing داخلی شبکه را از دیدکاربران بیرونی دور نگه می دارد.

همانطور که می دانید NAT به دو شکل Static و Dynamic قابل اجراست.

 

پیاده سازی NAT استاتیک بر روی یک روتر

در NAT استاتیک بر روی روتر به ازاء هر IP داخلی شبکه یا Invalid یک IP پابلیک اختصاص می دهیم و به عبارت دقیق تر این IP ولید برای IP های داخل شبکه رزرو شده است و چه آن سیستم خاموش باشد چه نباشد ، این IP به شخص دیگری اختصاص پیدا نمی کند. به اختصار به این روش One to One Mapping می گویند.

به IP که داخل شبکه استفاده می شود، Inside Local IP می گویند. مثلا 192.168.1.2 که یک IP اینولید هست.

به IP که می خواهیم تبدیل شود و با آن IP خارج شویم و بر روی اینترنت برویم Inside Global IP هست. مثل یک آدرسValid اینترنتی مثلا 173.194.35.18.

خب پیاده سازی NAT استاتیک در دو مرحله قابل اجراست:

1.وارد روتر می شویم و IP را که می خواهیم NAT شود را برای آن مشخص می کنیم.

مثلا هر وقت IP آدرس 192.168.10.1 پیش روتر آمد آن را NAT کن به آدرس 200.200.200.1

Router-NAT(config)#ip nat inside source static 192.168.10.1 200.200.200.1

در بالا Inside Local IP عبارت است از 192.168.10.1 و Inside Global IP عبارت است از 200.200.200.1

2. باید برای روتر مشخص کنیم که اگر این IP از فلان اینترفیس می خواست خارج شود NAT اش کن.

فرض کنید یک اینترفیس روتر وصل به اینترنت هست و باقی اینترفیس ها وصل به شبکه ها و روتر های دیگر. ما باید برای روتر مشخص کنیم که فقط برای اینترفیس خاص عملیات NAT را انجام دهد و برای باقی اینترفیس ها نیازی به NATنیست.

جهت این کار باید وارد اینترفیس های مورد نظر بشویم و Inside  و outside را مشخص کنیم.

Router-NAT (config) # interface serial 1/0

Router-NAT (config-if) # ip nat inside

Router-NAT (config) # interface serial 1/1

Router-NAT (config-if) # ip nat outside

نکته

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

Router-NAT (config) # debug ip nat

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

داینامیک NAT روش های مختلفی دارد که ما در اینجا با داینامیک NAT و داینامیک PAT آشنا می شویم.

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

اما در NAT داینامیک یک مجموعه IP برای روتر به نام Pool تعریف می کنیم و هر وقت هاستی بیاید و بخواهد که بر روی اینترنت برود از این Pool به آن IP اختصاص می یابد و کارش که با اینترنت تمام شد مجددا IP را به داخل Pool می اندازد تا شخص دیگری بتواند از آن IP استفاده کند.

پیاده سازی داینامیک NAT شامل 4 مرحله است:

1. رینج آی پی ، Inside Local IP را مشخص می کنیم. چه کسانی باید از NAT آی پی بگیرند:

Router-1(config) #Ip access-list standard internet

Router-1(config-std-nacl) # permit 192.168.10.0 0.0.0.255

Router-1(config)#Ip nat pool ccna

همانطور که می بینید در بالا ، ابتدا یک اکسز لیست استاندارد تعریف کردیم به نام "internet".یعنی هرکس خواست بره به اینترنت در این اکسز لیست آن را معرفی می کنیم.

در خط بعد گفتیم هرکسی که از رینج IP ی 192.168.10.0 بود را اجازه بده که عبور کنند.و بقیه را deny کن(همانطور که می دانیم این دستور deny به صورت default وجود دارد)

حال از اکسز لیست خارج می شویم و :

در خط سوم یک pool تعریف کردیم برای nat به نام ccna. و IP  های Inside Global  را داخل این pool می گذاریم که در ادامه می آید. اگر خط سوم را تایپ کنید مطمئنا به شما پیغام Incomplete Command را خواهد داد. من چون می خواستم مرحله به مرحله توضیح بدهم نصف دستور را در مرحله یک آوردم و باقی اش را در مرحله بعدی.

2.تعریف Inside Global IP.

حال دستور بالا را کامل می کنیم.

 Router-1(config)#Ip nat pool ccna 200.200.200.1 200.200.200.10 netmask 255.255.255.0

همانطور که می بینید ما در اینجا رینج IP از 1 تا 10 را که پابلیک هستند را داخل poolی به نام ccna ریختیم تا اصطلاحاInside Global IP را مشخص کنیم.

 

3. حالا اینترفیس های ورودی و خروجی را مشخص می کنیم.

Router-NAT (config) # interface serial 1/0

Router-NAT (config-if) # ip nat inside

Router-NAT (config) # interface serial 1/1

Router-NAT (config-if) # ip nat outside

4. حال داینامیک NAT را بر روی روتر فعال می کنیم.

R-1(config)#ip nat inside source list internet pool ccna

به روتر معرفی کردیم که اگر سورس لیست اینترنت که در اکسز لیست بالا رینج آن را مشخص کردیم ، خواست بر روی اینترنت برود از pool به نام ccna که در آن هم رینج IP های ولید را مشخص کردیم به آن ها IP اختصاص بده.به همین سادگی

 

انشاء الله در جلسه بعد پیاده سازی داینامیک PAT را شرح خواهم داد. موفق باشید.

 پایان جلسه بیست و هفتم

 

جلسه بیست و ششم

خب... تا اینجای کار با روتینگ پروتکل ها آشنا شدیم. فقط روتینگ پروتکل EIGRP موند که من مفصل درCCNP توضیح دادم . حال نوبت به کنترل ترافیک شبکه و تعیین مجوز های دسترسی برای ترافیک هاست. مثلا آیا شبکه 10.10.10.2 اجازه دارد برای ما ترافیک بفرستد یا خیر؟  با من همراه شوید...

 

Access-List

ما در Access List ها یاد میگیریم چطور ترافیک شبکه را مدیریت کنیم و اعمال فیلترینگ داشته باشیم... ما میتونیم با استفاده از Access List برای یک روتر تعریف کنیم چه ترافیک هایی اجازه ورود به روتر و چه ترافیک هایی اجازه خروج از روتر را دارند.

Access-List ها به دو صورت قابل پیاده سازی هستند:

الف : Standard Access-List

ب: Extended Access-List

ابتدا ما در مورد Standard Access List صحبت می کنیم.

 

Standard Access-List

خصوصیات Access List های استاندارد:

-          این نوع Access-List این اجازه را به ما می دهد که در لایه سه (لایه نتورک) برحسب Logical Address ها (همون آدرس IP) اعمال فیلترینگ داشته باشیم.

-          برای متمایز کردن Access-List های استاندارد از همدیگر از یک رینج عدد استفاده می کنیم. رینج عددی که برای این Access-List ها در نظر گرفته شده از 1 تا 99 هست.

نکته : چون Range این اعداد کم بود، از IOS ورژن 11.2 به بعد رینج عددی 1300 تا 1999را برایAccess List استاندارد اضافه کردند. یعنی با این اعداد هر Access Listی نوشته شود، هم مشخص می کند چه نوع Access List هست (چون بین 1300 تا 1999 هست پس Access List استاندارد هست)، هم اینکه این عدد،اسم آن Access-List به حساب می آید.

-          ·Access- List های استاندارد بنابر Source  قابل تعریف هستند  نه بنابر Destination.

و اما نحوه پیاده سازی Access-List Standard به چه صورت هست؟

فرض کنید نمی خواهیم نتورک 192.168.10.10  به شبکه 172.16.0.0 دسترسی داشته باشد. برای این کار می خواهیم از access-list استاندارد استفاده کنیم.

جهت این کار در محیط کانفیگ ترمینال دستوری هست به نام Access-list .

پس از تایپ این دستور از ما می خواهد که شماره آن را مشخص کنیم . خب چون ما می خواهیم اکسس لیست استاندارد تعریف کنیم پس باید بین رینج 1 تا 99 بگذاریم. همینطور میتونیم بین رینج 1300 تا 1999 نیز بگذاریم.

حال بعنوان مثال 1 را انتخاب می کنیم که مشخص کنیم که می خواهیم اکسس لیست استاندارد تعریف کنیم.

پس از تایپ عدد 1 اگر کلیدهای Shift  و ؟ را بگیریم، به ما می گوید که سه گزینه را می توانیم انتخاب کنیم

1.  deny : بواسطه این دستور ما جلوی دسترسی را می گیریم.

2.  Permit: بواسطه این دستور ما اجازه دسترسی می دهیم.

3.Remark : بواسطه این دستور ما می تونیم description یا توضیح بنویسیم. یعنی بعنوان مثال بنویسم این اکسس لیست به شماره یک از دسترسی فلان شبکه جلوگیری می کند.

خب ما اینجا Deny را انتخاب می کنیم. سپس مجددا کلیدهای Shift و علامت سوال را می گیریم. حال مجددا سه گزینه در جلوی راه ما قرار می گیرد.

1. Hostname : می توانیم از دسترسی یک نتورک جلوگیری به عمل آوریم . مثلا می توانیم بگوییم کلا نتورک 192.168.10.0 نتواند به آدرس شبکه 172.16.0.0 دسترسی داشته باشد. البته بعد از تایپ نتورک باید wildcard را هم مشخص کنیم. داستان اینکه wildcard چیست را در اینجا مفصل تعریف کرده ام میتونید مراجعه کنید.  بعد از تعریف wildcard اگر مجددا Shift و ؟ بگیریم دو گزینه log و را می بینیم. اولی می گوید که اگر می خواهی که هروقت کسی را رد کردم برایت لاگ بیندازم . که برای این کار فقط کافی است کلمه log را انتهای دستور بیاوریم و دومی هم که می گوید می توانی اینتر هم بزنی .پس دستور کلی به صورت زیر شد:

Router-1(config)#access-list 1 deny 192.168.10.0 0.0.0.255 log

2. Any اگر بخواهیم از دسترسی همه به شبکه خاصی جلوگیری کنیم.

3. Host: اگر بخواهیم از دسترسی یک نفر یا یک هاست مشخص جلوگیری کنیم از این دستور استفاده می کنیم.

همانطور که در بالا مشاهده کردید ، این اکسس لیست یعنی Access-List Standard بر اساس source هست، یعنی ما به آن آدرس مقصد ندادیم و فقط گفتیم که فلان آدرس در این روتر اجازه دسترسی ندارد. حالا به کجا اجازه دسترسی ندارد را دیگر تعریف نمی کنیم.

نکته مهمی که در اینجا باید توجه داشته باشید این هست که نوشتن Access-List به خودی خود کاری انجام نمی دهدو بعبارتی نوشتن یک قانون هست، برای پیاده سازی آن باید حتما شماره اکسس لیست نوشته شده را به یکی از اینترفیس ها Assign کنیم.بعنوان مثال در مثال بالا به یکی از اینترفیس ها بگیم که اگر آدرس 192.168.10.0 اومد جلوش رو بگیر.

اما نحوه Assign کردن یک Access-List به یک اینترفیس چگونه است؟

1. وارد اینترفیس مورد نظر می شویم. بعنوان مثال وارد اینترفیس serial 0/0 می شویم.

2. حال از دستور  زیر استفاده می کنیم.

R-1(config-if)# Ip access-group

اگر در اینجا shift  و ؟ بگیریم به ما می گوید که از کدام اکسس لیست ها می خواهی استفاده کنی که ما در مثال بالا اکسس لیست به شماره یک را تعریف کردیم.

پس تا اینجا شد :

R-1(config-if)# Ip access-group 1

حال مجدد shift  و علامت سوال می گیریم. از ما می پرسد in یا out . یعنی موقع ورود عمل کند یا موقع خروج؟ یعنی از ورد پکت هایی که آدرس source  آنها 192.168.10.0 هست جلوگیری کنم یا از خروج پکت هایی که آدرس source آنها 192.168.10.0 هست؟ بسته به نیاز یکی از کلمه های in یا out را انتخاب می کنیم. و دستور کلی به صورت زیر می شود:

R-1(config-if)# Ip access-group 1 in

حال پکتی که آدرس سورسش 192.168.10.0 باشد، بخواهد به اینترفیس serial 0/0 این روتر وارد شود از ورودش جلوگیری به عمل می آید.یعنی کلا پکت از طرف آن آدرس نتورک این روتر دریافت نمی کند  و همه را drop می کند.

چند قانون

1. با یک شماره Access لیست می توانیم بی نهایت قانون تعریف کنیم.

2. به هر اینترفیس فقط می توان یک شماره Access-list  ورود اختصاص داد یا اصطلاحا Assign کرد ویک اکسس لیست خروج و اگر دو تا اکسس لیست assign کنیم اکسس لیست جدد بر روی قبلی overwrite و جایگزین می شود. دقت کنید که روی In و Out یک اینترفیس هرکدام می توان یک اکسس لیست اختصاص داد.

3. در IOS های قبل از 12.1 می توانستیم In و Out را مشخص نکنیم. که به طور پیش فرض Out در نظر می گرفت.

4. ترتیب نوشتن Access لیست ها مهم است(مخصوصا روی IOS های قدیمی). وقتی ترافیکی می آید روتر به داخل اکسس لیست می رود و هرجا ترافیک با اکسس لیست match شود (مثلا گفته باشد که ترافیک را deny کن و از ورودش جلوگیری کن) دیگر سراغ اکسس لیست های بعدی نمی رود و همون جا ترافیک را Deny می کند.

4.هر اکسس لیستی که نوشته می شود یک خط هم به آخر آن اضافه می شود که عبارت است از :

Router-1(config)#access-list deny any

این خط در انتهای هر شماره اکسس لیست وجود دارد و به صورت transparent و نامرئی وجود دارد که دیده نمی شود و همه را deny می کند.مثلا اگر دستور زیر را نوشته باشیم که فقط یک هاست را deny کنیم:

Router-1(config)#access-list 1 deny host 192.168.10.10 log

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

جهت حل این مشکل کافی است آخر دستوری که می دهیم دستور زیر را بدهیم:

Router-1(config)#access-list 1 permit any

تمام.

Access-List Extended

خصوصیات Access-List Extended:

-          قابل پیاده سازی در لایه 3 و لایه 4 می باشد. (یعنی هم بر اساس Logical Address و هم بر اساس Prot Number یا شماره پورت ها می توانیم اعمال محدودیت داشته باشیم)

-          رینج عددی اکسس لیست های extended از 100 تا 199  هست و در IOS های 12.1 به بعد رینج عددی 2000 تا 2699 به بعد نیز اضافه شده اند.

-          این نوع از اکسس لیست هم بنا بر Source و هم بنابر Destination عمل می کنند.

حال باهم به بررسی یک مثال می پردازیم:

فرض بگیرید یک Access-List می خواهیم بنویسیم و جلوی دسترسی 192.168.10.10 را به آدرس 172.16.0.10 بگیریم:

ابتدا قانون کلی را تعریف می کنیم و سپس آن اکسس لیست را به اینترفیس Assign می کنیم.

Router-1(config)#access-list 100 deny

اگر Shift و علامت سوال بگیریم از ما می پرسد که بر حسب IP می خواهی ببندی یعنی همان Logical Address یا برحسب پروتکل؟ بعنوان مثال ما Ip را می زنیم:

Router-1(config)#access-list 100 deny  IP

حال اگر Shift و علامت سوال را بگیریم  از ما Source Address را می پرسد: سه گزینه زیر را در اختیار ما قرار می دهد:

1. Source Address: که ما در اینجا آدرس سورس را 192.168.10.10 میگذاریم

2. Any Source Host:

3. A single Source Host:

دو گزینه دیگر هم که در قبل توضیح داده شود و مشخص است.خب تا اینجا دستور به صورت زیر است:

Router-1(config)#access-list 100 deny  IP  host 192.168.10.10

مجدد Shift  و علامت سوال می گیریم، باز سه گزینه اما این بار برای Destination و مقصد در اختیار ما قرار می دهد:

که طبق سناریو ما باید مجدد در این جا host را انتخاب کنیم  و آدرس مقصد را 172.16.0.10 بدهیم و درپایان از آن بخواهیم که لاگ عملکرد هم برای ما بیندازد.

دستور پایانی به صورت زیر می شود:

Router-1(config)#access-list 100 deny  IP  host 192.168.10.10 host 172.16.0.10 log

خب. به همین سادگی ما یک اکسس لیست extended نوشتیم که از دسترسی آی پی آدرس 192.168.10.10  به آدرس 172.16.0.10 جلوگیری می کرد.

یک نکته را دقت داشته باشید بهترین جا برای Assign کردن یک اکسس لیست Extended نزدیک ترین جا به Source هست .چون مبدا و مقصد مشخص است ، ترافیک بیخود در شبکه در گردش نباشد و  اگر به مقصد خاصی است به جای اینکه در مقصد drop شود همان در مبدا drop اش می کنیم که بیخود ترافیک در شبکه در جریان نیوفتد و بار را زیاد نکند.

برعکس بهترین جا برای Assign کردن یک اکسس لیست استاندارد نزدیک ترین جا به Destination هست .

حال چگونه یک اکسس لیست Extended بنویسیم بر اساس پورت بنویسیم؟(لایه چهارم)

حال فرض بگیریم که بخواهیم جلوی دسترسی آی پی آدرس 192.168.10.10 را به صفحات وب 172.16.0.1 بگیریم یعنی پورت 80 آنرا ببندیم.

جهت این کار کافی است دستور زیر را تایپ کنیم:

Router-1(config)#access-list 100 deny  tcp  host 192.168.10.10 host 172.16.0.10 eq 80

همانطور که می بینید در دستور بالا به جای IP از پروتکل TCP استفاده کردیم. Source و Destination را مشخص کردیم و در پایان با استفاده از دستور EQ یک شماره پورت را مشخص کنیم. یعنی بگیم فقط پورت 80  را deny کن.

نکات!

اگر بخواهیم بگیم که به هیچ چیز دسترسی نداشته باشد و فقط به پورت 80 دسترسی داشته باشد کافی است به جای eq کلمه neq را به کار ببریم.

Router-1(config)#access-list 100 deny  tcp  host 192.168.10.10 host 172.16.0.10 neq 80

اگر بخواهیم بگیم که یک رینج پورت را ببندیم به جای EQ از  دستور Range  استفاده می کنیم . مثلا از رینج 80 تا 100

Router-1(config)#access-list 100 deny  tcp  host 192.168.10.10 host 172.16.0.10 range 80 100

اگر بخواهیم از یک پورت به بعد را ببندیم می توانیم به جای eq از gt استفاده کنیم و همینطور بخواهیم از یک پورت به پایین را ببندیم به جای eq از lt استفاده می کنیم.

یک تمرین:

اگر بخواهیم فقط آی پی آدرس 192.168.10.10 اجازه داشته باشد به روتر R-1 از طریق پورت کنسول دسترسی داشته باشد چه Access-list ی باید بنویسیم؟

سه خط دستور بیشتر نیاز ندارد. هر سه خط هم در روتر r-1 نوشته می شود . دقت کنید:

R-1(config)#access-list 1 permit 192.168.10.10

R-1(config)#line vty 0

R-1(config-line)#access-class 1 in

همانطور که می بینید ما حتی می توانیم بر روی پورت کنسول هم اکسس لیست بنویسیم. فقط تنها تفاوتش این هست که برای Assign کردن باید به جای استفاده از دستور Access-group از دستور Access-class استفاده کنیم.

خب مبحث آخر هم مطرح کنم و جلسه امروز تمام

چطور به اکسس لیست ها نام اختصاص دهیم؟

ما در نوشتن اکسس لیست ها باعدد یک سری محدودیت ها داشتیم:

اول اینکه تعدادش محدود بود و دوم اینکه اگر چندتا اکسس لیست بنویسیم و بهش عدد اختصاص بدیم دیگه شناسایی اینکه کدوم عدد کدوم اکسس لیست بود سخت می شه.

سیسکو از IOS های 12.1 به بعد گفت می توانید اکسس لیست ها را با اسم تعریف کنید و استفاده کنید. دیگه هم محدودیت در تعداد اکسس لیست ها برطرف میشه و هم شناسایی اکسس لیست ها بسیار ساده تر میشه. اما چطور این کار را انجام دهیم؟

R-1(config)#ip access-list standard cisco

حالا وارد اکسس لیست استاندارد میشیم و داخلش می تونیم به سادگی قوانین رو بنویسیم . مثلا:

R-1(config-std-nacl)# permit host 192.168.10.10 log

همینطور اگر بخواهیم اکسس لیست extended تعریف کنیم به صورت زیر عمل می کنیم:

R-1(config)#ip access-list extended cisco

به همین سادگی ما اکسس لیست را با نام تعریف کردیم.

نکته آخر اینکه اگر بخواهیم اکسس لیست را برداریم کافی است مثل همیشه از no قبل از دستور استفاده کنیم. یعنی بنویسیم

R-1(config)#No access-list 1

خب امیدوارم جلسه امروز براتون مفید واقع شده باشد. موفق باشید.

 پایان جلسه بیست و ششم

جلسه بیست و پنجم

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

در دوره CCNA به صورت خیلی مختصر به این روتینگ پروتکل پرداخته می شود و به صورت تکمیلی و کامل در دوره CCNP این روتینگ پروتکل کاربردی شرح داده می شود. شاید بتوان دوره CCNP را شرح دو روتینگ پروتکل EIGRP و OSPF دانست.

قبل از شروع کار یک نکته رو خدمتتون عرض کنم.

IOS که قبلا در وبلاگ قرار داده بودم، با OSPF مشکل داشت و من مجبور به تعویض آن شدم. پس اگر قبلا این IOS را دانلود کرده اید، حذفش کنید و مجددا این IOS رو  به نرم افزار GNS معرفی اش کنید.

نحوه تعریف روتینگ پروتکل OSPF

تعریف این روتینگ پروتکل مثل تعریف باقی روتینگ پروتکل ها با دستور Router شروع می شود.قطعا می دونید که باید در محیط Config terminal اقدام به تعریف نمایید.

Router(Confige)# Router OSPF 1

دو نکته :

اول اینکه عدد 1 که بعد از OSPF استفاده شده است. مثل IGRP یا EIGRP ، که شرح داده شد، AS Number نیست و در اینجا Process ID نام دارد. برعکس AS number در پراسس ID  لزومی ندارد که در دو روتر یکسان باشد تا دو روتر با هم همسایه شوند و برای یکدیگر آپدیت بفرستند.  بعبارت ساده تر یکسان نبودنش در دو روتر اختلالی در روند همسایگی ایجاد نمی کند. 

کلا پراسس ID برای این است که ما بتوانیم چند تا پروسه OSPF داخل یک روتر اجرا کنیم و بین پردازش OSPFهای مختلف در داخل یک روتر اختلاف بگذاریم . 

دقت داشته باشید که یک اینترفیس را نمی توان با چند پراسس ID تعریف کرد.توصیه می شود که عدد پراسس ID را در هنگام تعریف در همه روترها یکسان گذاشته شود.

دوم اینکه اگر به اینترفیس های داخل یک روتر IP نداده باشید ، چون هنوز Router-ID مشخص نشده است، اجازه تعریف OSPF را به شما نمی دهد.

خب از همان مثال همیشگی مان استفاده می کنیم.

برای پیاده سازی OSPF در داخل هرکدام از روترها به صورت زیر عمل می کنیم.

Router-1(config)#router ospf 1
Router-1(config-router)#network 10.10.10.1 0.0.0.255 area 1
Router-1(config-router)#network 192.168.10.1  0.255.255.255 area 1

برای روتر دوم نیز:

Router-2(config)#router ospf 1
Router-2(config-router)#network 10.10.10.2 0.255.255.255 area 1
Router-2(config-router)#network 172.16.0.1 0.0.255.255 area 1

دونکته بسیار مهم وجود دارد که من در اینجا باید به آن بپردازم

اگر دقت کرده باشید ، در قسمت network ، عدد بعد از 10.10.10.1 قطعا سابنت مسک نیست چرا که ساختار سابنت مسک آن به این صورت است 255.0.0.0 پس چرا در اینجا برعکس و به صورت 0.0.0.255 هست؟

همانطور که می دانید در OSPF به جای Subnet mask از Wildcard mask استفاده می شود. من در اینجا (وبلاگ CCNP ) مفصل توضیح دادم و  از توضیح دوباره اش در اینجا خودداری می کنم. لطفا به آنجا مراجعه کنید.

فقط در یک جمله بگم که wildcard mask برای مشخص کردن قسمت net از هاست نیست و برای این است که ما بتونیم اینترفیس ها را دسته جمعی تعریف کنیم. مثلا در بالا به جای اینکه بیاییم دو خط بنویسیم و نتورک ها را تعریف کنیم می تونیم از دستور زیر استفاده کنیم.

Router-2(config-router)#network 0.0.0.0 0.0.0.0 area 1

با استفاده از این دستور هرچندتا اینترفیس هم که باشد همگی با هم در area 1 قرار می گیرند و همه در OSPF تعریف می شوند. تعریف wildcard mask در ospf اجباری است. به نظر من بهتر هست اگر قصد داریم همه اینترفیس ها را در یک area قرار دهیم به جای تعریف نتورک در OSPF با استفاده از دستور بالا به صورت یکجا همه اینترفیس ها را به OSPF معرفی کنیم.

نکته بعدی اینکه همانطور که در قسمت تئوری گفتیم ، در OSPF با مفهومی به نام area بندی مواجهیم و حتما در تعریف network ها باید شماره area آن اینترفیس را مشخص کنیم و این کارهم اجباری است.

خب . اگر دستور show IP route را در محیط Privilege mode در هر دو روتر اجرا کنیم با تصویر زیر مواجه می شویم. ببینید:

همانطور که در تصویر بالا می بینید، روتر اول نتورک 172.16.0.0 را از طریق OSPF که با علامت اختصاری O مشخص کرده است دریافت کرده است. 

داخل کروشه در جلوی آدرس نتورک [110/65] نوشته شده است.که عدد 110 برای Administrative Distance  هست و عدد 65 برای Cost  مسیر هست که پس از محاسبه به عدد 65 رسیده است. 

در قسمت بعد via 10.10.10.2 درج شده است که یعنی این آپدیت از سریالی با این IP آدرس دریافت شده است.

اگر جای O ، حرف IA نوشته شده باشد یعنی این آپدیت را از یک area دیگر دریافت کرده است.

خب در اینجا چند دستور دیگر را با هم بررسی می کنیم:

اگر بخواهیم وضعیت اینترفیس ها را در روتینگ پروتکل OSPF مشاهده کنیم از دستور زیر استفاده می کنیم:

Router-1#show ip ospf interface

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

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

Router-1#show ip ospf neighbor

همانطور که در تصویر می بینید با تایپ دستور این گزینه ها ظاهر می شوند. فقط در اینجا لازم هست که من توضیحی در مورد Dead Time بدهم.

همانطور که در جلسه پیش دیدیم OSPF ، هر ده ثانیه یکبار پکت های Hello را به سمت همسایه هایش می فرستد، که این زمان را زمان Hello Interval می گویند. اگر روتر Down شود یا بنا به هر دلیلی نتواند به روتر همسایه اش Hello  بفرستد ، روتر همسایه 40 ثانیه صبر می کند تا ببیند پکتی دریافت می کند یا خیر که به این زمان هم Dea Interval می گویند.

در اینجا زمان dead Time به 30 ثانیه رسیده است، که این زمان اگر Hello نرسد کمتر و کمتر می شود تا کلا  همسایه از جدول همسایگی خارج می شود.

اگر در انتهای دستور بالا details بگذاریم مشخصات همسایه ها را با جزئیات به ما نمایش می دهد. به این صورت:

Router-1#show ip ospf neighbor details

با تایپ این دستور می توان فهمید چه روترهایی به عنوان DR و BDR انتخاب شده اند.

در قسمت نکته های جلسه بیست و سوم گفتم که DR و BDR در نتورک های Point To Point انتخاب نمی شوند.اما اگر بخواهیم که در اینجا دو روتری که ما به هم وصل کردیم DR و BDR انتخاب شوند فقط کافی است که به داخل اینترفیس های هر دو روتر برویم و نوع نتورکشون رو به برودکست یا Point to Multi Point تغییر دهیم

به این صورت دقت کنید.به روتر اول می رویم:

Router-1#conf t

Router-1(config)#inter ser 0/0

Router-1(config-if)#ip ospf network Broadcast


حال همین کار را هم باید در روتر دوم انجام دهیم ببینید:

Router-2#conf t

Router-2(config)#inter ser 0/0

Router-2(config-if)#ip ospf network Broadcast

کار تمام است. حالا اگر چند ثانیه صبر کنید و دستور show ip ospf neighbor details را تایپ کنید می بینید که DR و BDR را مشخص کرده است.( در صورتی که مشخص نشده باشد جای IP آنها 0.0.0.0 می گذارد)

خب یک نکته دیگر هم در جلسه بیست و سوم گفتم که برای انتخاب DR و BDR مشکلی که وجود دارد این هست که اولین روتری که روشن شود فارغ از هر گونه Priority و Router-ID ، بعنوان DR انتخاب می  شود .  و  دیگر DR بودن خودش را پس نمی دهد حتی اگر Priority اش پایین تر از همه باشد.

اما اگر بخواهیم که این پروسه انتخاب DR مجددا در شرایطی که همه روتر ها روشن هستند تکرار شود کافی است از دستور زیر استفاده کنیم.

به این صورت:

Router-1#clear ip ospf process

با تایپ دستور بالا پروسه انتخاب DR و BDR ریست می شود.

خب. بحث OSPF در همینجا بسته می شود. OSPF به صورت بسیار مفصل در CCNP - Route مطرح می شود و مطمئن باشید من به صورت بسیار بسیار کامل به این روتینگ پروتکل کاربردی می پردازم. امیدوارم که براتون مفید واقع شده باشد. موفق باشید.

جلسه بیست و چهارم

خب بی مقدمه می ریم سر اصل مطلب...

انواع بسته هایی که در OSPF ، روتر ها به سمت یکدیگر ارسال می کنند، شامل 5 نوع می باشد.

این 5 نوع یا Type عبارتند از:

Type 1: Hello

روترهایی که روتینگ پروتکل OSPF را اجرا می کنند بر طبق زمانبندی مشخصی که معمولا هر 10 ثانیه یکبار هست به سمت یکدیگر پیغام های Hello را ارسال می کنند. یعنی هر 10 ثانیه یکبار به یکدیگر می گویند سلام. تا هر دو متوجه شوند که همسایه شان هست و کابل ارتباطی سالم هست.

Hello Packet ها شامل اطلاعاتی همچون :  

1.router-id
2.area id 
3.authentication
4.Network mask
5.Hello Interval 
6.Dead Interval
7.DR 
8.BDR 
9.Neighbor IP
10.Authentication type

نگران نباشید همه را به مرور توضیح می دهیم.

اما قبل از اینکه پکت Hello ارسال شود چهار پارامتر، بین دو روتر چک می شود تا آن دو روتر یکدیگر را بعنوان همسایه انتخاب کنند. این 4 پارامتر باید بین دو روتر یکسان باشند. که عبارتند از :

1. area number

2. Hello Interval

3. Dead Interval

4. Authentication

بعد از اینکه مشخص شد که این 4 پارامتر بین دو روتر یکسان هست. آن دو روتر یکدیگر را بعنوان همسایه تشخیص می دهند و شروع به ارسال Hello Packet  به سمت یکدیگر می کنند.

Type 2:DBD

DBD مخفف عبارت Data Base Description هست. بسته های DBD به منظور انتخاب BR و DBR ارسال می شوند.

Type 3:LSR

LSR مخفف Link State Request هست. روترها بعد از اینکه همسایه هایشان را مشخص کردند، و همینطور  DR و BDR مشخص شد، با استفاده از پیغام LSR از روترهای همسایه تقاضا می کنند که برایشان آپدیت ارسال کنند.

Type 4:LSU

LSU مخفف عبارت Link State Update هست . LSU همان پکت های آپدیت  است که روترها به سمت یکدیگر  ارسال می کنند.

Type 5:LSA

مخفف عبارت Link State Acknowledgement هست. LSA همان پیام تصدیق هست. روتر به فرستنده آپدیت پکتی می فرستد تحت عنوان "LSA" تا به او بفهماند آپدیتی که فرستاده بودی دریافت شد. اصطلاحا می گویند در OSPF ، آپدیت ها Reliable هستند. یعنی نیازمند تصدیق هستند.بعبارت دیگر تا مادامی که پیام تصدیق یا LSA دریافت نشود آپدیت مجددا فرستاده میشود.


نکته بسیار مهم: 
اکثر افراد من جمله خود من ، OSPF Packet Types  رو با LSA Packet Types قاطی می کنند. این LSA با LSA که در OSPF Packet Types وجود دارد فرق دارد و این نکته مهمی هست که باید بهش توجه داشته باشید.

LSA که در OSPF Packet Types وجود دارد مخفف عبارت Link State Acknowledgement هست ولی LSA که در اینجا وجود دارد مخفف عبارت Link State Advertisement هست و مربوط به آپدیت هایی است که OSPF به سمت روترهای دیگر می فرستد که این آپدیت ها خودشون انواعی دارند که به هرکدامشان LSA گفته می شود. مثلا LSA Type 1  و LSA Type 2 و ...

برای روشن شدن بیشتر موضوع به تصویر زیر دقت کنید. نیازی نیست که از تمام تصویر سر در بیاورید اما کلیات بحث در تصویر مشخص است.

ان شاء الله انواع LSA هایی که روتر ها در OSPF به سمت یکدیگر می فرستند را در وبلاگ CCNP مفصل بحث خواهم کرد.
تا اینجای کار را داشته باشید. جلسه بعد پیاده سازی این روتینگ پروتکل را با هم بحث خواهیم کرد. موفق باشید.

جلسه بیست و سوم

خب .. روتینگ پروتکل های خانواده Distance Vector ها را با هم بررسی کردیم که عبارت بودند از RIP و IGRP. حال نوبتی هم باشد نوبت به خانواده Link State ها می رسد. ما فقط یکی از روتینگ پروتکل های این خانواده را با هم بررسی می کنیم که عبارت است از OSPF.

روتینگ پروتکل  Open Shortest Path First - OSPF

الگوریتمی که OPSF از آن استفاده می کند SPF هست که به آن Dijkstra هم می گویند. در OSPF هر روتر یک دیدکلی از شبکه دارد و بر مبنای اون دید کلی کوتاه ترین مسیر را انتخاب می کند و آپدیت هایش را به سمت روترهای دیگر روانه می کند.
برخلاف Distance Vector ها که به صورت روتین و ریتمیک مثلا هر سی ثانیه یکبار کل جدول مسیریابی شان را برای روتر های همسایه Advertise می کردند در Link state ها به محض بروز تغییر ، فقط تغییرات در شبکه ارسال می شود.جلوتر بیشتر به این مباحث می پردازیم..

برخی خصوصیات این روتینگ پروتکل را به صورت مختصر می بینیم:

1.Link State: همانطور که می دانید OSPF از خانواده Link State ها هست.

2. Multicast : آپدیت هایش را به صورت مالتی کست در شبکه ارسال می کند. که از دو IP استفاده میکند که عبارتند از 224.0.0.5 و 224.0.0.6

3. Classless هست.  (فرق بین Classfull و Classless رو یادتون هست؟)

4.Triggered Update  : یعنی به محض بروز تغییر در شبکه (مثلا down شدن یک روتر) اون تغییرات را در شبکه ارسال می کند.

5.: Cost  متریک مسیریابی اش بر اساس Cost هست. متریک مسیریابی RIP و IGRP رو یادتون هست؟

این متریک ارتباط مستقیم با Bandwidth اینترفیس دارد. فرمول محاسبه آن به صورت زیر هست:

همانطور که می بینید هر چقدر مخرج کسر عدد بزرگتری باشد(یعنی پهنای باند بیشتری داشته باشیم)، عددی که برای Cost بدست می آید عدد کمتری است. پس بهترین مسیر ، مسیری است که Cost کمتری داشته باشد.

6 . محدودیتی در تعداد روترها ندارد.

اما این محدودیت نداشتن در تعداد روترها و عدم محدودیت Hop Count اگر نظام مند نباشد چیز خوبی نیست. چون فرض بفرمایید با 1000 روتر طرف هستیم. چه پراسس سنگینی بر روی روتر اتفاق می افتد که بخواهد از بین این هزار روتر بهترین مسیر را انتخاب کند و یا به همه آپدیت بفرستد و... .

برای حل این مشکل از مفهومی به نام Area  بندی در داخل OSPF استفاده شده است. حالا این Area بندی یعنی چی؟ عرض می کنم خدمتتون.

Area بندی یعنی قسمت قسمت کردن. منطقه بندی کردن.ما از این طریق میتونیم شبکه را به قسمت های کوچکتر تقسیم کنیم.

برای روشن شدن بیشتر مطلب ،به تصویر زیر که اسکن از جزوه خودم هست دقت بفرمایید:

همانطور که می بینید ما 9 روتر را در سه Area به نام های Area-1 و Area-2 و Area-3 قرار دادیم. در اینجا در هر Area سه روتر قرار گرفته است. پیشنهاد شده است که در هر Area حداکثر تا 200 روتر قرار بگیرد.

قانون کلی در OSPF: هر روتر آپدیت های خودش را فقط برای روترهای Area خودش ارسال می کند.

برای اینکه بتونیم بین Area ها، ارتباط برقرار کنیم ، از یک Area مرکزی استفاده می کنیم که به آن Area-0 یا BackBone گفته می شود. اگر دقت کنید روترهای R-1 و R-2 و R-3 در BackBone یا Area-0 قرار گرفته اند.(در شکل هم مشخص شده است.)

BackBone وظیفه برقراری ارتباط بین Area ها را برعهده دارد پس بهتر است که در روتر های موجود در آن هیچ End User ی قرار نگیرد.

نکته دیگری هم که باید دقت کنید این هست که اینترفیس های روبروی هم حتما باید داخل یک Area باشند البته در شکل یک چیز بدیهی هست ولی در پیاده سازی نکته مهمی است که باید به آن دقت کنید.

تعریف یک سری اصطلاحات در OSPF

Normal Area: به Area ای که وظیفه برقراری ارتباط بین End User ها را برعهده دارد Normal Area گفته میشود.همه Area ها غیر از BackBone، نرمال Area هستند.

Transmit Area: به Area ای که وظیفه برقراری ارتباط بین Area های مختلف رو بر عهده دارد، Transmit Area می گویند. همانطور که خودتون هم متوجه شدید، منظور همان Area-0 یا BackBone هست.

ABR - Area Border Router: به روتری که حداقل دو تا از اینترفیس های آن در دو Area مختلف قرار گرفته باشد، ABR می گویند. اگر دقت کنید تمام روترهای بک بون ، ABR هم هستند، چون هر کدام دو اینترفیس در دو Area مختلف دارند.

ASBR - Autonomous System Border Router: به روتری که روتینگ پروتکل خارجی را وارد شبکه می کند، ASBR می گویند. Redistribution رو در جلسه پیش یادتون هست؟ روتری که روتینگ پروتکل خارجی رو Redistribue می کنه به داخل OSPF بهش ASBR می گویند.

در تصویری که از جزوه ام اسکن کردم روتر R-6 که RIP رو وارد کرده ،ASBR  نام دارد.


مفاهیم DR و BDR در OSPF

DR یا Designated Router در یک کلام نماینده روترها در هر Area هست.یعنی در هر Area یک روتر نماینده انتخاب می شود تا همه آپدیت هایشان را به اون بدهند تا آن روتر DR آپدیت ها را در شبکه پخش کند. BDR هم بک آپ یا پشتیبان هست که اگر این روتر از دسترس خارج شد سریعا BDR جاش رو بگیره.

اما این روتر DR یا نماینده چطوری انتخاب می شود؟ 

دو تا فاکتور برای انتخاب BR دخیل هست:

1- هر روتر Priority دارد، هر کدام از روتر ها که دارای Priority بالاتری باشد بعنوان DR انتخاب می شود.

2- اگر Priority ها یکسان بود ، روتری که Range IP بیشتری داشته باشد، یعنی Router-ID بالاتری داشته باشد، بعنوان DR انتخاب می شود.مثلا بین 10.0.0.1 و 11.0.0.1 مسلما 11 بالاتر هست.

البته این در شرایطی هست که همه روترها باهم روشن شوند چون موقع انتخاب DR، از بین روترهایی که روشن هست DR انتخاب می شود .مثلا اگر روترهای بسیاری باشند که Priority بالاتری داشته باشند ولی خاموش باشند و دیرتر روشن شوند، دیگر DR انتخاب شده عوض نمی شود.

در پیاده سازی واقعی به نوعی اولین روتری که روشن می شود DR می شود چرا که روترها کیلومترها با هم فاصله دارند و با تاخیر به یکدیگر وصل می شوند. البته دستوری وجود دارد که DR را ریست کند و دوباره انتخاب کند.

یادتونه در بالا گفتیم که در  OSPF آپدیت ها به صورت مالتی کست در شبکه ارسال می شود و از دو آی پی 224.0.0.5 و 224.0.0.6 استفاده می شود؟ خب حالا چرا دو IP ؟

روترهایی داخل یک Area که با DR ارتباط دارند برای ارسال آپدیت هایشان از IP بزرگتر یعنی 224.0.0.6 استفاده می کنند. و روتر DR برای ارسال آپدیت هایش به روترهای دیگر از IP کوچکتر یعنی 224.0.0.5 استفاده می کند.

نکته ای در مورد BDR

هر آپدیتی که روترهای داخل یک Area می فرستند هم DR می گیرد و هم BDR. فقط فرقشان این هست که BDR به کسی جواب نمی دهد. البته این جواب ندادن ها تا زمانی است که DR از شبکه خارج شود و Down شود که در اون موقع BDR تبدیل به DR می شود و وظایف DR را انجام می دهد.

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

آپدیت شده در تاریخ 27/12/90

سه نکته از مبحث تئوری OSPF بحث انتخاب DR و BDR

یک. اگر روتری بخواهد در پروسه انتخاب BDR، DR شرکت نکند، عدد Priority اون رو صفر می گذاریم.

دو. روترها بزرگترین IP آدرس اینترفیس هایشان را به عنوان Router-ID در شبکه Advertise می کنند، اما این تا زمانی است که اینترفیس Loopback وجود نداشته باشد. معمولا بخاطر اینکه اینترفیس های فیزیکی UP و Down شدن زیادی دارند، یک اینترفیس مجازی (LoopBack) می سازند و به آن IP آدرس می دهند. زمانی که روتر اینترفیس LoopBack روی خودش داشته باشد، دیگر به بقیه اینترفیس هایش نگاه نمی کند و اون رو بعنوان Router-ID در شبکه Advertise می کند.

سه: DR و BDR فقط در شبکه های Mesh و Point to Multipoint انتخاب می شوند. و ما در شبکه هایی مثل  Point-to-Point چیزی به نام انتخاب DR و BDR نداریم و نیازی هم بهش نیست. به عبارت واضح تر در روتنیگ پروتکل OSPF در هر نوع شبکه ای DR و BDR انتخاب نمی شود.

جلسه بیست و دوم


DNS - Domain Name Service

دی ان اس، سرویس نام دامنه هست که  وظیفه اش تبدیل هاست به IP و IP به هاست هست.

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

همانطور که در شکل می بینید ما دو روتر داریم که از طریق پورت سریال به هم وصل هستند و به اینترفیس سریال هر دو روتر هم آی پی داده ایم.

اگر بخواهیم به اینترفیس سریال روتر مقابل، تلنت کنیم باید دو گام زیر را انجام دهیم:

اول: به line VTY روتر مقابل یا همون پورت LAN آن پسورد بدهیم . به صورت زیر :
Router-2(config)#line vty 0 
Router-2(config-line)#pasword 123

دوم: برای اینکه بتوانیم به محیط های دیگر روتر مقابل غیر از user mode دسترسی داشته باشیم باید برای محیط privilege آن پسورد بگذاریم. این کار را هم به صورت زیر انجام میدهیم.

Router-2(config)#enable secret 123
کار تمام است، فقط کافی است در روتر اول در محیط privilege mode آن ، IP اینترفیس سریال روتر مقابل یعنی 10.10.10.2 را تایپ کنیم.از ما رمز می خواهد ،که رمز اول همان رمزی است که لاین VTY دادیم و رمز دوم هم ، همان رمز محیط privilege mode هست. به همین سادگی به روتر مقابل وصل می شویم.
ببینید:



خب همانطور که در شکل می بینید من توانستم به محیط کانفیگ ترمینال روتر R2 دسترسی داشته باشم.

البته برای telnet می توانیم از خود کلمه telnet و سپس IP هم استفاده کنیم که ساده ترش همین هست که فقط آدرس IP رو استفاده کنیم.

حال بحث DNS مطرح می شود . اگر ما بخواهیم به جای زدن IP فقط با زدن نام به روتر مقابل دسترسی داشته باشیم. باید از DNS  استفاده کنیم. اما چگونه؟ از DNS Local استفاده می کنیم.

روش کار بسیار راحت است کافی است دستور زیر را در روتر اول وارد کنیم.(با توجه به سناریو بالا)

Router-1(config)# ip host ali 10.10.10.2

حالا اگر در محیط Privilege mode کلمه ali را تایپ کنیم به روتر دوم telnet می کند به صورت زیر:

Router-1#ali
Translating "ali" ... domain server (255.255.255.255)
(255.255.255.255)Trying ali (10.10.10.2)..Open


User Access Verification

Password:


اما یک نکته جا موند که الان خدمتتون می گم.
حواستون به این خط بود ؟
Translating "ali" ... domain server (255.255.255.255)
همانطور که می بینید روتر اول آمد کلمه ali را در شبکه برودکست کرد تا ببیند کسی می دونه ali نام چه آی پی هست؟ یه جور همه پرسی از کل شبکه تا IP این نام را دریابد و شما رو به آنجا وصل کند.
بعد که نتونست اون نام رو پیدا کند بعد به صورت محلی در خود روتر گشت تا ببیند در خود روتر همچین اسمی تعریف شده است و بعد دید که بله. اینچنین نامی برای آی پی 10.10.10.2 تعریف شده است. سریع شما رو به روتر دوم وصل کرد.

این یک قابلیت هست که هر نامی در محیط Privilege Mode تایپ می شود را DNS محسوب می کند و می خواهد شما را به آن تلنت کند.
اما گاهی این قابلیت دردسر می شود. مثلا شما در حال تایپ دستور ، اشتباهی یک کلمه را تایپ می کنید و بعد باید چند ثانیه صبر کنید تا آن نام را در شبکه برودکست کند و نتیجه نگیرد و دوباره کنترل به دستتان برگردد.
چکار کنیم که این عملیات غیر فعال شود؟
کافی است در محیط کانفیگ ترمینال دستور زیر را تایپ کنیم. به همین راحتی:

Router-1(config)#no ip domain-lookup
نکته پایانی برای مقوله DNS، معرفی DNS server به روتر هست.بعنوان مثال DNS سروری به آدرس آی پی 192.168.10.10 در داخل شبکه داریم و می توانیم آن را با استفاده از دستور زیر به روتر معرفی کنیم.

Router-1(config)#ip name-server 192.168.10.10

که البته می توانیم چند DNS سرور را معرفی کنیم، به این صورت که آی پی آن ها را پشت سر هم بدهیم.به این صورت:

Router-1(config)#ip name-server 192.168.10.10 192.168.10.11 192.168.10.12
مزیت DNS server نسبت به Local این هست که در لوکال برای هر روتر تک تک باید DNS تعریف کنیم. ولی در DNS server ، فقط کافی است آدرس IP آن را به روتر ها بدهیم و همه اطلاعات به صورت متمرکز در یکجا نگهداری می شود.

اما بحث دیگری که قصد دارم امروز معرفی کنم مبحث Redistribution هست.
Redistribution


برای توضیح آن اجازه بفرمایید با یک مثال شروع کنیم.



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

چکار کنیم که این دو مرکز آپدیت های همدیگر را دریافت کنند. بدون اینکه نیاز باشد روتینگ پروتکل یکی از آنها را تغییر دهیم؟راه حل پیاده سازی Redistribution بر روی یکی از روترهاست. Redistribution به نوعی پیاده سازی یک مترجم است. یعنی به یکی از روتر ها زبان روتینگ پروتکل دیگری را یاد می دهیم تا آپدیت های مرکز دیگر را دریافت کند.
بهتر است Redistribution بر روی روتری پیاده سازی شود که روتینگ پروتکل سنگین تری را دارد اجرا می کند.

در مثال ما بهتر است بر روی روتر R3  بحث Redistribution پیاده سازی شود.

خب. لطف کنید سناریو بالا را در GNS بکشید و کانفیگ کنید تا به صورت کاملا عملی جلو بریم.
من این سناریو رو داخل GNS کانفیگ هایش رو انجام دادم. نگاه کنید:



همانطور که می بینید، به ترتیب Routing table روتر هارو پشت سرهم قرار دادم. در دو روتر اول RIP ران کردم و در دو روتر دوم IGRP ران کردم.

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


خب همانطور که گفتیم ما در اینجا باید از روتر R3 بعنوان Redistribution استفاده کنیم.
جهت اینکار 3 گام را باید انجام دهیم.

گام اول: روتینگ پروتکل RIP را به آن معرفی می کنیم.یعنی به عبارتی در روتر R3 دو روتینگ پروتکل معرفی می کنیم.(IGRP رو که قبلا معرفی کرده بودیم الانم که می خواهیم RIP رو معرفی کنیم)
به صورت زیر:

Router-3(config)#router rip
Router-3(config)#network 11.0.0.0
Router-3(config)#network 12.0.0.0
Router-3(config)#network 166.166.0.0

گام دوم: وارد روتینگ پروتکل IGRP در روتر سوم می شویم و از دستور زیر استفاده می کنیم. ببینید:
Router-3(config)#router igrp 1
Router-3(config-router)#redistribute rip metric 1 1 1 1 1

متریک های igrp رو یادتون هست که جلسه هجدهم گفتم؟ به IGRP میگیم که نتورک های  RIP رو با این متریک(که هر 5 تاش یک هست) به IGRP تبدیل کن و در شبکه توزیع کن. یعنی هر آپدیتی که از روتینگ پروتکل RIP می آید به آپدیت های قابل فهم برای IGRP تبدیل می شود و در شبکه توزیع می شود.

گام سوم:
وارد روتینگ پروتکل RIP می شویم و آپدیت های IGRP رو بهش معرفی می کنیم.به صورت زیر:
Router-3(config)#router rip
Router-3(config-router)#redistribute igrp 1 metric 1

تمام. حالا دیگه روتر سوم نقش مترجم در شبکه را بازی می کند و آپدیت های دو روتینگ پروتکل IGRP و RIP رو بهم ترجمه می کند و در شبکه توزیع می کند. من این کار را در محیط GNS پیاده سازی کردم . اینم نتیجه نهایی:




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



پایان جلسه بیست و دوم

جلسه بیست و یکم

DHCP - Dynamic Hosting Configuration Protocol

خب. همانطور که میدونید کامپیوترها برای برقرای ارتباط با یکدیگر در شبکه باید آدرس داشته باشند. که دونوع آدرس داشتیم.

1.Physical Address

2. Logical Address

بحث ما بر سر Logical Address هست. که IP دادن به کلاینت هایکی از Logical Addres ها درشبکه است.

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

1. Static

2. Dynamic

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

در روش Dynamic ما به صورت اتوماتیک به کلاینت ها آی پی اختصاص میدهیم. که جهت این کار از DHCP-Server استفاده می کنیم.

ِDHCP server وظیفه آدرس دهی اتوماتیک کامپیوتر های موجود بر شبکه را برعهده دارد.

برای اینکه DHCP server بتواند به کامپیوتر های شبکه به صورت اتوماتیک آی پی بدهد باید یکسری آی پی برای آن تعریف بکنیم که در اصطلاح به آن Pool می گویند.

خب 4 مرحله وجود دارد تا یک آی پی به یک کلاینت به صورت داینامیک توسط DHCP server اختصاص یابد.

1. ابتدا کلاینت یک پیغام  DHCP Discovery به صورت برودکست در شبکه ارسال می کندتا به دست DHCP-Server می رسد.

2. پس از اینکه پیغام Discovery DHCP به دست DHCP-Server رسید. سرور در Pool آی پی های خود نگاه می کند و یک IP از آنجا بیرون کشیده و به صورت DHCP offer آی پی مورد نظر را برای کلاینت ارسال میکند. بعنوان مثال 192.168.10.2

3. مجددا کلاینت پس از بررسی IP یک پیغام DHCP Request برای DHCP-server می فرستد با این مضمون که این آی پی پیشنهادی شما خوبه و لطف بفرمایید همین آی پی را برای من ثبت کنید.

4. وقتی DHCP-Server با درخواست موافقت کند یک پیغام DHCP ACK برای کاربر ارسال می کند با این مضمون که با درخواستتان موافقت شدو این آی پی به شما اختصاص داده شد.

DHCP سرور می توانست پس از درخواست کلاینت مستقیما به مرحله 4 برود و به کلاینت IP اختصاص دهد واقعا چرا دو مرحله پیشنهاد و درخواست آمده است؟

علت اینکه مراحل دو و سه آمده ، این است که ممکن است دو  DHCP server در شبکه با Pool یکسان داشته باشیم . مثلا آن یکی نقش پشتیبان را داشته باشد که اگر یکی آف شد، دیگری باشد تا شبکه down نشود.  حال وقتی کلاینت درخواست خود را به صورت Broadcast ارسال می کند، دو DHCP-Server دریافت می کنند وهر دو IP اختصاص می دهند .مراحل دو و سه گذاشته شده است تا وقتی یکی آی پی اختصاص داد، دیگری اقدام به اختصاص دادن آی پی نکند!

اعتبار زمانی IP که DHCP-Server اختصاص می دهد

IP هایی که DHCP Server به کلاینت ها اختصاص می دهد ، اعتبارشان 8 روز می باشد که کلاینت باید روز چهارم که نصف این زمان سپری می شود مجددا درخواست تمدید کند. اگر این کار انجام نشود تا مادامی که 15 درصد از این زمان باقیمانده است می تواند درخواست کند ، اگر این زمان هم سپری شود و این کار انجام نشود آن آی پی از کلاینت برداشته می شود.

حال این مباحث چه ربطی به روتر و کانفیگ آن دارد؟

ما میتونیم از روتر یا یک سوئیچ لایه سه شبکه بخواهیم که نقش یک DHCP Server را درشبکه بازی کند و در اینجا می خواهیم نحوه کانفیگ یک روتر و تنظیم آن به صورت  DHCP Server رو بررسی کنیم.


نحوه پیاده سازی DHCP Server بر روی یک روتر

نحوه پیاده سازی آن شامل سه مرحله می شود.

اول: فعال کردن سرویس DHCP بر روی روتر. به صورت پیش فرض این سرویس برروی سرور غیرفعال هست.جهت اینکار در محیط کانفیگ ترمینال از دستور زیر استفاده می کنیم.

R-1(config)#service DHCP

دوم: حالا باید یک Pool یا استخر برای DHCP تعریف کنیم تا از داخل این استخر IP به کلاینت ها IP دهد. به عبارت ساده یک سری آی پی به DHCP بدهیم تا دونه دونه آن IP ها را به کلاینت ها اختصاص دهد. جهت اینکار ابتدا یک Pool با یک نام برای روتر تعریف می کنیم . به صورت زیر:

R-1(config)#ip dhcp pool ccnaclass

که همانطور که پیداست ccnaclass نام این استخر است و میتواند هر نام دیگری باشد.

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

R-1(dhcp-config)#

نحوه تعریف آن به همان صورت است که برای روتینگ پروتکل ها آی پی تعریف می کردیم.

R-1(dhcp-config)#network 192.168.10.1

همین طور می توانیم آدرس default gateway و آدرس DNS server نیز برای DHCP تعریف کنیم که به کلاینت ها بدهد.اما چگونه؟

برای تعریف آدرس Default Gateway از دستور زیر استفاده می کنیم.

R-1(dhcp-config)#default-router 192.168.10.1

همینطور برای تعریف DNS-Server از دستور زیر استفاده می کنیم.

R-1(dhcp-config)#DNS-server 192.168.10.2

همانطور که مشخص است آی پی ها ، برای نمونه است و می تواند هر IP قرار گیرد.

خب تا اینجا بررسی کردیم که چطور می توانیم یک DHCP سرور برای یک روتر تعریف کنیم.

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

R-1(dhcp-config)#lease 10 2 0

که عدد های مقابل آن به ترتیب روز ، ساعت و دقیقه است.یعنی ده روز و دو ساعت و صفر دقیقه

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

R-1(dhcp-config)#lease infinitive
گاهی ما به DHCP سرور یک رینج آی پی می دهیم و میگوییم IP های در این رینج را به کلاینت ها اختصاص بده.حال ممکن است چند IP را بخواهیم در میان این Rane IP جدا کنیم تا به کلاینت ها اختصاص ندهد.چکار باید کرد؟
اگر بخواهیم چند IP رو جداکنیم تا آن IP ها را dhcp سرور به کلاینت ها اختصاص ندهد به صورت زیر عمل می کنیم:

R-1(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.10
همانطور که می بینید من یک رینج ده تایی تعریف کردم تا آن ها را dhcp سرور به کلاینتی اختصاص ندهد و این دستور را هم در محیط کانفیگ ترمینال تعریف کردم.

میتوانیم تنظیم کنیم که DHCP سرور هر آی پی که میخواهد اختصاص دهد را مثلا چندبار ping کند اگر کسی آن IP رانداشت سپس اختصاص دهد. جهت این کار از دستور زیر استفاده می کنیم.

R-1(config)#ip dhcp ping packets 10
من در اینجا روی ده بار تنظیم کردم.یعنی ده بار هر آی پی را پینگ می کند بعد اختصاص می دهد.

همینطور می توان Timeout یا زمان انتظار هم موقع پینگ کردن را نیز مشخص کرد.وقتی آدرسی ping می شود یک مدت زمانی منتظر میشود تا از آن آدرس پاسخ دریافت کرد که می توان این مدت زمان راتغییر داد .


R-1(config)#ip dhcp ping timeout 100
عدد صد بر حسب میلی ثانیه است.که می توان از 100 تا 10000 مقدار دهی کرد.
خب اگر بخواهیم IP های اختصاص داده شده به کلاینت ها را ببینیم از دستور زیر استفاده می کنیم.دقت کنید IP های اختصاص داده شده.. تصور نکنید که IP هایی که در pool تعریف کرده اید را به شما نشان دهد . تنهاIP هایی را نمایش می دهد که کلاینت ها دریافت کرده باشند و فعال شده باشد.
این دستور و دستورهای بعدی تماما در محیط privilege اجرا میشوند.

R-1#show ip dhcp binding

نکته بعدی اینکه اگر بخواهیم IP را که به یک کلاینت اختصاص داده ایم را پس بگیریم چگونه باید عمل کنیم؟ از دستور زیر استفاده می کنیم.


R-1#clear ip dhcp binding 192.168.2.1

واضح است که آی پی برای مثال است. اگر جای IP ستاره بگذاریم *، باعث می شود که کل IP های اختصاص داده شده پس گرفته شود.

خب یک دستور دیگر هم بگویم و بحث امروز تمام.بواسطه دستور زیر می توانیم تمام اتفاقات dhcp را مانیتور کنیم.

R-1#debug ip dhcp server event

خب . خسته نباشید. امروز قرار بود که از روتینگ پروتکل EIGRP بگم. ولی متاسفانه فایل صوتی که داشتم خراب هست و من تصمیم گرفتم برای کیفیت کار ، EIGRP رو موکول کنم به یک فرصت دیگر تا بتوانم تمام و کمال در خدمتتون باشم. راستی از جمعه این هفته من کلاس CCNP -Route رو در موسسه کهکشان ثبت نام کردم که سعی می کنم به امید خدا یک وبلاگ هم برای آن تشکیل بدهم و مباحثش رو دنبال کنم.
موفق باشید.

آپدیت شده در تاریخ 2/ فروردین /1391

یک نکته که باید حتما به آن توجه داشته باشید:
DHCP سروری که بر روی روتر کانفیگ می شود، زمان اجاره یا Lease آی پی آدرس هایی که اختصاص می دهد، یک روز است و در واقع Lease Time سرورهای DHCP مایکروسافتی 8 روز است . پس به کلاینت ها پس از سپری شدن 12 ساعت پکت درخواست تمدید ارسال می شود تا اگر مایل باشند این زمان را تمدید کنند.

......

جلسه بیستم

خب ... در این جلسه به بررسی پروتکل CDP که Proprietary یا اختصاصی خود شرکت سیسکو هست می پردازیم.

CDP - Cisico Discovery Protocol

همانطور که گفتم این پروتکل اختصاصی Device های سیسکواست که اطلاعات مربوط به دستگاه هایی که به طور مستقیم به Device مورد نظر ما وصل است را ، نشان میدهد.
دریک کلام:
It is a Cisco Proprietary Protocol that discovers and shows information about directly connected Cisco devices

این پروتکل به پروتکل فضول نیز معروف هست.که دوتا ورژن داردکه ورژن یک آن از IOS 10.3 تا IOS 12.0(3)T و ورژن دو آن یعنی CDP v2 روی IOS 12.0(3)T به بعد اجرا شد.

به صورت پیش فرض بر روی IOS فعال هست و آپدیت می فرستد.

اما چه خصوصیاتی دارد، باهم به بررسی خصوصیات آن می پردازیم:

1. آپدیت های خود را به صورت multicast ارسال می کند.

2. پارامتر های زمانی آن عبارتند از:

الف : update Timer که 60 ثانیه هست.
ب: Hold Timer  که 180 ثانیه هست.

3. ٍEthernet framing که استفاده می کند به صورت SNAP هست. Ethernet frame یک راهی برای مرتب کردن بخش های داده ها برای ارسال، روی رسانه های شبکه است. که چهار تا می باشد و یکی از اون 4 نوع اترنت فریمینگ SNAP نام دارد. اینجا می توانید اطلاعات خوبی راجع بهش بدست بیارید.(داشتم لینک هارو تست می کردم که متوجه شدم لینک آف شده و سایت بالا نمی آید. متاسفانه در ایران هیچ چیز مشخص نیست سعی کنید سایت هایی که باز نمی شود از کش گوگل استفاده کنید مثلا برای لینک فوق از این استفاده کنید)

4. سایز پکت هایی که ارسال می کند 80 بایت است.

5.در هر آپدیت اطلاعات مربوط به خودش را به همه Device های همسایه می فرستد که شامل
الف: نام دستگاه hostname
ب:مدل دستگاه
ج: اطلاعات مربوط به سیستم عامل IOS را می فرستد.
د: اطلاعات مربوط به اینترفیس ارسال کننده CDP .

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

Show CDP
این دستور که در محیط Privilege mode اجرا می شود اطلاعاتی مربوط به پروتکل CDP در اختیار ما میگذارد که این اطلاعات شامل زمان Update و Holdtime هست و همینطور ورژن CDP. کلا سه خط اطلاعات میدهد.
به این صورت :
Router-1#show cdp

اگر بخواهیم زمان های Update و holdtime(این زمان رو یادتون هست که چی بود؟) رو تغییر بدیم از دستور های زیر استفاده می کنیم.این دستور ها در محیط کانفیگ ترمینال استفاده می شوند.
Router-1(config)#cdp timer یک عدد
Router-1(config)#cdp holdtime یک عدد

برای نمایش اطلاعات CDP مربوط به Device های همسایه از دستور زیر در محیط Privilege استفاده می کنیم.

Router-1#show cdp neighbors

اگر بخواهیم این اطلاعات با حزئیات باشد کلمه Detail را انتهای دستور اضافه می کنیم.

Router-1#show cdp neighbors detail
اگر بخواهیم اطلاعات CDP همسایگانی که فقط از یک سریال وصل هستند را نشان دهد از دستور زیر استفاده می کنیم.
Router-1#show cdp neighbors serial 0/0
اگر بخواهیم نگذاریم از اینترفیس خاصی آپدیت های CDP خارج شود یا اصطلاحا CDP را بر روی آن اینترفیس غیر فعال کنیم :
1. ابتدا وارد اینترفیس مورد نظر می شویم.
2. از دستور no cdp enable استفاده می کنیم.
Router-1(config)#interface serial 0/0Router-1(config)#no cdp enable

برای فعال کردن مجدد آن بر روی آن اینترفیس کافی است تایپ کنیم CDP enable

یکسری دستور های دیگر وجود دارد که به اختصار آنها را بیان می کنم.تمامی آنها در Privilege mode اجرا می شوند.
1. show cdp interface: وضعیت CDP را روی هر اینترفیس نشان می دهد.

2.show cdp traffic : اطلاعات مربوط به cdp را به ما نمایش می دهد.

3.clear cdp counters: اطلاعات شمارنده های cdp را ریست می کند.

4.clear cdp table: اطلاعات مربوط به همسایه ها را در جدول cdp ریست می کند.

اگر بخواهم یک منبع انگلیسی خوب معرفی کنم برای مطالعه CDP اینجا است.

خب .. خسته نباشید . ان شاء الله جلسه بعد روتینگ پروتکل EIGRP رو باهم بررسی می کنیم.

پایان جلسه بیستم

جلسه نوزدهم


همانطور که در شکل بالا می بینید، دوتا از روتینگ پروتکل های خانواده Distance Vector ها بررسی شد. که عبارت بودند از RIP v1 و IGRP. این جلسه می خواهیم RIP version 2 را بررسی کنیم.

سعی می کنم تئوری و عملی آن را در یک جلسه با هم بگم.

RIP version 2

این روتینگ پروتکل یک چیزی مابین Distance Vector ها و Link State ها قرار دارد که به دسته Hybrid معروف هست.

یعنی اگر تصویر صحیح تری را بخواهیم قرار دهیم ، تصویر زیر است،(که البته من کمی آنرا ویرایش کرده ام)


اما خصوصیات RIP version 2 چیست؟

1. برای ارسال آپدیت هایش از پیغام های multicast استفاده می کند. برخلاف RIP ورژن یک، که از broadcast استفاده می کرد.

جهت این کار از IP رزرو شده 224.0.0.9 استفاده می کند.

2. اگر یادتون باشه RIP version 1 سابنت را در آپدیت هایش ارسال نمی کرد.به عبارتی classful بود. اما در RIP version 2 این مشکل حل شده است و بعبارتی Classless هست.

یعنی برای ارسال آپدیت هایش به subnet mask اینترفیس هم نگاه می کند و آن را همراه با آپدیت هایش ارسال می کند.

3. متریک مسیریابی تغییری نکرده است و همان Hop count هست و تا 15 تا هم ساپورت می شود.

4. Triggered Update : اگر یادتون باشه مشکل RIP v1 زمان convergency time بالا بود، جهت حل این مشکل از خصوصیت Triggered Update روتینگ پروتکل IGRP استفاده کرد تا بتواند این زمان را پایین بیاورد.

همانطور که گفتم Triggered Update :ارسال آپدیت به محض ایجاد تغییر در شبکه است.

5. Split horizon: اگر یادتون باشه جزو خصوصیات IGRP بود که از ارسال آپدیت های تکراری جلوگیری می کرد این خصوصیت خوب که باعث پایین اومدن ترافیک اضافی بر روی شبکه بود در RIP version2 وجود دارد.

6. از IP و IPX ساپورت می کند.

7.Equal cost paths : می تواند ارسال ترافیک را از شش مسیر با ارزش یکسان انجام دهد. دقیقا عین RIP v1

8.Authentication: به زبان ساده برای ارسال آپدیت هایش از کلید و قفل استفاده کرده است. یعنی در مقصد قفل قرار دارد و در مبدا بر روی آپدیت هایش کلید قرار میدهد. روتر یا Device مقصد تنها آپدیت هایی را دریافت می کند که کلید مربوطه را داشته باشند و در غیر این صورت آنها را drop می کنند.

9. AD یا Administrative distance آن در ورژن 2 هم همان 120 است.

10. Hybrid : چون یک سری از خصوصیات Distance vetor ها را دارد و یکسری از خصوصیات Link state ها ، در دسته ای مابین این دو دسته قرار می گیرد که Hybrid نامیده می شود.


خب تا اینجا خصوصیاتش را متوجه شدیم اما چگونه RIP version 2 پیاده سازی می شود.

نحوه پیاده سازی RIP v2

مثل همیشه تصویر بالا را در GNS بکشید و به اینترفیس ها مطابق شکل IP بدهید.

به صورت پیش فرض ، وقتی وارد روتینگ پروتکل RIP می شویم ورژن یک در نظر گرفته می شود. اگر بخواهیم به ورژن دو سوئیچ کنیم باید از دستور زیر استفاده کنیم.

Router-1(config)#router rip
Router-1(config-router)#version 2

دقیقا عین RIP ورژن یک ، نتورک ها را به آن معرفی می کنیم تا آن ها را در شبکه Advertise کند. با اینکه Classless هست اما باز نیازی به تعریف subnet mask در هنگام معرفی نتورک ها نیست . چون خودش به اینترفیس مربوطه مراجعه می کند و سابنت مسک آن را برمیدارد و ضمیمه آپدیت می کند و در شبکه می فرستد.

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

Router-1(config-router)#network 10.10.10.1
Router-1(config-router)#network 192.1680.10.0


Router-2(config-router)#network 10.10.10.2
Router-2(config-router)#network 172.16.0.0

باقی کامند ها دقیقا مثل همان RIP v1 هست.

اما یک بحثی مطرح میشود اینجا که اگر روی یک Device ما Rip v1 پیاده سازی شود و روی Device دیگر RIP v2 ، تکلیف آپدیت ها چه می شود و اینکه آیا آن دو دیوایس یکدیگر را می بینند یا خیر.

ما میتوانیم برای اینترفیس ها تعیین کنیم که آپدیت هایشان را باRIP ورژن یک بفرستند یا RIP ورژن دو .

یعنی اگر دیوایس دوم RIP version 1 بود می توانیم برای روتر اولی تعریف کنیم که آپدیت هایش را با RIP v1 بفرست و بالعکس . بدین صورت دقت کنید.

Router-1(config)#interface serial 0/0
Router-1(config-if)#ip rip send version 1

در اینجا روتر اول آپدیت ها را با RIP v2 دریافت می کند اما با RIP v1 ارسال می کند.

دقت کنید که باید به محیط اینترفیس مورد نظر بروید تا بتوانید دستور بالا را وارد کنید.

اگر دستور show ip protocols از روتر مورد نظر بگیریم با تصویر زیر مواجه می شویم.

همانطور که در شکل می بینید روتر اول آپدیت هایش رو با RIP v1 می فرستد و با RIP v2 دریافت می کند.

خب این هم از RIP v2 تا جلسه بعد بدرود.


پایان جلسه نوزدهم


جلسه هجدهم

خب همون طور که قول داده بودیم در این جلسه نحوه پیاده سازی روتینگ پروتکل IGRP رو بررسی می کنیم.

نحوه تعریف روتینگ پروتکل RIP رو یادتون هست؟ IGRP هم تقریبا شبیه همون هست با این تفاوت که در IGRP ما باید یک AS number  هم تعریف کنیم. به صورت زیر .حالا این AS Number چیه؟ عرض می کنم خدمتتون.

Router(config)#router igrp <"as number">

AS number  چیست؟

بهترین تعریفی که راجع بهش در سایت سیسکو شده:

The classic definition of an Autonomous System is a set of routers under a single technical administration, using an interior gateway protocol (IGP) and common metrics to determine how to route packets within the AS.

در تعریف کلاسیک AS نامبر تنظیم کردن روترها زیر یک مدیریت تکنیکی واحد هست.بواسطه استفاده کردن از IGP و متریک مشترک مشخص می شوند که چطور پکت ها در داخل یک AS روت و مسیریابی شوند.

 در یک تعریف ساده AS یا Autonomous System حوزه ای است که روترها همدیگر رو می بینند. مثلا اگر بخواهیم 10 روتر برای همدیگر آپدیت بفرستند باید AS number هر ده تا را عدد یکسان قرار دهیم.یکجورایی یعنی گروه بندی کردن روترها.

خب برای پیاده سازی IGRP ابتدا تصویر زیر را در GNS بسازید و به اینترفیس ها IP بدهید

به روتر اول می رویم:

Router-1(config)#router igrp 1
Router-1(config-router)#network 10.10.10.1
Router-1(config-router)#network 192.168.10.1

برای روتر دوم نیز دقیقا به همین صورت عمل می کنیم:

Router-2(config)#router igrp 1
Router-2(config-router)#network 10.10.10.2
Router-2(config-router)#network 172.16.0.1

همانطور که می بینید ،شبیه RIP اینترفیس ها را به IGRP معرفی می کنیم تا آنها را در شبکه Advertise کند.

اگر عملیات را درست رفته باشید، وقتی از هرکدام از روتر ها در محیط Privilege mode ، دستور show ip route را اجرا کنیم باید نتایج زیر را ببینیم

.1 اجرای دستور show ip route برای روتر اول:

 

.2اجرای دستور show ip route برای روتر دوم:

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

در جلوی آن یکسری اعداد هست که من دایره قرمز دور آنها کشیدم و به ترتیب شماره گذاری کردم.

.1 این قسمت AD یا Administrative Distance را مشخص می کند که عدد 100 هست.

.2 در این قسمت متریک مشخص شده است که همانطور که می دانید ترکیبی از bandwidth و delay هست که عدد بالا مشخص شده است.هرچه این عدد کوچکتر باشد مسیر بهتر است.

via 10.10.10.1 یعنی آپدیت رو از این اینترفیس روتر اول دریافت کرده ام.

 .3 زمان Invalid timer را مشخص کرده است که در IGRP ، نود ثانیه است.

 

اگر به نحوه پیاده سازی روتینگ پروتکل RIP که در جلسه شانزدهم گفته شد دقت کرده باشید، تمام اون دستورها و فرامین در اینجا هم قابل پیاده سازی هست و از تکرار دوباره اونها پرهیز می کنم.

اما IGRP یکسری صفات منحصر به فردی داشت که در اینجا به توضیح اونها می پردازم

 

Load Balancing

همانطور که در جلسه هفدهم گفته شد. خصوصیت شماره 10، روتینگ پروتکل IGRP این بود که می تواند به اندازه ظرفیت پهنای باند هر اینترفیس ترافیک ارسال کند. اما این خصوصیت رو چگونه فعال کنیم؟

نحوه کار خیلی ساده است. کافی است از دستور زیر استفاده کنیم:

Router-1(config-router)#traffic-share balanced

اگر بخواهیم از تمام روتینگ پروتکل هایی که در روتر در حال اجرا هستند اطلاعات بگیریم. کافی است در محیط Privilege mode دستور زیر را اجرا کنیم.

Router-1#show ip protocols

بعنوان مثال من این دستور را اجرا کرده ام اطلاعات زیر به من داده شد.

فرمول محاسبه متریک مسیریابی IGRP این است :

همانطور که می بینید در این فرمول K1 تا K5 داریم . اگر یادتون باشه گفتیم که فقط Bandwidth و delay فعال است و بقیه فعال نیستند. یکبار دیگر به تصویری که من از اجرای دستور show ip protocols گرفتم دقت کنید. همانطور که می بینید درقسمت:

IGRP metric weight k1=1 k2=0 k3=1 k4=0 k5=0

که در آن اگر مقادیر فعال باشند عدد یک میگیرند و اگر غیر فعال باشند عدد 0 میگیرند که در بالا مقادیر bandwidth و Delay فعال است و عدد 1 گرفته اند.

در یک توضیح کلی:

k1=bandwidth

k2=load

k3=delay

k4=reliability

k5=MTU

اگر k5 برابر صفر باشد ، کلا عبارت[ k5 / k4 + Reliability ] نادیده گرفته می شود. و حاصل صفر آن در عبارت ضرب نمی شود. یعنی به صورت پیش فرض مقدار bandwidth با مقدار delay جمع می شود. و متریک مسیریابی به دست می آید.

metric= [Bandwidth +Delay]

 

Metrci maximum-hops

اگر یادتون باشه گفتیم IGRP می تواند تا 255 هاپ کانت (H.C) را ساپورت کند اما این تعداد به صورت پیش فرض 100 تا می باشد.

برای اینکه این مقدار را تغییر دهیم می توانیم از این دستور استفاده کنیم.

R-1(config-router)#metric maximum-hops 250

همانطور که می دانید تمامی این فرامین در محیط کانفیگ IGRP مورد استفاده قرار می گیرند.

 

در انتها یک دو دستور debug رو مورد بررسی قرار می دهیم.

1. Debug IP IGRP event

2.Debug ip IGRP transaction

این دو دستور ترافیک های مربوط به IGRP را مانیتور می کند که اولی با جزئیات بیشتر هست ولی دومی به صورت خلاصه تر می باشد.

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

موفق باشید.

 

پایان جلسه هجدهم

جلسه هفدهم

خب این جلسه راجع به روتینگ پروتکل IGRP از خانواده داینامیک روتینگ پروتکل ها و نیز یکی از دیگر از اعضای خانواده Distance Vector ها صحبت کنیم.سعی می کنیم این جلسه این روتینگ پروتکل رو از لحاظ تئوری مورد بررسی قرار دهیم و پیاده سازی آن رو بگذاریم برای جلسه آینده.

برای اینکه بهتر متوجه جایگاه IGRP بشوید به تصویر زیر دقت کنید.

Hybrid اون بالا ترکیبی از link state ها و distance verctor هاست. حالا بهش می رسیم.

همانطور که می بینید داینامیک روتینگ پروتکل ها به Interior و exterior تقسیم می شوند  و interior هم خود به سه شاخه، که IGRP در شاخه Distance vector های آن قرار می گیردمانند RIP.

IGRP - Interior Gateway Routing Protocol

اما IGRP چه خصوصیاتی دارد که قابل بحث است؟ باهم بررسی می کنیم.(چون با RIP هم خانواده هست در بعضی خصوصیات شبیه RIP هست)

1. از خانواده Distance Vector ها هست.

2. آپدیت های خود را به صورت Broadcast ارسال می کند. اما زمان بندیش نسبت به RIP فرق می کند.

من در زیر زمان ها رو بین RIP و IGRP مقایسه کرده ام. ببینید:

IGRPRIPTimers
9030Update Timer
27090Invalid Timer
280فعال نیستHold Timer
630240Flush Timer


3. Triggered Update : این خصوصیت بسیار جالب هست. به محض اینکه تغییرات در شبکه بوجود بیاید، منتظر زمان آپدیت نمی ماند و اون تغییر را در شبکه ارسال می کند.همین خصوصیت باعث می شود که زمان convergency time بسیار پایین بیاید.

4. مثل RIP دیگر عضو خانواده Distance Vector ، کلاس فول هست (classful)

5. فقط از IP ساپورت می کند. برخلاف RIP که از IPX نیز ساپورت می کند.

6. متریک مسیریابی آن ، ترکیبی یا Composite هست.حالا این composite یعنی چه؟ عرض می کنم خدمتتون.

composite یعنی ترکیبی از چند فاکتور که در زیر می آوریم.

الف- Bandwidth

ب- Delay

ج- Reliability : درصد اطمینان یک device است.عددی است بین 0 تا 255 .شرکت سیسکو عدد Reliability تمام device هایش را عدد 255 قرار داده است.

د- Load :قدرت سخت افزاری CPU هست. که عددی است بین 0 تا 255.

ه- MTU :سایز پکت را هم محاسبه می کند.

اما چون همین محسابه این ها بار سنگینی روی روتر می اندازد به صورت پیش فرض فقط از Bandwidth و delay استفاده می کند و بقیه غیر فعالند .. ما اگر بخواهیم می توانیم هر پنج تا را باهم فعال کنیم.


7. split horizon

روتر ها هر 90 ثانیه یکبار که زمان update timer اونها هست به سمت هم آپدیت ارسال می کنند. اما واقعا لزومی ندارد که آپدیت هایی که از یک device میگیرد دوباره برای خودش ارسال کند. چون آن device خودش آن آپدیت ها را فرستاده است. این قابلیت را IGRP دارد تا از ترافیک اضافی بر روی شبکه جلوگیری کند.

8. تعداد هاب کانت های RIP اگر یادتون باشه 15 تا بود. IGRP می تواند تا 255 H.C را ساپورت کند که البته به صورت پیش فرض این تعداد 100 تا است.

9. Unequal cost Paths

IGRP می تواند ارسال ترافیک را تا 6 مسیر با ارزش غیر یکسان انجام دهد.

10.balancing

یعنی به اندازه ظرفیت پهنای باند هر اینترفیس ترافیک ارسال می کند. و بار اضافی روی اینترفیس نمی اندازد.

11. AD یا Administrative Distance آن هم 100 است. اگر یادتون باشه AD روتینگ پروتکل RIP برابر 120 بود.


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

شاید ارجحیت و خوبی RIP نسبت به IGRP فقط همین باشد که در تمام Device ها جواب میدهد. سیسکو و غیرسیسکو.

در پایان یک منبع پاورپوینت خوب برای توضیح عملکرد IGRP می گذارم. اینجا . البته به زبان انگلیسی است. امیدوارم مفید واقع شود.

ان شاء الله از جلسه بعد نحوه پیاده سازی اون رو باهم بحث می کنیم. موفق باشید.


پایان جلسه هفدهم



جلسه شانزدهم

خب. همانطور که قبلا قول داده بودم.. امروز روتینگ پروتکل RIP رو به صورت عملی کار می کنیم. در جلسه قبل نحوه کارکرد اون رو به صورت تئوری بررسی کردیم اما در این جلسه می خواهیم نحوه پیاده سازی این روتینگ پروتکل رو بررسی کنیم.دقت داشته باشید که ما RIP ورژن 1 را داریم بررسی می کنیم.

در ابتدا تصویر زیر را در GNS بسازید و طبق آموخته های قبلی مان به اینترفیس های آن IP بدهید.

دقت کنید وقتی می خواهید به اینترفیس های فست اترنت آی پی بدهید نمی تونید بعنوان مثال از آی پی 192.168.0.0 استفاده کنید.. باید برای اینکار از 192.168.0.1 استفاده کنید. یادتونه چرا؟

پیاده سازی این روتینگ پروتکل بسیار بسیار ساده است.

نحوه پیاده سازی روتینگ پروتکل RIP

خب.. ابتدا در محیط کانفیگ ترمینال برای اینکه به دستگاه بفهمونیم می خواهیم روتینگ پروتکل RIP رو تعریف کنیم از دستور زیر استفاده می کنیم.

Router-1(config)#router rip

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

حال باید نتورک هایی که به روتر اول متصل است را به RIP معرفی کنیم تا آنها را در شبکه advertise یا تبلیغ کند.

به این صورت:

Router-1(config-router)#network 10.10.10.1
Router-1(config-router)#netwok 192.168.10.0

برای روتر دوم هم دقیقا به همین صورت عمل می کنیم. نگاه کنید:

Router-2(config)#router rip
Router-1(config-router)#network 10.10.10.2
Router-1(config-router)#netwok 172.16.0.0

الان اگر در محیط privilege ، دستور show ip route را در هر کدام از روترها اجرا کنیم باید از طریق RIP ، نتورک روتر دیگری را دریافت کند.

اجرای دستور show ip route در روتر اول

اجرای دستور show ip route در روتر دوم


خب.. همانطور که مشاهده می کنید حرف R نمایانگر این است که روتر این آی پی را از طریق روتینگ پروتکل RIP در شبکه دریافت کرده است.

اما یکسری توضیحاتی جلوی آی پی نوشته شده است که من آنها را شماره گذاری کرده ام تا به ترتیب توضیح بدهم.

1. 120 نمایانگر Administrative distance این روتینگ پروتکل است . یادتون هست؟ جلسه سیزدهم

2.عدد دوم مربوط به H.C یا هاب کانت است که در اینجا یک است.

3.زمان Invalid Timer هست که به محض دریافت آپدیت، این زمان ریست می شود.

4. از اینترفیس سریال 0/0 این آی پی را دریافت کرده است.

اگر همینطور به Show Ip Route ادامه دهید می بینید که زمان Invalid timer تا 30 ثانیه می رود و دوباره صفر می شود. اگر در روتر دوم دستور no router rip را اجرا کنیم، می بینید که در روتر اول invalid timer تا 4 دقیقه هم بالا می رود و پس از آن پیغام میدهد که احتمالا روتر دوم down شده است.

حالا به بررسی command های دیگری که در روتینگ پروتکل RIP استفاده می شود می پردازیم:

Distance

می توانیم با استفاده از این کامند ،administrative distance روتینگ پروتکل rip را بالا و پایین کنیم. همانطور که می دونید به صورت پیش فرض 120 هست ما میتونیم هر عدد دلخواه دیگر به آن بدهیم تا اولویت آن تغییر کند

نحوه استفاده از آن به این صورت است .

Router-1(config)#router rip
Router-1(config-router)#Distance یک عدد

Maximum paths

همانطور که گفته شد ، RIP ارسال ترافیک رو از 6 مسیر می تواند انجام دهد که به صورت پیش فرض بر روی عدد چهار است.

برای تغییر این عدد باید عددی بین 1 تا 6 وارد کنیم(مفهوم maximum paths رو یادتون هست؟ اگر خیر به جلسه پیشین مراجعه کنید)

Router-1(config)#router rip
Router-1(config-router)#maximum-paths یک عدد بین یک تا شش

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

برای فعال کردن آن از دستور

Router-1(config-router)#traffic-share min across-interfaces

استفاده می کنیم.

passive-interface

اگر بخواهیم یک اینترفیس آپدیت ارسال نکند اما آپدیت ها را دریافت کند ، از دستور pasive-interface استفاده می کنیم.بعدا با کاربرد های بییشتر آن آشنا می شویم.

نحوه استفاده از آن به صورت زیر است:

Router-1(config-router)#passive-interface serial 0/0

Clear ip routed

اگر بخواهیم یک آی پی را از روتینگ تیبل پاک کنیم.از این دستور استفاده می کنیم.

اگر در انتهای دستور علامت * بگذاریم. همه آی پی های داینامیک روتینگ را از داخل روتینگ تیبل پاک می کند.

اگر در انتهای دستور شماره آی پی بدهیم فقط همان آی پی خاص را از روتینگ تیبل پاک می کند.
کاربرد این دستور دیگر در محیط RIP نیست و باید در محیط Privilege از آن استفاده شود:

Router-2#clear ip route *
Router-2#clear ip route 192.168.10.0

البته همانطور که می دانید بعد از سپری شدن 30 ثانیه مجددا RIP آن آی پی را از روتر همسایه میگیرد و به جدول روتنیگ خود اضافه می کند، این برای مواقعی است که شما نمی خواهید مدت زمان Flush timer را منتظر شوید تا آن آی پی از روتینگ تیبل شما پاک شود. و یا مواقعی که هنگ کرده است.وگرنه اگر روتر همسایه فعال باشد و یکسره IP را advertise کند که کاربردی ندارد.


Default Route

دیفالت روت رو در روتینگ پروتکل استاتیک یادتون هست؟ گفتیم که اگر بخواهیم بسته هایی که مقصد آنها معلوم نیست از یک مسیر خاص خارج شودند از default route استفاده می کنیم. حالا چه ربطی به روتینگ پروتکل RIP دارد؟ عرض می کنم خدمتتون:

کاربرد دیفالت روت در روتینگ پروتکل RIP برای مواقعی است که می خواهیم به بقیه device ها بگوییم که هر وقت بسته ای آمد که شما نمی دانستنید مقصد آن کجاست، به سمت من بفرستید(چون من دیفالت روت دارم) من می دانم که آنها را از کجا خارج کنم.

جهت انجام این کار پس از تعریف دیفالت روت برای روتر که به صورت استاتیک تعریف می شد به صورت زیر:

router-1(config)#ip route 0.0.0.0 0.0.0.0 serial 0/0

کافی است دستور زیر را در محیط کانیگ RIP وارد کنیم.

router-1(config-router)#default-information originate

با اجرای دستور بالا RIP می فهمد که باید Default Route مارا که به صورت استاتیک برای روتر تعریف شده است را در شبکه Advertise کند. با انجام این کار همه متوجه میشوند که اگر بسته ای آمد که مسیر آنرا نمی دانستند از طریق سریال 0/0 آن را خارج کنند.

در روتینگ تیبل (جدول مسیریابی) دیفالت روت دریافتی را به صورت *R نمایش می دهد.


Timers

اگر یادتون باشه ما راجع به Update timer و Invalid timer  و flush timer و.. صحبت کردیم. همه این زمان ها را می توان تغییر داد ولی توصیه می شود که این کار انجام نشود.

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

Router-1(config-router)#timers basic 30 180 180 240

عدد اول که در بالا 30 وارد کرده ام همان زمان update timer هست که من بر روی 30 قرار داده ام.

عدد دوم همان زمان Invalid Timer هست که من در بالا 180 دادم.

عدد سوم Holddown timer هست که یک باز 180 دادم.

اما Holddown  چیست؟ زمانی که زمان Invalid تمام میشود آی پی مارک می خورد ودیگر حتی اگر مجددا روتر آپدیت بفرستد تا اتمام زمان Flush timer آی پی آن مورد قبول واقع نمی شود. Holddown به عبارتی یعنی صبر کن شاید آپدیتی آمد. و می توان این زمان را چند ثانیه بیشتر از Invalid Timer داد تا اگر آپدیتی از طرف روتر مارک دار شده آمد آن را قبول کند.

عدد چهارم هم که همان زمان Flush timer هست که در اینجا 240 داده ام.

استاندارد این زمان ها به این صورت هست که زمان Invalid سه برابر زمان Update timer هست و زمان flush timer نیز سه برابر زمان Invalid هست منهای زمان Update timer

یک دستور دیگر هم بگویم و درس امروز تمام

Debug

این دستور برای مانیتورینگ فعالیت های مختلف ازجمله روتینگ پروتکل ها استفاده می شود.

اگر بخواهیم روتینگ پروتکل RIP را مانیتورینگ کنیم از دستور زیر استفاده می کنیم.

Router#debug ip rip

همانطور که می بینید این دستور در محیط privilege استفاده می شود.برای غیر فعال کردن آن از دستور

Router#undebug ip rip

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

Router#undebug all

استفاده می کنیم.

خب . مبحث RIP در اینجا تمام شد. ان شاء الله از جلسه بعد روتینگ پروتکل IGRP را بررسی می کنیم. موفق باشید.


جلسه پانزدهم

خب .. همانطور که قول داده بودیم ، این جلسه در مورد روتینگ پروتکل RIP بحث می کنیم.

Routing Information Protocol - RIP

RIP جزو اولین روتینگ پروتکل ها به حساب می آید و همانطور که می دانید جزو خانواده Distance Vector ها از روتینگ پروتکل های داینامیک هست.این روتینگ پروتکل را شرکت زیراکس به دنیا معرفی کرد.

پنج خصوصیت روتینگ پروتکل RIP

1.از خانواده Distance Vector هست.

2. آپدیت هایش را به صورت Broadcast می فرستد.

3. Classful هست یعنی عمل روتینگ رو برای شبکه های subnet شده نمی تواند انجام دهد.

4. Hop Count متریک مسیریابی است که استفاده می کند.

5. IP-IPX در مورد آن توضیح میدهم.

6. Convergency time آن بالا است. در مورد آن کمی جلوتر توضیح می دهم.

7. می تواند ارسال ترافیک را از شش مسیر با ارزش یکسان انجام دهد. به صورت پیش فرض این عدد4 است.


IPX پروتکلی است که در سیستم عامل شبکه ای netware شرکت ناول استفاده می شدو RIP قابلیت پشتیبانی از این پروتکل را نیز دارا می باشد.

Hop Count

تعریف سیسکو از hop count :

RIP uses a single routing metric (hop count) to measure the distance between the source and a destination network

RIP از یک متریک مسیریابی استفاده میکند به نام hop Count که فاصله بین شبکه مبدا و مقصد را اندازه می گیرد.

برای اینترفیس های متصل به یک روتر هاپ کنت برابر صفر است. وقتی یک آی پی از روتر همسایه می رسد یک هاپ کنت به آن اضافه می شود و برابر یک می شود.تا 15 هاپ کانت RIP پشتیبانی می کند و اگر شبکه آنقدر بزرگ شدکه از 15 تا hop count بیشتر شد، دیگر نمیتوانیم از این روتینگ پروتکل استفاده کنیم.

همانطور که در تصویر هم توضیح داده شد، چون در RIP متریک مسیریابی بر اساس Hop count  است و H.C (از این به بعد به اختصار Hop Count رو H.c میگویم) R1 تا R5 برابر یک است. به همین دلیل بهترین مسیر در RIP همان است که در تصویر نشان داده شده است.

اما اساسا RIP چگونه کار می کند؟

برای اینکه به سوال بالا پاسخ بدهیم باید با مفاهیم زیر آشنا شویم.

Update Timer

هر روتر هر 30 ثانیه یکبار ، کل روتینگ تیبل خود را در شبکه ارسال می کند یا اصطلاحا Advertise می کند.

به این زمان Update timer می گویند.


Convergency Time

به مدت زمانی گفته می شود که تغییرات در شبکه ارسال و اعمال شده باشد. یعنی مدت زمانی که طول می کشد تا هر روتر کل شبکه را ببیند.مثلا در RIP ،سی ثانیه طول می کشد تا همسایه هایش را ببنید، در سی ثانیه دوم میتواند همسایه های همسایه هایش را ببیند ، در سی ثانیه سوم می تواند دیوایس های دورتر را ببنید و آپدیت هایشان را دریافت کند و یک مدت زمانی طول می کشدتا بتواند از وجود دیوایس های کل شبکه با خبر شود به این مدت زمان Convergency time می گویند.


Invalid Timer

در روتینگ پروتکل RIP، همانطور که می دانید روتر ها هر 30 ثانیه یکبار کل روتینگ تیبل خودشون رو به همسایه هاشون میفرستند.

فرض کنید یک روتر در شبکه Down شود، مسلما دیگر نمی تواند روتینگ تیبل خودش را به همسایه ها بفرستد. اما همسایه ها و کل شبکه از کجا بفهمد که این روتر Down شده و از شبکه خارج شده تا برای آن ترافیک نفرستند؟

یک راه حل وجود دارد و آن زمان Invalid Timer هست. همه روترها وقتی Update تکراری از Device های همسایه دریافت کنند ،Invalid Timer رو ریست می کنند و صفر می شود. این زمان تا 90 ثانیه می رود و اگر طی این مدت آپدیتی از Device همسایه نیاید ، آن روتر به عنوان یک روتر Invalid مارک می خورد. اما چه اتفاقاتی می افتد که روتر ها می فهمند که آن روتر down شده است را در ادامه می گویم.


Poison Reverse

در صورتی که زمان Invalid Timer تمام شود و آپدیتی از Device مورد نظر دریافت نشود، یک آپدیت با شماره آی پی روتر Down شده  به نام Poison Reverse با H.C 16 به روترهای دیگر می فرستد تا همه را باخبر کند این روتر Down شده است. اما چرا با H.C 16 ؟

همانطور که می دانید RIP از 15 H.C پشتیبانی می کند و هاپ کانت 16 مشخص می سازد که آن روتر قابل دستیابی نیست و معنایش این است که "شما نمی توانید به آن دسترسی پیدا کنید."


Flush Timer

خب روتر از ثانیه 90 تا 240 ثانیه یعنی 4 دقیقه صبر می کند بلکه آپدیتی از روتری که به حالت Invalid در آمده دریافت کند. اما وقتی 240 ثانیه سپری شدو دید که از آپدیت خبری نیست، آی پی آن از داخل Routing Table پاک می شود.

خب برای اینکه بهتر با مفهوم RIP آشنا بشید . یک مثال تصویری می زنم.. من فکر می کنم بهترین مثال ها، مثال های تصویری هستند .

به تصویر زیر دقت کنید.

همانطور که می بینید در تصویر 4 روتر داریم با چهار شبکه که عبارتند از :

الف - 192.168.10.0

ب - 172.16.0.0

ج - 166.166.0.0

د - 200.200.200.0  

در ابتدا روتینگ تیبل ، هر 4 روتر به قرار زیر است.

همانطور که می بینید تنها اینترفیس هایی که به روتر وصل هستند در روتینگ تیبل آنها وجود دارد.

در سی ثانیه اول که روترها کل Routing Table خودشون رو به روترهای همسایه می فرستند، روتینگ تیبل هرکدام به قرار زیر می شود.


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

اما همانطور که می بینید دراین سی ثانیه هنوز روتر ها نتوانسته اند که روترهایی که با دو H.C از آنها فاصله دارند را ببینند . به همین دلیل می گویند که زمان Convergency Time این روش بالاست. فرض کنید تعداد روترها زیادتر باشد چه مدت زمانی طول می کشد تا بتوانند این روترها همدیگر را ببینند.

در سی ثانیه دوم روتینگ تیبل هر روتر به صورت زیر می شود که من جدا جدا می آورم:

همانطور که می بینید،من با رنگ قرمز دو IP که در سی ثانیه دوم دریافت شده است را مشخص کرده ام.

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

به همین صورت اگر آپدیتی را دریافت کند که مسیرش (یعنی تعداد H.C) بهتر از مسیر خودش باشد، آن را جایگزین مسیر خودش می کند.

و برعکس اگر آپدیتی دریافت کند که مسیرش بدتر از مسیر خودش باشد آن را Drop می کند و دور میریزد.

و اما RIP چطور پیاده سازی می شود؟ تا جلسه بعد منتظر بمانید.. مطمئن باشید ارزشش را دارد.

فعلا.

پایان جلسه پانزدهم.


جلسه چهاردهم

خب .. از روش Static صحبت کردیم و گفتیم که یک روش کاملا غیر هوشمند است و باید دستی تک تک IP ها را به روتر تعریف کنیم.. اما این روش در شبکه های بزرگ که n تا نتورک وجود دارد و همینطور n تا مسیر دسترسی برای رسیدن به یک مقصد، کارایی ندارد چون واقعا نمی توان تک تک شبکه ها را به هم معرفی کرد.

شاید دلایلی که نمی توان از روش Static برای شبکه های بزرگ استفاده کرد:  الف-زمان بر بودن ب- درصد خطای بالا ج-مدیریت شبکه بسیار بسیار مشکل است.

Dynamic Routing Protocol

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

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

حالا Dynamic روتینگ پروتکل ها به دو خانواده دسته بندی می شوند که عبارتند از:

1.Interior Gateway Protocol - IGP

2.Exterior Gateway Protocol - BGP

حالا تفاوت IGP با BGP چیه؟ در IGP ها ، این روتینگ پروتکل ها می توانند عمل روتینگ را در خلال فقط یک AS یا حوزه مدیریتی برای ما انجام بدهند.

اما در BGP ، روتینگ پروتکل ها عمل روتینگ را در خلال چند AS  برای  ما انجام میدهند.

تعریف AS یا Autonomous System:

Autonomous System is a group of routers under the control of a single authority.

یک گروه از روترها که تحت کنترل یک حوزه مدیریتی هستند.به هرحال راجع به AS ، در آینده بهتر آشنا می شید.

در کلاس CCNA فقط راجع به Interier Gateway Protocol ها صحبت می شود.


Interior Gateway protocol

روتینگ پروتکل های IGP به دودسته 

1.Distance Vector

2.Link State

دسته بندی می شوند.

و اما خصوصیات روتینگ پروتکل هایی که از خانواده Distance Vector هستند:

1. به صورت فلت کار می کنند و الزاما اطلاعات مربوط به روتینگ شبکه را از Device های همسایه تامین می کنند.یعنی فقط راجع به همسایه هایش می داند و نمی تواند کل شبکه را ببیند

2.برای ارسال آپدیت هایشان در شبکه از پیغام های Broadcast استفاده می کنند.

3.Classful  هستند.یعنی در آپدیت هایشان subnet mask را ارسال نمی کنند.

به تصویر زیر دقت کنید:


همانطور که می بینید هر روتر، اطلاعات روتینگ تیبل خودش را به دیوایس های همسایه برودکست می کند.

و در مقابل خصوصیات روتینگ پروتکل هایی که از خانواده  Link State هستند عبارتند از :


1. به صورت سلسله مراتبی کار می کنند .Hierarchical یعنی هر روتر ،تصویری از کل شبکه را در روتینگ تیبل خودش دارد و مثل Distance vector ها نیست که فقط device ها همسایه را ببیند.

2. برای ارسال آپدیت هایشان از پیغام های multicast استفاده می کنند.تفاوت آپدیت های Broadcast با Multicast رو که می دونید؟

3. Classless هستند یعنی می توانند عمل روتینگ را برای شبکه های Subnet شده هم انجام دهند.و در آپدیت هایشان سابنت مسک را هم ارسال می کنند.

به تصویر زیر دقت کنید:

همانطور که می بینید هر روتر یک تصویر از کل شبکه را در روتینگ تیبل خودش دارد.


اگر می خواهید تفاوت Classless و Classfull رو بهتر متوجه بشوید به اینجا رجوع کنید.(یک فایل PDF انگلیسی روان هست)- این نکته رو هم بگم خواه ناخواه باید انگلیسی تون رو قوی کنید و گرنه نمی تونید پیشرفت کنید.

اگر تفاوت Multicast و Broadcast رو نمی دونید در یک کلام: آپدیت های Broadcast را همه دریافت می کنند چه بخواهند چه نخواهند.
اما آپدیت های Multicast را فقط Device هایی که منتظر هستند و اطلاعات را میخواهند، دریافت می کنند ، بعبارت دیگر همه دریافت نمی کنند.

خب .. روتینگ پروتکل هایی که جزو خانواده Distance Vector ها هستند شامل RIP و IGRP است وروتینگ پروتکل هایی که جزو خانواده Link State ها هستند شامل OSPF و ISIS هستند.نگران نباشید راجع به تک تک این روتینگ پروتکل ها مفصل بحث خواهیم کرد.

خب .. همه این ها که گفتیم رو در یک نمای کلی ببینید:



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

پایان جلسه چهاردهم

جلسه سیزدهم


Routing Table - جدول مسیریابی

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

هر روتر توسط Routing Table که در داخل رم آن ذخیره می شود مقاصد را پیدا کرده و بسته ها را به سمت مقاصدشان می فرستد.

برای نمایش روتینگ تیبل از دستور زیر استفاده می کنیم.

Router#show ip route

این دستور را خوب به خاطر بسپارید.. حالا حالاها باهاش کار داریم.

در IP دهی اولیه به اینترفیس های یک روتر ، ما در جدول مسیریابی، فقط آی پی اینترفیس هایی که به صورت مستقیم به روتر وصل شده اند را داریم. در این جدول آنها را با نماد C مشخص می کند که حرف اول connected می باشد.

به تصویر زیر دقت کنید:

همانطور که در تصویر مشاهده می کنید، من اینترفیس fastethenet روتر با شماره R1 را آی پی 192.168.10.0 داده ام و به یک سوئیچ وصل کرده ام. و اینترفیس سریال آن را آی پی 10.10.10.1 داده ام و به روتر R2 وصل کرده ام. که در Routing table هر دو را با C مشخص کرده است که یعنی مستقیما به روتر متصل اند.

حال با هم می خواهیم یک سناریو را بررسی کنیم و روتینگ تیبل هر کدام را ببینیم.به تصویر زیر دقت کنید.

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

حال اگر در هر کدام از روتر ها دستور show ip route را بزنید، باید بتوانید IP اینترفیس های متصل به روتر را در Routing table آن ببینید. اگر نمی بینید یکجای کار را اشتباه کرده اید، دوباره بررسی کنید.

روش های مسیریابی روترها

روش های مسیریابی روترها به دو روش Static و Dynamic دسته بندی می شوند.

روش استاتیک - Static

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

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

حالا چه جور پیاده سازی میشه؟ عرض می کنم خدمتتون.

نحوه پیاده سازی روش Static بر روی روتر

در همون سناریو بالا که تصویرش رو دیدید. من می خوام آی پی fastethernet 0/0 روتر R2 رو به روتر R1 معرفی کنم.ببینید:

Router-1(config)#ip route 172.16.0.0 255.255.0.0 serial 0/0

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

که البته می توانیم به جای اینکه سریال بدهیم آی پی اینترفیس سریال روتر مقابل را بدهیم . یعنی به این صورت عمل کنیم.

Router-1(config)#ip route 172.16.0.0 255.255.0.0 10.10.10.2

من بقیه آی پی ها رو هم به همین صورت به باقی روتر ها معرفی کردم. حالا از سه تا روتری که در GNS ،طبق سناریو بالا تعریف کردم دستور show ip route گرفتم. تصاویر زیر به دست آمد.

برای روتر اول:


برای روتر دوم :


برای روتر سوم:

خب.. الان اگر مثلا آی پی 172.16.0.1 را در روتر اول ping  کنیم، باید جواب بدهد. از این طریق می توان فهمید که آیا روتر ها همدیگر رو به خوبی می بینند یا خیر.

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

بعنوان مثال اگر ترافیکی از روتر اول بیاید و با آی پی 172.16.0.1 کار داشته باشد. دیگر روتر اول می داند که این آی پی در روتر دوم قرار دارد و آن ترافیک را از اینترفیس سریال 0/0 خود خارج می کند تا به دست روتر دو برسد.

در حین اجرای کار ممکن است هزاران مشکل برای شما پیش بیاید که من اینجا نگفته باشم. مثلا من وقتی دو تا روتر را از طریق اینترفیس سریال به هم وصل می کردم ، بعد از سپری شدن چند ثانیه line protocol اینترفیس down می شد. اینقدر گشتم تا فهمیدم IOS ام مشکل دارد. با تعویض IOS مشکلم حل شد. یا موقعی که دارید دستور می نویسید ممکن است دستور را از شما قبول نکند. اشکالی ندارد شما در پایان هر درس سوالاتی که مرتبط با آن درس است بپرسید من تا آنجا که بتوانم راهنمایی می کنم.

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

خب ... مبحث دیگری که امروز می خواهیم راجع بهش بحث کنیم، Administrative Distance نام دارد.


Administrative Distance

منبعی که بر روی کلمه Administrative distance قرار دادم ، برای ویکی پدیاست . درصورتی که در اینجا خود سایت سیسکو به صورت کامل تری توضیح داده. ولی گاهی توضیحات مختصر و مفید ، خیلی امریادگیری رو تسریع می کنه تا توضیحات جامع و کامل.

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

داینامیک ، روتینگ پروتکل های فراوانی دارد مثل RIP و IGRP و OSPF و ... که به مرور همه آنها را تک تک بررسی می کنیم.

اما نکته ای که در اینجا می خواهم بگم این است که ممکن است ما دو روتر را به هم متصل کرده باشیم و برای اتصال  دو روتر به یکدیگر هم استاتیک نوشته باشیم هم یک روتینگ پروتکل داینامیک مثل RIP. حالا روتر از کجا بفهمد که از کدام روش استفاده کند؟ بسته ای که با روتر دوم کار دارد را به روش استاتیک روت کند یا داینامیک؟

Administrative Distance در یک کلام اولویت روتینگ پروتکل ها نسبت به یکدیگر است.

جهت اینکار یک عددی را به هر روتینگ پروتکل اختصاص داده است که این عدد بین 0 تا 255 است.

هر چه این عدد کوچکتر باشد اولویت آن روتینگ پروتکل بالاتر است.

برای مثال Administrative distance برای اینترفیس هایی که مستفیما متصل هستند را 0 قرار داده که و همینطور برای استاتیک را 1 قرار داده تا اولیتش از همه بیشتر باشد.اگر به سایت سیسکو بروید ، Administrative Distance تک تک روتینگ پروتکل ها را میتوانید ببینید.

اما چطور می توان Administrative Distance تعریف کرد؟

تا اینجا ما فقط روش استاتیک را خواندیم و می خواهیم برای همان Administrative Distance تعریف کنیم.

جهت این کار کافی است به صورت زیر عمل کنیم.

Router-1(config)#ip route 172.16.0.0 255.255.0.0 serial 0/0 130

همانطور که می بینید من در انتهای دستور عدد 130 را وارد کردم که این یعنی مقدار پیش فرض را که 1 است به 130 تغییر بده تا اولیتش کاهش یابد.

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

به این صورت تعریف می شود:

Router-1(config)#ip route 172.16.0.0 255.255.0.0 serial 0/0 permanent

یک نکته دیگر هم بگویم و جلسه امروز تمام.

Default Route

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

از این به بعد ،اگر بسته ای بیاید و با مسیری کار داشته باشد که در جدول مسیریابی نباشد به مسیر پیش فرض هدایت می شود.

اما چگونه این کار را انجام دهیم؟

به این صورت:

Router-1(config)#ip route 0.0.0.0 0.0.0.0 serial 0/0

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

خب . بحث امروز تمام شد. خسته نباشید. جلسه بعد راجع به Dynamic Routing Protocol صحبت می کنیم.

پایان جلسه سیزدهم

جلسه دوازدهم

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

1. DB-60

2. DB-26 

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

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

تصویر بالا یک WIC-1T را به شما نمایش می هد. به پورت سریال آن دقت کنید که به چه صورت است. این پورت سریال را DB-60 می گویند.

حالا به تصویر زیر دقت کنید.

تصویر بالا یک ماژول WIC-2T را به ما نشان میدهد که دارای دو پورت سریال است. شکل پورت سریال آن را ببینید. نسبت به WIC-1T کوچکتر است و کلا حالتش با آن یکی فرق می کند. به این پورت سریال
DB-26 می گویند.

سیسکو کلا از این دو نوع پورت سریال پشتیبانی می کند.

به هر حال امروز می خواهیم یک سناریو را باهم بررسی کنیم.

فرض بگیرید ما می خواهیم دو روتر را که یکی در آمریکا و دیگری در اروپا قرار دارد را به هم متصل کنیم.چکار باید بکنیم؟

با هم این سناریو رو بررسی می کنیم.ابتدا به تصویر زیر دقت کنید.

همانطور که می بینید ما برای اتصال این دو روتر به هم نیاز به یک شبکه WAN داریم که می تونیم از ISP یا اینترنت سرویس پروایدرمون فراهم کنیم.

اما قبل از اون نیاز به یک مودم در هردو طرف اتصال هم داریم که با CSU/DSU در شکل مشخص شده است.

CSU مخفف Channel Service Unit و همینطور DSU مخفف Data Service Unit هست.

ما توسط کابلی پورت سریال روتر رو به مودم وصل  می کنیم. که انواع مختلفی می تونه داشته باشه. بسته به نوع مودمی که انتخاب شده است. معروف ترین آنها v.35 و x.25 و... هستند.

در تصویر زیر من یک کابل v.35 رو قرار دادم که از پورت سریال DB-26 که در WIC 2T قرار دارد ، استفاده می کند.

خب..نوع این مودم بستگی به سرویسی دارد که سرویس پروایدر در اختیار ما قرار می دهد.

وظیفه کلی این مودم تنظیم Clock Rate هست.

حالا این Clock rate چی هست؟ clock rate سرعت ارسال اطلاعات بین روتر و service provider را مشخص می کند.اون کلاک ریت رو هم سرویس پروایدر با ما هماهنگ می کند که روی چه عددی قرار دهیم.

Data Communication Equipment

خب. حالا کسی که وظیفه اش مشخص کردن این Clock Rate هست یعنی همون service provider آن را DCE می نامند. که مخفف Data Communication Equipment هست.

Data Terminal Equipment

کسی که دریافت کننده این Clock Rate هست یعنی همون روتر ، DTE یا Data Terminal Equipment نامیده می شود.

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

اما در اینجا DCE و DTE چگونه مشخص میشود؟ اینجا که Service provider وجود ندارد؟

همانطور که می دانید به پورت سریال روترها یک کابل مادگی یا Female مانند تصویر زیر می خورد.

و همینطور یک کابل نری یا Male مانند تصویر زیر:

 

روتری که کابل Female به آن وصل استDCE ،  یا مشخص کننده Clock Rate نامیده می شود. و آن یکی روتر که کابل Male به آن وصل است DTE نامیده می شود.


این دو کابل بدین طریق به یکدیگر وصل می شوند., و سر دیگرشان که ازنوع پورت سریال db-60 هست به روترها وصل می شود.

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

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

به روتر R1 می رویم و برای آن IP تنظیم می کنیم.قبلا اگر یادتون باشه برای Fastethernet  ، آی پی ست کرده ایم ، پورت سریال هم دقیقا مثل همان است . من اینجا طریقه کانفیگ را نوشته ام.

Router-1(config)#interface serial 1/0
Router-1(config-if)#ip address 10.10.10.1 255.0.0.0
Router-1(config-if)#no shutdown

به روتر R2 می رویم و برای پورت سریال این روتر هم IP تنظیم می کنیم.

Router-2(config)#interface serial 1/0
Router-2(config-if)#ip address 10.10.10.2 255.0.0.0
Router-2(config-if)#no sh

حالا باید DCE و DTE را مشخص کنیم.برای اینکه متوجه بشویم که کدام دستگاه DCE است ، از دستور Show controller در محیط privilege mode استفاده می کنیم.

R-1#show controllers serial 0/0

البته در محیط GNS ، تنظیم نیاز ندارد.چون اگر این دستور را در این محیط اجرا کنید هر دو را DCE نشان می دهد.

به هر حال در محیط روتر واقعی اگر این دستور را اجرا کنیم و روتر DCE باشد با خط زیر مواجه میشویم.

DCE V.35 no clock rate

برای تنظیم کردن clock rate ، خیلی خیلی ساده فقط در محیط اینترفیس سریال دستور زیر را وارد می کنیم.اینجا ما از عدد 64000 استفاده کرده ایم.

Router-2(config-if)#clock rate 64000

تمام. به همین سادگی.

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

ان شاء الله از جلسه های بعد، تازه مباحث مهم و اساسی CCNA آغاز می شود. تا اینجا هرچه گفتیم را بعنوان مقدمه محسوب کنید!!!

پایان جلسه دوازدهم

جلسه یازدهم

نحوه IP دهی به اینترفیس های یک روتر

اصلا چرا باید به اینترفیس های یک روتر IP بدهیم؟

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

خب حالا که از روتر استفاده کردیم ، خود روتر باید بداند که هر اینترفیسش به چه شبکه ای وصل است. مثلا اگر یک بسته ای از شبکه 192.168.10.0 رسید و با شبکه 172.16.0.0 کار داشت. روتر باید دقیقا بداند که این شبکه به کدام اینترفیسش وصل است تا آن بسته را هدایت کند.

جهت این کار باید به اینترفیس های یک روتر آی پی بدهیم. معمولا اولین IP آدرس هر رنج شبکه را  به اینترفیسی که به آن شبکه وصل است اختصاص می دهند.

اگر یادتون باشه گفتیم که روترهای سیسکو به دو نوع fix و modular دسته بندی می شوند.

کانفیگ کردن اینترفیس روترهای fix با modular بخاطر ساختارشون ، کمی باهم متفاوت هست.

قبلا هم گفتیم که سیسکو نام گذاری اینرفیس هایش رو از صفر همیشه شروع می کند. در روترهای فیکس ما تعداد مشخصی بعنوان مثال پورت ethernet داریم.

برای IP دادن به اینترفیس هایش فقط کافی است که بعنوان مثال بگیم پورت اترنت با شماره صفر . اینتر که بزنیم. وارد پورت میشیم و می تونیم کانفیگ رو شروع کنیم.

اما چون روترهای Modular سیسکو اسلات دارند و داخل هر اسلات ماژول خاصی قرار می گیرد که ممکن است چندین پورت Fastethernet بعنوان مثال داشته باشد،باید اول بگیم اسلات چندم، بعد بگیم پورت چندم .

این طور مثلا:

Interface serial 0/1

بهتره یکم عملی تر کار کنیم تا دستورات رو دقیقا بدونید.

فرض کنید روتری داریم که پورت fastethernet 0/0 اون رو وصل کردیم به شبکه 192.168.10.0 و پورت fastethernet 0/1 اون رو به شبکه 172.16.0.0 وصل کردیم. حالا چگونه باید اینترفیس های روتر را کانفیگ کنیم تا این دو شبکه همدیگر رو ببینن. به تصویر زیر دقت کنید.

خب برای اینکه وارد ایترفیس fastethernet 0/0 بشیم کافی است به صورت زیر عمل کنیم.

Router(config)#interface fastethernet 0/0
Router(config-if)#ip address 192.168.10.1 255.255.255.0

دستور بالا رو متوجه شدید؟ برای ست کردن ip آدرس باید subnet mask اون آی پی رو که می دهیم را هم بدهیم و با توجه به اینکه IP ورودی ما از کلاس C هست . این عدد یعنی 255.255.255.0  می شود.(در مقدمه قبلا توضیح دادم در موردش)

خب هنوز کار ما تمام نشده است. به صورت پیش فرض همه اینترفیس های روتر در حالت خاموش و shutdown قرار دارند. برای اینکه اینترفیس رو از حالت خاموش در بیاریم. باید در همان محیط کانفیگ اینترفیس از دستور no shutdown  استفاده می کنیم.

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

با استفاده از دستور description می توانیم یک توضیح برای نحوه کار و یا نحوه ارتباط اینترفیس مورد نظر قرار دهیم تا اگر کسی بعدا خواست این اینترفیس را کانفیگ کند بداند که چکاری انجام میدهد.

نحوه استفاده اش هم به این صورت است که ابتدا وارد اینترفیس مورد نظر می شویم و سپس این دستور را به همراه کامنت مورد نظر خود قرار می دهیم.

Router(config)#interface fastethernet 0/0
Router(config-if)#description "your comment"

که به جای اون your comment هر چیزی می توانیم بنویسیم.

ما میتوانیم هر وقت که بخواهیم محتویات فایل running config رو با اجرای دستور show run در محیط privilege ببینیم.

جالب اینجاست که IOS خودش دستوراتی که ما به صورت جسته و گریخته برای کانفیگ قسمت های مختلف داده ایم را به صورت دسته بندی شده به ما نمایش می دهد. مثلا دستورات مربوط به کانفیگ اینترفیس را به صورت مرتب یکجا به ما نمایش می دهد.

Router# show run

خب. یکسری دستورات دیگری نیز وجود دارد که میتوان برای کانفیگ کردن اینترفیس مورد نظر بکار برد.

البته این دستورات را باید دقیقا در محیط کانفیگ همان اینرفیس نوشت.

دستور Bandwidth: که برای تنظیم پهنای باند اینترفیس مورد نظر به کار می رودو میتوانید عددی در بازه 1 تا یک میلیون کیلوبیت بنویسید.همانطور که گفتم آن عدد بر حسب کیلوببیت است.

Router(config-if)#bandwidth 1000000

همینطور دستور duplex: که سه حالت دارد half  و full و auto

half: یعنی وقتی یک device صحبت می کند device دیگری گوش کند و ارتباط یک طرفه باشد مثل بیسیم.

full: یعنی هر دو device بتوانند با هم صحبت کنند و ارتباط دو طرفه باشد مثل موبایل.

auto: یعنی ارتباط را بر اساس device مقصد یا هدف تنظیم کن .یعنی اگر اون full بود تو هم full و اگر اون half بود تو هم half باش.

Router(config)#interface fastethernet 0/0
Router(config-if)#duplex auto

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

Router#ping 192.168.10.1

همانطور که در شکل می بینید، من دو تا پینگ انجام دادم که اولی با آی پی 192.168.10.12 که ناموفق است و دومی با آی پی 192.168.10.1 که موفق است.


خب . در همین محیط privilege دستور دیگری وجود دارد که اطلاعات بسیار بسیار کاملی در رابطه با نحوه کار و عملکرد اینترفیس ها به ما میدهد که این اطلاعات را می توان برای trouble shooting و اشکال زدایی اینترفیس مورد نظر نیز بکار برد.

اگر بخواهیم اطلاعاتی راجع به کل اینترفیس های دستگاه بدست بیاریم. کافی است در محیط privilege از دستور show interfaces استفاده کنیم.

Router#show interfaces

همچنین می توانیم اطلاعاتی راجع به اینترفیس خاصی بدست بیاریم که به صورت زیر عمل می کنیم.

Router#show interfaces fastethernet 0/0

به تصویر زیر دقت کنید. من این دستور را در سیستم خودم اجرا کردم و نتایج زیر را مشاهده کردم.


همانطور که می بینید این دستور جزئیات بسیار بسیار زیادی راجع به اینترفیس مورد نظر به ما می دهد که من به شرح برخی از آن ها می پردازم.

در همان خط اول به ما می گوید که این اینترفیس up هست و روشن است.

ّfastethernet0/0 is up, line protocol is up

اما چرا دوباره گفته up؟.  اون up اول یعنی از لحاظ فیزیکی این اینترفیس هیچ مشکلی ندارد و کابل ها وصل است. اما line protocol is up این یعنی از لحاظ نرم افزاری هم هیچ مشکلی نداردو این دو device با هم ارتباط برقرار کرده اند. که اگر down باشه بستگی به هزار چیز می تونه داشته باشه که باید بررسی شوند تا ببینیم چرا down شده است. حالا به مرور با آنها آشنا میشید نگران نباشید.

این تعریفی هست که سیسکو از line protocol  کرده.

Indicates whether the software processes that handle the line protocol consider the line usable or whether the line has been taken down by an administrator.

دو خط بعد نوع سخت افزار و همینطور مک آدرس آن و آدرس اینترفیس را مشخص کرده است.

آدرس اینترفیس را با 16/ مشخص کرده که یعنی از نوع کلاس B هست و سابنتک مسک آن 16 بیتی است.

در خط پنجم موارد زیر را مشخص کرده است.

MTU 1500 bytes,BW 100000 Kbit, DLY 100 usec

MTU مخفف Maximum Transmission Unit که در واقع همان سایز پکت ها را مشخص میسازد.

BW که همان Bandwidth است که در اینجا بر روی 100000 کیلو بیت در ثانیه هست.

DLY هم همان Delay و زمان تاخیر اینترفیس هست که زمانش بر حسب میکروثانیه هست.

در خط ششم متد Encapsulation یا فشرده سازی رو به ما نشان می دهد که ARPA ست شده  است. بعنوان مثال اگر دو طرف متد Encapsulation یکسانی نداشته باشند باعث down  شدن line protocol می شود.

این که این متد encapsulation چیست و چگونه کار می کند بماند.

loopback: یک اینترفیس مجازی است که در مواقع نیاز می توانیم ست کنیم. در جلسات جلوتر می رسیم به جاهایی که مانیاز داریم اینترفیس مجازی loopback ست کنیم.

خب .. در خط هفتم گفته که keepalive بر روی ده ثانیه ست شده . حالا این keepalive چیست ؟ عرض می کنم خدمتتون.

پکت هایی هستند که ارسال می شوند برای اینترفیس های دیگر فقط به این خاطر که به آنها بگویند من active هستم و کار می کنم نگران نباشید.

زمان پیش فرضی که در ios cisco مشخص شده است ده ثانیه است که یعنی هر ده ثانیه یکبار این پکت از طرف اینترفیس مورد نظر ارسال می شود تا اینترفیس دیگر بداند active هست.

همین زمان keepalive نیز باید در دو طرف یکسان باشد ، اگر یکسان نباشد باز می تواند باعث down شدن line protocol بشود.

در خط بعد مشخص کرده است که پورت به صورت halfduplex دارد کار می کند.

خط arp type را هم رد می کنیم...

در قسمت last input 00:00:32 برای ما مشخص کرده است که آخرین زمانی که پکتی از طریق این اینترفیس دریافت شده کی بوده. که از همین طریق می تونیم trouble shooting کنیم.

همینطور output آخرین زمانی است که پکتی از طریق این اینترفیس ارسال شده است.

Last clearing of که در خط بعد آمده است به ما می گوید که آخرین باری که از دستور clear counters استفاده شده است کی بوده است.

دستور clear counters برای ریست تمام اعداد و آماری است که در دستور show interfaces نمایش داده می شود. همانطور که می بینید در مثال ما از این دستور استفاده نشده است.

الگوریتم و استراتژی که برای صف مشخص شده fifo است. که در قسمت queueing strategy مشخص شده است. fifo یعنی first in firt out یعنی هر کی اول بیاد اول هم میره ..درست مثل صف نونوایی.

در خط بعد یعنی output queue مشخص می کند که 40 پکت میتوانند در صف خروج و ارسال قرار بگیرند که از 40 تا هیچ پکتی در صف نیست و همینطور 75 پکت می توانند در صف دریافت و ورود قرار بگیرند که باز هیچ پکتی در صف نیست.

در پکت های دریافتی و ارسالی هیچ کدام هم از بین نرفته اند و اصطلاحا drop نشده اند.

دو خط بعد از آن هم آمار 5 دقیقه آخر را می دهد که در این پنج دقیقه چه سایزی از پکت ها وارد اینترفیس شده اند و یا از این اینترفیس خارج شده اند.

در خط بعد از آن میگوید 14packets input,5222 bytes همانطور که مشخص است می گوید این تعداد کلا پکت دریافت کردم که تعدادش 14 تاست و حجم کلش هم 5222 بایت هست.

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

runts : پکت هایی که حجم آنها کمتر از حد استاندارد هست.

giants: پکت هایی که حجم آنها بیشتر از حد استاندارد هست.

throttles: تعداد دفعاتی که از اینترفیس خواسته شده که لطفا آهسته تر عمل کند!!! یه جورایی یعنی چه خبرته؟ throttle در لغت یعنی گلو را فشار دادن. یعنی گلوش رو فشار میدن که کمی آروم تر.تند تند پکت نفرست.

نص صریح سیسکو:

Number of times that the interface requested another interface within the router to slow down.

CRC: یه جور سیستم ارور چکینگ یا بررسی خطاهاست. بعد راجع بهش بیشتر توضیح میدیم.

ّFrame: پکت هایی که هم CRC آنها مشکل دارد هم اندازه شون به اندازه استاندارد نمی رسد.

overrun:پکت هایی که میاد را اگر نتونه پردازش کنه و سرریز بشه . اونها رو با overrun مشخص می کند که یعنی من این تعداد پکت رو قدرت پردازش نداشتم و dropشان کردم.

interface resets: تعداد دفعاتی که اینترفیس خاموش و روشن شده است.یا به عبارتی up و down شده است.

همینطور یه تعدادی پکت خارج شده که تعدادش در اینجا 120 تاست و همینطور حجمش 17298 است.

من یکسری از اصطلاحات غیرضروری رو جا انداختم اما در اینجا به صورت بسیار مختصر ومفید و البته به زبان انگلیسی همه اصطلاحات رو توضیح داده . امیدورام کمکتون کنه. انگلیسیش روان هست.

یک دستور دیگر هم بگویم و درس امروز تمام. ببخشید طولانی شد.

دستور show ip interface brief

این دستور یک خلاصه وضعیت از تمام اینترفیس ها نمایش میدهد. به صورت خیلی مختصر و مفید وضعیت up و down بودن اینترفیس ها رو مشخص می کند.خیلی کاربرد دارد. چون برای اینکه سریعا از وضعیت اینترفیس ها باخبر بشیم. خیلی راحت با این دستور متوجه میشویم. دیگر نیازی نیست از دستور طولانی که کلی جزئیات را مشخص می کند مثل show interfaces استفاده کنیم.

البته همانطور که مشخص است این دستور در محیط privilege استفاده می شود.

که به صورت مخفف هم می توانیم به کار ببریم مانند زیر:

Router#sh ip int br

خب امیدوارم که این جلسه مفید واقع شده باشد. موفق باشید.



جلسه دهم

خب .. امروز هم یک جلسه کاملا عملی داریم.بدون مقدمه میرم سر اصل مطلب

همانطور که می دانید برای حفظ امنیت.. در همه جای دنیای IT ، بعد از اینکه مدتی به سیستم بیکار بماند log off می شود و شما دوباره باید login کنید و این در همه جا صادق است. چه سایت ها .. چه ویندوز و ..

در device های سیسکو نیز به صورت پیش فرض پس از یک دقیقه غیر فعال بودن، Log off می شود و از محیط ios خارج می شود و شما مجددا باید وارد بشوید.

برای تغییر این زمان ، باید برای هر لاین جدا جدا زمان تعریف کرد. بعنوان مثال ما اینجا برای لاین کنسول میخواهیم زمان لوگ آفش را زیاد کنیم و بر روی ده دقیقه بگذاریم.(می تونیم بازه ای از 1 تا 35791 دقیقه بگذاریم)

Router(config)#line console 0
Router(config-line)#exec-timeout 10

به همین سادگی... اگر هم بخواهیم زمانش رو نامحدود کنیم. کافیه به جای عدد 0 قرار بدهیم که یعنی هرگز لوگ آف نشود.

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

Router(config-line)#loggin synchronous


تعریف کردن یوزرنیم و پسورد برای لاین کنسول

در محیط کانفیگ ترمینال می تونیم برای لاین کنسول نام کاربری و رمز عبور تعریف کنیم تا امنیت آن را بالا ببریم.

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

Router(config)#username ali password ali
Router(config)#line console 0
Router(config-line)#login local

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

خب در اینجا می خوام بحثی رو شروع کنم که خیلی اهمیت دارد.


فراموش کردن پسورد ورود به روتر و نحوه بازیابی پسورد

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

مراحل بوت رام رو یادتون هست؟ در جلسه چهارم و جلسه ششم به آن اشاره های داشتیم.اینجا به دردمون می خوره..به این تصویر دقت کنید.این تصویر فلوچارت مراحل بوت روتر هست.


چاره کار همان عوض کردن مراحل بوت device مون هست.با این کار از بارگذاری startup-config داخل رم جلوگیری می کنیم.و می توانیم با تغییر رمز دستگاه رو بالا بیاوریم...

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


خب ... همانطور که می بینید برای نمایش رجیستر نامبر از دستور show version استفاده کردیم. الان رجیستر نامبر پیش فرض است. 0x2102 اگر بخواهیم که استارت آپ کانفیگ لود نشود و به داخل رم نرود باید از رجیستر نامبر 0x2142 استفاده کنیم. اما چگونه رجیستر نامبر را عوض کنیم وقتی دستگاه بالا نمی آید؟

در زیر به صورت مرحله به مرحله نحوه کار را آموزش می دهم:

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

مرحله دوم: هنگام روشن شدن دستگاه Ctrl+Break را چند بار پشت سرهم می زنیم.تا وارد محیط rom monitor بشویم.. رام مانیتور رو یادتون هست؟

مرحله سوم: وارد قسمت Rom monitor می شویم .. نمایشگر خط زیر را به مانمایش می دهد.

rommon 1>

برای اینکه عدد رجیستر نامبر رو عوض کنیم. از دستور Confreg در این محیط استفاده می کنیم.

rommon 1>confreg 0x2142
rommon 2>reset

همانطور که می بینید در این محیط هر بار که به خط بعد می رویم عدد جلوی rommon عوض می شود. با دستور reset سیستم را روشن و خاموش می کنیم.

مرحله چهارم: حالا وقتی از مرحله ورود رمز گذر کردیم. در محیط privilege mode ، استارت آپ کانفیگ رو داخل running-config کپی می کنیم.چرا که به باقی کانفیگ هایی که انجام دادیم نیاز داریم.

Router#copy st run

مرحله پنجم: حالا پسورد را عوض می کنیم. فرض ما بر روی لاین کنسول رمز قرار داده بودیم . به لاین کنسول می رویم و پسورد را بر روی 123 تنظیم می کنیم.

Router#conf t
Router(config)#line console 0
Router(config-line)#password 123
Router(config-line)#login

فکر می کنید کار تمام شد؟ صبر کنید .. وقتی دستگاه روشن شود startup-config لود نمی شود و ما مجبوریم دوباره رجیستر نامبر را به حالت اول برگردانیم.

مرحله ششم:برای بازگرداندن رجیستر نامبر به حالت پیش فرض، در محیط کانفیگ ترمینال از دستور زیر استفاده می کنیم.

Rouet(config)#config-register 0x2102

مرحله هفتم: گام نهایی آن است که فایل running-config را داخل startup-config کپی کنیم.با دستور ساده زیر:(در محیط privilege)

Router#wr

کار تمام شد. اکنون شما پسورد فراموش شده خود را عوض کردید.

خب امیدوارم این درس براتون مفید واقع شود. جلسه بعد هم باز کار عملی داریم. فعلا.

پایان جلسه دهم

جلسه نهم

خب .. این جلسه همانطور که قول داده بودم کاملا عملی است. پس نرم افزار GNS رو باز کنید و قدم به قدم با من جلو بیایید..

در جلسات قبل یادگرفتیم که برای دستگاه Hostname تعریف کنیم و ساعت و تاریخش رو عوض کنیم و یا برای دستگاه پسورد بگذاریم.امروز با دستورات جدیدتری در خدمت شما هستیم.

دستور banner

این دستور این امکان را به ما می دهد که ما به همه یوزرهایی که به دستگاه ما لاگین می کنند یک پیغامی رو نشان دهیم.یعنی قبل از لاگین شدن، پیغام به آنها نمایش داده می شود.

جهت این کار در محیط کانفیگ ترمینال به صورت زیر عمل می کنیم.

Router(config)#banner motd -welcome to the ccna class-


همانطور که در شکل می بینید ما از کاراکتر "-" (dash)  برای ابتدا و انتهای مطلبمون که همون welcome to the ccna class هست استفاده کردیم. می تونیم هر کاراکتر دیگری به جای آن استفاده کنیم.

همینطور می تونیم توسط دستور banner خالی بعلاوه یک نت ، برای روتر بنر بگذاریم. اما برای برداشتن آن بنر حتما باید no banner motd بنویسیم تا بنر برداشته شود.

خب ...Running config رو که یادتون هست؟ اگر بخواهیم Running-config رو داخل startup-config بریزیم تا تنظیمات درون دستگاه ذخیره شود و همیشگی شود. از دستور زیر کمک میگیریم.البته در محیط privilege :

Router#copy running-config startup-config

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

Router#copy run st

دیگه اگر خیلی بخواهیم مخفف بنویسیم.یک دستور معادل دیگری وجود دارد به نام write که همان کار بالا را می کند و می تونیم به صورت مخفف wr بنویسیم.

Router#wr

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

Router#copy st run

نکته:

اگر از روی RAM اطلاعات بر روی NVRAM برود اطلاعات Overwrite میشودو جایگزین قبلی می شود. اما اگر از روی NVRAM برروی RAM بیاید اطلاعات Merge و ادغام می شود. بعبارت ساده تر زمانی که startup-config بر روی running-config کپی می شود اطلاعات running-config از بین نمی رود و فقط اطلاعات جدید که در startup-config وجود داشته به آن اضافه می شود.


نحوه پشتیبان گرفتن از IOS روتر

پاک کردن IOS از روی روتر ممکن است به سادگی با چند تا اینتر ، اتفاق بیوفتد.. و همانطور که می دانید IOS های سیسکو ، مثل باقی سیستم عامل ها گران هستند. به سادگی می توان از IOS موجود در دستگاه بر روی TFTP server بکاپ گرفت، تا وقتی این اتفاق افتاد بتوانیم بکاپ IOS را بر روی دستگاه برگردانیم.

این کار بسیار ساده است. پس از نصب tftp server بر روی PC و IP دادن به آن کافی است از دستور زیر استفاده کنیم.(البته در محیط Privilege)

Router#copy flash: tftp:

پس از تایپ این دستور از ما سوال می شود که نام IOS که می خواهید انتقالش دهید چیست؟

Source filename[]?

برای به دست آوردن نام IOS دستگاه دو راه حل داریم. یا از دستور Show flash استفاده کنیم و یا از دستور show version .

Router#show flash:

Router#show version

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

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

خب از این طریق فهمیدیم که نام IOS دستگاه

Source filename[]?c3660-I-M.bin

سوال بعدی آدرس tftp server را از ما می خواهد:

Address or name of remote host[]?192.168.10.10

بعنوان مثال 192.168.10.10

سوال بعدی می گوید که در مقصد یعنی همون tftp server هم با همین نام ذخیره شود؟ اگر بخواهیم با همان نام کپی شود کافی است یک enter بزنیم.

Destination filename[c3660-I-M.bin]?

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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

!!!!!!!!!!!!!................!!!!!!!!!!!

یعنی اون وسط یک سری از فایل ها کپی نشده است.

کلا میتونیم هرچیزی رو داخل tftp بکاپ بگیریم. من جمله فایل startup-config که فایل مهمی است.

Router#copy startup-config tftp:

همینطور می تونیم فایل startup-config رو پاک کنیم. که از دستور زیر استفاده می شود.

Router#erase startup-config

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

Router#erase flash:

همینطور دستور delete یک فایل خاص را از داخل حافظه فلش پاک می کند. به صورت زیر :

Router#delete flah:
Delete filename[]?

خب. دو مورد از کاربرد های دیگر دستور show را هم بگویم و درس امروز تمام.


دستور show users

جهت نمایش جزئیات یوزرهایی که به روتر از هر لاینی لوگین کرده اند بکار برده می شود. 

دستور show sessions

اگر بخواهیم مثلا فقط یوزرهایی که از لاین VTY  لوگین کرده اند را ببینیم از دستور show sessions استفاده می کنیم.

خب . خسته نباشید . امیدوارم استفاده کرده باشید. اگر انتقاد یا پیشنهادی داشتید ممنون میشم با من درمیون بگذارید. موفق باشید.

جلسه هشتم

خب این جلسه مباحث ،به صورت کاملا تئوری است اما مباحث شیرینی است...


استاندارد Three Layer Design

در بحث استاندارد طراحی شبکه ، سه نوع استاندارد داریم .

1. استاندارد طراحی یک لایه One Layer Design

2.استاندارد طراحی دو لایه Two Layers Design

3.استاندارد طراحی سه لایه Three Layer Design که بهترینشون همین سومی می باشد.

به تصاویر زیر دقت کنید..

استاندارد طراحی یک لایه


استاندارد طراحی دو لایه شبکه


استاندارد طراحی سه لایه شبکه 


اصلا چرا ما از طراحی سه لایه شبکه استفاده می کنیم؟

1.کاهش بارکاری بر روی دیوایس های شبکه .(از اینکه روترهاو سوئیچ های شبکه با دیوایس های بسیار زیادی در ارتباط باشند دوری می کنیم.

2.افزایش سادگی و درک شبکه

3.تسهیل و ساده تر شدن ایجاد تغییر در شبکه در مواقع نیاز.

4. تسهیل و ساده تر شدن بزرگ ترکردن و گسترش شبکه.


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

لایه اول -Access: وظیفه برقراری  و کنترل ارتباط بین End User هارو برعهده دارد.پیاده سازی مک آدرس فیلترینگ و... در این لایه است.

لایه دوم -Distribution: وظیفه روتینگ و سوئیچینگ شبکه های داخلی را برعهده دارد که معمولا از یک سوئیچ یا یک روتر لایه سه استفاده می شود.امنیت هم در این لایه پیاده سازی می شود.

لایه سوم -Core: اتصال بین نقاط را برعهده دارد. اگر در این لایه شکست اتفاق بیوفتد همه یوزرها متاثر می شوند و ممکن است Down  شوند. کانفیگ دیوایس های این لایه باید به گونه ای باشد که بیشترین سرعت و اعتماد را برای ما به ارمغان بیاورد. چرا که تنها هدف دیوایس های این لایه ، روتینگ و سوئیچینگ اطلاعات به سریع ترین وجه ممکن است.


در ذیل به توضیح کارهایی که در لایه Access می توان انجام داد، می پردازیم.

یکی از کارهایی که در لایه Access جهت امنیت انجام می شود، قضیه Port Security است.

Port Security چیست؟

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

برای این که از اینکار جلوگیری کنیم. در داخل سوئیچ یا روتر Port Security را تعریف می کنیم . یعنی مثلا به سوئیچ میگیم مک آدرس فلان که مال فلان سیستم است برای پورت اول شما باشد. دیگه اگر آن سیستم را عوض کنیم. سیستم جدید نمی تواند به سوئیچ یا روتر وصل شود.چون مک آدرس عوض می شود.


کار دیگری که در لایه Access جهت پیاده سازی امنیت می توان انجام داد پیاده سازی Triple A Server هست.

Triple A Server -AAA server

پیاده سازی Triple A Server بر روی دیوایس لایه Access برای بالا بردن ENd User های متصل به این لایه.

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

AAA enables the security appliance to determine who the user is (authentication), what the user can do (authorization), and what the user did (accounting).

َAAA ، حروف اول سه کلمه Authentication و Authorization و Accounting می باشد.

AAA امنیت دیوایس یا وسیله را روشن می کند تا مشخص کند ، کاربر چه کسی است (authentication)، چه کارهایی این کاربر می تواند انجام دهد(authorization)، و چه کارهایی کاربر انجام داد. (accounting).یعنی تعریف اکانت یا پروسه زمانی برای کاربر تا فقط در همان پروسه زمانی بتواند به دیوایس وصل باشد و در غیر از آن نتواند مثل کارت اینترنت.

مثال کارت اینترنت مثال خوبی برای Triple-A Server هست. یعنی اول که شما یوزرنیم پسورد را می زنید بررسی می شوید تا مشخص شود که شما چه کسی هستید و آیا اجازه دارید وصل شوید. بعد بررسی می شود که چقدر اجازه دسترسی دارید و به چه منابعی می توانید دسترسی داشته باشید. و در مرحله سوم اکانت شما از چه نوع اکانتی هست وبعنوان مثال چقدر می توانید از اینترنت استفاده کنید.


همچنین می توانیم چهت پیاده سازی امنیت در لایه Access از Certificate ها استفاده کنیم.

Certificate

با مفهوم SSL در وب آشنا هستید؟ دقیقا همان است. یعنی یک کلید به کاربر می دهید که قفلش دست خودتان است. و کاربری که آن کلید را داشته باشد مجوز دارد تا به نتورک وصل شود.


VLAN ها نیز در لایه Access تعریف و پیاده سازی میشوند.

VLAN

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

در لایه Access جهت پیاده سازی امنیت Rate-limit نیز بکار برده می شود.

Rate limit

برای توضیح آن یک مثال می زنم.فرض کنید یک کاربر یکسره Packet به سوئیچ ارسال کند که آیا هستی یا نه؟ و جواب دریافت کند و این عمل n بار از سوی کاربر تکرار شود که به آن Broadcast storm می گویند. همین مسئله کافی است که کل شبکه Down شود.

اگر ما محدودیت برای آن end user تعریف نکنیم، قادر است شبکه را از کار بیاندازد. بهمین دلیل ما rate-limit را برای شبکه تعریف می کنیم تا آن کاربر نتواند بعنوان مثال بیش از ده بار در شبکه ping ارسال کند یا برودکست ارسال کند.

در ذیل به توضیح کارهایی که در لایه Distribution می توان انجام داد، می پردازیم.

در این لایه 60 تا 70 درصد امنیت پیاده سازی می شود. بالاترین سطح امنیت در این لایه انجام میشود.

QOS نیز در این لایه پیاده سازی میشود.

Quality of service-QOS

اولویت بین سرویس های شبکه است. مثلا اگر ترافیک Voice یا Video آمد ،چون Delay در آنها خیلی مهم است ، اولویتشان بالاتر است و اول آنها را بفرست بعد به Packet های دیگر توجه کن.

یا بعنوان مثال اگر Admin به شبکه وصل شد ، پهنای باند Amin را زیاد کن تا بتواند به سادگی شبکه را مدیریت کند.

لایه Core هم، فقط سرعت در آن مهم است. و پایین ترین سطح امنیت در دیوایس های این لایه تعریف می شود.

شاید جمع و جورترین منبعی که به زبان انگلیسی می تونید مراجعه کنید این سایت باشد.

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

پایان جلسه هشتم

جلسه هفتم

و اما بعد...

اگر جلسه پیش یادتون باشه آخرین دستوری که کار کردیم، Show History بود که مجموعه دستورهایی که تا آن لحظه تایپ کرده بودیم رو به ما نشون میداد.

دقیقا مثل محیط داس ما کلید های جهت نمای بالا و پایین می تونیم تا ده تا دستور قبلی که تایپ کرده بودیم رو مشاهده کنیم.

اگر بخواهیم این تعداد ده تا دستور رو بیشتر کنیم می تونیم در محیط Privilege Mode از دستور ساده زیر کمک بگیریم.

Router#terminal history size عدد

که می تونه عدد بین 1 تا 256 باشه.


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

برای اعمال تغییرات در هر محیط باید ابتدا وارد آن محیط شد سپس تغیرات را اعمال کرد.

بعنوان مثال ما در اینجا می خواهیم بر روی line console پسورد بگذاریم. به شکل زیر عمل می کنیم.

همانطور که در تصویر بالا می بینید ابتدا با دستور زیر وارد لاین کنسول می شویم.(لاین کنسول یک عدد بیشتر نیست ولی سیسکو ، عادت به وارد کردن شماره دارد و شماره هایش هم از صفر آغاز میشود. بخاطر همین مجبور به وارد کردن شماره بعد از دستور می شویم.)

Router(config)#line console 0

بعد پسورد ست می کنیم.

Router(config-line)#password 123

و در پایان کار حتما باید از کلمه login استفاده کنیم و گرنه پسورد اعمال نمی شود.

Router(config-line)#login

اگر بخواهیم بر روی VTY یا همون پورت LAN روتر هم پسورد بگذاریم دقیقا به صورت بالا عمل می کنیم.من به صورت کامل مجموعه دستوراتی که باید بزنیم را در پایین قرار می دهم.

Router(config)#line vty 0
Router(config-line)#password 123
Router(config-line)#login

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

Router(config)#line vty 0 2
Router(config-line)#password 123
Router(config-line)#login

نکته : Telnet زدن به لاین VTY در صورتی امکان پذیر است که این لاین پسورد داشته باشد.

ست کردن پسورد برای پورت AUX  هم دقیقا به همین صورت است. باید وارد لاینش شویم و پسورد ست کنیم.


اگر بخواهیم در هنگام انتقال از محیط User به محیط Privilege از ما پسورد خواسته شود. می توانیم به دو صورت زیر عمل کنیم.

1. با استفاده از دستور enable password در محیط کانفیگ ترمینال به صورت زیر:

Router(config)#enable password 123

2.با استفاده از دستور enable secret در محیط کانفیگ ترمینال به صورت زیر:

Router(config)#enable secret 123

هر دو دستور بالا را می توان به جای هم بکار برد. اما Secret بر password اهمیت دارد. برای اینکه تفاوت این دو را توضیح دهیم اجازه بدید فایل running config رو توضیح بدهم.

همانطور که می دانید این فایل در داخل RAM ذخیره می شود و تمام اطلاعات و کانفیگ هایی که در روتر انجام میدهیم درون این فایل ذخیره می شود. ما به راحتی می توانیم در محیط Privilege Mode محتویات این فایل را ببینیم. با استفاده از دستور زیر:

Router#show running-config

نکته :می تونیم به جای تایپ کامل دستور سه حرف اول رو بزنیم و کلید tab رو بزنیم مثلا show run یا همونطوری enter بزنیم و نیازی نیست کاملا دستور تایپ شود.

خب ، حال تفاوت enable password با enable secret مشخص می شود. در اولی یعنی enable password اطلاعات به صورت clear text ذخیره می شود و به راحتی با زدن دستور بالا و خواندن محتویات رانینگ کانفیگ قابل خواندن است. ولی در دومی یعنی enable secret اطلاعات در داخل رانینگ کانفیگ به صورت encrypted و کدگذاری شده ذخیره می شود و قابل خواندن نیست.


یک دستور دیگری وجود دارد که می توانیم همه پسورد هارو encrypt کنیم. اگر یادتون باشه پسوردهایی که به لاین ها اختصاص می دادیم به صورت clear text بود و با نمایش فایل running config به راحتی قابل مشاهده بود. حال می توانیم با بکار بردن این دستور تمام پسورد ها رو encrypted کرد.

Router(config)#service password-encryption

به همین سادگی .

یک نکته دیگر هم بگم و جلسه امروز تمام.

اگر هر چیزی رو بخواهیم کنسل کنیم. فقط کافی است کلمه no در ابتدای دستور آن بکار ببریم. برای تست می تونید همون دستور service password-encryption رو بزنید و برید show run بگیرید ، می بنید  که پسورد encrypt شده و دوباره بیاید تایپ کنید

Router(config)# no service password-encryption

و این بار وقتی بروید show running-config بگیرید می بینید که پسورد ها را به شما نمایش می دهد.


پایان جلسه هفتم

جلسه ششم

خب. تقریبا این جلسه کامل کار عملی هست. و آشنایی با نرم افزارهای شبیه ساز کار روتر و چگونگی کار با آنها.

بی مقدمه میریم سر اصل مطلب.

دو نوع سیمولاتور هایی که در این زمینه استفاده می شوند عبارتند از 1. نرم افزار GNS که ما در این آموزش از این نرم افزار استفاده می کنیم. و 2. نرم افزار Packet Tracer.

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

نرم افزار GNS رو برای دانلود قرار دادم که یا از کنار صفحه و یا از اینجا می توانید دانلود کنید.

نصب کردن خیلی ساده ای دارد و مثل باقی نرم افزار های کامپیوتری با چند تا Next نصب می شود. پس از نصب موقع اجرای نرم افزار با صفحه زیر روبرو خواهید شد.


اینجا میگه برای شروع به کار نرم افزار دو کار انجام بده تا نرم افزار آماده به کار بشه.

ابتدا step 1 یا گام اول رو میزنیم.

در اینجا باید Dynamic رو چک کنیم ببینیم که اوکی هست و کار می کند یا خیر. اگر Successfully نداد . در قسمت working directory خودتون یک جای دیگه یک فولدر بسازید و به برنامه معرفی کنید و بعد دوباره Test رو بزنید دیگه این بار successfully می دهد.

بعد از این که عملیات با موفقیت انجام شده در همین پنجره فوق ok می زنیم و به Step 2 می رویم.

در این قسمت باید IOS به برنامه معرفی کنیم.

همانطور که در شکل زیر می بینید در قسمت مشخص شده باید IOS مربوطه را به نرم افزار بدهیم که پسوند bin دارد.


شما می توانید از اینجا IOS C3660 را دانلود کنید (همینطور از کنار صفحه). بدون IOS روتر در داخل نرم افزار کار نخواهد کرد و این گام اجباری هست.

بعد از معرفی IOS ، حالا ذخیره می کنیم و خلاص. چون IOS ما مدل 3660 بوده . حالا می توانیم روتر 3600 رو بکشیم به داخل صفحه و برروی آن کار کنیم.

مطابق شکل زیر.

دقت کنید مشکلی که در این میان وجود دارد ، بحث پراسس سنگینی که این نرم افزار بر روی CPU می اندازد است.

جهت حل این مشکل ، مطابق شکل بالا، برروی روتر راست کلیک می کنیم و گزینه Idle PC رو انتخاب می کنیم. سپس از پنجره ظاهر شده قسمت علامت دار را انتخاب کرده و OK میکنیم.

به شکل زیر دقت کنید.


همانطور که در شکل زیر می بینید در تب Preferences پنجره Task Manager یا همون Ctrl+Alt+Delete پراسس CPU به 100 چسبیده. که ما برای حل این مشکل روش بالا رو پیشنهاد دادیم.

خب .حالا میرسیم سر کانفیگ روترمون. که البته این کار رو از پورت کنسول انجام میدهیم.

جهت این کار بر روی روتر راست کلیک کرده و گزینه Console رو انتخاب می کنیم. پنجره مشکی رنگ داس ظاهر می شود و منتظر می شویم تا روتر آماده به کار شود.

مراحل آماده به کار شدن روتر به شرح زیر هست - که قبلا توضیح داده شد.

(ابتدا Post انجام می شود و اجازه بوت صادر می شود . دوم به سراغ Boot Strap Program می رود و عدد رجیسترنامبر را نگاه می کند تا ببیند مراحل بوت به چه صورت هست؟وقتی می بیند عدد پیش فرض است،ابتدا به حافظه فلش می رود و IOS رو بر روی RAM می آورد و IOS رو بوت می کند. سپس به سراغ NVRAM میرود و فایل Start-up Config رو که کانفیگ های اولیه دستگاه هست را هم بر روی RAM می آورد.

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

بعنوان مثال اسم روتر رو چی میخوای بگذاری . پسورد رو چی می خوای ست کنی و الی آخر.

البته شما با زدن حرف N یا همون No می تونید به روتر بگید که من نمی خوام از محیط Setup Mode استفاده کنم و این محیط رو رد کنید.(البته می تونید از Ctrl +c هم استفاده کنید)

پس از زدن یکی دوتا Enter ، این علامت

Router>

ظاهر می شود.

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

همانطور که می دانید اولین محیطی که ما وارد می شویم محیط User Mode هست.(محیط های سیستم عامل روتر ها رو یادتون هست؟)

برای اینکه به محیط بعدی یا  Privilege منتقل شویم باید از دستور Enable استفاده کنیم. به صورت زیر:

Router>enable

البته در IOS های روتر های سیسکو می توانیم به صورت مخفف کار کنیم. یعنی می توانیم en تایپ کنیم و enter بزنیم، کار همان دستور enable را برایمان می کند.

اگر بخواهیم از محیط Privilege به محیط User منتقل شویم از دستور disable استفاده می کنیم.

Router#disable

دستور exit ما را از هر دو محیط خارج می کند.

برای ورود به محیط سوم یعنی محیط General یا Config دستور Config Terminal را تایپ می کنیم. البته می توانیم به صورت مخفف عبارت Conf t رو تایپ کنیم.

Router#conf t

برای خروج از محیط Config میتونیم از دستور exit یا ctrl+z استفاده کنیم.

Router(config)#exit

کلا در همه محیط ها می تونیم با استفاده از shift + ؟  درخواست کمک یا نمایش help کنیم . دقیقا مثل محیط داس.

حتی در هنگام تایپ دستور می تونیم با زدن یک حرف و تایپ علامت سوال ؟ می تونیم دستور هایی که با آن حرف آغاز می شوند را ببینیم.

برای تکمیل یک دستور، می تونیم نیمی از یک دستور را نوشته و کلید tab روی کیبورد را زده، می بینیم که دستور به صورت خودکار تکمیل می شود.


تنظیم نام برای روتر

برای تعیین نام برای یک روتر از دستور hostname استفاده می کنیم. دقت کنید کانفیگ ها ، همه در محیط کانفیگ ترمینال یاGeneral انجام میشود.

Router(config)#hostname Ali
Ali(config)#

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


تنظیم ساعت و تاریخ برای روتر

جهت تنظیم ساعت و تاریخ باید وارد محیط Privilege بشویم و با استفاده از دستور clock این کار را انجام دهیم.

به صورت زیر:

Router#clock set 8:10:23 21 september 2011

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

نمایش ساعت

جهت نمایش ساعت در محیط privilege از دستور show clock استفاده می کنیم.

Router#show clock

نمایش Command های تایپ شده

برای نمایش لیست تمام کامندها یا دستور های تایپ شده در محیط privilege از دستور show history استفاده می کنیم.

Router#show history

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

پایان جلسه ششم.

جلسه پنجم

سیستم عامل روترها و سوئیچ ها

سیستم عاملی که در این دیوایس ها استفاده می شود، IOS هست که مخفف Internetwork Operating System هست.

محیط کاری که این سیستم عامل در اختیار ما قرار می دهد یک محیط CLI یا Command Promptی هست. مثل محیط داس.

این سیستم عامل ها به دو صورت standard و enhanced ارائه می شوند.که تنها تفاوت این دو IOS یکسری امکانات بیشتر در IOS های Enhanced هست.

شرکت سیسکو برای اینکه بتواند امنیت سیستم عاملش را بالا ببرد ، آن را در سه محیط مختلف دسته بندی کرد.

محیط های IOS

1.User Mode

در این محیط به اطلاعات محدودی دسترسی داریم.که به آن Display Only هم می گویند. مشخصه آن در محیط کامند لاین این سیستم عامل این علامت "<" در انتهای خط فرمان هست. به این صورت:

Router> 

2.Privilege Mode

* در این محیط به هر نوع اطلاعاتی چه سخت افزار و چه نرم افزار دسترسی داریم.

* در این محیط می توانیم Monitoring پیاده سازی کنیم.یعنی لحظه به لحظه تمام اتفاقاتی که می افتد را به صورت لحظه ای به ما نمایش دهد.

* همینطور می توان Trouble Shooting انجام داد. و خطایابی کرد.

* می توان اطلاعات را کپی و Delete و Backup و ... انجام داد.

* در این محیط هیچ نوع کامندی برای کانفیگ کردن دستگاه وجود ندارد.

* مشخص آن علامت "#" در انتهای خط فرمان هست. به این صورت :

Router#

3.Global Mode

که به آن Config Terminal  هم میگویند.

هر نوع کامند و دستوری که مربوط به کانفیگ کردن دستگاه باشد در این محیط قرار دارد.

مشخصه آن "#(config)"  می باشد. به این صورت :

Router(config)#

روترهای FIX و Modular

شرکت سیسکو محصولات خودش را به دو صورت  Fix و Modular ارائه می کند.

روترهای FIX:

روترهایی که به صورت Fix ارائه می شوند تمام LAN Interface ها و WAN Interface های آنها به صورت آماده از قبل وجود دارد و امکان تغییر و اضافه کردن آنها وجود ندارد.

قبل از خرید روترهای fix حتما باید بدانیم که چه اینترفیس هایی نیاز داریم ، چرا که پس از خرید آن امکان اضافه کردن به آن وجود ندارد.

روترهایی که در این خانواده قرار میگیریند عبارتند از :

سری 800 - سری 1600 - سری 1700 - سری 1800 (سری 1800 استثنائا به هر دو صورت Fix و Modular ارائه می شود) - سری 2500


روترهای Modular

به تصویر زیر که یک نمونه از روترهای سری 3600 هست دقت کنید.


از نمای نزدیک تر نگاه کنید:



همانطور که می بینید قسمت هایی دارد که با حلبی پوشیده شده است .در داخل این قسمت ها که Slot نامیده می شود ،بسته به نیاز ما ماژول قرار میگیرد.

ماژول های مختلفی وجود دارد. مثل:
WIC-1T
WIC2T
 : WIC-1AM یک مودم اینترنال در اختیار ما قرار می دهد.
:WIC-2AM: دو مودم اینترنال در اختیار ما قرار می دهد.
WIC-4ESW: چهار پورت اترنت در اختیار ما قرار می دهد.

ماژول های NM هم وجود دارند که چند برابر از ماژول های معمولی بزرگتر هستندو تعداد پورت های بیشتری در اختیار ما قرار می دهند.

برای آشنایی بیشتر به تصویر زیر که یک روتر از سری 2610 سیسکو می باشد دقت بفرمایید.



همانطور که می بینید در این روتر دو عدد روزنه یا slot برای WAN Interface Card یا WIC قرار دارد و همینطور یک عدد شیار برای Network Module یا NM قرار دارد. که هر سه با یک پوشش محافظ فلزی پوشیده شده اند تا در موقع نیاز آن پوشش برداشته شود و ماژول مورد نظر درون آن قرار گیرد.

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

پایان جلسه پنجم

جلسه چهارم

خب..در این جلسه چند تا مژده بدم. اول اینکه از جزوه ام اسکن می کنم و صفحات مربوط به هر جلسه رو در پایان اون جلسه برای دانلود قرار میدم.

 و دوم اینکه فایل صوتی ضبط شده درون کلاس رو هم در پایان جلسه برای دانلود قرار میدم. امیدوارم که استفاده کنید.

از این جلسه CCNA به صورت رسمی آغاز میشه. اگر یک چشم انداز کلی بخواهید به دست بیارید .CCNA به بررسی کانفیگ روتر می پردازد. اما در این میان مجبور میشود بعضی چیزها مثل روتینگ پروتکل ها و DHCP و NAT و... را هم توضیح دهد. اما هدف اصلی که دنبال می کند نحوه کانفیگ یک روتر هست.

Router

روتر ها دیوایس های لایه سه شبکه هستند(لایه های شبکه رو یادتون هست؟لایه نتورک) که وظیفه مسیریابی در شبکه را برعهده دارند.

محل قرارگیری اونها در اتصالات بین WAN هاست.

هر روتر دارای دو نوع اینترفیس(رابط) هست. LAN Interface و WAN Interface


ساختار داخلی روترها



RAM: در رم فایل Running - Config ذخیره می شود . هر کانفیگی که برای دستگاه تعریف می کنیم، تماما داخل فایلی به نام Running - Config داخل رم ذخیره می شود.

NV-RAM: در اینجا Start-up Config ذخیره می شود. کانفیگ ها پس از ذخیره در رانینگ کانفیگ در پایان کار بر روی استارت آپ کانفیگ ریخته می شوند تا برای همیشه ذخیره شوند و از بین نروند. پس حتما باید در پایان کار محتویات Running Config را به Start-up Config منتقل کرد.

Flash: که به آن EEPROM هم میگویند که یک حافظه بلندمدت و دائمی است و سیستم عامل یا IOS درون آن ذخیره شده است.

ROM: حافظه فقط خواندنی و دائمی.

حافظه ROM در روتر ها شامل قسمت های زیر است.

الف-   Power On Self Test - POST : تست قسمت های سخت افزاری و اصلی دستگاه را بر عهده دارد.

ب- Boot Strap Program: توسط رجیستر نامبر داخل آن ،مراحل بوت دستگاه را مشخص می کند. که رجیستر نامبر پیش فرض آن 0X2102 است.

یعنی به صورت پیش فرض ابتدا به سراغ فلش می رود و IOS را بوت می کند و داخل RAM می ریزد. سپس به سراغ NV RAM می رود و Start-up Config رو که کانفیگ های اولیه دستگاه است را داخل رم میریزدو دستگاه شروع به کار می کند.

ما می توانیم با تغییر رجیستر نامبر خودمون تعیین کنیم که مراحل بوت به چه صورت باشد.

ج- ROM Monitor: یک IOS کوچکی است که در مواقع ضروری مارا قادر به انجام کارهای مدیریتی محدودی میکند.

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


بررسی راه های اتصال به یک روتر.

1. پورت کنسول- Console Port


همانطور که در شکل می بینید، پورت کنسول یک پورت RJ-45 هست که امکان اتصال به روتر را به صورت مستقیم فراهم می کند. این پورت یک پورت مدیریتی می باشد.

CISCO به پورت های مدیریتی اش Line  می گوید. کلا سیسکو به هر پورتی که از طریق آن بتوان به دستگاه وصل شدو دستگاه را کانفیگ کرد  Line می گوید.

کابلی که به پورت کنسول وصل میشود یک کابل آبی رنگ است که Rollever Cable یا Rolled Cable نامیده می شود. این کابل یک سر آن به صورت RJ-45  است و سر دیگر آن به صورت سریال می باشد.

از طریق کنسول پورت به صورت استاندارد فقط یکبار و فقط اولین بار به دستگاه متصل می شویم و دستگاه رو کانفیگ می کنیم.

2- پورت LAN

بواسطه این پورت میشه از طریق Remote (از طریق روش هایی مثل Telnet یا SSH ویا Cisco Work) از داخل خود شبکه به روتر متصل شد.البته در صورتی که قبلا در کانفیگ این اجازه دسترسی رو تعریف کرده باشیم.

حالا نحوه ایجاد این دسترسی برای اتصال به پورت LAN چیست و چگونه باید این کار رو کرد.

سه شرط دارد.

الف- باید به پورت LAN یا در اصطلاح سیسکو Line VTY آی پی بدهیم.

ب- حتما باید به Line VTY پسورد اختصاص بدهیم.

ج- یک پسورد دیگر هم اختصاص دهیم. برای ورود به محیط های سیسکو که بعدا مفصل بررسی خواهیم کرد.


3. Auxiliary Port

این پورت امکان اتصال به روتر به صورت Remote از طریق خط تلفن برای ما فراهم می کند.همینطور از طریق این پورت می توان دو روتر را بهم متصل کرد.


پایان جلسه چهارم


جلسه سوم


V
ariable Length Subnet Masking =  VLSM

VLSM همان سابنتینگ هست با این تفاوت که سابنتینگ شبکه را به قسمت های مساوی تقسیم می کرد اما VLSM خورد را خوردتر می کند و به عبارتی ممکن است قسمت ها مساوی همدیگر نباشند.

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

پروتکل
زبان مشترکی است که کامپیوترها برای برقراری ارتباط استفاده می کنند .
به عبارت دیگر به مجموعه ای از قوانین و قراردادهایی گفته می شود که عملکرد یک چیزی را بیان می کند.

ما در اینجا به اختصار به شرح پروتکل TCP/IP می پردازیم.

TCP/IP

TCP/IP خودش به دو پروتکل TCP و UDP تقسیم می شود که در پایین به شرح مختصر آن می پردازیم.

TCP : Transmission Control Protocol
 اول مقصد را چک می کند ، اگر مقصد وجود داشت ترافیک را روی شبکه ارسال می کند.
که نام آن Three way handshake می باشد.
به شکل زیر دقت کنید.


جهت این کار ابتدا کامپیوتر مبدا پیغامی را با نام SYN در شبکه ارسال می کند، اگر کامپیوتر مقصد وجود داشت ، پیغامی مبنی بر SYN-ACK در پاسخ برای کامپیوتر مبدا می فرستد.
از این طریق متوجه حضور کامپیوتر مقصد می شود .

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

UDPتصور کنید با استفاده از روش TCP بخواهیم Voice یا Video بفرستیم . چه اتفاقی به نظر شما می افتد؟
یک مقداری از صدا می رود بعد کامپیوتر مقصد  Acknowledge می فرستد که بسته ها رسید، بعدی رو بفرست. این وسط صدا قطع میشه دوباره بعدی میاد صدا وصل میشه . یعنی مدام صدا قطع و وصل میشه.
UDP برای ارسال ترافیک هایی که Delay برای آنها مهم است و خیلی به Delay حساسند به کار میرود.

UDP یک روش Unreliable یا غیرمطمئن است که به آن Connectionless هم می گویند.
بهترین روش برای ارسال ترافیک با حجم کم یا دسته اطلاعاتی که تحمل خطا را دارند محسوب میشود.

می توانید در اینجا به تفصیل این مباحث رو مطالعه بفرمایید.

مدل OSI - لایه های شبکه
مدل OSI که مخفف عبارت Open Systems Interconnection می باشد ، استانداردی است که شرکت ISO طراحی کرده است.
این مدل هفت لایه برای پروتکل شبکه تعریف می کند. که عبارتند از:
1. Physical
2.Data Link
Network.3
Trasport.4
Session.5
Presentation.6
Application.7

خب از لایه هفتم یعنی Application شروع می کنیم.

لایه Application
محیطی را برای برقراری کاربرو شبکه فراهم می کند. که می تواند این محیط GUI یا CLI یعنی Command Line Interface مثل داس باشد.

لایه Presentation
فرمت اطلاعات را به گونه ای تبدیل می کند که قابل ارسال و دریافت در دو طرف باشد.(Intermediate Format)
دو وظیفه Encryption و Compresstion را هم برعهده دارد.
لایه presentation لایه مترجم هم نام دارد.

لایه Session
این لایه به پلیس شبکه معروف است.
دو وظیفه برعهده دارد.

1.Dialog Control که می تواند به صورت Half Duplex و یا Full duplex باشد. یعنی وقتی دو تا کامپیوتر می خوان باهم حرف بزنن مثل بیسیم و واکی تاکی اول اون حرف بزنه بعد شما حرف بزنید. یا مثل موبایل هر دو همزمان بتونید حرف بزنید و بپرید تو حرف هم.

2.Session Management:برقراری ، نگهداری و قطع ارتباط

لایه Transport
وظیفه Segmentation یا قطعه کردن اطلاعات به قسمت های کوچکتر را برعهده دارد.
همینطور مشخص می کند که ارتباط به صورت TCP باشد یا UDP که شرحش در بالا رفت.
اگر ارتباط بر اساس TCP باشد این لایه وظیفه کشف و اصلاح خطا را بر عهده دارد.اما اگر ارتباط بر اساس UDP باشد این لایه فقط وظیفه کشف خطا را برعهده دارد.
وظیفه دیگر آن اختصاص Port Number هست.
کلا 65536 تا پورت داریم که 1024 تای آن رزرو شده برای پروتکل هاست.مابقی تا سی هزارتای آن نیمه رزرو هستندو باقیمانده رزرو شدن برای شناسایی ارتباطات مختلف توسط فرستنده.

مثلا اگر یک مرورگر چندین تب داشته باشد و یکی از این تب ها درخواستی از گوگل داشته باشد. تا این درخواست برود و برگردد و به مرورگر برسد، فقط از طریق پورت ها می توان فهمید این درخواست مربوط به کدام تب این مرورگر بود. و این جزو وظایف لایه Tranport هست.

لایه Network
در این لایه هدر -header بسته ما شکل می گیرد.
وظایف این لایه:
1.وظیفه آدرس دهی پکیح را برعهده دارد- آدرس Source و Destination را در header یادداشت می کند.
2.وظیفه روتینگ یا مسیریابی بر عهده این لایه است.
3. پروتکل های IP و IPX در این لایه استفاده می گردند.

لایه Data Link
دو زیرلایه در این لایه تعریف میشوند.
اولی MAC و دیگری LLC

M
edia Access Layer - MAC
دو وظیفه بر عهده دارد.
1. آدرس دهی فریم با استفاده از Physical Address.
2. نحوه دسترسی به شبکه را بر عهده دارد یعنی همان Access methode ها

Logical Link Control - LLC
وظیفه آن error checking یا بررسی خطاهاست. که از CRC استفاده می کند حالا این CRC چی هست ، زحمت بکشید سرچ کنید برای اطلاعات بیشترتون.

توضیحات بیشتر و کاملتر را در اینجا بخوانید.

لایه Physical
این لايه در ارتباط مستقيم با سخت افزار هست  و خصايص فيزيکی شبکه نظير : اتصالات  ، ولتاژ و زمان را مشخص می کند.

در ویکی پدیای فارسی مقالات خوبی در زمینه مدل OSI و بحث لایه لایه های شبکه قرار داده شده که من لینک صفحات آن را در اینجا آوردم تا شما بتونید به آن ها دسترسی داشته باشید.

مدل مرجع OSI
۷لایه en application
۶لایه en presentation 
۵لایه en session 
۴لایه Transport
۳لایه Network
۲لایه Data Link
۱لایه Physical



















پایان جلسه سوم

جلسه دوم

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

خب .IP ها که در جلسه پیش مقداری در رابطه با آنها توضیح داده شد. به دو دسته تقسیم بندی می شوند.

1.Private

2.Public

IP Private

آی پی های Private یا Invalid برای آدرس دهی در شبکه شخصی استفاده می شوند که هزینه ای رو در برندارند. مشکلی که دارند قابلیت روت(Route) شدن در شبکه های WAN رو ندارند.

نکته دیگر اینکه با استفاده از IP Private نمی توانیم به اینترنت دسترسی داشته باشیم.

IP Private در کلاس A
10.0.0.0

IP Private در کلاس B
172.16.0.0
172.31.0.0

IP Private در کلاس C
192.168.0.0

همینطور IP های رزرو شده
169.254.0.0
127.0.0.0


IP Public

آی پی public یا Valid ، آی پی هایی هستند که برای استفاده از آنها باید آنها را اجاره کنیم.


سابنتینگ Subneting

سابنتینگ یک مفهوم سادست. بگذارید با یک مثال شروع کنیم.

فرض کنید دو شبکه داریم که در هر شبکه 100 هاست قرار گرفته که می خواهیم هر کدام از این شبکه ها در دو Broadcast دامین جدا قرار بگیرد.

اگر شبکه ما از کلاس C باشه پس Subnet Mask به صورت زیر هست.

11111111.11111111.111111111.00000000 درسته؟

ما این شبکه رو به دو تا 128 تا تقسیم می کنیم که بتونیم دو تا برودکست دامین جدا درست کنیم. برای این کار کافیه بیت آخر از اوکتد اول رو یک بار 0 و بار دیگر 1 بگذاریم. یعنی

11111111.11111111.11111111.00000000 تا 11111111.11111111.11111111.10000000

و

11111111.11111111.11111111.10000001 تا 11111111.11111111.11111111.11111111

همانطور که می بینید دو تا برودکست دامین جدا برای هرکدام از این 100 هاست ساختیم. بیت اول و آخر برودکست دامین که همانطور که می دانید رزرو شده است. یعنی از 128 تا دو تا کم میشه و هر کدام از این شبکه ها می توانند تا 126 هاست داشته باشند.

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

میشه این مثالی که در بالا گفته شد رو سخت ترش کرد اما اگر مفهوم کلی رو بلد باشید دیگه سخت نیست.

در این لینک بسیار زیبا این مفهوم توضیح داده شده. می توانید مراجعه کنید.

چون احتمال داره اون سایت یا وبلاگ از دسترس خارج بشه. من مطالبش را عینا در اینجا درج می کنم. البته با ذکر منبع امانت داری هم کردم.

زمانی که میخواهیم عملیات subnetting را بر روی یک IP انجام دهیم باید پنج سوال زیر را مد نظر داشته باشیم

1.چه مقدار subnets میتوانیم داشته باشیم
2.چه مقدار هاست در هر subnet موجود می باشد
3.چه subnet هایی قابل قبول هستند
4.تعیین broad cast address
5.چه هاست هایی قابل قبول است


در IP 192.168.10.10 و subnet mask 255.255.255.0 میخواهیم 55 هاست (دستگاه) به هم شبکه کنیم ,عملیات subnetting به قرار زیر می باشد

 

به دلیل اینکه IP ما در کلاس C میاشد عملیات subnetting را در بیت آخر انجام میدهیم و آن را بسط میدهیم

192.168.10.2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0

با توجه به اینکه 55 هاست میخواهیم و 55 بین 64 و 32 است 6^2 را انتخاب میکنیم در نتیجه 6 بیت به host address تعلق میگیره و 2 بیت به network address

(2^0=1 , 2^1=2 , 2^2=4 , 2^3=8 , 2^4=16 , 2^5=32 , 2^6=64 , 2^7=128)

1.چه مقدار subnet میتوانیم داشته باشیم
برای بدست آوردن تعداد subnet از فرمول زیر استفاده میکنیم,n تعداد بیتهای تعلق گرفته به قسمت network address است

2^n ---> 2^2=4

 

2.چه مقدار هاست در هر subnet موجود میباشد
برای بدست آوردن هاست از فرمول زیر استفاده میکنیم. n تعداد بیت های تعلق گرفته به قسمت Host Address است.

2^n-2 ----> 2^6-2=62

در هر subnet شصت و دو هاست موجود میباشد و 2- همان network address و broad cast address میباشد که not valid هستند

3.چه subnet هایی قابل قبول هستند
برای بدست آوردن subnet های قابل قبول (block size)از فرمول زیر استفاده میکنیم

256 - subnet mask = block size

با توجه به اینکه الگوی استاندارد را به الگوی غیر استاندارد تبدیل کردیم subnet mask به غیر استاندارد تبدیل میشود و به آن ( CSN ( Customize Subnet Mask میگوییم
طریقه بدست آوردن آن به اینصورت است که بیتهایی را که به network address در بیت آخر تعلق دارد را جمع میکنیم

 

2^7 + 2^6 = 128+64 = 192 ---> CSN

 

256 - 192 = 64 --> Block size

 

4.تعیین broad cast address برای هر subnet

برودکست آدرس ،پیامی است که به تمامی ایستگاهها توزیع میشود.

این آسانترین قسمت است , broad cast address در هر subnet میشود block size - 1 مثلا اگر block size ما 64 باشد broad cast ما میشود 63 و بطور کامل میشود 192.168.10.63


5.چه host هایی قابل قبول است
همیشه اعدادی که بین subnet address و broad cast address می باشند هاستهای قابل قبول هستند


با توجه به عملیات بالا subnetting به قرار زیر می باشد

 

network address 192.168.10.0 192.168.10.64 192.168.10.128 192.168.10.192

Valid IP

192.168.10.1 192.168.10.65 192.168.10.129  -----------
192.168.10.2 192.168.10.66 192.168.10.130

ادامه

ادامه

ادامه

ادامه

ادامه

ادامه

192.168.10.62 192.168.10.126 192.168.10.190
broad cast address 192.168.10.63 192.168.10.127 192.168.10.191  
customize subnet mask 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192

آپدیت شده در 29 آبان 90: داشتم در قسمت آمار وبلاگ نگاه می کردم ، دیدم که بیشتر جستجو هایی که انجام شده بود و به وبلاگ من منتهی شده بود، بحث سابنتینگ بود.

صلاح دیدم یک مقاله خوب در زمینه سابنتینگ رو در این پست بگذارم تا این بندگان خدا که دنبال یادگیری مقوله سابنتینگ هستند بی نصیب نمونند.

- نویسنده آن استاد شریعتی هستند.
-  37 صفحه هست.
- به زبان پارسی هست.
- آموزش کامل مباحث IP Address و Subnet Mask و Subnetting هست.
- سایت نویسنده مقاله http://alishariaty.ir

از اینجا دانلود کنید.

موفق باشید.


 پایان جلسه دوم


جلسه اول

مقدمه

من در سال 85 کلاس طراحی وب رفتم و همون موقع اقدام به ساخت وبلاگی کردم که درش جلساتی که استاد تدریس می کرد رو در جا یادداشت می کردم. گذشت و الان بعد از 5 سال هنوز اون وبلاگ پابرجاست و هنوز افراد بسیار زیادی ازش استفاده می کنند و از من تشکر می کنند.

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

جلسه اول

مقدماتی از شبکه در این جلسه گفته می شود.

CCNA مخفف عبارت Cisco Certification Network Associate که گواهینامه شبکه شرکت سیسکو می باشد.

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

تقسیم بندی شبکه به لحاظ وسعت

1.LAN

2.CAMPS: اندازه یک شهرک، به شرط اینکه برای برقراری ارتباط بین آنها از هیچ service provider ی استفاده نکنیم.

3.MAN

4.WAN

آدرس فیزیکی (Mac Address)

مک آدرس یک آدرس فیزیکی است که محل نگهداری آن بر روی حافظه ROM داخل کارت شبکه می باشد.

مک آدرس در تمامی کارت شبکه ها دارای طول یکسان می باشد که طول آن برابر 6 بایت یا 48 بیت است.به تصویر زیر دقت کنید.

همانطور که در شکل بالا می بینید فرمت آدرس دهی به صورت هگزا دسیمال است(Hexa Decimal)

24 بیت اول که با رنگ سبز مشخص شده است را IEEE(که یک سازمان استاندارد سازی است) به شرکت های تولید کننده کارت شبکه می دهد که ( OUI =Organization Unit Identifier ) نام دارد.

24 بیت دوم که با رنگ قرمز مشخص شده است، توسط شرکت های تولید کننده بر روی کارت های شبکه قرار می گیرد که ( BIA =Bound In Address )  نام دارد.

آدرس منطقی (IP = Internet Protocol )

آدرس منطقی یا IP، متشکل از 4 بایت یا 32 بیت می باشد که به چهار بخش 8 بیتی تقسیم می شود که با نقطه از یکدیگر جدا می شوند .

به هرکدام از این بخش ها یک Octet گفته می شود که مجموع هشت بیت هر Octet عدد 255 را میسازد.

کلاس های IP

IP از دو قسمت Net ID و Host ID  تشکیل شده است. همانطور که میدانید(شما باید این مطالب رو بدونید ، ما فقط داریم به صورت گذرا و مروری این مطالب رو می گیم)  Net ID آدرس شبکه شما و Host ID آدرس کامپیوتر شما در این شبکه است.

به جدول زیر دقت کنید.


4     3    2     1     Range IPClass
HostHostHostNet1-126A
HostHostNetNet128-191B
HostNetNetNet192-223C
MulticastMulticastMulticastMulticast224-239D
ReservedReservedReservedReserved240-255E

همانطور که مشاهده می کنید در کلاس A، نت آی دی آن برابر 126 و هاست آی دی آن برابر 256 به توان 3 منهای دو است

Host ID= (256)3 - 2 = 16777214

این عدد اینگونه بدست آمد که ما در هرکدام از اوکتدها 256 حالت داریم و در کلاس A هم سه تا اوکتد هست که می شود 256 به توان 3 ، منهای دوهم کردیم بخاطر اینکه 000 برای Network Number  هست و255  اختصاص دارد به Broadcasting در شبکه . به همین خاطر اون عدد 16777214 حالت مختلف برای Host ID به دست اومد.

به همین روش می توان Net ID و Host ID کلاس های دیگر هم بدست آورد. که البته من به طور خلاصه همه رو در پایین می نویسم . محاسبه چگونگی اش باشد بر عهده خود شما.(طبق همان فرمولی است که در بالا توضیح دادم.

Class B

Net ID= 64*256=16384
Host ID=(256)2 - 2=65534

Class C

Net ID=32* (256)2 =2097152
Host ID= 256 - 2=254

همانطور که در بالا گفته شد مثلا در کلاس C ما می توانیم دو میلیون و نود و هفت هزار و صد و پنجاه و دو شبکه داشته باشیم که هرکدام از این شبکه ها 254 تا یوزر داخل خود داشته باشند.

مثالی دیگر از کلاس C

مثالی از کلاس B

خب . اگر دقت کنید در قسمت Range IP فاصله بین کلاس A و B عدد 127 جا افتاده است. IP Address  هایی که با 127.?.?.? شروع می شوند IP Address , Loopback نام دارند و    می توان از آنها برای تست تنظیمات ،TCP/IP استفاده نمود.

Subnet Mask

به صورت پیش فرض و By default به ازاء هر Octet ، نت آی دی عدد 255 و به ازاء هر اوکتد Host ID عدد صفر قرار می گیرد.

Subnet Mask مشخص می‌کند چه قسمتی از یک آدرس IP مربوط به کامپیوترهای داخل شبکه و چه قسمتی مربوط به شناسه خاص آن شبکه است. که به ازاء Net ID عدد 255  و به ازاء Host ID عدد صفر قرار میگیرد. به عبارت ساده تر مشخص می کند آدرس IP جزو کدام کلاس شبکه است.

خب برای جلسه اول کافیه ... فعلا.