In het geval van NAT is de beveiliging intrinsiek aan de opstelling.
Stel je hebt 5 computers. Ze delen ieder je externe IP. ze delen ook allemaal de poorten van je externe IP. In het geval van een server kan maar 1 van je 5 computers zich naar buiten "voorstellen" als die poort. Een webserver, bijvoorbeeld, draait normaal op poort 80. Slechts 1 computer kan ooit poort 80 extern claimen, de andere interne computers kunnen echter prima allemaal een service draaien op poort 80.
In het geval dat een externe computer via je externe IP naar poort 80 vraagt, maar geen enkele server heeft zich aangediend, dan weet de router niet wat die met een pakket naar poort 80 moet, omdat die voor 5 interne PC's kan zijn. De router gooit het pakket weg en je interne servers zijn veilig. In het omgekeerde geval vraag je via een door de router toegewezen poort een pagina op. De server stuurt het antwoord terug naar diezelfde poort. Daar de router weet aan wie die poort toebehoort wordt de internetpagina doorgestuurd naar de juiste computer die de pagina ook opgevraagd heeft.
Een port forward reserveert een specifieke poort voor de aangewezen computer en zal aanvragen op die poort van buiten altijd doorsturen naar die ene computer. Daarbij wordt verder niet meer gefilterd. als eenmaal een forward is aangebracht is er geen verdere beveiliging meer.
UPNP kan de router dynamisch vragen een poort te reserveren. Als dat is ingeschakeld kan de aanvraag gehonoreerd worden. Echter mocht iemand de poort in gebruik hebben werkt het niet.