네트워크 트래픽 분석은 네트워크 모니터링 분야의 혁신적인 접근 방식입니다. 이를 통해 관리자는 트래픽 양뿐만 아니라 트래픽의 종류까지 파악할 수 있습니다. 이러한 가시성은 네트워크 병목 현상, 속도 저하, 기타 문제 해결에 매우 중요하며, 용량 계획에도 필수적입니다. 이 글에서는 시중에서 이용 가능한 최고의 무료 sFlow 수집기 및 분석기를 살펴보겠습니다. 시스코의 NetFlow나 개방형 IPFIX와 유사하면서도 차별화된 sFlow는 (거의 모든 벤더에 독립적인 프로토콜로) 네트워크 관리자에게 네트워크 활동에 대한 심층적인 통찰력을 제공합니다.
네트워크 상태를 파악하는 방법은 여러 가지가 있습니다. SNMP(Simple Network Management Protocol)를 사용하여 장치 카운터를 읽고 각 인터페이스의 대역폭 사용량을 계산할 수 있습니다. 소규모 네트워크에는 충분할 수 있지만, 핑, traceroute (또는 tracert), nmap 및 netstat은 기본적인 문제 해결에 도움이 되지만, 트래픽 흐름 분석만큼 포괄적이지는 않습니다.
이 글에서는 sFlow가 무엇인지, 작동 원리, 그리고 어떻게 활용할 수 있는지 알아보겠습니다. 또한 sFlow의 유사 프로토콜인 NetFlow와 비교하고, sFlow와 NetFlow 수집기 및 분석기는 종종 동일하게 사용되지만 실제로는 다르다는 점을 강조합니다. 마지막으로, 상위 5개의 무료 sFlow 수집기 및 분석기를 살펴보겠습니다.
sFlow란 무엇인가?
sFlow에서 “S”는 “샘플링”을 의미합니다. 이는 sFlow 작동 방식의 핵심이며, 다른 트래픽 흐름 분석 시스템과 차별화되는 주요 요인입니다. sFlow의 기능 대부분은 모니터링 대상 장치 자체에서 발생합니다. 따라서 sFlow는 sFlow를 지원하는 장치에서만 작동합니다. 다행히도 주요 네트워킹 장비 제조업체를 비롯하여 sFlow를 지원하는 장치가 많습니다.
sFlow.org 컨소시엄에서 현재 표준을 관리하지만, sFlow는 inMon이라는 회사의 아이디어에서 시작되었으며, 이 회사는 시스템 진화에 대해 상당한 통제력을 행사합니다. 알카텔-루슨트, 브로케이드, 아루바, 시스코, 델, 휴렛패커드, IBM 등 주요 장비 제조업체에서 sFlow를 지원합니다. 실제로 300개 이상의 제조업체가 제품에 sFlow를 통합하고 있습니다.
sFlow의 주 목적은 고속 네트워크를 모니터링하는 것입니다. sFlow는 상태 비저장 패킷 샘플링 프로토콜입니다. sFlow는 데이터 패킷을 상위 수준의 흐름으로 집계하는 개념이 없기 때문에 프로토콜 이름에 “흐름”이라는 단어가 사용된 것은 다소 오해의 소지가 있습니다. sFlow는 패킷 수준에서 작동합니다.
sFlow는 레이어 7까지 모든 계층에 대한 일반적인 패킷 샘플링을 수행합니다. 네트워킹 장치에서 실행되는 sFlow 내보내기는 인터페이스를 통과하는 모든 패킷의 하위 집합에서 데이터를 수집합니다. 샘플링 속도를 설정하여 관리자는 N개의 패킷마다 하나씩 샘플링하도록 선택할 수 있습니다. 내보내기에는 임의의 패킷도 포함됩니다. 내보내기는 각 샘플링된 패킷의 초기 바이트를 장치 카운터와 함께 조합하고 UDP를 사용하여 sFlow 데이터그램 형태로 sFlow 수집기로 전송합니다. 장치는 데이터나 샘플링된 패킷을 캐시하지 않으므로 리소스 사용량을 줄여 고속 네트워크에서도 쉽게 확장할 수 있습니다.
sFlow vs NetFlow, 차이점은 무엇인가?
이름이 비슷하고 많은 수집기 및 분석기가 NetFlow와 sFlow를 모두 지원한다는 사실에도 불구하고, 두 프로토콜은 작동 방식에 있어 매우 다릅니다.
켄틱의 공동 창립자이자 CEO인 Avi Freedman은 NetFlow와 sFlow의 차이점을 도로 교통 모니터링에 비유하여 설명합니다. “NetFlow는 특정 시간 동안 도로를 통과하는 모든 자동차와 버스를 세는 것과 같고 (예: ‘5분 동안 100대의 차가 있었어?’), sFlow를 사용하면 특정 순간에 지나가는 자동차나 버스의 스냅샷을 찍는 것과 같습니다.” 이 비유는 훌륭하지만, NetFlow가 sFlow보다 더 많은 정보를 제공하기 때문에 더 나은 프로토콜이라고 생각하게 만들 수 있다는 점에서 약간의 오해가 있습니다.
NetFlow에서 sFlow보다 더 많은 정보를 얻을 수 있다는 것은 사실이지만, 이것이 반드시 더 나은 프로토콜임을 의미하지는 않습니다. 우선, NetFlow의 리소스 메모리 및 CPU 사용량이 sFlow보다 훨씬 높습니다. 이로 인해 sFlow는 저가형 장치에 더 매력적인 옵션이 됩니다. 정보량의 측면도 있습니다. NetFlow는 더 많은 정보를 수집할 수 있지만, 실제로 필요한 정보인가? 그리고 사용 중인 분석기가 이 정보를 처리할 수 있는가?
주요 질문: NetFlow 또는 sFlow를 사용해야 하는가?
질문은 쉽지만, 만족스러운 답변을 제공하기는 어렵습니다. 앞서 언급했듯이 많은 수집기 및 분석기가 NetFlow와 sFlow 정보를 모두 처리할 수 있습니다. 또한 두 프로토콜을 모두 지원하는 네트워킹 장치가 많기 때문에 둘 중 하나를 선택하는 것이 더 어렵습니다. 주요 결정 요인은 장비에서 지원하는 프로토콜이어야 합니다.
하지만 정말로 한쪽을 선택해야 할까요? NetFlow와 sFlow는 모두 훌륭한 시스템입니다. 그렇다면 두 프로토콜을 모두 지원하는 수집기 및 분석기를 사용하지 않을 이유가 있을까요? sFlow 지원 장치와 Netflow 지원 장치에서 자세한 트래픽 데이터를 얻을 수 있습니다.
두 프로토콜이 모두 내장된 장치는 어떨까요? 예를 들어 많은 시스코 장치에서는 둘 중 하나를 사용할 수 있습니다. 이러한 경우, 리소스 사용량이 적은 sFlow를 사용하는 것이 좋습니다. 물론 NetFlow가 제공하는 추가 정보를 활용하지 않는 경우에 해당합니다.
최고의 무료 sFlow 수집기 및 분석기
저희는 인터넷에서 최고의 무료 sFlow 수집기 및 분석기를 검색했습니다. 발견한 패키지 중 일부는 진정한 무료 패키지입니다. 다른 일부는 무료 평가판이나 기능이 제한된 무료 버전을 제공하는 상용 소프트웨어입니다. 일부는 sFlow만 지원하는 반면, 다른 일부는 sFlow와 NetFlow를 모두 지원하여 더 다양한 용도로 사용할 수 있습니다. 상위 5개의 패키지를 각각 검토했으며, 결과를 발표합니다. 다음은 상위 5개 패키지의 목록입니다.
SolarWinds sFlow 수집기 및 분석기
inMon sFlowTrend
ManageEngine NetFlow 분석기
ntopng 및 nProbe
플릭서 조사기
1. SolarWinds sFlow 수집기 및 분석기(무료 평가판)
SolarWinds는 네트워크 관리 분야에서 잘 알려진 기업입니다. 이 회사는 관리자가 장비에서 일어나는 일을 더 잘 파악할 수 있도록 돕는 최고 수준의 소프트웨어를 개발합니다. 주력 제품은 네트워크 성능 모니터(NPM)입니다.
SolarWinds는 다양한 무료 및 유용한 도구를 개발하는 것으로도 알려져 있습니다. IP 주소 계산기는 초보자가 서브넷과 호스트 주소를 파악하는 데 도움이 되며, 다양한 유형의 제한적이지만 유용한 모니터링 시스템이 있습니다. 이러한 제품 중 하나인 SolarWinds Real-Time Netflow Analyzer는 이전 기사에서 소개되었습니다.
하지만 이 글은 NetFlow가 아닌 sFlow에 관한 것입니다. SolarWinds는 Real-Time NetFlow Analyzer와 동일한 무료 sFlow 도구는 없지만, NetFlow Traffic Analyzer(NTA) 모듈에서 sFlow 수집기 및 분석기 기능을 제공합니다. NTA는 NPM의 모듈입니다. NTA와 NPM 모두 무료 제품은 아니지만 30일 무료 평가판을 사용할 수 있습니다. SolarWinds는 대부분의 제품에 대해 30일 평가판을 제공하므로 부담 없이 사용해 볼 수 있습니다.
다운로드 링크: https://www.solarwinds.com/netflow-traffic-analyzer
다소 오해의 소지가 있는 이름에도 불구하고, SolarWinds NetFlow 트래픽 분석기는 NetFlow 및 sFlow 데이터를 모두 처리할 수 있습니다. 따라서 일부 장치는 하나의 프로토콜을 지원하고 다른 장치는 다른 프로토콜을 지원하는 환경에 적합한 선택입니다. NTA는 sFlow 수집기로서 모니터링하는 장치에서 모든 sFlow 데이터를 수집합니다.
NPM과 NTA는 함께 다양한 벤더 네트워크를 관리하는 관리자를 지원하는 인상적인 기능을 제공합니다. SNMP, 트래픽 분석, 성능 분석, 경고, 보고, 정책 최적화 등을 사용하여 대역폭을 모니터링할 수 있습니다.
기본적으로 NetFlow 트래픽 분석기의 요약 페이지에는 대역폭 사용량에 따라 상위 5개 애플리케이션, 상위 5개 엔드포인트, 상위 5개 대화 또는 상위 10개 소스와 같은 여러 섹션이 표시됩니다. 또한, 트래픽 흐름 분석기로서 가장 많은 대역폭을 사용하는 사용자, 애플리케이션, 프로토콜을 식별할 수 있으므로 관리자가 네트워크 정체의 원인을 빠르게 찾을 수 있습니다. 포트, 소스, 대상, 프로토콜 등과 같은 다양한 기준에 따라 결과를 정렬할 수 있으며, 분, 일, 월 단위의 트래픽 패턴을 볼 수 있습니다.
NTA와 NPM은 모두 엔터프라이즈급 소프트웨어로, 수백 개는 아니더라도 수십 개의 장치가 있는 대규모 네트워크까지 확장할 수 있도록 설계되었습니다. 따라서 시스템에서 상당한 리소스를 소비하므로 전용 하드웨어에 설치해야 합니다. 하지만 수많은 sFlow 지원 장치로 이러한 네트워크를 관리하는 경우 NTA의 sFlow 수집 및 분석 기능을 사용해 볼 가치가 있습니다. 초기 설정에는 약간의 노력이 필요하지만, 확실한 보상을 받을 수 있습니다.
2. inMon sFlowTrend
sFlow를 개발한 회사인 inMon은 자체적인 무료 모니터링 도구인 sFlowTrend 소프트웨어를 제공합니다. 기능은 제한적이지만, 훌륭한 도구입니다. 무료 버전에서는 최대 5개의 sFlow 지원 스위치, 라우터 또는 호스트에서 데이터를 수집할 수 있으며, 기록된 데이터는 최대 1시간 동안 RAM에 저장됩니다. 대부분의 네트워크 문제를 해결하기에는 충분한 시간입니다. 장치 수 제한을 제거하고 기록 데이터를 디스크에 저장하려면 프로 버전으로 업그레이드할 수 있습니다.
sFlowTrend 대시보드 탭에서는 모니터링되는 장치 및 네트워크의 현재 상태에 대한 빠른 개요를 제공합니다. 여기에는 임계값을 초과하거나 오류가 발생한 인터페이스가 포함됩니다. 네트워크 탭을 클릭하면 sFlowTrend는 네트워크 또는 장치 수준에서 요약된 성능 통계와 자세한 트래픽 정보를 표시합니다. 경고 임계값을 정의할 수 있으며, 평소보다 높은 대역폭 사용량 또는 네트워크 오류가 발생하면 경고를 받을 수 있습니다. 문제의 원인을 파악할 수 있는 근본 원인 탭도 있습니다.
호스트 탭에서는 각 장치에 대한 자세한 정보를 찾을 수 있습니다. 여기에는 가상 서버를 포함하여 sFlow를 지원하는 서버의 네트워크, CPU, 디스크 등의 성능 데이터가 제공됩니다. 서비스 탭에서는 sFlow 데이터를 내보내는 애플리케이션(다양한 웹 서버 포함)의 성능 데이터를 찾을 수 있습니다. 이벤트 탭에서는 임계값 초과 또는 감지된 오류와 같은 이벤트 로그를 찾을 수 있습니다. 마지막으로 보고서 탭은 미리 정의된 여러 보고서를 제공하며 사용자 지정 보고서 생성도 지원합니다. 보고서를 실행한 다음 결과를 볼 수 있습니다.
sFlowTrend는 Java로 작성되었으며, Java 기반 또는 웹 기반 사용자 인터페이스가 함께 제공됩니다. Windows, Macintosh 및 Linux에서 사용할 수 있습니다. 도구를 구성하고 사용하는 데 도움이 되는 온라인 도움말도 있습니다. sFlow 지원 장비가 있는 소규모 조직에 적합한 도구이며, 프로 버전으로 업그레이드하면 대규모 네트워크에서도 유효한 선택이 됩니다.
3. ManageEngine NetFlow 분석기
ManageEngine NetFlow 분석기는 주로 NetFlow 수집기 및 분석기로 알려져 있지만, sFlow 지원 장치에서 처리하는 sFlow 데이터그램도 처리합니다. 고품질 관리 도구를 제공하는 것으로 알려진 회사의 또 다른 훌륭한 소프트웨어입니다. 이 도구는 애플리케이션, 대화 또는 프로토콜별로 트래픽 및 대역폭에 대한 가시성을 제공합니다. 또한 트래픽 임계값을 기반으로 경고를 설정할 수 있습니다.
ManageEngine NetFlow 분석기는 유용한 사전 정의된 보고서를 다양하게 제공합니다. 일부는 문제 해결에 도움이 되고, 다른 일부는 용량 계획에 도움이 되며, 일부는 인프라를 재판매하는 조직의 청구 목적으로 사용할 수 있습니다. 물론 사용자 지정 보고서를 만들 수도 있습니다.
웹 기반 대시보드의 고유한 기능 중 하나는 모니터링되는 인터페이스의 상태를 한눈에 보여주는 히트 맵과, 상위 애플리케이션, 프로토콜 및 대화, 최근 알람 등을 보여주는 실시간 파이 차트입니다.
무료 버전에는 중요한 제한 사항이 있습니다. 예를 들어 30일 동안은 무제한 모니터링을 허용하지만, 이후에는 모니터링할 수 있는 인터페이스가 2개로 제한됩니다. 많은 수의 인터페이스를 모니터링할 수 있는 것은 아니지만, 문제 해결을 위한 빠른 세션에 충분할 수 있습니다. 유료 버전으로 업그레이드하여 2개의 인터페이스 제한을 제거할 수 있습니다. ManageEngine은 기본 트래픽 분석을 전체 네트워크 관리 제품군으로 확장하기 위해 함께 작동하는 여러 관련 제품을 제공합니다.
4. ntopng 및 nProbe
ntopng는 진정한 오픈 소스 트래픽 분석 도구입니다. 트래픽 흐름 데이터 및 패킷 캡처를 기반으로 네트워크를 수동적으로 모니터링합니다. 분석 도구인 ntopng는 nProbe(수집기)에 의존하여 sFlow 데이터를 포함한 다양한 유형의 플로우 데이터를 내보내는 장치 및 호스트로부터 수집합니다. 함께 사용하면 매우 강력한 모니터링 및 문제 해결 듀오를 구성합니다.
ntopng는 정보가 트래픽(예: 최고 통신자), 흐름, 호스트, 장치 및 인터페이스와 같은 여러 방식으로 표시되는 웹 기반 사용자 인터페이스를 제공합니다. 흐름 표시는 응용 프로그램 프로토콜을 표시하고 대기 시간 또는 패킷 손실과 같은 기타 TCP 통계를 표시할 수 있으므로 가장 흥미로운 정보 중 하나일 수 있습니다. ntopng를 사용하여 여러 다른 임계값 및 기준에 따라 경고를 설정할 수도 있습니다.
ntopng는 Community, Professional 및 Enterprise의 세 가지 버전으로 제공됩니다. Community 버전은 무료로 사용할 수 있으며, Professional 및 Enterprise 버전은 몇 가지 추가 기능을 제공하며 유료로 구매할 수 있습니다.
nProbe의 경우 무료로 사용할 수 있지만, 25,000개의 내보내기 흐름으로 제한됩니다. 이 제한에 금방 도달할 수 있습니다. 물론 라이선스를 구매하여 제한을 제거할 수 있습니다.
5. 플릭서 조사기
Plixer의 Scrutinizer는 Plixer의 웹 사이트에 명시된 바와 같이 매우 정교한 “사고 대응 시스템”입니다. 하지만 멋진 이름에 속아서는 안 됩니다. Scrutinizer는 훌륭한 네트워크 모니터링 시스템입니다. 매우 철저하고 완벽하며, 이 글의 맥락에서 특히 관심 있는 NetFlow 데이터는 물론 sFlow도 처리합니다.
Scrutinizer는 시중에서 가장 확장성이 뛰어난 솔루션 중 하나를 제공합니다. 가장 빠른 보고 기능을 제공하고 어디서나 사용할 수 있는 가장 풍부한 데이터 컨텍스트를 제공한다고 합니다. 다른 팀에 필요한 데이터만 제공할 수 있는 역할 기반 액세스 권한이 있습니다. 소규모 환경에서 초대규모 환경까지 모두 지원하도록 설계되었으며, 다양한 분석 및 보고 기능을 제공합니다.
Scrutinizer를 설정하는 방법은 여러 가지가 있습니다. 전용 장치에 설치하거나 가상 서버로 사용할 수 있습니다. 클라우드에서 실행되는 SaaS(Software as a Service) 방식으로 실행할 수도 있습니다. 이러한 방식에서는 Plixer의 퍼블릭 클라우드 또는 프라이빗 클라우드를 사용하도록 선택할 수 있습니다. 시스템이 크고 상당한 리소스를 필요로 합니다. 예를 들어 16GB RAM이 있는 강력한 서버에 설치해야 합니다.
Scrutinizer는 4가지 라이선스 계층에서 사용할 수 있습니다. 무료 버전은 초당 최대 10,000개의 흐름을 지원하고 5시간 동안 흐름 데이터를 유지하며, 일주일 동안 기록을 유지합니다. 지원하는 초당 흐름 수와 기록 유지 기간에 따라 달라지는 세 가지 수준의 유료 버전이 있습니다. 각 상위 계층은 풍부한 기능 세트에 몇 가지 추가 기능을 추가합니다.
결론적으로
네트워크가 주로 sFlow 지원 장치로 구성된 경우 네트워크 작동에 대한 귀중한 통찰력을 제공하는 훌륭한 도구를 많이 사용할 수 있습니다. 또한 sFlow와 NetFlow 지원 장치를 모두 사용하는 경우 두 프로토콜을 모두 지원하는 도구를 사용할 수 있습니다. 최종 선택은 현재 네트워크 크기, 장치가 지원하는 프로토콜, 네트워크의 예상 발전 등을 고려하여 이루어져야 합니다. 이러한 도구를 설정하는 데 시간이 걸리므로, 처음부터 올바른 도구를 선택하여 복잡한 교체 작업을 피하는 것이 좋습니다.