It is my understanding that technically there is no limitation on using port 0 in a TCP/IP packet, it is normally simply reserved to mean an ephemeral port. I tested this by writing a simple C-app that binded to port 0 and in fact netstat
revealed that it had binded to an ephemeral port, 50252.
If I wrote an application, and explicitly made any (perhaps) necessary modifications to my networking library, operating system, and anything else that is physically under my control not to interpret port 0 (zero) as literally port zero and nothing special, would it be routed over the public internet? Or even perhaps reliably routed over the public internet?