{{위키데이터 속성 추적}}
'''PFCP'''(Packet Forwarding Control Protocol)는 TS 29.244<ref name=":0">[http://www.3gpp.org/DynaReport/29244.htm 3GPP TS 29.244 LTE; Interface between the Control plane Plane and the User Plane of EPC Nodes]</ref> 지정된 제어 플레인과 사용자 플레인 기능 간의 Sx / N4 인터페이스에서 사용되는 [[3GPP]] 프로토콜이다. 이는 [[5세대 이동 통신|5G]] 차세대 모바일 코어 네트워크 (일명 5GC<ref>{{웹 인용|url=https://blog.wirelessmoves.com/2018/04/the-5g-core-network-5gc-part-1-network-entities.html|제목=The 5G Core Network (5GC) – Part 1 – Network Entities}}</ref> )에 도입된 주요 프로토콜 중 하나이지만 CUPS ( [[제어 및 사용자 평면 분리|Control and User Plane Separation)]]를 구현하기 위해 [[LTE (전기통신)|4G / LTE]] [[시스템 아키텍처 에볼루션|EPC]]에서도 사용된다.<ref>{{웹 인용|url=https://www.3gpp.org/news-events/3gpp-news/1882-cups|제목=Control and User Plane Separation of EPC nodes (CUPS)|성=Flynn|이름=Kevin|웹사이트=www.3gpp.org}}</ref> PFCP 및 관련 인터페이스는 모바일 가입자에게 4G 및 5G 서비스를 제공하는 대부분의 사업자가 배포한 모바일 코어 네트워크에서 사용되는 다양한 유형의 기능 요소 간의 상호 작용을 공식화한다. 이 두 가지 유형의 구성 요소는 다음과 같다.

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

PFCP의 범위는 [[오픈플로|OpenFlow]]의 범위와 유사하지만 [[셀 (이동 통신)|모바일 코어 네트워크]]의 특정 사용 사례를 제공하도록 설계되었다.

[https://www.broadband-forum.org/technical/download/TR-459.pdf PFCP는 또한 TR-459] 의 BroadBand Forum에서 정의한 바와 같이 세분화된 BNG 의 제어 평면과 사용자 평면 기능 간의 인터페이스에서 사용된다.

== 개요 ==
개념과 구현에서 [[GPRS 터널링 프로토콜|GTP]]와 유사하지만 PFCP는 이를 보완한다. Control-Plane의 시그널링 컴포넌트가 User-Plane 컴포넌트에 의해 수행되는 패킷 처리 및 포워딩을 관리하기 위한 제어 수단을 제공한다. 일반적인 [[시스템 아키텍처 에볼루션|EPC]] 또는 [[5세대 이동 통신|5G]] 패킷 게이트웨이는 프로토콜에 의해 2개의 기능 부분으로 분할되어 보다 자연스러운 진화와 확장성을 제공한다.
[[파일:PFCP in EPC.png|alt=PFCP in the Evolved Packet Core - the Sx interface|none|섬네일|690x690px|PFCP in the Evolved Packet Core - the Sx interface ([http://www.plantuml.com/plantuml/uml/bLHTIyCm57s_l-8ywh9IEgQ8e0moLdoHG1PzsKlcnYoKLhQo-P0VhxrT4mqMzJoCd7Fknyr7DpiqTjziYiPQmY3qP0qvw2SCSVRr53BEjf1mv8D5bCtQsTTP1eU0l4hpjpRT0UGBk2YVDTTFoC4ntEy-20oH276UKr-b-WQoqmHhVSptRJle_1dIw-n1THhwcELy4Ow2OqFDM8iumIDCFwXn3v 편집 가능한 이미지 소스])]]

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 인터페이스( [http://www.plantuml.com/plantuml/uml/dT8_QyCm40Nm_Jx56-CS8gGjtLeI7BnLY0PdoYAmIGr61bkGnH--rIl-Gpkr3mrtFp-4CJuCqVUnQgBt8c3Kg9glA63t-zc8Ac167DyA-XB5cJPrsASlcKqM6_4xj7N7Fk1djlO9-Eiz_-nSbixEgE41x2E5I2C-Sq-vYdaXRjwpeuMcZI6MhW1cLBYJnIZJvoRki0ffXTVlJKIG1kHTY7tNmh 편집 가능한 이미지 소스] )]]

== 기능 ==
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" style="text-align: center;"
|+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" style="text-align: center;"
|+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 네트워크 관리 사설 엔터프라이즈 코드<ref>https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers</ref>로 설정되어야한다.
{| class="wikitable" style="text-align: center;"
|+
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'''
|
|}

== 전송 ==
[[GPRS 터널링 프로토콜|GTP-C]]와 매우 유사한 PFCP는 [[사용자 데이터그램 프로토콜|UDP를]] 사용한다. 포트 8805는 예약되어 있다.<ref>{{웹 인용|url=https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=8805|제목=Service Name and Transport Protocol Port Number Registry|웹사이트=www.iana.org}}</ref>

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

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

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

== 같이 보기 ==

== 각주 ==
<references />
[[분류:통신 시설]]
[[분류:5G]]
[[분류:LTE (전기통신)]]
[[분류:모바일 기술]]
[[분류:3GPP 표준]]
[[분류:이동 통신 표준]]
[[분류:네트워크 프로토콜]]