Übersicht OSI-MODEL Schicht Layer 7 A p plic at ion Anwendungsprotokoll A n wendung 7 Schnittstelle Interface Darstellungsprotokoll 6 P res entation 5 S e s s io n 4 T ra n s p o rt 3 N et w o r k Vermittlung 2 D at a l in k Sicherung Sicherung 1 P h y s ic al Bitübertragung Bitübertragung Sitzungsprotokoll Transportprotokoll D ar s tellung 6 S itz u ng 5 Trans port 4 V e rmittlung 3 S ic herung 2 Bitübertragung 1 Grenze des Kommunikations-Subnets Vermittlung Internes Subnet-Protokoll Host B Host A Schicht 3 Vermittlungsschicht ermöglicht netzübergreifenden Verkehr Aufgaben: • netzweite Adressierung • Routing • Aufbau, Betrieb, Abbau netzweiter Verbindungen • Kopplung von Teilnetzen • Umsetzung unterschiedlicher Formatierungen von Nachrichten • unterschiedliche Zugriffsverfahren • Anpassung unterschiedlicher Netzdienste Kopplung von Teilnetzen – Repeater → Schicht 1 – Brücke (bridge) → Schicht 2 – Router → Schicht 3 – Gateways → höhere Schichten Verkehrsseparierung, Adressierung, Routing, ... Netz Datagramm-Netz Nachrichten in einzelne Datagramme zerlegen evtl. auf unterschiedlichen Wegen zum Empfänger Probleme: Reihenfolgeumstellung Unzuverlässigkeit Verlust von Paketen Laufzeitunterschiede Netze mit virtuellen Schaltkreisen 1. Verbindungsaufbau 2. Datentransferphase 3. Verbindungsabbau Schicht - 3- Dienste verbindungslos/verbindungsorientiert Dienst verbindungsorientiert verbindungslos Netz virtuelle Schaltkreise verbindungslos Datagramm V erb in d u n g sp ro to k o ll: – V e rb in d u n g sau fb au, D aten tra n sfer, V e rb in d u n g sab bau – K a n aln um m e rn – P aram e ter d es Q o S – reih e n fo lg etreu e Ü b ertra g u n g – F lu ß k o n tro lle 2 Philosophien 1) Möglichst umfassender, zuverlässiger Netzdienst (wird vom Netzbetreiber angeboten) – einfache Tarifierung für den Netzbetreiber – zuverlässiger Ende-zu-Ende - Dienst für den Nutzer (wenig Komplexität nötig) 2) Netzdienst nicht garantiert zuverlässig – Nutzer muß für zuverlässige Ende-zu-Ende-Verbindung Komplexität auf Schicht 4 hinzufügen → Schicht 3 kann einfach (verbindungslos) gestaltet werden Routing Aufgabe: "günstigsten" Weg vom Sender zum Empfänger bestimmen Routingtabellen in den einzelnen Knoten eindimensional – Entscheidung hängt nur vom Zielknoten ab zweidimensional – Entscheidung hängt vom Sende- und Zielknoten ab A C/B Sender C B A/B Empfänger S Z L Routing Kriterien für "Optimalität" • kurze Antwortzeit • hoher Durchsatz • Vermeidung lokaler Überlastsituationen • Sicherheitsanforderungen • kürzester Weg "optimale" Wegwahl ist prinzipiell nicht möglich, da: – keine vollständige Information über das Netz in den einzelnen Knoten vorliegt – Wegwahl auf gewissen Zeitraum Auswirkungen hat Routing-Algorithmen Routing statisch determ. adaptiv stochastisch zentralisiert determ. isoliert stochast. determ. verteilt stochast. global lokal determ. stochast.d eterm. stochastisch Festes Routing • Source-Routing: Route wird vom Sender vorgegeben IP-Header Payload 3,5,7,8 • Internes Routing:Routingentscheidung durch Zwischenknoten starres Auswahlkriterium 2 3 L3 L2 1 4 L1 5 nach Knoten 1 2 3 4 5 via Leitung L2 L2 L3 – L1 y stabil y einfach y y keine Reaktion auf sich ändernden Netzzustand katastrophal bei Ausfall von Links oder Knoten Flooding in Knoten gibt Paket über alle Links → hohe Zuverlässigkeit große Anzahl von kopierten Datenpaketen → militärische Anwendungen Probabilistisches Routing 1 p1 2 p2 3 A B L P(L) 1 25% 2 25% 3 30% 4 20% L P(L) 1 75% 2 25% 3 - 4 - 4 A pn B "Hot Potato" Ausgangsleitung, die aktuell am wenigsten belastet ist 1 50 % 2 20 % L3 L4 3 90 % L2 A B L4 Problem: "Kreisen" Abhilfe: Liste der zuletzt besuchten Knoten mitführen "Hot Potato" Berücksichtigung der Handovernummer – Shortest Queue ohne Bias – Shortest Queue mit Bias Lokale Schätzverfahren nach via Knoten L1 L2 L3 1 4 8 7 2 5 1 3 6 4 L1 in L2 L3 Knoten via 1 L1 3 2 L2 3 3 L3 min Routing-Kriterium TD = Time Delay i = Zielknoten L = ausgehende Leitungen min TD (i,r) r z.B. L1, L2, L3 ♦ "Hot Potato": TD(i,r) = Restabarbeitungszeit an der Leitung Lr ♦ festes Routing: TD(i,r) = minimale Laufzeit nach Zielknoten i über Lr ♦ Backwards Learning: TD(i,r) = k·TD(i,r)+(1-k)·Tin(i,r) 0 ≤ k < 1 i j Adaptive Verfahren NCC y Network Control Center (NCC) – gibt Routingstrategien und Netzinformationen in regelmäßigen Zeitabständen an alle Knoten – Routingentscheidung lokal durch Knoten y verteiltes Routing – lokal aufgestellte Routingtabellen werden durch regelmäßigen Informationsaustausch mit Nachbarknoten aktualisiert LSA: Link State Advertisement / Announcement i Kooperierende Routing - Verfahren • eigene (lokale) Delay-Schätzungen • regelmäßiger Informationsaustausch zwischen Nachbarknoten Ui i Uj • Tabelle TDj mit Einträgen TDj(i, L) wird geschätzt j = Knoten i = Ziel L = Leitung min {TDj (i, L)} i≠j • Uj(i) := 0 i=j Tabelle der erwarteten Restlaufzeiten • Tabellen Uj werden regelmäßig zwischen Nachbarn ausgetauscht • Aktualisierung der Tabelle TDj anhand der Informationen von den Nachbarknoten: Uk(i) j→K → i TDj(i, Ljk) := P(i, Ljk) + Uk(i) i≠j 0 i=j Sukzessive Informationsfortpflanzung Informationen müssen zuverlässig sein sonst: (bekannteKatastrophe) Christmas Deadlock: Ein Knoten j meldete Uj = (0, . . . , 0) Folge: Fast gesamter Verkehr wurde über j geleitet ⇒ Zusammenbruch Nachteile: – unzuverlässige Informationen gefährlich – Informationsausbreitung dauert eine gewisse Zeit –"Schweinezyklus"-Effekt – zusätzlicher Overhead Informationsaustausch 1.) Informationsaustausch mit Nachbarn - RIP - Bellmann-Ford, Ford-Fulkerson - Distance Vector Routing SP1 SP3 SP2 2.) Globaler Informationsaustausch → Link State Routing Knoten LSA: Link State Advertisements LSA1 . . . LSAm Service Provider j Internet – Protokoll (IP) " T C P / IP " e n ts p ric h t S c h ic h te n 3 u n d 4 d e s O S I-M o d e ls OSI vs. TCP / IP Verarbeitung Darstellung Sitzung Transport Vermittlung Sicherung Bitübertragung Application Transport Network Link Media Telnet, FTP, SMTP, HTTP TCP, UDP IP, ICMP, IGMP Device Drivers Interface Card I P : tra n s p a re n te , v e rb in d u n g s lo s e Ü b e rtra g u n g v o n D a ta g ra m m e n I P - A d r e s s i e r u n g : ( I P V s .4 ) • h ie ra rc h is c h • 4 A d re s s e n fo rm a te • A d re s s e n lä n g e : 3 2 b it • 3 N e tz k la s se n • M u ltic a s t IP - Routing FTP Client FTP Client TCP TCP Routing IP IP IP-Protocol Ethernet Driver Ethernet Protocol Ethernet Driver IP IP-Protocol Token Ring Driver Token Ring Token Ring Driver Protocol Token Ring Ethernet IP-Datagramm IPv4 0 4 Bit Version 31 4 Bit IHL F D M Fragment Offset Identification Time-to-live Header total length Type of Service Protocol Header Checksum Sender IP-Name fester Headerteil 20 Byte Receiver IP-Address Options Datenteil Optionen 0...40 Byte DATA Version: IP-Versionsnummer (⇒ mehrere IP-Versionen gleichzeitig einsetzen) IHL: IP-Header-Length (in 32 Bit-Worten ≥ 5, ≤ 15 ⇒ Optionen max. 40 Byte) IP-Datagramm IPv4 Type of Service: 3Bit Precedence Priorität ( 0 (normale Datagramme) bis 7 (Steuerungspakete)) D Delay - (kurze) Verzögerung T Throughput - hoher Datendurchsatz R Reliability - große Zuverläsigkeit C Minimize Monitoring Cost 1 Bit - frei wird in der Regel nicht beachtet ! total length: Länge gesammtes Datagramm (in Bytes) ≤ 216-1 = 65535 Bytes Identification: alle Fragmente eines Datagrammes erhalten gleiche Identification D-Bit: Don't Fragment (alle Router müssen Fragmente ≤ 576 Byte bearbeiten) M-Bit: More Fragments (auf "1" gesetzt bei allen Fragmenten bis auf das letzte eines Datagrammes) IP-Datagramm IPv4 Fragment Offset: (13 Bits) Numerierung der Fragmente eines Datagrammes [13 Bits ⇒ 213 = 8192 Fragmente numerieren jedes Fragment muß mind. 8 Byte Daten haben ⇒ 8192 * 8 Byte = 65536 Byte] Time-to-Live: (8 Bits) Lebenszeit von Datagrammen begrenzen max. 255s Lebensdauer zulässig (Hops und Verweilzeit in Routern) tatsächlich werden nur Hops gezählt max. Wert erreicht ⇒ Datagramm verwerfen + Warnpaket an Quellhost Protocol: welches Transportprotokoll in Datenteil (UDP,TCP,...), feste Nummer Header Checksum: Komplement der Summe der 16-Bit-Wörter des Headers (nur des Headers) Header ändert sich von Router zu Router (Time-to-Live-Feld) ⇒ jeweils Checksum neu berechnen IP-Datagramm IPv4 OPTIONEN: Security: wie geheim ist Paket (Ziel z.B. bestimmte Länder/Netze umgehen) Strict Source Routing: Kompletter Pfad vom Quell- zum Zielhost Loose Source Routing: Liste von Routern, die in angegebener Reihenfolge durchlaufen werden sollen (weitere Router erlaubt) Record Route: Aufzeichnen IP-Adressen der durchlaufenen Router (max. 9 IP-Adressen möglich) Time Stamp: Record Route (je 32 Bit) + Zeitstempel (je 32 Bit) Subnet und Broadcast 000...00 Für Sonderzwecke Class A 1 - 126 126 Netze 111...11 0 24Bit für Host ≈16 Mio Hosts Netzteil 16382 Netze Class B Subnet 128.1 - 191.254 1 0 16 Bit für Host Netzteil Class C Host ≈ 64000 Hosts 192.1.1 - 223.254.254 1 1 0 8 Bit für Host Netzteil ≈ 2 Mio Netze Class D 1110 Class(E 11110 254 Hosts Multicast-Adresse 28 Bits für zukünftige Anwendungen) Subnet und Broadcast Class B: 3. Octet subnet 137.226.12.xxx ,, Class B Subnet Blaubaer: 137.226.12.136 10 001001. 11100010. 00001100. 10001000 PC´s, Mac´s Unix-WS (Fachgruppe Informatik) Serial Line IP SLIP - nur für IP - keine Fehlerüberwachung (→ Fehlerüberwachung in höheren Schichten) - keine dynamische Adressenzuweisung Für Internet - keine Authentifikation -zugang über Provider wenig geeignet Point-to-Point Protokoll PPP Ähnlich HDLC - Verbindungssteuerung LCP Link Control Protocol - Übertragung in Rahmen mit (optionaler) Fehlersicherung - Unterstützung der Vermittlungsschicht NCP Network Control Protocol (pro Protokoll der Vermittlungsschicht jeweils eigenen NCP) IP: dynamische Zuweisung von IP-Adressen - Verbindungsaufbau Schicht 1 (Modem-Verbindung) - Verbindungsaufbau auf Schicht 2 (PPP-Verbindung) Mit LCP (LCP-Pakete im Nutzdatenteil von PPPRahmen) Festlegen von PPP-Parameter Point-to-Point Protokoll PPP - Konfiguration der Schicht 3 mit NCP (NCP-Pakete in PPP-Paketen) - Schicht 3-Übertragung möglich (Internet-Zugang) - Internet-Zugang beenden - Vermittlungsschicht beenden mit NCP (IP-Adresse freigeben) - Mit dem LCP Verbindungsabbau auf Schicht 2 (PPP) - Modem-Verbindung (phys. Schicht) beenden Internet-Service-Provider ISP Internet Modempool a/b Modem ISDN User ISP PPP-Rahmen 1 1 01111110 11111111 Address 1 00000011 1/2 Protokoll Standard ≤ 1500 Byte Nutzdaten 2/4 1 Prüfsumme Flagge 01111110 Steuerung i.d.R keine Folgenummern Protokoll : (Standard 2 Byte) Pakete welchen Protkolls im Nutzdatenfeld 0....... Protokolle der Vermittlungsschicht 1....... Protokolle für die Verhandlung mit anderen Protokollen (LCP, NCP,...) Flagge wird - im Gegensatz zu HDLC- zeichengestopft LLC: : Länge des Protokollfelds max. Länge des Nutzdatenfeldes Länge der Prüfsumme Folgenummern ja/nein Address Steuerungs-Byte weglassen .... INTERNET Hosts Hosts Ethernetadressen Teilnetz LAN LAN Ethernet Router ISP LAN a/b ISDN (HDSL) User/Host Ethernet Ethernet flache Adressierung 48 Bit IP-Adresse: weltweit bekannt Ethernet-Adresse: i.d.R. nur im lokalen Netz bekannt Abbildung IP-Adresse auf die Ethernet-Adresse erforderlich ARP (Adress Resolution Protocol) lokal: IP-Adresse Ethernet Adresse ARP liegt kein Tabelleneintrag vor: Broadcast-Anfrage Sender Sender IP-Adresse Ethernet-Adresse Ziel Ziel IP-Adresse Ethernet-Adresse RI RE Router ZI Antwort Sender Sender IP Ethernet ZI ZE Ziel Ziel IP Ethernet RI RE ARP D A B C E H B kennt I J F G K IP + Ethernet-Adressen von A, C, D und die eigene IP-Adressen der anderen Rechner B sendet an E ein Datenpaket B: D: Adresse IP Quelle B Ziel E Ethernet B D IP B E Ethernet D E RARP Reverse Address Resulution Protocol Ethernet-Adresse bekannt, Internet-Adresse erfragen Internet-Anwendungen ANWENDUNGEN TCP UDP IP ARP ARP IP-Adresse IP-Adresse Ethernet-Adapter Ethernet-Adapter IP-Router Ethernet 1 Ethernet 2