4 ms·
> ipv6 packet does not have any port field Yes, that's why I said I know it was mixing of layers. However ports are a layer violation in a strict sense, intro
by magicalhippo 6mo ago
> ipv6 packet does not have any port field
Yes, that's why I said I know it was mixing of layers.
However ports are a layer violation in a strict sense, introduced as a workaround because there was no easy way to just add thousands of new IPs to a single host back in the IPv4 days. No need to continue a workaround that causes grief on a daily basis.
- allarm 6mo agoWhat do you mean? You’ll still have to use TCP or UDP over IPv6, and both of those protocols use ports. Nothing is stopping you from creating a transport protocol that doesn’t use ports if you want to, but that has nothing to do with the network layer.
- magicalhippo 6mo agoI mean that to connect to a service you wouldn't need to know the port, the IPv6 address would be enough. This is why I consider ports a layer violation of sorts. You never talk to a machine with TCP/UDP, you talk to a service on a machine. And so as it is the full address to the service isn't just the layer 3 address. As I mentioned this would be especially interesting when hosting multiple services, same or different, on the same machine since there would be no port conflict.
- allarm 6mo agoYeah, but I mean you just have to have something on the transport layer, you can't just encapsulate application layer into network skipping network, that's not how the network stack works.
- magicalhippo 6mo agoPerhaps it's because I'm tired but I can't make sense of your objection. As I said you could implement it by having TCP/UDP as is, just with a fixed port number. This wouldn't be unlike the myriad of other conventions that litter IPv6, such as using /64 for a host or ULA's having a certain prefix.
- allarm 6mo agoNo it's me - I'm tired too, and I misread you) Got it, makes sense. It just seems more like an architectural decision to me than something related to the network stack - that's why I got confused. You can come up with your own convention and use it within a local network. One of the downsides of this approach - it will clutter up the routing table, but that’s probably not a big deal. I usually prefer to use some kind of demultiplexer, like a reverse proxy, to handle the conversions.