The Internet was created primarily for military purposes. As the Internet evolved it became widely used specially in commercial systems. This paper by David D. Clark explains the reasons why its architecture is as it is, why the Internet protocol is a “dumb” protocol, and why the whole protocol is divided into layers (TCP/IP).
The paper discusses the Internet's goal which is to interconnect multiple large networks, mainly the ARPANET and the ARPA packet radio. It will utilize the most obvious and practical technique they saw at that time, the packet-switching technique using store and forward algorithm. Then it tackles the most important objectives such as survivability (of the network on failures) and types of services, which will dictate their decisions on the protocol design. Other objectives that are least significant (distributed management, accountability) are also tackled (almost a page).
At first I wonder if the author is involved on the Internet project because the tone of his/her reasoning is as if he is part of the project. Then I realized i'm correct, after reading the acknowledgements. The author carefully and completely explained the answers to the question from the abstract. IP is a connection-less protocol that is only concerned in routing and packet fragmentation (to fit through small networks). IP is designed as a building block for the layers above it (I just understood how important end to end arguments is). TCP splits from IP because TCP cannot support some services such as the cross-Internet debugger and the digitizes speech. TCP provides only byte-based flow control because they realized its sufficient enough compared to byte and packets, it takes advantage on one-large-packet retransmission for failure control, etc.
Protocols and standards are defined by the decisions of the researchers and engineers which are affected by objectives, the things they see what is possible using current technology and the things they can forsee what must be possible after some years. Some application layer protocols have accountability as one of their objectives so the design and implementation of the engineers includes accounting to track the consumption of network resources by users. Relatively new protocol such as SCTP emerges to replace TCP and UDP. But even SCTP offers more powerful services and security, migration is costly, and old protocols still get the job done, eg. TCP reliability is still justified. (I was in a simulation project for 4 months (before I resigned because of personal issues ^^) which uses the Diameter-base protocol, and out of curiosity I read a lot about stuff like AAA protocols and the SCTP protocol)
This paper is a must read for network researcher wannabes. It describes the reasons why the Internet architecture is built this way and not that way.
No comments:
Post a Comment