39
Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes TCP/IP Grundlagen Andreas Hoster 9. September 2007 Vortrag f¨ ur den PC-Treff B¨ oblingen Andreas Hoster TCP/IP Grundlagen

TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

TCP/IP Grundlagen

Andreas Hoster

9. September 2007

Vortrag fur den PC-Treff Boblingen

Andreas Hoster TCP/IP Grundlagen

Page 2: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

Agenda

1 Grundlagen

2 IP Konfiguration

3 Protokolle

4 Routing

5 Fortgeschrittenes

Andreas Hoster TCP/IP Grundlagen

Page 3: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungIPv4 – IPv6AbkurzungenAufbau eines Netzwerkprotokolls

Einleitung

Unter TCP/IP wird ublicherweise das komplette auf IP basierendeNetzwerkprotokollsystem verstanden, welches aus dem IP und dendarauf aufbauenden TCP, UDP und ICMP Protokollen besteht unddie Basis der heute verwendeten Netzwerke, inklusive des Internets,darstellt.Alternative Netzwerkprotokolle wie IPX/SPX oder AppleTalk undahnliche spielen nur noch in Nischenregionen eine Rolle.Uber TCP/IP gibt es Bucher mit uber 500 Seiten, wir streifenheute also nur mal die Oberflache.

Andreas Hoster TCP/IP Grundlagen

Page 4: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungIPv4 – IPv6AbkurzungenAufbau eines Netzwerkprotokolls

IPv4 – IPv6

Es gibt im Moment zwei Versionen: IP Version 4 (IPv4) und IPVersion 6 (IPv6). Die gebrauchlichere ist IPv4, worauf sich auchdieser Vortrag beschrankt.IPv6 ist eine Erweiterung, die vorallem großere IP-Adressen besitzt,da die 32bit lange Adresse von IPv4, die 4 Milliarden Adressenerlaubt, nicht ausreichend ist, da durch die Bildung von Subnetzennicht alle Adressen sinnvoll verwendet werden konnen.

Andreas Hoster TCP/IP Grundlagen

Page 5: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungIPv4 – IPv6AbkurzungenAufbau eines Netzwerkprotokolls

Abkurzungen

IP Internet ProtocolTCP Transmission Control ProtocolUDP Universal Datagramm ProtocolICMP Internet Control Message ProtocolARP Adress Resolution ProtocolDHCP Dynamic Host Cofiguration ProtocolDNS Domain Name System

Andreas Hoster TCP/IP Grundlagen

Page 6: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungIPv4 – IPv6AbkurzungenAufbau eines Netzwerkprotokolls

Wortdefinition: Protokoll

Ein Protokoll ist ursprunglich eine formale Vereinbarung vonVerhaltensmaßregeln (z.B. das Hofprotokoll, welches die Etikettean Konigshofen regelt).In der Datenverarbeitung ist ein Protokoll (in diesemZusammenhang) die vereinbarten Regeln, wie der Datenverkehrzwischen zwei Sende- und Empfangsstationen abzulaufen hat.

Andreas Hoster TCP/IP Grundlagen

Page 7: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungIPv4 – IPv6AbkurzungenAufbau eines Netzwerkprotokolls

Aufbau Netzwerk: OSI-Schichtenmodell

OSI-Modell TCP/IP BeispielApplikation Layer Anwendungsschicht HTTPPresentation Layer Anwendungsschicht HTTPSession Layer Anwendungsschicht HTTPTransport Layer Transportschicht TCP / UDPNetwork Layer Internetschicht IPData Link Layer Netzzugangsschicht EthernetPhysical Layer Netzzugangsschicht Ethernet

Andreas Hoster TCP/IP Grundlagen

Page 8: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IP-AdresseSubnetz-MaskeStandardgatewayDHCPDNS

Bestandteile IP-Konfiguration

Fur ein ordnungsgemaßes Funktionieren eines Netzwerks ist dierichtige Konfiguration des IP Netzwerks notwendig.Die wichtigsten Bestandteile der IP Konfiguration sind:IP-AdresseSubnetz-MaskeStandardgatewayDNS-Server

