Grundlagen von TCP/IP



Ähnliche Dokumente
Grundlagen von TCP/IP

Grundzüge der Datenkommunikation Grundlagen von TCP/IP

Grundlagen von TCP/IP

Grundlagen von TCP/IP

Grundkurs Routing im Internet mit Übungen

TCP/IP-Administration unter UNIX

ICMP Internet Control Message Protocol. Michael Ziegler

Netzwerke 3 Praktikum

KN Das Internet

TCP/IP Troubleshooting. Jochen Reinwand RRZE-Kolloquium Praxis der Datenkommunikation 5. November 2014

TCP/IP Troubleshooting

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

Grundlagen der Rechnernetze. Internetworking

TCP/IP Troubleshooting

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Routing im Internet Wie findet ein IP Paket den Weg zum Zielrechner?

TCP/IP-Protokollfamilie

Adressen im Internet (Wdh.)

IP Adressen & Subnetzmasken

Übung 6. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen MI-T7 / DO-T5 SS 2015) Michael Schwarz

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur

Internet Routing am mit Lösungen

UDP-, MTU- und IP- Fragmentierung

IP routing und traceroute

Internet Protokolle. ICMP & Ping Internet Controll Message Protokolls

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

CSMA/CD: - keine Fehlerkorrektur, nur Fehlererkennung - Fehlererkennung durch CRC, (Jabber) Oversized/Undersized

Netzwerk. Um den Hostnamen angezeigt zu bekommen $ hostname $ hostname -f Um den Hostnamen zu ändern $ hostname <neuerhostname>

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur

TCP/UDP. Transport Layer

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Einführung in die. Netzwerktecknik

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

Ether S-Net Diagnostik

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Netzwerk-Programmierung. Netzwerke.

Verbindungslose Netzwerk-Protokolle

The Cable Guy März 2004

Internetprotokoll TCP / IP

Internetzugang Modul 129 Netzwerk Grundlagen

Prof. Dr. Klaus Lang, Fachhochschule Bingen. rwho rhosts.. NIS YP ... NFS RIP/OSPF/EGP ARP/RARP SLIP/PPP. Modem/V24/ISDN

Netzwerk Linux-Kurs der Unix-AG

Rechnernetze Übung 8 15/06/2011. Schicht 7 Schicht 6 Schicht 5 Schicht 4 Schicht 3 Schicht 2 Schicht 1. Switch. Repeater

15 Transportschicht (Schicht 4)

RARP, BOOTP, DHCP Wie ermittelt ein Client seine IP-Adresse?

How to install freesshd

Modul 13: DHCP (Dynamic Host Configuration Protocol)

TCP/IP Troubleshooting

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Seite Wireless Distribution System (Routing / Bridging) 3.1 Einleitung

7. TCP-IP Modell als Rollenspiel

Linux 08. Linux WS 04/05 by DNS - named: in /etc/named.conf. DNS Top-Level-DNS

Vorlesung SS 2001: Sicherheit in offenen Netzen

Technische Grundlagen von Internetzugängen

Netzwerk Linux-Kurs der Unix-AG

Befehlsreferenz. Copyright Stefan Dahler 11. Oktober 2010 Version 3.0. Seite - 1 -

CCNA Exploration Network Fundamentals. Chapter 6 Subnetze

7 Transportprotokolle

Grundlagen DNS 1/5. DNS (Domain Name System)

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.

Gemeinsam statt einsam - ein Internet-Zugang für mehrere Rechner Wie geht das? - Tricks und Verfahren einer Technik, die wirklich Geld spart.

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Peer-to-Peer- Netzwerke

CISCO-Router. Installation und Konfiguration Dr. Klaus Coufal

Anwendungsprotokolle: HTTP, POP, SMTP

Router 1 Router 2 Router 3

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

Netzwerk- Konfiguration. für Anfänger

Client/Server-Systeme

TCP/IP. Internet-Protokolle im professionellen Einsatz

TCP SYN Flood - Attack. Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

IP-Netzwerke und Protokolle

IP-Adressen und Ports

Mobilkommunikationsnetze - TCP/IP (und andere)-

Im Jahre 1983 wurde TCP/IP das Standardprotokoll im DOD, und ist heute der generische Name für die gesamte Sammlung von Protokollen.

Werkzeuge zur Netzwerkdiagnose

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

Firewall Implementierung unter Mac OS X

Gruppe Grundlegende Konfiguration... 1 Übersicht Routerbefehle... 2 Schlussendliche Konfiguration... 2 TFTP-Server... 5 Gruppe 2...

Network Address Translation (NAT) Prof. B. Plattner

Thema IPv6. Geschichte von IPv6

Fachbereich Medienproduktion

Vorwort Vorwort zur deutschen Übersetzung... 11

Telekommunikationsnetze 2

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

Chapter 8 ICMP. CCNA 2 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Vorlesung 11: Netze. Sommersemester Peter B. Ladkin

Windows 2008R2 Server im Datennetz der LUH

Network Address Translation (NAT) Warum eine Übersetzung von Adressen?

Konfigurationsanleitung Network Address Translation (NAT) Funkwerk. Seite Copyright Stefan Dahler Oktober 2008 Version 1.

Anbindung des eibport an das Internet

Transkript:

