이번 시간에는 Akamai의 SureRoute 기술에 대해서 소개해 드리도록 하겠습니다.
BGP based Routing
각 나라에는 하나 이상의 통신사업자(ISP: Internet Service Provider)가 존재하고 각 통신사업자간에는 BGP(Border Gateway Protocol) 프로토콜을 통해 라우팅 정보를 교환하여 전 지구가 하나로 연결되는 Internet이 만들어 집니다.
그리고 BGP를 통해 통신사업자간에 라우팅 정보를 교환할 때, 통신사업자를 식별할 수 있는 인자로 AS(Autonomous System) 번호가 함께 전달되어 해당 목적지로 패킷을 전달하기 위해 몇개의 통신사업자(AS)를 거쳐야 하는지 알 수 있게 됩니다. (이를 AS-PATH라 함)
아래 그림은 Internet상에서의 패킷 전달 경로를 보이고 있는데요.
그림 좌측에 Web Server에서 우측의 User에게 전달되는 패킷은 BGP 프로토콜에 의해 생성된 경로를 따르게 되는데, 이 때 BGP 경로 선택 기준(Best Path Selection Algorithm)은 일반적으로 AS-PATH입니다. 즉, AS가 짧은 경로(통신사업자를 가장 적게 거치는 경로)를 통해 패킷이 전달되어집니다.
따라서 Web Server와 연결된 ISP(AS1759)에서 User가 있는 ISP(AS7018)로 패킷을 전달하기 위한 최단 경로는 아래 그림의 보라색 화살표와 같게 됩니다. (AS-PATH: AS1759 - AS12068 - AS3559 - AS6984 - AS7018)
그렇다면 이와 같은 AS-PATH 기반의 패킷 라우팅이 가지는 문제점은 무엇일까요?
그건 바로 경로 선택 기준이 단순히 "최단 경로"이기 때문에 "망 부하 상태에 따른 트래픽 품질(Loss, Delay, Jitter)"을 반영하지 못한다는 것입니다. 예를 들어 위 그림에서 AS3559(아시아)와 AS6984(북미) 간 링크에 트래픽이 증가하여(congestion 발생) Loss, Delay가 증가한다면 AS-PATH가 좀 길더라도 AS7543(호주)를 거쳐 패킷을 전달하면 효율적이겠지만 BGP 기반의 라우팅에서는 불가능합니다.
한마디로 BGP 기반의 인터넷 라우팅은 실시간으로 변화하는 네트워크 상황에 대처하여 Optimal Routing Path를 제공할 수 없습니다.
▶ 참고: 사실 이와 같은 문제는 통신사업자망 내부에서도 발생을 하는데, 이는 OSPF, IS-IS와 같은 IGP 프로토콜 역시 "최단 경로(Cost 기반)"만을 고려하여 라우팅 경로를 잡기 때문입니다(Shortest Path First). 이와 같은 문제를 해결하고자 MPLS-TE 개념이 나왔지만 현실적인 해결책은 아닌 듯 싶습니다.
Akamai SureRoute Path Optimization
Akamai는 75여개국에 100,000여대의 Edge Serer(캐시 서버)를 소유하고 있는 CDN 사업자입니다. 즉, 왠만한 국가에는 모두 Akamai Edge Server가 설치되어 있고, 이로 통해 서버 혹은 사용자와 Akamai Edge Server 구간(First & Last Mile)의 RTT (Round-Trip Time)는 매우 작습니다.
이제 Akamai의 SureRoute 기술이 "BGP 기반의 라우팅 한계"를 어떻게 해결하고 있는지 알아 보겠습니다.
아래 그림과 같이 Akamai SureRoute는 BGP 경로 외에 "Edge Server를 경유하는 경로 2개"를 선정하게 되는데, 이때의 경로 선정 기준은 "빠른 응답 속도"입니다. 즉, Web Server와 User 사이에 Edge Server를 경유하는 여러 경로들에 대한 Latency를 측정하여(각 경로를 통해 Web Server로 특정 Object에 대한 HTTP GET 및 HTTP 200 OK 메시지 송수신) 이 중에 Latency가 가장 작은 경로 2개를 고르고 (1) 이 중에 Latency가 작은 Path 1이 Best Path가 되어 이 경로를 통해 Web Server와 User간에 트래픽을 전달하고, (2) Path 2는 Path 1 구간에 네트워크 장애 발생시 대체 경로(Alternate Path)로 사용할 수 있도록 합니다.
여기서 대체 경로를 미리 잡아 놓는다는 개념도 중요합니다. 일반적인 BGP 망에서는 네트워크 장애로 인한 트래픽 단절 시간이 짧게는 수초에서 길게는 수십초까지 될 수 있지만, 대체 경로를 미리 알고 있는 Edge Server 1의 경우 Path 1에 네트워크 장애 발생시 BGP Convergence에 의존하지 않고 대체 경로 Path 2를 통해 트래픽을 받아 올 수 있게 됩니다. 마치 MPLS-TE의 Path(LSP) Protection 개념과 같습니다.
Best Path가 선정되면 Web Server와 User 사이에 있는 Edge Server들은 HTTP Proxy 기능을 수행하여, Web Server와 User 사이의 연결은 아래와 같이 3개의 구간으로 나누어 지게 됩니다.
그래서 Web Server에서 User로 향하는 트래픽(패킷)의 IP 주소 정보도 (1) 연결 1에서는 SIP = Web Server, DIP = Edge Server 2, (2) 연결 2에서는 SIP = Edge Server 2, DIP = Edge Server 1, (3) 연결 3에서는 SIP = Edge Server 1, DIP = User로 변경되며 전달됩니다.
또한 이와 같이 Edge Server가 Web Server와 User 사이의 HTTP/TCP 연결을 분리(split) 시킴으로 인해, Latency가 가장 큰 인터넷 구간(Edge Server 2 ~ Edge Server 1)에 대해서 다음과 같은 추가 기능을 제공(수행)하여 User에게 보다 빠르게 데이터를 전달 해줍니다. (WAN 가속기와 동일 개념)
정리
BGP 대비 SureRoute의 장점
1. 네트워크 상태(Loss, Delay, Jitter)를 고려한 최적의 경로 제공
2. 네트워크 장애 발생시 트래픽 단절 시간 최소화
Latency가 Internet 구간(Edge Server 1 ~ Edge Server 2)의 전송 효율 증대
1. TCP 프로토콜 최적화를 통해 일반적인 "서버 - 클라이언트"간 TCP 연결 대비 데이터 전송 속도 향상
2. HTTP 프로토콜 최적화를 통해 웹 응답 속도 향상
http://www.akamai.com/html/technology/dataviz2.html