검수요청.png검수요청.png

트래픽

해시넷
Asadal (토론 | 기여)님의 2020년 7월 31일 (금) 07:07 판 (같이 보기)
이동: 둘러보기, 검색

트래픽(traffic)이란 서버스위치 등 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양을 말한다. 웹사이트에 트래픽이 많다는 것은 사용자 접속이 많아서 전송하는 데이터의 양이 많다는 것을 뜻한다. 트래픽이 너무 많으면 서버에 과부하가 걸려서 기능에 문제가 생길 수 있다. 교통이나 운수 분야에서 사용하는 교통량(traffic)이라는 용어와 구별하기 위해 웹 트래픽(web 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]

트래픽 분석

  • 앱(App) 네트워크 트래픽 분석
그림 1. 앱에서 측정한 배터리 효율이 낮은 네트워크 활동
그림 2. 앱에서 측정한 배터리 효율이 높은 네트워크 활동
그림 3. 사용자, 앱 및 서버의 세 가지 카테고리로 태그한 네트워크 트래픽
앱에서 네트워크 리소스를 효율적으로 사용하는 사례의 특징은 네트워크 하드웨어를 사용하지 않는 기간이 상당히 길다는 것이다. 휴대기기에서는 데이터를 전송하거나 수신하기 위해 무선 기능을 켜고 장기간 무선 통신을 사용하는 것과 관련해 상당한 비용이 발생한다. 앱이 네트워크에 효율적으로 액세스하고 있다면 네트워크를 통한 앱의 통신이 앱에서 연결 요청을 하지 않는 기간과 함께 균등한 간격으로 조밀하게 그룹화됨을 확인할 수 있습니다. 그림 1에서는 네트워크 트래픽 도구에서 측정한 최적화되지 않은 앱 네트워크 트래픽을 보여준다. 앱에서 네트워크 요청을 자주 하고 있다. 이 트래픽은 무선이 대기, 자전력 모드로 전환할 수 있는 유효 시간이 거의 없다. 이 앱의 네트워크 액세스 동작으로 인해 장시간 켜져 있는 것이 배터리 비효율의 원인일 수 있다.
그림 2에서는 최적의 네트워크 트래픽 패턴을 보여준다. 앱에서 여러 건의 네트워크 요청을 한 번에 전송하며, 각 전송 사이에는 장시간 트래픽이 없어 무선이 대기 모드로 전활할 수 있다. 이 차트에서는 그림 1과 동일한 작업량을 보여주지만 무선이 대체로 대기 모드로 유지되는 것을 허용하도록 요청이 이동되고 그룹화되었다. 앱의 네트워크 트래픽이 그림 2의 그래프와 비슷하다면 제대로 작동하는 것이다. 앱의 네트워크 트래픽이 그림 1의 그래프와 유사하다면 앱이 네트워크에 액세스하는 방식에 개선할 점은 없는지 자세히 살펴볼 시점이다. 그러기 위해서는 먼저 앱에서 생성하는 네트워크 트래픽의 유형을 분석하는 것부터 시작해야 한다.[4]
  • 네트워크 트래픽 유형 분석
앱에서 생성한 네트워크 트래픽을 살펴볼 때 트래픽의 소스를 파악해야 트래픽을 최적화할 수 있다. 앱이 사용자 작업에 응답하는 중이라면 앱에서 생성하는 빈번한 네트워크 활동이 매우 적절하지만 앱이 포그라운드에 있지 않거나 기기가 주머니나 지갑에 있다면 전혀 적절하지 않다. 앱에서 생성 중인 네트워크 트래픽의 유형을 분석하는 방법과 성능 개선을 위해 할 수 있는 작업은 우선 그림 3과 같이 다양한 트래픽 유형의 앱 코드를 태그하고 네트워크 트래픽 도구를 사용해서 앱의 데이터를 수집하고 활동 그래프를 생선한다.
네트워크 트래픽 도구에서는 만들어진 태그에 따라 트래픽의 색상을 지정한다. 색상은 앱 코드에서 개발자가 정의한 트래픽 유형 상수에 따라 달라진다. 앱 코드를 다시 참조해서 사용자, 앱 또는 서버에서 시작된 트래픽을 나타내는 상수를 확인한다.[4]
  • 사용자가 시작한 네트워크 트래픽 분석
사용자가 시작한 네트워크 활동은 사용자가 앱에서 특정 활동을 하는 동안에는 효율적으로 그룹화될 수 있다. 그러나 사용자가 앱에 필요한 추가 정보를 요청할 때는 불균등하게 분산될 수 있다. 사용자가 시작한 네트워크 트래픽을 분석하는 목적은 시간 경과에 따라 네트워크를 자주 사용하는 패턴을 찾아내고 네트워크에 액세스하지 않는 기간을 만들거나 그러한 기간을 늘리려는 것이다. 사용자 요청은 예측이 불가능하기 때문에 앱에서 발생하는 이러한 유형의 네트워크 사용을 최적화하기 어렵다. 또한, 사용자는 앱을 활발히 사용할 때 빠른 응답을 기대하므로 효율성을 높이기 위해 요청을 지연시키면 사용자 환경이 악화될 수 있다. 일반적으로 사용자가 앱과 직접 상호작용하는 동안에는 효율적인 네트워크 사용보다 사용자에게 빠르게 응답하는 것을 우선시해야 한다.
  • 사용자가 시작한 네트워크 트래픽을 최적화하는 방법
  • 네트워크 데이터 미리 가져오기 : 사용자가 앱에서 작업을 실행하면 앱은 그다음 사용자 작업에 필요한 데이터를 예상하여 한 번의 연결을 통해 데이터를 일괄적으로 가져오고 사용자가 요청할 때까지 데이터를 보유한다.
  • 연결 확인 또는 변겨사항 수신 대기 : 업데이트를 실행하기 전에 네트워크 연결을 확인하거나 연결 변경사항을 수신 대기한다.
  • 연결 수 줄이기 : 데이터를 세트로 다운로드할 수 있게 허용하는 서버 에피아이(API)를 사용한다.[4]

특징

  • 네트워크 병목 현상 확인 : 높은 대역폭을 소비하는 사용자 또는 응용 프로그램이 있을 수 있음으로 네트워크 트래픽의 주요 부분을 구성할 수 있다. 어러한 문제를 해결하기 위하여 다양한 솔루션(solution)을 구현할 수 있다.
  • 네트워크 보안 : 네트워크의 비정상적인 트래픽 양의 증가는 디도스 같은 공격의 징후일 수 있다. 네트워크 트래픽은 그러한 공격을 막는데 중요한 정보를 제공한다.
  • 네트워크 엔지니어링 : 네트워크 사용 수준을 알 수 있다. 향후 요구 사항을 분석할 수 있다.

각주

  1. 트래픽 지식백과 - https://terms.naver.com/entry.nhn?docId=3609937&cid=58598&categoryId=59316
  2. 인터넷 트래픽 위키백과 - https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%EB%84%B7_%ED%8A%B8%EB%9E%98%ED%94%BD
  3. 센소프트, 〈트래픽이란 무엇인가?〉, 《네이버블로그》, 2014-09-19
  4. 4.0 4.1 4.2 안드로이드 개발자 홈페이지 - https://developer.android.com/?hl=ko

같이 보기


  검수요청.png검수요청.png 이 트래픽 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.