SlideShare a Scribd company logo
1 of 47
Download to read offline
FE성능 교육
손정현 / IT엔지니어링실
글로벌 모바일 네트워크 환경이해
목차
1. TCP 특성 이해
2. 글로벌 구간 데이터 전송 속도 개선 방법
3. 해외 모바일 환경 특성 이해
1. TCP 특성 이해
4
1.TCP특성이해
글로벌 환경에서의 서비스 사용자의
첫번째 불만사항은 “느리다”
두번째 불만사항은 “느려서 끊긴다"
해외에서 파일 다운로드
받는데 느려요
한국에서 유튜브/vimeo HD/4K
동영상 보려면 버퍼링이 심해요
폴라 웹페이지 뜨는데 너무 오래
걸리고, 타임아웃 나서 아무 화면
도 안나와요
해외에서 VPN으로 NCS메일 보려
면 너무 오래 걸려요
패치 한번 받으려면 너무 오래 걸
려요
5
1.TCP특성이해
1줄요약 : Round-Trip Time(RTT)가 늘어나면, 대역폭Bandwidth 에 상관없이 초
당 전송량Throughput이 줄어드는 TCP 특성 때문
??????????????
??????????????
??????????????
??????????????
??????????????
6
1.TCP특성이해
대부분의 인터넷 서비스들은 http를 사용하고 있고, http는 TCP위에서 동작하므
로, TCP성능이 인터넷서비스의 성능을 좌우
REST API
HLS (http live
streaming)
웹서비스 모바일앱 서비스 동영상 서비스
HTTP
TCP
IP
LINK/PHY
(LAN/WIFI)
A-to-B 직접 연결 구간 데이터 전송
인터넷 구간 패킷 라우팅 전송
End-to-end 전송 무결성
7
1.TCP특성이해
TCP 주요 성능 요소 : 주로 대역폭과 RTT에 의해 결정
성능이란?
초당전송량, Throughput
Megabits per second, Megabytes per second
Mbps, MB/s
Bandwidth : 대역폭
Roundtrip Time(RTT)
( =ping=2*end-to-end delay)
Packet loss
Packet corruptionReceive window size
Congestion Control Window size
Congestion Control Algorithms : Vegas, Westwood, BIC,
CUBIC 등
추가기능 : Selective ACK, Negative ACK 등
대역폭:단위tick당 정보전송량
딜레이 :인터넷을 통해 A에서 B까지 데이터가 전달되는데 걸리는 시간
A B
RTT=ping=2* end-to-end 딜레이
기타
대역폭:단위tick당 정보전송량
(frame size)
A B참고: Link Layer 성능 요소 : 대역폭 X Link Tick count
X Link tick count
왜 RTT?
여긴 쭉
밀어내면 되는데?
8
1.TCP특성이해
End-to-End 전송 무결성을 보장하는 TCP특성이, 성능에 영향을 미침
TCP 특성
• End-to-End 전송 무결성 보장
• 데이터가 모두 도착 (timeout 재전송)
• 데이터가 순서대로 도착
• 데이터가 변조되지 않고 도착 (checksum 재전송)
• Packet numbering, ACK packet 사용
A B
DATA1
ACK1
DATA2
ACK2
전송 딜레이
RTT
시간의 흐름
A B
DATA1
ACK1
DATA1
ACK1
Timeout
retransmission
A B
DATA1
ACK1
DATA2
ACK1
확인후 폐기
DATA2
ACK2
DUP ACK
retransmission
오류
receive window size=1
<Send-and-wait>
소멸
9
1.TCP특성이해
End-to-End 전송 무결성을 보장하는 TCP특성이, 성능에 영향을 미침
Receive window 사이즈가 1인 경우 – 패킷을 1개씩 주고 받고 확인하는 send-and-wait
protocol 로 수렴하게 됨
실제로는 일정량 이상의 Receive window 사이즈로, TCP 성능을 향상시킴
A B
DATA1
ACK1
DATA2
ACK2
receive window size=1
<Send-and-wait>
RTT
시간의 흐름
A B
DATA1
ACK1
receive window size=10이상
ACK5
ACK12
RTT
네트워크 utilization
100%! 문제해결!
네트워크 utilization
이 상당히 낮음
* receive window size : Ack를 받지 않고도 보낼 수 있는 패킷 개수, A와 B가 session을 맺을 때 주고받는 수치
10
1.TCP특성이해
End-to-End 전송 무결성을 보장하는 TCP특성이, 성능에 영향을 미침
Receive Window Size 증가에도 한계가 있기 때문에, 초장거리/초장시간RTT에서는 여전히
최대 성능을 낼 수 없음
A B
DATA1
ACK1
ACK5
ACK12
RTT
BA
RTT
네트워크 utilization
높이는데 한계 있음
네트워크 utilization
100%
초장거리
11
1.TCP특성이해
End-to-End 전송 무결성을 보장하는 TCP특성이, 성능에 영향을 미침
대역폭을 아무리 증가시켜도, 초장거리/초장시간RTT에서는 여전히 최대 성능을 낼 수 없음
A
RTT
A
RTT는 불변대역폭 증가시
Receive window를
채울 만큼 데이터를
보내는 시간은 감소
Utilization은 감소
12
1.TCP특성이해
A B
DATA1
ACK1
ACK5
ACK12
RTT
Data Packet Size 1500 (Ethernet v2 frame payload size) – 수십 bytes
Receive Window
Size
기본 64KB, Windows 는 16MB까지, linux 조절가능
(Client-Server 양쪽에서 지원하는 수치중 작은 수치)
RTT(ping) 수도권 : 수 ms
한국 내 : ~30ms
한국-일본 : 50ms 정도
한국-싱가폴 : 100ms~200ms
한국-미국/유럽 : 150~300ms
Bandwidth ADSL : 8Mbps
VDSL : 20Mbps
광랜(FTTH) : 100Mbps
사무실 (Fast Ethernet) : 100Mbps
기가인터넷, x86서버 : 1Gbps
고성능 서버 :10Gbps
Core 스위치 : 40Gbps*X ~
3G UMTS : 수Mbps
LTE : 수십~백수십Mbps
WIFI(일반) : 30~40Mbps
WIFI(고급) : 80~400Mbps
참고 : Good Ping, Bad Ping
(Online FPS Game) *
50 or below: Great
51-110: Reasonable/Average
110-160: Ok
161-200: Questionable
201-250: Bad
251-300: Very Bad
301+: Completely unplayable • http://forums.steampowered.com/forums/showthread.php?t=1367091
실제 숫자들(근사치)
13
1.TCP특성이해
• http://www.digitalsociety.org/2010/08/conflating-broadband-speed-with-internet-speed-is-misleading/
• http://downloads.asperasoft.com/en/technology/shortcomings_of_TCP_2/the_shortcomings_of_TCP_file_transfer_2
RTT 에 따른 TCP 성능의 한계를 나타내는 그래프들
1줄요약 : Round-Trip Time(RTT)가 늘어나면, 대역폭Bandwidth 에 상관없이 초당 전송량Throughput
이 줄어드는 TCP 특성 때문
14
• 1:1 대용량 파일 전송의 경우, WAN가속 솔루션을 사용
• 다수 TCP 커넥션을 맺어 파일을 분할/전송/재조합
• 내부적으로 UDP 사용하기도
• 자체 압축, 중복 제거, 캐싱 등
http://www.netmanias.com/ko/post/blog/5607/wan-optimization/wan-optimization-solution
1.TCP특성이해
15
2. 글로벌 구간 데이터 전송 속도 개
선 방법
16
2.글로벌구간데이터전송속도개선방법
http://www.globaldots.com/googles-web-performance-best-practices-caching/
https://developers.google.com/speed/pagespeed/?csw=1
• Google 의 웹 속도 개선 best practice
• 캐싱
• 브라우저 캐싱, CDN 캐싱, proxy 캐싱 등
• RTT 줄이기
• 로딩 오버헤드 줄이기 : 쿠키 줄이기, 헤더 사이즈 줄이기 등
• 데이터 사이즈 줄이기
• 브라우저 렌더링 최적화하기
• 모바일 최적화하기
17
2.글로벌구간데이터전송속도개선방법
• 데이터를 목적지 가까운 곳에 가져다놓는다
• 캐시 서버를 쓴다
• 글로벌 CDN 서비스(Akamai, CDNetworks 등) 를 구입한다
• 자체 캐시 서버를 해외 IDC에 가져다 놓는다
• 서비스를 수정하여, Proxy 서버나 분산 저장소를 사용한다
• 글로벌 클라우드 서비스(Amazon Web Service등) 를 구입한다
• 자체 서버를 해외 IDC에 가져다 놓는다. 이 서버와의 통신은?
• RTT를 줄인다
• 네트워크 장비 안에서 소요되는 시간을 줄인다
• 네트워크 경로를 조절한다
• 거치는 장비의 숫자, hop수를 줄인다
• 짧은 물리적 거리를 통하도록 경로를 조절한다 해외 구간은?
• 상위 네트워크를 통하지 않고 직접 연결한다 직접 통신을 어떻게?
18
2.글로벌구간데이터전송속도개선방법
• 데이터를 목적지 가까운 곳에 가져다 놓는다
• 캐시 서버를 쓴다
• 글로벌 CDN 서비스(Akamai, CDNetworks 등) 를 구입한다.
• http://www.wpbeginner.com/beginners-guide/why-you-need-a-cdn-for-your-wordpress-blog-infographic/
• Content Delivery Networks
• 원본 서버의 static resource를, 사용자의 지리적 위치및
네트워크 상태에 따라 최적의 cache본을 사용자에게 전달
• 가까운 곳의 서버에 접속할 수록 빠른 로딩 결과
• 장점
• 속도증가
• 서비스 안정성 증가
• pv 및 사용자 체류시간 증가
• Google 검색순위 영향
• 속도가 빠른 사이트가 위로 정렬
19
• 해외 지사, 해외 IDC 에 있는 장비와 본사와 어떻게 통신을 할까?
• 그냥 인터넷
• VPN 솔루션 (인터넷 이용 IPSec 터널링)
• 전용선
• 고객 전용 데이터만 흘러다니도록 대역폭을 보장
• DSU/HSM/CSU(구리선)->SONET/SDH(광케이블)
-> 현재는 MPLS,메트로이더넷등 ( 광케이블)
2.글로벌구간데이터전송속도개선방법
• 데이터를 목적지 가까운 곳에 가져다 놓는다
• 캐시 서버를 쓴다
• 자체 캐시 서버를 해외 IDC에 가져다 놓는다
• 서비스를 수정하여, Proxy 서버나 분산 저장소를 사용한다
• 자체 서버를 해외 IDC에 가져다 놓는다.
20
http://www.kapid.org/?cid=090202
 광통신 – 광섬유 내부 빛의 전반사 + 레이저의 지향성/단색성
