PFCP

**PFCP**(Packet Forwarding Control Protocol)는 TS 29.2443GPP TS 29.244 LTE; Interface between the Control plane Plane and the User Plane of EPC Nodes 지정된 제어 플레인과 사용자 플레인 기능 간의 Sx / N4 인터페이스에서 사용되는 3GPP 프로토콜이다. 이는 5G 차세대 모바일 코어 네트워크 (일명 5GC제목=The 5G Core Network (5GC) – Part 1 – Network Entities )에 도입된 주요 프로토콜 중 하나이지만 CUPS ( Control and User Plane Separation)를 구현하기 위해 4G / LTE EPC에서도 사용된다.웹사이트=www.3gpp.org PFCP 및 관련 인터페이스는 모바일 가입자에게 4G 및 5G 서비스를 제공하는 대부분의 사업자가 배포한 모바일 코어 네트워크에서 사용되는 다양한 유형의 기능 요소 간의 상호 작용을 공식화한다. 이 두 가지 유형의 구성 요소는 다음과 같다. # 대부분의 시그널링 절차를 처리하는 제어 평면(CP) 기능 요소(예 : 네트워크 연결 절차, 사용자 데이터 플레인 경로 관리 및 SMS 로 일부 경량 서비스 제공) # 사용자 데이터 평면 (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 in the Evolved Packet Core - the Sx interface|none|섬네일||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를 결합할 수 있다. [[파일:PFCP_5GC.png|대체글=PFCP in the 5G Core (aka NGC) - the N4 interface|없음|섬네일|530x530픽셀| 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-사용보고 규칙-사용자 평면 기능에서 처리하는 트래픽을 계산하고 보고하기위한 규칙이 포함되어 있으며 제어 평면 기능에서 과금 기능을 활성화하는 보고서를 생성한다. {| class="wikitable" |+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 바이트 | colspan="3" | 버전 (1) | colspan="3" | (예비 0) | MP | 에스 | colspan="8" | 메시지 유형 | colspan="16" | 메시지 길이 (바이트 단위, 처음 4 개 제외) |- | 바이트 4..11 | colspan="32" rowspan="2" | (S 플래그가 설정 됨) 경우 SEID; 그렇지 않으면 이러한 바이트가 누락된다. |- | 바이트 8..11 |- | 바이트 4..7 또는 12..15 | colspan="24" | 시퀀스 번호 | colspan="4" | (MP 플래그 설정) 경우 메시지 우선 순위; 기타 (예비 0) | colspan="4" | (예비 0) |- | 바이트 8. . (MsgLen + 4) 또는 16. . (MsgLen + 4) | colspan="32" | 0 개 이상의 정보 요소 |} {| class="wikitable" |+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 바이트 | colspan="3" | 버전 (1) | colspan="3" | (예비 0) | MP | 에스 | colspan="8" | 메시지 유형 | colspan="16" | 메시지 길이 (바이트 단위, 처음 4 개 제외) |- | 바이트 4..11 | colspan="32" rowspan="2" | (S 플래그가 설정 됨) 경우 SEID; 그렇지 않으면 이러한 바이트가 누락된다. |- | 바이트 8..11 |- | 바이트 4..7 또는 12..15 | colspan="24" | 시퀀스 번호 | colspan="4" | (MP 플래그 설정) 경우 메시지 우선 순위; 기타 (예비 0) | colspan="4" | (예비 0) |- | 바이트 8. . (MsgLen + 4) 또는 16. . (MsgLen + 4) | colspan="32" | 0 개 이상의 정보 요소 |} IE는 독점적 인 인코딩을 갖거나 그룹화 된 것으로 정의된다. 그룹화 된 IE는 PFCP 메시지 페이로드 에서처럼 차례로 인코딩 된 다른 IE의 목록이다. IE 유형 0..32767은 3GPP에 한정되며 Enterprise-ID 세트가 없다. IE 유형 32768..65535는 사용자 지정 구현에서 사용할 수 있으며 Enterprise-ID는 발급 당사자의 IANA SMI 네트워크 관리 사설 엔터프라이즈 코드https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers로 설정되어야한다. {| class="wikitable" |+ Standardized Message Types ! colspan="2" |Message Type ! rowspan="2" |Message ! colspan="4" |Interface Applicability ! colspan="2" |Direction ! rowspan="2" |Purpose |- !Request !Response !Sxa !Sxb !Sxc !N4 !Request !Response |- | colspan="2" |0 | colspan="7" |(Reserved) | |- | colspan="2" |**(1..49)** | colspan="7" |**Node Related Messages** | |- |1 |2 |Heartbeat |X |X |X |X | colspan="2" |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 | colspan="2" |CP ↔ UP | rowspan="3" |CP와 UP 기능 요소 간의 연결을 설정하고 업데이트한다. 기능에 대해 다른 요소에 알리기 위해 선택적 기능 목록을 포함한다. 다른 구성 요소도 전달된다. 이 절차를 수행하기 전에 세션 관련 메시지를 교환해서는 안 된다. Association-Release는 CP에 의해서만 트리거되지만 UP은 Association-Update-Request의 일부로 이를 요청할 수 있다. |- |7 |8 |Association Update |X |X |X |X | colspan="2" |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 기능에 의해 전송된다. |- | colspan="2" |**(50..99)** | colspan="7" |**Session Related Messages** | |- |50 |51 |Session Establishment |X |X |X |X | rowspan="3" |CP → UP | rowspan="3" |UP → CP | rowspan="3" |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 사용 보고서 정보의 보고: 다운링크 데이터(대기 중인 새 패킷 알림), 사용 보고서(충전 목적을 위한 볼륨, 시간 등 기반 정보), 오류 및 비활성 표시. |- | colspan="2" |**(100..255)** | colspan="7" |**Other Messages** | |}
# 전송
GTP-C와 매우 유사한 PFCP는 UDP를 사용한다. 포트 8805는 예약되어 있다.웹사이트=www.iana.org 신뢰성을 위해 GTP-C와 유사한 재전송 전략이 사용되며 손실 된 메시지는 T1 간격으로 N1 회 전송된다. 트랜잭션은 3 바이트 길이의 시퀀스 번호, 통신 피어의 IP 주소 및 포트로 식별된다. 프로토콜에는 통신 피어의 가용성을 모니터링하고 재시작을 감지 할 수 있는 자체 하트 비트 요청 / 응답 모델이 포함되어 있다 (복구-타임 스탬프 정보 요소 사용). 제어 및 사용자 평면 기능 요소 간의 사용자 평면 패킷 교환의 경우 Sx-u 인터페이스의 경우 GTP-U 또는 N4-u 인터페이스의 경우 더 간단한 UDP 또는 이더넷 캡슐화 (표준이 아직 불완전하므로 확인 예정) .