پروتکل NetFlow
پروتکل NetFlow ابزاری نهفته در نرم افزار Cisco IOS است که عملکرد شبکه را توصیف می کند. برخورداری از visibility نسبت به اجزا و عملکردِ شبکه امری ضروری برای شاغلین IT به شمار می آید. اپراتورهای شبکه دریافته اند که برای پاسخگویی به نیازهای شبکه، باید به درک درستی از رفتار شبکه برسند. این رفتارها شامل موارد زیر می شوند:
- استفاده از شبکه و اپلیکیشن
- بهره وری شبکه و بهره برداری از منابع شبکه
- اثر تغییرات بر شبکه
- ناهنجاری های شبکه و آسیب پذیری های امنیتی
- مسائلِ بلند مدت
برای خواندن ادامه مقاله به ادامه مطلب مراجعه نمایید.
پروتکل NetFlow این نیازها را برآورده می سازد. محیطی را ایجاد می کند که ادمین به واسطه آن ابزارهایی را در اختیار خواهد داشت تا دریابد که چه کسی، چه چیزی، چه زمانی، کجا و چگونه ترافیک شبکه در جریان است. هنگامی که رفتار شبکه فهمیده شود، فرآیندهای کسب و کار بهبود خواهد یافت و تاریخچه ای از چگونگی بهره برداری از شبکه ارزیابی خواهد شد. این افزایش آگاهی، نقاطِ آسیب پذیر شبکه را کاهش می دهد و منجر به اجرای کاراترِ عملیات در شبکه می شود. بهبود در عملیات شبکه، هزینه ها را کاهش می دهد و بنابراین از طریق بهره برداریِ بهتر از زیرساخت های شبکه، بازده کسب و کار افزایش می یابد.
نظارت بر کاراییِ SNMP
در اغلب شبکه ها برای مانیتورِ پهنای باند از پروتکل SNMP استفاده می شود. اگرچه SNMP طراحی ظرفیت شبکه را ساده می سازد، اما برای توصیف الگوهای ترافیکی ضعیف است، الگوهایی که در فهمِ چگونگی پشتیبانی از کسب و کار ضروری اند. درک عمیقتر از چگونگی استفاده از پهنای باند، در شبکه های IP امروزی از اهمیت بسیار بالایی برخوردار است. استفاده از counter ها در SNMP مفید هستند اما فهم اینکه چه آدرس های IP مبدا و مقصدِ ترافیک هستند و چه اپلیکیشن هایی ترافیک را تولید می کنند، ارزش بسیاری خواهد داشت.
پروتکل NetFlow
توانایی توصیفِ ترافیک شبکه و تشخیص اینکه این ترافیک چگونه و از کجا در جریان است برای دسترس پذیری، کارایی و عیب یابی شبکه اهمیت بسیاری دارد. مانیتورینگ جریان های ترافیک شبکه برنامه ریزیِ دقیق تر برای ظرفیت شبکه را تسهیل می کند و تضمین خواهد نمود که منابع مورد استفاده اهداف سازمان ها را پوشش می دهند. به کارکنان IT در تعیین موارد به کارگیریِ QoS، بهینه سازی استفاده از منابع کمک می کند. همچنین نقشِ اساسی را در رابطه با امنیت شبکه برای تشخیص حملات DoS، worm ها و دیگر رویدادهای ناخوشایندِ شبکه ایفا می کند.
پروتکل NetFlow چگونه اطلاعات شبکه را در اختیار شما می گذارد؟
هر packet که توسط روتر یا سوییچ سیسکو ارسال می شود از لحاظ مجموعه ای از ویژگی ها در بسته IP ارزیابی می شود. این ویژگی ها هویت بسته IP یا به عبارتی اثر انگشت آنها هستند و تعیین خواهند نمود که بسته منحصر به فرد است یا مشابه با دیگر بسته ها.
IP Flow به مجموعه ای پنج تایی یا حداکثر هفت تایی از ویژگی های بسته IP بستگی دارد. ویژگی های بسته IP که مورد استفاده قرار می گیرد، عبارتند از:
- آدرس IP مبدا
- آدرس IP مقصد
- پورت مبدا
- پورت مقصد
- نوع پروتکل لایه 3
- Class of Service (راهی برای مدیریت ترافیک در شبکه است، از طریق گروه بندی انواع مشابهی از ترافیک با یکدیگر با هر نوع به عنوان class با سطح اولویت بر خدمات مختص بر خود رفتار می کند)
- Interface مرتبط با روتر یا سوییچ
همه بسته هایی که آدرس IP مبدا/مقصد، پورت مبدا/مقصد، protocol interface و CoS یکسانی دارند در یک flow دسته بندی می شوند و سپس بسته ها مورد بررسی قرار می گیرند. این روش کار در تعیین یک flow قابل ارتقاست چرا که حجم بالای اطلاعات شبکه درون پایگاه داده ای از اطلاعات NetFlow فشرده می شوند که به آن NetFlow Cache می گویند.
اطلاعات flow برای فهم رفتار شبکه بسیار مفید است.
- آدرس مبدا در درک اینکه چه کسی ترافیک را ایجاد می کند، کمک می کند
- آدرس مقصد نشان می دهد که چه کسی ترافیک را دریافت کرده است
- پورتها توصیف کننده اپلیکیشن هایی هستند که از ترافیک شبکه استفاده می کنند
- CoS اولویت ترافیک ها را ارزیابی می کند
- اینترفیسِ دستگاه نحوه استفاده از ترافیک توسط دستگاه های شبکه را نشان می دهد
- بسته های شمارش شده نشان دهنده مقدار ترافیک هستند
اطلاعات دیگری که به یک flow افزوده می شوند، عبارتند از:
- Timestamp مرتبط با flow که به فهم مدتِ حیات یک flow کمک می کند، timestamp برای محاسبه بسته ها در هر ثانیه کاربرد دارد
- آدرس های IP در گام بعد، شامل مسیریابی BGP
- Subnet mask برای آدرس های مبدا و مقصد، به منظور محاسبه prefix
- TCP flag برای ارزیابی TCP handshake
چگونگی دستیابی به داده تولید شده توسط NetFlow
دو روش اولیه برای دسترسی به داده های 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 استفاده می شوند:
- NetFlow کانفیگ می شود تا flow ها را در NetFlow cache ثبت نماید
- NetFlow export کانفیگ می شود تا flow ها را به collector ارسال نماید
- Netflow cache به دنبال flow هایی می گردد که خاتمه یافته باشند و این flow ها به سرور NetFlow collector صادر می شوند
- به طور تقریبی بین 30 تا 50 flow با یکدیگر دسته بندی می شوند و معمولا در فرمت UDP به سرور NetFlow collector منتقل می شوند
- نرم افزار NetFlow collector گزارش هایی real-time یا بر مبنای تاریخ را از داده فراهم می کند
روتر یا سوییچ چگونه تخمین می زند که کدام flow ها به سرور NetFlow collector صادر شوند؟
هنگامی که یک 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 به سرور در زمان مشخصی از روز است.
فرمت داده های صادر شده به چه شکل است؟
فرمت های مختلفی برای بسته های export وجود دارد و اغلب به آنها export version می گویند. این version ها شامل فرمت های 5، 7 و 9 می شوند. رایج ترین فرمت برای NetFlow export نسخه 5 است اما نسخه 9 آخرین فرمت است و مزیت هایی برای تکنولوژی های کلیدی همچون امنیت، آنالیز ترافیک و multicast دارد.
سوییچ های سیسکو که از پروتکل NetFlow پشتیبانی می کنند عبارتند از:
- سوییچ سیسکو Catalyst 3650/3850
- سوییچ سیسکو Catalyst 3750-X از طریق ماژولِ سرویس 3K-X
- سوییچ سیسکو Catalyst 4500-X و 4500 از طریق Sup 7
- سوییچ سیسکو Catalyst 4900M ، 4948E-F
- سوییچ سیسکو 6500 از طریق SUP2T
- سوییچ سیسکو 6500 از طریق SUP720
- سوییچ سیسکو Catalyst 3560-CX و 2960-CX
- سوییچ سیسکو Nexus 1000
- سوییچ سیسکو Nexus 2000
- سوییچ سیسکو Nexus 5000 از طریق ماژول layer 3
- سوییچ سیسکو Nexus 7000 از طریق F Card
- سوییچ سیسکو Nexus 7000 از طریق M card
- سوییچ سیسکو Nexus 9000
- سوییچ سیسکو Nexus 1000v
روترهای سیسکو که از پروتکل NetFlow پشتیبانی می کنند:
- روتر سیسکو ISR G1 و G2
- روتر سیسکو سری 7600
- روتر سیسکو سری 10000
- روتر سیسکو سری XR12000/12000
- روتر سیسکو سری ASR 1000
- روتر سیسکو سری ASR 9000
- روتر سیسکو NCS 5000,6000
- روتر سیسکو CSR 1000v
خلاصه
پروتکل Netflow توسط سیسکو ارائه شده است، برای جمع آوری و ثبت تمامیِ ترافیک های IP گذرنده از یک روتر یا سوییچ سیسکو که قابلیت Netflow در آن فعال است. این پروتکل به شما اجازه می دهد تا ترافیک را از طریق برنامه Netflow Collector یا Analyzer جمع آوری و آنالیز نمایید.
به شما اجازه خواهد داد که واکاوی دقیقی از ترافیک شبکه خود داشته باشید تا به هنگام عیب یابی شبکه ای با سرعت پایین، دریابید مبدا و مقصد ترافیک ها کجاست. زمان لازم برای عیب یابی را کاهش می دهد و تهیه گزارش در رابطه با حجم بهره برداری از منابع شبکه را تسهیل می کند.به شما کمک می کند در فهم اینکه چه کسی در حال استفاده از شبکه است، مقصد ترافیک ها کجاست و اپلیکیشن ها چه حجمی از پهنای باند را مصرف می کنند.
سیسکو در ابتدا پروتکل NetFlow را برای محصولات خودش ایجاد نمود و اندکی پس از آن به استانداری تبدیل شد که بسیاری از سازندگان دیگر آن را بر روی محصولات خود پیاده سازی نمودند. این سازندگان شاملِ (Juniper(JFlow) ، 3Com، HP ، Ericsson(RFlow) ،Netgear(SFlow)، Huawei(NetStream و (Alcatel-Lucent(CFlow می شدند.
منبع : سوئیچ سیسکو