[governance] Uni.X to Uni.X .NETworking - Are Sockets Really Needed ? in IAX3 ?
Jim Fleming
JimFleming at ameritech.net
Fri Nov 4 20:09:17 EST 2005
Revisiting the 160-bit Uni.X to Uni.X message contents we have:
64x2=128 bits of symmetric addressing
160-128=32
10 bits of Length
16 bits of Checksum
32-10-16=6
4 bits of Hop-Count
2 bits of Protocol
6-4-2=0
With only 2 protocol bits, there is no need to pay someone millions of
dollars per year to decide on what protocol uses what value.
00 - NOprotocol
01 - ICMP
10 - Reliable Stream
11 - Unreliable Datagram
With the NOprotocol, the 10 bits of Length and 16 bits of Checksum can
form a 26 bit field divided into 2 bits for String Length and 24 bits for
the String.
If an audio channel is carried in those bits then single keystrokes can be
inserted
from time to time for simple Instant Message services.
For high-performance, high-capacity and high-reliability systems, feature
creep
and code bloat can be a major liability. People have seen that with all of
the PC
stack exploits, viruses, etc.
One thing to note with the 160-bit Uni.X to Uni.X Messaging, is that no
Ports
are used and sockets do not make a lot of sense. Simple C programs can
construct
and write the 160-bit messages which can then be routed as an atomic unit.
Software-based voice PBX-like systems are now possible with C programs doing
what once was done in expensive hardware. The more over-head added to the
message format the slower the systems run and the less channels they can
handle.
For people in remote locations in the world, band-width still matters. It is
expensive
and going to become more expensive as countries will be expected to buy
connections
all the way to the major islands with message exchanges. Every bit matters
especially
when one considers that every message has to have that minimum number of
bits.
Compression only helps in isolated cases when all bits are in play and
widely used.
Compression also becomes easier when messages are small and well-defined and
there
is some knowledge of the likely contents. Key-strokes and voice are good
examples
that have predictable patterns. Video also has that to a less extent and
also requires
a huge leap in band-width, compared to key-strokes and voice. Video games
and
LAN parties seem to fall in the middle, but can benefit from pre-analysis
and tuning.
Ports and Sockets were introduced out-side of the 160-bit message container
with
the UDP and TCP protocols. The Socket abstraction is very complex and many
people
new to programming find it difficult to navigate. There are many twists and
turns and
some of that is because there are many features which are not used, not
useful or
not even programmed. It was largely the result of a variety of research
projects that
tossed in the kitchen sink and tried later to make it work. To this day,
people wonder
if that amount of code bloat really buys much. People from the various
religious
movements that produced the abstraction and code of course claim it is worth
the
baggage. What that baggage partly buys is 16 more bits of addressing in each
direction
and also easier internal addressing for processes on a system that share a
common
address. Those extra bits of addressing have never been easy to get to via
the DNS.
They partly suffer from being outside of the basic message (packet header).
Returning to the 2-bit Protocol field, it may make more sense to recognize
that newer
technology makes it such that reliable digital transports blur the need for
a distinct TCP
and UDP. Instead, the need is more for Elastic Headers which can be used to
adapt to
real-time situations. The popular Asterisk Open Source PBX uses such an
arrangement.
The IAX2 protocol can be easily reworked into two of the protocol point
codes with
the net gain being one has full 16-bit call numbers, instead of the 15 bit
values. The R
bit can be used to reduce the large 32-bit Time-Stamp to free up that bit
position. With
this approach, the Protocol point codes can be 10 for Full-Frame and 11 for
Mini-Frame
for what might be called IAX3.
00 - NOprotocol
01 - ICMP
10 - Full Frame
11 - Mini Frame
Because IAX is already very feature-rich, it should be easy to find a way to
dove-tail
pure UDP and TCP back into that stream. From a governance point of view, it
is important
to allocate bits to the most desired and mainstream usage, as opposed to
preserving
past sacred cow's egos. Consumers want to buy and use what works and what
works
well. They are not interested in paying money to fund egos. That has been
one of the major
barriers to Internet Governance. Tens of millions of dollars have been spent
building
institutions that memorialize egos. Netizens have paid that price and
received little in return.
With a re-work of their priorities and how they exchange messages and
address those
messages, netizens can take back the net and move forward and once again
enjoy building,
programming, and testing Uni.X systems as they once did, long ago.
_______________________________________________
governance mailing list
governance at lists.cpsr.org
https://ssl.cpsr.org/mailman/listinfo/governance
More information about the Governance
mailing list