보안 디바이스의 중심점 아키텍처 개요
중앙 지점은 세션 처리를 SPU 중 하나로 위임합니다. 세션이 설정되지 않으면 중앙 지점은 로드 밸런싱 기준에 따라 SPU를 선택하여 플로우에 대한 세션을 설정합니다. 세션이 이미 존재하는 경우, 중앙 지점은 해당 플로우에 대한 패킷을 호스팅하는 SPU로 전달합니다.
SRX 시리즈 방화벽 중앙 지점 아키텍처 이해
중앙 지점(CP) 아키텍처에는 로드 밸런싱과 트래픽 식별(글로벌 세션 매칭)이라는 두 가지 기본 흐름 기능이 있습니다. 이 주제에서 설명한 바와 같이, 중앙 포인트 아키텍처는 모든 세션 배포 및 세션 매칭이 중앙 포인트에 의해 수행되는 중심 모드 또는 서비스 처리 장치(SPU)의 일정 비율이 중앙 지점 기능을 수행하는 데 전념하는 혼합 모드에서 구현됩니다.
중심점의 주요 기능은 세션 처리를 SPU 중 하나에 위임하는 것입니다. 세션이 아직 설정되지 않은 경우, 중앙 지점은 로드 밸런싱 기준에 따라 흐름에 대한 세션을 설정할 SPU를 선택합니다. 세션이 이미 존재하는 경우, 중앙 지점은 해당 플로우에 대한 패킷을 호스팅하는 SPU로 전달합니다. 또한 NPU가 그렇게 하지 못할 경우 패킷을 올바른 SPU로 리디렉션합니다.
중앙 지점은 특정 세션의 소유자 SPU에 대한 정보가 포함된 글로벌 세션 테이블을 유지합니다. 전체 시스템에 대한 중앙 저장소 및 리소스 관리자 역할을 합니다.
중앙 지점 아키텍처는 성능 및 세션 확장 개선을 위해 세션 관리가 중앙 지점에서 SPU로 오프로드되는 CP-lite 모드에서도 구현됩니다. CP-lite는 이 주제에서 다루지 않습니다.
SRX 시리즈 방화벽 유형은 Junos OS 릴리스와 함께 어떤 모드가 지원되는지 결정합니다.
중앙 포인트는 세션 일치 시 패킷을 서비스 처리 유닛(SPU)으로 전달하거나 패킷이 기존 세션과 일치하지 않는 경우 보안 처리를 위해 SPU로 트래픽을 배포합니다. 중앙 지점 아키텍처는 모든 세션 배포 및 세션 매칭이 CP 또는 콤보 모드에 의해 수행되는 CP 중심 모드에서 구현됩니다
일부 SRX 시리즈 방화벽에서는 전체 SPU를 중앙 지점 기능 전용으로 사용할 수 없지만 SPU의 일정 비율은 중앙 지점 기능에 자동으로 할당되고 나머지는 일반 플로우 처리에 할당됩니다. SPU가 정상 흐름 처리뿐만 아니라 중심점의 기능을 수행할 때, 그것은 조합 또는 mixed, 모드라고 합니다.
중앙 지점 기능 전용 SPU의 비율은 디바이스의 SPU 수에 따라 달라집니다. SPU 수에 따라 SRX 시리즈 방화벽에서는 소형 중심점, 중형 중심점, 대형 중심점의 세 가지 모드가 제공됩니다.
소형 중앙 지점 모드에서는 SPU의 작은 비율이 중앙 지점 기능 전용이고 나머지는 일반 플로우 처리 전용입니다. 중간 중앙 포인트 모드에서 SPU는 중앙 포인트 기능과 일반 플로우 처리를 위해 거의 동일하게 공유됩니다. 대형 중앙 지점 모드에서는 전체 SPU가 중앙 지점 기능 전용입니다. 혼합 모드에서 중앙 포인트와 SPU는 동일한 로드 밸런싱 스레드(LBT) 및 패킷 순서 스레드(POT) 인프라를 공유합니다.
이 주제는 다음 섹션을 포함합니다.
혼합 모드의 부하 분산
중앙 지점은 물리적 트리비얼 네트워크 프로토콜(TNP) 주소 매핑에 매핑된 로직 SPU ID가 있는 라이브 SPU를 나열하는 SPU 매핑 테이블(부하 분산용)을 유지합니다. 혼합 모드에서는 중앙 지점을 호스팅하는 SPU가 테이블에 포함됩니다. 부하 분산 알고리즘은 세션의 과부하를 방지하기 위해 세션 용량과 처리 능력을 기반으로 조정됩니다.
혼합 모드에서 처리 능력과 메모리 공유
혼합 모드 SPU의 CPU 처리 능력은 플랫폼과 시스템의 SPU 수에 따라 공유됩니다. 마찬가지로 CPU 메모리도 중앙 지점과 SPU 간에 공유됩니다.
SPU에는 네트워킹 처리를 위한 여러 코어(CPU)가 있습니다. "소형" SPU 혼합 모드에서는 CPU 기능이 코어의 작은 부분을 차지하는 반면, "중형" SPU 혼합 모드에는 더 많은 부분의 코어가 필요합니다. 중앙 포인트 기능 및 플로우 처리를 위한 처리 능력은 표 1과 같이 SPC(Services Processing Card) 수를 기반으로 공유됩니다. 플랫폼 지원은 설치한 Junos OS 릴리스에 따라 다릅니다.
SRX 시리즈 방화벽 |
1개의 SPC 또는 SPC2가 있는 중앙 지점 모드 |
2개 이상의 SPC 또는 SPC2가 있는 중앙 지점 모드 |
1개 또는 2개의 SPC3가 있는 중심점 모드 |
2개 이상의 SPC3가 있는 중앙 지점 모드 |
|---|---|---|---|---|
SRX5600 |
큰 |
큰 |
중간 |
큰 |
SRX5800 |
큰 |
큰 |
중간 |
큰 |
SRX5400 |
큰 |
큰 |
중간 |
큰 |
SRX5000 라인용 중앙 지점 아키텍처의 개선 사항 이해
이전에는 SRX5000 라인 서비스 게이트웨이의 핵심 지점이 디바이스 성능과 확장성의 병목 현상이었습니다. 더 많은 SPC(Services Processing Card)가 시스템에 통합되었을 때 전체 처리 능력은 선형적으로 증가했지만 초당 시스템 연결 수(cps)는 일정하게 유지되었으며 시스템의 단일 중앙 집중식 지점으로 인해 개선할 수 없었습니다. 이는 용량과 cps 모두에서 전체 시스템 활용도에 심각한 영향을 미쳤습니다.
새로운 중앙 지점 아키텍처는 세션 관리 기능 담당자를 서비스 처리 장치(SPU)로 오프로드하여 데이터 패킷이 중앙 지점을 통과하는 것을 방지합니다. 따라서 데이터 패킷은 중앙 지점을 거치는 대신 네트워크 처리 장치에서 SPU로 직접 전달됩니다.
중앙 지점 아키텍처는 애플리케이션 중심점과 분산 중심점의 두 가지 모듈로 나뉩니다. 애플리케이션 중앙 지점은 글로벌 리소스 관리 및 로드 밸런싱을 담당하고, 분산 중앙 지점은 트래픽 식별(글로벌 세션 매칭)을 담당합니다. 애플리케이션 중심점 기능은 전용 중앙 지점 SPU에서 실행되는 반면, 분산된 중앙 지점 기능은 나머지 SPU에 배포됩니다. 이제 중앙 포인트 세션은 더 이상 전용 중앙 포인트 SPU에 있지 않고 다른 플로우 SPU의 분산 중앙 포인트와 함께 있습니다.
SRX5000 라인의 중심점은 애플리케이션 중심점, 분산 중심점 또는 둘 다를 의미하며, 글로벌 리소스 관리 및 로드 밸런싱과 관련하여 애플리케이션 중심점을 의미하는 반면, 트래픽 식별 및 세션 관리와 관련하여 분산된 중앙점(때로는 SPU라고도 함)을 나타냅니다.
SNMP 로그 및 SNMP 트랩은 속도 제한이 있는 중앙 지점에서 생성되었습니다. 이제 SNMP 로그 및 SNMP 트랩이 SPU 또는 중앙 지점에 의해 생성됩니다. SPU가 두 개 이상이므로 생성된 SNMP 로그 및 트랩의 수가 더 많습니다. 디바이스에서 초당 연결 수(CPS)를 확인하려면 명령을 실행합니다 SNMP MIB walk nxJsNodeSessionCreationPerSecond . SNMP 폴링 메커니즘은 지난 96초 동안의 평균 CPS 수를 기반으로 CPS 값을 계산합니다. 따라서 CPS가 일정하지 않으면 보고된 CPS 수가 정확하지 않습니다.
중앙 지점 세션 제한 성능 향상 이해
플로우 세션 연결 튜플은 6개 파트 튜플로만 구분할 수 없는 GTP-U 세션과 SCTP 세션을 고유하게 식별하는 데 사용되는 32비트 연결 태그로 구성됩니다. 세션을 식별하는 표준 6개의 튜플에 세션 연결 태그를 추가하여 GTP-U 세션 및 SCTP 세션을 식별하기 위한 세션 연결 태그 튜플을 포함하도록 시스템을 구성할 수 있습니다. 시스템은 세션 연결 태그를 해시하여 GTP-U/SCTP에 대한 DCP를 결정합니다.
중앙 포인트 아키텍처는 터널 엔드포인트 식별자(TEID) 기반 해시 배포로 전환하여 모든 SPU에서 게이트웨이 GPRS 지원 노드(GGSN) 및 SGSN 쌍이 처리하는 GTP-U 트래픽을 배포합니다. 로드 밸런싱 문제를 처리하기 위해 태그 기반 해시 배포를 사용하여 모든 SPU 간에 서로 다른 연결에서 SCTP 트래픽이 균등하게 분산되도록 보장합니다. (GTP-U의 연결 태그는 TEID이고 SCTP의 연결 태그는 vTag입니다.)
GTP 및 SCTP에 대한 중앙 지점 아키텍처 플로우 지원 이해
중앙 지점 아키텍처는 GPRS 터널링 프로토콜, 제어(GTP-C), GPRS 터널링 프로토콜, 사용자 플레인(GTP-U) 및 스트림 제어 전송 프로토콜(SCTP)에 대한 향상된 지원을 제공합니다.
SRX5400, SRX5600 및 SRX5800 디바이스에서 지원되는 중앙 지점 아키텍처는 GTP-C 메시지 속도 제한을 해결하여 GTP-C 메시지 플러딩으로부터 게이트웨이 GPRS 지원 노드(GGSN)를 보호하고, SGSN 핸드오버 중 GTP-C 패킷 드롭 문제를 방지하며, 터널 엔드포인트 식별자(TEID) 기반 해시 배포로 전환하여 모든 SPU에서 GGSN 및 SGSN 쌍으로 처리되는 GTP-U 트래픽을 분산하도록 향상되었습니다. 명령을 사용하여 enable-gtpu-distribution GTP-U 세션 배포를 활성화 또는 비활성화합니다. 기본적으로 이 명령은 enable-gtpu-distribution 비활성화되어 있습니다.
GTP/SCTP 로드 밸런싱 문제를 해결하기 위해 플로우 세션 튜플에 대한 연결 태그가 도입되었습니다. 분산 CP(DCP) 세션과 SPU 세션을 포함한 모든 세션은 connection-tag를 수용하도록 수정됩니다. 세션 생성에는 src-ip, dst-ip, src-port, dst-port, protocol, session-token 및 연결 태그 튜플이 있습니다.
GTP ALG는 GGSN IP 주소를 해시하여 GTP-C 세션을 수정해야 합니다. GTP ALG는 첫 번째 패킷의 방향이 불확실할 경우 GTP-C 세션 생성을 거부하며, 이로 인해 패킷이 드롭됩니다. GTP-C 패킷이 손실되는 것을 방지하기 위해 새로운 플로우 세션이 생성되고 GGSN 또는 SGSN 방향이 결정되지 않은 경우에도 GTP-C 트래픽이 통과할 수 있습니다. 나중에 GGSN IP는 플로우 세션을 생성하고 이전 세션을 에이징하기 위해 올바른 SPU를 사용하여 결정됩니다. 이전 세션에 도달하는 간헐적 패킷은 새 SPU로 전달되어 새 세션에서 처리됩니다.
로드 밸런싱 문제를 처리하기 위해 태그 기반 해시 배포를 사용하여 모든 SPU 간에 GTP-U/SCTP 트래픽이 균등하게 분산되도록 보장합니다. GTP-U 및 SCTP 세션을 고유하게 식별하는 32비트 연결 태그가 도입되었습니다. GTP-U의 연결 태그는 TEID이고 SCTP의 연결 태그는 vTag입니다. 기본 connection-tag는 0입니다. 세션에서 사용되지 않는 경우 연결 태그는 0으로 유지됩니다. 플로우는 GTP-U/SCTP 세션에 대한 연결 태그를 결정하고 연결 태그를 해싱하여 배포합니다.
SCTP 연결은 두 SCTP 엔드포인트 간의 연결입니다. 각 SCTP 엔드포인트는 태그와의 연결을 식별합니다. 연결 설정(4방향 핸드셰이크) 중에 두 개의 SCTP 엔드포인트가 패킷 수신을 위해 자체 태그를 교환합니다. 4방향 핸드셰이크 동안 INIT/INIT-ACK의 수신기는 itag의 값을 기록하고 이 연결 내에서 전송되는 모든 SCTP 패킷의 vtag 필드에 배치합니다. 그런 다음 피어는 vtag를 사용하여 이 패킷의 발신자를 검증합니다.
다음과 같이 CP-Lite 이후에 생성된 플로우 세션:
SPU는 해시(태그)에 의해 선택되며, 클라이언트에서 서버로의 트래픽은 해시(tagB) SPU에서 처리된 다음 해시(tagA) SPU로 전달됩니다. 서버에서 클라이언트로의 트래픽은 해시(tagA) SPU에서 직접 처리됩니다.
INIT 패킷을 수신한 후 해시(tagA) SPU:
DCP 세션 A1: 클라이언트=> 서버, SCTP, 연결 ID: 0x0;
세션 A1: 클라이언트=> 서버, SCTP, 연결 ID: 0x0;
해시(tagB) SPU: 세션이 없습니다.
INIT-ACK 패킷을 수신한 후 해시(tagA) SPU에서:
DCP 세션 A1: 클라이언트=> 서버, SCTP, 연결 ID: 0x0;
DCP 세션 A2: 서버 => 클라이언트, SCTP, Conn ID: tagA;
세션 A1: 클라이언트=> 서버, SCTP, 연결 ID: 0x0;
세션 A2: 서버 => 클라이언트, SCTP, 연결 ID: tagA;
해시(tagB) SPU: 세션이 없습니다.
COOKIE-ECHO 패킷을 수신한 후 해시(tagA) SPU에서:
DCP 세션 A1: 클라이언트=> 서버, SCTP, 연결 ID: 0x0;
DCP 세션 A2: 서버 => 클라이언트, SCTP, Conn ID: tagA;
세션 A1: 클라이언트=> 서버, SCTP, 연결 ID: 0x0;
세션 A2: 서버 => 클라이언트, SCTP, 연결 ID: tagA;
세션 A3: 클라이언트=> 서버, SCTP, 연결 ID: tagB;
해시(tagB) SPU:
DCP 세션: 클라이언트 => 서버, SCTP, 연결 ID: 태그 B
COOKIE-ACK 패킷을 수신한 후 플로우 세션은 변경되지 않습니다.
핸드셰이크가 성공하면 모든 경로에서 HEARBEAT가 전송됩니다.
플로우 세션 연결 필터 옵션 이해
플로우 세션 연결 튜플은 6개 파트 튜플로만 구분할 수 없는 GTP-U 세션과 SCTP 세션을 고유하게 식별하는 데 사용되는 32비트 연결 태그로 구성됩니다. 세션을 식별하는 표준 6개의 튜플에 세션 연결 태그를 추가하여 GTP-U 세션 및 SCTP 세션을 식별하기 위한 세션 연결 태그 튜플을 포함하도록 시스템을 구성할 수 있습니다. 시스템은 세션 연결 태그를 해시하여 GTP-U/SCTP에 대한 DCP를 결정합니다.
중앙 포인트 아키텍처는 터널 엔드포인트 식별자(TEID) 기반 해시 배포로 전환하여 모든 SPU에서 게이트웨이 GPRS 지원 노드(GGSN) 및 SGSN 쌍이 처리하는 GTP-U 트래픽을 배포합니다. 로드 밸런싱 문제를 처리하기 위해 태그 기반 해시 배포를 사용하여 모든 SPU 간에 서로 다른 연결에서 SCTP 트래픽이 균등하게 분산되도록 보장합니다. (GTP-U의 연결 태그는 TEID이고 SCTP의 연결 태그는 vTag입니다.)
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.