PFCP(Packet Forwarding Control Protocol)는 TS 29.244[1] 지정된 제어 플레인과 사용자 플레인 기능 간의 Sx / N4 인터페이스에서 사용되는 3GPP 프로토콜이다. 이는 5G 차세대 모바일 코어 네트워크 (일명 5GC[2] )에 도입된 주요 프로토콜 중 하나이지만 CUPS ( Control and User Plane Separation)를 구현하기 위해 4G / LTE EPC에서도 사용된다.[3] PFCP 및 관련 인터페이스는 모바일 가입자에게 4G 및 5G 서비스를 제공하는 대부분의 사업자가 배포한 모바일 코어 네트워크에서 사용되는 다양한 유형의 기능 요소 간의 상호 작용을 공식화한다. 이 두 가지 유형의 구성 요소는 다음과 같다.

  1. 대부분의 시그널링 절차를 처리하는 제어 평면(CP) 기능 요소(예 : 네트워크 연결 절차, 사용자 데이터 플레인 경로 관리 및 SMS 로 일부 경량 서비스 제공)
  2. 사용자 데이터 평면 (UP)이 CP 요소가 설정 한 규칙에 따라 대부분의 패킷 포워딩을 처리하는 기능 요소(예를 들어, IPv4, IPv6를 위한 패킷 포워딩의 - 심지어 미래에 5G가 적용된 이더넷에서도 가능한 - 다양한 지원 무선 사이 RAN들인터넷 또는 엔터프라이즈 네트워크를 나타내는 PDN ).

PFCP의 범위는 OpenFlow의 범위와 유사하지만 모바일 코어 네트워크의 특정 사용 사례를 제공하도록 설계되었다.

PFCP는 또한 TR-459 의 BroadBand Forum에서 정의한 바와 같이 세분화된 BNG 의 제어 평면과 사용자 평면 기능 간의 인터페이스에서 사용된다.

개요 편집

개념과 구현에서 GTP와 유사하지만 PFCP는 이를 보완한다. Control-Plane의 시그널링 컴포넌트가 User-Plane 컴포넌트에 의해 수행되는 패킷 처리 및 포워딩을 관리하기 위한 제어 수단을 제공한다. 일반적인 EPC 또는 5G 패킷 게이트웨이는 프로토콜에 의해 2개의 기능 부분으로 분할되어 보다 자연스러운 진화와 확장성을 제공한다.

 
PFCP in the Evolved Packet Core - the Sx interface (편집 가능한 이미지 소스)

PFCP 프로토콜은 다음 3GPP 모바일 코어 인터페이스에서 사용된다.

  • Sxa-SGW-C와 SGW-U 사이
  • Sxb-PGW-C와 PGW-U 사이
  • Sxc-TDF-C와 TDF-U 사이 (트래픽 감지 기능)
  • N4-SMF와 UPF 사이

참고 : 병합된 SGW / PGW가 구현되는 경우 Sxa와 Sxb를 결합할 수 있다.

 
5G Core의 PFCP(NGC라고도 함) - N4 인터페이스( 편집 가능한 이미지 소스 )

기능 편집

Control-Plane 기능 요소(예 : PGW-C, SMF)는 사용자 평면 기능 요소 (예 : PGW-U, UPF), PFCP 세션을 설정, 수정 또는 삭제한다.

