اصول مقدماتی طراحی شبکه

اصول مقدماتی طراحی شبکه

 



در Design یک شبکه ، ما به مبحثی اشاره می شود تحت نام Modular Network design. در این مبحث لایه های دسترسی در یک شبکه به سه دسته کلی تبدیل می شود. به نام های

 

  • Access Layer
  • Distribution Layer
  • Core Layer

 

 

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

.چیدمان یک شبکه بر پایه این لایه ها به Hierachical Network Design ملقب است.


________________________

 


لایه Access:

 لایه ای در شبکه است که تمامی End-User ها به شبکه متصل می شوند. سوئیچ هایی که در این لایه استفاده می شوند می بایست دارای خصوصیات زیر باشند:


1.Low cost per switch port
2.High port density
3.Scalable uplinks to higher layers
4.User access functions such as VLAN membership, traffic and protocol filtering, and QoS

_________________

 

لایه Distribution:

 لایه ای است که از طریق آن ارتباط ( Interconnection) بین لایه های core و Access برقرار می شود. خصوصیات سوئیچ های این لایه طبق زیر است :


1.High Layer 3 throughput for packet handling
2.Security and policy-based connectivity functions through access lists or packet filters
3.QoS features
4.Scalable and resilient high-speed links to the core and access layers


در سوئیچ های این لایه تمامی uplink های سوئیچ های Access در یک مکان  جمع شده و به این سوئیچ ها ختم می شوند. (Aggregation) . سوئیچ های این لایه می بایست به نحوی انتخاب شوند که قدرت process کردن ترفیک وارده از تمام switch ها را داشته باشند. لذا کلیه این سوئیچ ها می بایست High-Density انتخاب گردند تا بتوانند از مجموعه سوئیچ ها پشتیبانی به عمل آورند. Vlan ها و Broadcast تمامی به این سوئیچ ها ختم و ادغام می شوند ، در این لایه به filtering ، routing و security مناسب نیاز است . بنابراین سوئیچ های این لایه باید از قابلیت هایMLS ( Multi Layer Switching) نیز پشتیبانی لازم را به عمل آورند.

 


لایه core:

سوئیچ های لایه وظیفه ایجاد ارتباط بین سوئیچ های لایه Distribution را بر عهدی دارند. از این سوئیچ ها به Backbone نام برده می شود لذا باید سوئیچ های این لایه کارایی و performanceبالایی ارائه کنند،زیرا سوئیچ های این لایه می بایست وظیفه اجرای قانون 20 /80 را بر عهده گیرند.

 در شرح این قانون گفته می شود که یک شبکه باید به نحوی طراحی شود که تنها 20% ترافیک باید Local و 80 % ترافیک باید بر روی Backbone جابجا شود.


مشخصات سوئیچ های این لایه عبارتست از :

 


1.Very high throughput at Layer 2 or Layer 3
2.No costly or unnecessary packet manipulations (access lists, packet filtering)
3.Redundancy and resilience for high availability
4.Advanced QoS functions

لازم به ذکر است که همیشه شما نباید در طراحی یک شبکه این سه لایه را ایجاد کنید . در اکثریت موارد شما تنها نیاز به لایه Distribution و Access دارید.

 

منبع: http://forum.persiannetworks.com/f63/t12282.html

 

آموزش کار با سوئیچهای سیسکو (بخش چهارم)

مثال 6:پیکربندی trunk روی سوئیچ 2950:

 

2950(config)#interface type 0/port_#

2950(config-if)#switchport mode trunk|dynamic desireable|dynamic auto|nonegoshiate

2950(config-if)#switchport trunk native vlan VLAN_#

 

نکته آنکه 2950 فقط از 802.1q پشتیبانی میکند.

 

برای مشاهده وضعیت trunk

2950#show interfaces trunk

 

مثال 7: ایجاد vlan  روی  2950در سیستم عامل های نگارش پایین تر از 11:

 

2950(config)#vlan VLAN_#

2950(config-vlan)#name VLAN_name

 

در اینجا ابتدا وارد وضعیت vlan subconfiguration mode شده و سپس در خط دوم نام دلخواه را به vlan ئی که در خط اول با شماره تعریف کردیم نسبت میدهیم.

 