Andreas Hoster TCP/IP Grundlagen

Page 9: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IP-AdresseSubnetz-MaskeStandardgatewayDHCPDNS

IP-Adresse

Die IP Adresse ist ein 32bit lange Zahl, Bsp.:11000000101010000000110000000101, welche zur besserenLesbarkeit und Merkbarkeit in 4x8bit unterteilt ist, Bsp.:192.168.12.5Die IP-Adresse muß innerhalb eines Netzwerks eindeutig sein damitbei der Kommunikation eindeutig festgelegt werden kann, wer mitwem kommuniziert.Fur private Netzwerke sind folgende IP Adressbereiche freigegeben:10.0.0.0 – 10.255.255.255172.16.0.0 – 172.31.255.255192.168.0.0 – 192.168.255.255Zusatzlich ist fur die Autokonfiguration von Systemen:169.254.0.0 – 169.254.255.255Pakete mit diesen Adressen werden im Internet verworfen!

Andreas Hoster TCP/IP Grundlagen

Page 10: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IP-AdresseSubnetz-MaskeStandardgatewayDHCPDNS

Subnetz-Maske

Die Subnetz-Maske dient zum Erkennen, ob eine IP-Adresse imselben Subnetz liegt wie der Rechner selber. Bei der Subnetzmaskesind die vorderen Bits, die das Netzwerk markieren auf binar 1gesetzt, die hinteren fur die Hosts auf 0,Bsp.:11111111111111111111111100000000 oder 255.255.255.0.Mit dem vorherigen Beispiel der IP-Adresse 192.168.12.5 ergibtsich, daß alle Rechner, deren IP-Adresse mit 192.168.12 anfangt imselben Netz liegen und die 5 den Rechner in diesem Netzwerkkennzeichnet.

Andreas Hoster TCP/IP Grundlagen

Page 11: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IP-AdresseSubnetz-MaskeStandardgatewayDHCPDNS

Standardgateway

Das Standardgateway ist derjenige Rechner, Router, Netzgeratwelches alle Pakete an IP-Adressen erhalt, von denen der Rechnernicht weiß, wo er sie hinschicken muß. Das Standardgateway mußein Rechner im selben Subnetz wie der Rechner selber sein, da beiIP Kommunikation nur direkte Kommunikation im selben Netzmoglich ist.Wie Rechner aus unterschiedlichen Netzen miteinanderkommunizieren kommt im Abschnitt Routing.

Andreas Hoster TCP/IP Grundlagen

Page 12: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IP-AdresseSubnetz-MaskeStandardgatewayDHCPDNS

DHCP = Dynamic Host Configuration Protocol

Da es muhselig ist, bei jedem Rechner die IP Einstellungen zukonfigurieren, gibt es DHCP.Bei DHCP stellt ein System eine Anfrage an einen DHCP Serverund erhalt von diesem die ganzen Konfigurationsdaten fur dieIP-Einstellungen wie IP-Adresse, Subnetz-Maske, Standardgateway,DNS-Server etc.Inzwischen ist in praktisch jedem DSL-Router ein DHCP Serverintegriert.

Andreas Hoster TCP/IP Grundlagen

Page 13: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IP-AdresseSubnetz-MaskeStandardgatewayDHCPDNS

DNS = Domain Name System

Da es muselig ist, sich die ganzen IP-Adressen zu merken, gibt esein Telefonbuch fur das Internet:Das Domain Name SystemDabei gibt es DNS-Server im Internet, welche Namen inIP-Adressen ubersetzen konnen, damit kann man z.B. im Browserwww.herma.de eingeben, der DNS Server ubersetzt das fur denRechner in die IP-Adresse (217.119.51.146) und damit kann derRechner die Anfrage losschicken.Fur ganz kleine private Netze kann man auch eine Datei auf demRechner pflegen (die hosts Datei) und die Zuordnung dort manuelleintragen. Was naturlich extremst aufwendig wird, wenn es mehrRechner werden und beim Zugang ins Internet vollig unpraktikabel.

