Title: TCP/IP Networking Basics
1TCP/IP NetworkingBasics
- by SoDBthrawn
- thrawn_at_thedigitalbrotherhood.org
2Was 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
3Was erwartet euch nicht?
- Installationsanleitungen
- Informationen zur Betriebssystem-spezifischen
Implementierung - Details zu auf TCP/IP basierenden Diensten
- Einführung in Netzwerk-Hardware
4Kurze Geschichte
- Entstammt der Forschung des US-Verteidigungsminist
erium im Bereich packet-switched networks. - 1969 erstmals im Arpanet eingesetzt
- Entwicklung des heutigen Protokollsatzes in den
frühen 80ern - Aktuell verbreitete Version IPv4
5Adressen
- 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 Cunterscheiden sich in der
Anzahl der Oktette, die zur Netzwerkidentifikation
verwendet werden
6Exkurs 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 1z.B. 0 1
0 0 0 0 1 0 66 - Konversion
- Binär -gt Dezimal Addition der Positionswerte
- Dezimal -gt Binär
7Adressklassen - Ãœberblick
- Adressklassen unterscheiden sich in der Anzahl
der Oktette zur Netzwerkidentifikation - ? Anzahl Netzwerke -gt ? Anzahl Hosts
- ? Anzahl Hosts -gt ? 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
8Netzwerkklassen - Unterscheidung
- Können anhand des ersten Oktettes erkannt werden
Klasse Anfang Anfang Ende Ende
Klasse Binär Dezimal Binär Dezimal
A 00000001 1 01111111 127
B 10000000 128 10111111 191
C 11000000 192 11011111 223
9Netzwerkklassen - Zusammenfassung
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
- Nicht erlaubt
- 127.x.x.x (Loopback)
- Nur aus 0en oder 1en bestehende Host- oder
Netz-Ids (Broadcast) z.B. 191.255.255.255
10Adressen 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
11Die 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
12Subnet-MaskBeispiel
- AND-Verknüpfung beide 1 -gt 1 ansonsten -gt 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.0 11000110 00110101 10010011 00000000
13Standard Subnet-Masks
Klasse Standard-Subnetmask
A 255.0.0.0
B 255.255.0.0
C 255.255.255.0
14Teilnetze 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 unterzubringen theoretisch und
praktisch unmöglich - -gt 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 -gt Network-Mask. - ? Anzahl Teilnetze -gt ? Anzahl Hosts? Anzahl
Hosts -gt ? Anzahl Teilnetze
15Teilnetze-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
16DNS und ARP
- Logische Adressierung DNS foo.org
- IP-Adresse Internet 123.123.123.1
- Physische Adressierung Ethernet
00000C07ACE0 - 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
17Protokollstapel
Anwendungsschicht
FTP
Telnet
HTTP
TCP
UDP
Transportschicht
IP
ICMP IGMP
Internetschicht
ARP
NDIS
Netzzugangsschicht
Netzwerkkarten-Treiber
18Enkapsulierung
- Enkapsulierung -gt AbstrahierungJede Schicht
fügt den Daten ihren header hinzu und übergibt an
die nächste Schicht
Anwendungsschicht
DATEN
DATEN
Transportschicht (TCP)
DATEN
Header
DATEN
Header
Internetschicht (IP)
DATEN
Header
Header
DATEN
Header
Header
Netzzugangschicht (Ethernet)
DATEN
Header
Header
Header
DATEN
Header
Header
Header
19Wichtige Informationen im IP-Header
- IP-Quelladresse
- IP-Zieladresse
- IP-ProtokolltypGibt den Protokolltyp an, um den
es sich beim IP-Body handelt (TCP,UDP,ICMP..) - IP-Optionen z.B. Source-Routing, allerdings fast
immer leer
20Informationen im TCP-Header
- TCP-Quellport
- TCP-Zielport
- TCP-Flags
- URG (Urgent)
- ACK (acknowledgement)
- PSH (push)
- RST (reset)
- SYN (synchronize)
- FIN (finish)
21TCP-Handshake
CLIENT
SERVER
ACK0,SYN1
ACK1,SYN1
ACK1,SYN0
ACK1,SYN0
22Dienste 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 -gt eingehende Pakete können einer
Verbindung zugeordnet werden - Paketfilter-Firewalls leiten u.a. nur Pakete an
bestimmte Ports weiter
23NAT (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 -gt
gemeinsame Nutzung einer IP)
24NAT - Beispiel
Quelladresse 152.61.72.14 Quellport 1780
Quelladresse 10.0.0.66 Quellport 1985
10.0.0.1
152.61.72.14
Zieladresse 152.61.72.14 Zielport 1780
Zieladresse 10.0.0.66 Zielport 1985
166.75.19.12
10.0.0.66
25IPv6 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 -gt Verbreitung nur langsam
26Ressourcen
- 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 (OReilly) Einrichten
von Internet Firewalls (OReilly)