EECS122 Midterm Review Department of Electrical Engineering and Computer Sciences University of California Berkeley
EECS UCB2 TOCTOC: Midterm Review Network Web Browsing Layers & Protocols Inside a Router Check List
EECS UCB3 ReviewReview: Network WAN MAN
EECS UCB4 ReviewReview: Network WAN MAN LAN
EECS UCB5 WAN LAN ReviewReview: Network
EECS UCB6 ReviewReview: Web Browsing Example Locating Resource: DNS Connection End-to-end Packets Bits Points to remember
EECS UCB7 Click Link or URL get content from local or remote computer URL: Specifies - Protocol: http - Computer: - String Computer (server) selects contents based on string WebWeb: Example
EECS UCB8 WebWeb: Locating Resource is the name of a computer Network uses IP addresses To find the IP address, the application uses a hierarchical directory service called the Domain Name System
EECS UCB9 WebWeb: Connection The protocol (http) sets up a connection between the host and cnn.com to transfer the page The connection transfers the page as a byte stream, without errors: pacing + error control
EECS UCB10 WebWeb: End-to-end The byte stream flows from end to end across many links and switches: routing (+ addressing) That stream is regulated and controlled by both ends: retransmission of erroneous or missing bytes; flow control
EECS UCB11 WebWeb: Packets The network transports bytes grouped into packets The packets are “self- contained” and routers handle them one by one The end hosts worry about errors and flow control: Destination checks packet for errors (using error detection code CKS) and sends ACKs with sequence number # Source retransmits packets that were not ACKed and adjusts rate of transmissions
EECS UCB12 WebWeb: Bits Equipment in each node sends the packets as a string of bits That equipment is not aware of the meaning of the bits
EECS UCB13 HTTP, FTP, … IP UDP - TCP ReviewReview: Layers & Protocols Physical Interface Synchronous unreliable bit pipe Data Link Control Data Link Control Asynchronous reliable bit pipe Physical Link Network Asynchronous routed path FHData Physical Interface Synchronous unreliable bit pipe Data Link Control Asynchronous reliable bit pipe Physical Link Network Asynchronous routed path FHData Transport PHDataPHData THData End NodeRouterEnd Node Application Data
EECS UCB14 Mapping Layers to Network Devices Two broad classes of devices Hosts Routers Both sets of devices run applications Hosts mainly run “user applications” Routers run “infrastructure applications” E.g. Topology discovery, Network Management Protocols, BGP etc. Don’t be confused by thinking that routers don’t run application protocols because they are layer 3 devices
EECS UCB15 LayersLayers: Transport Services IP Transport ABC [A | B | p1 | p2 | …] p1p2p1p2p3p1p2 ports Application HTTP DNS RA UDP: Not reliable TCP: Ordered, reliable, well-paced
EECS UCB16 LayersLayers - TCP: MPX, Error, Flow and Congestion Control W 1 65KB X 0.5 TO 3DA X 0.5 3DA TO X 0.5 SSCA SS CA 3 3 window = min{RAW - OUT, W}
EECS UCB17 TCP AlgorithmTCP Algorithm: AIMD AB x C DE y Limit rates: x = y
EECS UCB18 Flow Control Objective: Avoid saturating destination Algorithm: Receiver avertizes window RAW RAW window = min{RAW – OUT, W} where OUT = Oustanding = Last sent – last ACKed W = Cong. Window from AIMD + refinements [ACK | RAW | …]
EECS UCB19 LayersLayers: IP – Internet Protocol Addressing Class-Based Fixed Prefix – M-tree Class-Based Classless: CIDR LPM-Patricia Trie Classless: CIDR Routing
EECS UCB20 Addressing reflects internet hierarchy 32 bits divided into 2 parts: Class A Class B Class C Class-base Addressing network host 0 0 network host network host ~2 million nets 256 hosts
EECS UCB21 Classless Internet Domain Routing Suppose fifty computers in a network are assigned IP addresses Range is to They share the first 26 bits of : Convention: /26 = prefix There are 32-27=6 bits for the 50 computers 2 6 = 64 addresses
EECS UCB22 IPIP: RoutingRouting B C OSPF RIP IGRP BGP IntraDomain Intradomain Formulate the routing problem as a Shortest Path Problem Link State v/s Distance Vector Both work reasonably well in a well engineered network Interdomain BGP Path Vector, Policies
EECS UCB23 Route Computation Dijkstra: Link State Use a flooding protocol to discover the entire topology Find the shortest paths in order of increasing path length from node i. Bellman Ford: Distance Vector D(i,d) = min jεN(i) {c(i,j) + D(j,d)} BGP: Path Vector Policy routing: Receive and advertise entire routes AS numbers describe the path to a CIDR address Import Policy Engine Decision process Routes used by router Routes received from neighbors Routes sent to neighbors BGP table Choose best route accept, deny, set preferences forward, not forward set MEDs Export Policy Engine IP Routing table
EECS UCB24 ReviewReview: Inside Router Input and output interfaces are connected through an interconnect A interconnect can be implemented by Shared memory low capacity routers (e.g., PC-based routers) Shared bus Medium capacity routers Point-to-point (switched) bus High capacity routers input interfaceoutput interface Inter- connect Scheduling GPS WFQ
EECS UCB25 RouterRouter: GPS/WFQ Why service disciplines? Understand GPS and WFQ well GPS properties WFQ tracking result No later than one packet transmission
EECS UCB26 ReviewReview: Check List Big Picture Layers Network Structure (L2, L3) Where protocols are implemented Switching Techniques Applications DNS HTTP Transport TCP: Service; Go Back N; Flow Control; Congestion Control; AIMD; SS; 3DA; Phases UDP: Service Network Class-Based; Classless Addressing Dijkstra; Bellman-Ford Hierarchical routing Inside Router Architecture: Input, Output Scheduling: Fairness, GPS, WFQ