Andreas Hoster TCP/IP Grundlagen

Page 14: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

Internet Protokollfamilie

Daß sich TCP/IP soweit durchgesetzt hat, hat es einigen seinerVorteile zu verdanken:IP ist unabhangig von der darunterliegenden Netzwerktechnik undkann daher mit Ethernet, Token Ring, Wahlleitungen etc.eingesetzt werden.IP erlaubt es uber seine Adressierungsschemas Gerate eindeutig zubestimmen, auch in Netzen so groß wie das Internet.Einzelne Protokolle im Uberblick:IPTCPUDPICMPARP

Andreas Hoster TCP/IP Grundlagen

Page 15: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

IP = Internet Protocol

Das IP Protokoll ist die Basis, auf denen TCP, UDP etc. aufbauen.Im OSI-Modell ist IP in der Vermittlungsschicht angesiedelt unddamit zustandig fur die Vermittlung der Daten zwischen denRechnern. Auf dieser Basis ist Netzwerke in Große des Internetsmoglich, da es die Funktionen fur Wegewahl und Weiterleitung inandere Netze bietet.

Andreas Hoster TCP/IP Grundlagen

Page 16: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

Aufbau eines IP Pakets

-0-------------------1-------------------2-------------------3---

-0-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1-

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Version|--IHL--|Type-of-Service|----------Total-Length---------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|---------Identification--------|Flags|------Fragment-Offset----|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|--Time-to-Live-|----Protocol---|---------Header-Checksum-------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|-----------------------Source-Address--------------------------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|--------------------Destination-Address------------------------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|--------------------Options--------------------|----Padding----|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|--------------------Daten----

+-+-+-+-+-+-+-+-+-+-+-+-+-----

Andreas Hoster TCP/IP Grundlagen

Page 17: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

IP Header Feldbedeutung

Version: 4 oder 6 fur IPv4 oder IPv6IHL: Lange des Header in 32 bit WortenType of Service: Fur Quality of Service, ob schnell oder lieber sicher etc.Total Length: Lange des Pakets inklusive HeaderIdentification: Zahl um nach einer Fragmentierung die Teilpakete in derrichtigen Reihenfolge zusammenzufugenFlags: Geben an ob fragmentiert werden darf und ob noch weitere FragmentekommenFragment Offset: Gibt an, wo im Gesamtpaket das Teilpaket eingefugt werdenmuß. Wird in 64bit Worten angegebenTime To Live: Lebensdauer, in Anzahl von Durchgangsstationen gemessenHeader Checksum: Prufsumme nur uber den Header, die Daten sind IP egalSource Address: IP-Adresse des SendersDestination Address: IP-Adresse des EmpfangersDaten: z.B. ein TCP, UDP oder ICMP Paket

Andreas Hoster TCP/IP Grundlagen

Page 18: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

TCP = Transmission Control Protocol

Das TCP Protokoll baut auf der Grundlage von IP auf (daher istauch meistens von TCP/IP die Rede) und ist im OSI Modell in derTransportschicht angesiedelt. TCP stellt fur den Rechner einenDuplex-Kommunikationskanal zu einer Gegenstelle dar (die daherauch Daten zurucksenden kann) und uberwacht dabei auch, daßdie Daten vollstandig und unverandert dort ankommen (allerdingskeine Sicherung gegen mutwillige Verfalschung!). Das Programm,welches uber TCP Daten verschickt, muß sich also nicht um diekorrekte Ubertragung kummern.Diese Sicherheit wird durch Prufsummen im TCP-Paket (Sicherunggegen Verfalschung) und durch das Bestatigen des Empfangers,welche Pakete er erhalten hat (Sicherung gegen Verlust vonDaten), gewahrleistet.

Andreas Hoster TCP/IP Grundlagen

Page 19: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

TCP Portnummern

