내용
소개
ZEVENET ADC에서 지원하는 네 가지 유형의 네트워크 주소 변환(NAT) 중 소스 NAT(NAT), 동적 NAT(DNAT), DSR (Direct Server Return) 무국적 DNAT. 이 기사에서는 DSR(직접 서버 반환)의 복잡성을 탐구하고 아키텍처, 이점 및 잠재적인 장애물을 탐색합니다. 또한 ZEVENET ADC에서 DSR을 설정합니다.
DSR은 백엔드 애플리케이션 서버가 요청을 수신하고 처리할 때 클라이언트의 요청에 직접 응답하는 경우입니다. 그러나 이것은 어떻게 작동합니까? 다음은 서버와 웹 클라이언트 간의 통신 흐름입니다.
DSR 통신 흐름
클라이언트 요청: 클라이언트는 스트리밍 가능한 미디어 파일에 액세스하거나 ZEVENET ADC를 통해 애플리케이션 서버로 데이터를 보내는 것과 같은 요청을 시작합니다.
로드 밸런서 상호 작용: 요청을 받으면 ZEVENET은 다음을 제외하고 요청 내용을 수정하지 않습니다. 대상 MAC 주소. 수정된 MAC 주소는 요청을 처리할 백엔드 서버의 MAC 주소입니다. 그런 다음 로드 밸런서는 로드 밸런싱 알고리즘 세트에 따라 적절한 백엔드 서버로 요청을 전달합니다.
백엔드 애플리케이션 서버: 요청을 받으면 백엔드 서버는 요청을 처리하고 응답을 생성합니다.
직접 응답: 그런 다음 백엔드 서버는 클라이언트 장치에 직접 응답을 보내 통신 루프를 완료합니다.
중요 사항
- ZEVENET은 일반적으로 원래 클라이언트-서버 통신을 유지하기 위해 백엔드 서버를 대신하여 ARP 요청에 응답합니다. 따라서 적절한 ARP 구성은 적절한 패킷 라우팅을 보장하는 데 중요합니다.
- 충돌을 피하고 클라이언트와 백엔드 서버 간의 적절한 통신을 보장하기 위해 IP 주소 지정 체계를 신중하게 계획해야 합니다. 우리는 일반적으로 L4xNAT 팜에서 사용하는 가상 IP(VIP)와 유사한 IP 주소를 갖도록 백엔드 서버를 구성하지만 백엔드는 충돌을 피하기 위해 ARP 호출에서 이를 알리지 않을 수 있습니다.
네트워크 인프라에 DSR을 사용하는 이유
DSR은 주요 병목 현상을 일으키지 않고 방대한 양의 데이터를 처리할 수 있는 기능 때문에 오늘날의 네트워크 인프라에서 매우 중요해졌습니다. 이것은 큰 문제입니다. 확장성, 다용도성, 고가용성 및 내결함성 외에도 DSR이 돋보이는 주된 이유는 다음과 같습니다.
터보차저 성능: DSR은 기존 라우팅 방법에 의해 도입된 추가 홉을 제거함으로써 대기 시간과 패킷 손실을 크게 줄입니다. 상당한 양의 데이터 청크를 효율적으로 전달하는 것이 중요한 게임 및 비디오 스트리밍에서 이 설정을 사용할 수 있습니다.
예를 들어, 멀티플레이어 게임에서 DSR은 모든 데이터 패킷을 중재하는 로드 밸런서 없이 게임 클라이언트와 게임 서버 간의 직접 통신을 가능하게 합니다. 이 직접 통신을 통해 플레이어 이동, 작업 및 업데이트와 같은 게임 관련 데이터를 보다 빠르고 효율적으로 전송할 수 있습니다. 결과적으로 DSR은 대기 시간을 줄이고 게임 경험을 향상시키며 더 부드러운 게임 플레이에 기여합니다.
마찬가지로 비디오 스트리밍에서 클라이언트가 비디오 스트림을 요청하면 백엔드 서버는 로드 밸런서를 통해 비디오 데이터를 라우팅하지 않고 클라이언트로 직접 전송할 수 있습니다. 데이터 경로에서 로드 밸런서를 제거하여 잠재적인 병목 현상을 최소화하여 시청자에게 원활한 스트리밍 경험을 보장합니다. 이는 중단 없는 재생을 위해 대용량 데이터 청크의 효율적인 처리가 필수적인 고품질 또는 고해상도 비디오 콘텐츠에 특히 유용합니다.
로드 밸런서의 감소된 로드: DSR을 사용하면 백엔드 서버에서 반환 트래픽을 처리하는 로드 밸런서가 완화됩니다. 이 오프로딩은 로드 밸런서의 처리 부담을 크게 줄여 수신 요청을 효율적으로 분산하는 데 집중할 수 있도록 합니다. 결과적으로 로드 밸런서는 더 많은 양의 트래픽을 처리하고 전반적으로 더 나은 확장성을 달성합니다.
라우팅 테이블을 유지할 필요가 없습니다. 라우팅은 특히 여러 서브넷과 복잡한 라우팅 정책이 있는 대규모 네트워크에서 복잡할 수 있습니다. 반환 트래픽에 대한 라우팅 테이블을 유지 관리하지 않음으로써 로드 밸런서는 복잡한 라우팅 구성을 처리하고 관리할 필요가 없으므로 잘못된 구성 또는 라우팅 관련 문제가 발생할 가능성이 줄어듭니다.
Linux 및 Windows 백엔드 서버용 ZEVENET 구성
DSR을 활성화하려면 먼저 계층 4 가상 서버 또는 L4xNAT 팜을 구성해야 합니다. 읽다 이 문서를 만들 수 있습니다.
DSR 요구 사항 :
- 가상 IP 백엔드는 동일한 네트워크에 있어야 합니다.
- 가상 포트 백엔드 포트는 동일해야 합니다.
- 백엔드를 구성해야 합니다. 루프백 로드 밸런서에 구성된 VIP와 동일한 IP 주소로 인터페이스하고 비활성화 ARP 이 인터페이스에서.
리눅스 백엔드 서버
# ifconfig lo:0 192.168.0.99 netmask 255.255.255.255 -arp up
이 명령으로 가상 네트워크 인터페이스를 만듭니다. 로:0 IP 주소로 192.168.0.99 그리고 서브넷 마스크 255.255.255.255.
-arp 플래그는 이 인터페이스에서 ARP(Address Resolution Protocol)를 비활성화합니다.
백엔드에서 유효하지 않은 ARP 응답을 비활성화합니다.
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
이 명령은 arp_ignore의 값을 다음으로 설정합니다. 1 에서 /proc/sys/net/ipv4/conf/all 파일. 이 매개변수는 커널이 ARP 요청에 응답하는 방법을 결정합니다. 1로 설정하면 시스템이 네트워크 인터페이스에 구성되지 않은 IP 주소에 대한 ARP 요청을 무시해야 함을 의미합니다.
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
이 명령은 백엔드 서버에서 arp_announce 매개변수를 수정합니다. DSR 구성에서 arp_announce를 다음으로 설정 2 백엔드 서버가 ARP 요청에 응답할 때 요청의 대상 IP 주소를 ARP 응답의 소스 IP 주소로 사용하도록 합니다. 이렇게 하면 클라이언트가 요청을 보낸 IP 주소에서 응답을 받을 것으로 예상하므로 백엔드 서버와 클라이언트 간에 적절한 통신이 유지됩니다.
윈도우 백엔드 서버
- 스타트->설정->제어 패널->네트워크 및 전화 접속 연결.
- 네트워크 어댑터를 마우스 오른쪽 버튼으로 클릭하고 등록.
- 만 인터넷 프로토콜 선택해야 함("MS 네트워크용 클라이언트" 및 "파일 및 프린터 공유" 선택 취소)
- TCP/IP 속성-> ZEVENET ADC 팜에서 VIP의 IP 주소를 입력하십시오. 기본 게이트웨이는 선택 사항입니다. 마스크를 입력하십시오 255.255.255.255
- 인터페이스 메트릭을 다음으로 설정 254. 이 구성은 VIP에 대한 ARP 응답에 대한 응답을 중지하는 데 필요합니다.
- PR 기사 OK 변경 사항을 저장하십시오.
그런 다음 NIC 인터페이스에서 ZEVENET ADC의 트래픽을 수락하도록 호스트 보안 모델을 구성하십시오. 또한 ZEVENET ADC가 기본 NIC 인터페이스를 통해 트래픽을 송수신하도록 허용하십시오. 관리자 권한으로 CMD를 열고 제공된 세 가지 명령을 실행합니다.
netsh interface ipv4 set interface NIC weakhostreceive=enabled netsh interface ipv4 set interface loopback weakhostreceive=enabled netsh interface ipv4 set interface loopback weakhostsend=enabled
중요 사항
NIC를 변경하고 Windows 컴퓨터의 기본 인터페이스 이름으로 되돌아갑니다.
DSR 사용의 문제점
DSR(Direct Server Return)은 많은 이점을 제공하지만 때로는 조직이 고려하고 해결해야 하는 잠재적인 문제를 제시할 수 있습니다. 이러한 문제를 이해하면 DSR을 효과적으로 계획하고 구현하는 데 도움이 됩니다. 다음은 DSR과 관련된 몇 가지 일반적인 문제입니다.
비대칭 라우팅: 이는 정방향 및 리턴 경로가 서로 다른 경로를 사용함을 의미합니다. 장점이 있을 수 있지만 비대칭 라우팅은 트래픽 흐름이 대칭적이지 않기 때문에 네트워크 문제 해결 및 모니터링을 복잡하게 만들 수 있습니다.
서버 호환성: 모든 서버가 모든 유형의 응용 프로그램에서 DSR을 지원하는 것은 아닙니다. 예를 들어 ZEVENET을 사용할 때 Linux 또는 Windows 서버에서만 DSR을 수행할 수 있습니다.
상태 저장 작업: 세션 정보 유지에 의존하는 상태 저장 작업의 경우 DSR이 문제를 일으킬 수 있습니다. 다른 NAT 유형을 사용하는 경우 로드 밸런서는 모든 형태의 세션 지속성을 처리하지만 DSR을 사용하면 직접 라우팅이 이러한 중개자를 우회합니다. 이를 우회하는 한 가지 방법은 세션 지속성을 위해 레이어 4에서 소스 IP 주소를 사용하고 레이어 7에서 쿠키 삽입을 사용하는 것입니다.
네트워크 가시성 및 모니터링: DSR은 트래픽이 로드 밸런서 또는 리버스 프록시를 우회하므로 네트워크 가시성 및 모니터링에 영향을 미칠 수 있습니다. 이러한 중개자에서 트래픽 검사 또는 차단에 의존하는 모니터링 도구 및 시스템은 네트워크 트래픽의 전체 그림을 캡처하지 못할 수 있습니다. 조직은 DSR 경로를 통해 흐르는 트래픽에 대한 가시성을 보장하기 위해 대체 모니터링 솔루션을 구현할 수 있습니다.
배포 복잡성: DSR을 구현하면 배포 및 구성 중에 추가적인 복잡성이 발생할 수 있습니다. 원활한 구현을 위해서는 적절한 계획, 디자인 및 테스트가 중요합니다. 예를 들어 SSL 오프로딩 및 로깅을 수행하도록 각 백엔드 서버를 설정해야 할 수 있습니다.
보안 고려 사항: DSR은 특히 트래픽이 로드 밸런서에 구현된 보안 조치를 직접 우회할 때 보안 문제를 일으킬 수 있습니다. 때로는 DSR 설정으로는 불가능한 응답 헤더의 세부 정보를 변경해야 할 수도 있습니다.
이러한 문제를 사전에 해결함으로써 조직은 DSR을 성공적으로 구현하고 잠재적인 단점을 최소화하면서 그 이점을 활용할 수 있습니다.
결론
DSR(Direct Server Return)은 상당한 이점으로 인프라를 강화할 수 있는 매력적인 로드 밸런싱 접근 방식을 제공합니다. DSR은 백엔드 서버에서 반환 트래픽을 오프로드하고 클라이언트에 직접 응답을 보낼 수 있도록 함으로써 로드 밸런서의 부하를 줄이고 전반적인 시스템 확장성을 향상시킵니다.
또 다른 이점은 응답이 로드 밸런서를 우회하여 클라이언트에 대한 보다 직접적인 경로를 취하기 때문에 네트워크 대기 시간이 낮아질 수 있다는 것입니다. 이는 대기 시간에 민감한 애플리케이션에 특히 유리할 수 있으므로 콘텐츠를 더 빠르게 전달하고 사용자 경험을 개선할 수 있습니다.
그러나 DSR을 구현하기 전에 네트워크 아키텍처의 특정 요구 사항과 애플리케이션 요구 사항을 신중하게 평가하십시오. 네트워크 토폴로지, 라우팅 프로토콜, 세션 지속성의 필요성 및 잠재적인 관련 문제와 같은 요소를 고려하십시오.
DSR의 이점을 활용하면 증가하는 트래픽 부하를 처리하고 원활한 사용자 경험을 제공하도록 인프라를 최적화할 수 있습니다.