몇 초 전 " 멋지거나 유용한 서버 / 네트워킹 트릭은 무엇입니까? "를 읽을 때까지는 아무 것도 들어 본 적이 없습니다 .
위키 백과의 " 애니 캐스트 (Anycast) "기사는 매우 형식적이며 실제로 어떻게 사용되는지에 대한 정신적 인 그림을 불러 일으키지는 않습니다.
어떤 사람은 비공식 문장으로 "애니 캐스트"가 무엇인지, 어떻게 구성하는지 (일반적인 의미로), 그 이점이 무엇인지 (쉽게 만드는 방법) 설명 할 수 있습니까?
몇 초 전 " 멋지거나 유용한 서버 / 네트워킹 트릭은 무엇입니까? "를 읽을 때까지는 아무 것도 들어 본 적이 없습니다 .
위키 백과의 " 애니 캐스트 (Anycast) "기사는 매우 형식적이며 실제로 어떻게 사용되는지에 대한 정신적 인 그림을 불러 일으키지는 않습니다.
어떤 사람은 비공식 문장으로 "애니 캐스트"가 무엇인지, 어떻게 구성하는지 (일반적인 의미로), 그 이점이 무엇인지 (쉽게 만드는 방법) 설명 할 수 있습니까?
답변:
애니 캐스트는 동일한 IP 접두사가 여러 위치에서 보급되는 네트워킹 기술입니다. 그런 다음 네트워크는 라우팅 프로토콜 비용 및 광고 서버의 '상태'에 따라 사용자 요청을 라우팅 할 위치를 결정합니다.
애니 캐스트에는 몇 가지 이점이 있습니다. 첫째, 안정적인 상태에서 애니 캐스트 서비스 사용자 (DNS가 가장 좋은 예)는 항상 라우팅 프로토콜 관점에서 가장 가까운 DNS 서버에 연결됩니다. 이렇게하면 대기 시간이 줄어들고로드 밸런싱 수준이 향상됩니다 (소비자가 네트워크에 고르게 분산되어 있다고 가정).
또 다른 장점은 구성 관리가 쉽다는 것입니다. 서버 / 워크 스테이션이 배포 된 위치 (아시아, 아메리카, 유럽)에 따라 다른 DNS 서버를 구성하지 않고 모든 위치에 하나의 IP 주소가 구성되어 있습니다.
애니 캐스트 구현 방법에 따라 고 가용성 수준을 제공 할 수도 있습니다. 애니 캐스트 경로의 광고가 일종의 상태 확인 (예 : 잘 알려진 도메인에 대한 DNS 쿼리)에 조건부 인 경우 서버가 실패하자마자 경로를 제거 할 수 있습니다. 네트워크가 수렴되면 수동 개입이나 재구성없이 사용자 요청이 가장 가까운 다음 DNS 인스턴스로 원활하게 전달됩니다.
마지막 장점은 수평 스케일링입니다. 한 서버에 과부하가 걸린 경우 오버로드 된 서버 요청의 일부를 차지할 수있는 위치에 다른 서버를 배포하면됩니다. 클라이언트 구성이 필요하지 않으므로 매우 빠르게 수행 할 수 있습니다.
"애니 캐스트"를 이해하는 데 종종 혼란을 겪는 것 중 하나는 높은 수준의 용어이지만 실제 구현에서는 일반적으로 두 가지 예로 요약됩니다.
BGP 를 사용하는 라우터 는 사용자를 "가까운"사이트로 안내하는 대략적인 방법으로 여러 AS 경로를 통해 동일한 IP 블록을 보급합니다 . 동시에 문제가 발생한 사이트에서 경로를 취소함으로써 다른 사이트에 대한 거의 투명한 장애 조치를 제공합니다. 이것은 거의 모든 프로토콜에 유용 할 수 있지만 백엔드 데이터 동기화 문제가 많이 발생합니다.
정적 라우팅 , OSPF , EIGRP 등을 통해 자체 네트워크의 여러 지점에서 동일한 서비스 IP를 광고합니다 . 경로의 가중치가 다르게 설정 되면 장애 조치 메커니즘으로 작동합니다. 라우트에 균등 한 가중치가 부여되면 대부분의 유명 브랜드 공급 업체 라우터의 패킷 별 또는 플로우 별로드 밸런싱 기능을 활용할 수 있습니다. 응용 프로그램 계층 프로토콜이 이것에 익숙해 지도록주의해야합니다. 따라서 거의 항상 DNS 와 함께 사용 된 것을 들어야 합니다.요청은 항상 하나의 패킷이며 모든 것이 상태 비 저장입니다. 개인적으로 이것은 DNS와 적절한로드 밸런서의 조합이 거의 항상 더 나은 솔루션이 될 때 네트워크 계층에 대한 애플리케이션 계층 문제의 해킹으로 간주됩니다.
DNS와 같은 UDP 기반 서비스에 주로 사용됩니다. 기본적으로 전 세계 여러 데이터 센터에서 동일한 경로를 발표합니다. 이러한 방식으로 고객은 BGP 경로를 기반으로 "최고"및 "가장 가까운"데이터 센터로 전송됩니다. 네트워크 제공 업체가 게임을하고 특정 네트워크의 트래픽을 다르게 라우팅 할 수 있기 때문에 "최고"및 "가장 가까운"따옴표를 사용합니다. 일반적으로 애니 캐스트에서 가장 잘 작동하지만 보장 할 수는 없습니다.
예를 들어 DNS 서버를 1.2.3.4 및 1.2.3.5로 나열하는 것이 있습니다. 라우터는 여러 데이터 센터 중 1.2.3 / 24에 대한 경로를 발표합니다. 일본에 있고 거기에 데이터 센터가 있다면 거기에있게 될 것입니다. 미국에 거주하는 경우 미국 데이터 센터로 전송됩니다. 다시 말하지만 실제 지리적 라우팅이 아닌 BGP 라우팅을 기반으로하지만 일반적으로 문제가 발생합니다.
원래 답변에 따라 블로그에 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라고 가정하면 ...
비공식적으로 동일한 주소를 사용하여 전 세계 여러 위치에서 동일한 서비스를 설정할 수 있으므로 서비스의 탄력성과 네트워크 액세스 / 대기 시간 / 속도가 향상됩니다. 누군가 해당 주소를 쿼리하면 가장 가까운 / 최상의 경로가 제공됩니다.
서버 관점에서 :
유니 캐스트가 한 사람에게 가고 멀티 캐스트가 여러 사람에게 가고 브로드 캐스트가 모든 사람들에게가는 경우, 애니 캐스트는 정신 분열증이 있고 각 사람에게 가장 적합한 성격이 그들과 연결되는 여러 성격을 가지고 있습니다. 흠. 최고의 비유가 아닙니다.
내 동료 중 한 사람에 따르면, 사람들은 애니 캐스트 IP 주소 만 "가장 가까운"공격 만 할 수 있으므로 DoS 공격 완화 기술로도 유용하므로 미국에 많은 좀비가있는 경우 유로 사이트는 패킷을 실제로 보낼 수 없으므로 대부분 영향을받지 않습니다.
또한 스푸핑 된 패킷이 BGP에서 올바른 경로로 광고 될 가능성이없는 곳에서 오는 경우 (예 : ASN이 N American을 표시 할 때 유럽으로 들어오는 패킷) 명백하게 필터링 될 수있는 방법으로 사용할 수 있습니다. 블록).
또한 Anycast는 재설정이나 긴 대화에서 살아남을 수없는 일부 TCP 연결에 적합하지 않거나 신뢰할 수 없습니다.
BGP를 사용하는 애니 캐스트 IP는 인터넷 에 특정 HOST에 대한 2, 3 개 이상의 경로 가 있다고 말하지만 실제로 는 동일한 호스트 가 아니며 여러 데이터 센터에 광고 된 호스트의 복제본으로 대기 시간이 짧아 진 연결을 달성합니다.
예를 들어 198.251.86.133에 대해 www가 아닌 301 리디렉션을 수행하는 3 대의 서버가 있습니다.이 호스트를 ping하면 내 서버가 미국 동부, 미국 동부이기 때문에 때때로 응답이 중복되거나 사용자의 위치에 따라 떨어질 수 있습니다 -서부 및 EUR. 짧은 시간 연결 (예 : 브라우저 캐시 된 301과 같은)의 경우 가장 가까운 데이터 센터의 로컬 서버에서 빠른 응답을 제공합니다.
중복성 관점에서 애니 캐스트에는 기본 제공되는 것이 없으므로 IP는 일반적인 시나리오에서 항상 해당 데이터 센터를 가리 키므로 각 사이트마다 독립적 인 중복성이 필요합니다.