خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


NetFlow چیست؟

NetFlow چیست؟
NetFlow پروتکلی است که به منظور جمع آوری ثبت داده های جریان های ترافیک در یک شبکه می باشد. داده های NetFlow نسبت به سایر راه حل های مانیتورینگ، مانند SNMP ، نما و دید دقیق تری از نحوه استفاده از پهنای باند و ترافیک شبکه ارائه می دهد.

نرم افزار سامانه مودیان راهکار
NetFlow توسط Cisco توسعه یافته است و در سیستم عامل IOS سیسکو روی روترها و سوئیچ های شرکت تعبیه شده است و بسیاری دیگر از تولید کنندگان سخت افزار یا از NetFlow پشتیبانی می کنند یا از فناوری های جایگزین دیگر flow مانند jFlow یا sFlow استفاده می کنند.



نسخه های NetFlow

از نظر فنی ده نسخه مختلف NetFlow وجود دارد. اما چندین نسخه فقط به صورت داخلی یا internal منتشر شده که هرگز در سطوح گسترده جز برای برخی سخت افزارهای خاص مورد استفاده قرار نگرفته است.
نسخه اورجینال NetFlow ورژن 1 دیگر منسوخ شده است و امروزه به ندرت مورد استفاده قرار می گیرد. نسخه های 2 تا 4 نسخه های داخلی بودند و هرگز برای عموم منتشر و مورد استفاده قرار نگرفت. نسخه 5 هنوز به طور معمول امروزه مورد استفاده قرار می گیرد چرا که بسیاری روترها و سوئیچ های سیسکو بوده اند در زمان ساختشان، این نسخه Netflow نسخه استاندارد بوده و این نسخه روی IOS های سیسکو پیاده سازی شده است. در netflow ورژن 5، پروتکل Border Gateway Protocol و شماره توالی Flow را به خروجی Netflow اضافه شد که فقط برای ترافیک های IPV4 کار می کند.
نسخه 6 دیگر پشتیبانی نمی شود و به صورت گسترده منتشر نشد. نسخه 7 پشتیبانی از سوئیچ های Cisco Catalyst را با استفاده از native mode یا hybrid mode اضافه کرد. نسخه 8 از زمانی که از NetFlow aggregation مبتنی بر روتر استفاده می شود پشتیبانی می شود. نسخه 9 نسخه فعلی است که از آن استفاده می شود و پشتیبانی گسترده بدون نیاز به تغییر در فرمت ضبط و رکورد کردن جریان را امکان پذیر می کند. این نسخه برای IETF IP Information Export (IPFIX) WG و IETF Pack Sampling WG (PSAMP) ترجیح داده می شود و با IPv4 و IPv6 کار می کند. IPFIX عمدتا NetFlow v10 تلقی می شود زیرا بر اساس NetFlow v9 می باشد ولی در واقع NetFlow نیست.

v1	First implementation, now obsolete
v2 Internal version, no public release
v3 Internal version, no public release
v4 Internal version, no public release
v5 Still commonly used today, only works with Ipv4 flows
v6 No longer supported
v7 Added support for Cisco Catalyst switches
v8 Supports router-based NetFlow aggregation
v9 Current version, template-based, works with IPv6
v10 Used for identifying IPFIX

دستگاه های پشتیبانی شده

تقریباً همه دستگاه های Cisco از NetFlow پشتیبانی می کنند. تنها استثنا سیسکو 2900 ، 3500 ، 3660 ، 3750 است. علاوه بر این ، NetFlow برای بسیاری از Vendor های روترها و سوئیچ ها در دسترس است.

NetFlow چیست؟
NetFlow چیست؟

Flow یک روش گروه بندی جریان یک طرفه بسته ها در مجموعه ای خاص است. این مجموعه ها می توانند بر اساس ویژگی های منطبق در هر بسته پیکربندی شوند، که از جمله انها به موارد زیر می توان اشاره کرد:

IP Source
IP Destination
Source Port
Destination Port
Class of Service
Layer 3 Protocol Type
Interface

با ارسال هر بسته، ویژگی های فوق مورد بررسی قرار می گیرد. یک Flow توسط اولین بسته ای که از مسیر سوئیچینگ عبور می کند ایجاد می شود. هر بسته اضافی با پارامترهای یکسان (IP منبع و مقصد، آدرس، پورت منبع و مقصد، Class of service) در یک flow واحد گروه بندی می شود. هرگونه تغییر در مقدار هر یک از پارامترها flow جدیدی را ایجاد می کند.
روترهای پیشرفته سیسکو از sampled NetFlow پشتیبانی می کنند که در آن فقط یکی از تعداد مشخصی از بسته ها مورد بررسی قرار می گیرد که مناسب برای روترهایی است که بررسی هر بسته یا پکت به دلیل حجم ترافیک غیر عملی است. Sampled flow ها هنگام ارسال اطلاعات flow اثر performance را به طرز محسوس و قابل توجهی کاهش می دهد.

