• 네트워크 기술 하나 중 Anycast는 DNS 서비스에서 주로 사용
  • 각 글로벌 POP에 비용 절감 및 고가용성 용도로도 많이 사용

 

1. Anycast란

  • 보통 알고 사용하고 있는 IP 주소는 Unicast IP이며 이것은 고유한 IP 주소
  • Anycast IP는 서로 다른 곳, 서로 다른 호스트끼리 동일한 IP 주소를 가질 수 있는 개념 → 네트워크 내 다수의 서버가 동일한 IP 주소 또는 일련의 IP 주소를 이용(Anycast 네트워크에서는 통신은 일대다)
  • 동일한 IP 주소를 사용하는 경우, 충돌 발생 가능 → 충돌된 IP들의 회피 방법은 BGP와 같은 라우팅 프로토콜에 의해서 해결
  • 라우팅 프로토콜에 의해 충돌난 IP에 대해서 가장 최적의 경로의 IP를 가진 서버를 1개 선택해서 라우팅함
  • 같은 IP를 각 라우터들이 어나운스하며 가장 가까운 곳으로 판단되는 쪽으로 사용
  • 라우팅 코스트가 가장 적은 쪽의 경로를 선택, 라우팅 코스트가 같다면 로드밸런싱함

2. Anycast DNS

  • Anycast는 주로 DNS 서비스에 많이 활용
  • Anycast 기법을 사용하여 DNS 서버를 지역별 분산 구성하여 DNS 질의를 요청한 클라이언트와 가장 근접한 DNS 서버가 처리하도록 하여 응답속도와 안정성을 향상함
  • 항상 네트워크 경로상 가장 가까운 DNS 서버가 응답 → 가장 가까운 DNS가 장애가 발생되면 라우터에서 어나운스가 되지 않아 자동으로 빠지며 그다음 가까이 위치에 있는 DNS가 대신 처리함
  • 지리적으로 가장 가까운 서버가 응답하는 Anycast DNS는 대기 시간을 줄이고, DNS 확인 서비스의 가동 시간을 늘리면서, DNS 폭주 DDoS 공격을 방지 가능
  • Google public DNS를 Anycast로 구성하여 가장 가까운 지역에서 DNS서비스를 받는 과정

 

2.1. Anycast DNS 도입배경

  • Anycast가 도입된 이유는 2002년 10월 root DNS DDoS 공격으로 전 세계 13개 root DNS 중 8개가 다운, 2003년 1.25 인터넷 대란 때 5개의 root DNS가 웜으로 DDoS 공격당하여 전 세계 DNS가 마비되어서 개선안으로 Anycast 기술을 사용하게 됨
  • Anycast IP를 이용하여 DNS를 적절히 분산구성하여 한쪽 지역이 무너지더라도 다른 지역에서 서비스를 받을 수 있도록 함

 

2.2. Google public DNS

  • Google public DNS의 IP 8.8.8.8가 대표적으로 Anycast로 구성되어 있으며 전 세계 국가에 분산되어 있고 규모가 엄청남
  • Google public DNS를 쓰면 자신이 속한 지역에서 라우팅 경로가 가장 최적인 지역의 DNS 서비스를 받고, Google 서비스에 대한 서비스도 최적에 있는 지역의 서버에 서비스를 진행
  • 아시아에선 Google public DNS가 대만과 홍콩에 위치
  • Google public DNS 참고 자료 : https://developers.google.com/speed/public-dns/faq#locations
 

자주 묻는 질문(FAQ)  |  Public DNS  |  Google for Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 자주 묻는 질문(FAQ) 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 일반 Google Public DNS란

developers.google.com

 

3. Anycast DNS의 작동 방식

  • Anycast를 이용하면 DNS 확인이 훨씬 빨라짐
  • Anycast DNS에서는, DNS 질의가 하나의 특정 DNS가 아닌 다른 DNS의 네트워크로 향하며, 가장 가까우면서 가용한 DNS로 질의를 보냄
  • DNS 질의 및 응답은 가장 빨리 질의에 응답할 수 있도록 최적화된 경로를 따름
  • Anycast는 DNS 확인 서비스의 가용성을 높이는 데도 도움이 됨
  • 하나의 DNS 가 오프라인 상태가 되더라도 네트워크의 다른 DNS가 질의에 응답할 수 있음
  • CDN은 Anycast이므로, DNS 질의는 네트워크 내 어떤 데이터 센터에서도 확인 가능 → 네트워크 내의 모든 DNS가 모든 DNS 질의에 응답할 수 있음

 

4. Anycast가 없을 때의 DNS 확인 작동 방식

  • Anycast를 사용하지 않는 DNS 확인 서비스는 Unicast 라우팅을 사용하는 경우가 많음
  • Unicast 라우팅에서는 모든 DNS 서버에 하나의 IP 주소가 있으며 모든 DNS 질의는 특정 서버로 향함
  • 해당 DNS가 작동하지 않거나 사용할 수 없는 경우, 클라이언트는 추가 DNS에 질의해야 하는데, DNS 확인 시간이 길어지게 됨

 

5. Anycast DNS가 DDoS 공격에 대한 복원력을 제공하는 방식

  • DDoS 공격은 DNS 폭주 공격을 통해 DNS 마비시킴
  • DDoS 공격은 대개 IoT 기기로 된 대규모 봇네트를 이용해 DNS 질의로 DNS를 압도하거나 DNS에 폭주함
  • DNS 폭주 공격은 개방된 DNS를 통해 DDoS 공격을 증폭시키는 DNS 증폭 공격과는 다름

 

  • Anycast 네트워크는 트래픽을 전체 네트워크에 분산시킬 수 있으므로, DDoS 방어도 제공
  • Anycast 네트워크는 특정 IP 주소로의 요청에 대해 다수의 서버가 응답하므로, 한 대의 서버를 압도할 수 있는 수천 개의 요청이 다수의 서버에 나눠지는 것
  • Anycast 네트워크는 대개의 DNS 폭주 공격에 취약하지 않음

 

 

 

참고 자료

+ Recent posts