Title: The%20Internet:%20Packet%20Switching%20and%20Other%20Big%20Ideas
1The InternetPacket Switching and Other Big Ideas
2The Internet
1969 4 nodes
2004 100s of millions
3The Internet
- Clearly a huge success in terms of not only
impact but also scalability - Some (not all) of the basic notions have scaled
over eight orders of magnitude - What were underlying big ideas? Lets say
- Packet switching
- End-to-end principle
- Internet community standards process
- Also other important algorithms, e.g.
- Routing, naming, multicast
- Common thread (fairly) robust emergent behaviors
from simple local strategies
4Overview
- Birth of the Internet
- Packet switching
- Process and governance
- End-to-end principle
- E.g., congestion avoidance and control
- Decentralized, adaptive algorithms
- Routing
- Naming
- Multicast
5Simple Switching Network
6Problem Statement
- Many stations connected by point-to-point
connections (with some redundancy) - Enable any station to send messages to any
other station, despite diverse failure modes - And further
- Be efficient in use of network resources
- Support stations of diverse capabilities
- Support diverse applications behaviors,
including many not yet known (!)
7Traditional ApproachCircuit Switching
- A dedicated communication path between the two
stations - Communication involves
- Circuit Establishment
- Point to Point from terminal node to network
- Internal Switching and multiplexing among
switching nodes. - Data Transfer
- Circuit Disconnect
- E.g., the telephone network
8Circuit Switching
- Once connection is established
- Network is transparent
- Nodes seems to be directly connected
- Fixed data rate with no delay
- However
- Can be inefficient resources are dedicated to
connection even if no data is sent - Delay prior to usage of connection
9Public Switching Telecommunication Network
- The generic component of the public switching
telecommunication network is divided into - Subscribers
- Local loop (connects subscribers to the network)
- Exchange (switching centers)
- (end office)
- Trunks (connection between exchanges)
- (carry multiple voice channels using FDM or
STDM)
10History of the InternetApplication Pull
- Emergence of (timeshared) computers supporting
interactive use - J.C.R. Licklider of MIT, proposes a global
network of computers - L.C.R. Licklider W. Clark, "On-Line Man
Computer Communication", August 1962. - A globally interconnected set of computers
through which everyone could quickly access data
and programs from any site - Moves to the Advanced Research Projects Agency
(ARPA) late in 1962 - Lobbies to realize his vision
11Licklider As VisionaryMan-Computer Symbiosis
(1960)
- is an expected development in cooperative
interaction between men and electronic computers.
The main aims are - to let computers facilitate formulative thinking
as they now facilitate the solution of formulated
problems, and - to enable men and computers to cooperate in
making decisions and controlling complex
situations without inflexible dependence on
predetermined programs.
12Technology Push
- 1962 Paul Baran
- Commissioned by the U.S. Air Force to study how
it could maintain command and control over its
missiles and bombers after a nuclear attack - Invents packet switching ideas (but talks about a
Distributed Adaptive Message Block Network) - 1961-65 Leonard Kleinrock (MIT ? UCLA)
- Develops the theory of packet switching
- 1965 Donald Davies in the UK
- Independently invents packet switching, coins
the term packet
13Baran (1964)
- There is an increasingly repeated statement made
that one day we will require more capacity for
data transmission than needed for analog voice
transmission. If this statement is correct, then
it would appear prudent to broaden our planning
consideration to include new concepts for future
data network directions. Otherwise, we may
stumble into being boxed in with the
uncomfortable restraints of communications links
and switches originally designed for high quality
analog transmission. New digital computer
techniques using redundancy make cheap unreliable
links potentially usable. A new switched network
compatible with these links appears appropriate
to meet the upcoming demand for digital service.
This network is best designed for data
transmission and for survivability at the outset.
14 Baran (1964)
- The requirements for a future all-digital-data
distributed network which provides common user
service for a wide range of users having
different requirements is considered. The use of
a standard format message block permits building
relatively simple switching mechanisms using an
adaptive store-and-forward routing policy to
handle all forms of digital data including
"real-time" voice. This network rapidly responds
to changes in the network status. Recent history
of measured network traffic is used to modify
path selection. Simulation results are shown to
indicate that highly efficient routing can be
performed by local control without the necessity
for any central--and therefore vulnerable--control
point.
15Barans ProposalA Packet Switched Network
- Packet switching is the breaking down of data
into datagrams or packets that are labeled to
indicate the origin and the destination of the
information and the forwarding of these packets
from one computer to another computer until the
information arrives at its final destination
computer. This was crucial to the realization of
a computer network. If packets are lost at any
given point, the message can be resent by the
originator.
16Packet Switching
- Basic idea
- Data to be transmitted is divided into small
packets of information and labeled to identify
the sender and recipient - Sent over a network and then reassembled at their
destination - If any packet did not arrive or was not intact,
original sender requested to resend the packet - Note that this implies (relative to circuit
switching) - Less state at intermediate nodes
- More flexibility in end system behaviors
- More efficient use of networks
- More sophistication at end points
17The Importance ofTechnology Trends
- Packet switching was arguably a logical
consequence of Moores law - Computers became fast enough to enable smart
terminals able to perform substantial processing
18Theoretical Underpinnings
- Packet switching was new andradical in the
1960s. In order to planto spend millions of
dollars andstake my reputation, I needed
tounderstand that it would work.Without
Kleinrocks work onNetworks and Queuing Theory,
Icould never have taken such a radicalstep. All
the communicationscommunity argued that it
couldntwork. This book was critical to
mystanding up to them and betting thatit would
work. - Larry Roberts
191969 Press ReleaseUCLA to be the First Station
in Nationwide Computer Network
- "As of now, computer networks are still in
their infancy," says Dr. Kleinrock. "But as they
grow up and become more sophisticated, we will
probably see the spread of 'computer utilities'
which, like present electric and telephone
utilities, will service individual homes and
offices across the country.
20History of the Internet
- 1968 ARPA awarded the ARPANET contract to BBN.
BBN had selected a Honeywell minicomputer as the
base on which they would build the switch. The
physical network was constructed in 1969, linking
four nodes University of California at Los
Angeles, SRI (in Stanford), University of
California at Santa Barbara, and University of
Utah. The network was wired together via 50 Kbps
circuits. - Backbones 50Kbps ARPANET - Hosts 4
- 1972 First e-mail program created by Ray
Tomlinson of BBN.ARPANET used the Network
Control Protocol or NCP to transfer data. This
allowed communications between hosts running on
the same network. - Backbones 50Kbps ARPANET - Hosts 23
- 1973 Development began on the protocol to be
called TCP/IP, by a group headed by Vint Cerf
from Stanford and Bob Kahn from ARPA. This new
protocol was to allow diverse computer networks
to interconnect and communicate with each other. - Backbones 50Kbps ARPANET - Hosts 23
21History of the Internet
- 1974 First Use of term Internet by Vint Cerf and
Bob Kahn in paper on Transmission Control
Protocol. - Backbones 50Kbps ARPANET - Hosts 23
- 1976 Dr. Robert M. Metcalfe develops Ethernet,
which allowed coaxial cable to move data
extremely fast. This was a crucial component to
the development of LANs.The packet satellite
project went into practical use. SATNET, Atlantic
packet Satellite network, was born.UUCP
(Unix-to-Unix CoPy) developed at ATT Bell Labs
and distributed with UNIX one year later.DOD
began to experiment with the TCP/IP protocol and
soon decided to require it for use on ARPANET - Backbones 50Kbps ARPANET, plus satellite and
radio connections - Hosts 111
22History of the Internet
- 1979 USENET (the decentralized news group
network) created based on UUCP. BITNET
introduced the "store and forward" network, used
for email and listservs. - Backbones 50Kbps ARPANET, plus satellite and
radio connections - Hosts 111 - 1981 NSF created backbone called CSNET 56 Kbps
network for institutions without access to
ARPANET. - Backbones 50Kbps ARPANET, 56Kbps CSNET, plus
satellite and radio connections - Hosts 213 - 1983 Internet Activities Board (IAB)
created.On January 1st, every machine connected
to ARPANET had to use TCP/IP. TCP/IP became the
core Internet protocol and replaced NCP
entirely.University of Wisconsin created Domain
Name System (DNS), which translated domain names
into corresponding IP numbers. No need to
remember numbers! - Backbones 50Kbps ARPANET, 56Kbps CSNET, plus
satellite and radio connections - Hosts 562
23Process and Governance
- A key to the rapid growth of the Internet has
been the free and open access to the basic
documents, especially the specifications of the
protocols - Request for Comments (RFC) documents
- Rough Consensus and Running Code
- Frequent face-to-face meetings
- Heavy use of email
- Emphasis on implementation experiences
24RFCs For Example
- RFC 791
- INTERNET PROTOCOL
- DARPA INTERNET PROGRAM
- PROTOCOL SPECIFICATION
- September 1981
- This document specifies the DoD Standard Internet
Protocol. This - document is based on six earlier editions of the
ARPA Internet Protocol - Specification, and the present text draws heavily
from them. There have - been many contributors to this work both in terms
of concepts and in - terms of text. This edition revises aspects of
addressing, error - handling, option codes, and the security,
precedence, compartments, and - handling restriction features of the internet
protocol.
25And
- Network Working Group
D. Waitzman - Request for Comments 1149
BBN STC -
1 April 1990 - A Standard for the Transmission of IP
Datagrams on Avian Carriers - Status of this Memo
- This memo describes an experimental method for
the encapsulation of - IP datagrams in avian carriers. This
specification is primarily - useful in Metropolitan Area Networks. This is
an experimental, not - recommended standard. Distribution of this
memo is unlimited. - Overview and Rationale
- Avian carriers can provide high delay, low
throughput, and low - altitude service. The connection topology is
limited to a single - point-to-point path for each carrier, used
with standard carriers, - but many carriers can be used without
significant interference with - each other, outside of early spring. This is
because of the 3D ether - space available to the carriers, in contrast
to the 1D ether used by
26Overview
- Birth of the Internet
- Packet switching
- Process and governance
- End-to-end principle
- E.g., congestion avoidance and control
- Decentralized, adaptive algorithms
- Routing
- Naming
- Multicast
27GeneralizingThe End-to-End Principle
- Reliable systems tend to require end-to-end
processing to operate correctly, in addition to
any processing in intermediate systems - End-to-end processing alone suffices to make the
system operate intermediate processing stages
are largely redundant - Thus, intermediate processing can be made
simpler, relying on end-to-end processing to make
the system work - This leads to the model of a dumb network with
smart terminals, a completely different model to
the previous paradigm of the smart network with
dumb terminals
28End-to-End Principle AppliedEnd-to-End Transport
- Dumb network each node repeatedly
- Receives a packet, with destination info
- Forwards it towards destination, if it can, with
time to live decremented - Note Must maintain routing information
- Smart terminals are responsible for
- Generating packets
- Receiving packets
- Detecting and dealing with out of order and
missing packets
29Datagram Lifetime
- Datagrams could loop indefinitely
- Consumes resources
- Transport protocol may need upper bound on
datagram life - Datagram marked with lifetime
- Time To Live field in IP
- Once lifetime expires, datagram discarded (not
forwarded) - Hop count
- Decrement time to live on passing through each
router - Time count
- Need to know how long since last router
30IP Fragmentation
- IP re-assembles at destination only
- Uses fields in header
- Data Unit Identifier (ID)
- Identifies end system originated datagram
- Source and destination address
- Protocol layer generating data (e.g., TCP)
- Identification supplied by that layer
- Data length
- Length of user data in octets
- Offset
- Position of fragment of user data in original
datagram - In multiples of 64 bits (8 octets)
- More flag
- Indicates that this is not the last fragment
31IPv4 Header
32Dealing with Failure
- Re-assembly may fail if some fragments get lost
- Need to detect failure
- Re-assembly time out
- Assigned to first fragment to arrive
- If timeout expires before all fragments arrive,
discard partial data - Use packet lifetime (time to live in IP)
- If time to live runs out, kill partial data
33Virtual Circuit vs. Datagram
- Datagram
- Each packet is treated independently.
- Each packet has a full address of the destination
- Routing decision is taken for each packet at each
node - Different packets of one message may take
different routes - Virtual Circuit
- A connection is setup prior to data transfer
- Each packet contains a VC identifier
- Routing decision is made once for all packets
- All packets follow the same route
34Virtual Circuit vs. Datagram
- Virtual Circuit
- Transmission order preserved
- Error control is provided
- One routing decision per connection
- Receiver prepared for transmission
- Delays in making a connection
- Poor adaptation to node failure
- Poor spreading of load
- Datagram
- Call setup time is avoided
- Fast adaptation to congestion control
- Fast adaptation to node failure
- Transmission order is not preserved
- High load due to route processing (decision per
packet) - Receiver has no preparation for incoming
transmissions
35Why Packetize
- For end-to-end route compromising of many links,
packetizing allows for parts of message to be
received, processed, and forwarded while others
are still being prepared - Amount of retransmitted data due to errors is
reduced - Memory capacity of internal network nodes can be
reduced - Transmission time can be reduced
36Effect of Packet Size on Transmission Time
37Circuit Switching vs. Packet Switching
38SummaryBig Ideas Underlying the Internet
- Packet switching
- Flexible, robust, efficient (in the network)
- Enabled by smart terminals
- End-to-end arguments in system design
- E.g., reliable in-order delivery via TCP
- Rough consensus and running code
- As a means of creating and evolving a complex
artifact
39Further Reading
- Introduction to distributed communication network
- http//www.rand.org/publications/RM/RM3420
- A digital communications network for computers
- http//portal.acm.org/citation.cfm?id800001.81166
9 - The Evolution of Packet Switching
- http//www.packet.cc/files/ev-packet-sw.html
- End-to-end arguments in system design
- http//citeseer.nj.nec.com/saltzer84endtoend.html
40Assignment
- 1) Compare the delay in sending an x-bit message
over a k-hop path in a circuit-switched network
and in a (lightly loaded) packet-switched
network. The circuit setup time is s sec, the
propagation delay is d sec per hop, the packet
size is p bits, and the data rate is b bps. Under
what conditions does the packet network have a
lower delay? - 2) Suppose that x bits of user data are to be
transmitted over a k-hop path in a
packet-switched network as a series of packets,
each containing p data bits and h header bits,
with x gtgt ph. The bit rate of the lines is b bps
and the propagation delay is negligible. What
value of p minimizes the total delay? - 3) Calculate the total time required to transfer
a 1.5-MB file in the following cases, assuming a
round trip time (RTT) of 80 ms, a packet size of
1 KB and an initial 2 x RTT of "hand-shaking"
before data is sent. - The bandwidth is 10 Mbps, and data packets can be
sent continuously. - The bandwidth is 10 Mbps, but after we finish
sending each data packet we must wait one RTT
before sending the next. - The link allows infinitely fast transmit, but
limits bandwidth such that only 20 packets can be
sent per RTT. - Zero transmit time as in (c), but during the
first RTT we can send one packet, during the
second RTT we can send two packets, during the
third we can send four 2(3-1), and so on.