"애니 캐스트"란 무엇이며 어떻게 도움이됩니까?


85

몇 초 전 " 멋지거나 유용한 서버 / 네트워킹 트릭은 무엇입니까? "를 읽을 때까지는 아무 것도 들어 본 적이 없습니다 .

위키 백과의 " 애니 캐스트 (Anycast) "기사는 매우 형식적이며 실제로 어떻게 사용되는지에 대한 정신적 인 그림을 불러 일으키지는 않습니다.

어떤 사람은 비공식 문장으로 "애니 캐스트"가 무엇인지, 어떻게 구성하는지 (일반적인 의미로), 그 이점이 무엇인지 (쉽게 만드는 방법) 설명 할 수 있습니까?

답변:


88

애니 캐스트는 동일한 IP 접두사가 여러 위치에서 보급되는 네트워킹 기술입니다. 그런 다음 네트워크는 라우팅 프로토콜 비용 및 광고 서버의 '상태'에 따라 사용자 요청을 라우팅 할 위치를 결정합니다.

애니 캐스트에는 몇 가지 이점이 있습니다. 첫째, 안정적인 상태에서 애니 캐스트 서비스 사용자 (DNS가 가장 좋은 예)는 항상 라우팅 프로토콜 관점에서 가장 가까운 DNS 서버에 연결됩니다. 이렇게하면 대기 시간이 줄어들고로드 밸런싱 수준이 향상됩니다 (소비자가 네트워크에 고르게 분산되어 있다고 가정).

또 다른 장점은 구성 관리가 쉽다는 것입니다. 서버 / 워크 스테이션이 배포 된 위치 (아시아, 아메리카, 유럽)에 따라 다른 DNS 서버를 구성하지 않고 모든 위치에 하나의 IP 주소가 구성되어 있습니다.

애니 캐스트 구현 방법에 따라 고 가용성 수준을 제공 할 수도 있습니다. 애니 캐스트 경로의 광고가 일종의 상태 확인 (예 : 잘 알려진 도메인에 대한 DNS 쿼리)에 조건부 인 경우 서버가 실패하자마자 경로를 제거 할 수 있습니다. 네트워크가 수렴되면 수동 개입이나 재구성없이 사용자 요청이 가장 가까운 다음 DNS 인스턴스로 원활하게 전달됩니다.

마지막 장점은 수평 스케일링입니다. 한 서버에 과부하가 걸린 경우 오버로드 된 서버 요청의 일부를 차지할 수있는 위치에 다른 서버를 배포하면됩니다. 클라이언트 구성이 필요하지 않으므로 매우 빠르게 수행 할 수 있습니다.


애니 캐스트는 유니 캐스트에 비해 더 많은 대역폭을 사용합니까? 우리가 동일한 IP 주소를 공유하는 수천 대의 서버가 있다고 가정하고, 주소 로 패킷을 보낼 때 유니 캐스트와 비교할 때보 다 더 많은 대역폭을 차지하지 않습니까?
Pacerier

5
아니요-애니 캐스트 주소로 전송 된 트래픽은 주소를 알리는 한 위치에만 도착합니다. 당신은 생각 할 수있다 멀티 캐스트 멀티 캐스트 그룹 주소로 전송 된 패킷은 해당 그룹에 관심이있는 모든 호스트로 전송됩니다.
Murali Suriar

도메인 이름으로 " 서버 / 워크 스테이션이 배포되는 위치에 따라 다른 DNS 서버를 구성하지 않고 "문제가 발생하지 않습니까? 그렇다면 어떤 도메인 이름을 이미 복제하고 있는지 애니 캐스트의 요점은 무엇입니까?
Pacerier

1
@Pacerier-도메인 이름을 사용하여 DNS 서버를 찾을 수 없습니다-그것은 순환 종속성입니다. 예 : dns.foo.com을 구성하십시오. DNS 서버로. dns.foo.com에 어떤 IP 주소를 요청합니까? 알아, DNS에서 찾아 볼게 등
무랄리 Suriar

32

"애니 캐스트"를 이해하는 데 종종 혼란을 겪는 것 중 하나는 높은 수준의 용어이지만 실제 구현에서는 일반적으로 두 가지 예로 요약됩니다.

  1. BGP 를 사용하는 라우터 는 사용자를 "가까운"사이트로 안내하는 대략적인 방법으로 여러 AS 경로를 통해 동일한 IP 블록을 보급합니다 . 동시에 문제가 발생한 사이트에서 경로를 취소함으로써 다른 사이트에 대한 거의 투명한 장애 조치를 제공합니다. 이것은 거의 모든 프로토콜에 유용 할 수 있지만 백엔드 데이터 동기화 문제가 많이 발생합니다.

  2. 정적 라우팅 , OSPF , EIGRP 등을 통해 자체 네트워크의 여러 지점에서 동일한 서비스 IP를 광고합니다 . 경로의 가중치가 다르게 설정 되면 장애 조치 메커니즘으로 작동합니다. 라우트에 균등 한 가중치가 부여되면 대부분의 유명 브랜드 공급 업체 라우터의 패킷 별 또는 플로우 별로드 밸런싱 기능을 활용할 수 있습니다. 응용 프로그램 계층 프로토콜이 이것에 익숙해 지도록주의해야합니다. 따라서 거의 항상 DNS 와 함께 사용 된 것을 들어야 합니다.요청은 항상 하나의 패킷이며 모든 것이 상태 비 저장입니다. 개인적으로 이것은 DNS와 적절한로드 밸런서의 조합이 거의 항상 더 나은 솔루션이 될 때 네트워크 계층에 대한 애플리케이션 계층 문제의 해킹으로 간주됩니다.


