什么是PAT(端口地址转换)?

PAT是“端口地址转换”(Port Address Translation)的缩写,是一种将TCP(或UDP)/IP数据包的IP地址和端口号转换为另一组IP地址和端口号的技术。该技术通常称为NAPT(网络地址端口转换)或IP伪装,而“PAT”一词则由Cisco Systems专门使用。

PAT(NAPT)是NAT(网络地址转换)的一种高级扩展。NAT是一项用于转换IP数据包标头中IP地址的技术。为缓解IPv4地址耗尽问题,组织内部的设备通常会分配私有IP地址,但通过互联网与外部服务器通信时,则需要使用全局IP地址。NAT通过将私有IP地址转换为全局IP地址来实现这一点。然而,由于NAT采用一对一映射,因此无法支持多台设备同时通信。PAT(或NAPT)解决了这一限制。

PAT接收来自分配了私有IP地址的设备的数据包,将源IP地址转换为全局IP地址,并修改源端口号。PAT还会记录原始地址与转换后地址之间的映射关系,并将数据包转发到互联网。服务器响应会发送到修改后的IP地址和端口号,PAT据此还原原始私有IP地址和端口号,再将数据包传送至发起通信的设备。

系统通过修改端口号,唯一标识来自不同私有IP地址的数据包。虽然多个设备在与外部通信时共享同一个全局IP地址,但其端口号各不相同,因此PAT能够区分不同设备,并支持这些设备同时与多个端点通信。

如今,PAT和NAPT通常统称为“NAT”。NAT可以对外部网络隐藏内部网络,有助于实现网络分段并提供基本安全防护,但并非全面的安全解决方案。要增强抵御外部威胁的安全能力,通常还需要采用其他端到端隧道技术。