|
August 24, 1998
Standards Never Die
I've been really busy over the past couple of months, writing a variety
of articles on new networking technologies for various trade publications,
and slaving away on my Internet Protocols book for O'Reilly. As you can
probably imagine, a big part of this work has involved heavy research
into the various networking standards and protocols that keep our networks
working.
Protocols are really interesting to me, partly because of the functionality
that they provide, but also because they present unique problems whenever
they need to be enhanced. Some protocols have support for future enhancements
designed in from the start, leaving plenty of room for improvement while
also maintaining backwards compatibility. Conversely, many of the older
protocols have extraordinarily rigid structures that provide no opportunities
for modification without breaking interoperability altogether.
Support for forward-compatibility inside of networking protocols is
starting to become a really critical issue, particularly as new technologies
that push the envelope of network utilization are being deployed. As
a result, many of the core elements of today's data networks are being
retrofitted to allow these new technologies to work reliably. In some
cases, entirely new protocols are being developed to get around those
protocols that are so inflexible that they cannot accommodate any sort
of tweaking.
In all these cases, the fundamental issue revolves around the options
for dealing with outmoded technologies. This is similar conceptually
to the issues surrounding installed base management and migration for
just about any kind of product, whether it be productivity applications
or computer systems. We've all felt this kind of pain directly in the
past. However, we're about to go through some major changes in the networking
space which will make those efforts pale in comparison.
New VoIP Technologies
One of the articles that I just finished is a feature on Voice-over-IP,
looking at the various technologies and implementations available today,
and how they impact traditional data networks (this article will run
in Network Computing later this fall). By far, the most widely-implemented
standard today is H.323,
an ITU standard for transmitting audio over packet-based networks like
IP.
Just about everybody agrees that H.323 is a lousy standard, particularly
when you look at it from an IP-centric perspective. The nature of the
protocol is such that any node can contact any other node directly, with
both systems dynamically negotiating the TCP and UDP ports that they
will use for the duration of the call. As such, H.323 calls don't use
fixed port numbers like most other Internet-based protocols, resulting
in all
kinds of problems for firewalls (you have to open every TCP and UDP
port on your firewall if you want bi-directional calling), as well as
for network address translators, IP gateways and other technologies that
rely on fixed port numbers.
Yet, H.323 is the only workable standard today, so vendors have to
support it if they want to be taken seriously. Most are doing so, but
are also saying they'll drop it like a bad habit once something else
becomes widely available. Among the alternatives currently being proposed
are the Session Initialization
Protocol (SIP), the Simple Gateway
Control Protocol (SGCP) and the Internet
Protocol Device Control (IPDC) protocol, each of which promise to
make VoIP easier to deploy and manage in complex, multi-vendor installations.
Unfortunately, all of these protocols are extraordinarily new, with
the ink on the proposals barely even dry. It will be at least a year
before these alternatives make it through the first-round of RFC negotiations,
and probably two or three years before they are functional enough to
compete with H.323 on even footing.
But in the meantime, the number of H.323 implementations is likely
to go through the roof, as more vendors build support for the one working
standard into their current offerings. As a result of this rapid adoption,
H.323 will likely become tomorrow's de riguer standard, rather
than just a de facto one for today. In the end, nobody will be
able to drop H.323 from their products, regardless of the alternatives
available, because it will be so pervasive. So even if H.323 sucks, it'll
be around for years and years, proving that standards are harder to kill
than anybody wants them to be.
Another example of this ghost effect can be found with POP and IMAP.
Although IMAP is vastly superior to POP in almost every regard, and although
most of the e-mail systems available today support IMAP, no vendor would
imagine trying to release a product that didn't support POP. It's a de
riguer standard with far too many implementations -- and far too
large of an installed base -- to be ignored. In five years time, H.323
will look much the same.
The New Ethernet
Sometimes wide-scale deployment is such a huge thorn that you don't
even have the option of replacing a legacy architecture with better alternatives.
One example of this can be found with Ethernet, arguably the most widely-deployed
protocol on the planet, which cannot simply be replaced with an entirely
new protocol. Instead, any enhancements to Ethernet have to be implemented
using the architecture of the existing protocol, allowing legacy infrastructure
equipment (e.g., hubs) to continue working. This can get pretty tricky,
since Ethernet's design doesn't really allow changes to be made easily.
We've already seen this in action with Ethernet II and 802.3, two fairly
different protocols that have to use the same header structures in order
to peacefully co-exist on the network. In fact, these frames are so much
alike that the only way networking equipment can tell them apart is by examining
the value of the ethertype/length field. This is a hack, almost by
definition, but it works and there are no better alternatives for getting
around the limitations inherint with the Ethernet architecture while
also maintaining compatibility with legacy equipment.
This trickery is also being used to implement the new IEEE
802.1Q standard, a protocol that provides standardized VLAN and
prioritization capabilites to Ethernet networks through four new bytes
of data in the header. Although this changes the fundamental design
of the frame's header, it also allows end-station equipment to continue
using mathematics to figure out the frame's contents, without breaking
infrastructure equipment at the same time. With this design, 802.1Q
frames appear to contain data for ethertype "8100" networks,
so if an 802.1Q-compliant end-station sees an ethertype of 8100, it
can pretty much assume that the frame is formatted for 802.1Q data (and
then conduct additional tests to verify the assumption). But older hubs
and repeaters won't be affected, since the frame still looks like Ethernet.
The downside of this design is that older end-stations can't see whatever
data is inside the 802.1Q frame. Thus, print servers won't see print
jobs submitted by 802.1Q devices, database clients won't find servers
with 802.1Q adapters, and a host of other problems will arise from mixing
and matching old and new gear together without careful planning. To keep
these problems at a minimum, most of the 802.1Q switch vendors will be
providing support for legacy equipment on a per-port basis, stripping
the excess header data from 802.1Q traffic that is being sent to a legacy
device. However, users who don't deploy these new switches will surely
have problems, and we can expect to see lots of ink being spilled on
this issue for the next two or three years at least.
Lots of minor (yet indicative) problems are already starting to crop
up from the use of 802.1Q frames, particularly in the network management
space. All of the protocol analyzers in use today don't support 802.1Q
of course, so they aren't able to decode the frame's contents either,
making network diagnostics more difficult when problems do crop
up from the deployment of 802.1Q equipment. Also, it turns out that the
8100 ethertype was used by Wellfleet at one time, so network management
consoles are now showing sudden increases in "Wellfleet" traffic,
which is causing a fair amount of consternation for users with nothing
but Cisco routers, to say the least.
So, interoperability will definitely be an issue, and bringing the
entire industry up to speed on the technology will be expensive and time-consuming.
But given that Ethernet doesn't provide for different datatypes and versions
directly, this is about the best we can expect while also maintaining
basic compatibility with the existing infrastructure equipment. Such
is the price you pay for wide-spread deployment.
The New IP TOS Byte
Another widely-deployed protocol undergoing some dramatic changes is
IP. Unlike Ethernet however, IP already provides lots of mechanisms for
extending the basic functionality of the protocol without breaking backwards
compatibility. You can add new functionality fairly easily, without having
to jump through hoops to do it.
The best-known method for this is the use of version numbers, with IPv4 being
a distinct entity separate and apart from IPv6.
Another mechanism that is available within IPv4 is the use of a 40-byte "options" field
in the packet's header, allowing new extensions to be added in without
affecting the rest of the packet. Meanwhile, IPv6 offers even more flexibility,
providing support for the use of "extension headers" that let
the packet contain as many "options" as needed, without constraining
them to the 40 bytes of excess header space provided in IPv4.
Unfortunately, these compatibility services aren't always utilized.
One example of this is the work being done by the Differential
Services Working Group (diffserv), which is changing the defined
usage of the IPv4 Type-of-Service field, rather than incorporate one
of these other services. Worse, nothing is being done to indicate that
the IP header is being changed, providing no way for equipment to discern
that a new header design is in use.
The diffserv working group leaders say that this will not be much of
a problem, since the TOS byte has historically gone unused. While this
was true at one time, there is a growing level of support for the TOS
byte among the vendor and user communities, with many new products (and
end-user networks) leveraging it fully. What we are seeing here is a
repeat of the H.323 scenario, where people who need IP
prioritization services today are turning to TOS, simply because
it is the only working standard available now. By the time diffserv is
widely deployed in routers and end-nodes alike, TOS will be the overwhelmingly
predominant prioritization scheme in use, making support for it essential
and inescapable. Co-existence is going to be a very big issue in three
years time.
And remember the interoperability problems with 802.1Q? Unless things
change, we are going to see a host of interoperability problems that
could have been avoided through some sort of indication that the packet
wasn't 791-compliant. Since diffserv devices will be replacing the contents
of the TOS byte without marking the packets as being any different, there
will be no way for protocol analyzers, routers and end-systems to tell
what the packets contains. Maybe those urgent packets contain TOS data
set by the originating system, or maybe they contain diffserv data set
by an intermediate network. Who knows? At least with Ethernet we were
given some sort of indicator as to the type of packet in use, but with
diffserv we're left to guess that maybe something happened somewhere
along the way. For organizations trying to use the Internet for WAN services,
a lack of some sort of indicator is going to be simply unacceptable.
What's most interesting here is that there are so many choices for
incorporating changes into IP without breaking the current specs, and
that these services are being ignored. One such method for preserving
interoperability would be to place diffserv data into an IPv4 option
or an IPv6 sub-header. Another method would be to flip the last bit of
the TOS byte (currently unused), so that newer equipment could tell which
kind of packet it was. Any of these would be satisfactory solutions,
providing backwards compatibility while allowing us to move forward with
necessary improvements. What is unacceptable is making changes to the
header without providing some sort of clue that the packet is no longer
compliant with the spec.
Standards Never Die
Once a standard gains footing, it's here to stay. You can try your
best to replace it with alternatives (a la IMAP and IPv6), or
you can pull rabbits out of a hat to smooth the transition as much as
possible (a la 802.1Q), but it'll be years before the older stuff
goes away entirely. If you go back and look at the state-of-the-art equipment
from twenty years ago -- whether this be protocols or minicomputers or
wiring rigs or anything else -- I guarantee that you'll find somebody
somewhere that's still using it today (such as the FAA).
This is why it's so important to plan for future enhancements in protocol
design, and why it's even more important to utilize these services when
a protocol is modified. Although it is feasible to have somebody in a
position of authority mandate that everyone shall upgrade on or by this
date if they want to be supported by the corporate help desk, this kind
of dictatorial approach just doesn't work outside of a single organization.
In particular, it never flies with stuff like IPv4, where there are millions
of nodes around the world, many of which won't be upgraded for years
to come.
The good news here is that most of the more-recent protocols are being
designed for future expansion capabilities in mind. IMAP and LDAP are
two such examples, providing mechanisms whereby clients and servers can
negotiate the specific versions that they want to use, rather than forcing
everything to be at the same revision (like POP2 and POP3, which require
different port numbers to ensure compatibility). These forward-looking
designs should make transitioning to the third and fourth generation
protocols much smoother than the current migration is going.
Regards,
Eric A. Hall
President, EHS Company
Written by Eric
A. Hall.
Copyright © 1998, EHS Company. net.Opinion is a trademark of EHS
Company. All rights reserved.
|