하나의 패킷과 상태 비 저장에 대해 +1
nponeccop

3
DNS의 문제는 구글이나 다른 원격 리졸버를 사용할 수 있으며 가장 가까운 서버는 리졸버가 사용자와 다를 수 있다는 것입니다. 물론 이것은 DNS 이외의 용도 (예 : tcp 애니 캐스트 또는 기타 사용법)에 대해서만 애니 캐스트에만 유효합니다.
akostadinov

@ cagenut, 패킷 당로드 밸런싱의 경우 (무게 또는 기타 이유로 인해) HTTP가 중단됩니까?
Pacerier

16

DNS와 같은 UDP 기반 서비스에 주로 사용됩니다. 기본적으로 전 세계 여러 데이터 센터에서 동일한 경로를 발표합니다. 이러한 방식으로 고객은 BGP 경로를 기반으로 "최고"및 "가장 가까운"데이터 센터로 전송됩니다. 네트워크 제공 업체가 게임을하고 특정 네트워크의 트래픽을 다르게 라우팅 할 수 있기 때문에 "최고"및 "가장 가까운"따옴표를 사용합니다. 일반적으로 애니 캐스트에서 가장 잘 작동하지만 보장 할 수는 없습니다.

예를 들어 DNS 서버를 1.2.3.4 및 1.2.3.5로 나열하는 것이 있습니다. 라우터는 여러 데이터 센터 중 1.2.3 / 24에 대한 경로를 발표합니다. 일본에 있고 거기에 데이터 센터가 있다면 거기에있게 될 것입니다. 미국에 거주하는 경우 미국 데이터 센터로 전송됩니다. 다시 말하지만 실제 지리적 라우팅이 아닌 BGP 라우팅을 기반으로하지만 일반적으로 문제가 발생합니다.


1
그러면 어떻게 갈등을 피할 수 있습니까?
Pacerier

갈등의 의미를 잘 모르겠습니다. BGP는 실제로 충돌을 허용하지 않습니다. 그냥 경로를 선택합니다. 애니 캐스트의 한 가지 (종종 무시되는) 문제는 합법적입니다. 기술적으로 애니 캐스팅에는 다른 특허가 적용됩니다. 아무도 이것을 시행하지는 않지만 다른 트래픽 유형 (CDN, DNS, TCP 및 UDP)은 다른 특허에 의해 보호됩니다. 이 단락은 IANAL로 다루어야합니다.
diq

당신은 그 ip2location 서비스가 정확하지 않다는 것을 의미합니까? IP에 대한 공식적인 위치가 없으며 사용 중인 BGP 컴퓨터에 따라 어디에 있을 수 있습니까?
Pacerier

9

원래 답변에 따라 블로그에 Anycast DNS-3 부, RIP 사용 및 Anycast DNS-3 부, RIP 사용 (계속)이라는 제목의 기사를 2 개 더 게시했습니다. 후자에 대한 자세한 내용은 www.netlinxinc.com/netlinx-blog.html에서 RIP를 사용하여 Anycast DNS에 대해 Cisco 라우터 및 Open Source Quagga 호스트 기반 라우팅 소프트웨어를 구성하는 방법에 대한 실제 레시피를 찾을 수 있습니다.

나는 현재 시리즈의 네 번째 기사를 작성하고 있습니다. OSPF를 사용하여 Anycast DNS를 배포하는 방법에 대한 설명을 제공합니다. 마지막 시리즈에서는 BGP를 사용하여 Anycast DNS를 배포하는 방법을 보여 드리겠습니다.

애니 캐스트 DNS-1 부, 개요

애니 캐스트 DNS-2 부, 고정 경로 사용

애니 캐스트 DNS-3 부, RIP 사용

애니 캐스트 DNS-3 부, RIP 사용 (계속)


애니 캐스트로 인해 전세계 인터넷상의 다른 사람이 ISP가 제공 한 것과 동일한 퍼블릭 IP를 가질 수 있다는 것이 사실입니까?
Pacerier

ISP만이 캐스트 서버를 배포 할 수 있다는 것이 사실이 아닙니까?
Pacerier

실제로 애니 캐스트를 수행하려면 여러 ISP를 소유해야합니다 .
Pacerier

