Thirty years have passed since the Internet Protocol was first described in a series of technical documents written by early experimenters. Since then, countless engineers have created systems and applications that rely on IP as the communications link between people and their computers.
Hereโs the rub: IP has continued to evolve, but no one has been carefully documenting all of the changes.
โThe IP model is not this static thing,โ explains Dave Thaler, a member of the Internet Architecture Board and a software architect for Microsoft. โItโs something that has changed over the years, and it continues to change.โ
Thaler gave the plenary address Wednesday at a meeting of the Internet Engineering Task Force, the Internetโs premier standards body. Thalerโs talk was adapted from a document the IAB has drafted entitled โEvolution of the IP Model.โ
โSince 1978, many applications and upper layer protocols have evolved around various assumptions that are not listed in one place, not necessarily well known, not thought about when making changes, and increasingly not even true,โ Thaler said. โThe goal of the IABโs work is to collect the assumptions โ or increasingly myths โ in one place, to document to what extent they are true, and to provide some guidance to the community.โ
The following list of myths about how the Internet works is adapted from Thalerโs talk:
1. If I can reach you, you can reach me.
Thaler dubs this myth, โreachability is symmetric,โ and says many Internet applications assume that if Host A can contact Host B, then the opposite must be true.
Applications use this assumption when they have request-response or callback functions. This assumption isnโt always true because middleboxes such as network address translators (NAT) and firewalls get in the way of IP communications, and it doesnโt always work with 802.11 wireless LANs or satellite links.
2. If I can reach you, and you can reach her, then I can reach her.
Thaler calls this theory โreachability is transitive,โ and says it is applied when applications do referrals. Like the first myth, this assumption isnโt always true today because of middleboxes such as NATs and firewalls as well as with 802.11 wireless and satellite transmissions.
3. Multicast always works.
Multicast allows you to send communications out to many systems simultaneously as long as the receivers indicate they can accept the communication. Many applications assume that multicast works within all types of links. But that isnโt always true with 802.11 wireless LANs or across tunneling mechanisms such as Teredo or 6to4.
4. The time it takes to initiate communications between two systems is what youโll see throughout the communication.
Thaler says many applications assume that the end-to-end delay of the first packet sent to a destination is typical of what will be experienced afterwards. For example, many applications ping servers and select the one that responds first.
However, the first packet may have additional latency because of the look-ups it does. So applications may choose longer paths and have slower response times using this assumption. Increasingly, applications such as Mobile IPv6 and Protocol Independent Multicast send packets on one path and then switch to a shorter, faster path.