Hacker News new | ask | show | jobs
by Hikikomori 859 days ago
Theres no strict rules about layers, most routers can and do read info in tcp/udp headers.
3 comments

And that's how we got forever stuck with those 2 and now have to build every new protocol on top of UDP.
Actually, that's not a bad thing. UDP is small enough to have nearly no overhead, but complex enough to let firewalls do their job. Six of the eight bytes in its header would probably be in the header of any transport layer protocol anyways (only the checksum might be unnecessary).

Wikipedia lists over 100 assigned IP protocol numbers [1], and while it would break existing firewalls, adding a new protocol would certainly require less work than the transition from IPv4 to IPv6. But UDP is already simple enough that there's very little benefit in not just building on that.

[1] https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers

No it isn't. That fault lies with nat and idiots who only open http on their firewalls.
They can read higher layers, but they (currently) don't have to in order to implement IP correctly
> most routers can and do read info in tcp/udp headers.

Do most routers really do that, or just the ones which are also trying to act as a firewall?

For example, IP routers often peek at UDP/TCP port numbers to calculate ECMP flow hashing. This is technically naughty but it's read-only and it's only an optimization that isn't required for correct forwarding.
Yes. I doubt you can find one that is not capable.