پروتکل NetFlow ابزاری نهفته در نرم افزار Cisco IOS است که عملکرد شبکه را توصیف می کند. برخورداری از visibility نسبت به اجزا و عملکردِ شبکه امری ضروری برای شاغلین IT به شمار می آید. اپراتورهای شبکه دریافته اند که برای پاسخگویی به نیازهای شبکه، باید به درک درستی از رفتار شبکه برسند. این رفتارها شامل موارد زیر می شوند:
پروتکل NetFlow این نیازها را برآورده می سازد. محیطی را ایجاد می کند که ادمین به واسطه آن ابزارهایی را در اختیار خواهد داشت تا دریابد که چه کسی، چه چیزی، چه زمانی، کجا و چگونه ترافیک شبکه در جریان است. هنگامی که رفتار شبکه فهمیده شود، فرآیندهای کسب و کار بهبود خواهد یافت و تاریخچه ای از چگونگی بهره برداری از شبکه ارزیابی خواهد شد. این افزایش آگاهی، نقاطِ آسیب پذیر شبکه را کاهش می دهد و منجر به اجرای کاراترِ عملیات در شبکه می شود. بهبود در عملیات شبکه، هزینه ها را کاهش می دهد و بنابراین از طریق بهره برداریِ بهتر از زیرساخت های شبکه، بازده کسب و کار افزایش می یابد.
در اغلب شبکه ها برای مانیتورِ پهنای باند از پروتکل SNMP استفاده می شود. اگرچه SNMP طراحی ظرفیت شبکه را ساده می سازد، اما برای توصیف الگوهای ترافیکی ضعیف است، الگوهایی که در فهمِ چگونگی پشتیبانی از کسب و کار ضروری اند. درک عمیقتر از چگونگی استفاده از پهنای باند، در شبکه های IP امروزی از اهمیت بسیار بالایی برخوردار است. استفاده از counter ها در SNMP مفید هستند اما فهم اینکه چه آدرس های IP مبدا و مقصدِ ترافیک هستند و چه اپلیکیشن هایی ترافیک را تولید می کنند، ارزش بسیاری خواهد داشت.
توانایی توصیفِ ترافیک شبکه و تشخیص اینکه این ترافیک چگونه و از کجا در جریان است برای دسترس پذیری، کارایی و عیب یابی شبکه اهمیت بسیاری دارد. مانیتورینگ جریان های ترافیک شبکه برنامه ریزیِ دقیق تر برای ظرفیت شبکه را تسهیل می کند و تضمین خواهد نمود که منابع مورد استفاده اهداف سازمان ها را پوشش می دهند. به کارکنان IT در تعیین موارد به کارگیریِ QoS، بهینه سازی استفاده از منابع کمک می کند. همچنین نقشِ اساسی را در رابطه با امنیت شبکه برای تشخیص حملات DoS، worm ها و دیگر رویدادهای ناخوشایندِ شبکه ایفا می کند.
هر packet که توسط روتر یا سوییچ سیسکو ارسال می شود از لحاظ مجموعه ای از ویژگی ها در بسته IP ارزیابی می شود. این ویژگی ها هویت بسته IP یا به عبارتی اثر انگشت آنها هستند و تعیین خواهند نمود که بسته منحصر به فرد است یا مشابه با دیگر بسته ها.
IP Flow به مجموعه ای پنج تایی یا حداکثر هفت تایی از ویژگی های بسته IP بستگی دارد. ویژگی های بسته IP که مورد استفاده قرار می گیرد، عبارتند از:
همه بسته هایی که آدرس IP مبدا/مقصد، پورت مبدا/مقصد، protocol interface و CoS یکسانی دارند در یک flow دسته بندی می شوند و سپس بسته ها مورد بررسی قرار می گیرند. این روش کار در تعیین یک flow قابل ارتقاست چرا که حجم بالای اطلاعات شبکه درون پایگاه داده ای از اطلاعات NetFlow فشرده می شوند که به آن NetFlow Cache می گویند.
ایجاد یک flow در NetFlow Cache
اطلاعات flow برای فهم رفتار شبکه بسیار مفید است.
اطلاعات دیگری که به یک flow افزوده می شوند، عبارتند از:
مثالی از داده های موجود در NetFlow Cache
دو روش اولیه برای دسترسی به داده های NetFlow وجود دارد: استفاده از CLI یا بهره مندی از ابزار گزارشگیری. اگر بخواهید نگاهی لحظه ای بیاندازید به آنچه که در شبکه رخ می دهد، می توانید از CLI استفاده نمایید. NetFlow CLI کاربرد بسیاری برای عیب یابی دارد.
انتخاب دیگر، ارسال این اطلاعات به یک سرور گزارش گیری است یا به ابزارهایی که NetFlow collector نامیده می شوند. NetFlow collector وظایفی از جمله سرهم سازی و فهمِ flow های صادر شده و همچنین ترکیب یا ادغام آنها را بر عهده دارد. این وظایف به منظور تولید گزارش های ارزشمندی است که برای تحلیل امنیت و ترافیک استفاده می شوند. اطلاعات به صورت دوره ای به NetFlow collector صادر می شود. به طور کلی NetFlow cache همواره با flow ها در حال پر شدن است و نرم افزاری در روتر یا سوییچ در cache جستجو می کند تا flow هایی که خاتمه داده شده اند یا منقضی شده اند، بیابد و این flow ها به سرور NetFlow collector صادر می شوند. هنگامی که اتصال شبکه قطع شود، flow ها خاتمه می یابند (به طور مثال یک بسته ای که شامل TCP FIN flag می شود). گام های زیر برای پیاده سازی گزارش گیری از داده های NetFlow استفاده می شوند:
هنگامی که یک flow برای مدتی غیرفعال باشد (یعنی هیچ بسته جدیدی برای flow دریافت نشده باشد) و یا برای مدت زمانی طولانی در حالت active قرار بگیرد و بیشتر از زمان سنجِ active به درازا بکشد (دانلود طولانی مدت FTP)، آماده برای صدور خواهد بود. همچنین هنگامی که یک TCP flag بر خاتمه یافتن یک flow دلالت کند (به طور مثال FIN، RST flag)، آن flow آماده صدور است. برای تعیین اینکه یک flow در وضعیت غیرفعال قرار دارد یا مدت زمان زیادی از حیاتش می گذرد، تایمرهایی وجود دارند. مقدار پیش فرض تایمر برای flow غیر فعال 15 ثانیه و برای flow فعال 30 دقیقه است. همه ی این تایمرها قابل کانفیگ هستند اما در اغلب موارد به جز بر روی پلتفرم سوییچ سیسکو catalyst 6500 از مقادیر پیش فرض استفاده می شود. Collector می تواند flow ها را ترکیب و ترافیک را تجمیع نماید. به طور مثال، دانلود FTP که بیشتر از زمان سنجِ active به درازا بکشد، ممکن است به چندین flow شکسته شود و collector می تواند این flow ها را ترکیب کند که نشان دهنده کل ترافیک FTP به سرور در زمان مشخصی از روز است.
صدور flow ها به NetFlow Collector
فرمت های مختلفی برای بسته های export وجود دارد و اغلب به آنها export version می گویند. این version ها شامل فرمت های 5، 7 و 9 می شوند. رایج ترین فرمت برای NetFlow export نسخه 5 است اما نسخه 9 آخرین فرمت است و مزیت هایی برای تکنولوژی های کلیدی همچون امنیت، آنالیز ترافیک و multicast دارد.
سوییچ های سیسکو که از پروتکل NetFlow پشتیبانی می کنند عبارتند از:
روترهای سیسکو که از پروتکل NetFlow پشتیبانی می کنند:
پروتکل Netflow توسط سیسکو ارائه شده است، برای جمع آوری و ثبت تمامیِ ترافیک های IP گذرنده از یک روتر یا سوییچ سیسکو که قابلیت Netflow در آن فعال است. این پروتکل به شما اجازه می دهد تا ترافیک را از طریق برنامه Netflow Collector یا Analyzer جمع آوری و آنالیز نمایید.
به شما اجازه خواهد داد که واکاوی دقیقی از ترافیک شبکه خود داشته باشید تا به هنگام عیب یابی شبکه ای با سرعت پایین، دریابید مبدا و مقصد ترافیک ها کجاست. زمان لازم برای عیب یابی را کاهش می دهد و تهیه گزارش در رابطه با حجم بهره برداری از منابع شبکه را تسهیل می کند.به شما کمک می کند در فهم اینکه چه کسی در حال استفاده از شبکه است، مقصد ترافیک ها کجاست و اپلیکیشن ها چه حجمی از پهنای باند را مصرف می کنند.
سیسکو در ابتدا پروتکل NetFlow را برای محصولات خودش ایجاد نمود و اندکی پس از آن به استانداری تبدیل شد که بسیاری از سازندگان دیگر آن را بر روی محصولات خود پیاده سازی نمودند. این سازندگان شاملِ (Juniper(JFlow) ، 3Com، HP ، Ericsson(RFlow) ،Netgear(SFlow)، Huawei(NetStream و (Alcatel-Lucent(CFlow می شدند.