Falko Dreßler, Regionales Rechenzentrum falko.dressler@rrze.uni-erlangen.de 1

Überblick Historie Architektur von TCP/IP Link Layer IP (Internet Protocol) IP-Adressen Subnetze ARP (Address Resolution Protocol) ICMP (Internet Control Message Protocol) TCP (Transmission Control Protocol) UDP (User Datagram Protocol) DNS (Domain Name Service) Routing Grundlagen WiN- und REVUE-Netz Einfache UNIX-Kommandos Fehlersuche 2

Historie Situation der 70er Jahre Proprietäre Protokolle (z.b. DECNET, SNA) Ziele Offene Kommunikationsplattform Zuverlässige Datenkommunikation Entwicklung Entwickelt von Universität Stanford und Bolt, Beranek und Newman Unterstützt durch DARPA (Advanced Research Project Agency) Erster Einsatz im ARPANET 1982: Einsatz in 4.2BSD UNIX 1983: Alle Rechner im ARPANET müssen Internet Protokolle verwenden Heute: ca. 2,5 Mio Endgeräte via Internet miteinander verbunden 3

Historie 2 Mittel der Standardisierung IAB: Internet Activities Board - plant und koordiniert die Entwicklung des Internet und der Internet- Protokolle IETF: Internet Engineering Task Force - besteht aus Arbeitsgruppen, in denen die weitere Entwicklung der Internetprotokolle geplant wird. Teil des IAB. RFC: Internet Request for Comments - die Internet- Standards und Entwürfe. Weniger formal als ISO- Standards. 4

Architektur von TCP/IP TCP/IP-Schichtenmodell ist älter und einfacher als das ISO-OSI-Referenzmodell: Application Transport Network Link telnet, ftp, http TCP, UDP IP, ICMP, IPv6 Ethernet 5

Architektur von TCP/IP 2 Aufgaben der Schichten Link Layer: realisiert die physikalische Datenübertragung incl. Verpackung der Daten, Zugriff auf das Netzwerk Network Layer: Adressierung und Wegbestimmung der Pakete, Fragmentierung Transport Layer: Datenfluß zwischen Endsystemen, evtl. Übertragungssicherung, Flußsteuerung Application Layer: Abwicklung der speziellen Anwendung 6

Beispiel für die beteiligten Protokolle bei einer ftp-sitzung Rechner A Rechner B Application Anwendungsprotokoll ftp Transport Transportschichtprotokoll Router TCP Network IP-Protokoll Network IP-Protokoll IP Link IP-Protokoll Interface IP-Protokoll Ethernet-Treiber Netzwerk 1 Netzwerk 2 (Ethernet) 7

TCP/IP Protokollsammlung TCP/IP wird durch mehrere Teilprotokolle realisiert. Man spricht deshalb von einer Protokollsammlung oder einer Protocol-Suite. Anwender- Prozeß Anwender- Prozeß Application TCP UDP Transport ICMP IP ARP RARP Network Hardware-Schnittstelle Link 8

Link Layer IP ist auf einer Vielzahl von Medien (mittels RFC) definiert: Ethernet FDDI (Fiber Distributed Data Interface) Asynchron SLIP (Serial Line IP) PPP (Point-to-Point Protocol) Token Ring ATM (Asynchronous Transfer Mode) Classical IP over ATM 9

IP (Internet Protocol) Aufbau von IP-Paketen IP-Adressen Subnetze ARP ICMP 10

Aufbau von IP-Paketen VERS HLEN Service Type Identification FGS Time To Live Protocol Source IP Address Destination IP Address IP Options (so vorhanden) Data Total Length Fragment Offset Header Checksum Padding Bedeutung der Felder: VERS: Versionsnummer (z.zt. 4) HLEN: Länge des Paket-Headers in 32 Bit-Worten Total Length: Länge des ges. Paketes in Bytes (max. 65535) Identification: eindeutige Kennung eines Paketes FGS: (Flags) legen fest, ob ein Paket fragmentiert werden darf, etc. Fragment Offset: Offset des akt. Fragments in Vielfachen von 8 Bytes Time To Live (TTL): maximale Lebensdauer eines Paketes; wird von jedem Router um 1 erniedrigt; wenn TTL=0, wird das Paket verworfen und eine Fehlermeldung (ICMP) an den Absender geschickt Protocol: Kennung für das Protokoll der übergeordneten Schicht (TCP=6, UDP=17) Header Checksum: Prüfsumme für den Paket-Header Source IP Address: Absenderadresse Destination IP Address: Zieladresse IP Options: Optionen Data: Anwendungsdaten 11

Internet Datagram Wichtig: IP ist verbindungslos, d.h. jedes Paket wandert unabhängig von seinem Vorgänger und Nachfolger durch das Netz (Routing). Dabei kann es vorkommen, daß ein Paket in mehrere zerlegt (fragmentiert) und wieder zusammengesetzt werden muß. Weiterhin kann sich die Reihenfolge der Pakete ändern. Rechner A Fragm. 2 Rechner B Paket 1 Fragm. 1 12