4

이것이 현재 주로 DNS라고 가정하면 ...

비공식적으로 동일한 주소를 사용하여 전 세계 여러 위치에서 동일한 서비스를 설정할 수 있으므로 서비스의 탄력성과 네트워크 액세스 / 대기 시간 / 속도가 향상됩니다. 누군가 해당 주소를 쿼리하면 가장 가까운 / 최상의 경로가 제공됩니다.

서버 관점에서 :

유니 캐스트가 한 사람에게 가고 멀티 캐스트가 여러 사람에게 가고 브로드 캐스트가 모든 사람들에게가는 경우, 애니 캐스트는 정신 분열증이 있고 각 사람에게 가장 적합한 성격이 그들과 연결되는 여러 성격을 가지고 있습니다. 흠. 최고의 비유가 아닙니다.


3

애니 캐스트의 흥미로운 사용법은 DNS입니다. 다양한 물리적 및 네트워크 위치에 5 개의 서로 다른 DNS 서버를 배치 할 수 있지만 단일 (또는 때로는 기본 및 보조 DNS) 주소를 공유 할 수 있습니다. 소스의 위치에 따라 가장 가까운 노드로 라우팅됩니다. 이것은 일부 트래픽 밸런싱을 수행하고 DNS 서버가 죽으면 중복성을 제공합니다.


그러나 DNS 시스템에서 이미 중복성을 제공하지 않습니까?
Pacerier

2

내 동료 중 한 사람에 따르면, 사람들은 애니 캐스트 IP 주소 만 "가장 가까운"공격 만 할 수 있으므로 DoS 공격 완화 기술로도 유용하므로 미국에 많은 좀비가있는 경우 유로 사이트는 패킷을 실제로 보낼 수 없으므로 대부분 영향을받지 않습니다.

또한 스푸핑 된 패킷이 BGP에서 올바른 경로로 광고 될 가능성이없는 곳에서 오는 경우 (예 : ASN이 N American을 표시 할 때 유럽으로 들어오는 패킷) 명백하게 필터링 될 수있는 방법으로 사용할 수 있습니다. 블록).


1
글쎄, 간단한 경우에도 AS 경로를 가진 사람 만 해당 서버로 이동하는 것을 막을 수 있습니다. 예를 들어 Comcast에서 당신에게 접근하는 사람은 AT & T가 아닌 사람을 막을 수 있습니다. 장애 조치 (L7 서비스 추적, 중단시 알림 중지)에 대해 "적절하게"설정 한 경우 한 서버를 공격 한 후 다음 서버로 이동할 때 DoS 공격을 처리하는 것이 실제로 훨씬 더 까다 롭습니다. 공지 사항이 게시 중단되었습니다 ...
James Cape

@JamesCape, 흥미롭지 만, 다음 단계로 넘어갈 때 사람들이 제대로 연결할 수 없어서 실패 했습니까?
Pacerier

@Pacerier 가장 간단한 경우에는 지능이 없어도 어디에서나 동일한 IP를 광고 할 수 있습니다. 그러나 서비스가 응답하지 않아 영리하고 미국에서 광고를 철회하려는 경우 유럽에있는 광고 만 남게됩니다. 따라서 모든 미국 좀비는 다음으로 이용 가능한 서버를 공격하고 그 서버도 죽입니다.
제임스 케이프

2

또한 Anycast는 재설정이나 긴 대화에서 살아남을 수없는 일부 TCP 연결에 적합하지 않거나 신뢰할 수 없습니다.

BGP를 사용하는 애니 캐스트 IP는 인터넷 에 특정 HOST에 대한 2, ​​3 개 이상의 경로 가 있다고 말하지만 실제로 는 동일한 호스트아니며 여러 데이터 센터에 광고 된 호스트의 복제본으로 대기 시간이 짧아 진 연결을 달성합니다.

예를 들어 198.251.86.133에 대해 www가 아닌 ​​301 리디렉션을 수행하는 3 대의 서버가 있습니다.이 호스트를 ping하면 내 서버가 미국 동부, 미국 동부이기 때문에 때때로 응답이 중복되거나 사용자의 위치에 따라 떨어질 수 있습니다 -서부 및 EUR. 짧은 시간 연결 (예 : 브라우저 캐시 된 301과 같은)의 경우 가장 가까운 데이터 센터의 로컬 서버에서 빠른 응답을 제공합니다.

중복성 관점에서 애니 캐스트에는 기본 제공되는 것이 없으므로 IP는 일반적인 시나리오에서 항상 해당 데이터 센터를 가리 키므로 각 사이트마다 독립적 인 중복성이 필요합니다.


다시 "핑"; UDP 연결을 핑하지 않습니까?
Pacerier

"일반적인 시나리오에서 IP는 항상 해당 데이터 센터를 가리킬 것입니다." 확실합니까? 해당 서버가 정전되면 가장 가까운 다음 서버를 가리 키기 시작합니까?
Pacerier
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.