Successfully reported this slideshow.
Upcoming SlideShare
×

# Route1

307 views

Published on

• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

### Route1

1. 1. Routing and Switching Fabrics <ul><li>Outline </li></ul><ul><ul><li>Link state routing </li></ul></ul><ul><ul><li>Link weights </li></ul></ul><ul><ul><li>Switching Fabrics </li></ul></ul>
2. 2. Intradomain Routing Summary <ul><li>Intradomain routing protocols determine how forwarding tables are maintained in routers </li></ul><ul><ul><li>Least cost algorithms </li></ul></ul><ul><li>Distance vector routing </li></ul><ul><ul><li>Algorithm based on building forwarding table by distributing vector of distances to neighbors </li></ul></ul><ul><ul><li>Completely distributed and based only on knowledge of immediate neighbors </li></ul></ul><ul><ul><li>Known to converge under static conditions </li></ul></ul><ul><ul><li>Count to infinity problem </li></ul></ul><ul><ul><li>Limited network diameter </li></ul></ul>
3. 3. Link State (Dijkstra’s algorithm,OSPF) <ul><li>Find SP from a given node by sending path data to all nodes and developing paths in order of increasing length </li></ul><ul><li>Strategy </li></ul><ul><ul><li>Route calculation is based on sum of all accumulated link state information </li></ul></ul><ul><ul><li>All nodes forward all information to all directly connected links </li></ul></ul><ul><li>Link State Packet (LSP) – created by each node </li></ul><ul><ul><li>id of the node that created the LSP </li></ul></ul><ul><ul><li>cost of the link to each directly connected neighbor </li></ul></ul><ul><ul><li>sequence number (SEQNO) </li></ul></ul><ul><ul><li>time-to-live (TTL) for this packet </li></ul></ul>
4. 4. Link State contd. <ul><li>Send out LSP based on timer and triggers </li></ul><ul><li>Timer should be coarse grained </li></ul><ul><li>Seqno’s do not wrap around </li></ul><ul><ul><li>Since when routers reboot – they start at seqno 0 </li></ul></ul><ul><ul><li>64 bit field </li></ul></ul><ul><li>Routing table is not computed until LSP’s from all nodes have been received </li></ul>
5. 5. Route Calculation <ul><li>Dijkstra’s shortest path algorithm </li></ul><ul><li>Let </li></ul><ul><ul><li>N denotes set of nodes in the graph </li></ul></ul><ul><ul><li>l ( i , j ) denotes non-negative cost (weight) for edge ( i , j ) </li></ul></ul><ul><ul><li>s denotes this node </li></ul></ul><ul><ul><li>M denotes the set of nodes incorporated so far </li></ul></ul><ul><ul><li>C ( n ) denotes cost of the path from s to node n </li></ul></ul><ul><li>M = { s } </li></ul><ul><li>for each n in N - { s } </li></ul><ul><ul><li>C ( n ) = l ( s , n ) /* Costs of directly connected nodes */ </li></ul></ul><ul><li>while ( N != M ) </li></ul><ul><ul><li>M = M union { w } such that C ( w ) /* Add a node */ </li></ul></ul><ul><ul><li>is the minimum for all w in ( N - M ) </li></ul></ul><ul><ul><li>for each n in ( N - M ) /* Recalculate costs */ </li></ul></ul><ul><ul><ul><li>C ( n ) = MIN( C ( n ), C ( w ) + l ( w, n )) </li></ul></ul></ul>
6. 6. Example <ul><li>Itrn M B Path C Path D Path E Path F Path G Path </li></ul><ul><li>1 {A} 2 A-B 5 A-C 1 A-D Inf. Inf. 1 A-G </li></ul><ul><li>2 {A,D} 2 A-B 4 A-D-C 1 A-D 2 A-D-E Inf. 1 A-G </li></ul><ul><li>3 {A,D,G} 2 A-B 4 A-D-C 1 A-D 2 A-D-E Inf. 1 A-G </li></ul><ul><li>4 {A,B,D,G} 2 A-B 4 A-D-C 1 A-D 2 A-D-E Inf. 1 A-G </li></ul><ul><li>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 </li></ul><ul><li>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 </li></ul><ul><li> G} </li></ul><ul><li>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 </li></ul><ul><li> F,G} </li></ul>D G A B C E F 5 1 1 1 2 1 3 5 2 2 3
7. 7. Link State Routing Summary <ul><li>One of the oldest algorithm for routing </li></ul><ul><li>Finds SP by developing paths in order of increasing length </li></ul><ul><ul><li>Requires each node to have complete information about the network </li></ul></ul><ul><ul><li>Nodes exchange information with all other nodes in the network </li></ul></ul><ul><ul><li>Known to converge quickly under static conditions </li></ul></ul><ul><ul><li>Does not generate much network traffic </li></ul></ul><ul><li>Other possible routing algorithms? </li></ul>
8. 8. Metrics for link cost <ul><li>Simplest method is to simply assign 1 to each link </li></ul><ul><li>Original ARPANET metric </li></ul><ul><ul><li>link cost = number of packets enqueued on each link </li></ul></ul><ul><ul><ul><li>This moves packets toward shortest queue not the destination!! </li></ul></ul></ul><ul><ul><li>took neither latency or bandwidth into consideration </li></ul></ul><ul><li>New ARPANET metric </li></ul><ul><ul><li>link cost = average delay over some time period </li></ul></ul><ul><ul><li>stamp each incoming packet with its arrival time ( AT ) </li></ul></ul><ul><ul><li>record departure time ( DT ) </li></ul></ul><ul><ul><li>when link-level ACK arrives, compute </li></ul></ul><ul><ul><ul><li>Delay = (DT - AT) + Transmit + Latency </li></ul></ul></ul><ul><ul><ul><li>Transmit and latency are static for the link </li></ul></ul></ul><ul><ul><li>if timeout, reset DT to departure time for retransmission </li></ul></ul><ul><li>Fine Tuning </li></ul><ul><ul><li>compress range over which costs can span using static function </li></ul></ul><ul><ul><li>smooth variation of cost over time using averaging </li></ul></ul>
9. 9. Introduction to switching fabrics <ul><li>Switches must not only determine routing but also do forwarding quickly and efficiently </li></ul><ul><ul><li>If this is done on a general purpose computer, the I/O bus limits performance </li></ul></ul><ul><ul><ul><li>This means that a system with 1Gbps I/O could not handle OC12 </li></ul></ul></ul><ul><ul><li>Special purpose hardware is required </li></ul></ul><ul><ul><li>Switch capabilities drive protocol decisions </li></ul></ul><ul><li>Context – a “router” is defined as a datagram “switch” </li></ul><ul><li>Switching fabrics are internal to routers and facilitate forwarding </li></ul>
10. 10. Goals in switch design <ul><li>Throughput </li></ul><ul><ul><li>Ability to forward as many pkts per second as possible </li></ul></ul><ul><li>Size </li></ul><ul><ul><li>Number of input/output ports </li></ul></ul><ul><li>Cost </li></ul><ul><ul><li>Minimum cost per port </li></ul></ul><ul><li>Functionality </li></ul><ul><ul><li>QoS </li></ul></ul>
11. 11. Throughput <ul><li>Consider a switch with n inputs and m outputs and link speed of s n </li></ul><ul><ul><li>Typical notion of throughput:  s n </li></ul></ul><ul><ul><ul><li>This is an upper bound </li></ul></ul></ul><ul><ul><ul><li>Assumes all inputs get mapped to a unique output </li></ul></ul></ul><ul><ul><li>Another notion of throughput is packets per second (pps) </li></ul></ul><ul><ul><ul><li>Indicates how well switch handles fixed overhead operations </li></ul></ul></ul><ul><li>Throughput depends on traffic model </li></ul><ul><ul><li>Goal is to be representative </li></ul></ul><ul><ul><li>This is VERY tricky! </li></ul></ul>
12. 12. Size/Scalability/Cost <ul><li>Maximum size is typically limited by HW constraints </li></ul><ul><ul><li>Eg. fanout </li></ul></ul><ul><li>Cost is related to number of inputs/outputs </li></ul><ul><ul><li>How does cost scale with inputs/outputs? </li></ul></ul>
13. 13. Ports and Fabrics <ul><li>Ports on switches handle the difficult functions of signaling, buffering, circuits, RED, etc. </li></ul><ul><ul><li>Most buffering is via FIFO on output ports </li></ul></ul><ul><ul><ul><li>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 </li></ul></ul></ul><ul><li>Switching fabrics in switches handle the simple function of forwarding data from input ports to output ports </li></ul><ul><ul><li>Typically fabric does not buffer (but it can) </li></ul></ul><ul><ul><li>Contention is an issue </li></ul></ul><ul><ul><li>Many different designs </li></ul></ul>