Lecture 10
LS Example 5 2 B 3 C 5 1 A 1 D 2 3 1 1 E 2 F G Itrn M B Path C Path D Path E Path F Path G Path 1 {A} 2 A-B 5 A-C 1 A-D Inf. Inf. 1 A-G 2 {A,D} 2 A-B 4 A-D-C 1 A-D 2 A-D-E Inf. 1 A-G 3 {A,D,G} 2 A-B 4 A-D-C 1 A-D 2 A-D-E Inf. 1 A-G 4 {A,B,D,G} 2 A-B 4 A-D-C 1 A-D 2 A-D-E Inf. 1 A-G 5 {A,B,D,E,G} 2 A-B 3 A-D-E-C 1 A-D 2 A-D-E 4 A-D-E-F 1 A-G 6 {A,B,C,D,E 2 A-B 3 A-D-E-C 1 A-D 2 A-D-E 4 A-D-E-F 1 A-G G} 7 {A,B,C,D,E 2 A-B 3 A-D-E-C 1 A-D 2 A-D-E 4 A-D-E-F 1 A-G F,G} CS 640 2
Link State Routing Summary One of the oldest algorithm for routing Finds SP by developing paths in order of increasing length Requires each node to have complete information about the network Nodes exchange information with all other nodes in the network Known to converge quickly under static conditions Does not generate much network traffic Other possible routing algorithms? CS 640 3
Metrics for link cost Simplest method is to simply assign 1 to each link Original ARPANET metric link cost = number of packets enqueued on each link This moves packets toward shortest queue not the destination!! took neither latency or bandwidth into consideration New ARPANET metric link cost = average delay over some time period stamp each incoming packet with its arrival time (AT) record departure time (DT) when link-level ACK arrives, compute Delay = (DT - AT) + Transmit + Latency Transmit and latency are static for the link if timeout, reset DT to departure time for retransmission Fine Tuning compress range over which costs can span using static function smooth variation of cost over time using averaging CS 640 4
Introduction to switching fabrics Switches must not only determine routing but also do forwarding quickly and efficiently If this is done on a general purpose computer, the I/O bus limits performance This means that a system with 1Gbps I/O could not handle OC12 Special purpose hardware is required Switch capabilities drive protocol decisions Context a router is defined as a datagram switch Switching fabrics are internal to routers and facilitate forwarding CS 640 5
Goals in switch design Throughput Ability to forward as many pkts per second as possible Size Number of input/output ports Cost Minimum cost per port Functionality QoS CS 640 6
Throughput Consider a switch with n inputs and m outputs and link speed of s n Typical notion of throughput: Ss n This is an upper bound Assumes all inputs get mapped to a unique output Another notion of throughput is packets per second (pps) Indicates how well switch handles fixed overhead operations Throughput depends on traffic model Goal is to be representative This is VERY tricky! CS 640 7
Size/Scalability/Cost Maximum size is typically limited by HW constraints Eg. fanout Cost is related to number of inputs/outputs How does cost scale with inputs/outputs? CS 640 8
Ports and Fabrics Ports on switches handle the difficult functions of signaling, buffering, circuits, RED, etc. Most buffering is via FIFO on output ports This prevents head-of-the-line blocking on input ports which is possible if only one input port can forward to one output port at a time Switching fabrics in switches handle the simple function of forwarding data from input ports to output ports Typically fabric does not buffer (but it can) Contention is an issue Many different designs More details coming up CS 640 9
Line Card Router Architecture Overview Two key router functions: Run routing algorithms/protocol (RIP, OSPF, BGP) Switching datagrams from incoming to outgoing link 2. output port 1. input port 3. Line Card Line Card 4. 10
Line Card: Input Port Physical layer: bit-level reception Data link layer: e.g., Ethernet Decentralized switching: Process common case ( fast-path ) packets Decrement TTL, update checksum, forward packet Given datagram dest., lookup output port using routing table in input port memory Queue needed if datagrams arrive faster than forwarding rate into switch fabric 11
Line Card: Output Port Queuing required when datagrams arrive from fabric faster than the line transmission rate 12
Buffering 3 types of buffering Input buffering Fabric slower than input ports combined queuing may occur at input queues Output buffering Buffering when arrival rate via switch exceeds output line speed Internal buffering Can have buffering inside switch fabric to deal with limitations of fabric What happens when these buffers fill up? Packets are THROWN AWAY!! This is where (most) packet loss comes from 13
Input Port Queuing Which inputs are processed each slot schedule? Head-of-the-Line (HOL) blocking: datagram at front of queue prevents others in queue from moving forward 14
Output Port Queuing Scheduling discipline chooses among queued datagrams for transmission Can be simple (e.g., first-come first-serve) or more clever (e.g., weighted round robin) 15
Network Processor Runs routing protocol and downloads forwarding table to forwarding engines Performs slow path processing ICMP error messages IP option processing Fragmentation Packets destined to router 16
Switching Via an Interconnection Network Overcome bus and memory bandwidth limitations when using commodity machines Crossbar provides full NxN interconnect Expensive Uses 2N buses Cisco 12000: switches Gbps through the interconnection network 17