빛
-> 재증폭 없이 장거리 통신 가능 – 광섬유+레이저 특유의 낮은 감쇄성 덕분
 구리선 동축 케이블 1.5km vs 광케이블 50km~100km
• 국제구간 전용선? (한국에서는) 해저 광통신 케이블
2.글로벌구간데이터전송속도개선방법
21
• WDM
• 한 광섬유에 여러 파장의 빛을 통해, 다채널 통신이 가능
-> 광섬유 재포설 없이 양쪽 WDM 장비 업그레이드를 통해 대역폭 증가 가능
http://www.cisco.com/c/en/us/td/docs/optical/15000r7_0/dwdm/planning/guide/70epg/d7ovw.html
https://en.wikipedia.org/wiki/Wavelength-division_multiplexing
2.글로벌구간데이터전송속도개선방법
22
• 해저 광케이블 구조
1. 폴리에틸렌
2. Mylar 테이프
3. 강선
4. 알루미늄 방수재
5. 폴리카보네이트
6. 구리 혹은 알루미늄 튜브
7. 석유계 페트로늄 젤리
8. 광섬유
https://en.wikipedia.org/wiki/Submarine_communications_cable
약 7cm
미터당 10kg
2.글로벌구간데이터전송속도개선방법
23
2.글로벌구간네트워크연결방법
http://submarinecablemap.com/
http://submarine-cable-map-2015.telegeography.com/
24
http://submarinecablemap.com/#/landing-point/shindu-ri-korea-rep-
http://me2.do/xDi8XkCH
2.글로벌구간데이터전송속도개선방법
• 한국의 국제 해저 케이블 육양국 3지역 : 태안, 거제, 부산
25
http://article.joins.com/news/article/article.asp?total_id=3481556
http://mentalfloss.com/article/60150/10-facts-about-internets-undersea-cables
https://www.youtube.com/watch?v=XQVzU_YQ3IQ
2.글로벌구간데이터전송속도개선방법
• 해저케이블 설치 방법
26http://builtvisible.com/messages-in-the-deep/
http://mentalfloss.com/article/60150/10-facts-about-internets-undersea-cables
http://www.theregister.co.uk/2013/03/27/egypt_cables_cut_arrest/
• 해저케이블 구간 장애 원인
• 자연재해
• 지진, 화산활동,태풍 등
• 인간
• 닻, 저인망 어선
• 테러리즘?
• 해저생물
• 상어 등
• 대책
• 이중화
• 복수 링크, 링 구성 등
2.글로벌구간데이터전송속도개선방법
27
2.글로벌구간데이터전송속도개선방법
• 싱가폴 IDC에 서버를 가져다 놓음
• 가져다 놓은 서버와 통신을 하기 위해서 싱가폴 IDC에 전용선을 연결
여기서 좀 더 개선할 수 있는 방법은 없을까?
-> 실제 사용자들이 붙어있는 통신사업자들과 선을 직접 깔아서 통신을 하면 어떨까?
• 데이터를 목적지 가까운 곳에 가져다 놓는다
• 캐시 서버를 쓴다
• 자체 캐시 서버를 해외 IDC에 가져다 놓는다
• 서비스를 수정하여, Proxy 서버나 분산 저장소를 사용한다
• 자체 서버를 해외 IDC에 가져다 놓는다.
28
2.글로벌구간데이터전송속도개선방법
A B
SK broadband
B 인터넷
KT
Olleh 인터넷
100Mbps 100Mbps
1Gbps
<상황 1>
• 옆집 A B간 매일 1TB씩 데이터 전송한다면?
(Disk 물리적 이동방법 제외)
• 준비물
• GigaBit hub (2~3만원)
• CAT 5e 이상 Ethernet 선(LAN선)
• 라우팅 조절
• A – B 간 통신만 되도록
• 인터넷 사용은 기존과 동일
• ISP 에 추가비용 없음
• 서로에게 추가비용 없음
피어링
29
2.글로벌구간데이터전송속도개선방법
SK broadband
B 인터넷
KT
기가인터넷
100Mbps 1Gbps
1Gbps
C서버
<상황 2>
• A: KT쪽 C서버에서 대량 다운로드
• B : 기가인터넷으로 변경
• A : “너희집 인터넷 나눠쓰자, 돈줄께”
• 라우팅 조절
• 일반인터넷은 동일
• KT쪽은 A-B간 선을 통하게
• A가 B에게 비용 지불
• B 집에는 출발지와 목적지가 B 집이 아
닌 데이터가 흐르게 됨
트랜짓
A B
30
2.글로벌구간데이터전송속도개선방법
자사 태국 AIS
• 트랜짓
• 상위 네트워크 사업자에게 인터넷 서비스를 받는 것도 트랜짓의 정의이나,
주로 인터넷 서비스 사용으로 봄
• 피어링
• 상위 네트워크 사업자를 통한 인터넷 서비스와 별도로, 상호간 트래픽이 많은 네트워크끼리 직접 연결
https://en.wikipedia.org/wiki/Peering
31
2.글로벌구간데이터전송속도개선방법
• (private) 피어링
• Autonomous System간의 트래픽 교환을 위해 연결하는 작업
• AS 간의 BGP 라우팅 정보 교환
• 네이버/라인도 AS
• 전용선을 끌어간 외국 IDC(IX) 에서 연결
• 피어링 비용
• A와 B간 1:1 연결 개념
• 통신사와 통신사 간에는 트래픽 비율에 따라서 낼 수도 있고(paid peering) 안낼 수도 있다
• 트랜짓 비용
• A의 트래픽이 B 네트웍을 통해서 C로 통하게
• 서비스 비용 지불
32
3. 해외 모바일 환경 특성 이해
33
3.해외모바일환경특성이해
• 해외 모바일 환경 특성
• 선불제 SIM을 주로 사용
• 잦은 번호 변경
• 낮은 LTE 보급률
• 완벽하지 못한 수신률
• 다양한 OS
34
• 해외 통신사
3.해외모바일환경특성이해
35
http://wearesocial.sg/blog/2015/01/digital-social-mobile-2015/
• 선불 SIM
3.해외모바일환경특성이해
36
• 수시로 바뀌는 전화번호
• 선불SIM 재개통시 번호 변경
• 번호를 공개하지 않는 경우
• 번호를 계속 바꾸는 경우
• 통신사 변경 등
3.해외모바일환경특성이해
37
http://opensignal.com/reports/2015/02/state-of-lte-q1-2015
• 낮은 LTE 보급률
• LTE 의 성능은 WIFI와 대등하게 좋은데, 3G는 그렇지 못함
3.해외모바일환경특성이해
38
• 낮은 수신률
• 한국, 홍콩, 대만 외의 국가들은 도심지에서 휴대폰 수신률이 (한국사람
기준으로) 만족스럽지 못함
• 휴대폰 음영구역
• 3G 가 유지가 안되고 2.5G및 그 이하 속도로 (EDGE, GPRS )
• 시간대에 따른 병목현상 존재
3.해외모바일환경특성이해
39
http://gs.statcounter.com/#mobile_os-ww-monthly-201506-201508-bar
http://line.me/ko/download
• iOS/안드로이드 이외에도 많은 모바일 OS
• LINE은 블랙베리, 윈도우폰, Nokia Asha, FirefoxOS 까지 지원중
3.해외모바일환경특성이해
40
• 3G 네트워크 환경 특성들
• 사설 IP 주소 사용
• 자체 RTT가 길다
• 3G Radio Resource Control에 따른 네트워크 상태 변화가 존재
• 네트워크 스타트에 시간이 걸림
• State transition 시에 packet loss 발생
• Mobile Transparent Proxy 가 동작
3.해외모바일환경특성이해
41http://whatismyip.com
http://geoiptool.com
http://d2.naver.com/helloworld/111111
• 하위 통신 layer 연결상태를 알 수가 없음
• 애플리케이션에서 연결상태 확인 필요
• 사설 IP 주소, NAT 사용
• Push 시스템등 별도의 수단 없이 서버->단말방향 소켓통신 불가능
• NAT session 유지 시간이 정해져 있음
3.해외모바일환경특성이해
42
http://d2.naver.com/helloworld/111111
• 자체 RTT가 길다
• 대부분 100ms~200ms 사이
3.해외모바일환경특성이해
43
http://d2.naver.com/helloworld/111111
이름 설명 통신 전송량 통신모듈 상대적 전력소
모량
CELL_DCH
(Dedicated Channel)
일반적 데이터 전송, 기지
국에서 전용채널 할당
일반 많은 전송량 50~100
CELL_FACH
(Forward Access Channel)
기지국내 공용채널 할당 적은 전송량 25~50
IDLE 채널 반납 통신 없음 1
3.해외모바일환경특성이해
44
http://d2.naver.com/helloworld/111111
• 최초 통신시 Delay가 발생
• 3G Radio Resource Control 의 state transition 에 따른 특성
• 3G 네트워크가 쉬고 있는 IDLE상태에서, 통신가능한 CELL_DCH상태가 되
는데 2초 Delay 존재
• 극복하기 위해 warm-up 용 big ping 데이터를 미리 보내는 방법 사용 필요
• state transition 순간에, packet loss 자주 발생
3.해외모바일환경특성이해
45
• 각 국가별, 통신사별 Radio Resource Control 방법이 다르므로 직접 현지테스
트로 알아내어야 함
3.해외모바일환경특성이해
46
• 모바일 통신사 web proxy 의 존재
• 속도 향상을 위해 web content를 임의 변조
• 이미지, 동영상 재압축
• dynamic content 까지 aggressive 하게 caching
• CSS , JavaScript 압축 및 변조
• HTTP 헤더 변조
• 실험으로 동작여부 확인 필요
• https 를 쓰거나, inline image를 쓰거나 등의 대처방법 필요
http://calendar.perfplanet.com/2013/mobile-isp-image-recompression/
3.해외모바일환경특성이해
47
End of Document

