 
              Now Arriving at Layer 3 Packet Forwarding  … although layer 2 switches and layer 3 routers are similar in many ways  … and ATM/Virtual Circuits are used at layer 2 these days 9/27/06 CS/ECE 438 - UIUC, Fall 2006 1 9/27/06 CS/ECE 438 - UIUC, Fall 2006 2 Network Layers and Routers Router Design Input Port Output Port Application Application Host Input Port Output Port Presentation Presentation Session Session Input Port Output Port Switch Router Transport Transport Fabric Input Port Output Port Network Network Network Data Link Data Link Data Link Input Port Output Port Physical Physical Physical Input Port Output Port 9/27/06 CS/ECE 438 - UIUC, Fall 2006 3 9/27/06 CS/ECE 438 - UIUC, Fall 2006 4 Forwarding Switching and Forwarding  Forwarding  Forwarding Algorithm The task of specifying an appropriate output port for a Consult packet header   packet Consult forwarding tables Datagram   Virtual Circuit Switching Decide on output port   Source Routing   Three general types Each packet contains enough information for a switch to  determine the correct output port Datagram forwarding  Later  Virtual Circuits  Building forwarding tables – routing.  Source Routing  Packet Header  Differ by contents of header and tables Output Port Specification 9/27/06 CS/ECE 438 - UIUC, Fall 2006 5 9/27/06 CS/ECE 438 - UIUC, Fall 2006 6 1
