Rechnernetze Grundlagen moderner Kommunikationssysteme Prof. Dr. Uwe Heuert Fachbereich INW http://www.inw.hs-merseburg.de/~uheuert/ Persönliche Vorstellung Name Uwe Heuert Professur Rechnernetze und Virtuelle Instrumentierung Ausbildung PhD (Dr. rer. nat.) Physik Berufserfahrung 5 Jahre physikalische Messtechnik & NMR/Imaging (Martin-Luther-Universität Halle-Wittenberg) 5 Jahre Softwareentwicklung und Projektmanagement (Gemplus, Smartcard-Technologien) Informatik Kryptographie & PKI (Public Key Infrastructure) TCP/IP und Protokolle Programmierung in C, C++, C#/.NET 2 Forschung Eigene Forschergruppe bestehend aus 5 wissenschaftlichen Mitarbeitern (plus Studenten) an der Schnittstelle von IT mit moderner Messtechnik KAT „NMR“ (2006-heute) BMBF Ingenieurnachwuchs Informatik „Studies on platform and target independent scalable secure Web Services“ (2009-2012) BMWi ZIM – KF „Entwicklung eines flexiblen Ultraschalldiagnosegerätes zur Schweißnahtprüfung“ (2010-2011) BMBF Regionaler Wachstumskern „KunstUS“ (2012-2014) Projekt mit enviaNSG „Smart Metering 2.0“ (2012-2013) „Kleinvieh“ (InnoKMU.net, etc.) Team Forschung - NMR Forschung - Messtechnik Forschung – Smart Metering Ziele Verkabelung Konfiguration Sicherheit und Kryptografie Dienste und Enterprise Computing Programmierung Standards und Protokolle Zieladresse (Broadcast) Quelladresse (MAC) Type (Protokoll ARP) 8 Goethe 9 Modulhandbuch - Lernziele Die Studierenden lernen die grundlegenden Konzepte und Funktionsweisen von Rechnernetzen und die zugrunde liegenden Standards und Protokolle, Hardware und Software kennen. Sie erwerben die Fähigkeit Rechnernetze zu planen, zu implementieren, zu betreiben und zu analysieren. Die Vermittlung grundlegender Kenntnisse zur Netzwerkprogrammierung bildet die Basis für die selbstständige Implementierung von Netzwerkprotokollen. Sicherheitsprobleme in öffentlichen Netzen und deren Lösung bilden einen Schwerpunkt der Veranstaltung. Abschließend lernen die Studenten an ausgewählten Beispielen komplexe ITInfrastrukturen zur Bereitstellung von Netzwerkdiensten kennen. Das obligatorische Praktikum bei Verwendung einer heterogenen IT-Landschaft vertieft und ergänzt die Inhalte der Vorlesung mit den Schwerpunkten: • • • • • • Topologien und Kabel Schichten, Protokolle, Pakete Routing, Firewall Programmierung Sicherheit Network Services 10 Modulhandbuch - Inhalt • • • • • • • Grundlagen • Bedeutung, Entwicklung, Begriffe Vernetzungsstrukturen & Topologien Netzwerkmodelle • ISO/OSI Schichtenmodell • TCP/IP Modell Lokale Netze (LAN) & Weitverkehrsnetze (WAN) • Standards und Protokolle • Kabel und Hardware TCP/IP • IP, ARP, ICMP, UDP, TCP • Routing und Internet • Wichtige Protokolle der OSI-Schichten 5-7 Programmierung • Sockets & RPC • Datenkodierungen ASN.1, XML Sicherheit • Gefahren im Netz • Einführung in Sicherheitskonzept Dienste • Einführung in Standard Netzwerkdienste 11 Modulhandbuch - Prüfungsleistung Erfolgreiche Bearbeitung der Praktikumsaufgaben Testate und Protokolle ergeben eine Vornote Bestehen einer Abschlussprüfung (Klausur) Benotung: Ja (ergibt sich aus der Note der Abschlussprüfung und der Vornote) 12 Praktikum (Hg/G/0/026) 13 Praktikumsversuche ➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢ Topologien und Kabel, Netzwerkplanung Netzwerkhardware (Cisco) Grundversuche zur elektrischen und optischen Datenübertragung Schichten, Protokolle, Pakete Routing, Firewall, Private Netze Programmierung in C und C#/.NET Standard Network Services Sicherheit in öffentlichen Netzen 14 Inhalt (1) 1 Einleitung 1.1 Bedeutung 1.2 Entwicklung 2 Grundlagen 2.1 Begriffe 2.2 Vernetzungsstrukturen 2.3 Topologien 3 Netzwerkmodelle 3.1 Gremien und Normen 3.2 ISO/OSI Schichtenmodell 3.3 Hardwarenahe Schichten 3.4 Vermittlungsschicht 3.5 Transportschicht 3.6 Anwendungsnahe Schichten 4 Lokale Netze – LAN 4.1 Standards 4.2 Ethernet und Protokolle 4.3 Hardware 4.4 Wireless LAN 5 Weitverkehrsnetze – WAN 5.1 Modem 5.2 ISDN 5.3 xDSL 5.4 Weitere Breitbandsysteme 5.5 Protokolle 6 TCP/IP 6.1 Internet Protocol (IP) 6.2 Address Resolution Protocol (ARP) 6.3 Internet Control Message Protocol (ICMP) 6.4 Internet Group Management Protocol (IGMP) 6.5 Routing und Internet 6.6 Transmission Control Protocol (TCP) 6.7 User Datagram Protocol (UDP) 6.8 Weitere Protokolle der Schicht 3 und 4 6.9 Protokolle der Schichten 5-7 6.10 Heterogene Netze 15 Theorie Handwerk Inhalt (2) 7 Programmierung 7.1 Sockets 7.2 Höhere Abstraktion 7.3 Datenkodierung 7.4 RPC 8 Sicherheit 8.1 Gefahren im Netz 8.2 Firewall 8.3 Netzwerkauthentifizierung 8.4 Kryptografie 8.5 Verschlüsselung in unteren Netzwerkschichten 8.6 SSL/TLS 8.7 PKI und Digitale Signatur 8.8 Auditierung, Logging und Alarmierung 9 Dienste und Enterprise Computing 9.1 DHCP und Name Service 9.2 Domain Controller 9.3 SNMP 9.4 Web 9.5 E-mail 9.6 Verzeichnis 9.7 Datenbank 9.8 Microsoft .NET und J2EE 9.9 XML Web Services 9.10 Clustering 10 Trouble-Shooting 10.1 Betriebssystem Werkzeuge 10.2 Software Analyzer 10.3 Hardware Analyzer Meister 16 Zeitplan (WS2020/2021) KW Di, 13-15 (V), Online 41 Einführung 42 Grundlagen 43 Netzwerkmodelle, OSI 44 LAN Technologien 45 LAN Technologien 46 WAN Technologien 47 Internet, IPv4, ARP 48 ICMP, IPv6, Routing 49 TCP, UDP 50 Anwendungsprotokolle 51 Anwendungsprotokolle 52 Datenkodierungen 53 – 1 Weihnachtsferien, Heilige 3 Könige 2 Socket-Programmierung, RPC-Techniken 3 Kryptografie und PKI, Sichere Netzwerkprotokolle 4 Reserve, Prüfungsvorbereitung 26 Literaturauswahl Der Klassiker Tanenbaum Computernetzwerke (4. Auflage). Prentice Hall, 2003 Für Anspruchsvolle Badach, Hoffmann Technik der IP-Netze Hanser, 2007 Für Praktiker Dembowski Netzwerke – Kompakt, komplett, kompetent Markt+Technik, 2002 Nicht so dick Riggert Rechnernetze (3. Auflage) Fachbuchverlag Leipzig Für Programmierer Wehrle, Pählke, Ritter, Bechler Linux Netzwerkarchitektur – Design und Implementierung von Netzwerkprotokollen im Linux-Kern Addison-Wesley, 2001 27 1 Einleitung „Weites Feld“ 28 Beispiel Beispiel - Rechnernetz 29 Beispiel: Praktikum Alt! 30 Beispiel – Rechnernetzpraktikum (nicht aktuell!) Beispiel: real 32 1.1 Bedeutung Bestandsaufnahme: • Enormes Wachstum der Informationstechnologie und der Informationsgesellschaft. • Die moderne Datentechnik bestimmt heute weltumspannend alle Lebens- und Wirtschaftsbereiche. • Immer mehr Daten werden immer schneller ausgetauscht und verarbeitet. • Rechnernetze sind zu dem Medium geworden, welches die Basis für die Entwicklung fast aller Wirtschaftsbereiche darstellt. Beispiele: • • • • • • Internet (WWW, E-mail, Chat, Home-Banking …) Einkauf im Internet, Buchungssysteme für Reisen, Flüge, Hotels Soziale Netzwerke eCommerce und B2B (Business-to-Business), Wertpapierhandel Maschinen- und Anlagensteuerung, Energienetze der Zukunft Smarte Endgeräte (Mobilfunk, Tablet) 33 1.2 Entwicklung 1969 1971 1973 1974 1975 1976 1978 1979 1980 1981 1982 1983 Erste Arbeiten an einem Paket vermittelnden Rechnernetz (ARPANET - Advanced Research Projects Agency Network) Das ARPANET wird der Öffentlichkeit vorgestellt „Ethernet is born“; erste (Test-)Version von TCP (Stanford Uni) Erstes Betriebssystem für Mikrocomputer (CP/M) Erstes kommerzielle Version von ARPANET Erste E-mail wird versendet ISO veröffentlicht OSI-Referenzmodell; Microsoft wird gegründet DEC, Intel und XEROX (DIX-Group) entwickeln gemeinsam das Ethernet weiter Ethernet Version 1.0 wird veröffentlicht. Bercley UNIX (BSD 4.1) wird entwickelt und enthält TCP/IP; Betriebssystem PC-DOS von Microsoft Erste Standards für IPv4 (RFC 791) und TCP (RFC 793) 3COM bietet ersten PC Ethernet-Adapter an TCP/IP ermöglicht das Internet; 34 Standard 10Base5 vorgeschlagen Entwicklung (Fortsetzung) 1988 1991 1993 1994 1996 1997 1998 2000 2001 2003 2006 2009 2010 2014 Ethernet mit Twisted-Pair-Verkabelung (UTP) vorgeschlagen Mehr als 1000 Hersteller unterstützen TCP/IP; Linux veröffentlicht Mehr als 10000 Hersteller unterstützen TCP/IP; Standard 10BaseF (Glasfaser) WWW wird offizielles Projekt von CERN, die W3-ORG wird ins Leben gerufen; Fast-Ethernet etabliert sich Das Internet umfasst ca. 15 Mio. Anschlüsse WLAN nach IEEE 802.11 Gigabit-Ethernet-Standard 1000BaseX veröffentlicht; IPv6 (RFC2460) Versteigerung der UMTS Frequenzen Sicherheitsprobleme im Netz allgegenwärtig DSL verbreitet sich Smarte Endgeräte → „immer und (fast) überall online“ IPv4 Adressen sind aufgebraucht (~4.000.000.000) LTE HTML5 35 2 Grundlagen Begriffe Vernetzungsstrukturen Topologien 36 2.1 Begriffe LAN, MAN, WAN Klassische Strukturierung nach räumlicher Ausdehnung Local Area Network Lokales Netz • Räumlich begrenztes Netz (i.d.R. bis 1km) • Übertragung digitaler Signale mit hoher Übertragungsrate (10Mbit/s – 10Gbit/s) • Typisch: Ethernet, Token Ring Metropolitan Area Network Wide Area Network Stadtnetz/Regionales Netz Flächendeckende öffentliche Netze • Entfernungen ~ 1..10km • Übertragung digitaler Signale mit hoher Übertragungsrate (64kbit/s – 140Mbit/s) • Typisch: DATEX-M, Backbone (ATM, FDDI) • Entfernungen > 10km • Typische Übertragungsraten: 56kbit/s, 64kbit/s, 2Mbit/s, 155Mbit/s, ... • Typisch: Analoges Fernsprechnetz, ISDN, DSL, „Internet“Backbone Heute: ➢ Keine scharfe Abgrenzung zwischen LAN, MAN, WAN ➢ Verbindung mehrerer lokaler Netze = WAN ➢ Häufig: WAN = Internet 37 Beispiel: LAN Beispiel – LAN – Firmennetz als klassisches Ethernet 38 Beispiel: MAN Beispiel – MAN – Stadtverwaltung 39 Beispiel: WAN 40 Beispiel – WAN – Internet Beispiel: Internet Beispiel – WAN – Internet – physische Struktur 41 Intranet & Extranet Intranet, Extranet, Internet Das Intranet innerhalb eines Unternehmens ist nicht öffentlich zugänglich, bietet jedoch die gleichen Dienste, wie das Internet. → Internet-Technologie für das interne Netz (E-mail, Verzeichnis, ...) Das Extranet ist ein erweitertes Intranet, bei dem auch externe Teilnehmer (Geschäftspartner, Heimarbeitsplatz, Außendienst) mit Zugangsberechtigung im Intranet-Verbund mitarbeiten. Die externen Netze sind über das Internet verbunden (→VPN). Wichtig ist an dieser Stelle die Netzsicherheit. Zwischen den externen Teilnehmern und dem Intranet werden mittels kryptografischer Techniken und Methoden (z.B. Smart Cards, Protokolle) so genannte Tunnel aufgebaut, die es anderen 42 Benutzern des Internet verbieten, in das Intranet einzudringen. 2.2 Vernetzungsstrukturen Zentrale Struktur • Hohe zentrale Belastung: • Rechenleistung • Hauptspeicher • I/O • Geringe Flexibilität und einfache Benutzeroberflächen • Hohe Investitionskosten • Herstellerabhängigkeit in Hard- und Software Dezentrale Struktur • „Peer-to-Peer“ Netzwerke • Angepasste Rechenleistung und Resourcen • Funktionen auf jedem Rechner • Resourcen-Sharing • Hohe Flexibilität • Anwenderfreundliche Benutzeroberflächen • Geringe Investitionen • Herstellerunabhängigkeit Client/Server Struktur • Angepasste Rechenleistung und Resourcen • Funktionsaufteilung • Leistungsstarker Server mit hoher Resourcen-Auslastung • Hohe Flexibilität und Skalierbarkeit • Anwenderfreundliche Benutzeroberflächen • Günstiges Preis-Leistungs-Verhältnis für Hard-und Software 43 • Herstellerunabhängigkeit Beispiel Dezentrale Struktur → Heimnetzwerk Client/Server Struktur →Unix-Ansatz →Windows-Domäne 44 Cloud Computing 45 2.3 Topologien 46 Bus Eigenschaften: • Zentraler Bus mit passiven Koppelelementen (Knoten) • Gleichberechtigte Knoten macht Zugriffsverfahren notwendig (CSMA/CD → Ethernet), da es durch Mehrfachzugriff zu Kollisionen kommt • Anwendung: • LAN z.B. „Cheapernet“ – 10Base2 Master/Controller: z.B. USB, IDE, SCSI) Bei Netzen: Industrial Ethernet 47 Ring Eigenschaften: • Knoten über aktive Koppelelemente angeschlossen • n Verbindungsabschnitte bei n Knoten • Bussteuerung zentral (Takt als gemeinsame Zeitbasis) oder dezentral (Token → Token-Ring) • Anwendung: • LAN 48 Stern Eigenschaften: • Zentraler Knoten; Knoten im Netz nicht gleichrangig • Leichte Erweiterbarkeit • Zentraler Knoten i.d.R. spezielle Netzhardware (Hub, Switch) • Anwendung: • • LAN Telefonanschluss 49 Baum Eigenschaften: • Hierarchisches Netz definiert Netzebenen • Komplexe topologische Struktur • Topologiemischung ist möglich • Verbindung der Netzebenen sternförmig • Anwendung: Fernsprechnetz • Ähnlichkeit mit Verzeichnisstruktur bzw. DNS (Domain Name Service) 50 Masche Eigenschaften: • Jeder Knoten ist mit jedem Knoten verbunden • Gleichrangige Knoten • Bei n Knoten gibt es n(n-1)/2 Verbindungswege • Kürzest mögliche Verbindungswege zwischen den Knoten • Hoher Erweiterungsaufwand • Anwendung: • • Zentralvermittlung des Fernsprechnetzes Teilweise Routing im Internet 51 Zelle Diese Form kommt bei drahtlosen Netzen zum Einsatz. Eine Zelle ist der Bereich um eine Basisstation (z.B. Wireless Access Point), in dem eine Kommunikation zwischen den Endgeräten und der Basisstation möglich ist. 52 Virtuelle Netze Virtualisierung (Server, Desktop, Netzwerk) bringt neue Sichtweisen auf die Vernetzung Klassische (physikalische) Sichtweisen treten ein Stück weit in den Hintergrund Virtuelle Netzwerkadapter Virtuelle Hubs, Switche, Router Virtuelle LANs Virtuelle Private Netzwerke (VPN) 53 Netzwerkpraxis (1) Fortbildungsmaßnahme Schalttechnik leicht gemacht in Beirut © by DIMA 54 Netzwerkpraxis (2) Fortbildungsmaßnahme Schalttechnik leicht gemacht in Beirut Durch die sehr transparente Kabelführung gewinnt man schnell einen Eindruck über die Struktur des Netzes. 55 Netzwerkpraxis (3) Fortbildungsmaßnahme Schalttechnik leicht gemacht in Beirut Die präzise Dokumentation an jeder Leitung sichert den schnellen Zugriff auf jeden Anschluss. Die massive Bauweise des Gehäuses wehrt jegliche Manipulation an der sensiblen Technik ab. 56 Netzwerkpraxis (4) Fortbildungsmaßnahme Schalttechnik leicht gemacht in Beirut Die straffe Schaltdrahtführung mag übertrieben erscheinen, ist aber für die Entstörung unabdingbar. Dank der Übersichtlichkeit bleibt immer eine Hand für die Zigarette frei. © by DIMA 57 3 Netzwerkmodelle Ziel eines Referenzmodells: Festlegung von Schnittstellen, die die Unabhängigkeit von Hard- und Software und die Kommunikation zwischen unterschiedlichen Systemen ermöglichen soll. • Zerlegen der Aufgabe „Datenübertragung“ in nicht zu viele Teilaufgaben (Schichten) • ähnliche Funktionen sollen in der gleichen Schicht liegen • unabhängige Funktionen in unterschiedlichen Schichten • Schichten müssen „technologiebezogen“ sein Komplexes Kommunikationssystem Schichten Einfachere Implementierung Informationen werden üblicherweise nur zwischen benachbarten Schichten ausgetauscht. Eine Schicht dient der darüber liegenden als Transportmedium. Der interne Aufbau einer Schicht ist i.A. nicht von Interesse, im Gegensatz zur Definition der Schnittstelle. 58 Ein Beispiel Manager X möchte mit Manager Y kommunizieren Anwendung (email) Englisch wird als Kommunikationssprache gewählt Darstellung (MIME, S/MIME) Sekretärin kennt Adresse und Abteilung Sitzung (Socket) Offizieller Briefkopf hinzugefügt Transport (Abteilung = Port) (Seite = Sequenz) Adresse hinzugefügt Vermittlung (Adresse = IP) Postbote Sicherung (Ethernet) Luftpost Übertragung (Ethernet) 59 3.1 Gremien und Normen Rechnernetze basieren auf Standards! Aber wie entstehen diese Standards? Standardisierungsprozess bei RFCs: • • • • Offener Prozess Entwicklung durch Arbeitsgruppen der IETF (Internet Engineering Task Force) Entscheidung durch IESG (Internet Engineering Steering Group) Veröffentlichung in RFC (z.B.: http://www.rfc-editor.org) Achtung: Nicht jeder RFC beschreibt einen Standard! Auflistung aller Standards in RFC 3300 („Internet Official Protocol Standards“). RFC Bezeichnung: #### Title of RFC. Author 1, Author 2, Author 3. Issue date. (Format: ASCII) (Obsoletes ###) (Obsoleted by ###) (Updates ###) (Updated by ###) (Also FYI ####) (Status: ###) Beispiel: 1129 Internet Time Synchronization: The Network Time Protocol. D.L. Mills. Oct-01-1989. (Format: TXT=298, PS=551697, PDF=197036 bytes) (Also RFC1119) (Status: UNKNOWN) 60 Weitere Gremien ANSI (American National Standards Institute) → z.B. ANSI Zeichensatz BSI (Bundesamt für Sicherheit in der Informationstechnologie) → Anpassung internationaler Standards ETSI (European Telecommunication Standards Institute) → z.B. Normen für PKI IEEE (Institute of Electrical and Electronic Engineers) → LAN, MAN, WAN-Standards (Kapitel 4) ISO (International Standard Organisation) → von UNESCO eingerichtet ITU (International Telecommunication Union) → z.B. ASN.1 Kodierung Aber auch Firmen setzen Standards: • Microsoft, IBM, Oracle, RSA - Security, Siemens 61 3.2 ISO/OSI Referenzmodell ISO – International Standard Organisation OSI – Open System Interconnection ISO 7498, 1978 Dateneinheit APDU AL PPDU PL SPDU SL TPDU TL NL Router DL Bridge/ Switch PHY Repeater Physikalisches Übertragungsmedium Paket Rahmen Bit 62 ISO/OSI Modell Schnittstelle 63 Datenübertragung Sendeprozess Daten AL AH PL PH SL SH TL DL PHY NH DH Daten AL PL Daten SL Daten TH NL Empfängerprozess TL Daten NL Daten Daten Bits DT DL PHY 64 Bedeutung der Schichten OSI-Schicht Beispiele Bedeutung Anwendung (application) FTP, HTTP, Telnet, SMTP Nutzdaten, Authentisierung, Autorisierung Darstellung (presentation) ASN.1, VT100 Datenformat, Datenkonvertierung Sitzung (session) Sockets, RPC Zeitspanne zwischen Verbindungsauf- und abbau, Datenzwischenspeicherung Transport (transport) TCP, UDP, SPX Fehlerkontrollen zwischen den Endteilnehmern, Reihenfolge der Pakete, Wiederholungsanforderung im Fehlerfall Vermittlung (network) IP, IPX, ICMP, ARP, RIP, X.25 Auffinden eines Weges zum Zielrechner, Vermittlung der Nachrichten Sicherung (data link) Ethernet (MAC, LLC, PHY), HDLC (WAN), ISDN, PPP/SLIP Synchronisation, Bitzusammenfassung in Rahmen, Fehlererkennung und Korrekturmechanismen (ParityCheck und CRC), Zugriffsmechanismen (CSMA/CD) Übertragung (physical) Anschlusseigenschaften, zulässige Übertragungsraten, Signalpegel und elektrische Kodierung der einzelnen Bits 65 ISO/OSI vs. TCP/IP TCP/IP Die TCP/IP-Architektur (Anfang der 70er) hatte sich bereits durchgesetzt, als die International Organization for Standardization(ISO) ihr Modell eines Internet-Protokollstacks Open System Interconnection (OSI) veröffentlichte. Letztlich basierte das OSI-Modell auf den Erfahrungen von TCP/IP. 66 3.3 Hardwarenahe Schichten Bitübertragungsschicht In der Bitübertragungsschicht werden die digitalen Signale übertragen. In dieser Schicht werden die elektrischen und optischen Funktionen, das Übertragungsverfahren und das Übertragungsmedium festgelegt. Aufgaben: • Bit-Codierung • Zugriffsverfahren • Signalanpassung • Definition der Anschlüsse Typische Hardware: • Netzwerkkarte • Repeater • Media Converter Die Schicht 1 muss sicherstellen, dass ein Bit, welches mit der Wertigkeit 1 verschickt wird, von der Gegenseite auch mit der Wertigkeit 1 erkannt wird. Es werden mechanische, elektrische und prozedurale Schnittstellen festgelegt, die u.a. folgende Fragestellungen beantworten: - wie viel Volt entsprechen einer logischen 1 und wie viele einer logischen 0 - wie lange soll ein Bit auf dem Übertragungsmedium anliegen - erfolgt die Übertragung abwechselnd in beide Richtungen (halb-duplex) oder gleichzeitig in beide Richtungen (voll - duplex) - wie kommt die erste Verbindung zustande und wie wird sie aufgelöst 67 - wie viele Pins haben die Steckverbinder zu den Endeinheiten und wofür werden sie eingesetzt Typische Schicht 1 Festlegungen sind z.B. RS-232C, V.35 oder X.21 Sicherungsschicht Diese Schicht stellt eine zuverlässige Informationsübertragung durch den geordneten Zugriff auf das Übertragungsmedium und die Strukturierung der Daten sicher. Aufgaben: • Gruppierung der Bits zu Rahmen • Rahmen umfassen Steuer-, Adress-, Prüfsummen- und Datenfelder • Fehlererkennung Typische Hardware: • Netzwerkkarte (MAC-Engine) • Bridge • Switch Diese Schicht gruppiert die zu übertragenden Bits nach einem je nach Netz verschiedenen Schema (Datenrahmen). Zu diesem Datenrahmen zählen Steuer-, Adress- und Prüfsummenfelder, die von Schicht 2 eingefügt werden. So werden bei der Bitübertragung auftretende Fehler erkannt und an höhere Ebenen weitergeleitet. Ebene 2 sorgt für den Zugang zum physikalischen Übertragungsmedium und steuert die Bitübertragung. 68 Beispiel: Ethernet Ethernet (1980) – bekannteste Netzwerkarchitektur; standardisiert durch IEEE 802.3 (1985) Wichtigste Varianten: - Standard Ethernet - Fast Ethernet - Gigabit Ethernet 10Base-X 100Base-X 1000Base-X X=2&5 ... Bustopologie, Koaxialkabel X=T ... Sterntopologie, Twisted-Pair-Kabel X=F ... Sterntopologie, Lichtwellenleiter (rot = nur Standard Ethernet) 69 Ethernet-Schichten Bit-Codierung, Signalanpassung Abkürzung Langform Bedeutung MDI Medium Dependant Interface Koaxial, TP, LWL PMD Physical Medium Dependant Signalanpassung in Abhängigkeit vom Medium PMA Physical Medium Attachment Serialize/Deserialize PCS Physical Coding Sublayer Autonegotiation, sowie CSMA/CD bei Halb-Duplex, Bit-Codierung (Manchester, 4B/5B, 8B/10B, Trellis) MII Medium Independant Interface PLS Physical Layer Signaling Anbindung an MAC Layer Reconciliation „Versöhnung“ – Anbindung an MAC Layer 70 Bit-Codierung (1) Manchester-Kodierung (10Base-X) • binäre Zustände werden durch Spannungswechsel innerhalb der Bitzeit (100ns) abgebildet: • „0“ = fallende Flanke, „1“ = steigende Flanke • erste Hälfte enthält stets Komplementärwert, zweite Hälfte das eigentliche Bit • Pegelwechsel für Takt/Synchronisation notwendig • kann bei CSMA/CD Takt ermittelt werden, ist Medium belegt (Carrier Sense) • Effizienz: 50% 71 Bit-Codierung (2) 4B/5B-Kodierung (100Base-FX) Codegruppe Name TX/RX Funktion Auszug aus der 4B/5B Code-Tabelle • ein Datenbyte wird in zwei Nibbles (4 Bit) zerlegt • das Nibble wird nun mit Hilfe einer Code-Tabelle in eine Codegruppe (5 Bit) umgewandelt • der Gewinn an Möglichkeiten (32 statt 16 Bit-Kombinationen) wird neben der Übertragung der Nutzdaten für Steuerung und Fehlererkennung verwendet • 4B/5B stellt sicher, dass nie mehr als eine definierte Zahl von „0“ oder „1“ hintereinander übertragen werden ... für Taktermittlung notwendig • 4B/5B erzeugt keine Gleichspannungsfreiheit (max. 10%) 72 • Effizienz: 80% Zugriffsverfahren CSMA/CD (Shared Ethernet) Switched Ethernet (Carrier Sense Multiple Access/Collision Detection) • Bustopologie und Sterntopologie (Hub/Repeater) mit Halb-Duplex • Bei starker Netzauslastung verringert sich der Durchsatz durch zunehmende Kollisionen stark • Switch (Layer 2) „liest“ MAC-Adressen aus den Frames und leitet diese nur an die richtige Adresse weiter • stets 1:1 Verbindungen ohne Kollisionen • Arbeitsweisen: Store and Forward, Cut Through Switching, Fragment Free und Error Free Cut Through 73 Ethernet-Controller Bei aktuellen Ethernet-Netzwerkkarten wird der PHY-Chip (Layer 1) mit der MAC-Engine (Layer 2A) in einem Chip integriert. Die MAC-Adresse (Media Access Control) hat eine Länge von 6 Byte und sollte nicht verändert werden. MAC-Adressen werden zentral verwaltet, sind somit weltweit eindeutig und werden z.B. in der Netzwerkkarte hinterlegt. Funktionen: • Broadcast • Multicast • Unicast • Universally Administered Address • Locally Administered Address 74 Rahmentypen Der prinzipielle Aufbau eines Ethernet-Frames (MAC-Frame) ist unabhängig von der Ethernet-Variante (10Base-X, 100Base-X, 1000Base-X). Jedoch sind unterschiedliche Rahmentypen im Einsatz. Präambel SFD Zieladresse Quelladresse Type/ Länge Datenfeld FCS 7 Bytes 1 Byte 6 Bytes 6 Bytes 2 Bytes variabel 4 Bytes 7 mal „10101010“ für die Synchronisati on Start Frame Delimiter ... Rahmenbegrenzer MACAdresse MACAdresse Protokoll-Type (Ethernet II-Frame) oder Größe des folgenden Datenfeldes (Ethernet 802.2 Frame). 0-1500 Byte (mininal Padding auf 46 Byte) Frame Check Sequence. Zur Fehlererkennung von der Zieladresse bis zum Ende des Datenfeldes Cyclic Redundancy Check (CRC) Ethernet 802.2 (bzw. SNAP) Frame Erweiterung DSAP 1 Byte SSAP 1 Byte CTRL 1 Byte LLC Header OUI 3 Bytes PID 2 Bytes Nutzdaten SNAP Header LLC ... Logical Link Control (Layer 2B) stellt die Verbindung zwischen der Vermittlungsschicht (Layer 3) und der MAC-Schicht dar und ist für die Adressierung und die Steuerung der Pakete zuständig (entweder über den Protokoll-Type bei Ethernet II oder über den LLC Header bei Ethernet 802.2). Im Ethernet kommt LLC, Typ 1, die verbindungslose Datenübertragung ohne Bestätigung, zum Einsatz. 75 Network Protocol Analyzer Wireshark (Open Source, Windows & Unix) mit WinPcap (Windows Packet Capture Driver) Zieladresse (Broadcast) Quelladresse (MAC) Type (Protokoll ARP) Hinweis: Ethernet Rahmen Elemente Präambel, Start Frame Delimiter und Frame Check Sequence sind mit dem Windows Packet Capture Driver nicht detektierbar ! 76 3.4 Vermittlungsschicht Schicht 3, die Vermittlungsschicht, ist für die Datenübertragung über weite Strecken verantwortlich. Die Vermittlungsschicht stellt sicher, dass die Daten beim richtigen Empfänger ankommen und zugestellt werden können. Hier erfolgt der Aufbau der Verbindung zwischen den Kommunikationspartnern – es wird der Weg des Datenblockes und gegebenenfalls eine Umleitung bestimmt. Aufgaben: • Adressierung • Vermittlung • Verbindungsauf- und abbau Typische Hardware/Software: • IP • Router • Firewall 77 3.5 Transportschicht Schicht 4, die Transportschicht, ist für die Daten der Applikation verantwortlich und stellt sicher, dass die Daten in der richtigen Reihenfolge ankommen und nicht verloren gehen. Die Sicherungsschicht ist nur dafür verantwortlich, dass die ankommenden Daten korrekt sind. Gegen das „Verlieren“ von Daten schützt die Transportschicht. Aufgaben: • Fehlerkontrollen zwischen Endteilnehmern • Zerlegung der Nachrichten in kleinere Einzelpakete • Wiederholungsanforderungen bei fehlenden oder beschädigten Paketen • Paketreihenfolge wiederherstellen Typische Hardware/Software: • TCP • Layer-4-Switch • Firewall 78 3.6 Anwendungsnahe Schichten Sitzungsschicht Schicht 5 – auch als Kommunikationssteuerschicht bezeichnet – ist für die Synchronisation und Organisation von Daten- und Steuerinformationen der kommunizierenden Stationen zuständig. Die Zeitspanne zwischen dem Aufbau und dem Abbau einer Verbindung wird als Session (oder Sitzung) bezeichnet und wird von Schicht 5 gesteuert. Aufgaben: • Datenflusssteuerung • Dialogkontrolle und –koordination • Datenzwischenspeicherung Typische Begriffe: • Socket 79 Darstellungsschicht In der Darstellungsschicht werden die Daten für die Anwendungsschicht aufbereitet und nach Bedarf umgeformt. Aufgaben: • Kontrolle der Datenein- und ausgabe • Datenkonvertierung • Datenverschlüsselung Typische Begriffe: • XML • ASN.1 • MIME/SMIME • SSL/TLS 80 Anwendungsschicht Die Anwendungsschicht – oder auch Verarbeitungsschicht – regelt den Zugriff auf die Anwenderprogramme und stellt im Prinzip keine eigenen Dienste zur Verfügung. Aufgaben: • Bereitstellung anwenderspezifischer Protokolle • Identifikation/Zugangsberechtigung Typische Begriffe: • SSL/TLS • HTTP, LDAP, SMTP, IMAP, FTP, ... 81 4 Lokale Netze – LAN 82 4.1 Standards Standards der Arbeitsgruppe IEEE 802 IEEE 802 IEEE 802.1 IEEE 802.2 IEEE 802.3 IEEE 802.4 IEEE 802.5 IEEE 802.6 IEEE 802.7 IEEE 802.10 IEEE 802.11 IEEE 802.12 IEEE 802.15 IEEE 802.16 http://standards.ieee.org/getieee802/portfolio.html Overview & Architecture Bridging & Management Logical Link Control CSMA/CD Access Method „Ethernet“ Token-Passing Bus Access Method Token Ring Access Method DQDB Access Method Broadband LAN Security Wireless LAN Demand Priority Access Wireless Personal Area Networks Broadband Wireless Metropolitan Area Networks 83 IEEE 802 - Status 84 4.2 Ethernet und Protokolle 10 88 Ethernet durch die OSI-Brille OSI-Modell LLC (2b) MAC-Layer (2a) Physical-Layer (1) Ethernet (10 Mbit/s) Ethernet-Modell Fast-Ethernet (100 Mbit/s) Gigabit-Ethernet (1000 Mbit/s) MAC Client (LLC, Brücken) MAC Control (optinal) MAC (Media Access Control Sublyer) Reconcilation Reconcilation Reconcilation MII MII GMII Physical Line Physical Coding Physical Coding Signaling Sublayer Sublayer Attachment Unit Physical Medium Physical Medium Interface Attachment Attachment Physical Medium Physical Medium Physical Medium Attachment Dependent Dependent Medium Medium Medium Dependent Dependent Dependent Interface Interfae Interface Medium Medium Medium 89 IEEE 802.3 802.3 802.3a 802.3b 802.3e 802.3i 802.3j 802.3u 802.3x 802.3z 802.3ab 802.3ac 802.3ae 10Base5 (CSMA/CD, „Ethernet“): 10Base2 („Cheapernet“) 10Broad36 1Base5 Starlan 10Base-T 10Base-F 100Base-T („Fast Ethernet”) Full Duplex/Flow Control Gigabit Ethernet 1000BASE-T („Gigabit Ethernet“) VLAN Tag 10Gb/s Ethernet (7/1998) (6/1999) (9/1998) (6/2002) 90 Wichtige Typfelder → Ethernet Rahmentypen 0x0000 ... 0x05DC 0x0600 0x0800 0x0806 0x0842 0x8035 0x809B 0x80F3 0x86DD 0x8100 0x8137 ... 0x8138 0x888E 0x8892 0x889A 0x88A2 0x88A4 0x8906 0x8914 IEEE802.2 Length Field (05-DD ... 05-FF nicht vergeben!) Xerox NS IDP Internet Protocol (IP) Address Resolution Protocol (ARP) Wake-On-LAN Reverse Address Resolution Protocol (RARP) EtherTalk (AppleTalk over Ethernet) AppleTalk Address Resolution Protocol (AARP) Internet Protocol Version 6 (IPv6) VLAN-tagged frame (IEEE 802.1Q) Novell IPX EAP over LAN (IEEE 802.1X) PROFINET Protocol HyperSCSI (SCSI over Ethernet) ATA over Ethernet EtherCAT Protocol Fibre Channel over Ethernet (FCoE) FCoE Initialization Protocol 91 Ethernet – CSMA/CD CSMA/CD Verfahren (Jam-Signal besteht aus 32 bis 48 Bits mit 1-0-Kombination) 92 Fast Ethernet • 100MBit/s • in der Regel mit CAT 5 Kabeln mit Full-Duplex • in der Regel „Switched“ 93 Ethernet Kenndaten (relevant nur bei halb-duplex Verbindungen) 94 Gigabit Ethernet (1) Gigabit Ethernet (IEEE 802.3z, 802.3ab) Bei Gigabit-Ethernet über TP Kabel werden alle 8 Leitungen eines CAT 5+ Kabels für die Datenübertragung auf vier Kanälen verwendet. 95 Gigabit Ethernet (2) • Gigabit-Ethernet abwärtskompatibel → CSMA/CD Unterstützung • Kollisionsdomäne verkürzt sich somit theoretisch auf 20m (Ethernet 2000m) • Lösung: • • Carrier Extension bzw. Padding Bytes → Frames werden auf Mindestlänge von 512 Byte verlängert (Ethernet 64 Byte) → Verlängerung der Slot-Time von 512 auf 4096 Bitzeiten → Kollisionserkennung wieder über eine Distanz von 200m möglich Geswitchtes (Voll-Duplex) Gigabit-Ethernet kommt ohne Frame-Verlängerung aus • 125 MHz clock • 4 Adernpaare • PAM 5 Kodierung auf jedem Paar • Ein Byte pro BAUD über die 4 Paare bedingt durch die 5 möglichen Zustände … 1000MBit/s • Full-duplex auf jedem Paar (durch “Hybrid” Baustein) 96 Kodierverfahren (Auswahl) • • • • Bei der Übertragung von Daten in lokalen Netzen verwendet man generell Basisbandübertragung. Die Übertragungsleitung nimmt zwei Zustände (Pegel) abhängig von den zu übertragenden Binärwerten an. Bei Weitverkehrsnetzen wird teilweise auch modulierte Übertragung verwendet, wobei die Binärwerte einem höher frequenten Signal (Sinusträger) aufmoduliert werden. Es wird eine Codierung verwendet, die eine Rückgewinnung des Taktes aus dem Signal erlaubt. 97 Kodierverfahren - Manchester Ethernet: Manchester-Code "1": 0->1-Übergang in Bitmitte "0": 1->0-Übergang in Bitmitte Abhängig vom Wechsel der Zustände ist noch ein zusätzlicher Übergang am Anfang jedes Bits nötig. Über die Zeit gemittelt hat das Signal keinen Gleichstromanteil. Token-Ring: Differential Manchester Auch hier gibt es einen Übergang in der Bitmitte, jedoch nur bei einer folgenden "0" einen Übergang am Bitanfang. Je nach Anfangspegel ergeben sich zwei mögliche, zueinander inverse Signalfolgen. 98 Kodierverfahren - NRZ-I NRZ-I (Non Return to Zero Invers): z.B. FDDI (Glasfaser) Beim Übertragen einer logischen "0" wird der Status auf der physikalischen Leitung nicht verändert, beim Übertragen einer logischen "1" erfolgt ein Wechsel des Status auf der physikalischen Leitung. Kodierung des Wertes: 1 0 1 1 0 0 0 1 Takt 1 0 1 1 0 0 0 1 99 Kodierverfahren – 4B/5B 4B/5B-Kodierung (100Base-FX mit NRZ-I) Codegruppe Name TX/RX Funktion 11100 E 1110 Data E 11101 F 1111 Data F Kontrollgruppe 11111 I undefiniert Idle: Stream Fill Code 11000 J 0101 Start of Stream Delimiter, Teil 1 10001 K 0101 Start of Stream Delimiter, Teil 2 01101 T undefiniert End of Stream Delimiter, Teil 1 00111 R undefiniert End of Stream Delimiter, Teil 2 Fehler-Gruppe 00100 H undefiniert Transmit Error Gruppe ungültiger Codes 00000 V undefiniert In jedem 5-Bit-Block kommen maximal zwei aufeinander folgende Nullen vor. Diese Pegelwechsel werden für die Taktrückgewinnung verwendet. Allerdings ist das Ergebnis nicht gleichspannungsfrei → nicht in elektrischen Netzen eingesetzt. 100 ungültig Kodierverfahren – 8B/10B • • • • Jedes 8-Bit Datenwort wird in ein 10-Bit Symbol kodiert. 8-Bit → 256 Möglichkeiten; 10-Bit → 1024 Möglichkeiten Es werden nur Bitfolgen verwendet, die mindestens 4 Pegelwechsel und mindestens vier Einsen bzw. vier Nullen besitzen. Die verfügbaren 10-Bit Symbole werden in zwei Gruppen, eine „positive“ sowie eine „negative“ Gruppe, unterteilt. Die positive und negative Gruppe sind komplett bzw. teilweise zueinander invers. • • • Gleichanteilfreiheit wird durch „Running Disparity“ sichergestellt. • • • • • 4-Bit Gruppenkode hat ungleiche Anzahl Einsen und Nullen → komplett invers gleiche Anzahl → teilweise invers (Gruppenkode wird beibehalten; Datenteil wird invertiert) Wurde ein Symbol aus der „positiven“ Gruppe gesendet, welcher mehr Einsen enthält, so wird das nächste Byte mit der „negativen“ Gruppe kodiert. Sind gleich viele Einsen und Nullen im Kode enthalten wird die Gruppe beibehalten. Ein Teil der nicht verwendeten Symbole wird für Steuerinformationen bzw. Synchronisation verwendet. Die Leitungskodierung erfolgt mittels NRZ (bipolar). Eigenschaften: • • Eigenschaften wie bei 4B/5B absolute Gleichanteilfreiheit 101 Kodierverfahren – MLT-3 MLT-3-Kodierung (Multilevel Transmission Encoding - 3 Levels) Einsatz: 100Base-TX, FDDI über TP-Kabel (CDDI) 102 Kodierverfahren – PAM5 PAM5 (5-Level Puls Amplitude Modulation) in Kombination mit Trellis-Kodierung Einsatz: 1000Base-T 103 4.3 Hardware Störquellen 104 Kabeltypen Koaxialkabel – 10Base-2/Cheapernet, 10Base-5 50Ohm 105 Twisted Pair (1) Twisted Pair ... Verdrillte Leitungen UTP ... Unshielded Twisted Pair STP ... Shielded Twisted Pair S-UTP ... STP Kabel (eine Schirmung um alle Leitungen) S-STP ... STP Kabel (jedes Adernpaar einzeln geschirmt) Unnötige Mischung von S-UTP mit S-STP Kabeln in einem Netz vermeiden. 106 Twisted Pair - Nomenklatur • Norm ISO/IEC-11801 (2002) regelt ein neues Bezeichnungsschema der Form XX/YZZ: • • • XX für die Gesamtschirmung: • U = ungeschirmt • F = Folienschirm • S = Geflechtschirm • SF = Geflecht- und Folienschirm Y steht für die Aderpaarschirmung: • U = ungeschirmt • F = Folienschirm • S = Geflechtschirm ZZ steht für • TP = Twisted Pair • QP = Quad Pair 107 Twisted Pair (2) SF/UTP-Kabel (Screened Foileshielded/Unshielded Twisted Pair) S/FTP-Kabel (Screened/Foileshielded Twisted Pair) Twisted-Pair ist ein vieradriges (bei 1000Base-T werden 8 Adern verwendet!), paarweise verdrilltes Kupferkabel, bei dem zwischen Sender und Empfänger für jede Übertragungsrichtung zwei Kupferadern genutzt werden (Full-Duplex ... Gleichzeitiges Senden und Empfangen). Konventionelle TP-Verkabelung Pin Signal 1 Sendesignal + 2 Sendesignal 3 Empfangssignal + 6 Empfangssignal 108 TP Kabel - Kategorien Kategorie Beschreibung 1 Leistung eines konventionellen Telefonkabels mit max. 1MBit/s. 2 Einsatz für ISDN. Max. 4MBit/s auch über mittlere Entfernungen. 3 UTP- und STP-Kabel für Ethernet (10Base-T) und Token Ring. 10MBit/s bis 100m (für 16MHz spezifiziert). 4 UTP- und STP-Kabel (20MHz). 20MBit/s auch über größere Entfernungen. 5 Frequenzbereich 100MHz. Standardkabel für Fast Ethernet und CDDI. Oft als Cat-5e im Einsatz. 6 Frequenzbereich 250MHz für 1000Base-T und ATM (Asynchron Transfer Mode – WAN). 7 Frequenzbereich bis 600MHz (Variante 7A bis 1000MHz, andere Stecker RJ-45 kann diese Spezifikation nicht mehr erfüllen). Gigabit Ethernet (1000Base-T) mit Cat-5e Kabeln ist in der Praxis möglich (8 Adern beschaltet!) 109 Crossover Kabel (TP) 110 Lichtwellenleiter n2 c1 sin = = n1 c2 sin n2 > n 1 (Medium 2 ist optisch dichter als Medium 1) Winkel der Totalreflexion n1 sin = n2 Vorteile (gegenüber Kupferverbindungen): • • • • • störunempfindlich (Einsatz unter „rauhen Bedingungen“: z. B. neben Starkstromkabeln) nahezu abhörsicher niedrigere Fehlerrate keine Beschädigung durch Überspannungen, statische Entladung, Blitzschlag automatische „galvanische“ Trennung → keine Masseprobleme zwischen Netzen 111 LWL Übersicht 112 LWL Aufbau 113 LWL Multimode-Stufenindex-Faser Klassifizierung mittels Bandbreite*Reichweite Produkt 114 LWL Multimode-Gradienten-Faser 115 LWL Monomode-Stufenindex-Faser 116 LWL Vergleich 117 LWL Prinzip Bestandteile: • Sender: LED (Light Emitting Diode) bzw. Laser Diode (je nach Bandbreite) • Empfänger: Photodiode • typische Wellenlängen: 850nm, 1300nm, 1500nm → Dämpfung bei diesen Wellenlängen minimal Begriffe: • Dispersion: Signalverzerrung bedingt durch unterschiedliche Laufzeiten des Lichtes im LWL bzw. schon in der Lichtquelle • Dämpfung: Abschwächung des Signals (insbesondere an Anschlussstellen), aber auch Absorption • Moden: Bei Monomode-Fasern ist Durchmesser des Kerns zur Vermeidung der chromatischen Dispersion exakt an die Wellenlänge angepasst. Das Licht wird nur in 118 einem Modus (nur im Strahlweg) übertragen. Moden • Moden in Lichtwellenleitern • die Indizes charakterisieren die Struktur der Intensitätsverteilung • m Nullstellen in radialer Richtung • schwarz sind Bereiche negativer Feldstärke; die zum Quadrat der Feldstärke proportionale Intensität (Helligkeit) ist dort ebenso groß wie in den weißen Bereichen • an den Übergängen geht die Intensität auf null (Nullstelle der Feldstärke). • Unterschiedliche Strahlprofile ein und derselben Multimodefaser (50 µm Gradientenindex) in Abhängigkeit von der Lichteinkopplung und Biegung der Faser (Modendurchmischung) 119 LWL Varianten 120 LWL Anschlüsse 121 LWL Prüfung Messprotokoll einer OTDR – Optic Time Domain Reflectrometrie - Messung 122 Spezielle Hardware Aufgaben Repeater: Bridge/Switch: Router: Gateway: Regeneriert und verstärkt das elektrische Signal. Es findet keine "Bitinterpretation" statt Nimmt physikalische Trennung von Netzen vor. Führt Fehler- und Lasttrennung durch. Mechanismen zum Filtern meist implementiert. Rudimentäre Mechanismen zur Wegefindung u.U. vorhanden ("Routing Bridge") Entkoppelt die (Sub-) Netze auf logischer (Protokoll-) Basis aufgrund von Layer 3-Adressen. Steuert den Verkehr zwischen Netzen ("Wegefindung"). Arbeitet protokollabhängig! Nimmt eine Umwandlung von Diensten vor. Security-Mechanismen möglich ("Firewall", "Proxy"). 128 Repeater Repeater werden verwendet, um die Längenbeschränkung eines Ethernet-Segmentes aufzuheben. Ein klassischer Repeater verbindet zwei Ethernet-Segmente (10Base5 oder 10Base2), er ist mit je einem Transceiver an jedes Segment angeschlossen. Der Repeater ist als reines Verstärkerelement in der untersten Schicht des OSI-Modells angesiedelt. Multiport-Repeater Der Multiport-Repeater bietet die Möglichkeit, mehrere (typischerweise bis zu acht) CheapernetSegmente zusammenzuführen und über einen Transceiveranschluß mit dem Standard-Ethernet zu verbinden. 129 Hub Analog dem Multiport-Repeater besteht die Funktion eines Hub darin, mehrere Twisted-Pair-Kabelsegmente über einen Transceiveranschluss mit dem Ethernet zu verbinden. Der Begriff "Hub" steht also für fast alle Verstärkerkomponenten, die eine sternförmige Vernetzung ermöglichen. Hubs haben immer mehrere Ports zum Anschluss von mehreren Rechnern. Bei Twisted-Pair-Verkabelung ist meinst einer der Ports als "Uplink" schaltbar, d. h. es werden die Leitungen gekreuzt. Auf diese Weise lassen sich die Hubs kaskadieren. Typisch sind Hubs mit 4, 8, 12, 16, 24 und 32 Ports. Manche Repeater/Hubs lassen sich über spezielle Busports und in der Regel sehr kurze Buskabel verbinden. Vorteil dieser herstellerspezifischen Kaskadierung ist, dass alle so verbundenen Repeater/Hubs als ein Repeater bezüglich der Repeaterregel zählen. 131 Patch Panel (1) 132 Patch Panel (2) Anschluss von 2 Geräten (Rechner, Telefon) mit nur einem Kabel (Y-Kabel) 133 Bridge/Media Converter Bridge im OSI-Modell Media Konverter 134 Switch (1) Arbeitsweisen: • Store and Forward: • eingehendes Datenpaket (Frame) wird vollständig zwischengespeichert • Zielort wird ermittelt • Datenpaket (Frame) wird auf Ausgangsport gelegt • Nachteil: Speicher und Verarbeitungszeit • Cut Through Switching: • Daten werden vermittelt, wenn die Zieladresse (MAC) aus Datenstrom ermittelt wurde • Nachteil: fehlerhafte Pakete werden sofort weitergeleitet, keine Korrekturen und Filterung • Adaptive Cut Through Switching: 135 • nach typischerweise 64 Bytes wird Vermittlungsentscheidung getroffen Manageable Switch z.B. Cisco, 3Com, HP Administration: • • • • via „Console“ über RS232 → Programm „HyperTerminal“ via Netzwerk und Telnet, SSH via Netzwerk und Web Browser (HTTP, HTTPs) via Netzwerk und SNMP (Simple Network Management Protocol) Allgemeine Einstellungen: • • • • • Status Administrationsmöglichkeiten Switch Konfiguration (IP) Event Log (syslog) Diagnostik LWL Switch Spezielle Einstellungen: • Monitoring (Netzwerkanalyse via Monitoring Port) • Port Security (Binden von MAC-Adressen an Ports, Konfiguration von zulässigen Protokollen, Bandbreite, etc.) • Traffic Filter • Class of Service (bestimmte Protokolle erhalten Vorrang) • VLAN - Virtuelle LAN (Gruppierung von Switch-Ports zu Subnetzen) 137 Router Router im OSI-Modell Routing → Kapitel 6 138 Layer-x-Switches Verallgemeinerung des „Switch“-Begriffes auf alle OSISchichten: → klassischer Layer-2-Switch → Layer-3-Switch („Switch-Router“) → Layer-4-Switch („Load-Balancer“) → Layer-7-Switch („Content Switch“) Verwandte Begriffe: → „Proxy“ → „Gateway“ 139 Erweiterung von LANs VLAN Strukturierte Verkabelung Collapsed Backbone Weitere Techniken (z.B. ATM) 140 VLAN • • • • • • • • Virtual Local Area Network Aufbau logischer Netzwerkstrukturen „Kabelziehen“ entfällt Definition: • VLAN ist autonome Gruppe von Netzwerkknoten, wobei die Zugehörigkeit zu einem LAN nicht von der physikalischen Verkabelung abhängt, sondern von der Konfiguration im zentralen Gerät (L2-Switch) Vorteile: • Problemloses „Umziehen“ • Reduzierung von Broadcast- und Multicast-Traffic Unterscheidung zwischen L1-VLAN (Dose), L2-VLAN (MAC), L7-VLAN (Anwendung) Üblich: L1-VLAN nach IEEE 802.1q Unterscheidung: • Statisch konfigurierte VLANs • Dynamisch konfigurierte VLANs (Protokolle GVRP und GARP nach IEEE 802.1d) • Auch in Kombination mit starker Authentisierung beim Netzzugang (in Verbindung mit IEEE 802.1x) 141 IEEE 802.1q • IEEE 802.3 Tagged MAC Frame • • VLAN-Tag optional PAD-Feld, um Mindestgröße von 64 Byte zu gewährleisten TPID – Tag Protocol Identifier: Fester Wert 8100hex. TCI – Tag Control Information: PCP (3Bit) – Priority Code Point: Benutzer-Prioritätsinformationen. DEI (1Bit) – Drop Eligible Indicator: Kann separat oder in Verbindung mit PCP verwendet werden, um anzuzeigen dass Frames in der Gegenwart von Staus fallen gelassen werden können. VID (12Bit) – VLAN Identifier: Identifizierung des VLANs zu dem der Frame gehört. 142 Strukturierte Verkabelung • Internationale und nationale Standards • • • ISO/IEC DIS 11801 EN 50173 Unterscheidung von: • • • Primärer Bereich (Gebäudeverkabelung) Sekundärer Bereich (Steigleitungsbereich) Tertiärer Bereich (Etagenbereich) 143 Primärer Bereich • • • Gebäudeverkabelung/Backbone Anforderungen • Hohe Datenraten über große Entfernungen (> 1Gigabit/s) • Redundante Verbindungen (Ring, Mehrfachring, ggf. Stern) • Sichere und gut dokumentierte Trassenführung (ggf. begehbar od. gut zugänglich) • Länge: max. 1-2km • Anbindung ans WAN Realisierung (i.d.R.) • Übertragungsmedium LWL • Ausfallsicherheit, Abhörsicherheit, einstreusicher gegenüber elektromagnetischen Feldern, sicher gegen Blitzschlag • Port Trunking (i.d.R. „Switch-to-Switch“) • VLANs (Virtuelle LANs) • Separates Managementnetz (über separate Adapter oder VLAN) 144 Sekundärer Bereich • • Steigleitungsbereich Realisierung • • • • • • LWL od. Cat 6 (heute >= 1Gigabit/s) Länge: <500m Sterntopologie Problemlose Begehbarkeit der Gebäude- und Etagenverteiler Redundante Anbindung der Etagenverteiler Separates Managementnetz oder ManagementVLAN 145 Tertiärer Bereich • • Etagenbereich Realisierung • Cat 5-6 (100 Mbit/s, 1000MBit/s) • Sterntopologie • Länge: max. 90m (10m Reserve) • Redundante/mehrfache Verlegung von Kabeln zu den Arbeitsplätzen • VLANs terminieren i.d.R. am Etagenverteiler (Switch) 146 Collapsed Backbone • • Tertiärer Bereich entfällt Vorteile: • • Ggf. geringere Kosten für Technik, Räume, Klimatisierung Nachteile: • Größere Entfernungen • • • • Ggf. LWL Höhere Kosten für mehr verlegte Kabel Single-Point-of Failure Schlecht erweiterbar (Kabel, aktive Technik) 147 4.4 Wireless LAN 150 Geräte 151 Einführung WLANs (Wireless Local Area Network) stellen Anpassungen der Schicht 1 und 2 des OSI-Referenzmodells dar. Zell-Topologie: Betriebsarten: Infrastruktur-Modus, Ad-hoc-Modus. 152 Probleme • Drahtlose Netzwerk-Adapter sind erheblich langsamer als herkömmliche Netzwerkkarten. Selten wird in der Praxis eine Geschwindigkeit von mehr als 22 MBit/s erreicht, meist erheblich weniger. • Innerhalb der Reichweite (je nach Gebäudestruktur etwa 10...50 m) teilen sich die drahtlos vernetzten Computer die Übertragungsleistung. Die Netto-Geschwindigkeit sinkt dadurch weiter. • Die Kosten für drahtlose Adapter liegen über jenen für konventionelle Netzwerkkarten. • Bei den meisten Lösungen sind zusätzliche "Access Points" nötig, die die Schnittstelle zwischen einem Kabel-Netzwerk und drahtlosen Workstations darstellen. 153 IEEE 802.11 Standard Erläuterung Einführung 802.11 1 bzw. 2 Mbps, 2.4 GHz, veraltet 1997 802.11a 54 Mbps, 5 GHz (seit 2003 in Deutschland frei gegeben) 1999 802.11b 11 Mbps, 2.4 GHz 1999 802.11d "World Mode" (u.a. Roaming zwischen Ländern) 2001 803.11e Quality Of Service 2001 802.11g Higher Data Rate (> 20 Mbps), 54 Mbps, 2.4 GHz 2003 802.11h Reichweitenanpassung, Indoor- und Outdoor-Kanäle (im 5-GHz-Band) 2003 802.11i Authentication und Sicherheit 2004 802.11n 540 Mbps, 5 GHz 2006 802.11ac Geplant: 1,3 GBit/s 5 GHz (2014) 802.11ad Geplant: 6,7 GBit/s 60 GHz (2014+) Neben diesen gibt es proprietäre Erweiterungen, die andere Übertragungsraten erlauben (22 MBit/s im 2,4-GHz-Band, PBCC, auch als "802.11b+" bezeichnet; oder 108 MBit/s). Diese sind aber keine offiziellen IEEE-Standards. 154 Technische Details TPC (Transmit Power Control) reduziert ähnlich wie bei Mobiltelefonen die Sendeleistung abhängig von der Notwendigkeit (guter Kontakt zwischen den Geräten = geringere Sendeleistung) DFS (Dynamic Frequency Selection) es wird selbstständig eine freie Frequenz gewählt, z. B. um gegenseitiges Stören mehrerer Systeme zu vermeiden Sendeleistungen: 2,4 GHz: 100 mW 5 GHz: 60 mW, mit TPC/DFS 200 mW (indoor, ab 802.11h) In Europa ist TPC/DFS vorgeschrieben. Kompatibilitäten: 802.11b und 802.11g sind zueinander kompatibel, jedoch fällt das 802.11g-Gerät dann in einen Kompatibilitätsmodus zurück, der die effektive Geschwindigkeit auf ca. 10 MBit/s reduziert. 802.11a und 802.11h sind zueinander kompatibel, keine Einschränkungen. 155 Frequenzbänder (1) Funknetze (Radio, Fernsehen, …) verwenden bestimmte Frequenzen (Frequenzbänder). Besondere Rolle: ISM-Bänder (Industrial Scientific and Medical) • Gering reglementiert (nur Bandbreite, Sendeleistung, Störsicherheit) • lizenzfrei ISM-Band 1 2 3 4 5 Andere Frequenzbereich 26,957 – 27,283 MHz 40,660 – 40,700 MHz 433,050 – 423,790 MHz 868 – 870 MHz 2,4 – 2,4835 GHz 5GHz 5,8 GHz 24 GHz 122,5 GHz Bandbreite 326 kHz 40 kHz 1,74 MHz 2 MHz 83 MHz > 150 MHz Eigenschaften Hoher Störpegel durch CBFunk Geringe Bandbreite Stark belegt auch durch Amateur – und Betriebsfunk Geringe Belegung Hohe Bandbreite, Störungen durch Mikrowellenherde Wird noch erschlossen 156 Frequenzbänder (2) Standard IEEE 802.11a IEEE 802.11b IEEE 802.11g IEEE 802.16d IEEE 802.16e IEEE 802.11n Frequenzen 5,15 GHz bis 5,725 GHz 2,4 GHz bis 2,4835 GHz 2,4 GHz bis 2,4835 GHz 2 GHz bis 11 GHz (Zulassung!) 0,7 GHz bis 6 GHz (Zulassung!) 2,4 GHz bis 2,4835 GHz und 5,15 GHz bis 5,725 GHz Bandbreite zwischen 10 und 40 MHz 2,4-GHz-Bereich (802.11b) 157 Trägerfrequenzen Spread-Spectrum-Verfahren Die Daten werden auf mehrere Trägerfrequenzen verteilt. Das Spreizen des Signals erfolgte entweder mit dem Zufallssystem Direct Sequence Spread Spectrum (DSSS, WLAN) oder durch das zyklische Springen zwischen mehreren Frequenzbändern, Frequency Hopping Spread Spectrum, (FHSS, Bluetooth). 158 Frequenzen – Vor- und Nachteile 2,4-GHz-Vorteile • kostenloses Frequenzband, daher geringere Gerätekosten, und höhere Verbreitung • etwas höhere Reichweite, da diese Frequenzen weniger stark gedämpft werden 2,4-GHz-Nachteile • Frequenz muss mit anderen Geräten geteilt werden (Mikrowellenherde, Babyphones, etc.), dadurch Störungen • effektiv nur 3 brauchbare (nicht überlappende) Kanäle 5-GHz-Vorteile • bessere Verbindungsqualität (subjektiv); weniger Verbindungsabbrüche • in Deutschland 19 (bei RegTP-Zulassung) nicht überlappende Kanäle 5-GHz-Nachteile • höhere Kosten • geringere Verbreitung • etwas weniger Reichweite, da diese Frequenzen stärker gedämpft werden 159 Zugriffsart CSMA/CD ist bei WLAN nicht möglich, deshalb wird hier die Technik CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance, Kollisionsverhinderung) eingesetzt. LLC (Logical Link Control) wird verwendet, um sicher zustellen, dass ein Paket auch tatsächlich angekommen ist. Dies ist sehr wichtig, da Funksignale gestört werden können. Motivation für CSMA/CA bei Funknetzen: Drahtlose Netze unterscheiden sich im Bezug auf den gemeinsamen Medienzugriff durch zwei wichtige Faktoren von drahtgebundenen Netzen: • Der Netzadapter ist nicht notwendigerweise Voll-Duplex-fähig. Während einer eigenen Übertragung kann das Medium nicht überwacht werden. Der Einsatz eines "Collision Detection"-Mechanismus, wie er etwa von CSMA/CD vorgesehen ist und bei Ethernet verwendet wird, würde dann fehlschlagen. Deswegen wurde CSMA/CD zu einem Mechanismus weiterentwickelt, der konsequenter dem Prinzip "listen before talk" ("erst hören, dann sprechen") folgt. Durch CA lassen sich gleichzeitige Datenübertragungen zwar nicht völlig verhindern, aber doch minimieren. • Die Reichweite des Signals ist stark begrenzt, da die Signalstärke quadratisch mit der Entfernung abnimmt. Deshalb kann es zu Effekten wie "versteckten" Endgeräten kommen. 160 CSMA/CA Ablauf: • Wie bei CSMA/CD hören alle teilnehmenden Stationen den Verkehr auf dem Funkkanal mit. Wenn eine Station übertragen will, wartet sie, bis das Medium frei ist. • Danach wartet sie noch eine vorbestimmte Zeitperiode (DIFS) plus eine zufällig gewählte Zeitspanne, bevor sie ihren Frame überträgt. • Auch in dieser Zeitspanne (Wettbewerbsfenster) wird der Funkkanal weiter überwacht. • Wenn keine andere Station innerhalb des Wettbewerbsfensters vor dem gewählten Zeitpunkt mit der Übertragung beginnt, sendet die Station ihren Frame. • Hat aber eine andere Station innerhalb der Wartezeit mit der Übertragung begonnen, wird der Zeitzähler angehalten und nach der Übertragung der anderen Station weiter benutzt. • Auf diese Weise gewinnen Stationen, die nicht übertragen durften, an Priorität und kommen mit einer erhöhten Wahrscheinlichkeit in den nächsten Wettbewerbsfenstern zum Zug. • Eine Kollision kann nur entstehen, wenn zwei oder mehrere Stationen den gleichen ZeitSlot auswählen. Diese Stationen müssen die Wettbewerbsprozedur erneut durchlaufen. 161 Frame Wireshark 162 WLAN-Szenarien „Ad-hoc“-Netzwerken: Hierbei sind mehrere Arbeitsrechner in einem begrenzten Sendebereich miteinander verbunden. Zentrale Übermittlungs- bzw. Kontrollsysteme, so genannte "Access-Points" sind bei diesem Anwendungsfall nicht vorgesehen. Ein derartiges "Ad-hoc" Netzwerk könnte zum Beispiel zwischen den tragbaren Computersystemen während einer Besprechung in einem Konferenzraum aufgebaut werden. „Infratruktur-Modus“: Es kommen "Access-Points" zum Einsatz. Bei diesen Geräten handelt es sich um Netzwerkkomponenten, welche die Kommunikation innerhalb eines WLANs, zwischen einzelnen WLAN-Zellen und die Verbindung zwischen WLANs und herkömmlichen LANs (Kabel basierend) ermöglichen und kontrollieren. Access-Points regeln die "gerechte" Verteilung der zur Verfügung stehenden Übertragungszeit im Funk-Netzwerk. Des weiteren ermöglichen diese Komponenten mobilen Arbeitsstationen das unterbrechungsfreie Wechseln (Roaming) von einer WLAN-Zelle in die Nächste. 163 SSID •Als Service Set Identifier (SSID) oder auch Network Name bezeichnet man eine Funk-Netzwerk-Kennung, die auf IEEE 802.11 basiert. •Jedes WLAN besitzt eine konfigurierbare, so genannte SSID oder ESSID (Extended Service Set IDentifier), um das Funknetz eindeutig identifizieren zu können. •Die SSID-Zeichenfolge kann bis zu 32 Zeichen lang sein. Sie wird in der Basisstation (Access Point) eines WLAN konfiguriert und von allen Clients, die darauf Zugriff haben sollen, eingestellt. Die Zeichenfolge wird allen Paketen unverschlüsselt vorangestellt. 164 SSID (2) • Als Besonderheit kann an einem Client die SSID ANY (beliebig) eingestellt werden. Verlangt ein Client den Zugang zu einem Wireless LAN, senden alle erreichbaren Basisstationen einen SSID Broadcast, so dass aus einer Liste ausgewählt werden kann, zu welchem man Zugang wünscht. • Mit der Vergabe unterschiedlicher Netzkennungen ist es auch möglich, verschiedene Wireless LANs am selben Ort zu betreiben. Die SSID wird an der Basisstation eingestellt. Um mehrere Basisstationen zu einem Netz (auf OSI Schicht 2) zu verbinden, stellt man auf mehreren Basisstationen dieselbe SSID ein, sie wird dann als ESSID bezeichnet. • Clients geben die ESSID entweder explizit an, oder versuchen, mit der ESSID "*" einem beliebigen Netz beizutreten. Im letzteren Fall liegt es an der Basisstation, ob der Client sich in das Netz einbuchen darf. 165 WLAN Access Point (1) Ein Wireless Access Point (AP) ist Teil der Topologie eines Computernetzes, das aus funkbasierten und optional zusätzlich aus kabelgebundenen Bestandteilen besteht. Hauptaufgaben: • An einem AP können sich viele WLAN-Clients (Endgeräte) einbuchen und gegenseitig über den AP Daten austauschen. Damit die Kommunikation auf der von allen Teilnehmern gemeinsam genutzten Funkfrequenz nicht unter Kollisionen zusammenbricht, kommt das Verfahren CSMA/CA (nur bei 802.11a/g) zum Einsatz. Der AP gibt die Daten als Mittler in einem anderen Zeitfenster an das eigentliche Zielgerät weiter. Vergleichbar einem Switch, der im kabelgebundenen Ethernet die Netzwerkkarten mehrerer Endgeräte auf einen parallelen Datenbus schaltet, schafft ein Access Point einen funkbasierten Datenbus über den die eingebuchten Endgeräte Daten austauschen können. • Meistens möchte man ein WLAN auch an ein kabelgebundenes Ethernet anschließen. Hierzu bieten viele APs ein zweites internes Netzwerk-Interface für den EthernetAnschluss mit einer RJ-45-Buchse. Diese Charakteristik entspricht einer Bridge. Im OSI-Modell ist ein Access Point auf Schicht 2 (Link Layer, Verbindungsschicht) angesiedelt. Es handelt sich im Prinzip um einen Switch beziehungsweise eine Bridge, auch wenn viele Access Points noch weitere Funktionalitäten, wie Routing, Paketfilter 166 oder DHCP-Server bieten, die höhere OSI-Schichten abbilden. WLAN Access Point (2) Mögliche Betriebsmodi (Infrastruktur-Modus) eines 802.11 Access Point: • Im Basic Service Set wird ein einzelner Access Point betrieben, an dem sich beliebig viele Endgeräte einbuchen und Daten austauschen können. • Unterstützt ein Access Point den Modus Ethernet Bridge, bietet er neben der Funkschnittstelle noch eine interne Netzwerkkarte mit RJ-45Buchse als Schnittstelle in das kabelgebundene Ethernet und vermittelt Daten zwischen Ethernet und Wireless LAN (OSI-3: WLAN-Router). • Für das Extended Service Set verkabelt(!) man zwei oder mehr Access Points über ein Ethernet und stellt den gleichen Funknetzwerknamen (ESSID) auf allen Access Points ein. Dadurch vergrößert sich die Reichweite des Funknetzes, denn die Clients werden automatisch zwischen den Access Points übergeben (Roaming), sobald sich der Standort des Clients entsprechend geändert hat. 167 WLAN Access Point (3) • Man kann zwei Access Points im Wireless Bridge Modus (auch WLANBridge) Point to Point (PtP) betreiben. An jedem Ende wird jeweils ein Ethernet an den Access Point angeschlossen und die Ethernets sind über eine Funkbrücke verbunden. (Die Access Points arbeiten dann ausschließlich als Bridge zwischen den Ethernets; Clients können sich nicht mehr am Access Point anmelden.) Bei einer Point to Multi-Point (PtMP) Wireless Brigde werden von einem Access Point Funkbrücken zu zwei (oder mehr) anderen Access Points aufgebaut. • Repeater-Modus: Ein Wireless Repeater ist eigentlich kein Access Point, aber einige Access Point Produkte können als Repeater eingesetzt werden. Ein Repeater wiederholt das Signal eines anderen Access Points sowie von anderen Endgeräten und vergrößert damit deren Reichweite, ohne, wie das Extended Service Set, von Kabeln abhängig zu sein. Ein Wireless Repeater erhöht aber den Datenverkehr im Funknetz deutlich! 168 Reichweite (1) Die Antennen handelsüblicher 802.11 Endgeräte lassen 30 bis 100 Meter Reichweite erwarten (neuester Technik bis 80 Meter in geschlossenen Räumen). Bessere WLAN-Hardware sollte den Anschluss einer externen Antenne erlauben. Mit externen Rundstrahlantennen lassen sich bei Sichtkontakt 100 bis 300 Meter im Freien überbrücken. Leichtbauwände mindern die Reichweite, sind aber einzeln kein Hindernis; dagegen werden Stahl und Beton nicht durchdrungen, können im OutdoorBereich aber experimentell als Reflektorwand dienen, um Funklöcher “auszuspiegeln”. Bäume, insbesondere dicht belaubte, sind ebenfalls Hindernisse für WLAN-Verbindungen (vor allem 5 GHz-Bereich). Mit speziellen Richtfunkantennen lassen sich bei Sichtkontakt mehrere km überbrücken. Antennen bringen einen Sende- wie Empfangs-Gewinn. Rechtlich darf die abgestrahlte Leistung aller Komponenten zusammengenommen in Deutschland 100mW EIRP (equivalent isotropically radiated power) nicht übersteigen. 169 Reichweite (2) WLAN nach 802.11b (maximal 11 Mbit/s brutto) oder 802.11g (maximal 54 Mbit/s brutto) funkt im 2,4-GHz-Band (Wellenlänge von ca. 13 cm). Damit werden alle Gegenstände, ab einer Dicke von 13 cm, zu echten „Wellenbrechern“. Je stärker die elektrische Leitfähigkeit des Materials, desto stärker der Effekt. Außerdem können leitende Gegenstände in der Nähe von Antennen deren Richtcharakteristik stark beeinflussen. 170 Reichweite (3) WLAN nach 802.11a (maximal 54 Mbit/s brutto) funkt im 5-GHz-Band, in dem ein größerer Frequenzbereich (455 MHz) zur Verfügung steht und damit 19 nicht überlappende Frequenzen (in D) nutzbar sind. Auch dieser Frequenzbereich ist in Deutschland lizenzfrei nutzbar, jedoch sind strengere Auflagen (TPC, Transmit Power Control und DFS, Dynamic Frequency Selection) notwendig, um die in diesem Bereich arbeitenden Satelliten und Radargeräte nicht zu stören. Dies und die höheren Kosten der Hardware auf Grund der höheren Frequenz bewirken, dass sich 802.11a noch nicht gegen 802.11b oder g durchgesetzt hat. Es ist zu erwarten, dass dies erst geschieht, wenn die drei nicht überlappenden Kanäle im 2,4GHz-Band bei hoher Accesspoint-Dichte nicht mehr ausreichen. 171 Datensicherheit (1) WEP (Wired Equivalent Privacy) • Teil des WLAN-Standards IEEE 802.11 • Enthält kryptografische Algorithmen, wie RC4 mit Schlüssellängen von mit 40 Bit bzw. 104 Bit • Zugriffs-/Multiplexverfahren: FHSS (Frequency Hopping Spread Spectrum) und DSSS (Direct Sequence Spread Spectrum) • Verschlüsselung ist jedoch nicht sicher! → Sammeln von Schlüsseln und ”KnownPlaintext-Attacken”), Mitlesen des Verkehrs anderer Teilnehmer WPA (Wi-Fi Protected Access, „Wi-Fi Alliance“) • Ergänzung zu WEP (Teilmenge von IEEE 802.11i) • Die erhöhte Sicherheit gegenüber WEP besteht darin, dass der Schlüssel nur bei der Initialisierung verwendet wird und anschließend ein Session-Key zum Einsatz kommt. • Der Standard sieht zwei Möglichkeiten der Schlüsselverwaltung vor: 1. Die Zugangskennungen werden auf einem zentralen Server verwaltet (Managed Key) 2. "Pre-Shared-Keys" (WPA-PSK) Bei der "Pre-Shared-Keys"-Methode melden sich alle Nutzer eines Netzes mit demselben Kennwort an. Falls zu kurze und leicht zu erratende Passwörter verwendet werden, liegt hier ein Angriffspunkt für 172 Hacker (z.B. Brute Force). Datensicherheit (2) IEEE 802.11i • Bietet eine erhöhte Sicherheit und gilt zur Zeit als nicht zu entschlüsseln (keine trivialen Passwörter! → Brute Force Attacke). WPA2 ist das Äquivalent der WiFi zu 802.11i. EAP (Extensible Authentication Protocol) • EAP ist ein Protokoll zur Authentifizierung von Clients. Es kann zur Nutzerverwaltung auf RADIUS-Server zurückgreifen. EAP wird hauptsächlich innerhalb von WPA für größere WLAN-Installationen eingesetzt (siehe IEEE802.1x). Bedrohungen: → WarWalking, WarChalking, WarDriving Eine alternative Herangehensweise besteht darin, die Verschlüsselung komplett auf IP-Ebene zu verlagern. Hierbei wird der Datenverkehr beispielsweise durch die Verwendung von IPsec oder auch durch einen VPN-Tunnel geschützt. Besonders in freien Funknetzen werden so die Inkompatibilitäten verschiedener Hardware umgangen, eine zentrale Benutzerverwaltung 173 vermieden und der offene Charakter des Netzes gewahrt. Hardware WLAN Access Point WLAN-Karten: PCMCIA und PCI 174 Gesundheit Die von WLAN-Geräten genutzten Funkfrequenzen liegen meist um 2,4 GHz (Mikrowellenbereich). Die gleiche Wellenlänge wird von Mikrowellenherden, Mobilfunk und Radar genutzt. Bei den Leistungen innerhalb eines Mikrowellenherdes oder in der Nähe militärischer Radaranlagen sind schädliche Auswirkungen unbestritten. Bei Mobilfunk oder WLAN-Geräten wegen der geringen Leistungen (wahrscheinlich) nicht! Im Unterschied zu GSM senden WLAN-Geräte jedoch mit einer deutlich niedrigeren Sendeleistung (0,1 Watt statt 1-10 Watt) und mittels Frequenzspreizung mit einer höheren Bandbreite. Die Energie pro Frequenzband ist also deutlich niedriger und teilweise kaum vom Hintergrundrauschen zu unterscheiden. 175 Weitere Drahtlose Netze • Bluetooth • HIPERLAN/1 & 2, HIPERACCESS, HIPERLINK (High Performance Radio Local Area Network); WLAN-Konkurrent - nicht mehr gebräuchlich • GSM • GPRS (General Packet Radio Service) • UMTS (Universal Mobile Telecommunications System) • DECT (Digital Enhanced Cordless Telecommunications) • Wireless Personal Area Network (WPAN) (IEEE 802.15) • WiMAX (Worldwide Interoperability for Microwave Access) • HomeRF; WLAN-Konkurrent von Intel - nicht mehr gebräuchlich • Ultra Wideband (UWB) • Zigbee • Laserlink • Infrarot •… 176 Weitere Drahtlose Netze - Details Bezeichnung Details Bluetooth … HIPERLAN Standards der ETSI (European Telecommunication Standards Institute), die sich auf dem Markt nicht durchsetzen konnten, obwohl sie technisch interessante Konzepte enthalten. GSM volldigitaler Mobilfunknetz-Standard, der hauptsächlich für Telefonie aber auch für leitungsvermittelte und paketvermittelte Datenübertragung sowie Kurzmitteilungen (SMS) genutzt wird GPRS „Allgemeiner paketorientierter Funkdienst“: Erweiterung des GSM-Mobilfunk-Standards um paketorientierte Datenübertragung (2,5G) UMTS Von ITU als Standard für Handy‘s der 3. Generation (3G) ausgewählt. Multimediale Dienste für satelliten- und erdgestützte Sendeanlagen. DECT ETSI Standard für schnurlose Telefone WPAN … WiMAX neuer Standard (IEEE 802.16) für regionale Funknetze (bis 109MBit/s bei max. 50km) HomeRF Alternativer Standard zu WLAN. Wenig verbreitet. Ultra Wideband (UWB) Möglichkeit der digitalen Funkübertragung mit hoher Datenrate für kurze Distanzen. Nutzung extrem großer Frequenzbereiche mit einer Bandbreite von mindestens 500MHz oder von mindestens 20% der Mittenfrequenz. Zigbee Allianz zur Vernetzung von Heimgeräten. ZigBee soll es ermöglichen, Haushaltsgeräte, etc. auf Kurzstrecken (10 - 75m) zu verbinden und nutzt Protokolle aus IEEE 802.15.4. 177 Bluetooth Bluetooth ist ein Industriestandard für die drahtlose Vernetzung von Geräten über kurze Distanz. Bluetooth bietet eine drahtlose Schnittstelle, über die sowohl mobile Kleingeräte wie Mobiltelefone und PDAs als auch Computer und Peripheriegeräte miteinander kommunizieren können. Bluetooth gehört zur Familie der WPAN (Wireless Personal Area Network). Frequenzband: im lizenzfreien ISM-Band (von Industrial-, Scientific-, Medical-Band) zwischen 2,4 GHz und 2,4835 GHz. Theoretische Reichweite der Bluetooth-Geräte: 10 bis 100 Metern (Klasse I: 100 mW --> 100 m, Klasse II: 2,5 mW --> 20 m, Klasse III: 1 mW --> 10 m). Übertragungsrate: Theoretisch kann eine Datenübertragungsrate von 732,2 kbps beim Herunterladen bei gleichzeitigen 57,6 kbps beim Heraufladen erreicht werden. Mit der Version 2.0 - auch EDR (Enhanced Data Rate) genannt können Daten etwa dreimal so schnell übertragen werden, also mit rund 2,2 Mbit/s. 178 WPAN Im Gegensatz zum WLAN haben WPAN (Wireless Personal Area Network) kleinere Sendeleistungen und Reichweiten (0.2 … 10m) und bieten im allgemeinen kleinere Datenübertragungsraten (Infrarot-Schnittstelle). In WPANs wird über eine im Protokoll vorgesehene Emulation der seriellen Schnittstelle und PPP bzw. SLIP eine Netzwerkverbindung aufgebaut. Basiert in der Regel auf Standards der IrDA (Infrared Data Association). Die Datenübertragungsraten sind typischer Weise geringer als in WLANs: Das nicht weit verbreitete VFIR-IrDA (Very-Fast-Infrared) spezifiziert eine maximale Datenübertragungsrate von 16Mbit/s, das häufiger anzutreffende FIR-IrDA (Fast-Infrared) 4Mbit/s und Bluetooth 1Mbit/s. Im Gegensatz zu WLANs werden in WPANs typischer Weise auch nur Point-to-Point, allenfalls Point-to-Multipoint-Verbindungen realisiert. Die Option Multipoint-to-Multipoint ist in den Standards nicht vorgesehen. WPANs werden zur ad-hoc-Vernetzung von PDAs, Druckern, Notebooks und Mobiltelefonen genutzt. Typische Anwendungen sind der Austausch von Visitenkarten nach dem vCard179 Standard und Kalendereinträgen zur Terminabstimmung. 5 Weitverkehrsnetze – WAN WAN-Technologien für Firmennetze WAN-Technologien für den Endverbraucher 180 5.1 Modem 181 Digitale Modulationsverfahren (1) 182 Digitale Modulationsverfahren (2) 183 Modem – Prinzip „Modem“ Modulator und Demodulator → Digitale Informationen werden durch das Modem in Schwingungen umgesetzt, die zur Modulation der Spannung, mit der das analoge Telefon arbeitet, führen. → „0“ entspricht der Frequenz 2.100Hz → „1“ entspricht der Frequenz 1.200Hz → Modems arbeiten im Sprachband des Telefonnetzes → hörbare Töne 184 Baud - BPS Baud = Symbole/s BPS = Bit/s 185 Nachrichtentechnik Maximale Bitrate: Für einen Kanal mit zufälligem Rauschen gilt (Shannon, 1948): R = H*ld(1 + S/N) (in bits/s) ld Logarithmus dualis (zur Basis 2) Beispiel analoges Modem im Sprachband: S/N der Rauschabstand (gute Leitung: 35dB) H die Bandbreite des Kanals in Hz (Sprachband: 3kHz) → R ≈ 3kHz*8 = 24000BPS 186 Modem - Standards ITU-TEmpfehlung Betriebsart V.21 Vollduplex Je 300 Bit/s V.22 Vollduplex Je 1200 Bit/s V.22 bis Vollduplex Je 2400 Bit/s Halbduplex 1200 Bit/s V.23 Download Upload Vollduplex 1200 Bit/s 75 Bit/s Vollduplex 75 Bit/s 1200 Bit/s V.32 Vollduplex Je 9600 Bit/s V.32bis Vollduplex Je 14400 Bit/s V.34 Vollduplex Je 28800 Bit/s V.34bis Vollduplex Je 33600 Bit/s V.90 Vollduplex 56000 Bit/s 33600 Bit/s 187 Hardware 56k Modem (seriell) 56k Modem (PCI) 56k Modem (USB) 188 Telefonnetz 189 Der Weg zum ISDN 190 5.2 ISDN Integrated Services Digital Network Digitales Telefonnetz (ISDN) löst analoges Telefonnetz zunehmend ab: • neue Dienste/Feature • bessere Unterstützung der Datenübertragung Für die Umsetzung wurden diverse Standards mit relativ großen Freiheitsgraden für ISDN definiert. So entstanden verschieden inkompatible Implementierungen von ISDN-Netzwerken (je nach Land bzw. Telefongesellschaft): • In Deutschland wurde z. B. das 1tr6-Protokoll für ISDN verwendet. • Inzwischen gibt es einen starken gemeinsamen Standard: das Euro-ISDN (DSS1-Protokoll; in Deutschland Standard). • In den USA werden jedoch 2 andere Varianten des ISDN eingesetzt. Dort ist auch "nur" eine Übertragungsrate von 57Kb (EuroISDN 64Kb) je Kanal möglich. 191 Zukunft von ISDN? Zwar ist ISDN durch Kanalbündelung für größere Übertragungskapazitäten offen, jedoch erstarken neue Technologien mit neuen Möglichkeiten wie DSL (oder IP über Stromkabel) auf dem Markt. Dabei zeichnet es sich ab, dass irgendwann alle Informationsdienste (TV, Video, Radio, Internet, Telefon usw.) über einen Anschluss mit einem Protokoll (letztlich TCP/IP) angebunden werden. Der Sprachdienst (telefonieren) spielt dann aufgrund des geringen Datenvolumens keine Rolle mehr. Prinzipiell kann man das alles auch mit ISDN abwickeln, aber der Markt scheint andere Lösungen zu suchen. Insbesondere in den USA spielt ISDN keine große Rolle. Hier wird ISDN eher als Telefondienst und nicht als Datendienst gesehen. 192 ISDN Basisanschluss (1) Da ISDN eine rein digitale Verbindungstechnik ist, kommen an den Endpunkten keine Modems, sondern so genannte Netzabschlussgeräte (NTBA) zum Einsatz. Ihre Aufgabe ist es unter anderem, den Anschluss von mehreren Endgeräten an eine ISDN-Leitung zu ermöglichen. 193 ISDN Basisanschluss (2) ISDN-Verbindungen werden über den S0-Bus (sprich: S-Null-Bus; die Leitung, an die ISDN-Endgeräte direkt angeschlossen werden können) geführt. Zu diesem gehören zwei B-Kanäle, die jeweils 64 KBit/s Bandbreite haben und für den Datentransport reserviert sind und ein D-Kanal (16 KBit/s), der für die Steuersignale des Protokolls reserviert und ständig aktiv ist. An einen S0-Bus dürfen maximal 12 Anschlussdosen, 8 Endgeräte und davon maximal 4 Telefone angeschlossen werden. 194 ISDN Basisanschluss (3) Auf dem S0-Bus wird HDB3-Kodierung angewendet. 195 ISDN Primärmultiplexanschluss • Anschluss von Nebenstellentelefonanlagen • Ein Primärmultiplexanschluss bietet 30 bidirektionale Nutzkanäle (B-Kanäle) mit je 64 kbit/s + 1 Signalisierungskanal (D-Kanal) mit 64 kbit/s + 1 Synchronisationskanal mit 64 kbit/s = 2.048 kbit/s Bruttobandbreite. • Ein Nutzkanal wird mit B-Kanal bezeichnet und entspricht einem Kommunikationskanal (wird beispielsweise für eine Telefonverbindung verwendet). • Beim Primärmultiplexanschluss werden die Kanäle im Zeitmultiplexverfahren (TDM) übertragen, das heißt die Kanäle werden nacheinander in so genannten Zeitschlitzen übertragen. Der Zeitschlitz 0 dient der Synchronisation und Fehlerbehandlung mit CRC-Prüfsumme. Im Zeitschlitz 16 werden die Daten zu Steuerung der ISDN-Kommunikation übertragen (D-Kanal), und in den Zeitschlitzen 1 bis 15 und 17 bis 31 werden die Nutzkanäle übertragen. Danach fängt ein neuer Rahmen mit Zeitschlitz 0 an. Die Rahmenperiode beträgt demnach 125 µs, die Rahmenwiederholfrequenz ist 8 kHz. • Datenübertragung über zwei Kupfer-Doppeladern (Anforderung an Kabelkategorie!) oder Glasfaserleitung für Hin- und Rückrichtung. 196 Hardware ISDN Adapter (PCMCIA) ISDN Adapter (PCI) für Server-Installationen mit mehr als einem Basisanschluss ISDN Adapter (USB→Bluetooth) 197 5.3 xDSL „Digital Subscriber Line“ Modulationsverfahren: QAM (Quadratur Amplituden Modulation) → Im Prinzip analoge Datenübertragung auf den Leitungen ähnlich wie beim Modem → Da das „Telefonband“ nicht benutzt wird, ist es möglich permanent „online“ zu sein und trotzdem telefonieren zu können (bei ISDN sogar über beide Leitungen) ISDN ADSL2+ bis 2,2MHz 0,3 3,4 138 276 1104 198 DSL Varianten Abkürzung Bezeichnung Max. Datenrate Max. Reichweite HDSL High Bitrate DSL 2MBit/s 5km ADSL Asymmetric DSL 8MBit/s (down) 0,8MBit/s (up) 5km SDSL Single Pair DSL 2MBit/s 3,5km VDSL Very High Bitrate DSL 52MBit/s (down) 2,3MBit/s (up) 300m ADSL2 Asymmetric DSL 2 12MBit/s (down) 5km? ADSL2+ Asymmetric DSL 2+ 25MBit/s (down) bis 3,5MBit/s (up) bei reduzierter down-Rate! 5km? „Assymmetric“ ... Unterschiedliche Datenraten für „down“ und „up“ 199 DSL Netzbetreiber Modulationsverfahren: • Carrierless Amplitude/Phase Modulation (CAP) → QAM Multiplexverfahren: • Discrete Multiton Modulation (DMT) 200 T-DSL (ADSL) 201 DSL Vorteile Eigenschaften: •Hoher Datentransfer, schnelle „Einwahl“, stabile Verbindungen •Einfacher Aufbau der Komponenten •Schutz vor (0190er-) Dialern •Variable Bandbreiten •Spezielle Tarife (Flat-Rate, etc.) •Gleichzeitig Internet und Telefonieren Features: •„FastPath“: • Bezeichnung für eine Option zur Verringerung der Latenz bei ADSL-Anschlüssen. • Vorteile sind eine bessere Reaktionszeit bei Online-Spielen, eine geringere Sprachverzögerung und bessere Echo-Unterdrückung bei Internet-Telefonie, sowie eine geringfügig flüssigere Webnutzung. Als Nachteil kann in seltenen Fällen die effektive Übertragungsrate sinken. • Ausschalten von Fehlerkorrektur, auf der Strecke zwischen DSL-Modem und dem Übergabepunkt beim Telefonnetzbetreiber (DSLAM). Ohne FastPath werden die Datenblöcke verschachtelt übertragen, um Datenfehler, die durch kurzzeitige elektrische Störungen auf der Telefonleitung entstehen, besser korrigieren zu können. Latenz sinkt von ca. 80 ms auf etwa 20 bis 40 ms. 202 • Übertragungsfehler werden durch das TCP-Protokoll korrigiert. Hardware ADSL Adapter (PCI) ADSL Adapter (RJ45/LAN 10MBit) ADSL Adapter (USB) 203 5.4 Weitere Breitbandsysteme Breitbandsystem → Nutzung mehrerer Kanäle (Frequenzbänder) •Datex-P •Datex-L •Datex-M •Frame Realy •Satellit (Downstream, Upstream über Wahlleitung) •Kabelanschluss (TV) •„Powerline“ •Funkstrecke (Richtfunk) •DBV-T ? 204 T-DSL via Satellit Bei T-DSL via Satellit handelt es sich um eine satellitengestützte, breitbandige Anbindung an das Internet, deren Nutzung durch den Einsatz eines geostationären ASTRA Satelliten, europaweit möglich ist. Den Kunden stehen max. 768 Kbit/s Downstream (äquivalent zu T-DSL) und je nach der vom Internetserviceprovider angebotenen Internetanbindung (analog 205 oder ISDN), bis zu max. 128 Kbit/s Upstreambandbreite zur Verfügung. T-DSL via Satellit – Funktionsweise Eine Client-Software auf dem lokalen PC (im weiteren Verlauf "Proxy" genannt) fährt mit einem im Internet lokalisierten Proxy-Server ein in entsprechenden RFCs (z.B. RFC 3135) als PEP (Performance Enhancement Proxy) bezeichnetes Protokoll. PEP behebt Schwächen von TCP, die TCP auf hochverzögernden Links hat (2 * 36.000 km, Weg zum Satellit und Weg zur Erde zurück, was bei Lichtgeschwindigkeit ca. 0,24 s ausmacht). Weiterhin wird der TCP Windowing Mechanismus optimiert. Die Übertragung vom Satelliten erfolgt ausschließlich in UDP/IP. Der "Rückkanal" (z.B. ISDN) wird ebenso für die Datenübertragung verwendet. Ist dieser Kanal im Downstream ausgelastet, fließen die weiteren Pakete über die Satellitenübertragungsstrecke ("buffer overflow"). Die maximal erzielbare Bruttobitrate beträgt 768 kBit/s inklusive Bandbreite des Rückkanals. Im Umkehrschluss heißt das: Wenn der Buffer nicht überläuft – z.B. auf Grund eines langsamen Internet-Servers - treffen alle Daten terrestrisch ein. 206 T-DSL via Satellit – Funktionsweise Der Weg der Daten: Ein Browser generiert einen HTTP Request. Der Proxy fängt den entsprechenden TCP Aufbau ab, baut die Verbindung mit dem Proxy-Server auf (inkl. Login und IP Adressvergabe). Der Proxy-Server holt die Inhalte aus dem Internet. Bei aktiviertem HTTP Prefetching auf dem Server-Proxy werden die Seiten analysiert und es wird automatisch entschieden, ob zusätzliche Daten gebraucht werden (z.B. Images). Diese zusätzlichen Daten werden dann automatisch vom Proxy-Server geladen und übertragen. Alle auf der Satellitenstrecke übertragenen Daten werden als IP-Multicast Datenpakete übertragen (UDP/IP Datenstrom) an den lokalen Proxy übertragen und von diesem wieder in TCP/IP Datenpakete zurückgewandelt. Dadurch kommt es vor, dass die Inhalte einer Internet-Seite bereits im Cache des Browsers sind, bevor sie vom Browser überhaupt angefordert wurden. 207 Hochgeschwindigkeitsnetze Technologie Ab Übertragungsgeschwindigkeit Einsatzgebiete Frame Relay 1991 45 Mbit/s Inter-LANKommunikation SDH 1988 2,4 Gbit/s WAN DQDB-bas. MANs 1991 140 Mbit/s MAN Fiber Channel 1988 4,25 Gbit/s Connector, LAN B_ISDN+ATM 1986 2,4 Gbit/s LAN, WAN (universell) Gigabit Ethernet 1998 1 Gbit/s LAN HIPPI 1990 6,4 Gbit/s Supercomputer (Kopplung) 208 T-COM Backbone 209 Quality of Service (QoS) • Diensten wird gewisse Bandbreite garantiert (→ z.B. Video Konferenzen). • Unterstützt von ATM (Layer 2), aber auch für IP (Layer 3) im Vormarsch 210 ATM Asynchron Transfer Mode • Asynchrones Datenübertragungsverfahren • Benutzung einer einzigen physischen Leitung für Sprache, Video & Daten • Verwendung von ATM-Zellen fixer Länge (53 Byte) • Asynchrones Zeit-Multiplexen • Unterstützung von QoS (Quality of Service) 1984 Entwicklung von ATM als Übertragungsverfahren durch CNET, AT&T Bell Labs und Alcatel Bell 1986 als Basis für B-ISDN festgelegt 1989 Zellformat (53 Bytes) 1991 Gründung des ATM-Forums 1993 Standardisierung von UNI 3.0, Signaling & Control Ab 1994 Weiterentwicklungen UNI, NNI, LANE & Backbone 211 ATM Multiplexing Übertragungsmedium: • Vorrangig Glasfaser • Mit Monomode Glasfaser bis zu 10GBit/s über 15-40km! • Reichweitenerhöhung durch optische Faserverstärker (EDFA) möglich • Übertragungsverfahren SDH (Synchrone Digitale Hierarchie) bzw. SONET (USA) • Mehrdimensionale SDH-Rahmen 212 ATM ATM durch die „OSI-Brille“ 213 ATM Vorteile (1) 214 ATM Vorteile (2) 215 ATM Vorteile (3) 216 ATM Vorteile (4) 217 ATM Vermittlung 218 ATM Anwendungen • • • • • • Daten-Backbone Voice-Backbone Audio / Video - Broadcast VPN xDSL UMTS Klassische Internet-Backbone-Technik • IP-over-ATM (RFC 1577) 219 ATM - DSL Quelle: DSL-Fritz!Box 220 5.5 Protokolle Digital Subscriber Line Access Multiplexer 221 PPP RFC 1661/1662 – STD 51 RFC 2153 (Vendor Extensions) • Verbindungsaufbau auf Layer-2 (HDLC-basierend bzw. asynchron) • Fehlerkorrektur • Adressinformationen • Multipointfähig (derzeit nicht genutzt) • Protokoll-Feld • Multiprotokollfähig (auf einer Leitung) • Feste maximale Paketlänge (1500 Byte) • Echte Datenkomprimierung (optional) • Testen der Leitungsqualität (optional) 222 PPP – Paketaufbau Wireshark 223 PPP - Protokollnummern Ausgewählte Protokoll-Nummern • • • • • • • • • • 80-21 80-27 80-2B 80-3F 80-57 80-FD C0-21 C0-23 C0-25 C2-25 IP DECent IPX Netbios IPv6 Compression Control Protocol Link Control Protocol Password Authentication Protocol Link Qualitiy Report RSA Authentication Protocol 224 PPPoE RFC 2516 • PPP-Pakete werden in Ethernet Pakete „eingepackt“ • (Ethernet-) Typefields: • 88-63 (Discovery Stage) • 88-64 (Session Stage) • Max. MTU: 1492 (PPPoE-Header + PPP-Protocol-ID) • Zweistufiges Konzept: • Server-Suche und Server-Auswahl (Discovery-Stage) „stateless“ bis zum Aufbau einer PPP-Verbindung • Verbindungsaufbau (Session Stage) 225 PPPoE 226 Video: „Internet“ 227 Communication Protocols 228 Communication Protocols (LAN & WAN) ATM PPP Ethernet II Ethernet IEEE 802.x ISDN 229 6 TCP/IP TCP IGMP UDP ARP IP ICMP 230 TCP/IP vs. OSI 231 Data Encapsulation 232 6.1 Internet Protokoll (IP) • Das Internet beruht auf dem Zusammenschluss von teilautonomen Subnetzen mittels Verbindungsrechnern (Router). • Router leiten den Datenverkehr gemäß einer Netzwerkadresse (IP), nicht einer Endsystemadresse (MAC). • Diese Form der Datenweiterleitung ist transparent für Benutzer. 233 IP - Eigenschaften Eigenschaften: • • • • • • • • • setzt auf dem Data Link Layer (Ethernet, FDDI, ATM, etc.) auf nutzt (Ethernet-) Type Feld: 0x0800 besitzt eine 802.2 DSAP/SSAP-Definition: 06 (LLC) Datagram-Service (verbindungslos, ungesichert!) ermöglicht Verbindungen zwischen Netzen (Routing) bietet Datentransport von einer Quell- zu einer Zieladresse (Adressfunktion) Definition/Adressierung höherer Protokolle Fragmentierung von Datenpaketen Wahl von Übertragungsparametern Das Internet-Protokoll (IP) ist verbindungslos. Was bedeutet das? • Datenpakete werden auf den Weg geschickt, ohne dass auf eine Empfangsbestätigung gewartet werden muss. • IP-Pakete dürfen/müssen unter bestimmten Bedingungen (TTL=0) sogar vernichtet werden. 234 IP Standards Wichtige IP Standards: RFC 791 RFC 815 RFC 894 RFC 948 RFC 1051 RFC 1055 RFC 1088 RFC 1577 IP-Protokoll (STD 5) IP over X.25 Networks IP over Ethernet-Networks IP over 802.3 Networks IP over Arcnet-Networks IP over Serial Lines ("SLIP") IP over Netbios Networks IP over ATM Networks ("Classical IP") Die IP zugrunde liegenden Netzwerkebenen können sehr unterschiedlich sein: • LANs (Ethernet, Token-Ring, usw.) • WANs (ATM, X.25, usw.) • Punkt-zu-Punkt-Verbindungen (SLIP, PPP) 235 IP Header Wireshark 236 IHL = IP Header Length Service Type Default Werte bei verschiedenen Diensten: TELNET 1000 FTP Control 1000 FTP Data 0100 SMTP (Command Phase) 1000 SMTP (Data Phase) 0100 SNMP 0010 ICMP 0000 minimize delay minimize delay maximize troughput minimize delay maximize troughput maximize reliability 237 IP Fragmentierung Warum? • Hardware-/ Software-Beschränkungen, Definition des Protokolls, Beschränkung durch Norm (z.B. Topologie-Übergang) • Maßnahmen zur Fehlerreduktion • zum Erhöhen der "Zugangsgerechtigkeit" auf Datenkanal (Begrenzung der Zugriffszeit) Max. Paketlänge auf verschiedenen Netzen Medium Bit Byte Token Ring (16 Mbit/s) Token Ring (4 Mbit/s) 36008 Ethernet X.25 (Maximum) X.25 (Standard) 143928 4501 12144 8192 1024 17997 1518 1024 128 Der Zusammenbau (Re-Assemblierung) fragmentierter Pakete erfolgt nur beim Empfänger (Endgerät)! 238 Flags und Fragment Offset • Gibt die Länge relativ zum Beginn des Datenbereichs im ursprünglichen Datagramm an • Ermöglicht dem Empfänger mehrere Fragmente in richtiger Reihenfolge zusammenzusetzen und fehlende Fragmente zu erkennen • Bei vollständigen Datagrammen (keine Fragmentierung) und beim ersten Fragment hat der Fragment Offset immer den Wert 0 Flags: 239 Time to Live Problem: beim Routen (durch vermaschte Netze), können Datagramme/ Fragmente ziellos und unendlich lange kreisen (z.B. falsche Routingtabelle) Konsequenz: Ressourcen werden vergeudet Lösung: TTL-Feld (Time To Live) • Reduzierung des Wertes in jedem Router • Bei Erreichen des Wertes "0", wird Paket vernichtet (nicht weitergereicht) 240 IP Protokollnummern Ausgewählte Protokollnummern: 01 ICMP Internet Control Message Protocol 04, 94 IP in IP Encapsulation 06 TCP Transmission Control Protocol 08 EGP Exterior Gateway Protocol 09 IGP any private interior gateway protocol 17 UDP User Datagram Protocol 29 ISO-TP4 ISO-Transport-Protocol Class 4 50 ESP Encapsulating Security Payload (IPsec) 51 AH Authentication Header (IPsec) 88 IGRP Interior Gateway Routing Protocol (CISCO) 241 IP Adressen Darstellung: 198 1100 0110 C6 .71 0100 0111 :47 .191 1011 1111 :BF .1 0000 0001 :01 dezimal dual hex 242 IP Netzwerk Klassen (1) 243 IP Netzwerk Klassen (2) •Klasse A zwischen 1 und 126 •Klasse B zwischen 128.1 und 191.254 •Klasse C zwischen 192.1.1 und 223.254.254 Um ein Netz zu adressieren, wird der Rechnerteil einer Adresse auf Null gesetzt, z.B. B-Netz der HoMe: 149.205.0.0 Um alle Rechner in einem Netz zu erreichen (Broadcast), wird der Rechnerteil auf 1 gesetzt, z.B. 149.205.255.255 244 Adressen mit besonderer Bedeutung Eine Null in einem Teil der Adresse bezeichnet per Konvention den lokalen Rechner bzw. das lokale Netz. Die Adresse 127.0.0.0 (meist jedoch 127.0.0.1) ist der "lokale loopback" eines Rechners. Anmerkung: Manche Adressen werden bei einzelnen Betriebssystemen nicht unterstützt! 245 Private Adressen Private Adressen (nach RFC 1918): 10.0.0.0 172.16.0.0 192.168.0.0 - 10.255.255.255 172.31.255.255 192.168.255.255 ein Class A-Netz 16 Class B-Netze 256 Class C-Netze vgl. auch: "Special-Use IPv4 Addresses" (RFC 3330) 169.254.0.0 169.254.255.255 ein Class B-Netz („link local“ Adressen … kein DHCP Server vorhanden) 246 Subnetze (1) Die Adressautorität im Internet wird durch die zentrale Vergabe von Netzadressen ausgeübt: • Die IANA (Internet Assigned Numbers Authority) ist die höchste Autorität für die Vergabe von Namen und Nummern im Internet. • Nächste Ebene besteht aus 5 Regional Internet Registries (RIR), z.B. RIPE Network Coordination Centre für Europa. • Darunter folgen Local Internet Registry (LIR), z.B. Internetserviceprovider, Unternehmen und akademische Institutionen. Um die Freiheit der lokalen Konfiguration zu erhöhen und die Anzahl vergebener Netzadressen zu minimieren, ist die Verwendung lokaler Subnetz-Masken zur internen Unterteilung des Rechner-Teils der Adresse möglich. 247 Subnetze (2) & & 248 Rechnen mit Netzmasken (1) 141.48.167.19/255.255.255.192 → 141.48.167.74 10001101.00110000.10100111.00010011 11111111.11111111.11111111.11000000 ================================= 10001101.00110000.10100111.00000000 (19) (192) 10001101.00110000.10100111.01001010 11111111.11111111.11111111.11000000 ================================= 10001101.00110000.10100111.01000000 (74) (192) 0 ¹ 64 Broadcast-Adresse: (0) (64) ... Paket wird zum Gateway/Router geschickt 11111111.11111111.11111111.00111111 (63) Ablauf: • Vergleich der IP Adressen nach obigem Algorithmus → Zielrechner nicht im eigenen Subnetz! • MAC Adresse des Default-Gateways wird ermittelt (Broadcast-Request oder Cache) • Ethernet-Frame wird an Gateway gesendet • Gateway kennt „Route“ (Wohin mit dem IP-Paket?) → z.B. anderes Subnetz • Gateway ermittelt MAC Adresse des Zielrechners (ARP, Request oder Cache) 249 • Gateway sendet Ethernet-Frame Rechnen mit Netzmasken (2) Was passiert, wenn Subnetz-Maske auf dem lokalen Rechner falsch eingetragen ist? 141.48.167.19/255.255.255.128 → 141.48.167.74 10001101.00110000.10100111.00010011 11111111.11111111.11111111.10000000 ================================= 10001101.00110000.10100111.00000000 (19) (128) 10001101.00110000.10100111.01001010 11111111.11111111.11111111.10000000 ================================= 10001101.00110000.10100111.00000000 (74) (128) 0=0 Broadcast-Adresse: (0) (0) ... Paket wird nicht zum Gateway/Router geschickt 11111111.11111111.11111111.01111111 (127) Ablauf: • Vergleich der IP Adressen nach obigen Algorithmus → Zielrechner ist im eigenen Subnetz! • MAC Adresse des Zielrechners wird ermittelt (Broadcast-Request) ... „Niemand lauscht“ • Möglicherweise antwortet das Gateway und teilt die (dann aber nicht erreichbare) MAC Adresse mit 250 Probleme bei der Adressierung • Wenn ein Rechner an ein anderes Netz angehängt wird, muss seine Adresse geändert werden. • Die Reihenfolge der Adressbytes ist im Standard festgelegt. • Wenn z.B. ein C-Netz auf mehr als 255 Rechner wächst, müssen alle Rechner auf ein B-Netz migriert werden. • Ein Rechner mit mehreren Anschlüssen an das Internet braucht mehrere Adressen, die auch verschiedene Routen implizieren. 251 6.2 Address Resolution Protocol (ARP) • Abbildung von IP-Adressen auf physikalische Adressen: • • • Gegeben 2 Rechner, die am selben physikalischen Subnetz angeschlossen sind. Beide Rechner haben je eine IP-Adresse und je eine physikalische Adresse bezüglich ihres gemeinsamen Netzes (z.B. eine Ethernet-Adresse; MAC). Will Rechner A Daten an Rechner B senden, so muss er anhand der IP-Adresse von Rechner B die Ethernet-Adresse von Rechner B herausfinden, um die Daten über das gemeinsame Netz zu senden. 253 Abbildung der Adressen • Wege zur Abbildung von IP-Adressen auf physikalische Adressen: • • • • Direkte Abbildung durch Berechnung aus der IP-Adresse: dies ist nur in bestimmten Netzen möglich, und auch nur, solange das Adressierschema in beiden Adressräumen eingehalten wird. Suche der physikalischen Adresse in einem Verzeichnisdienst anhand der IP-Adresse. Statische Bindung: sehr hoher Konfigurationsaufwand Dynamische Bindung durch Nachfragen auf dem lokalen Netz mittels des "Address Resolution Protocol": • • Rechner A sendet ein spezielles Broadcast-Paket auf das lokale Netz, in dem die IP-Adresse von Rechner B angegeben ist und in dem nach der physikalischen Adresse von Rechner B gefragt wird. Rechner B fügt die gesuchte Adresse ein und sendet das Paket 254 zurück. ARP - Protokoll HLEN … Hardwareadresslänge (6 Byte im Bild als Beispiel) PLEN … Protokolladresslänge (4 Byte im Bild als Beispiel) Wireshark 255 Request-Response 256 Ablaufdiagramm 257 ARP Cache Gratuitous (Gratis) ARP Host schickt eine Anfrage mit eigener IP-Adresse (als Target-Adresse) unaufgefordert ins Netz: • Feststellung ob eigene IP-Adresse mehrfach vorhanden ist • Update der ARP-Tabellen in den anderen Rechnern 258 Reverse Address Resolution Protocol (RARP) • RARP kann verwendet werden, wenn einem Computer seine IP-Adresse nicht bekannt ist („Diskless-Workstation“, Terminal) • Gleiches Paketformat wie ARP (Operation: 3=RARP Request, 4=RARP Reply) • Ablauf: • RARP-Broadcast-Request mit eigener MAC ins Netz • RARP-Server kenn MAC-IP Zuordnung und antwortet mit RARP-Reply • Problem: • Weitere IP Konfiguration (Subnetz, Gateway, DNS) nicht über RARP übertragbar • Lösung: • TFTP mit RARP-Server • BOOTP und DHCP 259 6.3 Internet Control Message Protocol (ICMP) Wireshark •Zur Steuerung und Verwaltung des Internet ist ein gesondertes Protokoll nötig, welches "normalen" Benutzern nicht zugänglich ist. •Typische Aufgaben des Internet-Kontrollprotokolls sind: •Koordination zwischen Routern und Endsystemen •Fehlererkennung und -korrektur •Überwachung und Messung des Verkehrsaufkommens •ICMP stellt eine Kommunikationsmöglichkeit zwischen der IP-Software auf Internet-Rechnern zur Verfügung. •ICMP benutzt den IP-Dienst, gehört logisch aber auf die selbe Protokollschicht, wie das IP-Protokoll. 260 ICMP - Header 0 8 Type 16 Code 24 Checksum Miscellaneous IP Header oder Testdaten (z.B. für Ping) Type: Code : Checksum: Meldungstyp Detailinformation zum Nachrichten-Typ Prüfsumme der ICMP-Nachricht (Datenteil des IPDatagramms) Identifier und Sequence-Nummer (Miscellaneous): dienen der Zuordnung eintreffender Antworten zu den jeweiligen Anfragen, da eine Station mehrere Anfragen aussenden kann oder auf eine Anfrage mehrere Antworten eintreffen können 261 ICMP – Meldungstypen (1) 0 3 4 5 8 11 12 13 14 15 16 17 18 Echo-Antwort Destination unerreichbar „Source Quench“ Änderungen einer Route Echo-Anfordern Datagram-Lebenszeit überschritte Parameter-Problem im Datengramm Zeitstempel-Anforderung Zeitstempel-Antwort Informations-Anforderung (nicht mehr benötigt) Informations-Antwort (nicht mehr benötigt) Adressmasken-Anforderung Adressmasken-Antwort 262 ICMP – Meldungstypen (2) Echo request/reply Überprüfen der Erreichbarkeit eines Zielknotens. Es können Testdaten mitgeschickt werden, die dann unverändert zurückgeschickt werden (--> Ping-Kommando unter UNIX). Destination unreachable Im Codefeld wird die Ursache näher beschrieben: 0 Network unreachable, 1 Host unreachable, 2 Protocol unreachable, 3 Port unreachable, 4 Fragmentation needed, 5 Source route failed Source quench Wenn mehr Datagramme kommen, als eine Station verarbeiten kann, sendet sie diese Nachricht an die sendende Station. Redirect Wird vom ersten Gateway an Hosts im gleichen Teilnetz gesendet, wenn es eine bessere Route (Verbindung) über einen anderen Gateway gibt. In der Nachricht wird die IP-Adresse des anderen Gateways angegeben. Time exceeded Für diese Nachricht an den Quellknoten gibt es zwei Ursachen: Time-to-live exceeded (Code 0): Wenn ein Gateway ein Datagramm eliminiert, dessen TTL-Zähler abgelaufen ist. Fragment reassembly time exceeded (Code 1): Wenn ein Timer abläuft, bevor 263 alle Fragmente des Datagramms eingetroffen sind. ICMP – Meldungstypen (3) Parameter problem on a datagram Probleme bei der Interpretation des IP-Headers. Es wird ein Verweis auf die Fehlerstelle und der fragliche IP-Header zurückgeschickt. Timestamp request/reply Erlaubt Zeitmessungen und -synchronisation im Netz. Drei Zeiten werden gesendet (in ms seit Mitternacht, UT): Originate Time: Sendezeitpunkt des Requests (vom Absender) Receive Time: Ankunftszeit (beim Empfänger) Transmit Time: Sendezeitpunkt des Reply (vom Empfänger) Information request/reply Mit dieser Nachricht kann ein Host die Netid seines Netzes erfragen, indem er seine Net-ID auf Null setzt. Address mask request/reply Bei Subnetting (siehe unten) kann ein Host die Subnet-Mask erfragen. 264 ICMP - Meldungsklassen • Fehlermeldungen • • • • • • Destination Unreachable Redirect Message Source Quench Time Exceeded Parameter Problem Info Meldungen • • • • • Echo Information Timestamp Address Mask Trace Route 265 ICMP – „Destination Unreachable“ Wenn ein IP-Paket nicht weitergeleitet werden kann, wird eine entsprechende Fehlermeldung erzeugt (Meldungstyp 3): 0 Netz nicht erreichbar 1 Rechner nicht erreichbar 2 Protokoll nicht erreichbar 3 Port nicht erreichbar 4 Fragmentierung benötigt 5 Falsche Quell-Route 6 Zielnetz unbekannt 7 Zielrechner unbekannt 8 Zielrechner isoliert 9 Netzkommunikation unerwünscht 10 Rechnerkommunikation unerwünscht 11 Netz für diesen Dienst unerreichbar 12 Rechner für diesen Dienst unerreichbar 266 ICMP – „TraceRoute“ 267 ICMP - Beispiele 268 6.4 Internet Group Management Protocol (IGMP) • Verwendung bei Multicast Messages (Internet Radio, Videokonferenzen, etc.) • Sender sendet dabei nicht an nur einen Empfänger sondern an eine „Multicast-Gruppe“ (→Multicast Adressen) • Per IGMP wird einem Router der Teilnahmewunsch an einer MulticastGruppe mitgeteilt → der Router sendet dann im Verlauf an alle Stationen (Layer-2, Ethernet), die der Gruppe beigetreten sind • Multicast wird nicht überall geroutet (z.T. wegen Bandbreite) ! 0 Version 8 Type 16 Unused 24 Checksum Group Adress Group Address enthält die Adresse (Klasse D, 224-239), an die die folgenden Nachrichten gehen sollen. 269 Multicast Adressen Ausgewählte IP-Multicast-Adressen: 224.0.0.0 Base Address (reserved) 224.0.0.1 All Systems on this subnet 224.0.0.2 All Routers on this subnet 224.0.0.5 OSPF - All Routers 224.0.0.9 RIP-2 224.0.0.10 IGRP-Routers 224.0.1.8 SUN NIS („Yellow Pages“) 224.0.1.24 microsoft-ds 224.0.2.2 SUN RPC (NFS) 270 IPv6 Adressbereich umfasst 128 Bit (16 Byte) [vgl.: 32 Bit (4 Byte) bei IP v.4] → 3,4 * 1038 Adressen theoretisch: 6,66*1023 (genau: 665.570.793.348.866.943.898.599) Adressen / m2 666 Billiarden Adressen / mm2 6,5*1028 Adressen pro Mensch praktisch (worst case): ca. 1000 Adressen / m2 271 Eigenschaften • Reduzierung des Header-Overheads durch Weglassen von nicht benötigten Feldern • Erweiterungs-Header (optional) • Fragmentierung nicht mehr in den Routern (minimale Transportgröße: 1280 Byte/"Path MTU Discovery"-Funktion) • Security-Features (Authentifizierung, Verschlüsselung) • Priorisierung/Realtime-Fähigkeiten ("Traffic Class"/"Flow Label") • Nutzdatenanzeige ("Payload Length") • automatische Systemkonfiguration ("Neighbor Discovery") • Mobile IP • 'Anycast Address' ("mehrfache" Adresse) • Multicast Adressen (keine Broadcast Adressen mehr) • Kompatibel zu ARP • ICMPv6 notwendig • DHCPv6 notwendig • DNS Anpassung notwendig (AAAA-Record) 272 Adressen • Beispiel (nicht case sensitiv): • • • fe80:0000:0000:0000:2ca8:00d4:3f57:0acf Schreibbar als: fe80::2ca8:d4:3f57:acf Beispiel 2: • • • • 2001:0db8:0000:0001:2ca8:0000:0000:0acf Schreibbar als: 2001:db8::1:2ca8:0000:0000:acf Oder: 2001:db8:0000:0001:2ca8::acf Nicht: 2001:0db8::0001:2ca8::0acf 273 Adressstruktur • Routing Prefix (48 Bit) • Subnetzkennung (16 Bit) Interface-ID (64 Bit) • 274 IPv6 Provider • Provider: • • • Subnetzmaske: 2001:0db8::/32 Bedeutet, dass es sich um das Netz „ 2001:0db8“ handelt und der Besitzer des Netzes von den 128 Bit noch 96 Bit vergeben kann Kunde: • • Subnetzmaske: 2001:0db8:0000:0001::/64 Bedeutet, dass es sich um das Netz „ 2001:0db8:0000:0001“ handelt und der Besitzer 264 Adressen zur Verfügung hat 275 Unicast-Adressen • Link Local Unicast • • • • • • Global Unicast • • • • • • ::1/128 (siehe IPv4 127.0.0.1) IPv4-kompatible • • • • 0000:0000:0000:0000:0000:0000:0000:0000 /128 oder ::/128 Quelladresse bei DHCPv6 (siehe IPv4) Loopback • • Präfix FC00::/7 Private Adressen (siehe IPv4) Unspecified • • weltweit gültige, geroutete Adressen Internetkommunikation Unique Local Unicast • • Präfix FE80::/10 64-Bit-Interface-ID Jedes IP-V6-Interface muss eine solche Adresse besitzen Adressen werden nicht geroutet (nur Subnetz) Autokonfiguration 0000:0000:0000:0000:0000:0000:131.152.2.150 oder ::131.152.2.150 IPv6 über IPv4 Tunnel IPv4-mapped • • ::FFFF:8398:0296 (Hex konvertierte IPv4 Adresse hinter ::FFFF) Dual Stack (IPv6 und IPv4) 276 Multicast-Adressen • Allgemein • • • • Solicited-Node • • • • • • Einzelne Adressen und Gruppen Bereich FF00::/8 Reichweite des Multicasts Auf diese Adresse muss jede Node hören Präfix FF02:0:0:0:0:1:FF::/104 Plus die letzten 24 Bit der Interface-ID Autokonfiguration aus 2001:0db8:0000:0001:0019:99ff:fe3b:1089 folgt zum Beispiel ff02::1:ff3b:1089 Anycast-Adressen • • spezieller Fall von Multicast Kommunikation mit dem nächsten Nachbarn 277 Interface ID • Autokonfiguration • • Verwendung der 48 Bit Layer-2 MAC Adresse Aufbau: • • • • Die ersten 24 Bit der MAC Adresse :FFFE: (16 Bit) Die letzten 24 Bit der MAC Adresse Nachteil: • Wechselt der Adapter, wechselt die IPv6 Adresse 278 Protokoll 279 Interoperabilität • Encapsulierung • 6to4 Tunneling 280 6.5 Routing und Internet Dienstmodell „Routing“: • Findet den "günstigsten" Pfad, um ein Datenpaket vom Sender zum Empfänger zu leiten • Tolerant gegenüber Ausfällen von Verbindungen und Netzknoten (Routern) Routing Algorithmen: • Verteilter Algorithmus für das Erzeugen von Routing Tabellen in Routern • Kriterien: – Skalierbarkeit – Konvergenz – Stabilität • Zwei wichtige Klassen von Algorithmen – Distanzvektor – Link State Routing Protokolle: • Es existieren eine Vielzahl an Routing Protokollen (zum Teil herstellerspezifisch) • Routing Protokolle nutzen eigene Transportprotokolle bzw. IP/TCP/UDP/IGMP 281 Spanning Tree Protocol (STP) •setzt auf Layer 2 (Ethernet) auf Das Spanning-Tree-Verfahren ist im Standard IEEE 802.1d für die MAC-Schicht spezifiziert. Es soll das Auftreten von doppelten Frames in einem geswitchten Ethernet-Netzwerk verhindern. Die doppelten Frames entstehen durch zwei oder mehr parallele Verbindungen zwischen zwei Switches. Frames, die mehrfach beim Empfänger ankommen, können zu einem Fehlverhalten führen. 282 STP (2) Spanning Tree spannt das physikalische Netzwerk zu einem logischen Baum auf, in dem zu jedem Ziel nur ein einziger Weg existiert. Die Switches bzw. Bridges kommunizieren in einem Netzwerk mit Hilfe von BPDUs (Bridge Protocol Data Unit). Diese Konfigurationspakete werden als Multicast-Frames an die MAC-Adresse 01-80-C2-00-0010 geschickt. Diese Frames werden alle 2 Sekunden an die nächste, tiefer gelegene Station (Bridge oder Switch) übermittelt. Auf diese Weise werden parallele Strecken erkannt und die optimale Strecke ermittelt. Man spricht dann von Prioritäten bzw. Wegkosten, die die Datenrate und Entfernung berücksichtigt. Ports mit nichtbevorzugten Strecken werden dann deaktiviert. 283 STP (3) Fällt die bevorzugte Strecke aus, bleibt auch das BPDU-Frame aus, was zu einer Reorganisation des Netzwerks führt. Bei komplizierten Verschachtelungen wird der Baum (Spanning Tree) neu berechnet, was zu einer Verzögerung von bis zu 30 Sekunden oder mehr führen kann. Erst danach kann auf der redundanten Strecke die Übertragung fortgesetzt werden. 284 STP (4) IEEE 802.1w / RSTP - Rapid Spanning Tree Protocol Die relativ lange dauernde Neuberechnung des logischen Netzwerks ist für einen potentiellen Angreifer, der ein Netzwerk lahm legen will, ein gefundenes Fressen. Nur ein einziges gefälschtes Spanning-Tree-Frame ist in der Lage eine Reorganisation auszulösen und das gesamte Netzwerk für 30 Sekunden oder mehr lahm zulegen. Um dieses Szenario zu vermeiden, wurde unter IEEE 802.1w das abwärtskompatible RSTP, auch Fast Spanning Tree genannt, entwickelt. Es sieht vor, dass bei einem Ausfall einer Verbindung mit der bestehenden Netzwerkstruktur weitergearbeitet wird, bis eine alternative Strecke berechnet ist. Anschließend wird ein neuer logischer Baum erstellt und erst dann, innerhalb einer Sekunde, umgestellt. Loop Detection Manche einfache Switches ohne Spanning Tree haben eine LoopDetection-Funktion. Dazu sendet der Switch alle paar Minuten ein Frame an eine bestimmte Adresse. Empfängt der Switch ein solches Frame mit seiner eigenen Adresse, existiert eine Schleife, die über eine LED signalisiert wird. Eine Schleife wird so nicht verhindert, aber der Netzwerk-Administrator kann sie zumindest optisch erkennen. 285 Routing Tabelle (1) 288 Routing Tabelle (2) Lokale Routing Tabelle 289 Metrik • • • Eine Routing-Metrik ist ein numerischer Wert, mit dessen Hilfe ein Routing-Algorithmus feststellen kann, ob eine Route im Vergleich zu einer anderen besser ist. Metriken können Informationen wie z. B. Bandbreite, Verzögerung, Hop Count, Pfadkosten, Last, MTU, Verlässlichkeit und Kommunikationskosten berücksichtigen. Größere Werte bedeuten bessere Routen. 290 Distanzvektor Routing • Jeder Router sendet einen Vektor mit den kürzesten Distanzen zu allen erreichbaren Netzadressen an seine Nachbarn. • Ein Router führt seine Tabellen nach, falls er von einem Nachbarn erfährt, dass eine Netzadresse auf kürzerem Weg erreicht werden kann. • Der Distanzvektor wird periodisch gesendet oder immer, wenn die Tabellen nachgeführt werden müssen. • Beispiel: RIP 291 RIP Protokoll RIP, RIP-2 • Routing Information Protocol (RFC 2453) • „Teile deinen Nachbarn mit, wie für dich die Welt aussieht“ • RIP verteilt erreichbare Netzadressen mit zugehöriger Distanz (Anzahl Hops) an Nachbarn. • Sendet Information alle 30 Sekunden oder immer, wenn die Forwarding-Tabelle geändert werden musste. • Maximaler Netzdurchmesser beträgt 15 Router (Hops), um die Konvergenzzeit zu begrenzen (count to infinity Problem). • RIP-2 verwendet UDP mit Port 520. • Nur ein einzelner Pfad pro Zieladresse ist gespeichert. • Kein Lastausgleich möglich. • Die meisten Systeme haben RIP implementiert (Dienst: routed). 292 RIP-2 Operation Version Adressfamilie Netz 1 Null Null IP-Adresse Netz 1 (Subnetz-Maske Netz 1) (Next Hop Netz 1) Distanz zu Netz 1 Adressfamilie Netz 2 Null IP-Adresse Netz 2 (Subnetz-Maske Netz 2) (Next Hop Netz 2) Distanz zu Netz 2 … Routing-Update in RIP (Version 1, Version 2 Zusatz in rot) 293 Link State Routing • Jeder Router sendet eine Liste seiner Links mit der zugehörigen Routing-Metrik an alle anderen Router im Netz. • Router konstruiert die vollständige Topologie des Netzes mit der Metrik für jeden Link. • Router berechnet den optimalen Weg für jedes Zielnetz mit Hilfe des Dijkstra-Algorithmus. • Beispiel: OSPF Link State Paket • ID des Routers, der das Paket erzeugt hat. • Liste von direkten Nachbarn des Routers, mit der zugehörigen Metrik (Anzahl) des Links • Der Metrik-Parameter wird nur beim dynamischen Routing verwendet, um eine Bewertung der Qualität der Strecke vorzunehmen. • Bei statischem Routing ist der Parameter irrelevant. • Sequenznummer • Lebensdauer (time to live) 294 OSPF • Open Shortest Path First (RFC 2328) • „Teile der Welt mit, wer deine Nachbarn sind“ • OSPF gebraucht eine einzige, statische Linkmetrik ("weight"). • Detektion von Verbindungsunterbrüchen durch Ausbleiben von 'Hello' Nachrichten. • Link State Ankündigungen alle 30 Minuten oder immer, wenn eine Änderung bei den direkten Links eintreten ist. • Lastausgleich über mehrere „gleichteure“ Pfade ist möglich. • OSPF setzt direkt auf IP auf. 295 Distanzvektor vs. Link State Routing Distanzvektor • Router sendet die (Destination, Distanz)-Tupel aus der Routingtabelle an seine Nachbarn (alle oder nur geänderte Einträge) • Einfach Implementation • Einfache Konfiguration • Problem der Skalierung Link State • Router sendet eine Liste seiner Links mit den dazugehörigen Distanzen an alle Router • Stabilisiert schnell • Generiert wenig Verkehr • Schnelle Reaktion auf Topologieveränderungen • Schnelle Reaktion auf Verbindungsunterbrüche • Problem der Skalierung 296 6.6 Transmission Control Protocol (TCP) RFC 793 •setzt direkt auf dem Internet Protokoll (IP) auf •nutzt IP-Protokoll-Nr.: 06 •garantiert eine fehlergesicherte, zuverlässige TransportVerbindung zwischen zwei Rechnersystemen (Ende zu Ende Kontrolle) TCP - Eigenschaften • „End To End“ Kontrolle • Multiplexing (Ports) • Verbindungsmanagement („Three-Way-Handshake“) • Flusskontrolle (Empfangsbestätigung, „Sliding-Window-Mechanism“) • Zeitüberwachung • Fehlerbehandlung 297 • TCP-Verbindungen sind vollduplex Motivation Für den TCP-Benutzer soll es nicht mehr sichtbar sein, dass die darunter liegenden Protokollschichten Datenpakete versenden, sondern es soll der Benutzer mit einem Byte-Strom wie bei einer normalen Datei (oder einem Terminal) arbeiten können. TCP garantiert vor allen Dingen den korrekten Transport der Daten jedes Paket kommt nur einmal, fehlerfrei und in der richtigen Reihenfolge an. Zusätzlich können bei TCP mehrere Programme die Verbindung zwischen zwei Rechnern quasi-gleichzeitig nutzen. TCP teilt die Verbindung in viele virtuelle Kanäle ("Ports") auf, die durch Zeitmultiplex mit Daten versorgt werden. Nur so ist es möglich, dass beispielsweise mehrere Benutzer eines Rechners zur selben Zeit das Netz in Anspruch nehmen können oder dass man mit einer einzigen Wählverbindung zum Provider gleichzeitig E-Mail empfangen und Dateien per FTP übertragen kann. 298 TCP – Header (1) 299 TCP – Header (2) Sequence Number TCP betrachtet die zu übertragenden Daten als nummerierten Bytestrom, wobei die Nummer des ersten Bytes beim Verbindungsaufbau festgelegt wird. Dieser Bytestrom wird bei der Übertragung in Blöcke (TCP-Segmente) aufgeteilt. Die 'Sequence Number' ist die Nummer des ersten Datenbytes im jeweiligen Segment (--> richtige Reihenfolge über verschiedene Verbindungen eintreffender Segmente wieder herstellbar). Acknowledgement Number Hiermit werden Daten von der Empfängerstation bestätigt, wobei gleichzeitig Daten in Gegenrichtung gesendet werden. Die Bestätigung wird also den Daten "aufgesattelt" (Piggyback). Die Nummer bezieht sich auf eine Sequence-Nummer der empfangenen Daten; alle Daten bis zu dieser Nummer (ausschließlich) sind damit bestätigt --> Nummer des nächsten erwarteten Bytes. Die Gültigkeit der Nummer wird durch das ACK-Feld (--> Code) bestätigt. Data Offset Da der Segment-Header ähnlich dem IP-Header Optionen enthalten kann, wird hier die Länge des Headers in 32-Bit-Worten angegeben. Flags/Code Angabe der Funktion des Segments: → Flags 300 TCP – Header (3) Window Spezifiziert die Fenstergröße, die der Empfänger bereit ist anzunehmen - kann dynamisch geändert werden Checksum 16-Bit Längsparität über Header und Daten Urgent Pointer Markierung eines Teils des Datenteils als dringend. Dieser wird unabhängig von der Reihenfolge im Datenstrom sofort an das Anwenderprogramm weitergegeben (URGCode muß gesetzt sein). Der Wert des Urgent-Pointers markiert das letzte abzuliefernde Byte; es hat die Nummer <Sequence Number> + <Urgent Pointer> Options Dieses Feld dient dem Informationsaustausch zwischen beiden Stationen auf der TCPEbene, z. B. die Segmentgröße (die ihrerseits von der Größe des IP-Datagramms abhängen sollte, um den Durchsatz im Netz optimal zu gestalten) 301 TCP - Flags 302 TCP - Zeitlicher Ablauf 303 TCP – Flusssteuerung Problem: • Werden die Pakete schneller gesendet, als sie der Empfänger verarbeiten kann, hat dies Konsequenzen • Neu angekommende Segmente müssen verworfen werden • Daraus resultieren Sendewiederholungen, die die Datenübertragung verlangsamen und Sender und Empfänger zusätzlich belasten Lösung: • Der Empfänger teilt dem Sender durch den Sliding-WindowMechanismus mit, wie viele Segmente er (noch) aufnehmen kann 304 TCP – Fenstermechanismus (1) Damit die ständige Bestätigung jedes Datensegments den Transport nicht über Gebühr hemmt, werden zwei Tricks verwendet: • Zum einen kann die Empfangsbetätigung einem Segment in Gegenrichtung mitgegeben werden - das spart ein separates Quittungssegment. • Zweitens muss nicht jedes Byte sofort bestätigt werden, sondern es gibt ein so genanntes 'Fenster'. Die Fenstergröße gibt an, wie viele Bytes gesendet werden dürfen, bis die Übertragung quittiert werden muss. Erfolgt keine Quittung, werden die Daten nochmals gesendet. Die empfangene Quittung enthält die Nummer des Bytes, das als nächstes vom Empfänger erwartet wird womit auch alle vorhergehenden Bytes quittiert sind. Die Fenstergröße kann dynamisch mit der Quittung des Empfängers geändert werden. Werden die Ressourcen knapp, wird die Fenstergröße verringert. Beim Extremfall Null wird die Übertragung unterbrochen, bis der Empfänger erneut quittiert. Neben einem verlässlichen Datentransport ist so auch 305 die Flusskontrolle gewährleistet. TCP – Fenstermechanismus (2) Beispiel: • Die Fenstergröße im Beispiel beträgt drei Bytes. • Byte 1 wurde von der Datenquelle gesendet und vom Empfänger quittiert. • Die Quelle hat die Bytes 2, 3 und 4 gesendet, sie wurden aber vom Empfänger noch nicht quittiert (Quittung eventuell noch unterwegs). • Byte 5 wurde von der Quelle noch nicht gesendet. Es geht erst dann auf die Reise, wenn die Quittung für Byte 2 (oder höher) 306 eingetroffen ist. TCP - Verbindungsmanagement • Daten können beim Transport • Verloren gehen • Verfälscht werden (defekte Pakete) • Durcheinander gebracht werden (falsche Reihenfolge) • Verzögert werden • Dupliziert werden TCP – Retransmission Timer • Basis Algorithmus (Begriffe) – nach RFC 2988 (Nov. 2000) − Retransmission Timeout (RTO) − Round - Trip Time (RTT) − Smoothed Round – Trip Time (SRTT) [= gemittelte RTT] − Round – Trip Time Variation (RTTVAR) [=Abweichung] − Anfangswert des RTO zwischen 2,5 sec und 3 sec − danach: RTO<SRTT + 4*RTTVAR 307 TCP – Arbeitsweise Die Nachricht wird in mehrere Pakete aufgeteilt und auf der besten Route auf die Reise geschickt. Das verbindungslose IP-Protokoll sorgt zusammen mit den Routern für den Weg. Alle überlebenden Pakete sind am Zielrechner angekommen. Das TCPProtokoll setzt die Pakete wieder in der richtigen Reihenfolge zusammen. Das fehlende Paket 4 sowie 5 werden vom Sender nochmals verschickt, da keine Bestätigung. Für den Empfänger ergibt sich ein kontinuierlicher Datenstrom. Da eine Strecke überlastet ist, werden die Pakete 3, 4 und 5 auf einer anderen Strecke weiter transportiert. Dieser Transport erfolgt zufälligerweise schneller als jener der Pakete 1 und 2. Die Pakete wandern ihrem Bestimmungsnetz entgegen. Das erste Paket ist bereits angekommen. Paket 3 kommt vor Paket 2 am Ziel an. Paket 4 ist bei der Störung verloren gegangen. Paket 5 wird auf einer anderen Route zum Zielnetz geschickt (wären die Routen statisch am Router eingetragen, ginge auch Paket 5 verloren). Die Pakete 1, 2 und 3 sind - in falscher Reihenfolge - am Zielrechner angekommen. Auf der Strecke, auf der Pakete 4 und 5 transportiert werden, tritt eine Störung auf. 308 TCP – Zustanddiagramm LISTEN: SYN-SENT: SYN-RECEIVED: ESTABLISHED: FIN-WAIT-1: FIN-WAIT-2: CLOSE-WAIT: CLOSING: LAST-ACK: Warten auf ein Connection Request. Warten auf ein passendes Connection Request, nachdem ein SYN gesendet wurde. Warten auf Bestätigung des Connection Request Acknowledgement, nachdem beide Teilnehmer ein Connection Request empfangen und gesendet haben. Offene Verbindung. Warten auf ein Connection Termination Request des Kommunikationspartners oder auf eine Bestätigung des Connection Termination, das vorher gesendet wurde. Warten auf ein Connection Termination Request des Kommunikationspartners. Warten auf ein Connection Termination Request (CLOSE) der darüberliegenden Schicht. Warten auf ein Connection Termination Request des Kommunikationspartners. Warten auf die Bestätigung des Connection Termination Request, das zuvor an den Kommunikationspartner gesendet wurde. 309 Lebenszyklus einer TCP/IP Verbindung (1) Noch keine Verbindung aufgebaut. Tool: ‚netstat –a‘ http://www.fhmerseburg.de/ www.fh-merseburg.de = baserv.rz.fh-merseburg.de „Redirect“ auf web.fh-merseburg.de = fhweb.rz.fh-merseburg.de 310 Lebenszyklus einer TCP/IP Verbindung (2) Verbindung zu www.fh-merseburg.de = baserv.rz.fh-merseburg.de wird bereits abgebaut. Verbindung zu web.fh-merseburg.de = fhweb.rz.fh-merseburg.de ist noch aktiv. Verbindungen zu www.fh-merseburg.de = baserv.rz.fh-merseburg.de und zu web.fh-merseburg.de = fhweb.rz.fh-merseburg.de werden abgebaut. (Im Anschluss wie Bild 1) 311 Lebenszyklus einer TCP/IP Verbindung (3) http://www.fh-merseburg.de/ mit Three-Way-Handshake und Four-Way-Verbindungsabbau 312 TCP - Protokollfamilie Zur TCP/IP-Familie gehören mehrere Dienstprogramme der höheren OSI-Schichten (5 - 7), z. B.: Telnet (RFC 854) Ein virtuelles Terminal-Protokoll, um vom eigenen Rechensystem einen interaktiven Zugang zu einem anderen System zu realisieren. FTP (RFC 959) Dieses (File-Transfer-) Protokoll ermöglicht, die Dateidienste eines Fremdsystems interaktiv zu benutzen sowie die Dateien zwischen den Systemen hin und her zu kopieren. SMTP (RFC 821/822) Das Simple-Mail-Transfer-Protokoll (RFC 821) ist ein auf der IP-Adressierung sowie auf der durch den RFC 822 festgelegten Namensstruktur basierendes Mail-Protokoll. DNS (RFC 920) Der Domain Name Service unterstützt die Zuordnung von Netz- und Host-Adressen zu Rechnernamen. Dieser Service ist z. B. erforderlich für die Anwendung von SMTP sowie in zunehmendem Maße auch für Telnet und FTP. Aus Sicherheitsgründen wendet sich der fremde Host an den DNS, um zu prüfen, ob der IP-Adresse des ihn rufenden Rechners auch ein (Domain-)Name zugeordnet werden kann. HTTP (RFC 1945) Hypertext Transfer Protocol LDAP (RFC 1777) Lightweight Directory Access Protocol ... 313 6.7 User Datagram Protocol (UDP) RFC 768 •setzt direkt auf dem Internet Protokoll (IP) auf •IP-Protokoll-Nr.: 17 •Datagram Service zwischen Rechnern (keine virtuelle Verbindung) UDP - Eigenschaften •Transport Protokoll ohne „End to End“ – Kontrolle •Multiplexing (Ports) •Kein Verbindungsmanagement (keine aktiven Verbindungen!) •Keine Flusskontrolle •Keine Zeitüberwachung •Keine Fehlerbehandlung 314 UDP – Header UDP-Checksum Optionale Angabe (falls nicht verwendet auf Null gesetzt) einer Prüfsumme. Zu deren Ermittlung wird dem UDP-Datagramm ein Pseudoheader von 12 Byte vorangestellt (aber nicht mit übertragen), der u. a. IP-Source-Address, IP-Destination-Address und Protokoll-Nummer (UDP = 17) enthält. 315 TCP (und UDP) – Ports Beide Protokolle erlauben durch die Einführung von so genannten Ports den Zugriff mehrerer Anwendungsprogramme gleichzeitig auf ein- und dieselbe Maschine. 316 Ports für jeden Dienst Server-Prozesse „lauschen“ bei UDP und TCP auf bestimmten Portnummern. Per Übereinkunft werden dazu Ports niedriger Nummern verwendet. Für die Standarddienste sind diese Portnummern in den RFCs festgeschrieben. Ein Port im "listen"-Modus ist gewissermaßen eine halboffene Verbindung. Nur Quell-IP und Quellport sind bekannt. Der Serverprozess kann vom Betriebssystem dupliziert werden, so dass weitere Anfragen auf diesem Port behandelt werden können. • Die Portnummern werden auf dem Host-System konfiguriert und haben zwei Funktionen: • Allgemein verfügbare Dienste werden über 'well known' Ports (--> feste, per RFC zugeordnete Portnummer) erreichbar. Sie stehen also für ein Protokoll, das über die Nummer direkt angesprochen wird • oder sie werden beim Verbindungsaufbau vereinbart und einem Server-Programm zugewiesen • Die Portangabe ist nötig, wenn mehrere Serverprogramme auf dem adressierten Rechner laufen. • Die Portnummer steht im TCP-Header und ist 16 Bit groß. Theoretisch können also bis zu 65535 TCP-Verbindungen auf einem Rechner mit einer einzigen IP-Adresse aufgebaut werden. • Portnummern werden oft auch bei der Konfiguration von Internet-Clients als Parameter gefordert. • Die Client-Prozesse verwenden normalerweise freie Portnummern, die vom lokalen 317 Betriebssystem zugewiesen werden (Portnummer > 1024). Ports - Beispiele Portnummer Protokoll Portnummer Protokoll 20 FTP (Daten) 110 POP3 21 FTP (Befehle) 119 NNTP 22 Secure Shell 143 IMAP 23 Telnet 194 IRC 25 SMTP 210 WAIS 53 DNS-Server 256-1023 UNIX-spezifische Services 70 Gopher 540 UUCP 79 Finger 1024-49151 Registered Ports 80 HTTP (ProxyServer) 49152-65535 Dynamic/ Private Ports 318 Ports – Beispiele 2 Dienste auf UDP Dienst UDP - Portnummer EIN 116 42 DNS 53 RIP 520 BootP 67, 68 TFTP 69 Sunrpc (NFS) 111 SNMP/SNMP-TRAP 161, 162 319 Vergleich TCP - UDP Vergleich der Layer-4-Protokolle TCP und UDP Eigenschaft TCP UDP Ende zu Ende Kontrolle ja nein Zeitüberwachung der Verbindung ja nein Flow-Control (über das Netz) ja nein Reihenfolgerichtige Übertragung ja nein Erkennung von Duplikation ja nein Fehlererkennung ja einstellbar Fehlerbehebung ja nein Adressierung der höheren Schichten ja ja Three-Way-Handshake ja nein Größe des Headers 20 – 60 Byte 8 Byte Geschwindigkeit langsam schnell 320 Belastung der Systemressourcen normal gering 6.9 Protokolle der Schichten 5-7 326 /etc/services (1) # Copyright (c) 1993-1999 Microsoft Corp. # # Diese Datei enthält die Portnummern für bekannte Dienste gemäß IANA. # # Format: # # <Dienstname> <Portnummer>/<Protokoll> [Alias...] [#<Kommentar>] # echo echo discard discard systat systat daytime daytime qotd qotd chargen chargen ftp-data ftp telnet smtp time time rlp nameserver nameserver nicname domain domain bootps bootpc tftp gopher 7/tcp 7/udp 9/tcp 9/udp 11/tcp 11/tcp 13/tcp 13/udp 17/tcp 17/udp 19/tcp 19/udp 20/tcp 21/tcp 23/tcp 25/tcp 37/tcp 37/udp 39/udp 42/tcp 42/udp 43/tcp 53/tcp 53/udp 67/udp 68/udp 69/udp 70/tcp sink null sink null users users #Active users #Active users quote #Quote of the day quote #Quote of the day ttytst source #Character generator ttytst source #Character generator #FTP, data #FTP. control mail #Simple Mail Transfer Protocol timserver timserver resource #Resource Location Protocol name #Host Name Server name #Host Name Server whois #Domain Name Server #Domain Name Server dhcps #Bootstrap Protocol Server dhcpc #Bootstrap Protocol Client #Trivial File Transfer finger http kerberos kerberos hostname iso-tsap rtelnet pop2 pop3 sunrpc sunrpc auth uucp-path nntp ntp epmap epmap netbios-ns netbios-ns netbios-dgm netbios-ssn imap pcmail-srv snmp snmptrap print-srv bgp irc ipx ldap https https microsoft-ds microsoft-ds kpasswd kpasswd isakmp 79/tcp 80/tcp 88/tcp 88/udp 101/tcp 102/tcp 107/tcp 109/tcp 110/tcp 111/tcp 111/udp 113/tcp 117/tcp 119/tcp 123/udp 135/tcp 135/udp 137/tcp 137/udp 138/udp 139/tcp 143/tcp 158/tcp 161/udp 162/udp 170/tcp 179/tcp 194/tcp 213/udp 389/tcp 443/tcp 443/udp 445/tcp 445/udp 464/tcp 464/udp 500/udp www www-http krb5 kerberos-sec krb5 kerberos-sec hostnames postoffice rpcbind portmap rpcbind portmap ident tap #World Wide Web #Kerberos #Kerberos #NIC Host Name Server #ISO-TSAP Class 0 #Remote Telnet Service #Post Office Protocol - Version 2 #Post Office Protocol - Version 3 #SUN Remote Procedure Call #SUN Remote Procedure Call #Identification Protocol usenet #Network News Transfer Protocol #Network Time Protocol loc-srv #DCE endpoint resolution loc-srv #DCE endpoint resolution nbname #NETBIOS Name Service nbname #NETBIOS Name Service nbdatagram #NETBIOS Datagram Service nbsession #NETBIOS Session Service imap4 #Internet Message Access Protocol #PCMail Server #SNMP snmp-trap #SNMP trap #Network PostScript #Border Gateway Protocol #Internet Relay Chat Protocol #IPX over IP #Lightweight Directory Access Protocol MCom MCom ike # Kerberos (v5) # Kerberos (v5) #Internet Key Exchange 327 /etc/services (2) exec biff login who cmd syslog printer talk ntalk efs router timed tempo courier conference netnews netwall uucp klogin kshell new-rwho remotefs rmonitor monitor ldaps doom doom kerberos-adm kerberos-adm kerberos-iv kpop phone ms-sql-s ms-sql-s ms-sql-m ms-sql-m 512/tcp 512/udp 513/tcp 513/udp 514/tcp 514/udp 515/tcp 517/udp 518/udp 520/tcp 520/udp 525/udp 526/tcp 530/tcp 531/tcp 532/tcp 533/udp 540/tcp 543/tcp 544/tcp 550/udp 556/tcp 560/udp 561/udp 636/tcp 666/tcp 666/udp 749/tcp 749/udp 750/udp 1109/tcp 1167/udp 1433/tcp 1433/udp 1434/tcp 1434/udp #Remote Process Execution comsat #Remote Login whod shell spooler #Extended File Name Server route routed timeserver newdate rpc chat readnews wins wins ingreslock l2tp pptp radius radacct nfsd knetd man veesm 1512/tcp 1512/udp 1524/tcp ingres 1701/udp 1723/tcp 1812/udp 1813/udp 2049/udp nfs 2053/tcp 9535/tcp 4789/tcp #Microsoft Windows Internet Name Service #Microsoft Windows Internet Name Service #Layer Two Tunneling Protocol #Point-to-point tunnelling protocol #RADIUS authentication protocol #RADIUS accounting protocol #NFS server #Kerberos de-multiplexor #Remote Man Server # VEE Service Manager #For emergency broadcasts uucpd #Kerberos login krcmd #Kerberos remote shell new-who rfs rfs_server rmonitord sldap #LDAP over TLS/SSL #Doom Id Software #Doom Id Software #Kerberos administration #Kerberos administration #Kerberos version IV #Kerberos POP #Conference calling #Microsoft-SQL-Server #Microsoft-SQL-Server #Microsoft-SQL-Monitor #Microsoft-SQL-Monitor (Quelle Windows XP) 328 Domain Name Service (DNS) Motivation DNS: Email-Infrastruktur im Internet 329 DNS – Aufgaben Hauptaufgaben • Definiert einen Namensraum für benennbare Objekte im Internet • Abbildung eines Namens auf eine Adresse (sog. A-Record): www.hs-merseburg.de → 149.205.5.70 • Abbildung eines e-mail-Domains auf die für ihn zuständigen SMTPServer (sog. MX-Record): [uwe.heuert@]in.fh-merseburg.de → in-serv.in.fhmerseburg.de Nebenaufgaben • Liefert einen Namen, der zu einer Adresse gehört • Ermöglicht Alias-Namen für Objekte • Ermöglicht die Navigation im Namensraum • Gibt Information über die Organisation des DNS 330 DNS - Protokoll Wireshark • Setzt auf dem Datagram-Transport-Service von UDP auf • UDP/TCP Port 53 (UDP und TCP!) RFC 1033 – Administrators Operations Guide RFC 1034 – Concepts and Facilities RFC 1035 – Implementation and Specification Nicht verwechseln mit „Internet Name Service“: • Setzt auf dem Datagram-Transport-Service von UDP auf • UDP/TCP Port 42 331 DNS – Namensraum 332 DNS – Zonen 333 DNS – Begriffe • DNS-Namen können auf verschiedenartige Objekte abgebildet werden, z.B. Rechneradressen, e-Mail-Adressen usw. • Ein Eintrag "www.fh-merseburg.de" kann also einen einzelnen Rechner bezeichnen und "in.fh-merseburg.de" ein e-Mail-Domain. Dem Namen sieht man diesen Unterschied nicht an. • Verschiedene DNS-Namen können auf das gleiche Objekt abgebildet werden (alias). • Zone: Unterbaum des Namensraums, der als Einheit verwaltet wird, z.B. ein secondlevel domain wie fh-merseburg.de. • Zonen können in untergeordnete Zonen aufgeteilt werden. • Ein primary name server ist für eine oder mehrere Zonen zuständig (authoritative name server). Primary name servers werden aus einer Datenbank (Textfile) geladen. • Einer oder mehrere redundante secondary name servers erhöhen die Verfügbarkeit. Secondary name servers werden vom primary geladen (zone transfer). • Secondary name servers sind für Betreiber von Zonen obligatorisch • root server binden die oberste Ebene des DNS zusammen. Jeder name server muss die IP-Adressen der root server kennen. 334 DNS – Namesauflösung (1) • Die Namensauflösung wird logisch immer an der Wurzel des Baums gestartet, und arbeitet dann "abwärts”. • Die Namensauflösung wird durch einen DNS Client (DNS resolver), der in die Applikation eingebunden ist, initiiert. • Abfragen • gezielt an einzelne name server • rekursiv an das ganze DNS • Erhält ein Namens-Server eine Anfrage, prüft er, ob der Name in seinem eigenen Unterbaum liegt. Wenn ja, kann er die Anfrage beantworten, sonst kann er die Abfrage an den nächst höheren Server oder einen root server weiterleiten. • Ein Abfrage-Client (resolver) muss also nur die Adresse eines (bzw. "seines") Namens-Servers kennen (/etc/resolv.conf). 335 DNS – Namesauflösung (2) 336 DNS – Namesauflösung (3) Tool: ‚nslookup‘ Ohne DNS, zur Namesauflösung von Rechnern, die nicht im DNS eingetragen sind bzw. für kurze Aliase, kann die Datei ‚/etc/hosts‘ benutzt werden. 337 DNS – Rootserver 338 DNS - Servertypen • Primary Name Server (Master) • Enthält Datenbank mit authorisierten Daten • Ort der Datenpflege • Secondary Name Server (Slave) • Enthält Datenbank mit authorisierten Daten • Holt sich regelmässig Updates von Master • Caching Server • Merkt (cached) sich nur Daten (nicht authorisiert) • Verwirft „gecachte“ Daten nach vorgegebener Zeit (TTL-Feld mit 32 Bit Länge) 339 DNS - Cache Windows XP Cache Display: Cache Leerung: ipconfig /displaydns ipconfig /flushdns 340 Dynamic Host Configuration Wireshark Protocol (DHCP) RFC 2131 • Nutzt BOOTP • Paketaufbau identisch zu BOOTP RFC 951, RFC 1542, 2132 (Vendor Specific Extensions) • Setzt auf dem Datagram- Transport- Service von UDP auf • UDP/TCP Port • 67 (Client -> Server) • 68 (Server -> Client) • Umwandlung von Ebene 2-Adressen in IP- Adressen • Übertragung von Informationen, die zum Booten notwendig sind (Vendor Specific Extensions) • Automatisches Zuweisen von IP-Adressen auf Zeit bzw. unendlich (32 BitWort = 1 sec – 136 Jahre) • Manuelle Vergabe von IP-Adressen möglich • DHCP-Server muss BOOTP-Clients bedienen können 341 DHCP - Messages • DHCPDISCOVER • Broadcast von Client, zur Suche verfügbarer Server • DHCPOFFER • Server teilt Client Konfigurationsparameter mit • DHCPREQUEST • Client fordert angebotene Parameter von Server an bzw. bestätigt Parameter/ verlängert „Lease“ • DHCPACK • Server bestätigt Client die Richtigkeit der Adresse • DHCPNACK • Server teilt Client mit, dass Adresse nicht verwendet werden kann • DHCPDECLINE • Client teilt Server mit, dass Adresse schon genutzt wird • DHCPRELEASE • Client teilt Server mit, dass Adresse nicht weiter benötigt wird 342 DHCP - Adressvergabe Automatische Adressvergabe durch DHCP • Client sucht DHCP-Server; ggf. Vorschläge für Netzwerk- Adresse und Gültigkeitsdauer (DHCPDISCOVER) • DHCP-Server antworten mit IP-Adresse (DHCPOFFER) • Client sucht sich eine Antwort aus und antwortet allen Servern (DHCPREQUEST) – „Server Identifier Option“ muss gesetzt sein • Der ausgesuchte Server reserviert die vorgeschlagene Adresse und schickt Konfigurations-Parameter –ggf. vorher Test der Adresse durch ICMP-Echo Request (DHCPACK) Alle anderen Server wissen, dass ihr „Angebot“ abgelehnt wurde und die vorgeschlagene IP-Adresse wieder frei verfügbar ist 343 HTTP Wireshark Hypertext Transfer Protocol (HTTP) RFC 1945 HTTP 1.0 (1996) RFC 2616 HTTP 1.1 (1997) • Setzt auf dem gespeicherten Transport Service von TCP auf • TCP-Port 80 (veränderbar) • Basiert auf einem Request-/Response-Verfahren zur Abfrage von Dokumenten 1. Verbindungsaufbau 2. Anforderung (Request) URI, protocol version, request modifier, client information 3. Antwort (Response) Massage protocol version, success/error- code, server information, „data“ 4. Verbindungsabbau 344 HTTP – Begriffserklärungen • • • • • • Internet WWW HTML HTTP URI URL Anzahl aller (öffentlichen) Rechner, die IP nutzen World Wide Web (Anwendung, Dienst) Hypertext Markup Language (Auszeichnungssprache) Hypertext Transfer Protocol (Dienst, Protokoll) Unified Ressource Identifier (Verweis auf Dokument) Unified Ressource Locator (Verweis auf Dokument incl. Protokollangabe) 345 HTTP – Request GET http://www.fh-merseburg.de:80/index.html HTTP/1.0 Methode URL Version (optional) GET / HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: de Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: web.fh-merseburg.de Connection: Keep-Alive Header 346 HTTP – Methoden (1) GET Diese Methode gibt an, dass alle Informationen, die mit der nachfolgenden URL beschrieben werden, zum rufenden Client geholt werden sollen. Zeigt die URL auf ein Programm (CGI-Script), dann soll dieses Programm gestartet werden und die produzierten Daten liefern. POST Diese Methode wird hauptsächlich für größere Datenmengen verwandt. Man stelle sich vor, ein HTML-Dokument enthält ein komplexes Formular. Per POST wird dem Server angezeigt, dass er auch die Daten im Körper der Botschaft bearbeiten soll. Verwendet wird es hauptsächlich bei Datenblöcken, die zu einem verarbeitenden Programm übertragen werden. Die wirkliche Funktion, die durch POST auf dem adressierten Rechner angestoßen wird, wird durch die URL bestimmt. Meist sind es CGI-Scripte, die den Inhalt der Nachricht verarbeiten. 347 HTTP – Methoden (2) HEAD Die Antworten unterscheiden sich nur darin, dass bei der Methode GET ein komplettes Dokument übertragen wird und bei HEAD nur die Meta-Informationen gesendet werden. Dies ist nützlich, um Links auszuprobieren oder um die Erreichbarkeit von Dokumenten zu testen. Bei Anwendung der Methode HEAD wird der Kopf des referenzierten HTML-Dokuments nach 'link' und 'meta' Elementen durchsucht. PUT Die mit der Methode PUT übertragenen Daten sollen unter der angegeben URL gespeichert werden. Wird ein Dokument mit der Methode PUT übertragen, dann wird unter dieser Adresse ein Dokument mit dem übertragenen Inhalt angelegt. War die Aktion erfolgreich, wird die Meldung '201 created' zurückgegeben. Existiert unter dieser Adresse schon ein Dokument, dann wird dieses überschrieben. War auch diese Aktion erfolgreich, dann wird nur '200 OK' zurückgemeldet. Meist jedoch ist die Methode PUT ausgeschaltet, weil Server-Betreiber befürchten, dass die Sicherheit, des Systems dadurch nicht mehr gewährleistet ist. DELETE Mit dieser Methode kann der Inhalt einer URI gelöscht werden. Diese Methode ist neben der Methode PUT eine der gefährlichsten. Wenn Server nicht richtig konfiguriert wurden, dann kann es mitunter vorkommen, dass alle Welt die Berechtigung zum Löschen von Ressourcen hat. LINK Mit dieser Methode können eine oder mehrere Verbindungen zwischen verschiedenen Dokumenten erzeugt werden. Es werden dabei keine Dokumente erstellt, sondern nur schon bestehende miteinander verbunden. UNLINK entfernt Verbindungen zwischen verschieden Ressourcen. Dabei wird nur die Verbindung gelöscht. 348 Die Dokumente existieren trotzdem weiter. HTTP - Response Status Code HTTP/1.1 200 OK Date: Tue, 09 Nov 2004 08:58:09 GMT Server: Apache/1.3.29 (Linux/SuSE) PHP/4.3.1 X-Powered-By: PHP/4.3.1 Set-Cookie: fe_typo_user=6e9187c734; path=/ Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html Header Länge des folgenden Blocks 5008 (alternativ: „Content-Length bei HTTP/1.0 im Header) <!DOCTYPE html .PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> ... Body 349 HTTP – Status Codes 1xx – Informationen: Die Bearbeitung der Anfrage dauert noch an. 2xx – Erfolgreiche Operation: Die Anfrage war erfolgreich, die Antwort kann verwertet werden. 3xx – Umleitung: Um eine erfolgreiche Bearbeitung der Anfrage sicherzustellen, sind weitere Schritte seitens des Clients erforderlich. 4xx – Client-Fehler: Nicht klar von den so genannten Server-Fehlern abzugrenzen. Die Ursache des Scheiterns der Anfrage liegt jedoch eher im Verantwortungsbereich des Clients. 5xx – Server-Fehler: Nicht klar von den so genannten Client-Fehlern abzugrenzen. Die Ursache des Scheiterns der Anfrage liegt jedoch eher im Verantwortungsbereich des Servers. 350 HTTP – Status Codes (Details nach RFC 2616) 351 HTTP – Beispiel (1) 352 HTTP – Beispiel (2) 353 Wireshark „www.fh-merseburg.de“ 354 File Transfer Protocol (FTP) Wireshark RFC 959 • Setzt auf dem gesicherten Transport Service von TCP auf • TCP Port 21 und 20 • File-Transfer-Dienst 355 FTP – Session „Active FTP“ 1. Aufbau einer Steurleitung/-Verbindung (Port 21) durch Client 2. Austausch von Befehlen und Parametern 1. Aufbau einer Datenleitung/-verbindung (Port 20) durch Server 2. Datenübertragung 3. Abbau der Datenverbindung 3. Abbau der Steuerleitung 356 FTP - Mode Web-Browser FTP-Verhalten 357 FTP – Wichtige Client Befehle • • • • • • dir, ls Inhaltsverzeichnis anzeigen cd Inhaltsverzeichnis wechseln pwd Name des aktuellen Inhaltsverz. anzeigen bin bzw. ascii Übertragungsmodus binär/ascii hash Übertragung grafisch darstellen (mit #####) get bzw. put eine Datei (ein komplettes Verzeichnis) holen bzw. senden (mget bzw. mput) Nicht zu verwechseln mit den FTP Kommandos im FTP Protokoll! 358 FTP - Wireshark Control Channel Data Channel 359 Simple Mail Transfer Protocol (SMTP) Wireshark RFC 821 • Setzt auf dem gesicherten Transport Service von TCP auf • TCP/UDP Port 25 • E-Mail-Dienst 360 SMTP - Übertragung 361 SMTP – Message Format 362 Post Office Protocol (POP3) Wireshark RFC 1939 • Setzt auf dem gesicherten Service von TCP auf • TCP/UDP-Port 110 • Ermöglicht einem Client das „Abholen“ von E-Mails von einem MailServer • User-Authentisierung erfolgt über Username/Password • Unterstützt keine Veränderung der Mail auf dem Server (im Gegensatz zu: IMAP4 [Internet Message Access Protocol] – RFC 2060) 363 Telnet 364 Time Protocol Wireshark Die Uhrzeit wird in Sekunden seit 1.1.1900 00:00 UTC zurückgegeben. Binärkodiert als 32-Bit Zahl in Netzwerk-Byte-Reihenfolge (Höherwertiges Byte zuerst). Die meisten Server unterstützen sowohl TCP als auch UDP, Port ist in beiden Fällen 37. C5 3B 41 4E ... 3308994894 Sekunden ~ 104,9 Jahre 365 6.10 Heterogene Netze TCP/IP 366 7 Programmierung C, C++, C#, J#, VB.NET, Visual Basic, Java, Delphi, Perl, PHP, ... 367 7.1 Sockets Was sind Sockets? Ein Socket ist eine Schnittstelle zwischen einem Programm - genauer: einem Prozess - und einem Transportprotokoll. Letzteres kann z.B. TCP oder UDP sein. Das Socket-Prinzip entspricht dem von File-Deskriptoren. Dort repräsentiert, nach dem Öffnen einer Datei, ein Handle die Verbindung zu dieser Datei und unter Angabe des Handles ist der Lese- oder Schreibzugriff möglich. Bei Sockets geht es jedoch nicht um physikalische Dateien sondern um Kommunikationskanäle, über die Daten gesendet und empfangen werden können. 368 Socket - Programmierung Clientprogrammierung • einen Socket anfordern • eine Verbindung aufbauen • Senden von Daten (TCP und UDP Version) • Empfangen von Daten (TCP und UDP Version) • den Socket freigeben Serverprogrammierung • eigenen Port festlegen • auf eingehende Verbindungen warten • die eingehenden Verbindungen annehmen Socket-API • (Weitgehend) OS unabhängig • Grundlage ist BSD Sockets API aus 1983 •C 369 Socket anfordern und freigeben domain type protocol socket() Adressfamilie (AF_INET ...Internet Protocol IP in der Version 4). Übertragungsart (SOCK_STREAM - die Übertragung eines Datenstroms, SOCK_DGRAM - Übertragung von Datagrammen). Der Wert 0 für den Parameter weist socket() an, das zur Übertragungsart standardmäßig verwendete Protokoll auszuwählen. Im Fall von SOCK_STREAM ist das TCP, bei SOCK_DGRAM ist es UDP. gibt die Nummer zurück, die den bereitgestellten Socket identifiziert und die in weiteren Funktionsaufrufen verwenden werden - den SocketDeskriptor. Falls kein Socket bereitgestellt werden kann, gibt socket() -1 zurück. Socket freigeben fd Socket-Deskriptor. 370 Verbindung aufbauen sockfd Socket-Deskriptor. serv_addr Struktur vom Typ sockaddr. Die ist jedoch so gehalten, dass sie unabhängig von der verwendeten Adressfamilie ist (sockaddr_in bei IPv4). addrlen Größe von sockaddr, also sizeof(sockaddr). connect() Funktionsaufruf, gibt im Fehlerfall -1 zurück. Verbindungsparameter festlegen 371 Senden und Empfangen - TCP TCP s msg/buf len send()/recv() Socket-Deskriptor. Zeiger auf den Sende/Empfangspuffer. Länge des Puffers. Geben im Erfolgsfall die Anzahl der gesendeten/empfangenen Bytes an. Geben im Fehlerfall -1 zurück. 372 Senden und Empfangen - UDP UDP UDP Verbindungen sind verbindungslos. Deshalb kann man auf connect() verzichten. Wird die UDP Verbindung jedoch mit connect() initiiert, lassen sich auch send() und recv() verwenden. 373 Eigenen Port festlegen sockfd Socket-Deskriptor. my_addr Struktur vom Typ sockaddr. Die ist jedoch so gehalten, dass sie unabhängig von der verwendeten Adreßfamilie ist (sockaddr_in bei IPv4). addrlen Größe von sockaddr, also sizeof(sockaddr). bind() Gibt im Fehlerfall -1 zurück. 374 Auf Verbindungen warten und diese annehmen s backlog bind() Socket-Deskriptor. gibt an, wieviele Verbindungsanfragen maximal in eine Warteschlange gestellt werden können, wenn gerade keine Verbindungen angenommen werden können. Funktionsaufruf, gibt im Fehlerfall -1 zurück addr Zeiger auf Struktur vom Typ sockaddr. addrlen Größe von sockaddr, also sizeof(sockaddr). connect() Funktionsaufruf, gibt im Fehlerfall -1 zurück. 375 C - Beispiel HTTP Client 376 7.2 Höhere Abstraktion Klassenbibliotheken: •C++ (z.B. MFC) •Java •.NET •... 377 7.3 Datenkodierung URL encode UUENCODE BASE64 ASN.1 XML ... Warum? • Übertragung von Datenstrukturen mit binären Inhalt • Nutzung von Protokollen, die eigentlich nicht für die Übertragung von binären Daten vorgesehen sind (z.B. SMTP/POP3, z.T. HTTP) • Verhinderung von Fehlinterpretation von Zeichen als Steuersignale 383 URL Encode (1) Bestimmte Zeichen sind in URL‘s nicht erlaubt (RFC 1738): „...Only alphanumerics [0-9, a-z, A-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may not be used unencoded within a URL.“ ASCII-Steuerzeichen (ASCII Control characters): Diese Zeichen sind nicht druckbar [Zeichenbereich 00-1F hex (0-31 dezimal) und 7F (127 dezimal)]. Nicht-ASCII-Zeichen (Non-ASCII characters): Diese Zeichen sind per Definition in URLs nicht legal, da sie nicht im ASCIIZeichensatz vorkommen, 80-FF hex (dezimal 128-255). "Reservierte Zeichen": URLs verwenden einige Zeichen für die Syntax. Sollte diese Zeichen verwendet werden, müssen diese verschlüsselt werden. "Unsichere Zeichen": Einige Zeichen haben spezielle Bedeutungen in der Syntax von URLs und müssen immer verschlüsselt werden. 384 URL Encode (2) “Reserved characters” Beispiel: This is a text. “Unsafe characters” This+is%0D%0Aa+text%2E%0D%0A 385 UUENCODE (1) (Unix-to-Unix-Encode) Das sicherste Mittel, binäre Daten via Internet zu versenden ist, sie per Uuencode oder dem verwandten Base64 umzuwandeln. Die meisten EMail-Clients erledigen diese Aufgabe automatisch, sobald sie auf eine Binärdatei treffen. Und so gehen sie dabei vor: Im Netz ist zwar der restriktive 7-Bit-Standard weit verbreitet, weil sich Zeichen oberhalb von ASCII 127 oftmals nicht sicher übertragen lassen. Das zweite Problem: Viele Zeichen unterhalb des ASCII-Wertes 32 werden von Mail-Clients oder Terminal-Emulationen als Steuerzeichen erkannt. Die Zeichen werden nicht nacheinander abgespult, sondern es gibt immer wieder Seitenvorschübe (ASCII 12) und der Piepser pfeift fröhlich vor sich hin (ASCII 7). Denn in binären Dateien, etwa ProgrammFiles kommt die gesamte Palette der 256 ASCII-Zeichen vor. → 6-Bit-Übertragung! 386 UUENCODE (2) Bleiben für die sichere Übertragung also nur die druckbaren Zeichen AZ, a-z in Kleinschrift, die Ziffern 0-9 und einige Satzzeichen wie +, %, [ oder der Unterstrich _. Auf diese Zeichen rechnet der Uuencode zu Grunde liegende Algorithmus die Binärdaten zurück. Dazu fasst er drei Byte Daten aus der Binärdatei zusammen und teilt die daraus resultierenden 24 Bit in vier Packungen zu je sechs Bit auf. Den 6-Bit-Werten werden „druckbare“ Zeichen zugeordnet (plus 32!). 11011101 10101000 10110110 110111 011010 100010 110110 387 BASE64 (1) Base64 ist ähnlich Uuencode ein Standard zur Übertragung von Binärdateien im Internet. Im Gegensatz zu Uuencode verwendet Base64 jedoch noch weniger Spezialzeichen. Satzzeichen wie „!“ oder „%“, die von einigen Mail-Gateways im Internet verschluckt werden können, verwendet Base64 nicht und erlaubt dadurch eine weit zuverlässigere Übertragung. (→ MIME: Multipurpose Internet Mail Extensions) 388 BASE64 (2) Bei BASE64 Kodierung werden jeweils drei Bytes zu einer 24-Bitfolge zusammengefasst und diese dann in vier 6-Bitgruppen unterteilt. Die 6Bitgruppen werden an Hand einer Zeichentabelle (Base64-Alphabet) zurückübersetzt und übermittelt. Dadurch wird jeder Text um 33% länger. Das Base64-Alphabet ist eine Untermenge von 65-Zeichen aus dem ASCIIZeichensatz. Davon dienen 64 Zeichen der Textkodierung und ein Zeichen (=) als Endmarkierung bei einer unvollständigen 24-Bitgruppe. Nachteile, die das Einsatzgebiet einschränken: • Die kodierte Datei ist immer rund 33% größer. • Es gibt keine festgelegten Anfangs- und Endmarkierungen. • Es sind keinerlei Prüfalgorithmen vorgesehen, an Hand derer Übertragungsfehler feststellbar oder reparierbar sind. • Es ist kein Verfahren zum Aufteilen großer Dateien in mehrere kleinere Einheiten vorgesehen. 389 • Der originale Dateiname wird nicht mit eingebettet. BASE64 (3) 390 ASN.1 Motivation Stellen Sie sich vor, Sie möchten eine Freundin in Frankreich anrufen, die an eine Vermittlungsstelle von Alcatel angeschlossen ist (was sie wahrscheinlich nicht interessiert) während sie an einer Vermittlungsstelle der Deutschen Telekom AG hängen (was Sie auch nicht interessiert...). Hätten Sie Bedenken, dass dies nicht funktioniert? Nein, sicherlich nicht! Aber warum, oder besser, warum nicht? Zur Realisierung all dieser Dienste müssen zwischen den betroffenen Vermittlungsstellen, Servern usw. Nachrichten ausgetauscht werden, d.h. sie müssen miteinander kommunizieren und - ein sehr wichtiger Aspekt - sich auch verstehen. So teilt z.B. die Vermittlungsstelle aus Deutschland der Vermittlungsstelle in Frankreich mit, dass sie einen Anruf zu einer bestimmten Nummer aufbauen möchte. Damit sich diese beiden Einheiten verstehen können, müssen natürlich die untereinander ausgetauschten Nachrichten standardisiert sein. Stellt sich sofort die Frage: Wie wurden diese Nachrichten denn beschrieben? Sehr häufig mittels ASN.1. 391 ASN.1 – Begriff Wofür steht ASN.1? Was bedeutet Abstract Syntax Notation One? Nachfolgend sollen zunächst die drei Begriffe, die sich hinter dem Kürzel ASN.1 verbergen, näher erläutert werden. Abstrakt bedeutet "begrifflich, theoretisch, vom Dinglichen gelöst", eine Syntax beschreibt "...die korrekte Art und Weise, sprachliche Elemente zu Sätzen zu ordnen...", d.h. Regeln dafür, wie Elemente zu komplexeren Gebilden geordnet werden können. Eine Notation bezeichnet entweder eine Aufzeichnung in Notenschrift oder das Aufzeichnen einer Schachpartie; d.h. allgemeiner gesprochen, das Aufzeichnen von Informationen. ASN.1 bezeichnet also eine Beschreibungssprache, mit deren Hilfe abstrakte, theoretische Datenstrukturen und Werte beschrieben werden können, d.h. unabhängig von einer Plattform oder Programmiersprache. Dabei kann sowohl die Struktur an sich als auch deren möglicher Inhalt beschrieben werden. 392 ASN.1 – Definition Zum Vergleich: C Daten Struktur und XML Syntax 393 ASN.1 – Beispiel 394 ASN.1 - Anwendungsprotokolle • • • • SNMP (Simple Network Management Protocol) LDAP (Lightweight Directory Access Protocol) Kryptografische Objekte (z.B. Zertifikate, Signaturen) Kryptografische Protokolle (z.B. SSL/TLS, SSH) 395 Extensible Markup Language (XML) Was ist XML? 396 XML – Grundbausteine 397 XML – Elemente 398 XML – Attribute 399 XML – Deklaration 400 XML – Regeln 401 XML - Beispiel 402 7.4 RPC - Motivation 403 Remote Procedure Call (RPC) „Stub“ … Stumpf, Stummel 404 RPC durch die OSI-Brille CORBA / IIOP, RMI, DCOM, verwenden Sockets und/oder RPC. Microsoft SMB verwendet Named Pipes. 405 RPC – Beispiel RPC Server Wireshark RPC Client RPC Implementierungen: • Sun RPC • Microsoft RPC (microsoft-ds, Netbeui/Netbios, DCE-RPC, SMB-RPC) 406 Remote Method Invocation (RMI) RMI wurde von SUN Microsystems entwickelt und bietet die Grundlage für die Entwicklung verteilter System, basierend auf der Programmiersprache JAVA. Durch die vorgeschriebene Bindung an die Programmiersprache JAVA wird Plattformunabhängigkeit ermöglicht, dafür eine programmiersprachenunabhängige Schnittstellenbeschreibung unterbunden. Da die Übertragung relevanter Daten in Binärform erfolgt, sind diese für den Entwickler schwierig zu interpretieren. 407 RMI - Kommunikation Aufruf von Java Programmen auf geographisch entfernten Rechnern 408 Common Object Request Broker Architecture (CORBA) CORBA wurde von der Object Managment Group entwickelt und ermöglicht die Kommunizierung zwischen Objekten. Zentrales Element der CORBA-Spezifikation bildet der Object Request Broker, der die Vermittlung zwischen den beteiligten Objekten steuert. Die Schnittstelle wird durch die Interface Definition Language beschrieben, welche sich durch Verwendung eines IDL-Compilers in jede beliebige Programmiersprache überführen lässt. Interaktion mit den Objekten erfolgt durch eine API, welche ebenfalls für viele Programmiersprachen zur Verfügung steht. 409 Vergleich RMI – CORBA (1) 410 Vergleich RMI – CORBA (2) • CORBA Anwendungen können in vielen unterschiedlichen Sprachen geschrieben werden, solange für diese Sprachen ein „interface definition language (IDL) mapping“ vorhanden ist. Dies schließt C/C++, Ada, Fortran und Cobol ein; weitere Sprachen sind in Vorbereitung. RMI ist auf Java beschränkt. • Mit der IDL ist das Interface von der Implementation sauber getrennt. Es können unterschiedliche Implementierungen unter Benutzung des gleichen Interface erstellt werden (CORBA). • RMI Anwendungen sind einfacher zu erstellen als CORBA Anwendungen, weil die Notwendigkeit der IDL Definition entfällt. • RMI ermöglicht serialisierbare Klassen. Code und Objekte können über das Netz übertragen werden (can be marshaled), solange der Empfänger über eine „Java Virtuelle Maschine“ (JVM) verfügt. CORBA erlaubt keine Übertragung von Code oder Objekten; es können nur Datenstrukturen übertragen werden. • CORBA hat ein besseres Leistungsverhalten als RMI (keine 411 Interpretation). Distributed Component Object Model (DCOM) DCOM wurde von Microsoft entwickelt und stellt eine Weiterentwicklung von Component Object Model (COM) dar. DCOM ist programmiersprachenunabhängig, aber durch die feste Einbindung in Microsoft-Plattformen und nur vereinzelt vorhandenen Produkten für andere Plattformen, ist eine praktische Plattformunabhängigkeit nicht gewährleistet. Die Daten werden in Binärform übertragen, und die Schnittstellen werden mit der eigens von Microsoft entwickelten Interfacebeschreibung MIDL beschrieben. • Das DCOM Objektmodell ist Microsoft’s proprietäre Alternative zu CORBA. • Verwendet (leicht modifizierten) DCE RPC. • Integriert (wie CORBA) Komponenten unterschiedlicher Hersteller in binärer Form, die in unterschiedlichen Sprachen geschrieben sein können. Verwendet hierzu eine IDL. • Verfügbar unter OS/390 und den meisten Unix Dialekten (incl. LINUX), jedoch bisher kaum Einsatz außerhalb der Windows Betriebssystemfamilie. 412 DCOM - Kommunikation DCOM Kommunikation über Remote Procedure Call Arbeitet der Server auf dem gleichen Rechner wie der Klient, werden „Lightweight RPC’s“ eingesetzt (LPC, Local Procedure Call). 413 Vergleich CORBA - DCOM • Beide Technologien werden vermutlich für längere Zeit in Wettbewerb miteinander stehen. • In reinrassigen Microsoft Umgebungen (z.B. mittelständische Unternehmen) hat DCOM Vorteile. • In heterogenen Umgebungen ist DCOM bisher wenig vertreten. • CORBA ist besser geeignet, um bestehende Altanwendungen einzubinden. 414 Vergleich Java - .NET Sun Java Microsoft .NET 415 .NET Remoting Wireshark 416 .NET Remoting 417 Web Service Der Grundgedanke bei der Entwicklung der Web Services war die Entwicklung verteilter Systeme durch den Einsatz standardisierter Technologien. Mit diesen Technologien ist garantiert, dass Programme, die auf unterschiedlichen Plattformen mit verschiedenen Programmiersprachen entwickelt wurden, miteinander kommunizieren können. Durch den Einsatz von Web Services soll es möglich sein, heterogene Systeme aller Art miteinander zu verbinden. Sie können innerhalb eines Unternehmens oder extern verbreitet werden und von anderen Web Services aufgerufen werden. Ein Unterschied von Web Services zu früheren Technologien wie CORBA und RMI ist die weniger aufwendige Integrierung in bereits bestehende Systeme, da Web Services weniger komplex sind und mit Standardprotokollen wie HTTP zusammenarbeiten. Die ersten entwickelten Web Services waren vorwiegend Informationsquellen wie Aktienkurse, Sportergebnisse oder Wettervorhersagen an. Diese konnte man einfach in seine Anwendungen einbauen. Mittlerweile werden Services aber auch komplexer. Amazon bietet seinen Produktkatalog als Web Service an, mit 418 dem der Nutzer am Marketplace Seller von Amazon teilnehmen kann. Was ist ein Web Service? → ein Service, den man über ein Internet Standard Protokoll aufrufen kann. Gemeint ist aber eher ein Service der über HTTP mit dem Simple Object Access Protocol (SOAP) aufgerufen wird. SOAP ist eine XML Definition. 419 Web Service – Kommunikation 420 Web Service - Ablauf 421 Vergleich Web Services – andere RPC Technologien Web Services bieten gegenüber den anderen vorgestellten Techniken den Vorteil, dass sie uneingeschränkt programmiersprachen- und plattformunabhängig sind. Weiterhin werden im Gegensatz zu RMI, DCOM und CORBA, wo die Daten in Binärform übertragen werden, bei Web Services die Informationen in XML übertragen, was einer besseren Lesbarkeit zu Gute kommt. Als Protokoll kommt SOAP (Simple Object Access Protocol) über HTTP zum Einsatz. 422 8 Sicherheit Warum geht Sicherheit jeden an? • Internet-Boom • Heute sind ungleich mehr Nutzer im Internet unterwegs als vor 10 Jahren • Es ist kein besonderes Spezialwissen dafür erfoderlich • Leistungsfähige Betriebssysteme • Ein älteres MacOS oder Windows 3.x bietet so gut wie keine Angriffspunkte • Moderne Betriebssysteme (Win7, Win8.x) dagegen haben alles, um es als Hacker-Plattformen attraktiv werden zu lassen • Trends in der Software-Industrie • Vorzug von Komfort vor Sicherheit • Der Nutzer muss selbstständig dafür sorgen, dass seine Systeme sicher sind 423 Sicherheit - Ziel • Ziel ist die Erkennung und Vermeidung von unberechtigten Zugriffen auf den eigenen Computer • Eindringlinge sollen von dem eigenen System und den eigenen Daten ferngehalten werden • Erfolgte Einbrüche sollen erkannt und in ihrem Ausmaß beurteilt werden können • Auch wenn keine extrem sicherheitsrelevanten Daten verarbeitet werden, schätzen wir es dennoch nicht, von Fremden ausgespäht zu werden oder gar, dass der Rechner für andere Tätigkeiten missbraucht wird • Eindringlinge haben selten Interesse an der Identität des Computereigentümers, sondern wollen den Rechner unter die eigene Kontrolle bekommen, um damit zumeist illegale Dinge zu tun, ohne Rückschlüsse auf die eigene Person zuzulassen 424 8.1 Gefahren im Netz Gefahren: 1 2 4 Viren 1 2 3 Würmer 2 4 Trojaner 1 4 5 aktive Inhalte 6 Sniffing Schutzmaßnahmen: Patches (System-Updates) 1 Virenscanner 2 Firewall, Personal Firewall 3 Browser-Einstellungen (Web, email) 4 Digitale Signaturen 5 SSL/TLS 6 „Offene Augen“ (Vorsicht) 7 7 7 7 7 425 Ursachen (1) • Fehlkonfigurationen • Programme sind aktiviert, von denen der Anwender nichts weiß und die Ziel eines Angriffs sein können • 80% der Anwender nutzen nur 20% der Möglichkeiten eines Programms • Was nicht installiert ist, mach auch keine Probleme • Programme sind nicht aktiviert, die Schutzmaßnahmen gegen Angriffe darstellen können • Mängel bei den Betriebssystemen und den Software-Produkten • Sicherheitslücken: dagegen werden zwar Patches geliefert, kleine Programme oder Korrekturen für die betreffende Software, die den Fehler beheben • Diese Sicherheitslücken und die durch sie hervorgerufenen Gefahren müssen überhaupt erst bekannt sein 426 Ursachen (2) • Unzureichende Qualitätskontrolle und Sicherheitsbewusstsein seitens der Software-Hersteller • Auch hier werden Korrekturen nachgeliefert, von deren Existenz die Anwender aber oftmals nichts wissen • Fehlende Qualifizierung der IT-Fachleute und der Endanwender • Es gibt nicht genügend Leute mit ausreichender Erfahrung bzgl. Datensicherheit (Einer pro Institut ist zu wenig) • Es gibt kein einfaches schnelles Fortbildungsverfahren: das Einarbeiten in den Bereich Datensicherheit ist ein langwieriger und andauernder Prozess 427 Schutzmaßnahmen – ab Vista z.B.: Die „6 goldenen Regeln“ von Microsoft: 429 Verhaltensregeln (1) • Aktivieren Sie die Personal Firewall zum Schutz vor komplexen Bedrohungen = Internet Verbindungsfirewall (ICF) unter Windows, eventuell unter Einsatz von Fremdprodukten • Stellen Sie sicher, dass Betriebssystem, Browser und andere Anwendungen stets auf dem neusten Stand sind • Setzen Sie einen Virenscanner ein und halten die Virensignaturen durch tägliche Updates auf dem neusten Stand • Einsatz eines alternativen Web-Browsers (nicht Internet Explorer) in der jeweils aktuellen Version • Bilden Sie Passwörter aus einer Mischung von Buchstaben und Ziffern • Nutzen Sie keine in Wörterbüchern vorkommende Ausdrücke • Ändern Sie Ihr Passwort von Zeit zu Zeit 430 Verhaltensregeln (2) • Sichere Konfiguration der (Internet-) Programme, vorrangig Browser und E-Mail-Client • Nicht benötigte Programme, sollten deinstalliert oder deaktiviert werden • Deaktivieren Sie die Datei- und Druckerfreigabe, solange eine Internetverbindung besteht • Der Faktor Mensch: ein generell umsichtiges und wachsames Verhalten im Umgang mit dem Internet (Downloads, Dateianhänge) • Öffnen oder führen Sie nie einen E-Mail-Anhang aus, es sei denn, die Bestimmung des Anhanges ist Ihnen bekannt • Phishing als eine immer weiter verbreitete Form des Internetbetruges • Kontozugangsdaten sollten niemals per E-Mail übermittelt werden! Kein Bankinstitut fragt diese Daten per E-Mail ab 431 Typische Angriffe über Netz 432 Sniffing • Abhören des Netzwerkverkehrs • Meist Filterung bestimmter Adressen und Ports möglich • Speicherung der abgehörten Daten auf Platte oder Weiterverarbeitung mit externen Filtern und Programmen möglich Tools, wie „Wireshark“, „Ethereal“, „SniffIt“, etc. dienen den "bad guys" zum: • Abhören aller unchiffrierten Verbindungen • Ausspähen von Passwörtern • Mitlesen der Post an einen bestimmten Rechner Wir benutzen diese Werkzeuge, um Netzwerkprotokolle kennen zu lernen und zu verstehen! Schutz: Kryptografie 433 Spoofing In Rechnernetzen gibt es Formen der Tarnung (z. B. Spoofing), bei der ein Rechner vorspiegelt, ein anderer zu sein. In vielen Fällen gibt es den 'trusted host'. Vereinfacht gesagt sind dies Rechner, denen gegenüber der eigene Rechner 'offen' ist. Tarnt sich ein fremder Rechner als vertrauenswürdiger Host, wird das Eindringen erleichtert. Formen: • ARP-Spoofing • IP-Spoofing • Route-Spoofing • DNS-Spoofing 434 ARP-Spoofing Arbeitsstation B kann durch Manipulieren der ARP-Caches die Verbindung zwischen Arbeitsstation A und dem Server über sich umleiten 435 Spoofing – Beispiel ARP • Das ARP-Spoofing setzt auf dem ARP-Protokoll (ARP=Address-ResolutionProtocol) auf und nutzt dabei aus, dass beim dynamischen Routing die Umsetzungstabellen von IP-Adressen auf die entsprechenden Hardwareadressen in bestimmten Abständen aktualisiert werden. • Dynamische ARP Routen werden regelmäßig (nach einem bestimmten Zeitintervall) verworfen und der Rechner fordert von seinem Kommunikationspartner eine Bestätigung seiner IP- und Hardwareadresse an. • An genau dieser Stelle setzt nun ein Angreifer an: In der Regel wird nun der Rechner, dessen Platz der Angreifer einnehmen will, ausgeschaltet (dies kann z. B. durch einen "Denial-of-Service" Angriff geschehen), so dass er keine Anfragen mehr beantworten kann. • Anschließend wird auf einen ARP Request des "Opfers" gewartet. • Da der eigentlich angesprochene Rechner keine Antwort senden kann, ist es dem Angreifer nun möglich einen gefälschten ARP Reply an das "Opfer" zu schicken. • Dieser trägt die falsche Adresse in seine ARP-Queue ein und verschickt alle folgenden Nachrichten statt an den eigentlichen Zielrechner an den Rechner 436 des Angreifers. Denial-of-Service • Diese Gruppe von Angriffsstrategien dient dem Lahmlegen eines Rechners oder einzelner Funktionen ("Denial of Service": "Verweigerung des Dienstes"). Dabei wird in der Regel ausgenutzt, dass die Resourcen (Speicher, Rechenzeit, interne Tabellen, etc.) auf einem Rechner nur in begrenztem Maße vorhanden sind. Formen: • • E-Mail-Bomben Broadcast Storms • • • Smurf-Attacken • • • • • spezielle IP-Pakete führen in bestimmten Systemen zum Stillstand TCP Syn Flooding ("Land Attacks") • • extrem viele ICMP Pakete an die Broadcast-Adresse eines Netzwerks Angreifer tarnt sich mit der Adresse des eigentlichen Opfers Opfer empfängt nun „multiplizierte“ Antwort aller Stationen Out of Band-Packets ("Nukes") • • Broadcast von IP-Paketen, die allesamt an nicht existierende Ziele adressiert sind Rechner versuchen die falsch adressierten Pakete über die Gateways weiter zu senden Hier wird das Drei-Wege-Handshaking von TCP benutzt, um "halboffene Verbindungen" herzustellen Large Packet-Attacks ("Ping of Death") Teardrop, Ping Flooding, Service-Overloading, Distributed Denial437 of-Service-Attacks (DDoS), … Buffer Overflow (1) 438 Buffer Overflow (2) Was passiert ? • Ein Server-Programm legt seine Daten vor der Verarbeitung in einem PufferSpeicher ab. • Ein Überlauf des Speichers wird aber nicht getestet und verhindert. • Das Programm des Angreifers überflutet gezielt den Puffer und überschreibt damit die angrenzenden Speicherdaten. • Am Ende der gesendeten Daten wird der Aufruf einer Shell übertragen (z.B.: „/bin/sh“ oder „/bin/bash“). • Das Server-Programm stürzt ab und hinterlässt aber das aufgerufene Programm, das meist mit Administrator-Berechtigung läuft. • Beispiel aus dem Programm qpop (Hack für POP3-Server [Unix]): char shellcode[] = "\xeb\x22\x5e\x89\xf3\x89\xf7\x83\xc7\x07\x31\xc0\xaa" "\x89\xf9\x89\xf0\xab\x89\xfa\x31\xc0\xab\xb0\x08\x04" "\x03\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xd9\xff" "\xff\xff/bin/bash........."; • Damit hat der Hacker Zugriff auf alle Funktionen des Betriebssystems. 439 Bedrohung - Gegenmaßnahme 440 Schwachstellen in TCP/IP Schwachstellen: • Kein Schutz der Basisdateneinheit (IP Paket) • Vertrauen in die Korrektheit von Routing-Information • Kein Schutz der Transport-Dateneinheiten (TCP und UDP) • Nicht geschützte Hilfsprotokolle (ICMP, DNS, ARP, BOOTP, TFTP) • Meist ungeschützte Applikationsprotokolle (SMTP) oder nur schwacher Schutz mit Name/Passwort im Klartext (TELNET, FTP) • Spezifische Schutzmechanismen als “add on” (NFS, SNMP, X11) Methoden der Zugangsbeschränkung: • Physische Sicherung von Komponenten • Paket Filter / Firewalls • Network Relay / Intrusion Detection / Content Scanning (Viren, Schlechter Code, ...) • Sicherung einzelner Rechner oder Anwendungen 441 Physische Sicherung • Schutz gegen physikalischen Zugriff oder Mitlesen auf Stromversorgungs- und Netzwerkkabeln • Schutz interner und externer Anschlusspunkte • Schutz von Routern, Bridges usw. vor physischem Zugriff oder Umkonfiguration durch ungeschützte Konsole • Problem der Unterstützung von Mobilbenutzern • Problem der Benutzung externer Ressourcen 442 Überwachung Network Relay, Intrusion Detection, ... 443 8.2 Firewall • Termination aller Dienste (DNS, E-Mail, …), ggf. durch vor gelagerte Server • Authentisierung von „Anrufern“ (innen und außen) • Logging und Alarmierung • Selektive Weiterleitung von Anwendungsverbindungen • Umschreiben/Verbergen von internen Adressen (NAT) usw. • Durchführung von Interaktionen im Auftrag von Benutzern (Proxy) 444 Firewall – Varianten (1) 445 Firewall: 2 typische Varianten Firewall – Varianten (2) 446 Firewall – Strategien Zur Software-Konfiguration einer Firewall existieren zwei Grundstrategien: 'Es ist alles erlaubt, was nicht verboten ist' Dieser Ansatz schließt die Nutzung bestimmter Dienste (z. B. tftp, nfs) generell aus. Er ist benutzerfreundlich, da neue Dienste automatisch erlaubt sind, aber auch gefährlich, da der Administrator das Verhalten der Nutzer ständig beobachten und rechtzeitig Gegenmaßnahmen treffen muss. 'Es ist alles verboten, was nicht erlaubt ist' Diese Strategie könnte von den Nutzern als hinderlich angesehen werden, da diese neue Dienste erst umständlich beantragen müssen. Sie schützt aber auch vor Sicherheitslücken im Betriebssystem und in Anwendungsprogrammen, da sie den Zugriff auf unbekannte Ports unterbindet. Es gibt drei Arten von Firewall-Softwareebenen: • Paketfilter • Circuit Level Gateways → NAT, PAT, Port Forwarding • Application Gateways → „Proxy“ 447 Paket Filter • Angesiedelt auf der Netzwerkschicht (IP) des OSI-Modells • Zur Filterung verwendete Information: • IP-Adresse des Senders • IP-Adresse des Empfängers • Portnummer des Empfängers • ggf. Portnummer des Senders • ggf. Verantwortliches Transportprotokoll • Filterregeln • Unzulänglichkeiten von Paket Filtern „Filterregeln“ 448 Personal Firewall Sygate Personal Firewall 5.5 (Freeware) Alternativen unter Windows: Internet Connection Firewall (ICF) – in XP eingebaute Firewall ZoneAlarm 4.5 449 Kerio Personal Firewall 2.1.5 & 4.x Windows Firewall Windows Vista: Personal Firewall mit erweiterten Möglichkeiten (auch ausgehende Verbindungen) 450 Port Scan • Ports dienen als beliebte Angriffsziele mittels sogenannter Portscans „Wenn man das Footprinting mit dem Ausspionieren eines Gebäudes auf der Suche nach Informationen vergleichen kann, ist das Scanning mit dem Abklopfen der Wände zum Auffinden der Türen und Fenster vergleichbar“ Aus: „Das Anti-Hacker-Buch“ • Port-Scanning • Bietet guten Überblick über die aktiven Dienste (und Ports) der untersuchten Rechner und die Struktur des Netzwerks • Um keine Spuren in den gescannten Systemen zu hinterlassen (Protokoll-Dateien) werden spezifische Scan-Methoden angewandt: Stealth-Scans • Über Fingerprinting lässt das Betriebssystem des gescannten Rechners ermitteln 451 Port Scan - Software 452 Port Scan Attacke 453 Network Address Translation (NAT) NAT ist in Computernetzwerken ein Verfahren, bei dem private IP-Adressen auf öffentliche IP-Adressen abgebildet werden. Werden auch die Port-Nummern umgeschrieben spricht man dabei von Maskieren (Masquerading) oder PAT (Port Address Translation). NAT wird aus verschiedenen Gründen verwendet: • Hauptsächlich ist NAT notwendig, weil öffentliche IP-Adressen immer knapper werden und man deshalb private IP-Adressen einsetzen muss. • Zum Anderen kann es der Datensicherheit dienen, weil die interne Struktur des Netzwerks nach außen hin verborgen bleibt (Security through Obscurity). 454 NAT - Funktionsweise Ein NAT-Gerät verbindet mit zwei Netzwerkkarten das lokale Netz mit dem Internet. Man unterscheidet zwischen Source NAT, bei dem die Quell-IP-Adresse ersetzt wird, und Destination NAT, bei dem die Ziel-IP-Adresse ersetzt wird. Bei Basic NAT wird jede interne IP durch eine externe IP ersetzt (1:1-Übersetzung). Beispiel: Öffentliche verfügbare Adressen: 205.0.0.0/24 Bei ausgehenden Paketen wird die (private) Quell-IP-Adresse durch eine noch nicht benutzte (öffentliche) IP ersetzt. Zusätzlich merkt sich der Router mittels einer Tabelle die Quell- und Ziel-IP-Adresse: 192.168.0.2 → 205.0.0.2 : 170.0.0.1 192.168.0.3 → 205.0.0.3 : 170.0.0.1 Bei eingehenden Paketen kann anhand der Quell-IP-Adresse und des Tabelleneintrags festgestellt werden, welcher Computer die Pakete angefordert hatte. Der Router kann dadurch die (öffentliche) Ziel-IP durch die ursprüngliche Quell-IP austauschen. Für den Host im internen Netz (z.B. 192.168.0.2) sind diese Vorgänge transparent, d.h. er bekommt von der Adressumsetzung nichts mit. 455 Masquerading & PAT Masquerading oder PAT (Port Address Translation) ist eine spezielle Form von NAT, bei der nicht nur IP-Adressen, sondern auch Port-Nummern umgeschrieben werden. Es wird verwendet, um mehrere interne Adressen auf wenige externe Adressen zu übersetzen. Angenommen für das Netz 192.168.0.0/24 steht die eine öffentliche IP-Adresse 205.0.0.2 zur Verfügung. Die Quell-IP-Adressen werden durch die öffentliche IP ersetzt. Zusätzlich merkt sich der Router mittels einer Tabelle die Quell-IP-Adresse und den Port des ausgehenden Pakets: 192.168.0.2:5000→6000 192.168.0.3:5000→6001 Bei eingehenden Paketen kann anhand der Port-Nummer der Ziel-IP und des Tabelleneintrags festgestellt werden, welcher Computer die Pakete angefordert hatte. Der Router kann dadurch die Ziel-IP durch die ursprüngliche Quell-IP und Port-Nummer austauschen. 456 Internet Verbindungsfreigabe 457 Port Forwarding (1) Masquerading hat den Nachteil, dass Computer des lokalen Netzes außerhalb von diesem nicht als Server dienen können, da externe Computer keine Verbindung zu ihnen aufbauen können. Um diesem Problem Abhilfe zu verschaffen, wurde Port Forwarding entwickelt. Port Forwarding erlaubt es, Verbindungen über frei wählbare Ports zu Computern innerhalb eines Netzes weiterzuleiten bzw. (im Unterschied zu reinem NAT) diese auch zu initiieren. • Die eingehenden Datenpakete werden hierbei per Destination NAT und die ausgehenden Pakete per Source NAT maskiert, um sie an den anderen Rechner weiterzuleiten bzw. den Anschein zu erwecken, die ausgehenden Pakete kämen von dem Computer, der das Port Forwarding betreibt 458 Port Forwarding (2) • Ein Router wartet dabei auf einem bestimmten Port auf Datenpakete. Wenn Pakete an diesem Port eintreffen, werden sie an einen bestimmten Computer und evtl. einen anderen Port im internen Netzwerk weitergeleitet. Alle Datenpakete von diesem bestimmten Computer und Port werden, wenn sie zu einer eingehenden Verbindung gehören, per NAT so verändert, dass es im externen Netz den Anschein hat, der Router würde die Pakete versenden (es sieht von außen so aus, als ob der Router den Serverdienst anbietet). • Reverse Proxies bieten eine ähnliche Funktionalität wie Port Forwarding. Sie sind aber noch in der Lage die Daten zu bearbeiten etc., da sie das Netzwerkprotokoll verstehen, das sie weiterleiten. 459 Proxy Server (1) Ein Proxy (proxy representative = Stellvertreter) ist ein Programm/Rechner, das im Datenverkehr zwischen angefragten Server und anfragendem Client vermittelt. Dem Server gegenüber verhält sich das Programm wie ein Client, dem Client gegenüber wie ein Server. Im einfachsten Fall leitet der Proxy die Daten einfach weiter, üblicherweise hat ein Proxy aber eine der folgenden Funktionen: • Zwischenspeicher (Cache): Der Proxy speichert häufig gestellte Anfragen und kann diese dann beantworten, ohne den Server zu fragen (schneller, Netzlast) • Filter: Mittels Proxy können beispielsweise bestimmte Kategorien von Webseiten für den Benutzer gesperrt werden. Es kann auch der Inhalt auf schädliche Programme durchsucht werden. Somit ist ein Proxy auch oft Teil von Firewalls. 460 Proxy Server (2) • Zugriffssteuerung: Ist der Server nicht frei im Internet erreichbar, so kann ein vor geschalteter Proxy den Zugriff ermöglichen. Ein Angreifer kann dann den Server nicht mehr direkt angreifen, sondern nur den Proxy. • Vorverarbeitung von Daten: Proxys können auch gewisse Applikationsfunktionen übernehmen, beispielsweise Daten in ein standardisiertes Format bringen. • Anonymisierungsdienst: Der Proxy leitet die Daten des Clients zum Server weiter, wodurch der Server die IP-Adresse des Clients nicht auslesen kann. 461 Proxy Protokolle: • verbindungsorientierte Protokolle (TCP), wie HTTP, FTP, SMTP Proxy-Sonderformen: • Transparenter Proxy: Die Verwendung eines Proxy-Servers muss (meist) dem Client explizit mitgeteilt werden. Ein transparenter Proxy muss hingegen nicht explizit angegeben werden. Ein Paketfilter auf einem Gateway zwischen Client und Server kann die Datenpakete abfangen und sie an den Proxy weiterleiten. Dieses Verfahren ist für den Client transparent, d. h. er bemerkt nicht, dass er einen Proxy verwendet. • Reverse Proxy: Tritt statt dem eigentlichen Server in Erscheinung. Es können auch mehrere Web Server im Internen Netz über eine einzige öffentliche IP Adresse erreicht werden. Die Filterung erfolgt über den Header des TCP Packets, bzw. über die URL. Dadurch können etwa Zugriffskontrollen oder Caches realisiert werden. 462 Socks SOCKS ist ein Proxy-Protokoll für Client/Server-Umgebungen. Die Installation findet auf einem Firewall-Host statt. Er fungiert als TCP-Relay. SOCKS unterstützen Ipv4, Ipv6, Benutzerauthentifikation und Verschlüsselung. Da SOCKS vollständig applikationsunabhängig sind, kann praktisch jeder Dienst über die Firewall betrieben werden, allerdings nur solange die Client-Software SOCKS unterstützt 463 (z.B. Netscape). Socks Server vs. Proxy • Nutzt TCP/UDP Port 1080 (Proxy nutzt Port des Dienstes – z. B. Port 80) • Dienst/ Anwendung muss „socksifiziert“ sein (Dienst/ Anwendung unterstützt normalerweise ProxyFunktion – transparenter Proxy möglich) • Socks muss Anwendung nicht unterstützen (Proxy muss Anwendung unterstützen) • Anwender ist für Socks freigeschaltet – oder nicht (Proxy kann separat für jeden Dienst freigeschaltet werden) 464 Zusammenfassung Paketfilter Circuit Relay (Socks) Application Gateway (Proxy) 465 8.3 Netzwerkauthentisierung Kerberos ist ein Netzwerkprotokoll zur Authentifizierung, das für offene und unsichere Computernetze entwickelt wurde (RFC 1510, in ASN.1 definiert): • Kerberos bietet sichere und einheitliche Authentisierung in einem ungesicherten TCP/IP-Netzwerk aus sicheren Hostrechnern. • Die Authentisierung übernimmt eine vertrauenswürdige dritte Partei (geschützter Kerberos 5-Netzwerkdienst). • Kerberos unterstützt „Single Sign On“, d. h. ein Benutzer muss sich nur noch einmal anmelden, dann kann er alle Netzwerkdienste nutzen, ohne ein weiteres Mal ein Passwort eingeben zu müssen. Kerberos übernimmt die weitere Authentifizierung. Der Name leitet sich vom Höllenhund Kerberos aus der griechischen Mythologie ab, der den Eingang zur Unterwelt bewacht. Implementierungen: • freie Implementierung des Kerberos-Protokolls für Unix und Linux (MIT) • Microsoft verwendet Kerberos als Standard-Protokoll für die Authentifizierung unter Windows 2000/2003 basierten Netzwerken sowie für den Windows XP-Client. 466 Kerberos - Funktionsweise • Bei Kerberos sind drei Parteien beteiligt: Client, Server, Kerberos-Server. • Der Kerberos-Dienst authentifiziert sowohl den Server gegenüber dem Client, als auch den Client gegenüber dem Server, um „Man-In-The-Middle“-Angriffe zu unterbinden. Auch der Kerberos-Server selbst authentifiziert sich gegenüber dem Client und Server und verifiziert selbst deren Identität. • Kerberos verwendet sog. Tickets zur Authentifizierung. Um den Kerberos-Dienst nutzen zu können, muss sich ein Client zuerst beim Kerberos-Server anmelden. Er fordert vom Kerberos-Server ein sog. „Ticket Granting Ticket“ (TGT) an. Hierzu muss der Benutzer entweder ein Passwort eingeben oder das TGT wird direkt bei der Benutzeranmeldung angefordert. Mit dem TGT ist der Client in der Lage weitere Tickets für Dienste anzufordern, ohne noch mal ein Passwort eingeben zu müssen. Es wird auch ein Sitzungsschlüssel für die Kommunikation zwischen Client und Kerberos-Server ausgehandelt (verschlüsselter Datenverkehr). • Um einen Dienst, der Kerberos unterstützt, benutzen zu können, fordert der Nutzer ein weiteres Ticket an. Dieses Ticket sendet der Client dann an den Dienst, der die Authorisierung überprüft. Auch hierbei wird ein Sitzungsschlüssel vereinbart und die Identität von Client, Server und Kerberos-Server überprüft. • Durch Kerberos werden insbesondere Angriffe durch Sniffing unterbunden, aber auch Spoofing, Wörterbuch, Replay und andere Angriffe werden erschwert. 467 Kerberos – Ticket Request 468 8.4 Kryptographie „Cryptography & PKI“ 469 8.5 Verschlüsselung in unteren Netzwerkschichten IPsec • Layer 3 • Paketintegrität (Hash-Based Message Authentication Code) • Paketauthentifizierung (HMAC) • Paketverschlüsselung • Schutz vor Replay-Angriffen • IP-Tunneling (ausschließlich IP) • Schlüsselmanagement (IKE) 470 IPsec (2) 471 VPN Virtual Private Network 472 8.6 SSL/TLS „Cryptography & PKI“ 473 8.7 PKI und Digitale Signatur „Cryptography & PKI“ 474 8.8 Auditierung, Logging und Alarmierung Auditierung: Systematischer, unabhängiger und dokumentierter Prozess zur objektiven Auswertung, ob bestimmte Merkmale vorhanden und bestimmte Forderungen (z.B. an Prozesse, Verfahren) erfüllt sind. Systemweites Logging: Eventlog (Windows) Syslog (Unix) → /var/adm/messages, etc. Alarmierung: email SMS ... 475 Abkürzungen (1) AAL AC ACK AH ANSI AP ARP AS ASCII ASN.1 ATM BAP BACP B-ISDN BER BGP(4) BOOTP BSD CA CATNIP CBC CBT CC CERT ATM Adaptation Layer Access Control Acknowledgement Authentication Header American National Standards Institute Application Process Address Resolution Protocol Autonomous System American Standard Code for Information Interchange Abstract Syntax Notation One Asynchronous Transfer Mode Bandwidth Allocation Protocol Bandwidth Allocation Control Protocol Broadband ISDN Basic Encoding Rules (von ASN.1) Border Gateway Protocol (Version 4) Boot Protocol Berkeley Software Distribution (UNIX) Certification Authority Common Architecture for the Internet Cypher Block Chaining Mode (von DES) Core-Based Tree (routing) Connect Confirm (PDU) Computer Emergency Response Team CHAP Challenge Handshake Authentication Protocol (PPP) CIDR Classless Inter-Domain Routing CLNS Connection-less Network Service CMIP Common Management Information Protocol COTS Connection Oriented Transport Service CR Connect Request (PDU) CRL Certificate Revocation List CSMA Carrier Sense Multiple Access CSMA/CD Carrier Sense Multiple Access with Collision Detection CTB Cypher Type Byte (in PGPNachrichtenformaten) DA Destination Address DACA Discretionary Assurance Certification Authority DARPA Defence Advanced Research Project Agency DCE Data Communications Equipment DES Data Encryption Standard DHCP Dynamic Host Configuration Protocol DIS Draft International Standard DK Decryption Key DNIC Digital Network Identification Code DNS Domain Name System DoD (US) Department of Defense DQDB Distributed Queue Dual Bus DR Disconnect Request (PDU) 496 Abkürzungen (2) DS DSAP DT DTE DTP DUS DV DVMRP ED EDI EGP EK ES-IS ESP FC FCS FDDI FE FIN FIRST FTAM FTP FW Gbit GGP GW Directory Service Destination Service Access Point Data Transfer (PDU) Data Terminal Equipment Data Transfer Process (FTP) Digitales Unterschriften System Distance Vector (Algorithm) Distance Vector Multicast Routing Protocol (Frame) End Delimiter Electronic Data Interchange Exterior Gateway Protocol Encryption Key End System (to) Intermediate System Encapsulating Security Payload Frame Control Frame Check Sequence Fibre Distributed Data Interface Front-End (computer) Final segment Forum of Incident Response and Security Teams File Transfer, Access and Management File Transfer Protocol Firewall Gigabit (109 bit) Gateway-to-Gateway Protocol Gateway H HA HACA HDLC HLEN HLR HTTP IAB ICMP Protocol IDEA IDRP IEEE EIN IESG IETF IGMP IGP INET Internet IP IPC IPMS Host Hardware Address (im Sinn einer Adresse in einem Physikalischen Subnetz) High Assurance Certification Authority High Level Data Link Control Header Length Hochleistungsrechner Hypertext Transfer Protocol Internet Architecture Board (früher: Internet Activities Board) Internet Control Message International Data Encryption Algorithm Inter-Domain Routing Protocol Institute of Electrical and Electronics Engineers Internet Engineering Notes Internet Engineering Steering Group Internet Engineering Task Force Internet Group Management Protocol Interior Gateway Protocol Internet (socket-Schnittstelle) (Conference) Internet Protocol Interprocess Communication Interpersonal Messaging Service 497 Abkürzungen (3) IPng IPRA IPv4 IPv6 IRSG IRTF IS ISDN ISO ISOC ISODE ISP JENC KDC KMU LAN LAPB LCP LIS LLC LS(P) LSAP MAC MAC MAN Internet Protocol Next Generation (IPv6) Internet Policy Registration Authority Internet Protocol, Version 4 Internet Protocol, Version 6 Internet Research Steering Group Internet Research Task Force International Standard Integrated Services Digital Network International Organization for Standardization Internat Society ISO Development Environment Internet Service Provider Joint European Networking Conference Key Distribution Center Kleines (oder) mittelgrosses Unternehmen Local Area Network Link Access Protocol B Link Control Protocol (PPP) Logical IP Subnetwork Logical Link Control Link State (Packet) Link Service Access Point Medium Access Control Message Authentication Code Metropolitan Area Network MAP Mbit MC MD MIC MIT MOSPF MPDU MTA MTL MTU NACA NAT NAPT NCP NETBIOS NFS NIC NIS NSDU NTN NVT Manufacturing Automation Protocol Megabit (106 bit) Multicast Message Digest Message Integrity Code Massachusetts Institute of Technology Multicast OSPF Message Protocol Data Unit (X.400) Message Transfer Agent Message Transfer Layer Maximum Transfer Unit No Assurance Certification Authority Network Address Translation Network Address and Port Translation Network Control Protocol (PPP) Network Basic Input Output System Network File System Network Information Center Network Information System (Sun Microsystems) Network Service Data Unit Network Terminal Number Network Virtual Terminal (Protocol) 498 Abkürzungen (4) ONP OS OSI OSI-RM OSPF PAD PAP PARC PC PCA PDU PEM PGP Ph (Layer) PI PIM PK PKCS Standard PKK PLEN PLP PMD POP PPP PSE PSH PSTN Open Network Provision Operating System Open Systems Interconnection Reference Model for Open Systems Interconnection Open Shortest Path First Packet Assembler-Disassembler Password Authentication Protocol (PPP) (Xerox) Palo Alto Research Center Personal Computer Policy Certification Authority Protocol Data Unit Privacy Enhanced Mail Pretty Good Privacy Physical Layer Protocol Interpreter (FTP) Protocol-Independent Multicast (routing) Public Key Public-Key Cryptography Public-Key Kryptosystem Packet Length Packet Layer Protocol Physical Medium Dependent (Layer) Post Office Protocol Point-to-Point Protocol Packet Switching Equipment Segment requires a push Public Switched Telephone Network PW QOS R RAM RARP RFC RIP ROSE RPB RPC RPM RSA RSADSI RST RSVP RTSE SA SAID SAP SDH SDU SFD SGK S-HTTP SIPP SIT Passwort Quality of Service Router Random Access Memory Reverse Address Resolution Protocol Request for Comments Routing Information Protocol Remote Operations Service Element Reverse Path Broadcasting Remote Procedure Call Reverse Path Multicasting Rivest-Shamir-Adleman System RSA Data Security, Inc. Reset the connection Resource Reservation Protocol Reliable Transfer Service Element Source Address Security Association Identification Service Access Point Synchronous Digital Hierarchy Service Data Unit Start Frame Delimiter Signature Generation Key Secure HTTP Simple Internet Protocol Plus (->IPng, IPv6) Simple Internet Transition 499 Abkürzungen (5) SK SK SKIP SLA SMDS SMTP SNA SNAP SNMP SONET SPF SPI SQL SSAP SSL ST SVK SYN TCP TDM TFTP TGS TGT TLA TLS Secret Key Session Key Simple Key Management for IP Site Level Aggregator Switched Multimegabit Data Service Simple Mail Transfer Protocol (IBM) Systems Network Architecture Subnetwork Attachment Point Simple Network Management Protocol Synchronous Optical Network Shortest Path First (Algorithm) Security Parameter Index Standard Query Language Source Service Access Point Secure Socket Layer Spanning tree Signature Verification Key Synchronize sequence numbers Transmission Control Protocol Time Division Multiplexing Trivial File Transfer Protocol Ticket Granting Service (in Kerberos) Ticket Granting Ticket Top Level Aggregator Transport Layer Security TOP TPDU TSDU TUBA UA UAL UDP URG VMTP VPN VT WAIS WS WWW X11 XDR Technical Office Protocol Transport Protocol Data Unit Transport Service Data Unit TCP/UDP with Bigger Addresses User Agent User Agent Layer User Datagram Protocol Urgent Segment Versatile Message Transaction Protocol Virtual Private Network Virtual Terminal Wide Area Information Server Workstation World Wide Web oder Wir wissen weiter X-Windows Protocol Version 11 External Data Representation 500