네트워크 엔지니어 & 개발자 로엘이

이전 포스팅에서 L4/L7 스위치에서 응답 패킷에 대한 NAT를 수행하지 않아 좋은 퍼포먼스를 발휘할 수 있는 DSR에 대해 알아보았습니다..

간단히 되짚어 보면 DSR은 클라이언트에서 L4/L7 스위치의 VIP로 유입된 패킷의 목적지 MAC 정보를 변경하여 전송하는 방식이고 DSR을 사용하기 위해서는 L4/L7 스위치가 서버와 동일한 대역에 위치해야 하며 서버의 추가 설정이 필요합니다.

이번 포스팅에선 L4/L7 스위치와 서버와 같은 대역에서만 사용이 가능한 기존 DSR의 단점을 보안하기 위하여 ip 해더의 TOS 필드를 사용하여 다른 대역에서도 동작이 가능한 L3 DSR에 대해 알아보겠습니다.

로드밸런싱을 수행하는 L4/L7 스위치에 대한 전반적인 내용을 순차적으로 소개하고 있다.

소개될 포스트팅은 다양한 L4/L7 스위치 중 PumpkinNetworks의 장비를 기준으로 기술하기에

F5 Networks, Cirtix, A10 Networks, Alteon(Radware), Brocade, Piolink

장비와 다소 개념이 다르거나 용어가 다를 수 있다.

Layer 3 Direct Server Return(L3 DSR)

L4/L7 스위치의 NAT 방식 중에서 L3 DSR 방식의 가장 큰 특징은 L4/L7 스위치에서 전달받은 클라이언트의 요청 패킷을 서버가 물리적인 위치와 관계없이 L3 레이어를 통해 직접 클라이언트에게 전달할 수 있는 것이다. 같은 대역에서만 서비스가 가능했던 DSR의 한계점과. SIP를 변경하여 서버에서 클라이언트의 IP를 알 수 없던 FNAT의 한계점을 극복한 방식이다.

L3 DSR을 수행하기 위해 L4/L7 스위치는 클라이언트가 전송한 패킷에 DNAT를 수행한 다음 IP 해더의 TOS 필드 중 앞의 6bit인 DSCP 값을 서버와 협의된 값으로 변경하여 전송한다.

위 그림은 L3 DSR 모드로 설정된 L4/L7 스위치의 클라이언트와 서버 간 송수신되는 패킷의 출발지/목적지 주소가 변환되는 과정을 보여주는 그림이다. 이를 순서대로 살펴보면 다음과 같다.

1. L4/L7 스위치는 클라이언트의 요청 패킷을 수신한다. 해당 패킷을 확인해 보면 DIP(Destination IP) 주소가 부하 분산 서비스를 요청하는 VIP(Virtual IP Address) 주소인 것을 확인할 수 있다.

2. L4/L7 스위치는 클라이언트의 요청을 서버에 전달하기 위해 SMAC(Source Media Access Control)를 자신의 MAC으로 변경하고 NAT를 수행하여 DIP와 DMAC(DestinationMedia Access Control)을 서버의 IP 주소와 MAC으로 변환한 후, 서버에서 클라이언트로 바로 전송할 패킷인지 식별할 수 있도록 DSCP 값을 추가하여 서버로 전송한다.

3. 서버는 클라이언트의 요청을 처리한 이후 DSCP 값을 삭제한 후 SIP(Source IP) 주소를 L4/L7 스위치의 VIP로 변경하고, SMAC 주소를 자신의 정보로 변경하고 DIP와 DMAC을 클라이언트의 정보로 변경하여 전송한다.

  - 위 그림의 표는 Client와 Router가 다른 대역에 존재한다고 가정하여 DMAC정보가 Router의 MAC이다.

4. L4/L7 스위치는 서버의 응답 패킷을 L2 처리하여 클라이언트에게 전달한다.

L3 DSR의 주의사항.

TOS 필드

L4/L7 스위치에서 서버로 전송할 때 사용할 TOS의 필드의 DSCP 값이 사전에 정의되어 있어야 한다.

TOS 필드를 사용하기 대문에 인접한 네트워크 장비들이 TOS 관련 설정이 있는지 확인되어야 하며 TOS필드의 값을 변조하기 때문에 QoS를 사용하지 못할 수 있다.

서버에서 L4/L7 스위치의 VIP에 대한 설정이 필요하다.

L4/L7 스위치에서 DSCP값이 TOS 필드에 추가된 패킷을 전달하면 클라이언트에 바로 전달할 수 있도록 L4/L7 스위치의 VIP가 Loopback IP로 추가되고 SIP주소를 L4/L7 스위치의 VIP로 변경할 수 있도록 설정되어야 한다.

  - 리눅스 서버의 경우 iptables와 tc 명령을 사용하면 설정할 수 있다.

결론

1. L3 DSR 모드는 서버의 물리적 위치와 상관없이 서버의 응답 패킷이 L4/L7 스위치를 거치지 않고 클라이언트로 향하는 방식이다.

2. L3 DSR 모드를 사용할 경우 인접한 네트워크 장비의 TOS 설정을 확인해야 한다.

3. L3 DSR 모드를 사용하기 위해서는 서버와 L4/L7 스위치에서 사용할 TOS 필드 값이 선정되어야 한다.

4. L3 DSR 모드를 사용하기 위해서는 서버에서 L4/L7 스위치의 VIP에 대한 추가 설정이 필요하다.

 

이번 포스팅에서는 L4/L7 스위치의 NAT 방식 중 DSR의 서버와 L4/L7 스위치가 동일한 대역에 존재해야 하는 한계점을 개선한 L3 DSR에 대하여 알아보았습니다. 다음 포스팅에서는 지금까지 알아본 L4/L7 스위치의 헬스체크에 대해 알아보겠습니다.

 

 

- 끝 -

728x90
반응형
250x250

공유하기

facebook twitter kakaoTalk kakaostory naver band