GGSN 개요
게이트웨이 GPRS 지원 노드(GGSN)는 모바일 사용자로부터 유입된 데이터 트래픽을 서비스 게이트웨이 GPRS 지원 노드(SGSN)를 통해 변환하고 해당 네트워크로 전달하며, 그 반대의 경우도 마찬가지입니다. GGSN과 SGSN은 함께 GPRS 지원 노드(GSN)를 형성합니다.
GGSN 리디렉션 이해하기
Junos OS GTP(GPRS 터널링 프로토콜) 트래픽 및 게이트웨이 GPRS 지원 노드(GGSN) 리디렉션을 지원합니다. GGSN(X)은 후속 GTP-C 및 GTP-U 메시지에 대해 다른 GGSN IP 주소(GGSN Y 및 GGSN Z)를 지정할 수 있는 create create-pdp-context 응답을 보낼 수 있습니다. 결과적으로 SGSN은 후속 GGSN 터널링 프로토콜, 제어(GTP-C) 및 GGSN 터널링 프로토콜, 사용자 플레인(GTP-U) 메시지를 X가 아닌 GGSN Y 및 Z로 보냅니다.
GGSN 풀링 시나리오 개요
일반 패킷 라디오 서비스(GPRS) 터널링 프로토콜(GTP)은 터널 생성 절차 중에 다른 게이트웨이 GPRS 지원 노드(GGSN) IP 주소를 지원합니다. 서비스 GPRS 지원 노드(SGSN) 로밍을 지원하는 두 가지 GGSN 풀링 시나리오가 있습니다.
시나리오 1에 대한 GGSN 풀링 이해하기
그림 1에서는 GTP 터널 생성 절차 중에 패킷 데이터 프로토콜(PDP) 컨텍스트 요청이 SGSN A에서 GGSN B로 전송됩니다. PDP 컨텍스트 요청 메시지를 보낸 후 GGSN D는 요청 정보를 기록하고 요청 패킷의 대상 IP 주소와 다른 대상 IP 주소를 사용하여 응답 메시지를 SGSN A로 보냅니다.
이 시나리오에서 두 개의 GTP 패킷 메시지는 중앙 지점에 의해 SPU1(Services Processing Unit 1) 및 SPU2로 전송되며, 메시지는 SPU1과 SPU2에 의해 개별적으로 처리됩니다. 세션은 각 GTP 패킷에 대해 SPU1 및 SPU 2에서 생성됩니다. SPU1은 요청 패킷 정보를 기록하고 SPU2는 응답 패킷 정보를 기록합니다.
요청 정보가 부족하여 GGSN D에서 SGSN A로 전송되는 PDP 응답 메시지가 삭제됩니다. 따라서 GTP 터널은 설정되지 않습니다.

SPU2는 SPU1에서 요청 정보를 검색할 수 없습니다.
원격 SPU에 요청 정보 설치
이 시나리오에서는 요청 정보 부족으로 PDP 응답 패킷이 누락되었고 GTP 터널은 설정되지 않았습니다. 이는 올바른 SPU에 요청 정보를 설치하여 해결할 수 있습니다.
그림 2에서 터널을 생성할 때 응답 패킷의 GGSN IP 주소가 변경되어 새 세션을 트리거하고 중앙 지점이 메시지를 다른 SPU에 배포합니다.
응답 패킷은 항상 요청 패킷의 소스 주소로 SPU로 보냅니다. 이렇게 하면 다음 응답 패킷에 대한 원격 SPU에 요청 정보를 설치하는 데 도움이 됩니다.
요청 패킷을 처리하는 동안 예측 가능한 SPU, HASH(req-src-ip) 기능에 요청 정보를 설치합니다. 예상 SPU 번호(해시(10.1.1.1) = SPU2)가 PDP 요청 메시지의 소스 IP 주소로 계산된 후, 요청 정보는 Juniper 메시지 전달 인터페이스(JMPI)를 통해 원격 SPU2에 설치됩니다.

