TCP/IP Networking Basics

26
© The digital brotherhood / [SoDB]|thrawn TCP/IP Networking Basics by [SoDB]|thrawn [email protected]

description

TCP/IP Networking Basics. b y [SoDB]|thrawn [email protected]. Adressen und Adressklassen Teilnetze, Subnet- und Network-Masks DNS und ARP TCP/IP und UDP/IP-Protokollstapel Aufbau von Paketen Dienste und Ports NAT. Was erwartet Euch?. Installationsanleitungen - PowerPoint PPT Presentation

Transcript of TCP/IP Networking Basics

Page 1: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

TCP/IP NetworkingBasics

by [SoDB]|thrawn

[email protected]

Page 2: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Was erwartet Euch?

• Adressen und Adressklassen

• Teilnetze, Subnet- und Network-Masks

• DNS und ARP

• TCP/IP und UDP/IP-Protokollstapel

• Aufbau von Paketen

• Dienste und Ports

• NAT

Page 3: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Was erwartet euch nicht?

• Installationsanleitungen

• Informationen zur Betriebssystem-spezifischen Implementierung

• Details zu auf TCP/IP basierenden Diensten

• Einführung in Netzwerk-Hardware

Page 4: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Kurze Geschichte

• Entstammt der Forschung des US-Verteidigungsministerium im Bereich packet-switched networks.

• 1969 erstmals im Arpanet eingesetzt

• Entwicklung des heutigen Protokollsatzes in den frühen 80ern

• Aktuell verbreitete Version: IPv4

Page 5: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Adressen

• TCP/IP(v4)-Adresse = 32Bit-Nummer• Wird zur besseren Leserlichkeit als Dezimaladresse

mit 4 durch . getrennten Oktetten (8Bit-Zahlen) dargestellt.

z.B.: 00001010 00000000 00000000 00000001 = 10.0.0.1• IP-Adresse = Kombination von Netz-ID und Host-ID• 3 Klassen: A, B und C:

unterscheiden sich in der Anzahl der Oktette, die zur Netzwerkidentifikation verwendet werden

Page 6: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Exkurs: das Binärsystem

• Zeichenvorrat von lediglich 2 Zeichen: 0 und 1• Jede Position repräsentiert den doppelten Wert der

ihr vorhergehenden:128 | 64 | 32 | 16 | 8 | 4 | 2 | 1

z.B. 0 1 0 0 0 0 1 0 = 66

• Konversion:– Binär -> Dezimal: Addition der Positionswerte

– Dezimal -> Binär:

Page 7: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Adressklassen - Überblick• Adressklassen unterscheiden sich in der Anzahl der Oktette

zur Netzwerkidentifikation:

Anzahl Netzwerke -> Anzahl Hosts Anzahl Hosts -> Anzahl Netzwerke

Klasse Netz-ID Bits Host-ID Bits Adress-Schema

A 8 24 NNN.HHH.HHH.HHH

B 16 16 NNN.NNN.HHH.HHH

C 24 8 NNN.NNN.NNN.HHH

Page 8: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Netzwerkklassen - Unterscheidung

• Können anhand des ersten Oktettes erkannt werden:

KlasseAnfang Ende

Binär Dezimal Binär Dezimal

A 00000001 1 01111111 127

B 10000000 128 10111111 191

C 11000000 192 11011111 223

Page 9: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Netzwerkklassen - Zusammenfassung

Nicht erlaubt:– 127.x.x.x (Loopback)

– Nur aus 0en oder 1en bestehende Host- oder Netz-Ids (Broadcast) z.B. 191.255.255.255

Klasse von bis # Netzwerke # Hosts

A 1.0.0.0 126.255.255.255 126 16777214

B 128.255.255.255 191.255.255.255 16384 65534

C 192.0.0.0 223.255.255.255 2097152 254

Page 10: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Adressen für die interne Verwendung

Werden von der IANA (Internet Assigned Numbers

Authority) keiner Organisation zugewiesen und im Internet nicht geroutet (=ignoriert)

10.0.0.0 - 10.255.255.255

172.16.0.0 - 172.31.255.255

192.168.0.0 - 192.168.255.255

Page 11: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Die Subnet-Mask

• Dient zur Zerlegung einer Adresse in Netz-ID und Host-ID.

• Es werden die Bits der Netz-ID mit 1 maskiert, die Host-ID-Bits sind auf 0 gesetzt

• Durch eine logische AND-Verknüpfung von Subnet-Mask und Adresse kann die Netz-ID ausgelesen werden.

• Wichtig für Routing:wird z.B. verwendet, um auf einfache Weise zu ermitteln, ob sich der Zielrechner im lokalen Netz befindet

Page 12: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Subnet-MaskBeispiel

• AND-Verknüpfung:beide 1 -> 1ansonsten -> 0

• Zerlegung einer Class C-Adresse:198.53.147.45 11000110 00110101 10010011 00101101

255.255.255.0 11111111 11111111 11111111 00000000

Resultat:

198.53.147.011000110 00110101 10010011 00000000

Page 13: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Standard Subnet-Masks

Klasse Standard-Subnetmask

A 255.0.0.0

B 255.255.0.0

C 255.255.255.0

Page 14: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Teilnetze und Network-Mask• Zur besseren Nutzung des Adressraumes und besseren