Desweiteren kennt TCP eine weitere Adressierung, unterhalb derIP-Adresse, die sogenannten Portnummern.Diese Portnummern dienen einerseits dazu, daß der Empfangerweiß, fur welches Programm das Datenpaket gedacht ist. Soverwenden bestimmte Programme/Protokolle bestimmtePortnummern, z.B. 80 ist fur das HTTP Protokoll reserviert, 25 furSMTP.Außerdem konnen auf Senderseite nun mehrere Programme miteinem anderen Rechner kommunizieren, ohne daß die Daten derbeiden Kommunikationskanale sich vermischen, da die Programmevon unterschiedlichen Ports aus die Verbindung geoffnet haben.

Andreas Hoster TCP/IP Grundlagen

Page 20: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

Aufbau eines TCP Pakets

-0-------------------1-------------------2-------------------3---

-0-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1-

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|----------Source-Port----------|-------Destination-Port--------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|------------------------Sequence-Number------------------------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|--------------------Acknowledgment-Number----------------------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|--Data-|-----------|U|A|P|R|S|F|-------------------------------|

|-Offset|-Reserved--|R|C|S|S|Y|I|------------Window-------------|

|-------|-----------|G|K|H|T|N|N|-------------------------------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|-----------Checksum------------|---------Urgent-Pointer--------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|--------------------Options--------------------|----Padding----|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|-----------------------------Daten-----------------------------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------

Andreas Hoster TCP/IP Grundlagen

Page 21: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

TCP Header Feldbedeutung

Source Port: Source Port NummerDestination Port: Destination Port NummerSequence Number: Sequenznummer, wird verwendet um die richtigeReihenfolge der Pakete sicherzustellenAcknowledgement Number: Bestatigungsnummer, gibt an, welcheSequenznummer der Empfanger vom Sender als nachstes erwarten wurde.Dient dem Erkennen, ob alle Pakete angekommen sind.Data Offset: Ab wo fangen die Daten anControl Bits:URG: Urgent Pointer field significantACK: Acknowledgment field significantPSH: Push FunctionRST: Reset the connectionSYN: Synchronize sequence numbersFIN: No more data from senderWindow: Maximale DatentransfergroßeChecksum: Prufsumme

Andreas Hoster TCP/IP Grundlagen

Page 22: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

UDP = Universal Datagram Protocol

Das UDP Protokoll baut wie TCP auf dem IP Protokoll auf und istwie dieses in der Transportschicht angesiedelt. Im Gegensatz zuTCP ist UDP ein verbindungsloses Protokoll, es wird keinKommunikationskanal mit der Gegenstelle hergestellt sondern nurein Datenpaket an den Empfanger geschickt. Es wird auch nichtkontrolliert ob das Paket beim Empfanger ankommt, es wirdallerdings eine Prufsumme mitgeschickt, um Datenverfalschungenzu erkennen.Durch den Verzicht auf den Duplex-Kommunikationskanal und dieErkennung von verlorengegangen Paketen ist UDP sehr schnell,allerdings muß sich die Anwendung um verlorene Datenpaketeselber kummern.

Andreas Hoster TCP/IP Grundlagen

Page 23: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

UDP Paket Aufbau

-0------7-8-----15-16----23-24----31-

+--------+--------+--------+--------+

|--Source--Port---|Destination-Port-|

+--------+--------+--------+--------+

|-----Length------|----Checksum-----|

+--------+--------+--------+--------+

|----------data-octets--------------|

+----------------------

Source Port: Source Port NummerDestination Port: Destination Port NummerLength: Große des Pakets (inklusive Header)Checksum: Prufsumme

Andreas Hoster TCP/IP Grundlagen

Page 24: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

ICMP = Internet Control Message Protocol

Das ICMP Protokoll dient dazu, um Fehler oder sonstige ControlMessages untereinander austauschen zu konnen, z.B. das derEmpfanger nicht erreichbar ist, oder das mehr Pakete ankommen,als der Empfanger verarbeiten kann, oder die Bitte, eine Antwort zuschicken (um zu prufen, ob der Rechner an ist, der bekannte Ping).