이제 요청 정보가 로컬 SPU1 및 원격 SPU2에 설치되므로 PDP 응답 메시지가 허용됩니다.
시나리오 1을 위한 해결 방법
시나리오 1에서 SGSN A에서 전송된 PDP 컨텍스트 요청 메시지가 Junos OS 기본 애플리케이션 junos-gprs-gtp
에 도달했으며 PDP 컨텍스트 요청 메시지에 대해 GTP 검사가 활성화되었습니다. 그러나 GGSN D에서 보낸 PDP 컨텍스트 응답 메시지는 Junos OS 기본 애플리케이션 junos-gprs-gtp
에 도달할 수 없습니다. 따라서 패킷은 GTP 모듈에 의해 검사되지 않습니다.
이를 해결하기 위해 사용자 지정 정책 및 애플리케이션을 구성하여 PDP 컨텍스트 응답 메시지에 대한 GTP 검사를 활성화해야 합니다. GGSN 사용자 지정 정책/애플리케이션 구성을 참조하십시오.
시나리오 2에 대한 GGSN 풀링 이해하기
그림 3에서는 GTP 터널 생성 절차 중에 패킷 데이터 프로토콜(PDP) 컨텍스트 요청이 SGSN A에서 GGSN B로 전송됩니다. PDP 컨텍스트 요청 메시지를 수신한 후 GGSN B는 PDP 컨텍스트 응답 메시지를 SGSN A에 보냅니다. PDP 컨텍스트 응답 메시지를 수신한 후, GTP-C 터널은 SGSN C와 GGSN D 사이에 생성됩니다. 그런 다음 SGSN C는 요청 패킷의 IP 헤더에서 다른 소스 및 대상 IP 주소를 사용하여 GGSN D에 업데이트 PDP 컨텍스트 요청 메시지를 보냅니다.
시나리오 2에서 SGSN A는 첫 번째 GTP 컨텍스트 요청을 생성하고 중앙 지점에 의해 SPU로 보냅니다. 세션은 SPU1의 요청 패킷에 대해 생성됩니다. GGSN B에서 SGSN A로 전송된 응답 패킷이 세션에 올바르게 도달합니다.
SGSN A에서 전송된 요청 패킷은 GTP-C가 제어 IP 10.1.1.2에서 설정되고 GTP-U가 데이터 IP 10.1.1.3에서 설정되었음을 나타냅니다. 마찬가지로 GGSN에서 보낸 응답 메시지는 GTP-C가 제어 IP 10.2.2.3에서 설정되고 GTP-U가 데이터 IP 10.2.2.4에서 설정되었음을 나타냅니다.
GTP-C 및 GTP-U 터널은 모든 엔드포인트가 설정된 후 로컬 SPU1에서 생성됩니다. 그러나 터널은 SPU 2에서 설정되지 않으므로 SPU2에서 수신된 PDP 업데이트 요청 메시지가 삭제됩니다.

원격 SPU에 터널 정보 설치
시나리오 2에서는 터널 정보가 부족하여 업데이트 요청 패킷이 누락됩니다. 이는 요청 및 응답 패킷이 처리된 후 올바른 SPU에 터널 정보를 설치하여 해결할 수 있습니다. 응답 패킷을 수신하는 SPU는 로컬 또는 원격 SPU에 터널 정보를 설치합니다.
그림 4에서는 터널이 설정된 후 제어 메시지가 제어 터널 엔드포인트로 전송됩니다. 모든 제어 메시지의 대상 IP 주소는 제어 터널의 GGSN 엔드포인트 IP 주소여야 합니다. 이를 통해 후속 제어 메시지를 위해 미리 원격 SPU 번호를 계산하는 데 도움이 됩니다.
터널 정보를 예측 가능한 SPU에 설치합니다. SPU 번호가 제어 터널 GGSN 엔드포인트 IP에 의해 계산된 후, 터널 정보는 JMPI를 통해 원격 SPU에 설치됩니다.

