digraph G { rankdir=TB labelloc=t; label="PFCP Overview\n3GPP TS 29.244 3.1, 5.8.1" subgraph cluster_N1_CP { label="Node: Control Plane function";style=dotted N1_E_CP [label="CP Entity"] } subgraph cluster_N2_UP { label="Node: User Plane function\nNode ID: my-userplane.com\n(FQDN may provide multiple PFCP Entities)";style=dotted N2_E_UP [label="UP Entity\n8.7.6.1"] N2_E_UP2 [label="UP Entity\n8.7.6.2"] } subgraph cluster_N3_UP { label="Node: User Plane function\nNode ID: 1.2.3.4\n(IP address means only one PFCP Entity)";style=dotted N3_E_UP [label="UP Entity\n1.2.3.4\n(osmo-upf)"] } N1_E_CP -> N3_E_UP [label="PFCP Request"] N1_E_CP -> N2_E_UP }