IP-Adressen Ziel: Jede Rechnerschnittstelle muß eindeutig identifizierbar sein. IP-Adressen sind 4 Byte lang und werden in einen Netzwerk- und einen Rechneranteil gegliedert. Unterschiedliche Netzklassen: Class A Class B 0 7 Bit Netz-Id 24 Bit Host-Id 10 14 Bit Netz-Id 16 Bit Host-Id Class C Class D Class E 110 21 Bit Netz-Id 8 Bit Host-Id 1110 28 Bit Multicast Group-Id 11110 Reserviert für spätere Verwendung Die Universität hat zwei Klasse-B-Netze (131.188.0.0 für die Wissenschaft und 141.67.0.0 für die Medizin sowie mehrere Klasse-C- Netze. Für die Wähleingänge wird das nicht nach außen routbare Netz 10.10.0.0 verwendet. 13

Subnetze Ziel: Strukturierung des Adreßraums Der Adreßraum einer Organisation wird durch eine sogenannte Subnetzmaske aufgeteilt. Die Subnetzmaske legt fest, welche Bits als Netzadresse verwendet werden. Beispiel 1 Beispiel 2 131 188 3 2 255 255 255 0 Netzwerk: 131.188.3.0 Rechner: 2 Broadcast: 131.188.3.255 Rechner-IP-Adresse Subnetzmaske 131 188 29 129 255 255 255 224 Netzwerk: 131.188.29.128 Rechner: 1 Broadcast: 131.188.29.159 Alle Bits auf 0 im Host-Id-Teil einer IP-Adresse bestimmen die Netzadresse und alle Bits auf 1 im Host-Id-Teil ergeben die Broadcast- Adresse. 14

ARP (Address Resolution Protocol) The Address Resolution Protocol, ARP, allows a host to find the physical address of a target host on same physical network, given only the target s IP address. Ziel: Zu einer gegebenen logischen (IP-) Adresse die zugehörige Hardware-Adresse (z.b. MAC-Adresse) ermitteln. Der Ausgangsrechner schickt einen Broadcast mit der gesuchten IP-Adresse los. Der Zielrechner antwortet mit seiner Hardware-Adresse. Wichtig: ARP baut nicht auf IP auf! 1. Wer ist 131.188.3.150? Zielrechner IP: 131.188.3.150 MAC: 8:0:20:97:1f:60 Ausgangsrechner Zielrechner IP: 131.188.3.150 MAC: 8:0:20:97:1f:60 2. Ich bin 131.188.3.150 mit 8:0:20:97:1f:60! Ausgangsrechner 15

ICMP (Internet Control Message Protocol) The Internet Control Message Protocol, ICMP, allows gateways to send error or control messages to other gateways or hosts. ICMP-Pakete sind normale IP-Pakete, bei denen das Protokoll-Feld auf 1 gesetzt ist. ICMP-Pakete enthalten ein Typ-Feld und ein Code-Feld, das die Fehlermeldung genauer spezifiziert. Type Field 0 3 4 5 8 11 12 13 14 17 18 Beschreibung Echo Reply Destination Unreachable Source Quench Redirect Echo Request Time Exceeded Parameter Problem Timestamp Request Timestamp Reply Address Mask Request Address Mask Reply 16

ICMP 2 Code Values für Destination Unreachable Code Value 0 1 2 3 4 5 6 7 8 9 10 11 12 Beschreibung Network unreachable Host unreachable Protocol unreachable Port Unreachable Fragmentation needed, DF set Source route failed Destination network unknown Destination host unknown Source host isolated Communication with destination network prohibited Communication with destination host prohibited Network unreachable for type of service Host unreachable for type of service 17

TCP (Transmission Control Protocol) Erstes Transportprotokoll auf IP Definiert Ende-zu-Ende-Verbindung Bietet gesicherte Übertragung Flußkontrolle mittels Van-Jacobson-Algorithmus Dominiert im Weitverkehrsbereich Stellt eine Datenstromschnittstelle zur Verfügung, die mittels Prozeduren von Applikationen genutzt werden kann 18

TCP 2 Socket-Konzept: Ein Socket dient zur eindeutigen Identifikation eines Dienstes auf einem Rechner Ein Prozeß (eine Anwendung) wird auf einem Rechner durch eine eindeutige Portnummer identifiziert Formal: Eine Association (eine TCP-Verbindung) wird durch ein 5-Tupel charakterisiert: {Protokoll; lokale Adresse; lokaler Prozeß; remote Adresse; remote Prozeß} Beispiel: {tcp; 131.188.3.150; 1022; 131.188.3.40; 22} lisa$ netstat -an grep 131.188.3.40 131.188.3.150.1022 131.188.3.40.22 17520 0 33580 0 ESTABLISHED 131.188.3.150.1011 131.188.3.40.22 17520 0 33580 0 ESTABLISHED 19

Beispiele für TCP-Anwendungen telnet: Ermöglicht den Zugriff auf entfernte Rechner. Eigener Rechner verhält sich wie ein angeschlossenes Terminal. Port 23. ftp (File Transfer Protocol): Datenübertragung von/zu einem entfernten Rechner. Es werden zwei Verbindungen (für Kommandos und Datenübertragung) aufgebaut. Port 20 (Daten) und 21 (Kommandos). smtp (Simple Mail Transfer Protocol): Elektronische Post. Port 25. http (Hypertext Transfer Protocol): Übertragung von WWW-Daten. Port 80. 20

Aufbau eines TCP-Pakets HLEN Source Port Reserved Checksum Sequence Number Acknowledge Number Code Bits Options Data Destination Port Window Urgent Pointer Padding Source Port / Destination Port: Prozeßidentifikation auf Quell- und Zielrechner. Sequence Number / Acknowledge Number: dienen der Flußkontrolle HLEN: Länge des Headers in 32 Bit-Worten Window: aktuelle Fenstergröße bei der Datenübertragung Checksum: Prüfsumme (beinhaltet auch einen Teil des IP-Headers) Urgent Pointer: dient zur Übertragung von beschleunigten Daten 21

TCP - Geschichte einer Verbindung Receive SYN + ACK segment Rechner 1 Rechner 2 Send SYN seq=x Verbindungsaufbau Receive SYN segment Send SYN seq=y, ACK x+1 Send ACK y+1 Send Packet x+1 Receive ACK x+2 Send FIN seq=x Receive ACK segment Receive FIN + ACK segment Send ACK y +1 Datenübertragung Verbindungsabbau Receive ACK segment Receive Packet x+1 Send ACK x+2 Receive FIN segment Send ACK x +1 Inform Application Send FIN ACK x +1 Receive ACK segment 22

TCP Zustandsautomat Zustandsautomaten dienen zur Protokollspezifikation Die Beschriftungen an den Übergängen bezeichnen das empfangene / gesendete Paket begin closed passive open close active open/syn syn/syn+ack reset listen send/syn close/fin SYN RECVD ack close/fin established syn/syn+ack fin/ack CLOSE WAIT SYN SEND close/ timeout/ reset FIN WAIT-1 ack fin/ack fin/ack ack closing ack LAST ACK close/fin ack FIN WAIT-2 fin/ack TIMED WAIT timeout nach 2 segment lifetimes 23

UDP (User Datagram Protocol) Ungesichertes Transportprotokoll Effizienter als TCP im LAN-Bereich Einsatz für Multimedia-Anwendungen Basis für Client-Server-Lösungen Keine Flußkontrolle Anwendung muß Datenverluste selber behandeln Beispiele: NFS (Network File System), NIS (Network Information System), SNMP (Simple Network Management Protocol) 24

DNS (Domain Name Service) Problem: IP-Adressen sind schwer zu merken Idee: Einführung symbolischer Namen Erfordern Umsetzungstabellen Einführung von Nameservern, die alle Adressen einer Domain auflösen können Client 1. Welche Adresse hat cssun? 2. cssun hat die 131.188.3.9! Nameserver 3. Hallo 131.188.3.9! cssun Neben den primary-nameservern gibt es noch secondary-nameserver (Ausfallsicherheit!) Die Nameserver aller Domains arbeiten weltweit zusammen, um global Adressen aufzulösen. Koordinierung über die root-nameserver. Für die Kommunikation auf physikalischer Ebene benötigt man Hardwareadressen. Die Umsetzung erfolgt über ARP. 25

Routing Was ist Routing? Router können aufgrund der Ziel-IP-Adresse im ankommenden Paket entscheiden, in welche Richtung das Paket weitervermittelt werden soll. Warum Routing? Logische (effiziente) Trennung von Subnetzen Verhinderung von Broadcast-Stürmen Optimierung der Netzwerkleistung durch automatische Leitungswahl (redundante Anbindung) Wie wird geroutet? Statisches Routing: Routing-Einträge werden vom Administrator von Hand erstellt und verwaltet Dynamisches Routing: Die Router tauschen Routing- Informationen über Routingprotokolle aus. 26

Statisches vs. Dynamisches Routing Dynamisches Routing kann durch falsche Informationen gestört werden Dynamisches Routing erzeugt Netzlast Statisches Routing funktioniert nur bei einfachen Netztopologien Keine Backup-Pfade bei statischem Routing Statisches Routing ist arbeitsintensiv bei Änderungen Näheres in Routing und Routing-Protokolle im FAU-Netz 27

IP-Routing-Algorithmus Route_IP_DATAGRAM (datagram, routing_table) extract destination IP address, I D, from datagram compute IP address of destination network, I N if IN matches any directly connected network address send datagram to destination over that network; (this involves resolving ID to a physical address (ARP), encapsulate datagram, and sending the frame) else if ID apears as a host specific route route datagram as specified in the table else if ID apears in routing table route datagram as specified in the table else if default route has been specified route datagram to default gateway else declare a routing error 28

Routing-Tabelle Tabelle, in der vermerkt ist, welche Netze oder Rechner wie erreichbar sind. Destination 131.188.3.0 131.188.10.0 131.188.71.0 131.188.71.15 Default Distance 0 0 2 1 Route Direct Direct 131.188.10.5 131.188.3.15 131.188.5.3 131.188.71.0 131.188.3.0 131.188.5.0 Rechner 1 131.188.71.15 131.188.71.1 131.188.3.15 Router A Router B 131.188.3.250 131.188.5.1 Router C 131.188.3.1 131.188.5.3 Kann mittels Konfiguration statisch oder mittels Routing-Protokollen (Protokolle zum Austausch von Erreichbarkeitsinformationen) dynamisch aufgebaut werden. 29

Routing-Protokolle RIP (Routing Information Protocol) Alle 30 Sekunden werden Broadcasts zum Austausch der Routing- Information ausgelöst. Jeder Router bzw. jedes Endsystem erhält dadurch Informationen über seine direkten Nachbarn. Es wird eine Routing-Tabelle erzeugt, in der die Zieladresse mit einer Metrik versehen ist. Diese Metrik ist beim RIP der hopcount, also die Anzahl der Systeme, die ein Paket zu diesem Ziel durchlaufen muß. Der Vorteil von RIP ist seine Einfachheit und seine weite Verbreitung. Nachteile sind die langsame Konvergenz und eine Unflexibilität, da nur eine Netzmaske und eine Metrik unterstützt wird. 30

Routing-Protokolle 2 OSPF (Open Shortest Path First) Jeder Knoten kennt den kompletten Aufbau des Netzwerks. Er prüft die Erreichbarkeit aller seiner direkten Nachbarn und sendet diese Informationen an alle Knoten im Netz. Aus den eigenen Informationen und denen von allen anderen Knoten findet er mittels des Shortest Path First -Algorithmus den kürzesten Weg. Die Vorteile von OSPF sind eine schnelle Konvergenz, die Unterstützung verschiedener Metriken (z.b. Geschwindigkeit der Leitung) und Netzmasken, sowie eine einfache Problemverfolgung als bei RIP. Ein Nachteil ist, daß es noch nicht so verbreitet ist, und daß Implementierungen z.t. noch fehlerhaft sind. 31

Deutsches Wissenschaftsnetz (B-WiN) Verbund der deutschen L&F-Gemeinde, Teil des Internet-Backbone Organisiert und betrieben vom DFN-Verein (Verein zur Förderung des deutschen Forschungsnetzes e.v.) Mehr als 400 Anschlüsse (128kBit/s, 2MBit/s, 34MBit/s, 155MBit/s), darunter auch ISPs wie XLink, Eunet, ECRC und Nacamar Netzprotokolle: ATM (PVC) und IP Anschluß der FAU: 155MBit/s 32

Deutsches Wissenschaftsnetz (G-WiN) Internet2 in Deutschland Organisiert und betrieben vom DFN-Verein (Verein zur Förderung des deutschen Forschungsnetzes e.v.) Anschlüsse mit Übertragungsgeschwindigkeiten von 128kBit/s, 2MBit/s, 34MBit/s, 155MBit/s und 622MBit/s, ab 2001 auch 2,48GBit/s Netzprotokolle: IP (ATM-Dienst geplant) Anschluß der FAU (ab 06/2000): 622MBit/s 33

REVUE REchner Verbund Universität Erlangen Im Augenblick: In der Wissenschaft: 180 Netze mit 8164 Hosts In der Medizin: 64 Netze und 3048 Hosts 10 Sondernetze Backbone über ATM (622MBit/s und 155MBit/s) Anschlüsse der Institute via ATM, FastEthernet und GigabitEthernet 34

Einfache UNIX-Kommandos netstat ifconfig inetd route routed, in.routed nslookup ping traceroute arp 35

netstat netstat - Statusinformationen des Netzwerkes Synopis: netstat [ -anv ] netstat [ -s -g -m -p -f address_family ] [-P protocol ] [ -n ] netstat -i -I interface [ interval ] netstat -r [ -anv ] netstat -M [ -ns ] Beschreibung: netstat zeigt die Inhalte von mehreren Netzwerk-Datenbankstrukturen in verschiedenen Formaten: Die erste Form zeigt für jedes Protokoll eine Liste der aktiven Sockets. Die zweite selektiert bestimmte Datenbankstrukturen, abhängig von den Optionen. Die dritte Form liefert laufende Verkehrsstatistiken der konfigurierten Interfaces. Die vierte liefert Routinginformationen und die letzte Form zeigt Multicastinformationen. Optionen: -a zeigt den Status aller Sockets. Ohne diese Option werden nur aktive Sockets angezeit. -v verbose Informationen. -n zeigt Netzwerkadressen als Nummern (keine Adreßauflösung). -s zeigt Protokoll-Statistiken. -g zeigt die Zugehörigekeit zu einer Multicastgruppe. -m Statistiken, die von Managementroutinen über den Puffer-Pool aufgezeichnet werden. -p zeigt die ARP-Tabelle. -f address_family zeigt Reports über die angegebene Adreßfamilie (inet, unix). -P protocol zeigt die Statistik nur für ein Protokoll (z.b. tcp). 36

netstat 2 -i zeigt den Status aller konfigurierten Interfaces. -I interface zeigt Statistiken des angegebenen Interfaces. -r zeigt die Routingtabellen. -M zeigt die Multicast-Routingtabellen. Ausgaben und Beispiele: Zweite Form: Es wird für jeden aktiven Socket die lokale und die remote Adresse, die Sende- und Empfangswarteschlange (Bytes), das Protokoll und der interne Status des Protokolls angezeigt. Das Format der Ausgabe für die Socketadresse ist hostname.port bzw. network.port, falls eine Socketadresse ein Netzwerk bezeichnet. Nicht spezifizierte oder Wildcard -Adressen werden mit * gekennzeichnet. Dritte Form: Falls ein Intervall angegeben wurde, zeigt netstat eine Tabelle mit kummulierten Statistiken über die transferierten Pakete, die Fehler und die Kollisionen, die Netzwerkadressen des Interfaces und die maximale Paketgröße (MTU). Jede weitere Zeile zeigt inkrementelle Statistiken für das Intervall. Vierte Form: Es wird die Routingtabelle ausgegeben, in der die verfügbaren Routen und deren Status verzeichnet sind. Jeder Eintrag besteht aus Zielhost oder Zielnetzwerk, dem Gateway, dem Status, der Anzahl der aktiven Verbindungen, der Anzahl der über diese Route übertragenen Pakete, sowie dem Interfacenamen, der für diese Route benutzt wird. Die Statusinformationen bestehen aus folgenden Einträgen: U - Die Route ist UP G - Die Zieladresse ist ein Gateway D - Die Route wurde dynamisch durch ein Redirect erzeugt H - Die Zieladresse ist ein Host Zusammen mit der Option -v erhält man auch die Maske für die Routen. netstat -a -P tcp netstat -rn netstat -s -P tcp netstat -i netstat -s netstat -in 10 37

ifconfig ifconfig - Konfiguration der Parameter eines Netzwerkinterfaces Synopis: ifconfig interface [[ address_family ] address ] [ parameters ] Beschreibung: ifconfig wir benutzt, um eine Adresse einem Netzwerkinterface zuzuweisen bzw. Netzwerkparameter eines Interfaces zu verstellen. ifconfig wird während der Boot-.Phase des Rechners benutzt, um Netzverbindungen herstellen zu können. ifconfig ohne Parameter aufgerufen, liefert die aktuellen Einstellungen des Interfaces. Beim Aufruf als root, wird zusätzlich die MAC-Adresse ausgegeben. interface Interfacename (z.b. le0, le1 - Ethernetinterfaces bei Sun) address_family Adreßfamilie, z.zt. nur inet sinnvoll address IP-Adresse des Interfaces (als Nummer oder, wenn Namensauflösung läuft, als Name) Parameter: up/down markiert ein Interface als up bzw. down. [-]arp Ein- / Ausschalten des ARP-Protokolls. metric n setzt die Routing-Metrik des Interfaces auf n. [-]debug Ein- / Ausschalten des Debugging-Modus. netmask mask setzt die Netzmaske auf mask. dest_address setzt die Adresse der Gegenstelle bei Punkt-zu.-Punkt-Verbindungen. broadcast address setzt die Broadcastadresse auf address. 38

ifconfig 2 Ausgaben und Beispiele: % ifconfig hme0 hme0: flags=863<up,broadcast,notrailers,running,multicast> mtu 1500 inet 131.188.3.150 netmask ffffff00 broadcast 131.188.3.255 # ifconfig hme0 hme0: flags=863<up,broadcast,notrailers,running,multicast> mtu 1500 inet 131.188.3.150 netmask ffffff00 broadcast 131.188.3.255 ether 8:0:20:92:e9:4 % ifconfig -a lo0: flags=849<up,loopback,running,multicast> mtu 8232 inet 127.0.0.1 netmask ff000000 hme0: flags=863<up,broadcast,notrailers,running,multicast> mtu 1500 inet 131.188.3.150 netmask ffffff00 broadcast 131.188.3.255 lane0: flags=863<up,broadcast,notrailers,running,multicast> mtu 1500 inet 192.44.88.11 netmask ffffff00 broadcast 192.44.88.255 # ifconfig hme0 inet 131.188.3.150 netmask 255.255.255.0 broadcast 131.188.3.255 # ifconfig hme0 down # ifconfig hme0 up 39

inetd Um nicht für jeden Dienst ständig einen Server-Prozeß laufen zu lassen, wurde der inetd eingeführt. Der inetd wartet an einer Reihe von Sockets und startet bei Bedarf den richtigen Daemon. Konfiguration über /etc/inetd.conf: ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd echo stream tcp nowait root internal echo dgram udp wait root internal Bedeutung der Felder: ftp: bezeichnet den Dienst. Muß in /etc/services oder der entsprechenden NIS-Tabelle stehen. stream/dgram: gibt an, ob es sich um einen Stream- oder Datagram-Dienst handelt. tcp/udp: gibt das verwendete Protokoll an. wait/nowait: bei wait erlaubt der inetd erst wieder einen Zugriff auf den Dienst, wenn die Bearbeitung der letzten Anfrage abgeschossen wurde. root: bezeichnet die UID, unter der Daemonprozeß gestartet wird. /usr/sbin/in.ftpd: ist der Server, der gestartet werden soll. Der Rest sind Argumente für den Server. Nach einer Änderung der inetd.conf-datei muß der inetd neu initialisiert werden. Dies geschieht durch ein gesendetes SIGUP. 40

route route - manuelles Modifizieren der Routing-Tabelle Synopis: route [ -fn ] add delete [ host net ] destination [ gateway [ metric ]] Beschreibung: Mit route können Routing-Einträge von Hand erstellt oder gelöscht werden. Dieses Kommando ist privilegiert und darf nur vom Superuser ausgeführt werden. Optionen: -f alle Einträge der Routing-Tabelle werden gelöscht (flush). -n es wird keine Nameserviceauflösung vorgenommen. Beispiele: # route add 131.188.74.14 131.188.3.1 1 # route add net 131.188.74.0 131.188.3.1 1 # route delete 131.188.74.14 131.188.3.1 # route delete net 131.188.74.0 131.188.3.1 # route -fn # route add default 131.188.3.1 1 41

routed, in.routed routed - Netzwerk-Routingdaemon Synopis: in.routed [ -gqstv ] logfile Beschreibung: Normalerweise wird der routed beim Hochfahren des Rechners gestartet, um die Netzwerk- Routingtabellen zu verwalten. Hierbei wird das Routing Information Protocol (RIP) benutzt. Der Routingdaemon überwacht den UDP-Port 520 auf ankommende RIP-Pakete. Diese Pakete beinhalten auch einen hop count (Metrik), um so die Qualität der Routen bewerten zu können. Optionen: -g es wird eine default-route generiert. -s es werden Routinginformationen an andere Stationen abgegeben. -q es werden Routinginformationen nur angenommen, aber keine abgegeben. -t alle eingehenden oder abgehenden Pakete werden ausgegeben. -v es wird ein Logfile angelegt, in dem Änderungen der Routingtabelle mit Zeitstempel dokumentiert werden. 42

Nameservice-Konfiguration In der Datei /etc/hosts können Abbildungen IP-Adresse <-> Rechnername statisch konfiguriert werden: 127.0.0.1 localhost 131.188.3.150 lisa.rrze.uni-erlangen.de lisa 192.44.88.11 lisa-gigabit lisa-gigabit.rrze.uni-erlangen.de Über die Datei /etc/nsswitch.conf wird die Auswertereihenfolge der verschiedenen Informationsdienste festgelegt: hosts: files dns networks: protocols: netmasks: nis [NOTFOUND=return] files files nis [NOTFOUND=return] files In der Datei /etc/resolv.conf werden Nameserver und Suchreihenfolge verschiedener Sub- Domains festgelegt: nameserver 131.188.3.2 nameserver 131.188.2.45 domain search rrze.uni-erlangen.de rrze.uni-erlangen.de uni-erlangen.de Rechner können entweder als Nameservice-Clients (kein aktiver Namedaemon), Caching- Nameserver (aktiver Namedaemon, aber keine lokalen Zonendateien) oder Secondary-Nameserver (aktiver Namedaemon mit lokalen Zonendateien) konfiguriert werden. 43

nslookup nslookup - aktive Abfragen eines Nameservers Synopis: nslookup [ -option ] host [ server ] nslookup Beschreibung: nslookup sendet Anfragen an Nameserver, bereitet die Antwort auf und zeigt dann die gewünschten Informationen an. Das Programm kann sowohl interaktiv als auch nicht-interaktiv genutzt werden. Wird nslookup ohne Parameter aufgerufen, gelangt man in den interaktiven Modus. Interessante Kommandos: Die Kommandos von nslookup sind sehr vielfältig. Nähere Informationen findet man in der man-page. host gibt den Eintrag für host aus. host server dito, aber server wird als Nameserver benutzt. help eine Hilfe. server host ab sofort wird der Server host für Abfragen benutzt. set option setzt Optionen: domain=domainname setzt den Default-Domainname auf domainname. type=searchtype setzt den Suchtyp (z.b. type=mx für Ausgabe der Mailexchanger). ls domain listet eine ganze Domain auf. Die Ausgabe kann man mit > in eine Datei umlenken. 44

ping ping - sendet ICMP ECHO_REQUEST Pakete an Netzwerk-Hosts Synopis: ping ping host [timeout] [-s] [-dllnrrv] [-i interface] [-I interval] [-t ttl] host [packetsize] [count] Beschreibung: ping benutzt das ICMP ECHO_REQUEST Datagram, um ein ICMP ECHO_RESPONSE Datagram des angegebenen Hosts zu generieren. In der ersten Form (ohne Optionen) wird, falls der Host antwortet, host is alive ausgegeben. Falls nicht, wird nach einem optionalen Timeoout (Standard ist 20 Sek.) eine entsprechende Meldung erstellt. In der zweiten Form (mit -s ) wird jede Sekunde (außer -I interval ) ein Paket an den Host geschickt, wobei Paketgröße und Anzahl konfigurierbar sind. Wenn ping durch ein SIGINT abgebrochen wird oder die Anzahl der zu sendenden Paket erreicht wurde, wird eine Statistik über Antwortzeiten und Paketverluste erstellt. Optionen: -r keine Verwendung der Routingtabellen. -R verwendet die record route -Option. Zusammen mit -v wird der Weg des Paketes angezeigt. -i interface benutze Interface interface (sinnvoll nur bei Multicast). -n keine Nameserviceauflösung. Beispiele: # ping faui45.informatik.uni-erlangen.de # ping -s faui45.informatik.uni-erlangen.de # ping -svrn www.sun.com 45

traceroute traceroute - gibt die Route aus, über die ein Netzwerk-Host erreichbar ist. Synopis: tarceroute [-m max_ttl] [-n] [-p port] [-q nqueries] [-r] [-s src_addr] [-g addr] [-w waittime] host [packetsize] Beschreibung: traceroute benutzt das time to live -Feld im IP-Header, um eine ICMP TIME_EXCEEDED-Antwort eines jeden Gateways auf der Route zu einem Host zu generieren. Hierzu werden drei Testpakete (oder -q ) mit einer TTL von 1 verschickt. Das angesprochene Gateway antwortet mit einer ICMP TIME_EXCEEDED-Meldung. Somit erhält traceroute die IP-Adresse des ersten Gateways. Es wird jetzt solange die TTL um 1 erhöht, bis eine ICMP PORT_UNREACHABLE-Meldung ankommt (Host ist erreicht) oder die maximale TTL ( -m ) erreicht ist. Die Ausgabe von!h bedeutet, daß der Host nicht erreichbar ist. Ein (ttl=255!), daß das TTL-Feld im Antwortpaket von der Erwartung abweicht. Optionen: -m max_ttl setzt die maximale TTL. -n keine Nameserviceauflösung. -p port setzt die Portnummer. -q nqueries setzt die Anzahl der Pakete pro Durchgang. -s src_addr setzt die Quelladresse bei Hosts mit mehreren Interfaces. -g addr benutzen der Loose Source Record Route -Option. -v Ausgabe der ICMP Pakete, sofern nicht TIME_EXCEEDED oder UNREADABLE. -w waittime setzt die Wartezeit für eine Antwort. 46

Fehlersuche Ist das Interface korrekt konfiguriert und UP? kawa{root}[~]# ifconfig -a lo0: flags=849<up,loopback,running,multicast> mtu 8232 inet 127.0.0.1 netmask ff000000 hme0: flags=863<up,broadcast,notrailers,running,multicast> mtu 1500 inet 131.188.3.154 netmask ffffff00 broadcast 131.188.3.255 ether 8:0:20:96:8:bd Läßt sich das eigene Interface anpingen? kawa{root}[~]# ping 131.188.3.154 131.188.3.154 is alive Können Rechner im eigenen Subnetz erreicht werden? kawa{root}[~]# ping 131.188.3.150 131.188.3.150 is alive Gehen Daten über die Netzwerkschnittstelle? kawa{root}[~]# netstat -i 2 input hme0 output input (Total) output packets errs packets errs colls packets errs packets errs colls 42738774 0 32558669 0 0 45296582 0 35116477 0 0 12 0 2 0 0 16 0 6 0 0 9 0 1 0 0 13 0 5 0 0 47

Fehlersuche 2 Bei Problemen im eigenen Subnetz: Wie schaut der ARP-Eintrag aus? kawa{root}[~]# arp -a Net to Media Table Device IP Address Mask Flags Phys Addr ------ -------------------- --------------- ----- --------------- hme0 southern.gate.uni-erlangen.de 255.255.255.255 00:50:0f:10:a6:17 hme0 herkules.rrze.uni-erlangen.de 255.255.255.255 08:00:20:96:03:0d hme0 lisa.rrze.uni-erlangen.de 255.255.255.255 08:00:20:92:e9:04 hme0 kawa.rrze.uni-erlangen.de 255.255.255.255 SP 08:00:20:96:08:bd hme0 BASE-ADDRESS.MCAST.NET 240.0.0.0 SM 01:00:5e:00:00:00 Ist ein default-route bekannt? kawa{root}[~]# netstat -rn Routing Table: Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 131.188.3.0 131.188.3.154 U 3 32241 hme0 224.0.0.0 131.188.3.154 U 3 0 hme0 default 131.188.3.1 UG 0 52187 127.0.0.1 127.0.0.1 UH 02464303 lo0 Im Fehlerfall: Läuft ein Routingdaemon oder soll der default-route statisch konfiguriert sein? Läßt sich der Router anpingen? kawa{root}[~]# ping 131.188.3.1 131.188.3.1 is alive 48

Fehlersuche 3 Kann ein Rechner außerhalb des eigenen Subnetzes erreicht werden? kawa{root}[~]# traceroute -n 131.188.128.54 traceroute to 131.188.128.54 (131.188.128.54), 30 hops max, 40 byte packets 1 131.188.3.1 2 ms 1 ms 1 ms 2 131.188.10.1 2 ms 2 ms 3 ms 3 131.188.7.128 2 ms 1 ms 1 ms 4 131.188.128.54 3 ms 1 ms 1 ms Funktioniert der Nameservice? kawa{root}[~]# nslookup www.sun.com Server: localhost Address: 127.0.0.1 Name: wwwwseast.usec.sun.com Address: 192.9.49.30 Aliases: www.sun.com Kann das Zielsystem auf dem gewünschten Port angesprochen werden? kawa{root}[~]# telnet mailhub smtp Trying 131.188.71.14... Connected to mailhub.rrze.uni-erlangen.de. Escape character is '^]'. 220 max5.rrze.uni-erlangen.de (Mail*Hub TurboSendmail) ESMTP Service ready quit 221 Until later [131.188.3.154] Connection closed by foreign host. 49

Literatur Douglas E. Comer: Internetworking with TCP/IP. Prentice- Hall International. Walter Richard Stevens: TCP/IP Illustrated Volume 1, The Protocols. Addison-Wesley. Walter Richard Stevens: TCP/IP Illustrated Volume 2, The Implementation. Addison-Wesley. Walter Richard Stevens: TCP/IP Illustrated Volume 3, TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols. Addison-Wesley. 50