Маршрутизатор про порты ничего знать не хочет, он просто держит в памяти табличку с соответствием мак-адресов, айпишников и портов (физических), поэтому знает, куда отправлять пакеты.
Когда вы начинаете прослушивать порт - ОС просто перестаёт отвергать пакеты с этим портом назначения, а начинает передавать их приложению. Можно не слушая порт (например, настроив iptables в линуксе) что-то делать с этими пакетами - например, передавать на другой порт или даже отправлять куда-то вовне.