사용자 평면 패킷은 GTP-U 캡슐화를 사용하여 사용자 평면 패킷을 캡슐화함으로써 CP와 UP 기능간에 전달되어야 한다.(3GPP TS 29.281 [3] 참조) UP 기능에서 CP 기능으로 데이터를 전달하기 위해 CP 기능은 PFCP 세션 컨텍스트 당 PDR(들)을 제공해야 한다. PDI는 CP 기능으로 전달할 사용자 평면 트래픽을 식별하고 대상 인터페이스를 사용하는 FAR 세트를 사용한다. "CP function side"로 설정하고 GTP-U 캡슐화를 수행하고 PFCP 세션 및 PDR별로 CP 기능에서 고유하게 할당된 GTP-u F-TEID로 패킷을 전달하도록 설정한다. 그러면 CP 기능은 캡슐화 GTP-u 패킷의 헤더에서 F-TEID에 의해 전달된 데이터가 속하는 PDN 연결 및 베어러를 식별해야 한다. CP 기능에서 UP 기능으로 데이터를 전달하기 위해 CP 기능은 소스 인터페이스 "CP function side"로 설정된 PDI를 사용하여 PFCP 세션 컨텍스트 당 하나 이상의 PDR을 제공하고 PDR 당 UP 기능에서 고유하게 할당 된 GTP-u F-TEID 및 GTP-U 캡슐화 해제를 수행하고 패킷을 의도한 대상으로 전달하도록 설정된 FAR을 사용한다. URR 및 QER도 구성 할 수 있다.

세션 당 여러 PDR, FAR, QER, URR 및 / 또는 BAR이 전송된다.

다음은 논리적 연관 모델로 구성된 주요 개념이다.

  • PDR-패킷 감지 규칙-데이터 패킷을 특정 처리 규칙과 일치시키기위한 정보를 포함한다. 외부 캡슐화와 내부 사용자 평면 헤더를 모두 일치시킬 수 있다. 포지티브 매칭에 다음 규칙을 적용할 수 있다.
    • FAR-전달 작업 규칙-첫 번째 패킷 알림에 대한 트리거를 포함하여 PDR과 일치하는 패킷을 삭제, 전달, 버퍼링 또는 복제해야하는지에 대한 여부 및 방법을 규정하며 여기에는 패킷 캡슐화 또는 헤더 강화 규칙이 포함된다. 버퍼링의 경우 다음 규칙을 적용할 수 있다.
      • BARs-버퍼링 동작 규칙-버퍼링 할 데이터의 양과 Control-Plane에 알리는 방법.
    • QER- QoS 시행 규칙-게이팅 및 QoS 제어, 흐름 및 서비스 수준 표시를 제공하기위한 규칙이다.
    • URR-사용보고 규칙-사용자 평면 기능에서 처리하는 트래픽을 계산하고 보고하기위한 규칙이 포함되어 있으며 제어 평면 기능에서 과금 기능을 활성화하는 보고서를 생성한다.
PFCP 메시지 형식
비트 / 바이트 오프셋 0 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0..3 바이트 버전 (1) (예비 0) MP 에스 메시지 유형 메시지 길이 (바이트 단위, 처음 4 개 제외)
바이트 4..11 (S 플래그가 설정 됨) 경우 SEID; 그렇지 않으면 이러한 바이트가 누락된다.
바이트 8..11
바이트 4..7

또는 12..15

시퀀스 번호 (MP 플래그 설정) 경우 메시지

우선 순위; 기타 (예비 0)

(예비 0)
바이트 8. . (MsgLen + 4)

또는 16. . (MsgLen + 4)

0 개 이상의 정보 요소
PFCP 메시지 형식
비트 / 바이트 오프셋 0 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0..3 바이트 버전 (1) (예비 0) MP 에스 메시지 유형 메시지 길이 (바이트 단위, 처음 4 개 제외)
바이트 4..11 (S 플래그가 설정 됨) 경우 SEID; 그렇지 않으면 이러한 바이트가 누락된다.
바이트 8..11
바이트 4..7

또는 12..15

시퀀스 번호 (MP 플래그 설정) 경우 메시지

우선 순위; 기타 (예비 0)

(예비 0)
바이트 8. . (MsgLen + 4)

또는 16. . (MsgLen + 4)

0 개 이상의 정보 요소

IE는 독점적 인 인코딩을 갖거나 그룹화 된 것으로 정의된다. 그룹화 된 IE는 PFCP 메시지 페이로드 에서처럼 차례로 인코딩 된 다른 IE의 목록이다.

IE 유형 0..32767은 3GPP에 한정되며 Enterprise-ID 세트가 없다. IE 유형 32768..65535는 사용자 지정 구현에서 사용할 수 있으며 Enterprise-ID는 발급 당사자의 IANA SMI 네트워크 관리 사설 엔터프라이즈 코드[4]로 설정되어야한다.

