Modifiedflood the EO deactivated = Set() on recv(pkt, ifin): if ifin in deactivated: HI return for i in interfaces: if (i !=ifin and i not in deactivated): send(pkt, i) D consider 1 I alice bob 71 1ae R alice bob consider Tht Is bob alice YI R alice bob Dha What nodes processeachpacket O to What nodes need to 1 each packet a process take
have fewer This lecture nodes process eachpacket Why Scalability Each link has a limit on the rate at which it can carry packets Challenge switches to deliver without How to get flooding hey alicP Header p 4h17 DK 0 0 02 R alice 3 bob z iF EE R Eats
if Learning u t table = dict() on recv(p, iface): table[p.src] = iface if p.dst in table: send(p, table[p.dst]) else: flood(p, iface) At eg i i 2 bob
Et IN ME ME How to handle hosts moving I 2 2 tall diet 4 y Now for something different HK
notified Enfield A I I I n.EE otefHeFLHoeHIf Bet 1 Number of nodes between Number of nodes between h3 h2 h2dh3 Capacity when hZsendsto Capacity when h2sendsto hosends to h34 hosends to h hs and hs and we forward packets better Can Generalized Forwarding table = dict() on recv(pkt, ifin): if pkt.dst in table: send(pkt, table[pkt.dst]) else: # Drop the packet His How to populate tablef Problem
Q What paths to choose Shortest 11h11 destination iface Esl it Ht destination B I H A C B 0 42 B h3 12 X Y Z A X How to compute shortest paths Two options Use some extension to the spanning tree Lab 2 go over this later protocol graph and Get all nodes to learn the entire Go over this first use Dijkstra's
Protocol learn the graph learn neighbors EH 9 Learn neighbors neighbor i Packet I id nbas FH El Oa on boot beast Cid E3 737 o 1 onreer A onbat n6ns C3 Cid A new kid A Hors 137,1 b
C3 m.br SFI sendCA B it A yo TO I d X YXB A AC B B D c 2J C D P id adf.ES add basepcid ads Onboof onnectfdgq.dz.addCP idle Rada merge Cady
Tf adz has changed beast Cid ada
Recommend
More recommend