Subject: [RAM] Overloaded semantics & networking APIs

From: RJ Atkinson <[email-masked]>
Date: Thu, 18 Jan 2007 10:58:16 -0500

Earlier, Russ White wrote:
> Applications writers made the choice, I think, in reality to overload
> more heavily on the IP address, over time. Since they don't feel the
> pain of overloading more heavily (rather than less), it's logical
> they're going to push more work on routing so they can do less work
> (which is, to some degree, what heavy overloading provides--less work
> for applications).

Historically, that theory isn't true.
The root issue behind applications using IP addresses is timing.

Specifically, the BSD Sockets networking API was developed, released,
and in significant use several years before the Domain Name System (DNS)
was first published in an RFC.  So an API that used more appropriate
(in conventional Computer Science terms) abstractions -- and data
hiding -- wasn't available.

This meant that programmers, and importantly *documentation* on writing
networked applications, were all focused on the BSD Sockets API,
rather than on a more abstract networking API.  When the AT&T UNIX,
Transport Layer Interface (TLI) came along, it ended up looking
more like Sockets than the kind of API one really would want.
Then, when Windows came along, they just modified the Sockets API,
for the good reason that programmers were sort-of familiar with
a Sockets-like API.  (A 2nd missed opportunity to fix things.)

Had the timing been reversed, likely there also would have been
a more abstracted API that changed the objects present in the API,
along these lines:
	- Domain name, instead of IP address
	- Service name, instead of transport-protocol/port

Even today, we lack an appropriately abstract openly specified
networking API for C/C++.  Java has some that are very nice,
so it would be possible to do one for C/C++.

Ran

PS:  There is an IETF sponsored API that is very slightly more abstract,
working well over IPv4 or IPv6, but it isn't really as abstract as
we really need.

_______________________________________________
RAM mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ram

---

From: Russ White <[email-masked]>
Date: Thu, 18 Jan 2007 11:33:47 -0500

> The root issue behind applications using IP addresses is timing.

Well, I'm not certain it matters.... Either way, we are where we are
outside the choice the network/routing folks would have probably chosen,
I think.

:-)

Russ

- --
[email-masked] CCIE <>< Grace Alone