트래픽
트래픽(traffic)이란 서버와 스위치 등 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양을 말한다. 웹사이트에 트래픽이 많다는 것은 사용자 접속이 많아서 전송하는 데이터의 양이 많다는 것을 뜻한다. 트래픽이 너무 많으면 서버에 과부하가 걸려서 기능에 문제가 생길 수 있다. 교통이나 운수 분야에서 사용하는 교통량(traffic)이라는 용어와 구별하기 위해 웹트래픽(web traffic) 또는 네트워크 트래픽(network traffic)이라고도 한다.
목차
개요[편집]
트래픽의 예시를 홈페이지로 들어 보자면, 홈페이지를 인터넷 브라우저에 띄우기 위해서는 서버에 파일을 올려놓고 사용자가 웹페이지에 접속할 때마다 필요한 정보를 다운로드해야 하는데, 여기서 다운로드되는 정보의 양이 바로 트래픽이다. 홈페이지에 접속해서 여러 페이지를 열어보거나, 이미지나 동영상 등을 내컴퓨터로 받아 내릴 때 홈페이지와 연결된 서버의 트래픽 양이 증가하게 된다는 것이다. 전화로 통화를 할 때도 트래픽이 발생한다. 재해가 일어나거나 어떤 사건·사고가 일어나서 갑자기 많은 사람이 전화를 걸면 회선의 사용이 갑자기 증가하면서 트래픽 초과 현상이 일어나기도 한다. 새해가 되는 순간에 새해 축하 문자를 친구에게 보냈더니 문자가 오랜 시간이 지나서 도착하는 경우를 대표적인 예로 들 수 있다. 트래픽이 너무 많으면 서버에 과부하가 걸려서 기능에 문제가 생기기도 한다. 어떤 웹페이지에 한꺼번에 많은 사람이 접속할 경우에 '해당 사이트는 트래픽 초과로 차단되었습니다.' 등의 문구가 나오면서 홈페이지가 차단되는 경우도 있다. 이러한 상황이 발생하면 서버의 트래픽이 줄어들거나 초기화될 때까지 웹페이지에 접속하기 어려워진다. 통신 시설이나 서버에 전송되는 데이터의 양을 뜻하는 트래픽은 웹페이지 접속자 통계를 내 거나 접속 상황을 관리할 때 유용하지만, 갑자기 너무 많은 양의 트래픽이 발생해서 이상이 생길 수도 있기 때문에 시스템 관리하는 사람은 웹페이지의 트래픽 상황이 적절한지 계속 살펴보고 필요한 조치를 취해야 한다.[1]
종류[편집]
통신 시설이나 서버에 전송되는 데이터의 양을 뜻하는 트래픽은 웹페이지 접속자의 통계를 내 거나 접속 상황을 관리할 때 사용한다. 네트워크 트래픽은 크게 다음과 같이 분류할 수 있다.
- Busy / heavy traffic : 이 트랙픽은 높은 대역폭이 소모된다.
- Non-real-time traffic : 근무 시간 동안 대역폭 소비
- Interactive traffic : 대역폭 경쟁에 영향을 받기 때문에 응용 프로그램과 트래픽의 우선순위가 설정되지 않는 경우 응답 시간이 단축될 수 있다.
- Latency-sensitive traffic : 대역폭 경쟁이 심해서 응답 시간이 단축될 수 있다.
전 세계 인터넷 트래픽[편집]
네트워크 시스템 회사의 하나인 시스코 시스템즈는 여러 출처를 수집하고 사용률 및 비트레이트 예측을 적용하여 다음의 역사적인 인터넷 프로토콜(IP) 및 인터넷 트래픽 수치를 게시했다. 고정 인터넷 트래픽은 가정 및 사업체가 아이에스피(ISP), 케이블 회사 등으로 전송하는 트래픽을 가리키고, 모바일 인터넷 트래픽은 휴대전화 기지국에서 오는 트래픽을 가리킨다.[2]
연도별 전 세계 인터넷 트래픽 연도 IP 트래픽(PB/월) 고정 인터넷 트래픽(PB/월) 모바일 인터넷 트래픽(PB/월) 1995 0.18 0.17 n/a 1996 1.9 1.8 n/a 1997 5.4 5.0 n/a 1998 12 11 n/a 1999 12 11 n/a 2000 84 75 n/a 2001 197 175 n/a 2002 405 356 n/a 2003 784 681 n/a 2004 1,477 1,267 n/a 2005 2,426 2,055 0.9 2006 3,992 3,339 4 2007 6,430 5,219 15 2008 10,174 8,140 33 2009 14,686 10,942 91 2010 20,151 14,955 237 2011 30,734 23,288 597 2012 43,570 31,339 885 2013 51,168 34,952 1,480 2014 59,848 39,909 2,514 2015 72,521 49,494 3,685
트래픽 팁[편집]
- 트래픽 관리
- 음악이나 동영상 같은 파일은 별도의 스트리밍 서버에 올려서 링크로 사용하여 트래픽을 분산하는게 좋다. 이미지 파일은 해상도를 조절하여 용량을 줄이고 한페이지에 나오는 이미지 개수를 적게 설정해서 불필요한 이미지가 로딩되는것을 막아주면 좋다. 또한, 실시간으로 접속자 체크 프로그램을 사용하면 트래픽 과다 발생의 원인이 되니 가급적 사용을 자제하는 것이 좋다.[3]
인터넷 트래픽[편집]
원활한 인터넷 서비스를 제공하기 위해서는 인터넷 트래픽을 효율적으로 관리할 수 있어야 하며, 이를 위해 가장 먼저 해야 할 것은 인터넷 트래픽을 측정하는 것이다. 인터넷 트래픽의 측정은 수동적인 측정과 능동적인 측정으로 분류된다. 수동적인 측정은 라우터(Router)나 에이티엠(ATM) 스위치를 통해 흘러 다니는 트래픽 종류와 트래픽 양을 측정해서 측정네트워크의 트래픽 특성을 파악하는 것이고, 능동적인 측정은 측정네트워크 종단에 위치한 두 호스트 사이에 측정 패킷을 투입하여 측정네트워크의 상태를 파악하는 것이다. 수동적인 측정은 인터넷 서비스를 제공하는 아이에스피(ISP)에서 사용자의 과금을 책정할 때 이용될 수 있다.[4]
아이에스피의 과금 정책은 허용 대역에 따라 사용료를 책정하고 있지만, 사용 트랙픽의 종류와 양을 파악하면 실제 네트워크 이용률을 계산해서 보다 공평한 과금을 책정할 수 있다. 또한, 수동적인 측정은 어떤 네트워크에서 발생하는 트래픽 종류와 양을 파악해서 현재 가장 많이 사용되는 서비스 종류를 파악할 수 있다. 최근 조사의 의하면 넵스터와 웹 트래픽이 가장 많이 발생하였고, 또한, 비교적 작은 크기의 패킷이 많이 사용되고 있는데, 대부분 게임 관련 트래픽으로 밝혀졌다. 이처럼 네트워크에 발생하는 트래픽의 종류와 양을 정량적으로 측정해서 네트워크 서비스를 할 수 있을 것이다. 즉, 현재 발생하는 트래픽을 최적으로 서비스 할 수 있는 라우팅 정책, 라우터의 스케줄링 기법, 라우터의 버퍼 관리 기법 등을 선택할 수 있다. 능동적인 측정은 네트워크 종단 호스트들 간의 인터넷 데이터 패킷이 중간에 여러 라우터를 통해 목적지로 어떻게 서비스를 받으며 이동을 하고 있는지를 파악해서 네트워크 상태를 진단할 수 있게 한다. 패킷은 경로상의 네트워크 상태에 따라 전송 처리율이나 손실률이 결정된다. 즉, 중간 라우터에 체증이 발생하면 라우터의 버퍼 관리 기법에 따라 패킷들이 버려지게 되어 종단 호스트들에게는 손실되는 패킷으로 간주한다. 한 호스트에게서 다른 호스트로 가는 경로는 라우팅 정보 프로토콜(RIP), 오에스피에프(OSPF), 비지피(BGP) 등의 라우팅 프로토콜(Protocol)에 의해 결정이 된다. 특히 오에스피에프는 링크 상태에 따라 로드 밸런스를 하여 더욱 효과적으로 패킷을 라우팅할 수 있다. 네트워크 종단 간의 경로에 측정 패킷을 투입하여 서비스받는 것을 장시간 관찰하면 이 경로상의 네트워크의 상태를 파악할 수 있다. 패킷전송 시간과 손실률이 증대되고, 지터가 커지면 경로상의 특정 네트워크에 문제가 발생했음을 알 수 있다. 이러한 경우엔 문제가 되는 경로의 네트워크를 발견해서 적절한 조치를 함으로써 호스트 종단 간의 네트워크가 원활한 서비스를 할 수 있다. 취할 수 있는 조치로는 라우터의 라우팅 테이블의 수정, 더욱 우수한 성능의 라우터로의 교체, 링크 용량의 증대 등이 있다. 이처럼 수동적 측정을 통해 네트워크의 트랙픽 특성을 파악할 수 있고, 능동적 측정을 통해 네트워크의 상태를 진단할 수 있다. 따라서 트래픽 측정은 효율적인 네트워크 관리에 필수적인 역할을 한다.[4]
트래픽 측정 구조[편집]
인터넷 트래픽을 측정하기 위해서는 측정 도구가 필요하다. 측정 도구는 측정을 하고자 하는 네트워크에 배치되어 원하는 측정 메트릭을 수집하고 수집된 메트릭을 측정 데이터로 가공하여 분석가에게 제공한다. 그림 1은 인터넷 트래픽을 측정하기 위한 일반적인 측정 구조를 나타낸다. 그림 1은 수동적인 측정과 능동적인 측정을 동시에 나타내고 있고, 수동적인 측정은 두 가지로 나눌 수 있는데, 첫째는 분리기(Splitter)를 이용하는 방법으로 에이티엠 스위치 같은 네트워크 노드(Network Node) 사이의 링크에 분리기를 연결해서 두 네트워크 노드 사이를 통과하는 패킷을 복사해서 패시브 모니터(Passive Monitor)에게 넘겨주어 그 네트워크 노드 사이를 통과하는 트래픽 종류와 양을 파악할 수 있다. 둘째는 라우터 같은 네트워크 노드를 통해 지나간 패킷들의 종류와 양에 대한 통계적인 정보를 제공하는 패킷을 이용하는 방법으로 이 패킷을 주기적으로 컨트롤 인포메이션 컬렉터(Control Information Collector)에게 전달하고, 컬렉터는 전달받은 통계 정보를 통해 네트워크 노드의 특정 네트워크 인터페이스(Interface)를 통해 출입한 트래픽의 종류와 양을 파악할 수 있게 한다. 능동적인 측정은 종단 호스트인 액티브 모니터(Active Monitor)가 측정 패킷을 주기적이거나 랜덤하게 네트워크에 투입하여 그 측정구간의 두 액티브 모니터 사이에서 지연되는 시간과 손실되는 정도를 측정하여 그 구간의 네트워크 상태를 파악할 수 있게 한다.[4]
수동적 측정 도구[편집]
수동적 측정은 네트워크에 유통되는 패킷 정보를 수집하고 분석함으로써 이용자별, 시간대별, 프로토콜별, 응용 별로 특정 네트워크를 출입한 패킷을 파악하여 그 네트워크의 트래픽 특성을 파악할 수 있게 한다. 인터넷 백본에서의 트래픽 유통량이나 사용 패턴의 분석은 그 백본 네트워크의 성능 파악은 물론 앞으로의 네트워크 링크 용량 증대에 유용한 정보를 제공한다. 기존에 수행되었던 인터넷 트래픽 패턴 분석의 연구에 의하면 대부분의 인터넷 패킷은 송신자와 수신자 사이의 연속적인 데이터 흐름을 이루고 있음이 밝혀졌다. 이러한 연구의 결과로 등장한 엠피엘에스(MPLS)는 인터넷 트래픽을 연속적인 패킷 흐름인 플로우(Flow)로 모델링하여 고정된 레이블(Label)을 이용하여 고속으로 패킷을 스위칭함으로써 아이피(IP) 라우팅의 성능을 향상할 수 있다. 아이피 플로우는 다음과 같이 정의될 수 있다. 아이피 플로우는 응용의 주소 쌍(송신자 주소, 송신자 포트(Port) 번호, 수신자 주소, 수신자 포트 번호), 호스트 쌍(송신자 네트워크 주소, 수신자 네트워크 주소), 에이에스(AS) 번호 쌍(송신자 에이에스 번호, 수신자 에이에스 번호) 등으로 명세 되는 제한된 시간 내에 도착하는 아이피 패킷들의 흐름이다. 이러한 플로우 모델은 패킷 트레인 모델로 처음 제안되었다. 플로우의 정의는 사람마다 다르다. 플로우 정의의 한 예를 들면, 티씨피(TCP) 연결에서 송신자와 수신자의 주소와 포트 쌍으로 이루어진 플로우는 에스와이엔(SYN)과 에이씨케이(ACK)로 플로우의 시작과 끝을 구분할 수 있다. 플로우의 길이는 다양한데, 전자메일은 대부분 몇 개의 아이피 패킷으로 플로우를 구성하지만, 브이오디(VOD)와 같은 멀티미디어 서비스의 플로우는 많은 아이팟 패킷으로 플로우를 구성한다. 이러한 플로우 측정을 포함하는 대표적이고 수동적인 측정은 시스코(Cisco)의 넷플로우(NetFlow)와 케이디아(CAIDA, Cooperative Association for Internet Data Analysis) 그룹의 씨플로드(Cflowd)를 이용한 구조인데, 서울대의 씨네라(CINERA)와 플로우 스캔(FlowScan)이 대표적인 측정 도구이다.[4]
- 넷플로우(NetFlow)
- 시스코의 네트워크 플로우는 송신자에서 수신자로의 일련의 단방향 패킷의 흐름으로 정의된다. 시스코의 넷플로우는 시스코 라우터가 각 네트워크 인터페이스를 통해 지나가는 트래픽의 플로우 정보를 제공하는 기능이다. 플로우의 구분은 아이피 주소와 포트 번호로 되는데, 시스코의 넷플로우는 플로우의 구분을 위해 아이피 프로토콜 타입, 티오에스(TOS,Type of Service) 그리고 인풋 인터페이스 아이덴티파이어(Input interface identifier)도 같이 사용하면서 플로우의 정보를 제공한다. 넷플로우는 넷플로우 캐시(Cache)를 이용하여 동작하는데, 넷플로우 캐시 소프트웨어(Software)는 특정 패킷이 기존에 존재하는 플로우에 속하는지 여부에 따라 캐시에 새로운 플로우 엔트리를 생성할지를 결정한다. 또한 플로우 해제 시간(expire time)이 지난 플로우들의 정보를 그림 2의 ‘넷플로우 익스폴트(NetFlow Export)’ 유디피(UDP) 데이터 그램의 페이로드(Payload)에 담아서 플로우 정보 익스폴트(Export) 네트워크 인터페이스로 전송한다. 그림 3은 시스코 넷플로우 버전 5 플로우 헤더(Cisco NetFlow Version 5 Flow Header)를 기술하고 있고, 그림 4는 시스코 넷플로우 버전 5(Cisco NetFlow Version 5)의 플로우 앤트리(Flow Entry)를 기술하고 있다.[4]
- 씨플로드(CFlowd)
- 씨플로드는 시스코의 넷플로우를 이용한 스위칭 방법을 분석하기 위해 현재 사용되고 있는 플로우 분석 도구이다. 현재 릴리스 버전은 수집, 저장, 기본적인 분석 모듈을 포함하고 있다. 'arts++ 라이브러리'를 이용하여 기본적인 분석 모듈을 만들었다. 위의 분석 패키지는 아이에스피나 네트워크 엔지니어가 용량계획(Capacity planning), 유행 분석(Trends analysis) 그리고 네트워크 서비스 환경에서 워크로드의 특성을 파악할 수 있도록 데이터 수집과 분석 기능을 제공하고 있다. 그 밖에도 웹 호스팅(Web hosting), 빌링(Billing), 네트워크 플래닝(Network planning), 네트워크 모니터링(Network monitoring) 그리고 데이터 웨어하우스(DW, Data Warehousing)/데이터 마이닝(Data Mining) 등을 할 수 있게 한다. 그림 5는 씨포드의 데이터 흐름을 나타내고 있다. 그림 5와 같이 각 시스코 라우터는 플로우 익스포트(Flowexport) 패킷을 씨포드먹스(cflowdmux)와 씨포드를 실행하고 있는 호스트에 보낸다. 호스트의 씨포드먹스는 유디피(UDP) 데이터 그램인 플로우 익스포트 패킷을 수신하여 공유메모리 버퍼에 쓰고, 호스트의 씨포드는 공유메모리에 쓰인 패킷을 읽어서 로컬 테이블에 저장한다. 최종 데이터 수집은 호스트의 씨에프디 컬렉트(cfdcollect)에 따라 수행되는데, 씨에프디 컬렉트는 주기적으로 한 번에 하나의 씨포드와 티씨피 연결을 맺고 씨포드의 로컬 테이블로부터 테이블 데이터를 수집하여 아트(ARTS)라는 바이너리(binary) 파일로 저장한다. arts++ 패키지를 통해 아트 파일로부터 에이에스 마트릭(AS matrix), 넷 마트릭(Net matrix) 같은 여러 가지 통계정보를 얻을 수 있는데, 이 통계정보를 가지고 데이터를 수집한 네트워크의 트래픽을 분석할 수 있다.[4]
능동적 측정 도구[편집]
특징[편집]
- 네트워크 병목 현상 확인 : 높은 대역폭을 소비하는 사용자 또는 응용 프로그램이 있을 수 있음으로 네트워크 트래픽의 주요 부분을 구성할 수 있다. 어러한 문제를 해결하기 위하여 다양한 솔루션(solution)을 구현할 수 있다.
- 네트워크 보안 : 네트워크의 비정상적인 트래픽 양의 증가는 디도스 같은 공격의 징후일 수 있다. 네트워크 트래픽은 그러한 공격을 막는데 중요한 정보를 제공한다.
- 네트워크 엔지니어링 : 네트워크 사용 수준을 알 수 있다. 향후 요구 사항을 분석할 수 있다.
각주[편집]
- ↑ 트래픽 지식백과 - https://terms.naver.com/entry.nhn?docId=3609937&cid=58598&categoryId=59316
- ↑ 인터넷 트래픽 위키백과 - https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%EB%84%B7_%ED%8A%B8%EB%9E%98%ED%94%BD
- ↑ 센소프트, 〈트래픽이란 무엇인가?〉, 《네이버블로그》, 2014-09-19
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 정재훈·이승윤·김용진, 〈인터넷 트래픽 측정 방법 및 시스템〉, 《ITFIND》, 2001-10
같이 보기[편집]