Organisation großer Netze z.B.: Class A-Netz: 16777214 mögliche Hosts

alle in einem Netzwerksegment unterzubringentheoretisch und praktisch unmöglich `-> Aufteilung in unabhängige Teilnetze

• Subnet-Mask wird um zusätzliche Bits erweitert um Host-ID-Bits als zusätzliche Netz-ID-Bits zu verwenden -> Network-Mask.

Anzahl Teilnetze -> Anzahl Hosts Anzahl Hosts -> Anzahl Teilnetze

Page 15: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Teilnetze-Beispiel

• 1 Class A-Netz soll in Teilnetze aufgeteilt werden:

Network-Mask: # Teilnetze # Hosts

255.0.0.0 (Standard) 1 16777214

255.128.0.0 2 8388606

255.192.0.0 4 4194302

255.255.0.0 256 65534

Page 16: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

DNS und ARP

Logische Adressierung DNS foo.orgIP-Adresse Internet 123.123.123.1Physische Adressierung Ethernet 00:00:0C:07:AC:E0

• DNS = Domain name system:Dient zur Namensauflösung, findet also zu jedem Domainnamen die entsprechende IP zu.

• ARP = Adress Resolution protocol:Ordnet IP-Adressen die entsprechende MAC-Adresse der lokalen Netzwerkkarte zu, findet also den Zielrechner im Ethernet

DNS

ARP

Page 17: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Protokollstapel

FTP

TCP UDP

IP

ICMPIGMP

ARP

NDIS

Netzwerkkarten-Treiber

Anwendungsschicht

Transportschicht

Internetschicht

Netzzugangsschicht

Telnet HTTP

Page 18: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Enkapsulierung

Enkapsulierung -> Abstrahierung:Jede Schicht fügt den Daten ihren header hinzu und übergibt an die nächste Schicht:

DATENHeader

DATEN

DATENHeaderHeader

Anwendungsschicht

Transportschicht (TCP)

Internetschicht (IP)

Netzzugangschicht (Ethernet) DATENHeaderHeaderHeader

DATEN Header

DATEN

DATEN Header Header

DATEN Header Header Header

Page 19: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Wichtige Informationen im IP-Header

• IP-Quelladresse

• IP-Zieladresse

• IP-Protokolltyp:Gibt den Protokolltyp an, um den es sich beim IP-Body handelt (TCP,UDP,ICMP..)

• IP-Optionen: z.B. Source-Routing, allerdings fast immer leer

Page 20: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Informationen im TCP-Header

• TCP-Quellport

• TCP-Zielport

• TCP-Flags:• URG (Urgent)

• ACK (acknowledgement)

• PSH (push)

• RST (reset)

• SYN (synchronize)

• FIN (finish)

Page 21: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

TCP-Handshake

CLIENT ACK=0,SYN=1

ACK=1,SYN=1

ACK=1,SYN=0

ACK=1,SYN=0

SERVER

Page 22: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Dienste und Ports

• Um mehreren Applikationen den Zugriff zu ermöglichen bzw. mehrere TCP/IP-Dienste auf einem Rechner anbieten zu können

• Unterschiedliche Dienste auf unterschiedlichen Ports -> eingehende Pakete können einer Verbindung zugeordnet werden

• Paketfilter-Firewalls leiten u.a. nur Pakete an bestimmte Ports weiter

Page 23: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

NAT (=IP-Masquerading)

• NAT = Native Adress Translation• Router verändert Daten in Paketen, um die

Netzwerkadressen anzupassen• Adressen auf der anderen Seite werden verborgen• Häufig zur gemeinsamen Nutzung einer Internet-

Verbindung verwendet (Gateway versieht Pakete der Clients mit untersch. Port-Nummern -> gemeinsame Nutzung einer IP)

Page 24: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

NAT - Beispiel

10.0.0.66

10.0.0.1

152.61.72.14

Quelladresse: 10.0.0.66

Quellport: 1985

Quelladresse: 152.61.72.14

Quellport: 1780

166.75.19.12Zieladresse: 152.61.72.14

Zielport: 1780

Zieladresse: 10.0.0.66

Zielport: 1985

Page 25: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

IPv6 – kurzer Ausblick

• 128Bit Adressraum (2128 Adressen sollten ausreichen um jeder Glühbirne auf unserem Planeten eine IP für einen embedded webserver zu verpassen ;-)

• Flows: virtuelle Verbindungen auf IP-Ebene• Verschlüsselung u. Authentifizierung auf IP-Ebene• Dynamische Konfiguration und source routing• Noch stärker („next protocol-field“) geschachtelte

Header• PROBLEM: IPv4-Hardware nicht kompatibel, muß

getunnelt werden -> Verbreitung nur langsam

Page 26: TCP/IP Networking Basics

© The digital brotherhood / [SoDB]|thrawn

Ressourcen

• Entsprechende RFCs (z.B. von www.internic.net)

• Newsgroup comp.protocols.tcp-ip• Div. HOWTOs (z.B. von http://www.linuxdoc.org)

• Diverse Bücher, z.B.:Hunt, Craig: TCP/IP Netzwerk-Administration (O‘Reilly) Einrichten von Internet Firewalls (O‘Reilly)