Design Philosophy of the DARPA Internet Protocols CSCI 634, Fall 2010 Fundamental goals (top-level) High utilization by multiplex Packet switching Inter-connect heterogeneous networks Gateway: store and forward packets These two determine the structure of Internet Second level goals Fault-tolerance (V) Support multiple type of services (X) Accommodate a variety of networks (V) Distributed resource management (V) Cost-effective (V) Easy host attachment (V)) Accountability (X) Fate-sharing Only end-point maintains the states We lose the state information associated with the end-host, only when the end-host itself is dead Gateways are stateless Tolerate any number of intermediate failures Much easy to engineer than replication Type of service TCP supports reliable sequenced data delivery Virtual circuit UDP provides the basic datagram service Multiple services could be constructed out of basic datagram building block Not as easy as expected Lack of flexibility Varieties of networks X.25 networks Ethernet, token-ring Satellite nets Wireless networks Key to flexibility: making a minimum assumptions about the function that the net will provide Architecture & Implementation Flexibility: various realization Challenge: how to relate realization to the proposed service ? Performance! Performance!! Still Performance!!! That is why we need networking research! Internet Architecture: Datagram No individual connection state is maintained at routers Datagram is a basic building block Datagram represents the minimum network service assumption TCP design decision Flow control and acknowledgement are bytebased, not packet-based Insert control information into sequence space (X) Broken into smaller packets (X) Small packets can be gathered into one larger packet More accurate estimation of throughput No EOL (End-Of-Letter) flag Summary (many great points) More attention to Accounting Resource management Operations of different ASes (BGP) Better building block than datagram Flow-based Soft-state