Forwarding with Datagrams Forwarding with Datagrams  Connectionless  Each packet travels independently Host Host A B  Switch 0 0 0 α β γ Host 3 1 3 1 3 1 Host  Translates global address to output port G C 2 2 2  Maintains table of translations Host 0  Used in traditional data networks D δ 3 1 Host Host F E  i.e., Internet 2 9/27/06 CS/ECE 438 - UIUC, Fall 2006 7 9/27/06 CS/ECE 438 - UIUC, Fall 2006 8 Routing Table Forwarding with Datagrams A → E A B E DATA Each switch maintains α ’s Table β ’s Table γ ’s Table δ ’s Table A sends: 0 1 0 1 0 1 3 3 3 a routing table that C → F α G β γ C A 0 A 3 A 3 A 0 2 2 2 F DATA translates a host name C sends: B 1 B 0 B 3 B 0 0 1 D 3 to an output port B → E F δ E C 1 C 1 C 1 C 0 E DATA 2 B sends: A B D 1 D 1 D 2 D 0 F → G 0 1 0 1 0 1 3 3 3 What happens to the G DATA F sends: α G β γ C E 1 E 2 E 3 E 1 last packet? 2 2 2 A → H F 1 F 2 F 3 F 3 0 1 D 3 H DATA A sends: F δ E G 3 G 3 G 3 G 0 2 9/27/06 CS/ECE 438 - UIUC, Fall 2006 9 9/27/06 CS/ECE 438 - UIUC, Fall 2006 10 Forwarding with Datagrams Traceroute Example  Analogous to following signs  From HW1 solutions  Requires globally unique addresses traceroute www.scott.aq traceroute to www.scott.aq (203.167.246.34), 30  Routing is decentralized hops max, 40 byte packets 1 uiuc-ewsl-vlan1.gw.uiuc.edu (130.126.160.1)  A router follows global routing algorithms 0.425 ms 0.213 ms 0.319 ms  Two packets usually take the same path 2 … but… 13 ae-0-0.bbr1.Washington1.Level3.net (64.159.0.229) 21.946 ms  Each router can change its mind at any as-2-0.bbr2.Washington1.Level3.net time (209.247.10.130) 21.351 ms 21.280 ms 9/27/06 CS/ECE 438 - UIUC, Fall 2006 11 9/27/06 CS/ECE 438 - UIUC, Fall 2006 12 2
Forwarding with Virtual Datagrams Circuits  Connection oriented  Advantages Requires explicit setup and teardown Routes around failures   Packets follow established route  Can send traffic immediately   Why support connections in a network?  Disadvantages Useful for service notions  Header requires full unique address  Important for telephony  Might not be possible to deliver packet   Switch Successive packets may not follow the same route  Translates virtual circuit ID on incoming link to virtual  Global address to path translations requires significant  circuit ID on outgoing link storage Circuit Ids can be per-link or per-switch   Used in ATM 9/27/06 CS/ECE 438 - UIUC, Fall 2006 13 9/27/06 CS/ECE 438 - UIUC, Fall 2006 14 Forwarding with Virtual Virtual Circuits Circuits  Set up  Packet header stores: A virtual circuit identifier (VCI) is assigned to the circuit for   Virtual Circuit ID each link it traverses VCI is locally significant  Router stores:  <incoming port, incoming VCI> uniquely identifies VC   Table of how to forward packets for each  Switch virtual circuit Maintains a translation table from <incoming port,  incoming VCI> to <outgoing port, outgoing VCI>  Note: VCID need not be global  Permanent Virtual Circuits (PVC)  Assign a VCID to a circuit for each link- Long-lived   Switch Virtual Circuits (SVC) link pair Uses signaling to establish VC  9/27/06 CS/ECE 438 - UIUC, Fall 2006 15 9/27/06 CS/ECE 438 - UIUC, Fall 2006 16 Forwarding with Virtual Forwarding with Virtual Circuits Circuits  A simple example setup protocol  Assumptions Each host and switch maintains per-link   Circuits are simplex local variable for VCI assignment  On a duplex link, the same VCI can be used When setup frame leaves host/switch  for two circuits, one in each direction Assign outgoing VCI   The same VCI can be used on different Increment assignment counter  ports of the same switch port and circuit id combination is unique   At setup, the lowest available VCI is used switches maintain translation table from  incoming port/VCI pair to  outgoing port/VCI pair  9/27/06 CS/ECE 438 - UIUC, Fall 2006 17 9/27/06 CS/ECE 438 - UIUC, Fall 2006 18 3
Forwarding with Virtual Forwarding with Virtual Circuits Circuits Host Host Host Host A B A B Setup ACK Host E Host E Message: Message: 0 0 0 0 0 0 Dest = E VCI = ? VCI = 0 VCI = 0 α β γ α β γ Host 3 1 3 1 3 1 Host Host 3 1 3 1 3 1 Host G C G C <0,0> → Setup ACK <0,0> → 2 2 2 2 2 2 <1,?> Message: Setup <1,0> Message: ACK <3,0> → <3,0> → Dest = E VCI = 0 Message: Message: <2,?> <2,0> Set up circuit: Set up circuit: Dest = E Host VCI = 0 Host 0 0 D D A → E δ A → E δ 3 1 3 1 Host Host Host Host F E F E Host A 2 2 Setup <0,0> → ACK <0,0> → VCI = 0 Message: <1,?> Message: <1,0> Dest = E VCI = 0 9/27/06 CS/ECE 438 - UIUC, Fall 2006 19 9/27/06 CS/ECE 438 - UIUC, Fall 2006 20 Forwarding with Virtual Forwarding with Virtual Circuits Circuits Table entries after A → A B E connection is set Host Host 0 1 0 1 0 1 3 3 3 A B α β γ 0 G C 0 0 0 1 Port Port VCI VCI Port Port VCI VCI 2 2 2 0 0 0 0 1 IN IN IN IN OUT OUT OUT OUT δ D α β γ 3 Host 3 1 3 1 3 1 Host A → E δ 0 F E 0 0 1 0 G C 1 2 2 2 2 2 0 1 0 Set up circuits: Host 0 0 D Port Port VCI VCI Port Port VCI VCI Port Port VCI VCI Port Port VCI VCI A → E δ 3 1 Host Host IN IN IN IN OUT OUT OUT OUT IN IN IN IN OUT OUT OUT OUT α β F E C → F 0 0 1 0 3 0 2 0 2 G → E 9/27/06 CS/ECE 438 - UIUC, Fall 2006 21 9/27/06 CS/ECE 438 - UIUC, Fall 2006 22 Forwarding with Virtual Forwarding with Virtual Circuits Circuits Analogous to a game of following a sequence of  Table entries after A → E, C → F, G → E connection is set clues Port Port VCI VCI Port Port VCI VCI Port Port VCI VCI Port Port VCI VCI Advantages  IN IN IN IN OUT OUT OUT OUT IN IN IN IN OUT OUT OUT OUT δ α Header (for a data packet) requires only virtual circuit ID  0 0 1 0 0 0 1 0 Connection request contains global address  Can reserve resources at setup time  3 0 1 1 0 1 3 0 Disadvantages  0 2 1 1 Port Port VCI VCI Port Port VCI VCI Typically must wait one RTT for setup  IN IN IN IN OUT OUT OUT OUT Cannot dynamically avoid failures, must reestablish β  connection 1 0 2 1 Port Port VCI VCI Port Port VCI VCI Global address path information still necessary for  3 0 2 0 IN IN IN IN OUT OUT OUT OUT connection setup γ 3 1 2 2 1 0 3 0 9/27/06 CS/ECE 438 - UIUC, Fall 2006 23 9/27/06 CS/ECE 438 - UIUC, Fall 2006 24 4
Recommend
More recommend