Andreas Hoster TCP/IP Grundlagen

Page 25: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

Aufbau eines ICMP Pakets

-0-------------------1-------------------2-------------------3---

-0-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1-2-3-4-5-6-7-8-9-0-1-

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|-----Type------|-----Code------|----------Checksum-------------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|----Pointer----|-------------------unused----------------------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|------Internet-Header-+-64-bits-of-Original-Data-Datagram------|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type: Typ der Nachricht, z.B. 3 = Ziel nicht erreichbarCode: Spezifizierung des Typs, z.B. Typ = 3 und Code = 0 = Netzwerk nichterreichbarChecksum: PrufsummeAb Pointer sind die Daten Optional.

Andreas Hoster TCP/IP Grundlagen

Page 26: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

IPTCPUDPICMPARP

ARP = Address Resolution Protocol

Das ARP Protocol dient dazu, den Netzwerk IP-Adressen dieHardwareadressen der Netzwerkkarten (MAC-Adresse = MediaAccess Control) zuzuordnen, da diese auf OSI Ebene 2 zurAdressierung verwendet werden.Dabei wird ein Broadcast an alle Systeme im Netz gemacht mitder Frage welches System die IP xxx.xxx.xxx.xxx hat und nur dasSystem, welches diese Adresse hat antwortet.Die Systeme fuhren eine interne Liste, welche MAC Adresse zuwelche IP Adresse gehort, damit nicht bei jedem Paket einBroadcast verschickt werden muß.

Andreas Hoster TCP/IP Grundlagen

Page 27: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungDie Routing-Tabelletraceroute

Routing: Von einem Netz zum Anderen

In einem kleinen Netz wie daheim, ist nun das Kommunizieren viaIP ganz einfach:Der Sender schickt einen ARP Request raus, mit der gewunschtenIP Adresse.Der Empfanger antwortet auf diesen ARP Request.Der Sender kennt nun die MAC Adresse und kann das Datenpaketdort hinschicken.

Aber was machen wir, wenn das Ziel nicht hier ist, sondern z.B.irgendwo in Australien?Woher weiß der PC, wo er das Paket hinschicken muß?

Andreas Hoster TCP/IP Grundlagen

Page 28: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungDie Routing-Tabelletraceroute

Routing: Von einem Netz zum Anderen

Es ist wie im wirklichen Leben:Der PC muß es nicht wissen, er muß nur jemanden kennen, der esweiß.

Jeder PC fuhrt eine sogenannte Routing-Tabelle, in der errauslesen kann, wo er welche IP Pakete hinschicken muß.Inklusive einer Adresse, wo er alle Pakete hinschicken darf in derHoffung, daß dieses System weiß, wo das Paket hinmuß.Dieses System hatten wir in der Konfiguration schonmal:Das Standardgateway.

Andreas Hoster TCP/IP Grundlagen

Page 29: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungDie Routing-Tabelletraceroute

Routing: Die Routing Tabelle

Kernel IP RoutentabelleZiel Router Genmask Flags Metric Ref Use Iface10.0.0.0 * 255.255.255.0 U 0 0 0 eth0default server 0.0.0.0 UG 0 0 0 eth0

Diese Tabelle bedeutet:Alle Pakete an die IP-Adressen 10.0.0.??? gehen direkt uber dieEthernetkarte eth0 ins Netzwerk raus, alles andere schicke mal andas System server weiter.Da das mein Server ist, weiß ich, daß er das auch nicht weiß, aberauch er hat ein Standardgateway, daß von meinem Zugangsknotenbei Arcor.Der wiederum weiß ...Das geht solange, bis das Paket ankommt, oder ein Fehlerzuruckkommt.

Andreas Hoster TCP/IP Grundlagen

Page 30: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungDie Routing-Tabelletraceroute

Routing Probleme

