Hacker News new | ask | show | jobs
by allarm 41 days ago
What 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.
1 comments

I 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.

Yeah, 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.
Perhaps 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.

No 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.