پروتکل کنترل پورت (به انگلیسی: port control protocol) یا به صورت مخفف (PCP) یک پروتکل در شبکه رایانه ای است که به میزبان های موجود در شبکه های IPv6 و IPv4 اجازه می دهد تا نحوه ترجمه و ارسال پاکت های دریافتی IPv4 و IPv6 به وسیله یک روتر بالادست که کار ترجمه آدرس شبکه و یا نقش دیوار آتش را انجام می دهد، کنترل کنند. به وسیله اجازه دادن به میزبان ها برای تولید قوانین صریح پورت فورواردینگ، رسیدگی به ترافیک شبکه می تواند به آسانی پیکربندی شود تا میزبان های موجود در پشت NAT ها یا دیوارهای آتش به سادگی از باقی اینترنت قابل دسترسی باشند(پس به عنوان سرور نیز می توانند مورد استفاده قرار بگیرند)؛ که این مسئله ضرورتی برای بسیاری از اپلیکیشن ها است.

به علاوه، قواعد صریح پورت فوروادینگ که به وسیله PCP موجود است به کمک حذف راه حل هایی که به فرم پیام های ارسالی نگهدارنده NAT می باشد و برای نگهداری ارتباط با سرور و بسیاری از تکنیک های پیمایش NAT مثل TCP hole punching لازم است، به میزبان ها در کاهش ترافیک تولیدی کمک می کند. در این حین کاهش ترافیک تولیدی مصرف انرژی را کاهش میدهد که مستقیما باعث بهبود عمر باتری برای دستگاه های همراه میشود.

پروتکل کنترل پورت در سال 2013 به عنوان جانشین پروتکل NAT port mapping(NAT-PMP) شد که با آن فرمت های پاکت و کانسپت های پروتکل یکسانی دارد.

در محیط هایی که یک دستگاه UPnP IGD در شبکه محلی استفاده می شود لازم است که یک عملکرد متقابل بین UPnP IGD و PCP در IGD تعبیه شود. این عملکرد متقابل در RFC6970 مشخص شده است.

گزینه های (IPv4 و IPv6)DHCP برای پیکربندی میزبان ها با آدرس های ip سرور پروتکل کنترل پورت، در RFC7291 مشخص شده است.مراحل انتخاب یک سرور در لیستی از سرورهای PCP در RFC7488 بحث شده است.

در محیطی که NAT64 مستقر شده است PCP اجازه یافتن پیشوند(های) IPv6 استفاده شده به وسیله یک دستگاه NAT64 کنترل شده با PCP را می دهد تا آدرس های IPv6 تبدیل شده از IPv4 به وسیله NAT64(RFC7225) ساخته شود.

امنیت
-----

در ممانعت از هکرهایی که قادر به تغییر دادن پاکت هایی که در هنگام تولید یک نگاشت صریح PCP تولید می شوند(پاکت هایی که شامل عبارات لازم برای برقراری یک نگاشت صریح که بین مهمان و NAT های دارای PCP یا دیوار آتش است)، PCP تا وقتی امن هست که نگاشت صریح تولید شده از دامنه نگاشت های ضمنی فراتر نرود. به عبارت دیگر، نگاشت های صریح به عنوان نتیجه ای از نحوه رسیدگی NATها و دیوارهای آتش به اتصالات معمول خروجی به مهمان ها درست شده است، یعنی PCP تا وقتی امن است که امکان نگاشت تازه ای توسط مکانیسم نگاشت صریح معرفی نشود.

منابع
-----

1. 1 2  Dan Wing (December 2011). "Port Control Protocol". *The Internet Protocol Journal*. Cisco Systems. Retrieved January 31, 2014.
2. ↑  "Port Control Protocol Overview (Junos OS 13.3)". Juniper Networks. August 14, 2013. Retrieved January 31, 2014.
3. 1 2  D. Wing; S. Cheshire; M. Boucadair; R. Penno; P. Selkirk (April 2013). [rfc:6887 "RFC 6887: Port Control Protocol (PCP)]". Internet Engineering Task Force (IETF). Retrieved January 31, 2014.
4. ↑  Boucadair, M.; Penno, R.; Wing, D. (July 2013). "Universal Plug and Play (UPnP) Internet Gateway Device - Port Control Protocol Interworking Function (IGD-PCP IWF)". doi:10.17487/rfc6970.
5. ↑  Boucadair, M.; Penno, R.; Wing, D. (July 2014). "DHCP Options for the Port Control Protocol (PCP)". doi:10.17487/rfc7291.
6. ↑  Boucadair, M.; Penno, R.; Wing, D.; Patil, P.; Reddy, T. (March 2015). "Port Control Protocol (PCP) Server Selection". doi:10.17487/rfc7488.
7. ↑  Boucadair, M. (May 2014). "Discovering NAT64 IPv6 Prefixes Using the Port Control Protocol (PCP)". doi:10.17487/rfc7225.