درس شصت و یکم: SPAN

پیاده سازی SPAN

SPAN چیست؟

SPAN یک قابلیت مخصوص سوئیچ های سیسکو است و بوسیله آن سوئیچ میتواند از بعضی – یا تمام- فریمهای اترنت در حال رفت و آمد روی پورت- یا پورتها- خاصی نسخه کپی تهیه کرده و نسخه کپی را برای یک پورت بخصوص ارسال کند. پورتی که به یک host متصل است و روی host فوق یک نرم افزار تحلیلگر شبکه مانند نرم افزار wireshark نصب میباشد. مکانیزم SPAN هم میتواند توسط هکرها جهت بررسی اطلاعات شبکه مورد استفاده قرار گیرد و هم توسط متخصصین شبکه جهت troubleshooting شبکه.

مفاهیم SPAN

پس کار SPAN اینست که فریم های ورودی / خروجی ( یا هر دو جهت) روی پورت مدنظر را کپی برداری کرده و برای پورتی که host آنالیزر به آن متصل است، ارسال کند. نرم افزار آنالیزر وقتی فریمها را دریافت میکند، آنها را capture میکند و آنگاه محتویات آنها را در مبنای دو و مبنای شانزده به نمایش در می آورد و حتی قابلیت تجزیه یک پیام به بدنه اصلی و نیز header و trailer آن نیز مهیا می باشد. میدانیم که پیکربندی سوئیچ بگونه ای است که فریم های مربوط به یک پورت فقط در اختیار همان پورت قرار میگیرد در حالیکه مکانیزم SPAN مبتنی بر ارسال فریمهای پورت های هدف به پورت میزبان آنالیزر می باشد. پس باید روی سوئیچ پیکربندی SPAN انجام شود. فرض کنید که قصد داریم از فریم های پورت fa 0/18 کپی تهیه شده و برای پورت fa 0/5 ارسال شود. host1 به پورت fa 0/5 متصل است و روی host1 هم نرم افزار wireshark متصل است. در این حالت پورت fa 0/18 را SPAN Source Port و پورت fa 0/5 را SPAN Destination Port می نامیم.

مفهومی وجود دارد به نام SPAN Session که عبارتست از: مجموعه ای از قوانین SPAN که میتواند یک یا چند Source Port را برای خود اختیار کند و حتی مشخص سازد که فقط از فریم های ورودی یا فقط فریمهای خروجی و یا هر دو کپی تهیه شده و برای Destination Port ارسال شود.

در مکانیزم SPAN میتوان از VLAN ها نیز بعنوان Source استفاده کرد. وقتی از VLAN برای SPAN استفاده میکنیم، فریم های تمام پورتهای عضو VLAN برای SPAN نمونه برداری میشوند و نمی توان بعضی از پورت های عضو VLAN فوق را بعنوان استثنا از کپی شدن فریمهایشان معاف کرد. در ضمن چنانچه پورتی به VLAN فوق اضافه شود یا از آن خارج شود هیچ نیازی به پیکربندی مجدد SPAN نیست و SPAN خود را با تغییرات VLAN تطبیق میدهد. در ضمن اگر پورت Trunk نیز عضو VLAN باشد، ترافیک پورت فوق هم برای SPAN ارسال میشود.

بصورت کلی دو نوع SPAN داریم:

  • Local SPAN : همین SPAN که تا کنون با آن آشنا شده اید. هم Source Port ها و هم Destination port روی یک سوئیچ قرار دارند. استفاده از این SPAN رواج بیشتری دارد.
  • Remote SPAN : در این نوع SPAN پورت های Source و Destination روی سوئیچهای متفاوتی قرار دارند.

در این درس قصد بحث در مورد Remote SPAN نداریم ولی بدانید که دو الگوریتم برای پیاده سازی این نوع SPAN وجود دارد:

  • RSPAN: برای ایجاد Remote SPAN بین سوئیچ های لایه دو
  • ERSPAN : برای ایجاد Remote SPAN بین سوئیچ های لایه سه

 شکل ذیل نمایی از توپولوژی یک RSPAN است:

61-1 RSPAN

در RSPAN ترافیک SPAN Source Port یا SPAN Source VLAN را از یک سوئیچ میتوان به SPAN Destination Port روی سوئیچ دیگر ارسال کرد. ارتباط دو سوئیچ لایه دو هم که از طریق اتصالات Trunk برقرار میشود. توجه کنید که پورتهای Trunk قادر به ارسال ترافیک VLAN مورد نظر باشند.

61-2 ERSPAN

در ERSPAN نیز میتوان بین دو سوئیچ لایه سه یک GRE Tunnel ایجاد کرد و سپس ترافیک مورد نظر را از یک سوئیچ به Destination Port روی سوئیچ دیگر ارسال کرد.

 

پیکربندی Local SPAN

باید در پیکربندی Local SPAN انتخاب های درستی داشت. انتخاب Source Port یا Source VLAN مناسب، انتخاب جهت صحیح ترافیک ( ورودی/ خروجی/ هر دو) و البته تعیین Destination Port . پیکربندی SPAN از طریق مجموعه دستورات  Monitor Session صورت میپذیرد. میتوان چندین Monitor Session روی هر سوئیچ تعریف کرد. هر کدام از این Monitor Session ها میتواند دارای یک یا چند Source  باشد. اما از یک نوع. یعنی یا همه پورت باشند یا اینکه یک VLAN باشد. Destination Port نیز باید تعریف شود. در پیکربندی Local SPAN باید موارد ذیل را رعایت کنید:

  • یک پورت نمی تواند بصورت همزمان Destination Port بیش از یک Monitor Session باشد.
  • همچنین Destination port نمیتواند همزمان Source Port یک Monitor Session دیگر باشد.
  • یک Monitor Session میتواند دارای یک یا چند Source Port باشد.
  • یک Monitor Session نمی تواند برای Source از ترکیب پورت و VLAN استفاده کند.
  • برای Source Port های یک Monitor Session میتوان بصورت مستقل جهت ترافیک ( ورودی یا خروجی یا هر دو) را برای عملیات SPAN تعریف کرد.
  • اینترفیس EtherChannel نیز میتواند بعنوان Source Port استفاده شود. ترافیک تمام پورت های عضو Port-Channel در SPAN مانیتور خواهد شد.
  • پورت trunk نیز میتواند بعنوان Source Port استفاده شود. در این حالت SPAN شامل فریمهای همه VLAN هایی خواهد بود که انتقال ترافیک آنها از طریق پورت فوق مجاز میباشد. اما این VLAN ها را میتوان توسط SPAN VLAN filtering محدود کرد.
  • در تعیین محدوده ای از چند پورت متوالی بعنوان Source Port نباید از کلمه range استفاده کرد. بلکه باید شماره پورتهای ابتدا و انتهای محدوده را وارد کرد.

با این توضیحات پیکربندی یک SPAN را آغاز میکنیم:

مرحله نخست: باید در مد گلوبال دستور ذیل را وارد کنید:

Monitor session MS-number source interface type-number  Rx|Tx|Both

هر Monitor Session باید دارای یک شماره باشد. منظور از MS-Number همین شماره است. بعد از interface باید یک پورت یا محدوده ای از پورتها را مشخص کرد. مثلا fa 0/12 یا محدوده بصورت fa 0/14-18.

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

  • RX : جهت ورودی
  • TX : جهت خروجی
  • Both : هر دو

اگر بخواهید Monitor Session شامل VLAN باشد، باید دستور را بصورت ذیل وارد کنید:

Monitor Session MS-number  source VLAN VLAN-id   Rx|Tx|Both

مرحله دوم: باید یک Destination Port برای این Monitor Session تعریف کرد:

Monitor Session MS-number destination interface  type-number

…………………….

یک Destination Port را میتوان با دستور از حالت Destination Port خارج کرد و آنگاه بعنوان Destination port یا Source Port عضو یک monitor Session دیگر کرد.

No monitor session MS-number  destination interface  type-number(port)

…………………….

مثال: قصد داریم که فریم های ترافیک ورودی پورتهای fa 0/18 تا fa 0/22 جهت SPAN به پورت fa 0/5 ارسال شود. SPAN فوق را پیاده سازی میکنیم:

Monitor session 10  source  interface   fa 0/18-22  rx

Monitor session 10  destination  interface  fa 0/5

مثال: قصد داریم که کپی فریم های ترافیک خروجی پورت fa 0/15 جهت SPAN برای پورت fa 0/8 ارسال شود.

Monitor session 12  source  interface   fa 0/15  tx

Monitor session 12  destination  interface  fa 0/8

مثال: قصد داریم که کپی فریم های ترافیک VLAN 50 جهت SPAN به پورت fa 0/15 ارسال شود.

Monitor Session 1  source VLAN 50

Monitor session 1  destination  interface  fa 0/15

در این مثال از هیچکدام از کلمات RX, TX, Both استفاده نکردیم. چون ترافیک بخصوصی مشخص نشد، پس کل ترافیک یعنی both مد نظر بوده است. Both حالت پیشفرض می باشد و اگر جهت ترافیک را ننویسیم، توسط IOS ترافیک both لحاظ خواهد شد. پس احتیاجی به نوشتن both نبود.

 

بررسی پیاده سازی و عملکرد Monitor Session

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

Show  monitor session all

در خروجی این دستور اطلاعات همه Monitor Session ها شامل نوع آنها ( local یا remote )، Source Port ها ( به تفکیک جهت ترافیک)، Destination Port و نوع Encapsulation قابل مشاهده است. این اطلاعات را از طریق دستور ذیل نیز میتوان بدست آورد:

Show  monitor  detail MS-Number

     در طراحی SPAN باید دو نکته را مد نظر داشته باشید:

  • Host میزبان SPAN باید دارای قدرت سخت افزاری/ نرم افزاری جهت پردازش حجم بسیار زیاد اطلاعاتی که دریافت میکند، باشد.
  • فرض کنید که میخواهید کپی فریم های ده پورت fa را برای پورت مقصد بفرستید. اگرپورت مقصد هم از نوع fa باشد ، با سرعت 100Mbps باید به مصاف 1000Mbps برود. پس بهتر است که پورت مقصد در این حالت ترجیحا از نوع Gigabit Ethernet باشد یا بصورت Port-Channel باشد. تازه در این حال هم توصیه میشود که جهت مشخصی از ترافیک را تعیین کنید نه کل ترافیک را.

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

 

 

ترمینولوژی

SPAN: Switch Port ANalyzer

مشاهده همه افزودن یک یادداشت
شما
دیدگاه خود را وارد کنید
رفتن به نوار ابزار