Wenn nun die Routing Tabelle nicht stimmt, macht sich dasbemerkbar, indem manche oder alle Rechner nicht mehr erreichbarsind.Und es mussen nicht nur die Routen auf dem Hinweg stimmen,auch die Routen auf dem Ruckweg mussen stimmen, ansonstenschickt der Empfanger eventuell eine Antwort, die findet nur nichtzu mir.Bei diesen Problemen kann die Suche recht aufwendig werden, istaber die haufigste Ursache, wenn in Netzwerken Teile nicht mehrmiteinander kommunizieren konnen.

Andreas Hoster TCP/IP Grundlagen

Page 31: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

EinleitungDie Routing-Tabelletraceroute

traceroute = Der Weg zum Ziel

Mit dem Programm traceroute kann man sehen, welchen Weg einPaket nimmt:traceroute www.pc-treff-bb.detraceroute to www.pc-treff-bb.de (81.169.145.71), 30 hops max, 40 byte packets1 server (10.0.0.1) 0.091 ms 0.042 ms 0.038 ms2 dslb-084-057-128-001.pools.arcor-ip.net (84.57.128.1) 5.156 ms 5.155 ms 5.334 ms3 stg-145-254-14-121.arcor-ip.net (145.254.14.121) 5.131 ms 4.683 ms 4.931 ms4 ffm-145-254-19-221.arcor-ip.net (145.254.19.221) 7.870 ms 7.405 ms 7.388 ms5 ffm-145-254-16-18.arcor-ip.net (145.254.16.18) 18.476 ms 8.155 ms 8.129 ms6 atuin.rzone.de (80.81.192.110) 8.625 ms 9.334 ms 9.578 ms7 85.214.1.249 (85.214.1.249) 9.881 ms 10.760 ms 9.816 ms8 81.169.146.66 (81.169.146.66) 10.356 ms 10.659 ms 10.302 ms9 w07.rzone.de (81.169.145.71) 10.358 ms 10.287 ms 10.812 ms

Andreas Hoster TCP/IP Grundlagen

Page 32: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

NATPortforwardingFirewall

NAT = Network Address Translation

NAT wird verwendet, um mehrere Systeme hinter einer IP Adressezu verstecken, bzw. private Adressen in offentliche umzuwandeln.Wie auf Folie IP-Adresse erwahnt gibt es IP-Bereiche, die jederbeliebig verwenden darf, die aber im Internet nicht weitergeleitetwerden.Wenn der Heimrechner jetzt aber eine solche IP Adresse hat,wurde er nie Kontakt mit dem Internet haben, wenn der Routernicht NAT machen wurde.Bei NAT tauscht der Router einfach im IP Header dieOriginal-Absender Adresse durch seine eigene IP-Adresse aus undwenn eine Antwort zuruckkommt tauscht er die Ziel-Adresse(welche ja seine eigene ist) durch die des Ursprungssystems aus.

Andreas Hoster TCP/IP Grundlagen

Page 33: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

NATPortforwardingFirewall

Funktionsweise von NAT

Beispiel: HTTP AnfrageClient:10.0.0.2, Router:10.0.0.1/84.57.153.175,Ziel:217.119.51.146

Stand der Anfrage Quell-Adresse:Port Ziel-Adresse:PortClient schickt ab 10.0.0.2:1111 217.119.51.146:80Router schickt weiter 84.57.153.175:8888 217.119.51.146:80Antwort Empfanger 217.119.51.146:80 84.57.153.175:8888Router an Client 217.119.51.146:80 10.0.0.2:1111

Dazu fuhrt das System, welches NAT macht, eine Tabelle, welcheAnfragen er wohin uber welche Ports schickt, um dieRuckantworten dem richtigen System zuordnen zu konnen.

Andreas Hoster TCP/IP Grundlagen

Page 34: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

NATPortforwardingFirewall

Probleme bei NAT

NAT funktioniert einwandfrei bei Verbindungen, die der interneClient nach außen aufbaut, wenn der Empfanger nur denaufgebauten Kommunikationskanal verwendet.Sobald aber ein System von außen den Rechner mit der privaten IPerreichen will geht das nicht, weil die NAT Tabelle ja noch keinenEintrag zum Weiterleiten hat und der außere nicht sagen kann, daßer die 10.0.0.1 haben will, da diese Adresse im Internet nichtgeroutet wird.Andererseits sorgt dies bei den normalen Internetanwendern mitRoutern fur eine gewisse Sicherheit des privaten Rechners, da ernicht direkt erreichbar ist.

