Kommunikationsnetze Praxis Internet Michael Rotert E-Mail: Michael@Rotert.de Version 4.0
Inhalt Einführung (Teil 1) Lokale Netze (LAN) Topologie, Komponenten Ethernet Punkt-zu-Punkt über Ethernet Virtuelle LANs Internet Ebene 3 Protokolle (Teil 2) Definition, Geschichte Architektur, Protokolle IPv4 (Teil3) IPv4 Header Fragmentierung IPv4 Adressierung IPv4 Routing (Teil 4) Autonome Systeme Routing Protokolle Internet Exchanges Zusatzprotokolle (Teil 5) ARP / RARP ICMP (ping und traceroute) DHCP und NAT IPv6 (Teil 6) Entwicklung, Geschichte IPv6 Header IPv6 Adressierung IPv6 Zusatzprotokolle (Teil 7) Konfiguration, Autokonfiguration Fragmentierung DHCP, ICMP Drahtlose und mobile Netze (Teil 8) Eigenschaften Adressierung/Routing mobiler Benutzer Mobilität in IPv4 Netzen WLAN/Wifi Transportschicht (Teil 9) TCP und UDP Anwendungsschicht (Teil 10) Grundlagen, Architekuren DNS Electronic Mail (SMTP, POP3, IMAP) P2P-Anwendungen Kommunikationsnetze M.Rotert SS2015 Teil3 2
IPv4 Header Format Vers IHL Type of Service Total Lenght Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding --------------------------------------------------------------32 Bit----------------------------------------------------- Vers 4 Bit z.zt. V4 Protokollentwicklung (seit 12.8.83) IHL/Internet Header Länge 4 Bit (5-15) Options variable, Vielfache von 32Bit, Min=20 Byte, Max=60 Byte Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 3
IPv4 Header Format Vers IHL Type of Service Total Lenght Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding -----------------------------------------------------------------------------32 Bit------------------------------------------------------------------------------ Type of Service 8 Bit (Qualität, Transit) 0 1 2 3 4 5 6 7 Precedence D T R 0 0 1 1 1 Network Control 1 1 0 Internetwork Control 1 0 1 Flash Override 0 1 1 Flash 0 1 0 Immediate 0 0 1 Priority 0 0 0 Routine Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 4
IPv4 Header Format Vers IHL Type of Service Total Lenght Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding ---------------------------------------------------------------------------------32 Bit---------------------------------------------------------------------------- Total Length 16 Bit in Bytes (Octets), Header+ Daten (=TCP+Daten). Werte von 20 2** 16-1. Jeder Rechner muss mind. 576 Bytes empfangen können. Identification 16 Bit Nummer der Datagramme. Dient dazu das Datagramm zusammen mit Ziel- und Quelladresse als Unikat auszuzeichnen. Wird im Sender vom darüberliegenden Protokoll versorgt; falls nicht, generiert IP einen Wert. Somit können wiederholte Pakete für ein und denselben Auftrag von Paketen für mehrfache Erledigung unterschieden werden; jedoch keine Kontrolle auf Vollständigkeit. Dient vor allem zur Anpassung an MTU des Data Link Layer (Zerlegung in Teilpakete) dazu, die einzelnen Fragmente als Teile eines bestimmten Paketes identifizieren. Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 5
IPv4 Header Format Vers IHL Type of Service Total Lenght Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding ------------------------------------------------------------------------------32 Bit----------------------------------------------------------------------------- Flags 3 Bit (Don t Fragment, More Fragments) Fragment Offset 13 Bit 1. Fragment = 0, Fragment Daten relativ zum Beginn der Daten (Max =8191) adressiert jeweils 8 Byte ( Max Datagram =65536 Byte) Time to Live 8 Bit (in Sek.), 255 = 4,25 Minuten; Wert wird in jeden Router vermindert Protocol 8 Bit bezeichnet Ebene 4 Protokoll Header Checksum 1er Komplement (16 Bit) addieren und dann 1er Komplement der Summe Achtung Neuberechnung bei Gateways Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 6
IPv4 Header Format Vers IHL Type of Service Total Lenght Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding -------------------------------------------------------------------------32 Bit--------------------------------------------------------------------------------- Source Address 32 Bit-Quelladresse Destination Address 32 Bit-Zieladresse Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 7
IPv4 Header Format Vers IHL Type of Service Total Lenght Identification Flags Fragment Time to Live Protocol Header Checksum Offset Source Address Destination Address Options Padding --------------------------------------------------------------------------32 Bit--------------------------------------------------------------------------------- Options 0 1 2 3 4 5 6 7 CF Class Number CF Copy Flag 0 = nicht kopieren, d.h. Information nur im Header des 1. Fragments z.b. bei Zeitstempel 1 = Kopieren; muß z.b. sein bei der Sicherheitsoption Number Class 00 = control 01 = reserviert für zukünftige Aufgaben 10 = debugging and measurement 11 = reserviert für zukünftige Aufgaben Zeitstempelinformation enthält den Wert 10, alle anderen 00 s. definierte Options Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 8
IPv4 Header Format Vers IHL Type of Service Total Lenght Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding -------------------------------------------------------------------------------32 Bit----------------------------------------------------------------------------- Options 0 1 2 3 4 5 6 7 CF Class Number 0 00 0000 Ende Optionsliste nur 1 Byte 1 00 0010 Sicherheit routing nach Sicherheitsstufe 0 00 0011 Loose source routing von Quelle vorgegeben 1 00 1001 Strict source routing - nur angegebene Router sind erlaubt 1 00 0111 Record route 1 00 1000 Stream ID 0 10 0100 Time Stamp Übertragungszeit! Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 9
IPv4 Header Format Vers IHL Type of Service Total Lenght Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding Options 0 1 2 3 4 5 6 7 CF Class Number 0 00 0000 Ende Optionsliste nur 1 Byte 1 00 0010 Sicherheit routing nach Sicherheitsstufe 0 00 0011 Loose source routing von Quelle vorgegeben 1 00 1001 Strict source routing - nur angegebene Router sind erlaubt 1 00 0111 Record route 1 00 1000 Stream ID 0 10 0100 Time Stamp Übertragungszeit! Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 10
IPv4-Fragmentierung Links haben eine Maximalgröße für Rahmen Diese nennt man Maximum Transmission Unit (MTU) Verschiedene Links haben unterschiedliche MTUs IP-Datagramme müssen unter Umständen aufgeteilt werden Aufteilung (Fragmentierung) erfolgt in den Routern Zusammensetzen (Reassembly) erfolgt beim Empfänger IP-Header enthält die notwendigen Informationen hierzu Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 11
Fragmentierung und Reassemblierung MTU Path discovery: Ist ein Paket zu groß wird dem Absender eine Fehlermeldung geschickt. Dieser muss dann die maximale Paketlänge (MTU) anpassen. Dieses Verfahren nennt sich Path MTU Discovery und existstiert in ähnlicher Form auch in IPv6. Es muss im Datenpaket das Don't-Fragment-Flag (DF) gesetzt werden. Kommt es zum Verlust eines Datenpaketes oder kommt es zu Fehlern bei der Fragmentierung schlägt das Path MTU Discovery fehl. Die MTU dann auf 68 Byte abgesenkt. Das führt zu einer höheren Paketanzahl und einem unwirtschaftlichen Protokoll-Overhead. Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 12
IPv4 Technik - Internetadressen 32 Bit Wert Notation: d.d.d.d. Ehemals Klassenaufteilung: Klasse A Adressen (8-Bit) 127 Netze, mehr als 16 Mio. Hosts pro Netz Klasse B Adressen (16 Bit) ca. 16.000 Netze, ca. 65.000 Hosts pro Netz Klasse C Adressen (24 Bit) 2 Mio. Netze, 254 Hosts pro Netz Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 13
IPv4 Adressierung 0 Netznummer Rechnernummer 1 0 Netznummer Rechnernummer 1 1 0 Netznummer Rechnernummer 0 1 2 3-7 8-15 16-23 24-31 Klasse max. Anzahl Netze Max. Anzahl Rechner je Netz Adressblöcke A 126 > 16 Millionen < 127 B 16.384 65534 128-191 C > 2 Millionen 254 192-223 Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 14
Besondere IPv4-Adressen a) 127.0.0.1 Loopback (127.x.y.z) b) Vorsicht mit Adressen, die ganze Bytes entweder nur mit 0 oder nur mit 1 haben: Broadcasts, Multicasts. Falls die Rechneradresse nur aus Bits mit dem Wert 1 besteht, wird dies als Broadcast für alle Rechner im jeweiligen Netz verstanden. c) Broadcast-Adressen: c1: alle Rechner in einem unbekannten Netz nach RFC: 255.255.255.255 c2: alle Rechner des Netzes 130.50 nach RFC: 130.50.255.255 Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 15
IPv4 Adressierung Adressen bestehen aus festen Netz- und Hostteil 0 1-7 8-31 0 Net-Id Host-Id Netzmaske: 255.0.0.0 0 1 2-15 16-31 1 0 Net-ID Host-Id Netzmaske: 255.255.0.0 0 1 2 3-23 24-31 1 1 0 Net-Id Host-Id Netzmaske: 255.255.255.0 Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 16
IPv4 Adressierung Aus historischen Gründen sind zwei der Adressen eingeschränkt verwendbar. Dies sind: Die erste IPv4-Adresse im Subnetz (Hostanteil nur Nullen) diese Adresse ist die Netzadresse des Subnetzes. Die letzte IPv4-Adresse im Subnetz wird standardmäßig ebenfalls als Broadcast-Adresse verwendet. Viele Systeme unterstützen mittlerweile jedoch auch die Verwendung eines Netzwerks ohne Broadcastadresse. Falls alle Systeme im Netzwerksegment dies unterstützen, kann sie überall deaktiviert und dann normal verwendet werden. Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 17
IPv4 Adressierung Beispiel: 10000110 10011011 00110000 01100000 134.155.48.96 11111111 11111111 00000000 00000000 255.255.00.00 Net-Id = 134.155 Host-Id = 48.96 Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 18
Klassenlose IPv4 Adressierung Classless InterDomain Routing (CIDR) Idee: Die Aufteilung nach netid/hostid wird immer explizit per Subnetzmaske durchgeführt Keine explizite Unterscheidung zwischen netid und subnetid Schreibweise: a.b.c.d/x, wobei x die Länge der netid (hier auch Präfix oder englisch prefix) bestimmt Alternative Schreibweise zur Subnetzmaske Beispiel: 192.48.96.0/23 11000000.00110000.01100000.00000000 ( netidhostid ) Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 19
CIDR (Classless Inter-Domain Routing) Vergabe nach topologischen Gesichtspunkten Europa: 194.0.0.0, 195.0.0.0 (193.0.0.0) Nordamerika: 198.0.0.0, 199.0.0.0 asiatisch-pazifischer Raum: 202.0.0.0, 203.0.0.0 Adressvergabe stark providergebunden umnummerieren bei Providerwechsel? Idee des Subnetting Supernetting 193.141.40.0 255.255.255.0 193.141.41.0 255.255.255.0 193.141.42.0 255.255.255.0 193.141.43.0 255.255.255.0 193.141.40.0 255.255.252.0 kürzere Schreibweise 193.141.40.0/22 Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 20
Supernetting Reduktion von Netzeinträgen: Zusammenfassung von mehreren Routereinträgen mittels der Angabe der gemeinsamen Netzinfo der unterschiedlichen Netze 16 32 Netz Rechner A, B, C Supernetting Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 21
Classless IPv4 Netz 16 Rechner 32 network bits A, B, C host bits 1 1... 1 1 0 0... 0 0 1. Alleinige Beschreibung der Länge der Netzadresse ohne Bezug auf die Klassen 2. Bei der Netzadressvergabe wird zwar noch von A,B und C Netzen geredet, die Vergabe erfolgt allein nach dem classless IP Konzept 3. Die Unterstützung von classless IP kann bei modernen IP-Routern erwartet werden, jedoch nicht bei allen Hosts vorausgesetzt werden (Problem wenn mehrere "class C-Netze ohne Router in einem Netz eingesetzt werden). Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 22
CIDR-Adress-Blöcke CIDR Prefix Netzmaske # Adressen # Netze (B=16bit, C=8bit) /13 255.248.0.0 512K 8 B oder 2048 C /14 255.252.0.0 256K 4 B oder 1024 C /15 255.254.0.0 128K 2 B oder 512 C /16 255.255.0.0 64K 1 B oder 256 C /17 255.255.128.0 32K 128 C /18 255.255.192.0 16K 64 C /19 255.255.224.0 8K 32 C /20 255.255.240.0 4K 16 C /21 255.255.248.0 2K 8 C /22 255.255.252.0 1K 4 C /23 255.255.254.0 512 2 C /24 255.255.255.0 256 1 C /25 255.255.255.128 128 1/2 C /26 255.255.255.192 64 1/4 C /27 255.255.255.224 32 1/8 C /28 255.255.255.240 16 1/16 C /29 255.255.255.248 8 1/32 C /30 255.255.255.252 4 1/64 C Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 23
CIDR x ISP's Block: 11001110.00000000.01000000.00000000 206.0.64.0/18 Client Block: 11001110.00000000.01000100.00000000 206.0.68.0/22 Class C #0: 11001110.00000000.01000100.00000000 206.0.68.0/24 Class C #1: 11001110.00000000.01000101.00000000 206.0.69.0/24 Class C #2: 11001110.00000000.01000110.00000000 206.0.70.0/24 Class C #3: 11001110.00000000.01000111.00000000 206.0.71.0/24 Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 24
CIDR Da eine IPv4-Adresse aus 32 Bit besteht, ist der variable Teil 32 Bit minus Präfixlänge Bit lang. Die Präfixlänge ist die Anzahl der Einsen in der Netzmaske. Die Anzahl der Adressen im Subnetz berechnet sich dadurch zu 2 32 Präfixlänge. In einem /24-Netz gibt es also 2 32 24 = 2 8 = 256 IP-Adressen. Die IPv4-Präfixlängen /0 und /32 sind speziell in der Hinsicht, dass sie das ganze IPv4-Internet respektive einen einzelnen Host abdecken. Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 25
CIDR Welche Netzadressen mit der Netzmaske 255.255.255.0 werden mit der Schreibweise 193.168.30.0/22 dargestellt und wie sieht die Netzmaske dieser Schreibweise aus? Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 26
CIDR Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 27
CIDR Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 28
CIDR Zusammenfassung auf höherer Ebene möglich Filiale 194.120.34.0/24 Firma 194.120.32.0/21 Provider 194.120.0.0/14 Größe der Routertabellen somit fast konstant nur möglich mit Border Gateway Protocol (ab BGP4) Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 29
CIDR - Subnetze Aufgabe: Gegeben sei das Netz 192.168.10.0 mit der Subnetzmaske 255.255.255.0. Dieses Netz soll in möglichst viele Subnetze aufgeteilt werden. Pro Subnetz soll aber für mindestens 60 Host-Rechner eine IP-Adresse zur Verfügung stehen. Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 30
CIDR - Subnetze Berechnen Sie eine Potenz von 2, die mindestens 60+2 (2 mehr als Sie benötigen [für Netz- und Broadcastadresse]) ergibt. Die kleinste Zahl, die dies erfüllt, ist 2 6, also 64. Setzen Sie nun die letzten 6 Bits (die 6 von 2 6 ) Ihrer neuen Subnetzmaske auf 0. 1111'1111.1111'1111.1111'1111.1100'0000 = 255.255.255.192 Gleiches Ergebnis mit 32 6 = 26 -> 192.169.10.0/26 (s. Tabelle S.86: 192) Beim Einsatz dieser Subnetzmaske haben Sie folgende Subnetze zur Verfügung: Adressen 192.168.10.0 192.168.10.63 (1. Subnetz) Adressen 192.168.10.64 192.168.10.127 (2. Subnetz) Adressen 192.168.10.128 192.168.10.191 (3. Subnetz) Adressen 192.168.10.192 192.168.10.255 (4. Subnetz) Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 31
( 3330 Besondere Adressen IPv4 (RFC Address Block Present Use Reference --------------------------------------------------------------------------------------------------------------- 0.0.0.0/8 "This" Network [RFC1700, page 4] 10.0.0.0/8 Private-Use Networks [RFC1918] 14.0.0.0/8 Public-Data Networks [RFC1700, page 181] 24.0.0.0/8 Cable Television Networks -- 39.0.0.0/8 Reserved but subject to allocation [RFC1797] 127.0.0.0/8 Loopback [RFC1700, page 5] 128.0.0.0/16 Reserved but subject to allocation -- 169.254.0.0/16 Link Local -- 172.16.0.0/12 Private-Use Networks [RFC1918] 191.255.0.0/16 Reserved but subject to allocation -- 192.0.0.0/24 Reserved but subject to allocation -- 192.0.2.0/24 Test-Net 192.88.99.0/24 6to4 Relay Anycast [RFC3068] 192.168.0.0/16 Private-Use Networks [RFC1918] 198.18.0.0/15 Network Interconnect Device Benchmark Testing [RFC2544] 223.255.255.0/24 Reserved but subject to allocation -- 224.0.0.0/4 Multicast [RFC3171] 240.0.0.0/4 Reserved for Future Use [RFC1700, page 4] Kommunikationsnetze M.Rotert SS2015 Teil 3: IPv4 Grundlagen 32