[ih] History of Naming on The Internet - is it still relevant?

Karl Auerbach karl at iwl.com
Mon Jul 21 11:15:00 PDT 2025


Why do I (and also ISO/OSI) believe that an association protocol 
(between application layer and transport layer) ought to be there?  And 
why couldn't DNS take up the slack?

(This may not be strictly a "history" point.  But when we talk about 
Internet history it can be as interesting to note the roads not taken as 
to deal with those roads that were taken.  I wish modern RFCs were more 
willing to discuss rejected alternatives.)

Consider an IPv4/6 connection between an application on a mobile device 
(whether that be a phone, a vehicle, etc).  Suppose that application is 
doing something that takes time - such as you are watching a video or 
you are engaged in a game.

As you move you may be acquiring and losing IPv4/6 connectivity and 
addresses as you move from provider to provider.  That means that you 
can't sustain a single, continuous TCP connection; rather you need to 
re-form that transport but maintain the association with the remote 
service.  (This can get more "fun" if that service is itself in motion 
across the net or, for cloud services, the service itself may have a 
dynamic set of instances.)

When I was working on mobile computing we had to deal with connectivity 
changes that were rapid - our worst case at the time was John Roberts on 
his bicycle riding across the Sun campus - transitions every few 
seconds. (We were operating below the level of TCP.)  In the world of 
vehicle-to-* communications, transitions and connectivity persistence 
can be at the sub-second level. (Not all of those transitions would 
result in IP address changes.)

Just walking down the street with a mobile phone can result in that 
phone dancing to IP connectivity changes as the phone binds to different 
wi-fi access points or 4/5G providers.  (I am sure we have all 
experienced the delay when a mobile application has not yet realized 
that it has lost access via a provider and needs to switch.)

DNS can not handle the dynamics of such a situation; DNS greatly depends 
on caching in order to scale.  In our modern world, the load of doing 
updates and cache-updates to deal with mobility could be immense.

We've seen how mobile-IP deals with things: a kind of juggling act with 
multiple IP addresses and a kind of triangular packet routing.  It is 
not elegant (and I'm not sure how much it is used in practice.)

In the world-wide-web context (HTTP/HTTPS) we've got a state identifier 
that is useful for transport-spanning associations - cookies.

It would be useful if there were a more generalized mechanism so that 
one could establish something like a TCP transport connection but which 
spanned the lives of more than one underlying TCP transport connection.

The ISO/OSI approach was scary to read and was vastly over-designed.  
The thought of implementing it was fearful and engendered nightmares of 
protocol stacks that had to remember higher level data.  But basically 
all it amounted to was a simple protocol to established named 
checkpoints as a network association progressed.  Capture, storage, and 
replay of higher level data was not part of the protocol, although that 
was not clear from the specification.  The end points would be 
responsible to hold (and be able to re-play) material after the latest 
named checkpoint (the protocol machinery would not do any of that 
holding/replay, that's up to the end points.)  Thus, each re-connection 
of a new underlying transport connection would begin with a conversation 
that was essentially "where were we, what was our last named 
checkpoint?"  If the two ends agreed on that named checkpoint then the 
ends would roll-back and re-play since that checkpoint.  (This kind of 
incremental commitment is not uncommon in the world of databases.)

Much of this can be done in end-point libraries (as we often do with 
TLS) rather than being built deeply into an in-kernel protocol stack.  
Applications would have to understand that data since the last 
established checkpoint is data that could be delivered again. (Or a 
session protocol API could have a mode to help with that.)  Again, this 
kind of thing is fairly common in databases.  This would, of course, 
require changes to how applications use the network - rather than a 
transport byte stream they would be operating on streams that are 
punctuated by named checkpoints, re-synchronize events, and obligations 
to replay and re-receive upon those re-sync events.

(I might add that this kind of thing could deal with the fact that TCP 
is a stream without clear delineation of higher level "messages".  There 
is a lot of code that assumes that the data arriving out of a tcp.recv() 
function will always be the exact same sequence of bytes that were in a 
tcp.send() performed by the sender.  Remember the Nagle algorithm?)

         --karl--

On 7/21/25 7:08 AM, Andrew Sullivan via Internet-history wrote:
> Hi,
>
> On Sun, Jul 20, 2025 at 03:24:58PM -0500, Karl Auerbach via 
> Internet-history wrote:
>>
>> The second is a note about the question of "what are we naming?" This 
>> is particularly an issue in modern applications in which the network 
>> partner of a client may move, split, or merge during a client-service 
>> interaction (and thus take on different IP addresses and port numbers 
>> [and different transport connections] as that interaction progresses 
>> over time.)  (This is why I am so fond of the idea of an association 
>> protocol layer between applications and our transport layers.)  The 
>> ISO/OSI folks may have wrestled with this via things like 
>> "application entity titles", but they didn't do a very good job of 
>> expressing the problem they were trying to solve or their solutions.
>
> I have never understood why there is _supposed_ to be a problem 
> there.  DNS names are an indirection layer, and if we doubt this we 
> have CNAME and DNAME to correct our misundderstanding.  The True Name 
> of a thing is, to my mind, way too mystical for something like 
> services on a network.
>
> So, to bring this remark back to something to do with history, _why_ 
> did this perceived need arise?
>
> Best regards,
>
> A
>


More information about the Internet-history mailing list