네트워크 상황 분석을 위한 NetFlow

네트워크 흐름이 어디에서 어디로 어떻게 가는지를 이해하고 분석하는 것은 네트워크 성능에 매우 중요하다. 흐름을 분석하면 더 정확하게 네트워크 장비의 용량을 산정할 수 있으며, 목적에 따라 QoS(Quality of Service)를 적절히 적용하여 네트워크 리소스 사용을 최적화할 수 있다. 또한 네트워크 흐름을 분석한 정보는 보안적인 측면에서 DoS(Denial of Service)와 네트워크에서 생성되는 웜(worm) 등 여러 보안 위협을 탐지하는 데 중요한 역할을 한다.


NetFlow는 IT 인프라에서 발생하는 여러 문제를 해결하는 데 다음과 같은 도움을 준다.

  • 새로운 애플리케이션이 유발하는 네트워크 변화 분석
    VoIP나 원격지의 상황 변화와 같은 새로운 네트워크 환경을 분석한다.
  • WAN 통신 사용량 최대값 감소
    네트워크 사용량이 많은 애플리케이션을 분석하고, 애플리케이션 정책 변경에 따른 WAN 통신 영향을 측정한다.
  • 네트워크 구성의 취약점 파악 및 문제 해결
    네트워크 사용이 많은 지점(hog)이 있거나 네트워크 성능이 낮을 때 명령어 인터페이스(CLI, Command Line Interface)나 리포트 도구를 사용해서 원인을 진단한다.
  • 권한 없는 WAN 통신 탐지
    네트워크 폭주를 유발하는 애플리케이션을 구별함으로써 네트워크 효율성을 높여 비용을 절감한다.
  • 비정상적인 활동 탐지 및 보안
    비정상적인 활동 탐지와 웜 분석에 사용할 수 있다.
  • QoS 매개변수 유효성 검사
    각 CoS(Class of Service)에 적절한 대역폭이 할당되어 있는지, 대역폭이 너무 크거나 작게 할당되는 경우는 없는지 확인한다.

 

 

 

 

NetFlow의 네트워크 흐름 분석

스위치나 라우터를 통하는 패킷들은 IP 패킷 속성으로 구분할 수 있다. 이런 속성은 IP 패킷의 지문 또는 신분증과 같으며, 패킷이 새로운 것인지 아니면 다른 것과 비슷한 것인지를 구분한다.

전통적으로 IP 흐름 분석은 IP 패킷 속성 중 5개에서 많게는 7개의 속성을 기반으로 한다. NetFlow가 사용하는 IP 패킷의 속성은 다음과 같다.

  • 출발지 IP 주소
  • 목적지 IP 주소
  • 출발지 포트
  • 목적지 포트
  • 레이어 3 프로토콜
  • CoS(Class of Service)
  • 라우터 또는 스위치 인터페이스

출발지/도착지 IP 주소, 포트, 프로토콜 인터페이스, CoS가 같은 패킷은 하나의 흐름으로 묶인다. 그리고 하나로 묶은 흐름의 패킷과 바이트는 더한다. 이렇게 수집된 대용량의 네트워크 정보는 NetFlow 캐시라고 불리는 NetFlow 데이터베이스에 저장되므로 추후에 쉽게 확장 가능하다.


이 흐름은 네트워크 현황을 이해하는 데 매우 유용하다.

  • 누가 트래픽을 시작했는지 출발지 주소로 알 수 있다.
  • 누가 트래픽을 받는지 목적지 주소로 알 수 있다.
  • 어떤 애플리케이션이 트래픽을 얼마나 어떻게 사용하는지 포트 정보로 알 수 있다.
  • CoS로 트래픽의 우선순위를 확인하여 통신 품질을 보장할 수 있다.
  • 네트워크 장비가 어떻게 트래픽을 사용하는지 인터페이스 정보로 알 수 있다.
  • 누적된 패킷과 바이트 수로 트래픽의 양을 알 수 있다.

 

 

 

 

NetFlow의 데이터 접근 방법

