Product Documentation

아키텍처 및 트래픽 흐름

2016년 5월 13일

Docker 호스트에서 NetScaler CPX 인스턴스를 프로비전하면 Docker 엔진이 CPX 인스턴스에 가상 인터페이스 eth0을 만듭니다. 이 eth0 인터페이스는 docker0 브리지의 가상 인터페이스(veth*)에 직접 연결됩니다. 또한 Docker 엔진은 네트워크 172.17.0.0/16에서 NetScaler CPX 인스턴스에 IP 주소를 할당합니다.

CPX 인스턴스의 기본 게이트웨이는 docker0 브리지의 IP 주소이며, NetScaler CPX 인스턴스와의 모든 통신이 Docker 네트워크를 통해 이루어진다는 의미입니다. docker0 브리지에서 수신되는 모든 들어오는 트래픽은 NetScaler CPX 인스턴스의 eth0 인터페이스에서 수신되고 NetScaler CPX 패킷 엔진에 의해 처리됩니다.

다음 그림에서는 Docker 호스트에서 NetScaler CPX 인스턴스의 아키텍처를 보여 줍니다.

지역화된 이미지

NetScaler CPX에서 단일 IP 주소가 작동하는 방식

일반 NetScaler MPX 또는 VPX 장비가 기능을 수행하려면 적어도 3개의 IP 주소가 필요합니다.

  • NSIP(NetScaler IP) 주소라고 하는 관리 IP 주소
  • 서버 팜과 통신하기 위한 SNIP(서브넷 IP) 주소
  • 클라이언트 요청을 받아들이기 위한 VIP(가상 서버 IP) 주소

NetScaler CPX 인스턴스가 단일 IP 주소로 작동하며, 이 IP 주소 하나가 관리뿐만 아니라 데이터 트래픽에도 사용됩니다.

프로비저닝 중에 Docker 엔진에 의해 사설 IP 주소 하나(단일 IP 주소)가 NetScaler CPX 인스턴스에 할당됩니다. NetScaler 인스턴스의 세 가지 IP 기능은 한 IP 주소로 멀티플렉싱됩니다. 이 단일 IP 주소는 서로 다른 포트 번호를 사용하여 NSIP, SNIP 및 VIP 기능을 합니다.

다음 이미지에서는 단일 IP 주소가 어떻게 NSIP, SNIP 및 VIP 기능으로 사용되는지 보여 줍니다.

지역화된 이미지

NetScaler CPX 인스턴스에서 시작된 요청의 트래픽 흐름

Docker에서는 NetScaler CPX 인스턴스에서 시작된 트래픽을 docker0 IP 주소로 전달하는 IP 표 및 NAT 규칙을 암시적으로 구성합니다.

다음 그림에서는 NetScaler CPX 인스턴스에서 시작된 ping 요청이 대상에 도달하는 방식을 보여 줍니다.

지역화된 이미지

이 예제에서 ping 요청은 eth0 인터페이스의 패킷 엔진에 의해 원본 IP 주소를 NetScaler CPX IP 주소(172.17.0.4)로 사용하여 전송됩니다. 계속해서 Docker 호스트가 NAT(Network Address Translation)를 수행하여 호스트 IP 주소(192.68.x.x)를 원본 IP 주소로 추가하고 요청을 대상(216.58.x.x)으로 보냅니다. 목적지 IP 주소의 응답은 동일한 경로를 반대 방향으로 따릅니다. Docker 호스트가 응답에 대한 NAT를 수행하고 응답을 eth0 인터페이스의 NetScaler CPX 인스턴스로 전달합니다.

외부 네트워크에서 시작된 요청의 트래픽 흐름

외부 통신을 사용하도록 설정하려면 NetScaler CPX를 프로비전하는 동안 Docker가 80, 22 및 필요한 다른 모든 포트를 노출하도록 매개 변수를 설정해야 합니다. 프로비전하는 동안 포트를 노출하도록 설정하지 않은 경우 Docker 호스트에서 NAT 규칙을 구성하여 이러한 포트를 사용할 수 있게 만들어야 합니다.

인터넷에서 시작된 클라이언트 요청이 Docker 호스트에 의해 수신되고, Docker 호스트가 PAT(포트 주소 변환)를 수행하여 공용 IP 주소 및 포트를 NetScaler CPX 인스턴스의 단일 IP 주소 및 포트에 매핑하고 트래픽을 인스턴스로 전달합니다.

다음 그림에서는 Docker 호스트가 포트 주소 변환을 수행하여 트래픽을 NetScaler CPX 단일 IP 주소 및 포트로 전달하는 방식을 보여 줍니다.

지역화된 이미지

이 예제에서 Docker 호스트 IP 주소는 192.68.x.x이고 NetScaler CPX 인스턴스의 단일 IP 주소는 172.17.0.4입니다. NetScaler CPX 인스턴스의 SSH 포트 22는 Docker 호스트에서 포트 1100에 매핑됩니다. 클라이언트의 SSH 요청은 IP 주소 192.68.x.x의 포트 1100에서 수신됩니다. Docker 호스트는 포트 주소 변환을 수행하여 이 주소 및 포트를 단일 IP 주소 172.17.0.4의 포트 22에 매핑하고 클라이언트 요청을 전달합니다.