You are on page 1of 40
end-system Internet Service Provider A federated system The Internet interconnects different networks (>18,000 ISPs) ASQ \ AB PS ee - #3}™ ‘* ( Frani Ps — com One common protocol -- the “Internet Protocol (IP) -- between users and the network and between networks Asynchronous Operation e Fundamental constraint: speed of light e Consider: e How many cycles does your 3GHz CPU in Berkeley execute before it can possibly get a response from a message it sends to a server in NY? e Berkeley to New York: 4,125 km Traveling at 300,000 km/s: 13.75 milliseconds e Then back to Berkeley: 2 x 13.75 = 27.5 milliseconds e 3,000,000,000 cycles/sec * 0.0275 = 84,000,000 cycles! e Thus, communication feedback is always dated Prone to Failure e To send a message, all components along a path must function correctly e software, modem, wireless access point, firewall, links, network interface cards, switches.,... e Including human operators e Consider: 50 components, that work correctly 99% of time > 39.5% chance communication will fail e Plus, recall e scale > lots of components e asynchrony > takes a long time to hear (bad) news An Engineered System e Constrained by limits of available technology e Link bandwidths e Switch port counts e Bit error rates e Cost ee... So, what do we need? We still don’t really know... e Noconsensus on what constitutes the “correct” or “best” network design e Noconsensus on “top 10 problems” e Noconsensus on the right prioritization of goals Before you flee... Backing up a level e The Internet offers us a lesson on how to reason through the design of a complex system e What are our goals and constraints? e What's the right prioritization of goals? How do we decompose a problem? e Who does what? How? What are the tradeoffs between design options? e In short: a lesson in how to architect a system central DSL modem ee home PC telephone Digital Subscriber Line (DSL) >» Twisted pair copper >» 3 separate channels - downstream data channel - upstream data channel - 2-way phone channel > upto 25 Mbps downstream > upto 2.5 Mbps upstream cable head end cable head end v v Cable Coaxial copper & fiber up to 42.8 Mbps downstream up to 30.7 Mbps upstream shared broadcast medium workstation Ethernet cable “local” switch “aggregate” switch Ethernet >» Twisted pair copper > 100 Mbps, 1 Gbps, 10 Gbps (each direction) » » & more Cellular (smart phones) Satellite (remote areas) Fiber to the Home (home) Optical carrier (Internet backbone) eo—_® How do we scale a network to many end-systems? 2 O(n?) links per-node capacity scales as 1/n 29 Intuition: reservations Frequent overloading Link capacity = 30Mbps Each source gets 10Mbps 13Mbps Statistical multiplexing is a recurrent theme in computer science » Phone network rather than dedicated lines - ancient history >» Packet switching rather than circuits - today’s lecture >» Cloud computing - shared vs. dedicated machines Performance Metrics > Delay >» Loss > Throughput Delay > Consists of four components - transmission delay due to link properties - propagation delay queuing delay due to traffic mix and switch internals - processing delay Packet Delay Sending 100B packets from A to B? B A bah al, Time to te Taal Time when that bit reaches B MOM Aileen rlaaali 800 bits=800x1/10%s 100Byte packet aeeOmes reaches B at (800x1/10®)+1/108s = 1.8ms y Sending 100B packets from A to B? wd : ; bog, SO — Tal, The last bit in the file alae aot alae eos reaches B at reaches B at reaches B at x800x Naas (800x )+1/10%s | (800x1/10°)+1/108s = Elna) = =00)|ms Packet Delay: The “pipe” view Sending 100B packets from A to B? A B _ pkt tx time 100Byte packet a i 100Byte packet time > 100Byte packet Queuing Delay e How long does a packet have to sit in a buffer before it is processed? e Characterized with statistical measures e average queuing delay e variance of queuing delay e probability delay exceeds a threshold value transmission rate R1 transmission rate R2 | | bottleneck link Basic Observation e Some application requirements can only be correctly implemented end-to-end e reliability, security, etc. e Implementing these in the network is hard e every step along the way must be fail proof e Hosts e Can satisfy the requirement without network’ s help e Will/must do so, since they can’ t rely on the network Routing Follows the Money! Pr@— Cu Peer @-@® Peer e Routes are “valley free” (will return to this later) Why a transport layer: Demultiplexing many application processes Communication between processes at hosts Communication between hosts (128.4.5.6 €>162.99.7.56) Why a transport layer: Improved service model e IP provides a weak service model (best-effort) e Packets can be corrupted, delayed, dropped, reordered, duplicated e No guidance on how much traffic to send and when e Dealing with this is tedious for application developers Role of the Transport Layer e Communication between application processes e Mux and demux from/to application processes e Implemented using ports Role of the Transport Layer e@ Communication between application processes e Provide common end-to-end services for app layer [optional] e Reliable, in-order data delivery e Well-paced data delivery e too fast may overwhelm the network e too slow is not efficient Role of the Transport Layer e Communication between processes e@ Provide common end-to-end services for app layer [optional] e TCP and UDP are the common transport protocols e UDP is a minimalist, no-frills transport protocol e TCP is the whole-hog protocol e offers apps a reliable, in-order, bytestream abstraction e with congestion control e but no performance guarantees (delay, bw, etc.) 4-bit Norse 16-bit Total Length (Bytes) Header| Type of Service 16-bit Identification bit Protocol 32-bit Source IP Address 13-bit Fragment Offset 8-bit Time to Live (TTL) 16-bit Header Checksum 32-bit Destination IP Address Payload 8-bit Type of Service (Tos) 16-bit Total Length (Bytes) 4|5 16-bit Identification 13-bit Fragment Offset 8-bit Time to Live (TTL) 8-bit Protocol 16-bit Header Checksum 32-bit Source IP Address 32-bit Destination IP Address Payload 8-bit Type of Service (Tos) 16-bit Total Length (Bytes) 4|5 16-bit Identification 13-bit Fragment Offset 8-bit Time to 16-bit Header Checksum 32-bit Source IP Address 32-bit Destination IP Address Payload 8-bit 5 |type of Service (Tos) 16-bit Total Length (Bytes) ES) 13-bit Fragment Offset 8-bit Timeto_ | 6 = TCP weqrtt| | 47+ upp 16-bit Header Checksum 32-bit Source IP Address 32-bit Destination IP Address 16-bit Identification Sliding Window Protocols e Resending packets: two canonical approaches e Go-Back-N e Selective Repeat e Many variants that differ in implementation details TCP Header Used to negotiate use of additional features (details in section) Source port Destination port Sequence number Acknowledgment Flags Advertised window Urgent pointer Options (variable) Sliding Window at Sender (so far) First unACKed byte Last byte can send Abstract View A:——(__ |||} —B Sending Host Buffer in Router Receiving Host e Ignore internal structure of router and model it as a single queue for a particular input-output pair

You might also like