2950(config)#interface type 0/port#

2950(config-if)#switchport mode access

2950(config-if)#switchport access vlan VLAN_#

2950#show spaningtree vlan vlan_#

 

در خط دوم حالت را  accesslink قرار داده و در خط سوم پورتی را که در آن قرار داریم عضو vlan ئی که اشاره کرده ایم مینمائیم.

 

نکات مهم:

 

  1. هر یک از vlan ها باید دارای آدرس لایه سوم متفاوتی نسبت به یکدیگر باشند.
  2. سوئیچ 1900 حداکثر از 64  vlan پشتیابنی میکند و سوئیچ 2950 در نسخه نرم افزاری s1 64  عدد و در نسخه e1 تعداد 250  عدد vlan را پشتیبانی خواهد نمود.
  3. عضویت در vlan  وابسته به مکان فیزیکی تجهیزات نمیباشد.
  4. در حالت عضویت در  vlan بصورت  استاتیک هر پورت به یک vlan تخصیص داده میشود و در حالت داینامیک اطلاعاتی مانند کاربران،گروهها و یا آدرسهای mac برای تعیین عضویت بکار گرفته میگردد.
  5. ارتباط access link حاوی اطلاعات فقط یک vlan خواهد بود.
  6. برای ارتباط حاوی اطلاعات vlan ها بین سوئیچها از trunk استفاده میگردد که باید از پورتهای با سرعت 100 و بالاتر استفاده نمود.
  7. vlan1 با نام vlan مدیریتی یا native vlan روی تمامی سوئیچها بصورت پیش فرض وجود دارد.
  8. پروتکل DTP مخصوص سیسکو بوده و جهت ایجاد و نگهداری ارتباطات trunk بکار میرود.

 

مثال :در شکل زیر 12 پورت سوئیچ مشاهده میگردد که مایل میباشیم هر 4 عدد پورت را در یک vlan قرار دهیم.

 

Switch1

12

11

10

9

8

7

6

5

4

3

2

1

Vlan3

Vlan2

Vlan1

 

 

 

 

Switch#vlan database

Switch(vlan)#vlan 2 name forosh

Switch(vlan)#vlan 3 name edari

Switch(vlan)#exit

Switch>enable

Switch#config t

Switch(config)#int fastethernet 0/5

Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 2

Switch(config-if)#int fastethernet 0/6

Switch(config-if)# switchport mode access

Switch(config-if)#switchport access vlan 2

Switch(config-if)#int fastethernet 0/7

Switch(config-if)# switchport mode access

Switch(config-if)#switchport access vlan 2

Switch(config-if)#int fastethernet 0/8

Switch(config-if)# switchport mode access

Switch(config-if)#switchport access vlan 2

Switch(config-if)#int fastethernet 0/9

Switch(config-if)# switchport mode access

Switch(config-if)#switchport access vlan 3

Switch(config-if)#int fastethernet 0/10

Switch(config-if)# switchport mode access

Switch(config-if)#switchport access vlan 3

Switch(config-if)#int fastethernet 0/11

Switch(config-if)# switchport mode access

Switch(config-if)#switchport access vlan 3

Switch(config-if)#int fastethernet 0/12

Switch(config-if)# switchport mode access

Switch(config-if)#switchport access vlan 3

Switch(config-if)#^z

Switch#

Switch#show vlan brief

.

.

Switch#show vlan id 2

.

.

در این مثال ابتدا وارد حالت vlan database شدیم زیرا تعریف vlan  در این حالت صورت میگیرد.سپس 2 عدد vlan  2و 3 را تعریف کردیم و در همان حال نام آنها را هم forosh  و  edari گذاشتیم.سپس از حالت vlan database خارج شده و برای اینکه هریک از interface ها را عضو هر یک از vlan های سه گانه نمائیم ابتدا تک به تک وارد هر یک از اینترفیس ها شده سپس با دستور switchport mode access به سوئیچ میگوئیم که این یک پورت access است نه یک پورت trunk.

