6558/G558 DATAKOMMUNIKATION Kapitel 3: Nätverk, ruttning
Lokalt nätverk LAN Nätverk där alla hör varandra och tävlar om att få skicka bitar Begränsad geografisk utsträckning –kollisionsdetektering –skalar inte Kan utvidgas något genom att sätta bryggor mellan de lokala nätverken => utvidgade lokala nätverk
Utvidgat lokalt nätverk LAN kopplas ihop med bryggor Brygga: lyssna på alla nät och vidarebefordra alltid ramar från en port till de övriga portarna
Spanning tree - algoritmen Ibland finns det inbyggd redundans i det utvidgade lokala nätverket Problem: cirkulerande ramar
Cirkulerande ramar Bryggorna B1 och B2 upprätthåller (adress,port)-tabeller Nod M skickar en ram till nod L En stund senare skickar nod L till nod M!
Spanning tree - algoritmen Protokoll för att avlägsna loopar, dvs bygga ett spanning tree i ett utvidgat lokalt nätverk Bryggorna stänger tillfälligt av en eller flera portar Bryggorna bör kunna dynamiskt ändra konfiguration om en brygga försvinner
Spanning tree - algoritmen Protokoll mellan bryggor Grundidé: –hitta en ”rotbrygga” –sök kortaste rutten från varje brygga till rotbryggan –ifall flera lika långa rutter finns, välj den rutt som startar med bryggan med den lägsta id:n –starta rotsökningen periodiskt Eget ramformat för meddelande som innehåller lämplig information om bryggorna: –avsändarid –id för bryggan som sändaren tror är rotbrygga –avståndet (antalet brygghop) från sändaren till roten
Spanning tree - algoritmen
Intelligenta bryggor Genom att lyssna på nättrafiken länge nog kan bryggorna lära sig vilka noder som befinner sig vid de olika lokala nätverken: porttabeller Intelligens: vidarebefordra inte ramar vars destination finns på samma sida som sändaren Time out: förkasta adressen i porttabellen om den inte använts på en tid (noder kan flyttas från ett nät till ett annat, mobila noder,...)
Växling och Ruttning Växling och ruttning behövs för större nätverk än utvidgade lokala nätverk Nätet kan skala
Växel Primär uppgift: inkommande data från en port sänds vidare på en annan port Beslutet om vilken port datat överförs till görs på basen av headern i datat Växeln måste upprätthålla någon form av nod-port-tabell, explicit lista eller på basen av egenskaper i datats mottagaradress
Växelprinciper Datagram (connectionless) –Varje datasändning har tillräcklig information för att kunna skickas vidare (send and forget) Virtuell kretskoppling (connection-oriented) –En (virtuell) koppling från sändare till mottagare sätts upp innan egentligt data börjar sändas Källruttning –Sändaren specifierar vilka växlar datat skall gå igenom
Datagram Switch 2 DestinationPort A3 B0 C3 D3 E2 F1 G0 H0
Virtuell Kretskoppling Virtual Circuit VC En virtuell koppling läggs upp i växlarna –varje växel ger en id åt uppkopplingen Ruttningen sker enligt uppställd koppling –på basen av id:n går datat från port till port Kopplingen tas ner när dataöverföringen är slut
Kretskopplingtabeller Incoming portIncoming VCIOutgoing portOutgoing VCI Switch Switch Switch
Källruttning En fullständig rutt ges av sändaren Växeln identifierar enligt något system vilken port som gäller den