Netflow چیست و مولفههای آن چگونه کار میکنند؟
شفافیت و قابلیت مشاهده جزئیات نقشی اساسی در نگهداری و امنیت شبکهها ایفا میکنند. Netflow پروتکل توسعهیافته توسط سیسکو است که چنین اهدافی را برآورده میکند و در حالی که از دادههای جزئیتر مانند نوع سرویس آیپی برای تشخیص پشتیبانی میکند
به گزارش شبکه – مگ:
Netflow از جمله پروتکلهای دنیای شبکه است که بیش از یک دهه از انتشار میگذرد، اما برخی کارشناسان حوزه شبکه اطلاع چندانی در مورد آن ندارند.
Netflow ضمن آنکه به سرپرستان شبکه امکان نظارت بر کاربران و برنامههای کاربردی را میدهد، این قابلیت را ارائه میکند تا پروتکل مذکور را برای برنامهریزی فرآیندهای شبکه، گزارشگیری در ارتباط با عملکردها، تحلیلهای امنیتی و جمعآوری اطلاعاتی در ارتباط با نحوه تعامل گرهها با شبکه و میزان مصرف منابع استفاده کرد (شکل 1).
در حالت کلی، یک جریان (flow) شامل گروهی از بستهها به عنوان بخشی از تبادلات یکسان بین دو نقطه پایانی در یک شبکه است. به لحاظ فنی یک جریان واحد توسط مجموعهای از پنج نقطه داده تعریف میشود که شامل موارد زیر است:
- آدرسهای آیپی مبدا و مقصد
- پورتهای مبدا و مقصد
- پروتکل
همانگونه که انتظار میرود پروتکل معرفی شده توسط سیسکو توسط تعدادی از محصولات شبکه ساخت این شرکت پشتیبانی میشود. روترهای IOS-XR این شرکت از نرمافزاری استفاده میکنند که روی پردازنده اصلی اجرا میشود.
سیستمعامل IOS XR به لحاظ ساختار شباهت کمی به IOS دارد. این تفاوتها در ارتباط با مولفهها و ساختارهایی نظیر چگونگی پیادهسازی و بهکارگیری حافظه محافظت شده، چندوظیفگی، سیستمعامل مبتنی بر ریزهسته و preemptive است.
IOS-XR مثل سیستمعامل IOS کلاسیک از هسته یکپارچه و فضای مشترک حافظه استفاده نمیکند و برای هر یک از پردازههای جداگانه یک فضای حافظه ایجاد میکند. نکته مهمی که به عنوان یک کارشناس شبکه باید به آن دقت کنید این است که سوییچهای سری Catalyst و Nexus بر مبنای سختافزار اختصاصی TCAM پیادهسازی شدهاند که بهطور کلی جریانهای بیشتری را پشتیبانی میکنند و بر همین اساس تعامل خوبی با پروتکل Netflow را دارند.
تاریخچه و تنوع فروشندگان Netflow
سیسکو تنها فروشنده دستگاههای پشتیبانیکننده از Netflow نیست. روند پیشرفتNetflow از سال 1996 و همراه با عرضه IOS 11.x به عنوان یک راهحل نرمافزاری (به جای راهحلهای سختافزاری) آغاز شد. این فناوری در ابتدا در مقیاس کوچک و برای شبکههای محلی طراحی شده بود.\
بعدها سیسکو به ارزش کار خود پی برد و امکان پیادهسازیهای مبتنی بر سختافزار را به آن اضافه کرد که پهنای باند بیشتری را فراهم میکرد. با معروفتر شدن Netflow تعدادی دیگر از فروشندگان معروف تلاش کردند از مزایای آن بهرهمند شوند.
بر همین اساس شرکتهای مختلف نسخههای اختصاصی خود از این پروتکل را پیادهسازی کردند که همسو با اهداف تجاری آنها بود. از جمله این شرکتها میتوان به Jflow از شرکت جونیپر، NetStream از هوآوی و SFlow از اچپی اشاره کرد. با ارائه راهکارهای مختلف و پیچیدهتر شدن مسائل، در سال 2008 کارگروه مهندسی اینترنت (IETF) تصمیم گرفت IPFIX را به عنوان یک استاندارد رسمی معرفی کند.
گاهی اوقات از IPFIX تحت عنوان Netflow v10 نیز یاد میشود، اما در واقعیت آخرین نسخه رسمی Netflow نسخه v9 است که شباهتهای زیادی با IPFIX دارد. در RFC 3954 به جای استاندارد از نسخه Netflow9 در بخش اطلاعات نام برده شده است، اما IPFIX به عنوان استاندارد در RFC 7012 معرفی شده است.
بهطور کلی از Netflow در سه نسخه پشتیبانی میشود. سیسکو نسخههای 2-4 را به صورت عمومی منتشر نکرد و v1 بهطور طبیعی منسوخ شده است. روترها و سوییچها عموما از نسخههای v5, v8 و v9 Netflow پشتیبانی میکنند. از نسخه v6 دیگر پشتیبانی نمیشود و نسخه v7 مخصوص سوییچهای Catalyst 5K در نظر گرفته شده است.
رکوردهای Netflow از طریق UDP ارسال و توسط Netflow Collector دریافت میشوند. کافی است بگوییم که آدرس آیپی جمعکننده و درگاه مقصد UDP باید با متداولترین پورت UDP 2055 روی روتر ارسالکننده پیکربندی شود.
برخی از پیادهسازیهای Netflow برای پیشگیری از بروز مشکل از دست رفتن بستهها از فناوری SCTP استفاده میکنند. برخی شرکتها و متخصصان شبکه بر این باور هستند که اگر چند جمعکننده مستقل در تعامل با یکدیگر کار کنند، نرخ از دست رفتن بستهها به صفر میرسد، اما واقعیت این است که رویکرد فوق همواره عملکرد خوبی ندارد.
پروتکل Netflow چه اطلاعاتی در اختیار متخصصان قرار میدهد؟
همانگونه که اشاره شد، دستگاهی که Netflow در آن فعال شده تعدادی پارامتر مختلف را بررسی میکند تا جریانهای داده مختلف را مشخص کند. پورتها و پروتکل نقل و انتقال بازیگران اصلی Netflow هستند. آدرسهای مبدا و مقصد میتوانند به مدیران شبکه اعلام کنند چه کلاینتهایی ترافیک را ارسال و دریافت کردهاند.
پورتها نشان میدهند کدام اپلیکیشنها در حال استفاده از ترافیک هستند، کلاس سرویس اولویت را مشخص میکند و رابط کمک میکند تا نحوه استفاده از ترافیک توسط دستگاه را مشخص کنید. پروتکل Netflow میتواند بستهها و بایتهای مبادله شده در شبکه و میزان ترافیک لحظهای را نشان دهد و قادر است دادههای مهر زمانی مرتبط با هر بایت، نشانگرهای TCP برای بررسی تبادلات و زیرشبکه ماسک برای محاسبه پیشوند را با یکدیگر ترکیب کند.
این فرآیند در شرایطی انجام میشود که هر یک از گرههای تحت شبکه حجم قابل توجهی از اطلاعات را تولید میکنند، اما Netflow به دلیل الگوریتم خاصی که دارد قادر به پردازش تمامی این اطلاعات است. برای آنکه بتوانید به شکل کارآمدی از اطلاعاتی که توسط Netflow ارائه شده استفاده کنید باید از ابزارهای تجزیه و تحلیل با کیفیتی استفاده کنید. با تجزیه و تحلیل درست Netflow مدیران شبکه میتوانند از دادههای مع آوری شده برای تعیین موارد زیر استفاده کنند:
- الگوهای عمومی ترافیک
- تشخیص عملکرد کند از جمله گلوگاههای شبکه
- رفتار غیرمعمول شبکه
- تاثیر شبکه در اپلیکیشنهای خاص (نرمافزارهای حساس به زمان)
- ترافیک WAN غیرمجاز و شناسایی رفتار غیرمعمول در شبکه نظیر حملات منع دسترسی به سرویس(DoS)
- اعتبار سنجی کیفیت خدمات (QoS)
- مولفههای Netflow
برای درک کامل پروتکل Netflow، لازم است با مولفههای مختلف آن و نحوه عملکرد هر کدام از آنها آشنا باشید. این مولفهها شامل NETFLOW EXPORTER ،NETFLOW COLLECTOR و NETWORK ANALYZER هستند که هر یک عملکرد مشخصی دارند و کارکردشان بستگی به سختافزاری دارد که روی آن پیادهسازی شدهاند(شکل 2).
Netflow Exporter یک وسیله یا دستگاه شبکه مثل روتر یا دیوارآتش است. وظیفه این مولفه گردآوری بستهها در جریانهای داده است و زمانیکه تصمیم میگیرد جریان منقضی شود سوابق جریان را به جمعکنندهها ارسال میکند.
Netflow Exporter تشخیص میدهد کدام جریانهای دادهای جدید هستند. وقتی بستهها وارد شبکه میشوند، آنها با جدولی از جریانهای اخیر تحت عنوان کش جریان بررسی میشوند. اگر بستهها با این جدول مطابقت داشته باشند اطلاعاتی از قبیل شمارش بسته و طول بایت برای جریان بهروزرسانی میشود، در غیر این صورت یک ورودی جدید ایجاد میشود.
روتر جریانهای داده را در کش منقضی میکند، از آنها خروجی میگیرد یا آنها را حذف میکند. روتر این نشانهها را فلگهای پروتکل TCP مانند FIN یا RST یا هنگامی که یکی از حالت زیر اتفاق افتاده باشد دریافت میکند:
- در یک مهلت زمانی غیرفعال: جریانها زمانی منقضی میشوند که در یک دوره زمانی تعیین شده هیچ بستهای شناسایی نشده باشد. بازه زمانی از پیشفرض تعیین شده پانزده ثانیه است، اما میتوان آنرا متناسب با نیازهای شبکه تنظیم کرد
- در یک مهلت زمانی فعال، اگر یک جریان منقضی نشود، سرپرست شبکه هیچ دادهای دریافت نمیکند، بنابراین ضروری است که دید دقیقی در ارتباط با وضعیت شبکه در اختیار سرپرست شبکه قرار بگیرد. بهطور پیشفرض پس از گذشت مدت زمان 30 دقیقه است، اطلاعات موردنظر برای روتر ارسال میشود. البته سرپرستان شبکه این مقدار را روی یک دقیقه تنظیم میکنند.
Netflow Collector سرور یا دستگاهی است که جریانهای تجمیعی را دریافت میکند و آنهارا برای استفاده توسط پردازشهای انجام شده توسط Netflow Analyzer ذخیره میکند. Netflow Analyzer یک راهحل نرمافزار است و اطلاعات جامعی در ارتباط با وضعیت شبکه ارائه میکند (شکل 3).
سرپرستان شبکه برای آنکه بتوانند اطلاعات دقیقی به دست آورند باید توانایی تحلیل نمودارها، جداول، هشدارها و گزارشهایی که توسط ابزارها ارائه میشود را داشته باشند. البته عملکرد Netflow Analyzer در این زمینه مطلوب است.
چه تفاوتی بین Netflow و SNMP وجود دارد؟
اگر با Netflow کار کرده باشید به احتمال زیاد با SNMP آشنا هستید. با اینحال برخی کارشناسان شبکه به اشتباه تصور میکنند هر دو پروتکل یکسان هستند. اما نکته اینجا است که این دو پروتکل کاملا از هم متمایز هستند. آنها رویکردهای مختلفی را برای نظارت در پیش میگیرند و در سناریوهای مختلف قابل اجرا هستند.
برخلاف Netflow، SNMP قادر است تا دادهها را به صورت لحظهای بازگرداند. این ویژگی مزایای آشکاری به همراه دارد، اما بدون عیب نیست. اگر چه در ارائه وضعیت استفاده از پهنای باند و شبکه بسیار عالی است، اما به میزانی که باید شفاف نیست. SNMP اطلاعات مهم مورد نیاز مدیران شبکه از قبیل کارهایی که کاربر یا اپلیکیشن انجام میدهد، نوع ترافیک و آدرسهای مبدا و مقصد را نگهداری نمیکند.
اساسا SNMP میتواند نشان دهد که مسئلهای وجود دارد، اما برای پیدا کردن علت ایدهال نیست. اغلب نسخههای SNMP با وجود سرعت بالا و سرباری کم برای بازنگری سریع استفاده میشوند، در حالی که میتوان از Netflow برای تجزیه و تحلیل عمیقتر استفاده کرد.
چه تفاوتی بین Netflow و IPFIX وجود دارد؟
وقتی صحبت از مقایسه Netflow و IPFIX در میان باشد، کاربردها و قابلیتهای این دو پروتکل توامان با یکدیگر ارزیابی میشوند. گاهی اوقات از IPFIX تحت عنوان Netflow v10 یاد میشود که مستقیما از Netflow v9 مشتق شده و با نسخههای قبل سازگار است.
اما با تمام این شباهتها هنوز هم دلایل مختلفی وجود دارد که نشان میدهد این دو مفهوم تفاوتهایی با یکدیگر دارند. IPFIX انعطافپذیری بیشتری را هنگام گسترش در خارج از اکوسیستم سیسکو ارائه میدهد. بهطور مثال، میتوان توسط پروتکل مذکور اطلاعاتی را که معمولا برای Syslog در نظر گرفته شده اضافه کرد یا SNMP را مستقیما در بسته ادغام کرد.
علاوه بر این، IPFIX یک تغییر بزرگ در پشتیبانی از شناسه فروشنده دارد. کاربران میتوانند برای جمعآوری اطلاعات، یک شناسه اختصاصی را به هر بخش از دادهها اختصاص دهند. با این توصیف بهتر است تنها از IPFIX استفاده کنیم؟ در پاسخ باید به این نکته توجه داشته باشید که انعطافپذیری همیشه هم خوب نیست.
به بیان دیگر گاهی اوقات انعطافپذیری به ویژه در مبحث نظارت بر عملکردهای شبکه باعث ناسازگاری و سردرگمی میشود. نکته اصلی که باید به خاطر داشته باشید این است که اگر چه IPFIX در بسیاری از سناریوها ترجیح داده میشود، اما همیشه بهترین گزینه برای انجام این کار نیست.
در نقطه مقابل پروتکل Netflow شرکت سیسکو عملکرد ایدهآلی در زمینه جمعآوری و ثبت تمامی ترافیکهای آیپی گذری از یک روتر یا سوییچی دارد که Netflow در آن فعال است. پروتکل مذکور اجازه میدهد تا ترافیک را از طریق برنامه Netflow Collector یا Analyzer جمعآوری و تحلیل کنید. در حال حاضر سوییچهای سیسکو که از پروتکل 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