آنگاه با دستور switchport access vlan 2 یا  switchport access vlan 3 هر یک از اینترفیس ها را عضو یک vlan مینمائیم.

نکته آنکه چون بصورت پیش فرض vlan 1 روی همه سوئیچها وجود دارد و فعال است نیازی به تعریف آن یا عضو نمودن پورتهای 1 تا 4 در آن نمیباشد.

 

 

 

 

 

 

 

 

مثال:در شکل زیر دو عدد سوئیچ با vlan های مختلف وجود دارند.اکنون میخواهیم پورت17 را به  عنوان trunk روی دو سوئیچ برای ارتباط بین آنها تعریف کنیم.همچنین مایل به ایجاد یک domain با نام fred میباشیم.

 

 

 

 

 

Switch1

17

 

12

11

10

9

8

7

6

5

4

3

2

1

 

 

Vlan3

Vlan2

Vlan1

 

Vlan3

Vlan1

17

 

12

11

10

9

8

7

6

5

4

3

2

1

Switch2

 

 

 

Sw1(config)#int fa 0/17

Sw1(config-if)#switchport mode trunk

Sw1(config-if)#^z

.

.

Sw1#vlan database

Sw1(vlan)#vtp domain fred

Sw1(vlan)#exit

.

.

Sw1#show vtp status

Sw1#show interfaces fastethernet 0/17 switchport

.

.

Sw1#show interface fastEthernet 0/17 trunk

.

.

Sw1#show vlan

.

.

.

نکته: هرگاه روی شبکه خود مایل به ایجاد چند domain روی انواع سوئیچ های موجود باشیم براحتی توسط دستور ذکر شده بالا میسیر است اما نکته مهمی که وجود دارد اینکه در صورت تعریف چندین domain باید حتما پسورد همه آنها یکسان باشد.به عبارتی اینجا پسورد نقش یک encryption key  را ایفا می نماید.

 

لیست دستورات پیکربندی سوئیچ برای ایجاد vlan

 

 

 

توضیح

نام دستور

قرار دادن کاربر در وضعیت پیکربندی vlan

Vlan database

تعریف پارامترهای لازم vtp در وضعیت  vlan configuration mode

Vtp {domain domain-name|password password|pruning|v2-mode|{server|client|transparent}}

جهت نامگذاری و ایجاد یک vlan

Vlan vlan-id{name vlan-name}

جهت ایجاد ارتباط trunk بین سوئیچها

Switchport mode {access|dynamic{auto|desireable|trunk}}

جهت عبور پکتهای vlan های خاص از ارتباط trunk

Switchport trunk {{allowed vlan vlan-list}|native vlan vlan-id}|pruning vlan vlan-list}}

جهت تعریف اینترفیسهای موجود در سوئیچ بصورت ارتباط access

Switchport access vlan vlan-id

مشاهده وضعیت trunk

Show interfaces [interface-id|vlan vlan-id][switchport|trunk]

مشاهده اطلاعاتی در مورد vlan

Show vlan {brief|id vlan-id|name vlan-name|summary}

نمایش اطلاعاتی در مورد vlan

Show vlan [vlan]

مشاهده اطلاعاتی در مورد vtp و وضعیت پیکربندی آن

Show vtp status

مشاهده اطلاعاتی در مورد پیکربندی stp درون یک vlan خاص

Show spainig-tree vlan vlan-id

 

 

آموزش کار با سوئیچهای سیسکو (بخش سوم)



VTP MODES

 سه گزینه برای پیکربندی سوئیچها داریم:

CLIENT

SERVER

TRANSPARENT

 

سوئیچ در حالت TRANSPARENT تنظیمات را قبول میکند (ایجاد، تغییر یا حذف VLAN) اما سوئیچهای دیگر شبکه را تحت تاثیر قرار نمیدهد. سوئیچهای SERVER پس از اعمال تغییرات اقدام به انتشار آنها روی همه سوئیچهای دیگر شبکه میکنند.هنگام دریافت یک پیام VTP  سو.یچ سرور ابتدا بانک اطلاعاتی خود را بروز کرده سپس اقدام به انتشار مجدد پیام روی سایر پورتهای خود میکند.

