now arriving at layer 3 packet forwarding
play

Now Arriving at Layer 3 Packet Forwarding although layer 2 - PDF document

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


  1. 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

  2. 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

  3. 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

  4. 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