Monday, August 31, 2009

THE DESIGN PHILOSOPHY OF THE DARPA INTERNET PROTOCOLS

The paper describes some of the objective of Internet architecture and their relation with the main features of TCP/IP protocol suite
Top level goal: interconnect the existing networks (different transmission media, multi media network and administration entities) with high degree of integration
· Multiplexing: Packet switching
· Technique of the interconnection: gateways to store and forward the packets
Second level goal: desirable network features were listed in order of their importance to guide the design decision within Internet architecture
Survivability The approach for the first goal was fate sharing, which implies that the state information of transport level synchronization must be kept at the end point of network. This means implementation of datagram network
· Type of service with diverse requirements; speed and reliability
This goal resulted in separating the TCP/IP protocol into two layers and more than one transport service (TCP for reliable service and UDP for datagram services) were required to achieve this goal
· Varieties of Networks
· Distributed management
· Cost effective
While the long header of Internet packets, the mechanisms to implement desired type of service like retransmission and acknowledgement strategies impose cost
· Easy Host attachment
· Accountable resources

Implementation:
-Transporting datagram across underlying networks is one of fundamental Internet architecture that serves the first three goals
- The service that can be offered depends on the engineering of software within host and gateways, and to the particular network which have been incorporated
- The designer of Internet architecture must consider both logical correctness and performance

-In TCP, flow control and acknowledgment are based on the byte number

Sunday, August 30, 2009

END-TO-END ARGUMENTS IN SYSTEM DESIGN

The paper compares the end-to -end argument against low-level implementation with examples of reliable data transmission, guaranteed message delivery, encryption, duplication, and message sequencing.

For example, by the consideration of an application of file transfer between two hosts, there are many causes of threats that must be concerned even by some functions at low level (providing packet checksum and sequence number, retry mechanisms) or at application level ( end-to-end check and retry). While the end-to-end checking and retrying guarantee correct file transmission, communication system can reduce the frequency of retries by the application program and reduce the delay to correct the failures. If the communication system is unreliable, then the end-to-end checksum fails frequently. However, internal reliability within the communication system imposes a cost; bandwidth, and delay, especially for applications that don't require such enhancement since the communication system is common to different application programs.

The end-to-end argument has been applied on SWALLOW distributed data storage system, where suppression of duplicated message and providing delivery acknowledgement are implanted at the application level. This has resulted in reducing the number of message transmission to the half.
However, identifying the ends over the communication network and the knowledge of the application standing at the end point of the communication are very important for function placement and choose the argument should be applied.
Finally, the paper lists number of implementation of end-to-end argument ; of delivery acknowledgment, encryption, error control and correctness in application systems, etc.