این عمل از طریق پورتهای TRUNK انجام میگردد.هنگامی که یک پیام VTP به سوئیچ Transparent وارد میشود این سوئیچ پیام رسیده را بدون هیچ تغییری در خود به سایر سوئیچها از طریق اتصال TRUNK ارسال خواهد نمود.سوئیچهای CLIENT با دریافت پیامهای VTP بانک اطلاعاتی تنطیمات خود را بروز کرده و سپس از طریق پورت TRUNK اقدام به ارسال اطلاعات میکنند.CLIENT ها همیشه اطلاعات را از طریق SERVER ها دریافت میکنند اما تغییری در اطلاعات نمیدهند فقط خود را تغییر میدهند.معمولا یک سوئیچ را در وضعیت SERVER قرار داده   و بقیه را در حالت CLIENT قرار میدهیم.

TRANSPARENT

CLIENT

SERVER

نوع عملیات

+

-

+

افزودن VLAN  هاحذف و تغییر تنطیمات مربوطه

-

-

+

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

+

+

+

توانایی انتشار پیامهای VTP

-

+

+

پذیرش تغییرات

-

-

+

حالت پیش فرض موجود

 

 

=================================

 

مثال 1:مشاهده وضعیت پروتکل STP روی پورت شماره 17:

 

Sw1-2950#show spaning-tree interface fastethernet 0/17

مثال2:تیدیل سوئیچ 2950 به root switch بصورت اجبار و دستی:

Sw1-2950#configure terminal

Sw1-2950(config)#spaning-tree vlan 1 root primary

مثال 3:ایجاد یک channel group روی هر دو پورت 16و17 از سوئیچ 2950 که البته واضح است روی سوئیچ طرف مقابل هم باید این عمل تکرار گردد:

 

Sw1-2950#configure terminal

Sw1-2950(config)#int fa 0/16

Sw1-2950(config-if)#channel-group 1 mode on

Sw1-2950(config)#int fa 0/17

Sw1-2950(config-if)#channel-group 1 mode on

Sw1-2950(config-if)#^z

Sw1-2950#show spanning-tree

Sw1-2950#show etherchannel 1 summary

 

 

 

VTP PRUNING

 

این خصوصیت مخصوص سوئیچهای سیسکو بوده و امکان حذف یا اضافه نمودن خودکار vlan ها روی اتصالات trunk را به سوئیچها میدهد.بطور پیش فرض خود اتصال vlan عضو تمامی vlan های روی سوئیچ است و این یعنی که در صورت اقدام به ایجاد پیام broadcast یا multicast روی هر یک از vlan ها ،سوئیچی که  پیام را دریافت مینماید اقدام به ارسال پیام روی همه پورتهای خود خواهد نمود که البته برای فایلهای با حجم بالا یک معضل بزرگ بواسطه هدر رفتن پهنای باند خواهد بود.

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

1)استاتیک

2)داینامیک

 

در روش استاتیک عمل حذف vlan های غیر ضروری توسط اتصال trunk باید به طریق دستی صورت  روی هر سوئیچ جداگانه گیرد که در موارد تعداد سوئیچ بالا یک معضل خواهد بود.

 

در روش داینامیک سو.یچهای شبکه علاوه بر اطلاعات موجود در پیامهای vtp اطلاعات موجود در زمینه vlan  ها را با سوئیچهای دیگر شبکه به اشتراک خواهند گذاشت ، در نتیجه هر سوئیچ توانائی حذف vlan بلا استفاده روی پورتهای خود را خواهد داشت.نکته آنکه در حالت استفاده vtp pruning باید همه سوئیچها روی حالت server تنظیم شده باشند.ارتباط بین سوئیچها جهت اگاه نمودن یکدیگر از طریق پورت trunk صورت خواهد گرفت همانگونه که انتظار داریم.

 

 

مثال 4: پیکربندی vtp روی سوئیچ 2950(در سیستم عامل های نگارش کمتر از 11 سیسکو)

 

2950#vlan database

2950(vlan)#vtp domain vtp_domain_name

2950(vlan)#vtp server|client|transparent

2950(vlan)#vtp password vtp_password