Standardized Message Types
Message Type Message Interface Applicability Direction Purpose
Request Response Sxa Sxb Sxc N4 Request Response
0 (Reserved)
(1..49) Node Related Messages
1 2 Heartbeat X X X X CP ↔ UP 다른 노드가 활성 상태인지 확인하기 위해 설정된 연결이 있는 통신 피어 간에 선택적으로 사용할 수 있다. Recovery-Timestamp는 다른 피어가 다시 시작되었는지 감지하는 데 사용된다.
3 4 PFD Management - X X X CP → UP UP → CP 일반 PFCP 세션 외부에서 애플리케이션 식별자별로 PFD를 프로비저닝하는 선택적 기능이다.
5 6 Association Setup X X X X CP ↔ UP CP와 UP 기능 요소 간의 연결을 설정하고 업데이트한다. 기능에 대해 다른 요소에 알리기 위해 선택적 기능 목록을 포함한다. 다른 구성 요소도 전달된다.

이 절차를 수행하기 전에 세션 관련 메시지를 교환해서는 안 된다. Association-Release는 CP에 의해서만 트리거되지만 UP은 Association-Update-Request의 일부로 이를 요청할 수 있다.

7 8 Association Update X X X X CP ↔ UP
9 10 Association Release X X X X CP → UP UP → CP
- 11 Version Not Supported X X X X CP ↔ UP 구현된 버전을 포함하지 않는 모든 요청에 대한 오류 응답(현재 버전 1만 정의됨).
12 13 Node Report X X X X UP → CP CP → UP 세션의 일부는 아니지만 잠재적으로 일반적인 정보(예: 사용자 평면 경로 오류)를 보고하기 위해 UP 기능에 의해 전송된다.
14 15 Session Set Deletion X X - CP → UP UP → CP 영향을 받는 모든 세션의 삭제를 요청하는 부분 실패를 나타내기 위해 CP 기능에 의해 전송된다.
(50..99) Session Related Messages
50 51 Session Establishment X X X X CP → UP UP → CP CP에서 UP 트래픽을 처리하고 전달하기 위한 규칙 집합으로 구성된 세션을 설정, 수정 및 제거하는 데 사용된다. PFCP 애플리케이션 도메인의 주요 기능 메시지이다.

UP는 추가적인 Session-Report 메시지를 피할 수 있도록 답변에 Usage Report 정보를 포함할 수 있다.

52 53 Session Modification X X X X
54 55 Session Deletion X X X X
56 57 Session Report X X X X UP → CP CP → UP 패킷 처리 및 전달 절차를 기반으로 하는 UP 사용 보고서 정보의 보고: 다운링크 데이터(대기 중인 새 패킷 알림), 사용 보고서(충전 목적을 위한 볼륨, 시간 등 기반 정보), 오류 및 비활성 표시.
(100..255) Other Messages

전송 편집

GTP-C와 매우 유사한 PFCP는 UDP를 사용한다. 포트 8805는 예약되어 있다.[5]

신뢰성을 위해 GTP-C와 유사한 재전송 전략이 사용되며 손실 된 메시지는 T1 간격으로 N1 회 전송된다. 트랜잭션은 3 바이트 길이의 시퀀스 번호, 통신 피어의 IP 주소 및 포트로 식별된다.

프로토콜에는 통신 피어의 가용성을 모니터링하고 재시작을 감지 할 수 있는 자체 하트 비트 요청 / 응답 모델이 포함되어 있다 (복구-타임 스탬프 정보 요소 사용).

제어 및 사용자 평면 기능 요소 간의 사용자 평면 패킷 교환의 경우 Sx-u 인터페이스의 경우 GTP-U 또는 N4-u 인터페이스의 경우 더 간단한 UDP 또는 이더넷 캡슐화 (표준이 아직 불완전하므로 확인 예정) .

같이 보기 편집

각주 편집