NetFlow의 데이터에 접근하는 방법은 기본적으로 크게 두 가지이다. 명령어 인터페이스와 리포트 도구이다. 즉각적으로 네트워크 현황을 파악해야 한다면 NetFlow CLI(Command Line Interface)를 사용하면 된다. CLI는 문제 해결에 매우 유용하다.

또는 NetFlow 정보를 “NetFlow collector”라 불리는 원격 서버로 보낼 수 있다. NetFlow collector는 전송된 흐름 정보를 수집, 분석하고 종합하여 트래픽과 보안 정보를 분석한다. SNMP polling과는 달리, NetFlow export는 정기적으로 NetFlow collector에 정보를 푸시한다. 일반적으로 NetFlow 캐시는 지속적으로 흐름 정보를 저장하고, 스위치나 라우터는 NetFlow 캐시에서 종료되거나 소멸된 흐름 정보를 찾아서 NetFlow collector 서버로 보낸다. 네트워크 통신이 끝나면 TCP 통신에서는 TCP FIN 플래그를 받으면서 흐름이 종료된다.

NetFlow 정보 리포트 기능을 구현하려면 다음 단계를 따른다.

  1. NetFlow는 흐름을 캡처하여 NetFlow 캐시에 흐름 정보를 저장하도록 설정한다.
  2. NetFlow export는 Collector로 흐름 정보를 보내도록 설정한다.
  3. NetFlow export는 NetFlow 캐시에서 종료된 흐름 정보를 찾아서 NetFlow collector로 전송한다.
  4. 약 30에서 50개의 흐름 정보가 묶여서 UDP 형식으로 NetFlow collector 서버에 전송된다.
  5. NetFlow collector 소프트웨어는 수집한 데이터로 실시간 또는 통계 리포트를 생성한다.


흐름 정보 전송 시기 결정

특정 시간 동안 새로운 패킷이 도착하지 않거나 흐름이 타이머보다 더 오래 지속되었을 때, 또는 TCP 플래그가 흐름 종료를 알려주었을 때(FIN, RST 플래그) 흐름 정보는 NetFlow collector로 전송될 준비가 된다. 흐름이 비활성 상태인지 또는 너무 오래 지속되었는지 측정하는 타이머가 있는데, 비활성 흐름 타이머의 초기값은 15초이고 활성 흐름 타이머의 초기값은 30분이다.

NetFlow collector는 흐름을 합치고 트래픽을 모을 수 있다. 예를 들어, 활성 흐름 타이머보다 길게 지속되는 FTP 다운로드는 여러 개의 흐름으로 나뉘어 전송될 수 있으며, NetFlow collector는 해당 흐름을 모아서 특정 시간 동안의 FTP 통신 트래픽을 보여줄 수 있다.

흐름의 export 데이터 형식

일반적으로 export version이라고 불리는 여러 종류의 export packet 형식이 있다. 이 export version에는 version 5, 7, 9 등이 있는데 가장 많이 사용하는 것은 NetFlow export version 5이다. version 9가 가장 최근의 형식이며, 보안, 트래픽 분석, 멀티캐스트 등에서 이점이 있다.

 

 

 

NetFlow의 발달

NetFlow의 발달은 캐싱 기술의 발달과 함께했다. NetFlow를 사용하려는 많은 시도가 있었지만, 몇 해 전까지만 해도 NetFlow 설정 때문에 과도한 NetFlow 캐싱을 수행하여 스위칭 역할까지 제대로 수행하지 못하는 경우도 있었다. 최근에는 NetFlow 기술이 많이 안정화되었고, 트래픽 분석과 트래픽 통신을 아무런 문제없이 동시에 수행하는 많은 장비가 있다.

Cisco Systems는 NetFlow의 업그레이드 버전인 Flexible NetFlow까지 선보여 더 정확한 분석을 가능하게 했다. 최근에는 많은 Network 장비 벤더에서 NetFlow와 유사한 기술인 SFlow, CFlow를 지원하는 장비를 판매하고 있다.

네이버지도 상위등록

네이버 지도순위로
매장 및 가게를 홍보하세요.

통합홈페이지

네이버, 구글
사이트 상위노출