이제 터널 정보가 원격 SPU2에 설치되므로 PDP 업데이트 응답 메시지가 허용됩니다.
예: GGSN 사용자 지정 정책 및 애플리케이션 구성
이 예는 GGSN(Gateway GPRS Support Node) 사용자 지정 정책 및 애플리케이션을 구성하여 GGSN 풀링 시나리오 1을 지원하는 방법을 보여줍니다.
요구 사항
이 예는 다음과 같은 하드웨어 및 소프트웨어 구성 요소를 사용합니다.
SRX5400 디바이스
A PC
Junos OS 릴리스 12.1X44-D10
구성
GGSN 사용자 지정 정책 구성
개요
이 예는 GTP 풀링이 발생할 경우 트래픽 작업을 수행할 GTP 트래픽에 대한 보안 정책을 구성하는 방법을 보여줍니다. 또한 동일한 예는 GTP 배포 기능이 활성화될 때 GTP 트래픽 플로우를 올바르게 만들 수 있습니다. GTP 검사 여부와 관계없이. 여기에서는 미러링된 양방향으로 보안 정책을 구성하는 것입니다. 양방향으로 동일한 주소 개체와 동일한 애플리케이션을 사용합니다. 일반 GTP 애플리케이션 junos-gprs-gtp 외에도 Reverse-junos-gprs-gtp라는 이름의 커스텀 역방향 GTP 애플리케이션을 생성합니다. 이 역방향 GTP 애플리케이션은 소스 UDP 포트가 잘 알려진 GTP 포트인 경우에도 GTP 패킷이 보안 정책과 일치하게 합니다. 이렇게 하면 모든 GTP 트래픽이 정책과 일치하고 GTP 트래픽으로 올바르게 처리됩니다.
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브러브를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력 commit 합니다.
GTP 검사 없이 GTP 배포 기능을 사용할 경우, GTP 프로필을 생성하지 말고 보안 정책에 application-services gtp-profile을 적용하지 마십시오.
set security address-book global address local_GSN_range 10.1.1.0/24 set security address-book global address remote_GSN_range 10.2.2.0/24 set security gtp profile GTP-Profile set security policies from-zone trust to-zone untrust policy t-u match source-address local_GSN_range set security policies from-zone trust to-zone untrust policy t-u match destination-address remote_GSN_range set security policies from-zone trust to-zone untrust policy t-u match application junos-gprs-gtp set security policies from-zone trust to-zone untrust policy t-u match application reverse-junos-gprs-gtp set security policies from-zone trust to-zone untrust policy t-u then permit application-services gtp-profile GTP-Profile set security policies from-zone untrust to-zone trust policy u-t match source-address remote_GSN_range set security policies from-zone untrust to-zone trust policy u-t match destination-address local_GSN_range set security policies from-zone untrust to-zone trust policy u-t match application reverse-junos-gprs-gtp set security policies from-zone untrust to-zone trust policy u-t match application junos-gprs-gtp set security policies from-zone untrust to-zone trust policy u-t then permit application-services gtp-profile GTP-Profile
단계별 절차
GGSN 사용자 지정 정책 구성 방법:
소스 주소를 구성합니다.
[edit security] user@host# set security policies from-zone trust to-zone untrust policy t-u match source-address local_GSN_range
대상 주소를 구성합니다.
[edit security] user@host# set security policies from-zone trust to-zone untrust policy t-u match destination-address remote_GSN_range
정책 애플리케이션을 구성합니다.
[edit security] user@host#set security policies from-zone trust to-zone untrust policy t-u match application junos-gprs-gtp user@host#set security policies from-zone trust to-zone untrust policy t-u match application reverse-junos-gprs-gtp
-
활동 유형을 구성하고 GTP 프로필 이름을 지정합니다.
[edit security]user@host# set security policies from-zone trust to-zone untrust policy t-u then permit application-services gtp-profile GTP-Profile
GTP 검사 없이 GTP 배포 기능이 사용되는 경우:
[edit security] user@host# set security policies from-zone trust to-zone untrust policy t-u then permit
-
보안 영역의 신뢰와 신뢰할 수 없는 역으로 동일한 것을 다시 구성합니다.
결과
구성 모드에서 명령을 입력하여 구성을 확인합니다 show security policies
. 출력에 의도한 구성이 표시되지 않으면 이 예의 구성 지침을 반복하여 수정합니다.
[edit] user@host# show security policies from-zone trust to-zone untrust { policy t-u { match { source-address local_GSN_range; destination-address remote_GSN_range; application [ junos-gprs-gtp reverse-junos-gprs-gtp ]; } then { permit { application-services { gtp-profile GTP-Profile; } } } } } from-zone untrust to-zone trust { policy u-t { match { source-address remote_GSN_range; destination-address local_GSN_range; application [ reverse-junos-gprs-gtp junos-gprs-gtp ]; } then { permit { application-services { gtp-profile GTP-Profile; } } } } }
구성을 커밋하기 전에 역방향 GTP 애플리케이션을 구성해야 합니다.
역방향 GTP 애플리케이션 구성
GTP 배포 기능을 사용할 때 플로우 세션은 양방향으로 설정됩니다. 이를 양방향으로 설정하는 이 동작은 GTP ALG에 의해 수행됩니다(GTP 검사를 사용하지 않는 경우에도). 이러한 이유로 GTP ALG가 모든 GTP 트래픽에 적용되어야 합니다.
사전 정의된 애플리케이션 junos-gprs-gtp는 GTP ALG로 구성됩니다. 그러나 어떤 경우에는 GTP 트래픽이 이 애플리케이션과 일치하지 않을 수 있으며, 이는 표준 GTP UDP 포트와 다른 소스 포트를 사용할 때 반환 트래픽의 경우입니다. 이 경우 역세션 윙은 임의의 대상 포트와 표준 GTP 포트를 소스 포트로 가질 수 있습니다. 이 경우 GTP ALG가 이 역방향 GTP 트래픽에 적용되도록 하려면 다음 '역방향' GTP 애플리케이션을 모든 GTP 보안 정책에 추가해야 합니다.
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브러브를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력 commit 합니다.
set applications application reverse-junos-gprs-gtp-c term t1 alg gprs-gtp-c set applications application reverse-junos-gprs-gtp-c term t1 protocol udp set applications application reverse-junos-gprs-gtp-c term t1 source-port 2123 set applications application reverse-junos-gprs-gtp-c term t1 destination-port 0-65535 set applications application reverse-junos-gprs-gtp-u term t1 alg gprs-gtp-u set applications application reverse-junos-gprs-gtp-u term t1 protocol udp set applications application reverse-junos-gprs-gtp-u term t1 source-port 2152 set applications application reverse-junos-gprs-gtp-u term t1 destination-port 0-65535 set applications application reverse-junos-gprs-gtp-v0 term t1 alg gprs-gtp-v0 set applications application reverse-junos-gprs-gtp-v0 term t1 protocol udp set applications application reverse-junos-gprs-gtp-v0 term t1 source-port 3386 set applications application reverse-junos-gprs-gtp-v0 term t1 destination-port 0-65535 set applications application-set reverse-junos-gprs-gtp application reverse-junos-gprs-gtp-c set applications application-set reverse-junos-gprs-gtp application reverse-junos-gprs-gtp-u set applications application-set reverse-junos-gprs-gtp application reverse-junos-gprs-gtp-v0
확인
구성이 제대로 작동하는지 확인합니다.
구성 확인
목적
GGSN 사용자 지정 정책 구성이 올바른지 확인합니다.
작업
구성을 커밋하고 종료합니다. 운영 모드에서 명령을 입력합니다 show security policies
.
샘플 출력
명령명
[edit] user@host# show applications application reverse-junos-gprs-gtp-c { term t1 alg gprs-gtp-c protocol udp source-port 2123 destination-port 0-65535; } application reverse-junos-gprs-gtp-u { term t1 alg gprs-gtp-u protocol udp source-port 2152 destination-port 0-65535; } application reverse-junos-gprs-gtp-v0 { term t1 alg gprs-gtp-v0 protocol udp source-port 3386 destination-port 0-65535; } application-set reverse-junos-gprs-gtp { application reverse-junos-gprs-gtp-c; application reverse-junos-gprs-gtp-u; application reverse-junos-gprs-gtp-v0; } [edit] user@host# commit and-quit commit complete Exiting configuration mode user@host> show security policies Default policy: deny-all Default policy log Profile ID: 0 Pre ID default policy: permit-all From zone: trust, To zone: untrust Policy: t-u, State: enabled, Index: 6, Scope Policy: 0, Sequence number: 1, Log Profile ID: 0 Source vrf group: any Destination vrf group: any Source addresses: local_GSN_range Destination addresses: remote_GSN_range Applications: junos-gprs-gtp, reverse-junos-gprs-gtp Source identity feeds: any Destination identity feeds: any Action: permit, application services From zone: untrust, To zone: trust Policy: u-t, State: enabled, Index: 7, Scope Policy: 0, Sequence number: 1, Log Profile ID: 0 Source vrf group: any Destination vrf group: any Source addresses: remote_GSN_range Destination addresses: local_GSN_range Applications: reverse-junos-gprs-gtp, junos-gprs-gtp Source identity feeds: any Destination identity feeds: any Action: permit, application services
이 출력은 정책 구성 요약을 보여줍니다.