DSR(Direct Server Return) 대해서 알아보자
DSR은 ‘Direct Server Return’의 약자로 한국말로 풀어 보자면 로드밸런서를 거치지 않고 서버에서
클라이언트로 직접 뭔가를 전달하는 것입니다. 여기서 말하는 뭔가는 바로 응답 패킷이죠.
DSR 기능이 등장한 이유는 사실 기능의 이름에 다 나와 있습니다.
DSR은 로드밸런서와 ADC(Application Delivery Controllers)의 기능입니다.
DSR은 로드밸런서의 약점(?)을 메웁니다.
로드밸런서의 기본 개념은 트래픽을 분산하는 것이죠.
이를 통해 서비스 지연 현상을 최소화합니다.
로드밸런서는 들어오는 접속 요청을 사전에 할당한 가상 IP(VIP)로 받은 다음 이를 적절한 서버로 보냅니다.
이를 받은 서버는 응답을 로드밸런서를 통해 클라이언트로 전달하죠.
이런 동작 원리에 허점이 있습니다.
예를 들어 보자면 들어오는 요청의 크기는 10MB 정도인데, 서버의 응답으로 보내는 패킷 크기가 100MB라면?
요청보다 10배 큰 패킷을 응답으로 전달하려면? 당연한 병목 현상이 생기겠죠.
이때 로드밸런서가 병목 구간이 될 수 있는 아이러니한 현상이 생깁니다.
그래서 나온 기능이 DSR입니다.
트래픽 흐름을 조종해서 큰 사이즈의 응답 패킷이 나갈 때 로드밸런서를 거치지 않고 바로 서버가 클라이언트로 보내게 하는 기능이 바로 DSR입니다.
DSR의 장점은 영상이나 음성 데이터를 스트리밍 하는 경우 응답 속도 이점이 크다는 것입니다.
이외에도 실시간 응답이 중요한 애플리케이션의 경우도 잘 어울립니다.
줄여 말하자면 DSR은 애플리케이션과 서비스 유형에 따라 어울리는 것과 그렇지 않은 것이 나뉜다고 보면 됩니다.
안 어울리는 것은? 예를 들어 ADC를 통한 애플리케이션 가속이 필요한 경우 DSR을 적용하면 안 됩니다. 아웃바운드 트래픽이 ADC를 거치지 않고 나가니 당연하죠.
DSR 구성 예시
DSR 기능을 이용하려면 서버가 ARP 요청에 대한 응답(Reply)을 하지 않게 설정을 해야 합니다.
이때 로드밸런서와 서버가 같은 IP 대역에 위치해야 하는 점을 주의 바랍니다.
출처 및 리눅스 서버 설정 방법
https://smashingpumpkins.tistory.com/entry/DSRDirect-Server-Return%EC%9D%B4%EB%9E%80
'IT Technology > Network' 카테고리의 다른 글
A10 Networks Thunder Series L4 Config (0) | 2021.12.16 |
---|---|
BPS와 PPS (0) | 2021.11.15 |
TCP Flag(URG, ACK, PSH, RST, SYN, FIN) 란? (0) | 2021.10.24 |
[TCP] 4-way Handshake란? (0) | 2021.10.23 |
BGP Attribute(속성)란? (0) | 2021.10.04 |