Lecture-02-overview tcp-ip stack-part 2

  • 32 trang
  • file .pdf
Design of ARPANET
• History
– Created by Department of Defense (DoD) during Cold War
– World’s first operational packet switching network
– Predecessor of the Internet
– Four IMPs – first generation of routers (UCLA, Stanford, UCSB, U. of Utah)
– First message sent over ARPANET 1969 (by UCLA student Charley Kline,
supervised by Professor Leonard Kleinrock)
• First routing algorithm:
– 1969
– Distance Vector (Bellman-Ford)
• Next:
– 1979
– D-SPF (Link State):
• Averaged delay measurement as link cost
• Over a 10s period
WNC 2011 1
Design of ARPANET (cont.)
• Revised Metrics:
– Link cost in term of hops
– Good paths vs. best path
• Congestion Avoidance:
– Congestion Collapses: 1986, 32Kbpsà40bps
WNC 2011 2
Original Goals of DARPA Internet
• Top level goal:
– Effectively Inter-connect different existing networks
• Second level goal (in order of importance):
– Survivability (routing, state/stateless)
– Multiple type services
– Variety of networks
– Dist. management of its resources
– Cost effective (small/large packet with header
– Host attachment
– Accountable
• Why in this order?
WNC 2011 3
Link State Routing
• Dijkstra’s algorithm
• Assumed each node knows its directly attached neighbors and the
corresponding distance to each neighbor
– Each router tells the world about its neighbors
• Each node broadcasts these distance to the whole network
• Each node eventually has an identical and complete view of the
– Track the status and connection type of each links
– Produces a calculated metric based on these and other factors
• Each node runs the Dijkstra’s algorithm to compute the least cost
– May take a path which has more hops, but that uses a faster medium
over a path using a slower medium with fewer hops
WNC 2011 4
Distance Vector Algorithm
• Each node sends information to its directly
• No global view
• Each node only knows the information
about the directly neighbor
WNC 2011 5
Which One is Better?
• Link State Routing
– Global
– Flood (number of messages exchanged, new update must be sent to
– Scale (complete map)
– No count to infinitive problem
– Require more processing power and memory
• Distance Vector Routing
– Distributed
– Less flood (messages are sent at each iteration only if link cost of
neighbors are changed)
– Convergence time
– Count to infinitive problem
– Simpler à require simpler hardware
WNC 2011 6
Hierarchical Routing
• Millions, billions of computer
• How to route?
– Scale: Number of messages exchanged, time
– Administrative autonomy: hiding, preference routing,
which routing algorithm to use?
• Aggregating routers into AS (Autonomous
– Router within the same AS all run the same routing
algorithm (intra-AS routing)
– Routing between AS using inter-AS routing protocol
WNC 2011 7
Intra-AS routing
• RIP (Routing Information Protocol)
– Distance Vector Algorithm
• OSPF (Open Shortest Path First):
– Link State Algorithm
WNC 2011 8
Inter-AS Routing
• BGP (Border Gateway Protocol)
• Path Vector Protocol
• Propagate path information (sequence of
ASes on a route to a destination AS)
• Policy based, no cost information included
WNC 2011 9
Transport Layer
• Reliability?
– Did the data reach the destination?
– Did the data arrive in the correct order?
• Congestion?
– Am I overloading the network?
– How do I know? How do I fix it?
• Flow control?
• 2 types:
– TCP (Transmission Control Protocol)
– UDP (User Datagram WNC
2011 10
• Connection Oriented: Handshake (how many
• Reliable:
– Complete
– Undamaged (which mechanism protect this?)
– In order
• Congestion Avoidance
• Suitable for transfer important data:
– Files
– Email
WNC 2011 11
• Intermediate node maintain state?
– Which layer the packet will have to go
through in intermediate node?
• One sender to many receiver using TCP?
– Point-to-point
WNC 2011 12
• Connectionless
• Best effort/Unreliable: no verification if data
• No congestion control
• Suitable for real-time streaming (audio, video)
where on-time arrival more important than
• Suitable for simple query/response application
like DNS
WNC 2011 13
• Domain Name Service
• Store hostname and domain name in a
kind of distributed database
• Provide IP address for each hostname
• Ex: www.yahoo.com into
WNC 2011 14
DNS (iterative queries)
• Host A needs to know IP of www.yahoo.com
• Host A check its cache
• If not found, A check one of the root server
• Root server reply server B know *.com domain
• A ask B for www.yahoo.com
• B reply server C know *.yahoo.com
• A ask C, and C reply
WNC 2011 15
DNS (recursive queries)
• The intermediate server forwards the DNS
query on behalf of the host A
• Mostly are recursive queries, except for
root server
WNC 2011 16
Time to Live
• Each DNS response include a TTL
• The client store the DNS response in the cache
until TTL expires
• Ex:
– The TTL is set to 6 hour and the response is sent to
client at 1:00PM
– If the root server change the IP at 1:01PM, the client
won’t receive the update until 7PM.
• Not necessary all machines have the same
map of DNS at a given time
WNC 2011 17
• What should the TTL field be for
“www.yahoo.com”? Short or long?
WNC 2011 18
• Does DNS use Centralized or Distributed
• Since the root server will delegate to other
server, so there is no centralized server to
store a complete DNS database. Why?
WNC 2011 19
Application Layer
• Applications make use of TCP/UDP are
associated with a well-known port number:
– FTP: 21
– SSH: 22
– Telnet: 23
– HTTP: 80
– DNS: 53
• Which one uses TCP, which one uses UDP?
WNC 2011 20