2950(vlan)#vtp pruning

2950(vlan)#abort     or      2950(vlan)#exit

2950#configure terminal

2950#(config)#snmp-server enable traps vtp

 

خط اول برای ورود به حالت database های  vlan میباشد.در خط دوم نام domain را وارد میکنیم زیرا برای اقدام به اشتراک گذاشتن اطلاعات vlan همه سوئیچها باید در یک domain قرار داشته باشند.اگر دستور vtp mode استفاده نشود پیش فرض با حالت server میباشد.در صورت استفاده از پسورد باید آن پسورد روی همه سوئیچهای domain یکسان باشد.نکته دیگر آنکه در صورت فعال نمودن  خاصیت pruning روی سوئیچ سرور سایر سوئیچها نیز اقدام به فعال نمودن آن خواهند نمود.

 در  این مثال در صورت استفاده از abort تغییرات دخیره نمیشود و خروج انجام میگیرد اما در حالت exit تغییرات انجام شده و خروج خواهیم نمود.

 

مثال 5: پیکر بندی vtp روی سوئیچهای سیسکو مدل 2950 با سیستم عامل نگارش 11 و بالاتر از 11

 

2950(config)#vtp domain vtp_domain_name

2950(config)#vtp mode server|client|transparent

2950(config)#vtp password vtp_password

2950(config)#vtp pruning

 

برای مشاهده وضعیت vtp:

2050#show vtp status

2950#show vtp counters

آموزش کار با سوئیچهای سیسکو (بخش دوم)

توضیح

دستور پیکربندی

یک سوئیچ موجود در یک vlan به اجبار root تعریف میکنیم(  global configuration command)

Spanning tree vlan vlan-id root

تعیین priority موجود در یک vlan برای یک سوئیچ که خود موجب تعیین root خواهد شد. (  global configuration command)

Spanning-tree vlan vlan-id (priority priority)

تغییر پارامتر cost برای یک interface خاص

Spaning tree cost cost

فعال نمودن خاصیت channel group روی یک interface خاص

Channel-group channel-group-number mode {auto|desirable|on}

مشاهده وضعیت پروتکل stp

Show spanning-tree

مشاهده وضعیت stp روی یک interface  خاص

Show spanning-tree interface interface-id

مشاهده وضعیت stp روی یک vlan  خاص

Show spanning-tree vlan vlan-id

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

Debug spaning-tree

مشاهده وضعیت etherchannel روی سوئیچ

Show etherchannel {channel-group-number|brief|detail|port|port-channel|summary}

 

VLAN

مجموعه ای از تجهیزات که در یک broadcast domain قرار دارند.

میتوان روی هر یک از پورتهای یک سوئیچ یک vlan تعریف نمود(روش static ) و یا vlan را بر اساس mac address های موجود در پورتهای مختلف طراحی نمود(روش dynamic).به هر صورت هر vlan به مانند یک شبکه جداگاته خواهد بود.سوئیچ 2950 تا حدود 250 vlan  را پشتیبانی میکند.

 

Etherchannel

ترکیبی از دو تا هشت کانال ارتباطی  بین زوجهای یکسان از سوئیچها را گویند.stp یک etherchannel را همانند یک single link شناسائی میکند و بهمین علت مشکل خاصی در stp رخ نخواهد داد.بدون وضعیت etherchannel ، stp همه لینکهای channel شده را به جز یکی از آنها block  میکند.

عمل etherchannel جهت مهیا نمودن حداکثر پهنای باند شبکه ای بین شبکه بکار میرود.همه لینک های trunk  در این وضعیت یا در وضعیت forward و یا در وضعیت   block خواهند بود.بطور مثال هرگاه بین دو سوئیچ با پورت گیگابایت نیاز به پهنای باند 2 یا سه برابر داشته باشیم تیازی به استفاده از فیبر نوری با هرینه های آنچنانی نیست.کافیست 2 یا 3 پورت را از دو سوئیچ به هم متصل نموده و سپس یک ETHERCHANNEL  بین آنها روی این پورتها تعریف کنیم تا مانند یک پورت واحد در نطر گرفته شوند.

 

 