NetFlow cache

مانیتورینگ و گروه بندی هر بسته ای که توسط روتر یا سوئیچ ارسال می شود، داده های زیادی تولید می کند. این داده ها در پایگاه داده ای در دستگاه شبکه به نام NetFlow cache فشرده می شوند. برای هر Flow فعال یک رکورد Flow ثبت می شود. داده های منقضی شده از cache در فواصل منظم بر اساس یک تایمر در سرور NetFlow collector قرار می گیرد(NetFlow collector می تواند یک نرم افزار مانند Solarwinds باشد). NetFlow cache به طور پیش فرض هر ثانیه بررسی می شود.

NetFlow export

Flow ها برای قرار گرفتن در NetFlow Export datagram گروه بندی می شوند. هر دیتاگرام حداکثر از سی Flow تشکیل شده است.

NetFlow record

Flow نسخه 9 بر اساس template است. این بدان معناست که پیشرفت های آینده را می توان بدون نیاز به تغییر رکورد Flow جریان اصلی تنظیم کرد. فرمت رکورد توسط هدر یک بسته تعریف می شود و به دنبال آن حداقل یک template، FlowSet و Data FlowSet وجود دارد. FlowSet یا template FlowSet شرح آنچه در data FlowSet ها ارائه می شود را فراهم می کند. این چیزی است که امکان گسترش رکورد را فراهم می کند. در واقع به جای اینکه در یک مشخصه از قبل تعریف شده تعیین کنیم چه داده هایی و از کجا آمده اند، این تعریف در خود بسته انجام می شود.
هدر بسته در اصل همان نسخه 5 است. این شماره شامل سایر نسخه های بسته، system uptime بر حسب میلی ثانیه، یک sequence number و شناسه سورس می باشد.

NetFlow collector

داده های NetFlow به صورت دوره ای به NetFlow collector گزارش می شود. collector در واقع سرور یا کامپیوتر جداگانه ای است که از نرم افزار NetFlow receiver استفاده می کند که برای جمع آوری، ضبط، فیلتر و تجزیه و تحلیل جریانهای حاصله طراحی شده است(مثل PRTG NetFlow Analyzer). برای مانیتورینگ روی روترهای سیسکو با استفاده از NetFlow 5، باید از NetFlow V5 مثلا در نرم افزار مانیتور شبکه PRTG استفاده کنید. یعنی ورژن ها باید مطابقت داشته باشد. برای روتری که از NetFlow 9 استفاده می کند، به NetFlow V9 نیاز دارید. هر دو flow را در یک دستگاه به طور همزمان فعال کرد، به طوری که یک collector می تواند داده های هر دو نسخه NetFlow را دریافت و گزارش دهد.
NetFlow در بستر پروتکل UDP کار می کند. IP address مربوط به Collector و پورت مقصد باید در روتر یا خود سوئیچ پیکربندی شود. در برخی موارد می توان از SNMP برای فعال کردن NetFlow و پیکربندی IP address مربوط به Collector برای ارسال داده ها استفاده کرد. در Cisco IOS، از دستور ip flow-export می توان برای پیکربندی IP مقصد استفاده کرد. یکی از رایج ترین پورت هایی که برای NetFlow استفاده می شود 2055 است ولی اساسا از هر پورتی در صورتی که در NetFlow receiver به درستی آن را پیکربندی کرده باشید، می توانید استفاده کنید.

NetFlow MIB

دسترسی به برخی از داده های NetFlow از طریق SNMP با استفاده از NetFlow MIB امکان پذیر است. اگرچه به عنوان جایگزینی برای خروجی Netflow طراحی نشده است، اما راهی برای دسترسی به داده های NetFlow از طریق مکانیزم دیگری ارائه می دهد. داده های موجود شامل تعداد flow ها، flow در ثانیه و پکت ها یا بایت ها در هر flow است.

NetFlow data

دسته های زیادی از ترافیک وجود دارد که می توان آنها را با NetFlow کنترل کرد. به عنوان مثال، NetFlow V9 در PRTG اجازه می دهد تا انواع ترافیک را به طور پیش فرض ردیابی و دسته بندی کند.

Chat
Citrix
FTP/P2P
Infrastructure (DHCP, DNS, ICMP, SNMP)
Mail
NetBIOS
Remote Control Protocols
WWW
Total Traffic

