NetFlow یک ابزار تعبیه‌شده در نرم‌افزارهای Cisco IOS  است که برای عمل کاراکتری کردن شبکه استفاده می‌شود. مدیر شبکه نیاز دارد تا از یک سری موارد در درون شبکه آگاهی داشته باشد که به‌قرار زیر است:

  1. میزان استفاده از اپلیکیشن‌های شبکه
  2. میزان استفاده از منابع شبکه
  3. مشخص شدن تهدیدات امنیتی و آسیب‌پذیری‌های شبکه

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

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

اهمیت در حال افزایش آگاهی از شبکه:

عملکرد مانیتورینگ SNMP

مشتری‌های قدیمی معمولاً برای مانیتور کردن پهنای باند شبکه از پروتکل ساده SNMP استفاده می‌کردند اگرچه که SNMP ظرفیت برنامه‌ریزی را ساده می‌کند. اما خیلی از مزیت‌هایی را که می‌توان در Net Flow  یافت را ندارد .در SNMP شمارش تعداد پکت ها و بایت‌ها خیلی به کار می‌آید و مفید است اما فهمیدن اینکه آدرس IP مبدأ و مقصد یک ترافیک کدام است یا اینکه کدام app ها از شبکه استفاده بیشتری می‌کنند کاری نیست که این پروتکل انجام دهد.

Net Flow بسیاری از مشکلات رایجی که توسط متخصصین IT برشمرده شده‌اند را برطرف می‌کند همچون :

  1. آنالیز کردن app های جدید و نوع تماس آن‌ها با شبکه
  2. شناسایی بار appهای جدید شبکه همانند VOIP و کنترل از راه دور بخش‌ها
  3. کاهش بار ترافیک در ترافیک WAN ها
  4. Troubleshooting و فهمیدن مشکل اصلی در شبکه
  5. شناسایی ترافیک WAN ناشناس در شبکه
  6. امنیت
  7. ارزیابی پارامترهای QoS

حال این موضوع مطرح می‌شود که Net Flow  چگونه اطلاعاتی را که در بالا ذکر شد را در اختیار ما می‌گذارد، هر بسته‌ای که توسط روترها یا سوییچ ها ارسال می‌شوند با استفاده از پروتکل IP که شامل یک سری از خصیصه‌ها ازجمله آدرس IP مبدأ و مقصد، شماره پورت مبدأ و مقصد، نوع پروتکل لایه 3، شماره اینترفیس سوییچ یا روتر و کلاس سرویس موردنظر است موردبررسی قرار می‌دهد.

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

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

  1. آدرس مبدأ نشان‌دهنده این است که بفهمیم چه کسی ترافیک را مدیریت می‌کند.
  2. آدرس مقصد مشخص می‌کند چه کسی ترافیک را گرفته
  3. پورت مشخص می‌کند چه App هایی در حال استفاده از ترافیک هستند
  4. کلاس یک سرویس، اولویت یک ترافیک را مشخص می‌کند
  5. اینترفیس دستگاه‌ها می‌گویند که ترافیک چگونه توسط دستگاه‌های شبکه مورداستفاده قرار می‌گیرد.
  6. و شمارش پکت ها و بایت‌ها میزان ترافیک موجود در شبکه را نشان می‌دهد.

اطلاعات اضافی نیز به جریان اضافه می‌شوند که شامل موارد زیر است:

  1. جریان تایم استمپ برای فهمیدن سیر زندگی جریان است، همچنین آن برای محاسبه تعداد پکت ها و بایت‌ها در هر ثانیه مفید است.
  2. مشخص شدن آدرس هاپ بعدی که شامل مسیریابی BGP در سیستم‌های خودمختار می‌شود.
  3. Subnet mask برای آدرس‌های IP مبدأ و مقصد برای محاسبه prefix ها
  4. پرچم‌های TCP تا دست تکان دهی TCP را امتحان کنند.

چگونه به داده‌هایی که توسط net flow تهیه می‌شوند می‌توان دسترسی داشت؟

دو روش اصلی برای دسترسی به داده‌های net flow  وجود دارد:

  1. محیط دستوری CLI
  2. استفاده از ابزارهای برنامه‌های گزارش دهی

اگر خیلی برایتان جالب است که به‌صورت فوری ببینید در شبکه چه چیزی در حال اتفاق افتادن است از CLI می‌توانید استفاده کنید.CLI NetFlow  برای Troubleshooting  خیلی مؤثر است.

تعریف چند بخش در NetFlow :

  1. NetFlow cache: حافظه‌ای است که به‌صورت مداوم توسط جریان‌ها و نرم‌افزار در حال پر شدن است در روتر و سوئیچ به دنبال جریان‌هایی که تمام‌شده‌اند یا تاریخ آن‌ها به اتمام رسیده است، هستیم و در نهایت این جریان‌ها به سرور جمع کننده NetFlow  صادر می‌شود.
  2. NetFlow Collector: وظیفه سرهم کردن و فهمیدن جریان‌های صادرشده و ترکیب کردن آن‌ها برای به دست آوردن یک گزارش دارای مقدار را دارد. که برای آنالیز ترافیک و امنیت به کار می‌رود.

قدم‌های زیر برای آماده شدن یک گزارش از داده‌های NetFlow  انجام می‌شود:

  1. NetFlow طوری طراحی‌شده است که جریان‌های گرفته‌شده را به حافظه NetFlow  منتقل کند
  2. NetFlow صادرشده پیکربندی‌شده تا جریان‌ها را به Collector ارسال کند.
  3. Netflow Cache به دنبال جریان‌هایی می‌گردد که تمام‌شده‌اند یا به سرور جمع کننده‌ی دیگری صادرشده‌اند.
  4. تقریباً 30 تا 50 تا از جریان‌ها با یکدیگر در یک دسته قرار می‌گیرند و با استفاده از UDP برای سرور جمع کننده ارسال می‌شوند.
  5. و نهایتاً نرم‌افزار جمع کننده netflow یک گزارش آنی و تاریخی از جریان‌ها درست می‌کند..

خلاصه

Netflow یک تکنولوژی مهم که در دستگاه‌های سیسکو در دسترس است تا به کمک آن، بفهمیم شبکه چگونه و چطور در حال کار کردن است، که این باعث کاهش هزینه‌ها، کاهش زمان  Troubleshooting  و ساده‌سازی گزارش‌ها و فهمیدن میزان استفاده از شبکه می‌شود و همچنین به دلیل استفاده از IP می‌توان از آسیب‌پذیری‌های امنیتی جلوگیری کرد.

NetFlow این اجازه را می‌دهد تا متوجه شویم چه کسی در حال استفاده از شبکه است و مقصد ترافیک کجاست !؟