Archives for February 2009
Borked n. Something is “borked” when it doesn’t work correctly, broken or misbehaves, generally due to negligence by the person(s) that are responsible for it.
Probably derived from the Swedish Chef in the Muppets “bork bork bork” and the geek ethos for misspeaking words like “something is broke” instead of “broken” or describing the Internet as “internets”.
Reference Urban Dictionary
IP Version 5 (IPv5) was a IP-layer protocol that provides end-to-end guaranteed service across a network. That is, it was compatible with IP at the network layer but was built to provide a Quality of Service for streaming services.
The attempt at Quality of Service looks very similar to Resource Reservation Protocol (RSVP) in that state was maintained in every router in the network. Like every other QoS strategy, it failed miserably in a gibbering heap of network state because everyone ignored it.
IP Version 5.0
RFC1190 defines it as the following (Note: ST is the name used for Internet Stream Protocol and assigned IPv5 sometime later).
ST incorporates the concept of streams across an internet. Every intervening ST entity maintains state information for each stream that passes through it. The stream state includes forwarding information, including multicast support for efficiency, and resource information, which allows network or link bandwidth and queues to be assigned to a specific stream. This pre-allocation of resources allows data packets to be forwarded with low delay, low overhead, and a low probability of loss due to congestion. The characteristics of a stream, such as the number and location of the endpoints, and the bandwidth required, may be modified during the lifetime of the stream. This allows ST to give a real time application the guaranteed and predictable communication characteristics it requires, and is a good vehicle to support an application whose communications requirements are relatively predictable.
I think this ISO model representation tells you most of what you want to know:
The failure of state based QoS happened more than once then
Of course, RSVP was not a success because the overhead of maintaining state effectively impossible. It is worth noting the overhead was not just the CPU and Memory required to maintain state, but also the the service collapse in the event of a failure condition. That is, if a router has 1000 RSVP sessions and it is rebooted, what happens to the state of those QoS reservations ? Is there a failover path and can that path also guarantee the same QoS reservations ? How is this information replicated and would it interrupt the voice and video flows while this failover occurred ?
And there was no model for creating money from QoS. Even today, there is little emphasis on Internet service, and the low margins of ISP’s meant no-one was going invest in building it.
The final nail in the stateful QoS model was that many Internet routers at the end of 1990’s did not have enough memory to hold the BGP routing table, much less hold RSVP information for thousands of flows.
Scratch the Surface of IPv5
A few bullet points about IPv5 just to satisfy my interest:
- established the concept of using control or setup channels to establish transmission of video or voice stream, and various signalling for QoS checking (think H323)
- Used IPv4 addressing – smart, easy to get adoption.
- ST messages could be encapsulated into IPv4 – IPv6 uses this idea
- fully compatible with existing Layer 2 – token ring, FDDI, Ethernet, ATM etc
- RTP would use ST2 as a transport layer – today RTCP is the transport layer.
- defined Packet Video Protocol and Network Voice Protocol – this seems a lot like H323 with a quick look.
- first published in the late 1970’s, so had an adoption cycle like IPv6 – 20 years in the making.
Where the IPv5 bit ?
In RFC1700 you can see that RFC1190 was assigned Internet Version Number 5 sometime in 1994, thus making it IP Version 5. Also worth noting that IPv7, IPv8 and IPv9 have been allocated. So the next one is IPvX.
Assigned Internet Version Numbers
Decimal Keyword Version References
0 Reserved [JBP]
1-3 Unassigned [JBP]
4 IP Internet Protocol [RFC791,JBP]
5 ST ST Datagram Mode [RFC1190,JWF]
6 SIP Simple Internet Protocol [RH6]
7 TP/IX TP/IX: The Next Internet [RXU]
8 PIP The P Internet Protocol [PXF]
9 TUBA TUBA [RXC]
10-14 Unassigned [JBP]
15 Reserved [JBP]
Wrap It Up
It seems that the IPv5 was a major piece of work, and quite a bit of testing was done and various backbones were built and implementations on several OS’s were released. I don’t know anything other than what is in the RFCs and I have listed them below.
Cisco Self Study : Implementing IPv6 Networks
RFC1819 Internet Stream Protocol Version 2 (ST2) Protocol Specification – Version ST2+
RFC1190 Experimental Internet Stream Protocol, Version 2 (ST-II) (obsoleted by RFC1819
RFC1700 Assigned Numbers