Andreas Hoster TCP/IP Grundlagen

Page 35: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

NATPortforwardingFirewall

Portforwarding

Damit nun ein Rechner hinter einem NAT-System direkt von außenerreichbar ist, muß auf dem NAT System sogenanntesPortforwarding betrieben werden.Dabei wird fest eingetragen, daß z.B. alle von außen kommendenPakete an Port 80 an das System mit IP 10.0.0.2 weitergeleitetwird (damit wurden alle HTTP Anfragen an 10.0.0.2weitergeleitet).Damit ergibt sich auch, daß es nur ein System hinter einem NATGerat geben kann, welches die Daten von einem bestimmten Portbekommen kann, also nur ein Webserver, ein FTP Server etc.(solange man bei den Standardports bleiben will).

Andreas Hoster TCP/IP Grundlagen

Page 36: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

NATPortforwardingFirewall

Firewall

Da nun bei der IP Kommunikation mittels Adresse undPortnummer festgestellt werden kann, wer was von uns will oderwer was ins Internet schicken will, kann man darauf aufbauendnaturlich den unerwunschten Verkehr filtern. Das ist die Funktioneiner Firewall, namlich alles unerwunschte auszusperren.Wobei dies nicht immer einfach ist, wenn mal viele Rechner mitvielen anderen auf vielen verschiedenen Ports kommunizieren, wirddas Regelwerk recht aufwendig.Auch wird es kompliziert, wenn Programme mit wechselnden Portsarbeiten oder sogar der Empfanger neue Verbindungen zum Senderaufbauen will (z.B. FTP).

Andreas Hoster TCP/IP Grundlagen

Page 37: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

NATPortforwardingFirewall

Einfachstes Firewall Beispiel

Nehmen wir z.B. an, daß man einen Webserver betreibt. Derbenutzt Port 80 fur HTTP und Port 443 fur HTTPS. Auf alleanderen Ports, die irgendwelche Programme offnen, mussen dieSurfer nicht kommen, also werden nur die Ports 80/443freigegeben, der Rest gesperrt.Damit nun der Webmaster noch was machen kann, wird z.B. Port22 (SSH = Secure SHell) fur die eine IP, von der der Webmasteraus arbeitet geoffnet, die anderen durfen immer noch nicht.Regeln:Von uberall auf Webserver Port 80: ErlaubenVon uberall auf Webserver Port 443: ErlaubenVon IP Webmaster auf Port 22: ErlaubenAlles Andere: Verbieten

Andreas Hoster TCP/IP Grundlagen

Page 38: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

NATPortforwardingFirewall

Ende

Vielen Dank fur Ihre Aufmerksamkeit!

Andreas Hoster TCP/IP Grundlagen

Page 39: TCP/IP Grundlagen - PC-Treff-BB · 2011. 3. 6. · Grundlagen IP Konfiguration Protokolle Routing Fortgeschrittenes IP-Adresse Subnetz-Maske Standardgateway DHCP DNS DNS = Domain

GrundlagenIP Konfiguration

ProtokolleRouting

Fortgeschrittenes

NATPortforwardingFirewall

Referenzen

TCP/IP Network Administration by Craig Hunt, O’Reilly,ISBN 1-56592-322-7, 630 pages

Building Internet Firewalls by D. Brent Chapman & ElizabethD. Zwicky. O’Reilly, ISBN 1-56592-124-0, 517 pages

Wikipedia, www.wikipedia.de

RFCs: 791 - IP, 792 - ICMP, 793 - TCP, 768 - UDP, 826 -ARP, www.faqs.org/rfcs/

WireShark, Netzwerkanalyse-Tool, www.wireshark.org

Andreas Hoster TCP/IP Grundlagen