[ih] [ipv6] IP versions explained
jack at 3kitty.org
Sat Nov 7 09:59:54 PST 2009
Depends on how you define "documented"...do the TCP Working Group
The "TCP Meeting Notes", written by Jon Postel and emailed to
[isie]<postel>TCP-Working-Group.List on 21 Oct 1977 1728-PDT, documented
the activity at the meeting of 13-14 October 1977. The first agenda
item was "Discussion of TCP-3" and the notes say that "Vint spoke first
and outlined his goal for the meeting: 'Define TCP-3'" An extensive
summary of the discussions follows - Rubber EOL, Resynchronization,
Three Way Handshake, etc. There is also an appendix: "Proposal for TCP
3" by Ray Tomlinson, dated 12 October 1977.
There was also "Discussion of TCP-4" on the agenda. One of the action
items for Jon was "TCP-3 Specification: draft in two weeks, final two
weeks after that - Postel" From the notes, the idea was to write down a
TCP-3 spec, which provided only reliable-transport service, and then
focus on TCP-4, to provide also an unreliable datagram service for
applications such as packet voice, conferencing, and such that were
clamoring for support. The splitting of the headers in version 3
enabled the creation of protocols above IP that were not TCP - e.g., UDP
et al for voice. It also made possible the variety of fun and games of
internet plumbers - e.g., running SPX over IPX over IP to glue together
Netware-islands via the Internet (and vice versa).
As far as I remember, there was only one implementation of TCP V3, I
think by Ford Aero, which couldn't find anyone to communicate with,
since the rest of us were very quickly running on the rapidly congealing
TCP4 architecture (which then produced the spec in June 78). Specs
always came well after code, when we knew the ideas and technical
approaches actually seemed to work OK in the live net.
As I recall, the main pressure for TCP-3 was a result of the DoD
standardizing on TCP, and needing a formal spec for inclusion in
contracts. The research group was reluctant (to put it mildly) to nail
things down with so many unresolved issues - which took another 6 months
or so to congeal into the TCP4 design.
There's some fascinating experiences in all of this with respect to the
challenge of taking a technology from research to production. The
research-side pattern was meeting, discussion, arguments, write the
code, get it working, repeat until interrupt: oh yeah, I guess we need
to write a spec. The production-side pattern was write the spec, get
everyone to approve it, issue rfps, issue contracts, write code, pass
the acceptance tests, deploy it to the users, see it it works.
Once TCP/IP got out of the realm where all of the implementors could sit
together in a room or on a mailing list and argue, it became harder to
change things. Research goals never seem to include "must be easily
upgradeable without disruption to current operations."
I think we all expected TCP V5, 6 etc. to come along in rapid succession
- certainly not decades! But once those pesky users enter the scene,
the world is different....as we learned in doing things like the
NCP->TCP transition in 1983 and all of the machinery and procedures that
had to be invented to make it work.
Point Arena, CA
On Sat, 2009-11-07 at 10:23 -0500, Vint Cerf wrote:
> i did some digging around.
> The first documented split of IP from TCP came with TCP v3 which was
> published as IEN21 in January 1978. The "internetwork header" showed a
> variable length (!) source and destination address field among other
> things, separate from the TCP header. This was subsequently revised in
> TCP 3.1 in Feb 1978 with IENs 26, 27, 28 and again, in June 1978 with
> IPv4 and TCPv4 in IENs 40 (TCP) and 41(IP).
> IPv5 was an excursion into streaming communication but was abandoned.
> On Nov 7, 2009, at 9:54 AM, Steve Wilcox wrote:
> > Well, "IP" was never of a particular version in the sense that IPv4
> > and IPv6 are compared - they are fundementally different protocols
> > with different ether-types, IP is the first such protocol not the
> > fourth (but the version within the protocol is 4).. (0x0800 which is
> > "IP" currently uses version "4" but IPv6 does not use an 0x0800
> > ethertype with version "6", it actually is a totally different
> > protocol)
> > I think you are right that the version just recorded the latest
> > version of the IP protocol packet at a time when these things were
> > subject to being changable. Whatever happened to 1, 2, 3 I'm sure
> > you have a better idea that I but what emerged was version=4. I
> > believe later versions were used as proposals for the IPng solution
> > but ultimately it was decided to invent a new addressing scheme and
> > ether protocol entirely and someone decided that calling it "v6" was
> > the way to go.
> > Searching for this throws up a lot of results which don't seem to be
> > correct.. I think what happened in the 90s and before is not well
> > recorded.. perhaps time to write it up? :-)
> > I certainly recall when I was getting into networking (during the
> > 90s) that "IP" was nothing special and many variants existed of
> > protocols such as IPX, DEC and within IP we had ether-II, snap, and
> > other things whose names escape me.. all of which seemed quite
> > normal at the time - unlike todays "IP" dominated world!
> > Steve
> > On Sat, Nov 7, 2009 at 2:28 PM, Vint Cerf <vint at google.com> wrote:
> > This is an incorrect assumption - IPv5 was simply the next
> > version after IPv4. As it happened, it didn't work out very
> > well (scaling problems as I recall) so it was abandoned.
> > IPv6 is, of course, the version with the larger address
> > space. There were no official IPv1 or IPv2 versions. I would
> > have to go back to double check whether we split off IP from
> > TCP at TCPv3 or TCPv4. If at v4 then there were never any
> > versions of IP until IPv4. We just numbered in parallel with
> > TCP because of the intimate linkage between the two
> > protocols.
> > vint
> > On Nov 7, 2009, at 12:47 AM, Michael Shields wrote:
> > > From http://www.whatismyip.com/ and many other sites:
> > >
> > > IP version 5: This is an experimental protocol for
> > > UNIX based systems. In keeping with standard UNIX
> > > (a computer Operating System) release conventions,
> > > all odd-numbered versions are considered
> > > experimental. It was never intended to be used by
> > > the general public.
> > >
> > >
> > > http://hb.corp.google.com/?mode=sent&sent=IP+version+5:
> > > +This+is+an+experimental+protocol+for+UNIX+based
> > > +systems.&xsent=IP+version+5:+This+is+an+experimental
> > > +protocol+for+UNIX+based+systems.&ref=1
> > --
> > Network Operations - Standards & Design
> > Google Inc.
> > E: stevewilcox at google.com
> > M: +44 7920 041930
More information about the internet-history