انواع اتصالات در vlan

·        Access link

·        Trunk

 

Access link:از کارت شبکه استاندارد و فریمهای Ethernet استفاده میکند.به عبارت ئیگر در یک سو سوئیچ و در سوی دیگر 802.3 و یا Ethernet II میباشد.به عبارت دیگر دستگاههای موجود در accesslink در یک broadcast domain قرار دارند.

 

اتصالات trunk: بر خلاف نوع قبل بیش از یک عدد vlan را از طریق یک لینک پشتیبانی میکنند. بدین صورت میتوان از طریق فقط یک ارتباط فیزیکی تعداد زیادی ارتباط مجازی ایجاد نمود.trunk  معمولا بین switch-switch ویا switch-router ویا switch-server بکار میرود که البته برای حالت server نیاز به کارت شبکه مخصوص بر روی سرور میباشد.نکته آنکه هرگاه بین سوئیچهای مختلف در شبکه vlan های مختلف تعریف نموده باشیم برای ارتباط بین ِآن سوئیچها نیاز به تعریف trunk  خواهیم داشت.یک vlan مانند یک broadcast domain است بنابراین سوئیچهای لایه 2 ترافیک را بین vlan های مختلف نمی توانند رد و بدل کنند اما سوئیچها لایه 3 میتوانند این ترافیک را بین vlan ها route  کنند.

 

 

ISL,802.1Q

 

ISL:

توسط سیسکو و قبل از استانداردهای نسخه  IEEE طراحی شد.بنابراین فقط در سوئیچ های سیسکو قابل استفاده است.در پروتکل مزبور دو بخش trailer , header توسط سوئیچ به دو سر فریم اضافه میشوند.کاربرد ان در trunking  بوده و طول پکت اینجا به 1548 بایت خواهد رسید که از حد مجاز بیشتر است بنابراین کارت شبکه های استاندارد آنرا giant تشخیص داده و از بین میبرند.

 

802.1q

این روش توسط IEEE از روی نسخه ISL سیسکو ارائه شد و بین تولید کنندگان مختلف مشترک بوده و قابل استفاده بین همه تجهیزات شرکتهای مختلف تولید کننده میباشد.این پروتکل از دو روش استفاده میکند:

  1. فریم های Ethernet  را بدون تغییر ارسال میکند یعنی دیگر giant نداریم
  2. از native vlan استفاده میکند یعنی هر تجهیزی که به هر پورتی متصل میگردد ، عضو vlan همان پورت خواهد بود.

3.PVST(per vlan stp)

هرگاه درون هر vlan تعریف stp جداگانه داشته باشیم آنگاه pvst  خواهیم داشت.

 

میتوان هر پورت سوئیچ را عضو یک vlan نمود یا هر mac-address را عضو یک vlan کردو به سوئیچ فهماند که این mac-address از هر پورتی که وصل شد عضو vlan  شماره x است.

 

 

 

VLAN TRUNKING PROTOCOL(VTP)

 هرگاه چند سوئیچ مختلف در شبکه موجود باشد و VLAN های مختلفی نیز روی آنها تعریف شده باشد آنگاه جهت آنکه سوئیچ های مختلف در باره یگدیگر اطلاعات لازم را داشته باشند نیاز به پروتکلی داریم که حمل این اطلاعات بین سو.یچهای مختلف را انجام دهد و آن پروتکل VTP خواهد بود.این پروتکل مخصوص سیسکو بوده و در ضمن فقط از طریق اتصالات TRUNK جابجا میگردد. یکی از وطایف جالب آن انتشار تنظیمات روی یک سوئیچ برای تمامی سوئیچها میباشد.این مسئله پاره ای مشکلات را هنگام پیکربندی سوئیچهای شبکه از بین خواهد برد.مثلا تصحیح نام صحیح یک VLAN  در پیکربندی یک سوئیچ که اشتباه وارد نموده ایم.و یا هنگامی که یک admin را از روی شبکه پاک میکنیم اعلام یا اضافه میکنیم پروتکل مزبور مسئول اعلام تنظیمات مختلف به همه سوئیچهای شبکه خواهد بود