More Related Content

Viewers also liked

116 deview2013-guitar
116 deview2013-guitar116 deview2013-guitar
116 deview2013-guitar
NAVER D2
 
[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화
[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화
[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화
흥래 김
 

Viewers also liked (13)

Everything changes
Everything changesEverything changes
Everything changes
 
스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들
 
2016 NDC - 모바일 게임 서버 엔진 개발 후기
2016 NDC - 모바일 게임 서버 엔진 개발 후기2016 NDC - 모바일 게임 서버 엔진 개발 후기
2016 NDC - 모바일 게임 서버 엔진 개발 후기
 
크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드
 
116 deview2013-guitar
116 deview2013-guitar116 deview2013-guitar
116 deview2013-guitar
 
Redis
RedisRedis
Redis
 
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
 
SaaS 동향
SaaS 동향SaaS 동향
SaaS 동향
 
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
 
네트워크 기본
네트워크 기본네트워크 기본
네트워크 기본
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
 
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsTop 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
 
[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화
[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화
[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화
 

Similar to 글로벌 모바일 네트워크 환경 이해 Understanding global mobile network situation

[네트워크] TCP, 믿을 수 있나요!?
[네트워크] TCP, 믿을 수 있나요!?[네트워크] TCP, 믿을 수 있나요!?
[네트워크] TCP, 믿을 수 있나요!?
용민 박
 

Similar to 글로벌 모바일 네트워크 환경 이해 Understanding global mobile network situation (20)

씨디네트웍스_Dynamic Web Acceleration 소개서
씨디네트웍스_Dynamic Web Acceleration 소개서씨디네트웍스_Dynamic Web Acceleration 소개서
씨디네트웍스_Dynamic Web Acceleration 소개서
 
Quic을 이용한 네트워크 성능 개선
 Quic을 이용한 네트워크 성능 개선 Quic을 이용한 네트워크 성능 개선
Quic을 이용한 네트워크 성능 개선
 
CDN overview
CDN overviewCDN overview
CDN overview
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
 
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
 
프라우드넷의 연결 유지 기능과 홀펀칭-윤현민
프라우드넷의 연결 유지 기능과 홀펀칭-윤현민프라우드넷의 연결 유지 기능과 홀펀칭-윤현민
프라우드넷의 연결 유지 기능과 홀펀칭-윤현민
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
NAT Traversal and P2P
NAT Traversal and P2PNAT Traversal and P2P
NAT Traversal and P2P
 
Network virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center NetworkNetwork virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center Network
 
Netmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 EthernetNetmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 Ethernet
 
LTM
LTMLTM
LTM
 
웹기반원격감시제어 2010 CPD
웹기반원격감시제어 2010 CPD웹기반원격감시제어 2010 CPD
웹기반원격감시제어 2010 CPD
 
씨디네트웍스 China Acceleration 소개서
씨디네트웍스 China Acceleration 소개서씨디네트웍스 China Acceleration 소개서
씨디네트웍스 China Acceleration 소개서
 
5G 기술과 활용 (5G technology and services) - 2019.05.11
5G 기술과 활용 (5G technology and services) - 2019.05.115G 기술과 활용 (5G technology and services) - 2019.05.11
5G 기술과 활용 (5G technology and services) - 2019.05.11
 
글로벌 게임 런칭과 Cdn의 활용.pdf
글로벌 게임 런칭과 Cdn의 활용.pdf글로벌 게임 런칭과 Cdn의 활용.pdf
글로벌 게임 런칭과 Cdn의 활용.pdf
 
컴퓨터개론11
컴퓨터개론11컴퓨터개론11
컴퓨터개론11
 
Io t 무선통신 기술
Io t 무선통신 기술Io t 무선통신 기술
Io t 무선통신 기술
 
Mellanox introduction 2016 03-28_hjh
Mellanox introduction  2016 03-28_hjhMellanox introduction  2016 03-28_hjh
Mellanox introduction 2016 03-28_hjh
 
[1D5]모바일 p2p 미디어 스트리밍 방법
[1D5]모바일 p2p 미디어 스트리밍 방법[1D5]모바일 p2p 미디어 스트리밍 방법
[1D5]모바일 p2p 미디어 스트리밍 방법
 
[네트워크] TCP, 믿을 수 있나요!?
[네트워크] TCP, 믿을 수 있나요!?[네트워크] TCP, 믿을 수 있나요!?
[네트워크] TCP, 믿을 수 있나요!?
 

글로벌 모바일 네트워크 환경 이해 Understanding global mobile network situation

  • 1. FE성능 교육 손정현 / IT엔지니어링실 글로벌 모바일 네트워크 환경이해
  • 2. 목차 1. TCP 특성 이해 2. 글로벌 구간 데이터 전송 속도 개선 방법 3. 해외 모바일 환경 특성 이해
  • 3. 1. TCP 특성 이해
  • 4. 4 1.TCP특성이해 글로벌 환경에서의 서비스 사용자의 첫번째 불만사항은 “느리다” 두번째 불만사항은 “느려서 끊긴다" 해외에서 파일 다운로드 받는데 느려요 한국에서 유튜브/vimeo HD/4K 동영상 보려면 버퍼링이 심해요 폴라 웹페이지 뜨는데 너무 오래 걸리고, 타임아웃 나서 아무 화면 도 안나와요 해외에서 VPN으로 NCS메일 보려 면 너무 오래 걸려요 패치 한번 받으려면 너무 오래 걸 려요
  • 5. 5 1.TCP특성이해 1줄요약 : Round-Trip Time(RTT)가 늘어나면, 대역폭Bandwidth 에 상관없이 초 당 전송량Throughput이 줄어드는 TCP 특성 때문 ?????????????? ?????????????? ?????????????? ?????????????? ??????????????
  • 6. 6 1.TCP특성이해 대부분의 인터넷 서비스들은 http를 사용하고 있고, http는 TCP위에서 동작하므 로, TCP성능이 인터넷서비스의 성능을 좌우 REST API HLS (http live streaming) 웹서비스 모바일앱 서비스 동영상 서비스 HTTP TCP IP LINK/PHY (LAN/WIFI) A-to-B 직접 연결 구간 데이터 전송 인터넷 구간 패킷 라우팅 전송 End-to-end 전송 무결성
  • 7. 7 1.TCP특성이해 TCP 주요 성능 요소 : 주로 대역폭과 RTT에 의해 결정 성능이란? 초당전송량, Throughput Megabits per second, Megabytes per second Mbps, MB/s Bandwidth : 대역폭 Roundtrip Time(RTT) ( =ping=2*end-to-end delay) Packet loss Packet corruptionReceive window size Congestion Control Window size Congestion Control Algorithms : Vegas, Westwood, BIC, CUBIC 등 추가기능 : Selective ACK, Negative ACK 등 대역폭:단위tick당 정보전송량 딜레이 :인터넷을 통해 A에서 B까지 데이터가 전달되는데 걸리는 시간 A B RTT=ping=2* end-to-end 딜레이 기타 대역폭:단위tick당 정보전송량 (frame size) A B참고: Link Layer 성능 요소 : 대역폭 X Link Tick count X Link tick count 왜 RTT? 여긴 쭉 밀어내면 되는데?
  • 8. 8 1.TCP특성이해 End-to-End 전송 무결성을 보장하는 TCP특성이, 성능에 영향을 미침 TCP 특성 • End-to-End 전송 무결성 보장 • 데이터가 모두 도착 (timeout 재전송) • 데이터가 순서대로 도착 • 데이터가 변조되지 않고 도착 (checksum 재전송) • Packet numbering, ACK packet 사용 A B DATA1 ACK1 DATA2 ACK2 전송 딜레이 RTT 시간의 흐름 A B DATA1 ACK1 DATA1 ACK1 Timeout retransmission A B DATA1 ACK1 DATA2 ACK1 확인후 폐기 DATA2 ACK2 DUP ACK retransmission 오류 receive window size=1 <Send-and-wait> 소멸
  • 9. 9 1.TCP특성이해 End-to-End 전송 무결성을 보장하는 TCP특성이, 성능에 영향을 미침 Receive window 사이즈가 1인 경우 – 패킷을 1개씩 주고 받고 확인하는 send-and-wait protocol 로 수렴하게 됨 실제로는 일정량 이상의 Receive window 사이즈로, TCP 성능을 향상시킴 A B DATA1 ACK1 DATA2 ACK2 receive window size=1 <Send-and-wait> RTT 시간의 흐름 A B DATA1 ACK1 receive window size=10이상 ACK5 ACK12 RTT 네트워크 utilization 100%! 문제해결! 네트워크 utilization 이 상당히 낮음 * receive window size : Ack를 받지 않고도 보낼 수 있는 패킷 개수, A와 B가 session을 맺을 때 주고받는 수치
  • 10. 10 1.TCP특성이해 End-to-End 전송 무결성을 보장하는 TCP특성이, 성능에 영향을 미침 Receive Window Size 증가에도 한계가 있기 때문에, 초장거리/초장시간RTT에서는 여전히 최대 성능을 낼 수 없음 A B DATA1 ACK1 ACK5 ACK12 RTT BA RTT 네트워크 utilization 높이는데 한계 있음 네트워크 utilization 100% 초장거리
  • 11. 11 1.TCP특성이해 End-to-End 전송 무결성을 보장하는 TCP특성이, 성능에 영향을 미침 대역폭을 아무리 증가시켜도, 초장거리/초장시간RTT에서는 여전히 최대 성능을 낼 수 없음 A RTT A RTT는 불변대역폭 증가시 Receive window를 채울 만큼 데이터를 보내는 시간은 감소 Utilization은 감소
  • 12. 12 1.TCP특성이해 A B DATA1 ACK1 ACK5 ACK12 RTT Data Packet Size 1500 (Ethernet v2 frame payload size) – 수십 bytes Receive Window Size 기본 64KB, Windows 는 16MB까지, linux 조절가능 (Client-Server 양쪽에서 지원하는 수치중 작은 수치) RTT(ping) 수도권 : 수 ms 한국 내 : ~30ms 한국-일본 : 50ms 정도 한국-싱가폴 : 100ms~200ms 한국-미국/유럽 : 150~300ms Bandwidth ADSL : 8Mbps VDSL : 20Mbps 광랜(FTTH) : 100Mbps 사무실 (Fast Ethernet) : 100Mbps 기가인터넷, x86서버 : 1Gbps 고성능 서버 :10Gbps Core 스위치 : 40Gbps*X ~ 3G UMTS : 수Mbps LTE : 수십~백수십Mbps WIFI(일반) : 30~40Mbps WIFI(고급) : 80~400Mbps 참고 : Good Ping, Bad Ping (Online FPS Game) * 50 or below: Great 51-110: Reasonable/Average 110-160: Ok 161-200: Questionable 201-250: Bad 251-300: Very Bad 301+: Completely unplayable • http://forums.steampowered.com/forums/showthread.php?t=1367091 실제 숫자들(근사치)
  • 13. 13 1.TCP특성이해 • http://www.digitalsociety.org/2010/08/conflating-broadband-speed-with-internet-speed-is-misleading/ • http://downloads.asperasoft.com/en/technology/shortcomings_of_TCP_2/the_shortcomings_of_TCP_file_transfer_2 RTT 에 따른 TCP 성능의 한계를 나타내는 그래프들 1줄요약 : Round-Trip Time(RTT)가 늘어나면, 대역폭Bandwidth 에 상관없이 초당 전송량Throughput 이 줄어드는 TCP 특성 때문
  • 14. 14 • 1:1 대용량 파일 전송의 경우, WAN가속 솔루션을 사용 • 다수 TCP 커넥션을 맺어 파일을 분할/전송/재조합 • 내부적으로 UDP 사용하기도 • 자체 압축, 중복 제거, 캐싱 등 http://www.netmanias.com/ko/post/blog/5607/wan-optimization/wan-optimization-solution 1.TCP특성이해
  • 15. 15 2. 글로벌 구간 데이터 전송 속도 개 선 방법
  • 16. 16 2.글로벌구간데이터전송속도개선방법 http://www.globaldots.com/googles-web-performance-best-practices-caching/ https://developers.google.com/speed/pagespeed/?csw=1 • Google 의 웹 속도 개선 best practice • 캐싱 • 브라우저 캐싱, CDN 캐싱, proxy 캐싱 등 • RTT 줄이기 • 로딩 오버헤드 줄이기 : 쿠키 줄이기, 헤더 사이즈 줄이기 등 • 데이터 사이즈 줄이기 • 브라우저 렌더링 최적화하기 • 모바일 최적화하기
  • 17. 17 2.글로벌구간데이터전송속도개선방법 • 데이터를 목적지 가까운 곳에 가져다놓는다 • 캐시 서버를 쓴다 • 글로벌 CDN 서비스(Akamai, CDNetworks 등) 를 구입한다 • 자체 캐시 서버를 해외 IDC에 가져다 놓는다 • 서비스를 수정하여, Proxy 서버나 분산 저장소를 사용한다 • 글로벌 클라우드 서비스(Amazon Web Service등) 를 구입한다 • 자체 서버를 해외 IDC에 가져다 놓는다. 이 서버와의 통신은? • RTT를 줄인다 • 네트워크 장비 안에서 소요되는 시간을 줄인다 • 네트워크 경로를 조절한다 • 거치는 장비의 숫자, hop수를 줄인다 • 짧은 물리적 거리를 통하도록 경로를 조절한다 해외 구간은? • 상위 네트워크를 통하지 않고 직접 연결한다 직접 통신을 어떻게?
  • 18. 18 2.글로벌구간데이터전송속도개선방법 • 데이터를 목적지 가까운 곳에 가져다 놓는다 • 캐시 서버를 쓴다 • 글로벌 CDN 서비스(Akamai, CDNetworks 등) 를 구입한다. • http://www.wpbeginner.com/beginners-guide/why-you-need-a-cdn-for-your-wordpress-blog-infographic/ • Content Delivery Networks • 원본 서버의 static resource를, 사용자의 지리적 위치및 네트워크 상태에 따라 최적의 cache본을 사용자에게 전달 • 가까운 곳의 서버에 접속할 수록 빠른 로딩 결과 • 장점 • 속도증가 • 서비스 안정성 증가 • pv 및 사용자 체류시간 증가 • Google 검색순위 영향 • 속도가 빠른 사이트가 위로 정렬
  • 19. 19 • 해외 지사, 해외 IDC 에 있는 장비와 본사와 어떻게 통신을 할까? • 그냥 인터넷 • VPN 솔루션 (인터넷 이용 IPSec 터널링) • 전용선 • 고객 전용 데이터만 흘러다니도록 대역폭을 보장 • DSU/HSM/CSU(구리선)->SONET/SDH(광케이블) -> 현재는 MPLS,메트로이더넷등 ( 광케이블) 2.글로벌구간데이터전송속도개선방법 • 데이터를 목적지 가까운 곳에 가져다 놓는다 • 캐시 서버를 쓴다 • 자체 캐시 서버를 해외 IDC에 가져다 놓는다 • 서비스를 수정하여, Proxy 서버나 분산 저장소를 사용한다 • 자체 서버를 해외 IDC에 가져다 놓는다.
  • 20. 20 http://www.kapid.org/?cid=090202  광통신 – 광섬유 내부 빛의 전반사 + 레이저의 지향성/단색성 빛 -> 재증폭 없이 장거리 통신 가능 – 광섬유+레이저 특유의 낮은 감쇄성 덕분  구리선 동축 케이블 1.5km vs 광케이블 50km~100km • 국제구간 전용선? (한국에서는) 해저 광통신 케이블 2.글로벌구간데이터전송속도개선방법
  • 21. 21 • WDM • 한 광섬유에 여러 파장의 빛을 통해, 다채널 통신이 가능 -> 광섬유 재포설 없이 양쪽 WDM 장비 업그레이드를 통해 대역폭 증가 가능 http://www.cisco.com/c/en/us/td/docs/optical/15000r7_0/dwdm/planning/guide/70epg/d7ovw.html https://en.wikipedia.org/wiki/Wavelength-division_multiplexing 2.글로벌구간데이터전송속도개선방법
  • 22. 22 • 해저 광케이블 구조 1. 폴리에틸렌 2. Mylar 테이프 3. 강선 4. 알루미늄 방수재 5. 폴리카보네이트 6. 구리 혹은 알루미늄 튜브 7. 석유계 페트로늄 젤리 8. 광섬유 https://en.wikipedia.org/wiki/Submarine_communications_cable 약 7cm 미터당 10kg 2.글로벌구간데이터전송속도개선방법
  • 26. 26http://builtvisible.com/messages-in-the-deep/ http://mentalfloss.com/article/60150/10-facts-about-internets-undersea-cables http://www.theregister.co.uk/2013/03/27/egypt_cables_cut_arrest/ • 해저케이블 구간 장애 원인 • 자연재해 • 지진, 화산활동,태풍 등 • 인간 • 닻, 저인망 어선 • 테러리즘? • 해저생물 • 상어 등 • 대책 • 이중화 • 복수 링크, 링 구성 등 2.글로벌구간데이터전송속도개선방법
  • 27. 27 2.글로벌구간데이터전송속도개선방법 • 싱가폴 IDC에 서버를 가져다 놓음 • 가져다 놓은 서버와 통신을 하기 위해서 싱가폴 IDC에 전용선을 연결 여기서 좀 더 개선할 수 있는 방법은 없을까? -> 실제 사용자들이 붙어있는 통신사업자들과 선을 직접 깔아서 통신을 하면 어떨까? • 데이터를 목적지 가까운 곳에 가져다 놓는다 • 캐시 서버를 쓴다 • 자체 캐시 서버를 해외 IDC에 가져다 놓는다 • 서비스를 수정하여, Proxy 서버나 분산 저장소를 사용한다 • 자체 서버를 해외 IDC에 가져다 놓는다.
  • 28. 28 2.글로벌구간데이터전송속도개선방법 A B SK broadband B 인터넷 KT Olleh 인터넷 100Mbps 100Mbps 1Gbps <상황 1> • 옆집 A B간 매일 1TB씩 데이터 전송한다면? (Disk 물리적 이동방법 제외) • 준비물 • GigaBit hub (2~3만원) • CAT 5e 이상 Ethernet 선(LAN선) • 라우팅 조절 • A – B 간 통신만 되도록 • 인터넷 사용은 기존과 동일 • ISP 에 추가비용 없음 • 서로에게 추가비용 없음 피어링
  • 29. 29 2.글로벌구간데이터전송속도개선방법 SK broadband B 인터넷 KT 기가인터넷 100Mbps 1Gbps 1Gbps C서버 <상황 2> • A: KT쪽 C서버에서 대량 다운로드 • B : 기가인터넷으로 변경 • A : “너희집 인터넷 나눠쓰자, 돈줄께” • 라우팅 조절 • 일반인터넷은 동일 • KT쪽은 A-B간 선을 통하게 • A가 B에게 비용 지불 • B 집에는 출발지와 목적지가 B 집이 아 닌 데이터가 흐르게 됨 트랜짓 A B
  • 30. 30 2.글로벌구간데이터전송속도개선방법 자사 태국 AIS • 트랜짓 • 상위 네트워크 사업자에게 인터넷 서비스를 받는 것도 트랜짓의 정의이나, 주로 인터넷 서비스 사용으로 봄 • 피어링 • 상위 네트워크 사업자를 통한 인터넷 서비스와 별도로, 상호간 트래픽이 많은 네트워크끼리 직접 연결 https://en.wikipedia.org/wiki/Peering
  • 31. 31 2.글로벌구간데이터전송속도개선방법 • (private) 피어링 • Autonomous System간의 트래픽 교환을 위해 연결하는 작업 • AS 간의 BGP 라우팅 정보 교환 • 네이버/라인도 AS • 전용선을 끌어간 외국 IDC(IX) 에서 연결 • 피어링 비용 • A와 B간 1:1 연결 개념 • 통신사와 통신사 간에는 트래픽 비율에 따라서 낼 수도 있고(paid peering) 안낼 수도 있다 • 트랜짓 비용 • A의 트래픽이 B 네트웍을 통해서 C로 통하게 • 서비스 비용 지불
  • 32. 32 3. 해외 모바일 환경 특성 이해
  • 33. 33 3.해외모바일환경특성이해 • 해외 모바일 환경 특성 • 선불제 SIM을 주로 사용 • 잦은 번호 변경 • 낮은 LTE 보급률 • 완벽하지 못한 수신률 • 다양한 OS
  • 36. 36 • 수시로 바뀌는 전화번호 • 선불SIM 재개통시 번호 변경 • 번호를 공개하지 않는 경우 • 번호를 계속 바꾸는 경우 • 통신사 변경 등 3.해외모바일환경특성이해
  • 37. 37 http://opensignal.com/reports/2015/02/state-of-lte-q1-2015 • 낮은 LTE 보급률 • LTE 의 성능은 WIFI와 대등하게 좋은데, 3G는 그렇지 못함 3.해외모바일환경특성이해
  • 38. 38 • 낮은 수신률 • 한국, 홍콩, 대만 외의 국가들은 도심지에서 휴대폰 수신률이 (한국사람 기준으로) 만족스럽지 못함 • 휴대폰 음영구역 • 3G 가 유지가 안되고 2.5G및 그 이하 속도로 (EDGE, GPRS ) • 시간대에 따른 병목현상 존재 3.해외모바일환경특성이해
  • 39. 39 http://gs.statcounter.com/#mobile_os-ww-monthly-201506-201508-bar http://line.me/ko/download • iOS/안드로이드 이외에도 많은 모바일 OS • LINE은 블랙베리, 윈도우폰, Nokia Asha, FirefoxOS 까지 지원중 3.해외모바일환경특성이해
  • 40. 40 • 3G 네트워크 환경 특성들 • 사설 IP 주소 사용 • 자체 RTT가 길다 • 3G Radio Resource Control에 따른 네트워크 상태 변화가 존재 • 네트워크 스타트에 시간이 걸림 • State transition 시에 packet loss 발생 • Mobile Transparent Proxy 가 동작 3.해외모바일환경특성이해
  • 41. 41http://whatismyip.com http://geoiptool.com http://d2.naver.com/helloworld/111111 • 하위 통신 layer 연결상태를 알 수가 없음 • 애플리케이션에서 연결상태 확인 필요 • 사설 IP 주소, NAT 사용 • Push 시스템등 별도의 수단 없이 서버->단말방향 소켓통신 불가능 • NAT session 유지 시간이 정해져 있음 3.해외모바일환경특성이해
  • 42. 42 http://d2.naver.com/helloworld/111111 • 자체 RTT가 길다 • 대부분 100ms~200ms 사이 3.해외모바일환경특성이해
  • 43. 43 http://d2.naver.com/helloworld/111111 이름 설명 통신 전송량 통신모듈 상대적 전력소 모량 CELL_DCH (Dedicated Channel) 일반적 데이터 전송, 기지 국에서 전용채널 할당 일반 많은 전송량 50~100 CELL_FACH (Forward Access Channel) 기지국내 공용채널 할당 적은 전송량 25~50 IDLE 채널 반납 통신 없음 1 3.해외모바일환경특성이해
  • 44. 44 http://d2.naver.com/helloworld/111111 • 최초 통신시 Delay가 발생 • 3G Radio Resource Control 의 state transition 에 따른 특성 • 3G 네트워크가 쉬고 있는 IDLE상태에서, 통신가능한 CELL_DCH상태가 되 는데 2초 Delay 존재 • 극복하기 위해 warm-up 용 big ping 데이터를 미리 보내는 방법 사용 필요 • state transition 순간에, packet loss 자주 발생 3.해외모바일환경특성이해
  • 45. 45 • 각 국가별, 통신사별 Radio Resource Control 방법이 다르므로 직접 현지테스 트로 알아내어야 함 3.해외모바일환경특성이해
  • 46. 46 • 모바일 통신사 web proxy 의 존재 • 속도 향상을 위해 web content를 임의 변조 • 이미지, 동영상 재압축 • dynamic content 까지 aggressive 하게 caching • CSS , JavaScript 압축 및 변조 • HTTP 헤더 변조 • 실험으로 동작여부 확인 필요 • https 를 쓰거나, inline image를 쓰거나 등의 대처방법 필요 http://calendar.perfplanet.com/2013/mobile-isp-image-recompression/ 3.해외모바일환경특성이해