در زیر دستور NetFlow Top Talkers بزرگترین مصرف کنندگان بسته و بایت در شبکه را لیست می کند.

Router(config)#ip flow-top-talkers
Router(config-flow-top-talkers)#top 10

ده talker برتر بر اساس پکت Sort شده اند.

R3#show ip flow top-talkers
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Et1/0 172.16.10.2 Et0/0 172.16.1.84 06 0087 0087 2100
Et1/0 172.16.10.2 Et0/0 172.16.1.85 06 0089 0089 1892
Et1/0 172.16.10.2 Et0/0 172.16.1.86 06 0185 0185 1762
Et1/0 172.16.10.2 Et0/0 172.16.1.86 06 00B3 00B3 2
Et1/0 172.16.10.2 Et0/0 172.16.1.84 06 0050 0050 1
Et1/0 172.16.10.2 Et0/0 172.16.1.85 06 0050 0050 1
7 of 10 top talkers shown. 7 flows processed.

کاربرد NetFlow

بارزترین کاربرد NetFlow مانیتورینگ شبکه است. داده های NetFlow اطلاعات استفاده از پهنای باند را به صورت مفصل و جزئی ارائه می دهد که می تواند به روش های مختلف تقسیم بندی شود(توسط کاربر، سیستم کلاینت، تایم و اپلیکیشن). داده ای رسیده به NetFlow collector تقریبا به صورت Real-time است و امکان مانیتورینگ دقیق و تجمیع داده ها را فراهم می کند تا بتوانید تصوری از آنچه در حال وقوع است داشته باشید.
مانیتورینگ pattern یا الگوی ترافیک، الگوهای کاربر و الگوهای برنامه می تواند مدیر را قبل از وقوع مشکلات احتمالی هشدار داده و منبع عیب یابی ارزشمندی را ارائه دهد. یک سیستم یا یک سرویس با استفاده از مقدار قابل توجهی از پهنای باند شبکه می تواند Performance شبکه را برای سایر کاربران تحت تأثیر قرار دهد. ادمین با مشاهده داشبورد شاید بتواند این نتیجه را قبل از وقوع تشخیص دهد یا ممکن است هشداری ایجاد شود تا به مدیر شبکه در مورد الگوهای غیر معمول اطلاع دهد.

Network planning

توانایی تشخیص و واکنش به تغییرات شرایط فعلی شبکه، یک توانایی ارزشمند است. حتی بهتر این است که بتوانید آنچه را که در شرف رخ دادن است را ببینید و به صورت پیشگیرانه به هر موضوعی بپردازید. ثبت و ضبط داده های NetFlow در مدت زمان طولانی و آنالیز روندهای موجود در داده ها فرصتی را برای آگاهی از آنچه شبکه نیاز دارد فراهم می کند. شاید برخی برنامه ها که در زمان های خاصی از هفته یا ماه اجرا می شوند ترافیک بسیار بیشتر ایجاد کنند که به صورت محسوس performance شبکه افت کند. علاوه بر این، داده های NetFlow می تواند تعیین کند که رشد ترافیک در حال حاضر برای سخت افزارهای کنونی بسیار زیاد است و شما فرصت این را پیدا کنید که برای خرید روترها یا سوئیچ های جدیدتر با قابلیت های بیشتر برای مدیریت این حجم از ترافیک را داشته باشید.
داده های NetFlow را می توان با شناسایی جریانهای خاص ترافیک (از جمله محل پیدایش آنها و برنامه هایی که باعث ایجاد آنها شده اند) آنالیز کرد و حتی مشخص کرد که چقدر از شبکه توسط کاربران و گروه های خاص استفاده می شود.

داده های NetFlow نه تنها میزان ترافیک یک اپلیکیشن را نشان می دهد، بلکه زمان و حتی کاربران مربوطه را هم نشان می دهد. مثلا NetFlow می تواند تشخیص دهد که برنامه برای دپارتمان حسابداری بهینه شده است، اما ترافیک زیادی از این برنامه برای سایر دپارتمان ها وجود دارد.

تجزیه و تحلیل امنیتی

NetFlow می تواند به امنیت شبکه نیز کمک کند. مثلا کاربری در شبکه ترافیکی را ایجاد می کند که واقعا با توجه به جایگاه و موقعیت وی، این حجم ترافیک غیر منتظره و نابجاست. شاید اکانت او در معرض خطر بوده و هک شده باشد. داده های NetFlow به سرعت ناهنجاری ها را در ترافیک شبکه تشخیص و نشان می دهد.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز