2/15/2011Harvard Bits1
2/15/2011Harvard Bits2 US Telegraph “Network” in 1856
2/15/2011Harvard Bits3
2/15/2011Harvard Bits4 Size of switch grows as square of number of telephones Impractical to centralize switching as number of telephones grows
Historically a telephone call is completed by setting switches so there is a continuous electric circuit from telephone to telephone Pros: Dedicated line means uninterrupted service once circuit is completed 2/15/2011Harvard Bits5
Number of calls limited by size and number of switches Long telephone lines are “seized” by the call even if no one is talking, one party hangs up, etc. Hard to utilize alternative routes if a switch along the principal path is overloaded 2/15/2011Harvard Bits6
Alternative, used by the Internet Break message into data packets of 1-2KB Address the packets to their destination and serial number them so they can be reassembled at the other end Let network figure out how to deliver them Different packets of same message may take different routes 2/15/2011Harvard Bits7
Extremely efficient use of network lines - whenever a link is not transporting a packet it is available for completely unrelated messages Size of switch depends on actual data traffic, not on the number of simultaneous communications that might be happening 2/15/2011Harvard Bits8
No performance guarantees possible, so hard to be sure real-time communications will work Routing algorithms are not obvious, though if they can be made adaptive, the network could heal itself in case of localized catastrophes Seems to require more intelligence at the edge of the network, while circuit switching requires intelligence in the core and can tolerate dumb devices at the edge 2/15/2011Harvard Bits9
2/15/2011Harvard Bits10
2/15/2011Harvard Bits11 Client Computers Web Server Server pop.fas.harvard.edu Server smtp.fas.harvard.edu downloadupload THE INTERNET
Router in network core receives incoming packets and stores them in “buffer” (temporary storage) Routes packets on outgoing links May throw packets away if buffer is full 2/15/2011Harvard Bits12 Routing Table
Routers are relatively dumb and rely on intelligence at the edge to compensate 2/15/2011Harvard Bits13 Packetize Add serial #s Add fingerprint Add destination address Insert into network BEST EFFORT Reassemble packets (Maybe) report missing packets (Maybe) report damaged packets Deliver to application Client application: , web browser, iTunes Server application
IPv4: 32 bits written as 4 decimal numerals less than 256, e.g (UMich) 4 billion not enough IPv6: 128 bits written as 8 blocks of 4 hex digits each, e.g. AF43:23BC:CAA1:0045:A5B2:90AC:FFEE:8080 At edge, translate URLs --> IP addresses, e.g. umich.edu --> Authoritative sites for address translation = “Domain Name Server” (DNS) In the network core, IP addresses are used to route packets using routing tables 2/15/2011Harvard Bits14
2/15/2011Harvard Bits15
We treat IP addresses as Non-Personal Information We reserve the right to share Non-Personal Information with affiliates and other third parties. 2/15/2011Harvard Bits16
ICANN = Internet Corporation for Assigned Names and Numbers A US nonprofit … but it’s a long story. 2/15/2011Harvard Bits17
Routers do not know what the bits in the packets represent Do not know if they are , streaming video, html web pages Do not know if they are encrypted or unencrypted You can invent your own new service adhering to IP standards Gain Internet’s best-effort service and possibility of undelivered packets 2/15/2011Harvard Bits18
Packet size (1.5 KB max) a compromise Small enough that they can be “handled” quickly and with relatively low odds of being damaged Large enough that packaging does not outweigh the contents or “payload” 2/15/2011Harvard Bits19
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Smallish packets also make better use of the network since later packets can leave before earlier packets arrive 2/15/2011Harvard Bits
Store and Forward delays would add up if entire message had to be buffered at every router 2/15/2011Harvard Bits
Store and Forward delays would add up if entire message had to be buffered at every router 2/15/2011Harvard Bits
Store and Forward delays would add up if entire message had to be buffered at every router 2/15/2011Harvard Bits
Store and Forward delays would add up if entire message had to be buffered at every router 2/15/2011Harvard Bits
Store and Forward delays would add up if entire message had to be buffered at every router 2/15/2011Harvard Bits
Store and Forward delays would add up if entire message had to be buffered at every router 2/15/2011Harvard Bits
Creates logical connection between two machines on the edge of the network Connected machines seem to have a circuit connecting them even though they do not tie up the network Provide reliable, perfect transport of messages, even though IP may drop packets Regulates the rate at which packets are inserted into the network 2/15/2011Harvard Bits37
2/15/2011Harvard Bits38
2/15/2011Harvard Bits39 1 2
2/15/2011Harvard Bits “3-Way Handshaking”
2/15/2011Harvard Bits “3-Way Handshaking”
2/15/2011Harvard Bits “3-Way Handshaking”
2/15/2011Harvard Bits “3-Way Handshaking”
2/15/2011Harvard Bits “3-Way Handshaking”
2/15/2011Harvard Bits “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits * “3-Way Handshaking”
2/15/2011Harvard Bits “Virtual Circuit” now established between two hosts though the routers in between are not aware of it and the same path need not be followed by all packets
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits65 ACK
2/15/2011Harvard Bits66 ACK
2/15/2011Harvard Bits67 ACK ACK2
2/15/2011Harvard Bits68 ACK ACK2
2/15/2011Harvard Bits69 ACK ACK2 2
2/15/2011Harvard Bits ACK2
2/15/2011Harvard Bits ACK2
2/15/2011Harvard Bits ACK2
2/15/2011Harvard Bits73 12
2/15/2011Harvard Bits74 12
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits
2/15/2011Harvard Bits TIMEOUT
Used for real-time applications (e.g. streaming audio and video) where timing is essential but perfect delivery is not 2/15/2011Harvard Bits84
2/15/2011Harvard Bits
2/15/2011Harvard Bits86 321
2/15/2011Harvard Bits87 312
2/15/2011Harvard Bits88 312
2/15/2011Harvard Bits89 31
2/15/2011Harvard Bits90 31
2/15/2011Harvard Bits91 3 1
2/15/2011Harvard Bits92 3 1
2/15/2011Harvard Bits93 31
Both TCP (guaranteed delivery) and UDP (fast delivery, no guarantees) use the lower-level Internet Protocol in the “link layer” But TCP and UDP know nothing about links, routing, etc. All that knowledge is embedded in IP 2/15/2011Harvard Bits94
2/15/2011Harvard Bits95 Higher Level Protocols Lower Level Protocols