Seminarbericht Anwendung Rechnernetze Vergleich von LAN - Protokollen Christian Weber 03INF2 Seite 1 Übersicht ÜBERSICHT ........................................................................................................................2 1 KURZER ÜBERBLICK ...................................................................................................3 1.1 WAS BEDEUTET EIGENTLICH LAN? ................................................................................3 1.2 WAS IST EIN PROTOKOLL?..............................................................................................3 2 ÜBERSICHT EINIGER LAN PROTOKOLLE ..............................................................4 2.1 DATEIDIENST PROTOKOLLE............................................................................................5 2.2 NAMENSAUFLÖSENDE PROTOKOLLE ...............................................................................5 2.3 NETZWERK PROTOKOLLE ...............................................................................................5 3 DATEIDIENST PROTOKOLLE IM DETAIL / VERGLEICH.....................................6 3.1 SERVER MESSAGE BLOCK (SMB) ..................................................................................6 3.1.1 Ethereal - Mitschnitt ..............................................................................................6 3.1.2 Ethereal - Mitschnitt – Kurze Erklärung.................................................................9 3.2 NETWORK FILE SYSTEM (NFS) ....................................................................................10 3.2.1 Kurzer Einblick über den Ablauf einer Verbindung ..............................................10 3.3 APPLETALK FILLING PROTOCOL (AFP) ........................................................................11 3.4 FILE TRANSFER PROTOCOL (FTP) ................................................................................11 4 NAMENSAUFLÖSENDE PROTOKOLLE IM DETAIL / VERGLEICH ..................12 4.1 ADDRESS RESOLUTION PROTOCOL (ARP) ....................................................................12 4.2 WINDOWS INTERNET NAME SERVICE (WINS) ..............................................................13 4.3 VERGLEICH ARP MIT WINS ........................................................................................13 5 NETZWERK PROTOKOLLE IM DETAIL / VERGLEICH.......................................14 5.1 ETHERNET (CSMA / CD) ............................................................................................14 5.1.1 Carrier Sense Multiple Access with Collision Detection .......................................14 5.2 TOKEN PASSING (SDLC / HDLC)................................................................................15 5.2.1 Synchronous Data Link Control ...........................................................................16 5.2.2 High Level Data Link Control ..............................................................................16 5.3 VERGLEICH TOKEN PASSING MIT ETHERNET ................................................................16 6 LAN PROTOKOLLE IM OSI MODELL - ÜBERSICHT ............................................17 7 VERWENDETE ABKÜRZUNGEN / NAMEN - ERKLÄRUNG .................................18 8 QUELLANGABE ............................................................................................................19 Seite 2 1 Kurzer Überblick 1.1 Was bedeutet eigentlich LAN? LAN steht für LOCAL AREA NETWORK und bezeichnet ein Rechnernetz, welches wesentlich kleiner ist als ein so genanntes WAN (Wide Area Network). Diese WAN´s sind so groß, dass sie Länder umfassen können. Local Area Network´s (Lokale Netze) sind meist festinstallierte Rechnernetze, in welchem einzelne Rechner auf Dauer an einem bestimmten Ort vernetzt werden sollen. Es gibt natürlich auch Ausnahmen, wie z.B. LAN-Partys. Dafür wird ein LAN für kurze Zeit (temporär) aufgebaut. Ein LAN hat eine Ausdehnung von üblicherweise höchstens 10 km. Die Verkabelung basiert auf Kupfer- oder Glasfaserkabel, aber auch eine drahtlose Verbindung, ein so genanntes WLAN (Wireless LAN), ist möglich. 1.2 Was ist ein Protokoll? In der Informatik wird ein Protokoll als festgelegte Vereinbarung definiert. Diese Vereinbarungen dienen dazu, dass kein Chaos im Netzwerk herrscht. Ein Protokoll ist vergleichbar mit den Verkehrsregeln auf einer Straße. Es befindet sich zum Beispiel eine große Straße in der Mitte mit viele Nebenstraßen. Die große Straße stellt im Prinzip die Datenleitung eines LAN dar und die Nebenstraße die jeweilig angeschlossen Endgeräte, wie z.B. PC, Drucker, Scanner etc. . Möchte nun ein Datenpaket aus der Nebenstraße auf die Hauptstraße einbiegen, muss es sich an die Verkehrsregeln halten und darf erst dann einbiegen, wenn es im Prinzip „Grün“ bekommt. Sollte mal das Ampelsystem oder die Verkehrszeichen wegfallen, würde auf der Hauptstraße das reinste Chaos herrschen. Die Datenpakete wären somit einer höheren Kollisionsgefahr ausgesetzt . Um dies zu verhindern gibt es im Netzwerk die Protokolle. Die Aufgaben solcher Protokolle sind zusammenfassend: - sicherer und zuverlässiger Verbindungsaufbau - verlässliches Zustellen von Paketen - Wiederholen nicht angekommener Pakete - Sicherstellen einer fehlerfreien Übertragung - Zusammenfügen der ankommenden Pakete Seite 3 2 Übersicht einiger LAN Protokolle Es gibt eine Vielzahl von verwendeten Protokollen im LAN. Für diesen Bericht wurden überwiegend LAN – Protokolle ausgewählt, welche sich in heutigen LANs etabliert haben und vorwiegend zum Einsatz kommen. Einige dieser Protokolle werden in diesem Bericht näher erläutert und einige zum Vergleich kurz angerissen. - Server Message Block (SMB) - File Transfer Protokoll (FTP) - Ethernet Verfahren (CSMA/CD) - Line Printer Daemon (LPD) - Network File System (NFS) - AppleTalk Filing Protocol (AFP) - Token Verfahren (SDLC/HDLC) - Address Resolution Protocol (ARP) - Reverse Address Resolution Protocol (RARP) - Internetwork Packet eXchange (IPX) - Sequenced Packet Exchange (SPX) - Windows Internet Name Services (WINS) - Comman Internet File System (CIFS) - Dynamic Host Configuration Protocol (DHCP) Bemerkung: NFS ist ein Sonderfall: NFS ist das wichtigste Protokoll von ONC und deshalb wird ONC auch NFS genannt. ONC – Open Networking Computing Seite 4 2.1 Dateidienst Protokolle Einige der gerade genannten Protokolle lassen sich grob unter der Rubrik „Dateidienste“ zusammenfassen. Diese Protokolle sind überwiegend dafür verantwortlich, dass im Netzwerk auf Dateien zugegriffen werden kann. Die Protokolle SMB (Server Message Block) und NFS (Network File System) werden im folgenden Abschnitt etwas ausführlicher vorgestellt und mit einander verglichen. Die beiden letzten Protokolle AFP (AppleTalk Filing Protocol ) und FTP (File Transfer Protokoll) werden kurz vorgestellt. 2.2 Namensauflösende Protokolle Andere Protokolle dienen zur Namensauflösung des Rechners im Netzwerk. Diese Protokolle werden benötigt, um einen Rechner im Netzwerk eindeutig zu identifizieren. Darunter zählen die Protokolle WINS (Windows Internet Name Service) und ARP (Address Resolution Protocol). 2.3 Netzwerk Protokolle Im letzten Abschnitt des Berichts werden die beiden Protokolle Ethernet und Token Passing verglichen. Das Ethernet Protokoll beruht auf dem CSMA/CD Verfahren (Carrier Sense Multiple Access with Collision Detection) und das Token Passing Protokoll verwendet das SDLC/HDLC Verfahren (Synchronous Data Link Control / High Level Data Link Control). Beide Protokolle dienen dazu, dass die einzelnen Rechner im Netzwerk nur dann senden dürfen, wenn sie auch dazu berechtigt sind. Seite 5 3 Dateidienst Protokolle im Detail / Vergleich Im folgenden Abschnitt werden die einzelnen Protokolle, welche im Abschnitt 2.1 erwähnt wurden, näher beleuchtet und anschließend untereinander verglichen. 3.1 Server Message Block (SMB) SMB ist ein Kommunikationsprotokoll für Datei-, Druck- und andere Serverdienste im Netzwerk und ist ein Client/Server-orientiertes Protokoll für LANs, welches auf Basis von Anfrage/Rückmeldung arbeitet. Das Protokoll wurde Mitte der 80er Jahre von IBM für das Betriebssystem OS/2 entwickelt. Die ausgeführten Aufgaben werden im OSI-Modell auf der sechsten Schicht (Darstellungsschicht) eingeordnet. Die Weiterleitung übernehmen dann NetBIOS und NetBEUI oder andere Protokolle. Ein Client sendet Anfragen mit SMB mit Hilfe von NetBIOS an einen Server, um freigegebene Ressourcen, wie Drucker, Dateien usw., nutzen zu können. Dabei stehen eine Reihe von Nachrichtentypen zur Verfügung, die in vier Hauptgruppen unterteilt werden können: Sitzungssteuerung, Datei, Drucker und Nachricht. SMB unterstützt auch eine Authentifizierung der Benutzer wobei aber nicht zwingend eine Passworteingabe erforderlich ist. Bei der Verwendung von SMB wird ein Kanal für die darüberliegende Anwendungen gebildet, wie z.B. DCE RPC, Spools (Microsoft Spool subsystem (zur Druckdateiübertragung)), LANman (führt die ganze Authentifizierung durch ) und NTLM (ist der Nachfolger von LanMan) Microsoft hat für SMB viele Erweiterungen entwickelt welche aber nie veröffentlicht wurden. 3.1.1 Ethereal - Mitschnitt Um die Arbeits- und Funktionsweise eines Dateidienstprotokolls praktisch zu zeigen, wurde im privaten Netzwerk von einem Rechner A (Gerry) eine Datei von einem anderen Rechner B (Tribal) aufgerufen. Seite 6 Ethereal - Mitschnitt, Bild 1 Seite 7 Ethereal - Mitschnitt, Bild 2 Seite 8 3.1.2 Ethereal - Mitschnitt – Kurze Erklärung Zeile 1-2: Zeile 1 und 2 bilden die unterliegende Schicht zu Zeile 3 und 4 und stellen die Datenkommunikation bereit. Zeile 3: Zeile 4: Zeile 5-6: Zeile 7-10: Zeile 11: Hier wird nach einer Session von GERRY an TRIBAL angefragt. Dann wird die Anfrage bestätigt. In Zeile 5 und 6 findet eine Optionsabsprache statt. Hier wird die SMB – Session erzeugt. Nun wird die Verbindung zum Realm TRIBAL mit der Freigabe STUD angefragt. Zeile 12: Zeile 13: Zeile 14: Zeile 15: Zeile 16: Zeile 17-38: Zeile 12 wird diese Anfrage bestätigt. Hier werden die Pfadinformationen der Freigabe angefragt. und in der Zeile 14 zurückgegeben. Nun werden die Attribute der Freigabe angefragt. und auch zurückgegeben. In den Zeilen von 17-38 werden Attribute und Eigenschaften der Ordner und Dateien angefragt und übermittelt. Zeile 39: Zeile 40: Zeile 41: Zeile 42: Zeile 43-46: Zeile 47-48: Zeile 51: Zeile 52: Zeile 53: Zeile 54: Zeile 55-66: In Zeile 39 wird die Datei test.txt gesucht. und wird dann bestätigt. Nun erfolgt ein Anfrage zum öffnen der Datei test.txt für den Explorer. Und hier kommt die Response mit dem Dateihandle zurück. In den Zeilen 43-46 werden wieder Dateiinformationen abgefragt. Und dann wird an dieser Stelle der „letzter zugriff“ neu gesetzt. Nun wird das Lesen der Datei angefragt von 1200 Bytes. Und dann erfolgt die Rückgabe des Inhalts der Datei test.txt. Hier wird das Schließen des Dateihandle für den Explorer angefragt. und wird dann hier bestätigt. Jetzt werden hier nochmals die Dateiinformationen für Notepad angefragt und in Zeile 61 wird der Dateihandle angefragt. Zeile 67-68: In Zeile 67 und 68 wird nun die Datei übermittelt. Zeile 69-76: In den Zeilen von 69-76 werden die Pfadinformationen geholt. Zeile 77: Hier werden Informationen über die netbios-Session entsprechend Zeile 1 gesendet. Zeile 78: Zeile 79: Zeile 80: Hier wird nun gefragt ob die Verbindung noch aktiv ist und dies wird hier bestätigt. Nochmals werden Informationen über die netbios-Session entsprechend Zeile 77 gesendet. Zeile 81: Zeile 82: Zeile 83-84: Zeile 85-86: Zeile 87-89: Nun erfolgt eine Anfrage für das Schließen der Datei, mit zugehörigem Response. Jetzt wird nur noch das Logoff angefragt und bestätigt. Dann wird hier die Verbindung getrennt und dann die Session beendet. Seite 9 3.2 Network File System (NFS) Das NFS-Protokoll von Sun bietet einen transparenten Zugriff auf gemeinsam genutzte Dateisysteme in Netzwerken. Das NFS-Protokoll soll dabei unabhängig von Rechnerarchitektur, Betriebssystem, Netzwerk-Architektur und Transport-Protokoll sein. Diese Unabhängigkeit wird durch die Verwendung von „Remote Procedure Call“ (RPC) gewährleistet, das auf „eXternal Data Representation“ (XDR) aufbaut. NFS ermöglicht das Zuordnen von Dateisystemen entfernter Rechner auf lokale Dateisysteme (Mounten). Dadurch wird der Zugriff auf diese entfernten Dateisysteme in den verschiedenen NFS-Serversystemen ermöglicht. Neben den Dateisystemen können auch Drucker über das Netzwerk anderen Anwendern zugänglich gemacht werden. Ein Netzwerkdrucker kann mittels NFS aus einer Anwendung heraus transparent angesprochen werden, wenn er vom lokalen Gerät "gemountet" wurde. 3.2.1 Kurzer Einblick über den Ablauf einer Verbindung Zuerst kontaktiert NFS den Rechner um dann den Mount zu kontaktieren. Anschließend wird nach dem Verzeichnis gefragt. Wenn dies gefunden wurde, wird mittels LOOKUP ein Dateihandle angefragt. Nun kann NFS ein Read auf den Dateihandle machen und sich dann die Daten vom HostRechner senden lassen. Seite 10 3.3 AppleTalk Filling Protocol (AFP) Das AFP-Protokoll ist ein Client-Server-Protokoll von Apple, welches die Anwendungsschicht unterstützt und den Zugriff von Arbeitsstationen mit unterschiedlichen Betriebssystemen auf einen gemeinsamen Server ermöglicht. Das AppleTalk Filing Protocol ist vergleichbar mit NFS. AFP ist ein Netz-Dateisystem, welches die Eigenschaften von HFS (dem StandardDateisystem von Mac OS) wie z.B Type- und Creator Codes und die Desktop Database unterstützt. Dies waren notwendige Eigenschaften unter dem klassischen Mac OS, allerdings sind sie nicht mehr Voraussetzung für den Betrieb von Mac OS X. 3.4 File Transfer Protocol (FTP) Das File-Transfer-Protokoll (FTP) dient zum Dateitransfer zwischen verschiedenen Systemen und der einfachen Dateihandhabung. FTP basiert auf dem Transportprotokoll TCP und kennt sowohl die Übertragung zeichencodierter Information als auch von Binärdaten. In beiden Fällen muss der Benutzer eine Möglichkeit besitzen zu spezifizieren, in welcher Form die Daten auf dem jeweiligen Zielsystem abzulegen sind. Die Dateiübertragung wird vom lokalen System aus gesteuert und die Zugangsberechtigung für das Zielsystem wird für den Verbindungsaufbau mittels User-Identifikation und Passwort überprüft. Will ein Client mit dem Server kommunizieren, baut der Benutzer über den Interpreter im Client eine Verbindung zum Interpreter im Server auf. Über diese Steuerverbindung kommunizieren Client und Server . Zum Austausch der Nutzdaten baut der Server eine zweite Verbindung zum Client auf und diese Verbindung von dem Datentransfer-Prozess (DTP) gesteuert. Über diese Verbindung werden die Nutzdaten übertragen. Beim Verbindungsabbau bestätigt der Server-Interpreter das Ende des Datentransfers über die Steuerverbindung an den Interpreter des Clients. Seite 11 4 Namensauflösende Protokolle im Detail / Vergleich Im folgenden Abschnitt werden die einzelnen Protokolle, welche im Abschnitt 2.2 erwähnt wurden, näher beleuchtet und anschließend untereinander verglichen. 4.1 Address Resolution Protocol (ARP) ARP ist ein typisches ES-IS-Protokoll, welches dazu dient die MAC-Adressen in die zugehörigen IP-Adressen umzuwandeln, damit überhaupt eine Kommunikation auf der Vermittlungsschicht mittels des IP-Protokolls stattfinden kann. Das ARP-Protokoll legt zu diesem Zweck Mapping-Tabellen an, welche die MAC-Adressen den Netzwerkadressen zuordnen. Vor dem Verbindungsaufbau über das Ethernet fragt das IP-Protokoll bei ARP nach der Ethernet-Adresse die zugehörigen Ziel-Internet-Adresse an. ARP vergleicht seine Adresstabellen mit der Anfrage. Hat ARP keinen Eintrag in seiner Tabelle, so wird über eine Anfrage an alle Netzknoten (Broadcast) die Ethernet-Adresse der zugehörigen Internet-Adresse erfragt. Nur Netzknoten mit einem Eintrag zu dieser IP-Adresse antworten auf die Anfrage. Die Antwort auf den ARPBroadcast wird in der ARP-Adresstabelle gespeichert. Da wegen der unterschiedlichen Adresslängen von MAC-Adressen (48 Bit) und IP-Adressen (32 Bit) kein unmittelbares Mapping möglich ist wie bei anderen Protokollen, wird bei ARP die Mapping-Tabelle auf Basis eines dynamischen Abfrage-Algorithmus angelegt und regelmäßig überprüft. Seite 12 4.2 Windows Internet Name Service (WINS) WINS ist ein Verfahren, um Computernamen in Windows-Netzwerken in IP-Adressen umzuwandeln. Dabei berücksichtigt das WINS-Verfahren, dass niemals zwei Computer mit den gleichen Namen oder der gleichen IP-Adresse im Netzwerk angemeldet sind. Bei WINS, welches das UDP-Protokoll zur Übertragung benutzt, meldet sich der gestartete Client mit seinem NetBIOS-Namen und der IP-Adresse beim WINS-Server an. Dieser überprüft die Adressen, ob sie nicht anderweitig besetzt ist und trägt sie in die AdressDatenbank des WINS-Servers ein. Bei der Abmeldung eines Clients wird die Adresse wieder aufgelöst und kann anderweitig vergeben werden. 4.3 Vergleich ARP mit WINS ARP WINS Schicht: Vermittlungsschicht Sitzungsschicht Auflösung von: IP – Adressen Namen Auflösung zu: MAC – Adressen IP - Adressen Seite 13 5 Netzwerk Protokolle im Detail / Vergleich 5.1 Ethernet (CSMA / CD) Ethernet Verfahren ist ein Konzept für eine herstellerunabhängiges Netzwerk. Es ermöglicht die Kommunikation von Soft und Hardwareprodukten, welche von verschiedenen Herstellern hergestellt wurde. Der Erfolg des Ethernet, welches am häufigsten Anwendung findet, veranlasste die Hersteller in Ihre Netzwerke das Ethernetschnittstellenkonzept CSMA / CD zu verwenden. 5.1.1 Carrier Sense Multiple Access with Collision Detection Carrier Sense Multiple Access / Collission Detection oder auch Konkurrenzbetriebsverfahren genannt. Das CSMA / CD Verfahren dient zur Überwachung und Steuerung von Busnetzen. Jede Station im Netzwerk kann senden und prüft in diesem Fall vorher, ob die Leitung frei ist. Nach einem festegelegten Zeitintervall wird der Sendevorgang ausgeführt. Ist die Leitung belegt, wartet die jeweilige Station auf ein Freizeichen. Sollte es mal vorkommen, dass zwei Stationen gleichzeitig senden, kommt es zur Datenkollision. Beide Stationen unterbrechen ihren Sendevorgang und warten eine individuell festgelegte(richtet sich nach der Länge der Leitung) und eine zusätzliche zufällige Zeit ab. Danach fangen sie wieder an zu senden. Der Schnellere sendet immer zu erst und der zweite muss dann warte. Also wer zuerst kommt, malt zu erst. Sollte die maximale Anzahl von Übertragungsversuchen überschritten werden, führt dies zu einem Fehler, welcher an die höhere Netzwerkschichten gemeldet wird und der Übertragungsmodus wird unterbrochen / verlassen. Seite 14 5.2 Token Passing (SDLC / HDLC) Beim Token Ring wird ein Token (in Form eines genau definierten Bitmusters) von Station zu Station geschickt. Eine am Netzwerk angeschlossene Station kann dann erst senden, wenn sie über ein freies Token verfügt bzw. wenn ein freies Token ankommt. Nun übernimmt die Station das freie Token und belegt es. Nun kann das beliebig lange Datenpaket gesendet werden. Im Vorhinein wurde genau festgelegt, in welchem Zeitintervall das Token weiter gegeben werden muss. Dadurch ist die Sendezeit für die einzelne Station begrenzt. Nach Abschluss des Sendevorganges wird das Token wieder angehängt (Endmarke) und an die nächste Station weiter gegeben. Die nächste Station ist nun sendeberechtigt. Somit wird sichergestellt, dass immer nur eine Nachricht durch das Netzwerk geschickt wird. Token Ring verwendet das HDLC / SDLC Verfahren. Seite 15 5.2.1 Synchronous Data Link Control SDLC ist ein herstellerspezifisches bitsynchrones Datenkommunikationsprotokoll für die transparente bitserielle Datenübertragung. Der Datenaustausch kann über fest geschaltete Leitungen oder über vermittelte Leitungen in den Betriebsarten halbduplex und duplex erfolgen. Der Übertragungsweg kann als Punkt-zu-Punkt-Verbindung, Mehrpunktverbindung oder als Schleife konfiguriert sein. SDLC ist die Grundlage für das erweiterte HDLC-Protokoll, welches einen erweiterten Rahmen (Frame) besitzt. Ebenso wie bei HDLC werden auch bei SDLC so genannte Stopfbits zur Kanalkodierung verwendet. 5.2.2 High Level Data Link Control Das HDLC-Protokoll ist ein bitorientiertes und damit codeunabhängiges Sicherungsprotokoll für Punkt-zu-Punkt-Verbindungen und Mehrpunktverbindungen. Eine Version dieses Protokolls wird in allen X.25-Netzen innerhalb der Sicherungsschicht eingesetzt. HDLC basiert in seiner Grundstruktur auf dem SDLC-Protokoll. Es benutzt den Duplex-Betrieb und bietet die Quittierung von mehreren Blöcken (in der Regel acht). Die Zusammenfassung von acht Blöcken zu einer Quittierungseinheit wird Fenster (Window) genannt. Jedes Fenster wird vom Empfänger quittiert. 5.3 Vergleich Token Passing mit Ethernet Token Passing Ethernet Senderichtung: nur eine Richtung alle Richtungen Kollision: fast ausgeschlossen möglich Datenlänge: unbegrenzt ca. 1500Byte (pro Frame) Seite 16 6 LAN Protokolle im OSI Modell - Übersicht Schichtnummer Name der Schicht 7. Anwendungsschicht Protokolle SMB NFS 6. Darstellungsschicht 5. Sitzungsschicht AFP FTP WINS 4. Transportschicht 3. Vermittlungsschicht 2. Sicherungsschicht Ethernet Token Passing 1. Bit Übertragungsschicht Seite 17 7 verwendete Abkürzungen / Namen - Erklärung LAN - Local Area Network WAN - Wide Area Network WLAN - Wireless Local Area Network SMB - Server Message Block FTP - File Transfer Protokoll CSMA/CD - Carrier Sense Multiple Access with Collision Detection LPD - Line Printer Daemon NFS - Network File System AFP - AppleTalk Filing Protocol SDLC/HDLC - High Level Data Link Control / Synchronous Data Link Control ARP - Address Resolution Protocol RARP - Reverse Address Resoluton Protocol WINS - Windows Internet Name Services CIFS - Comman Internet File System ONC - Open Networking Computing DHCP - Dynamic Host Configuration Protocol NetBIOS - Network Basic Input Output System NetBEUI - NetBIOS Extended User Interface Duplexbetrieb - bezeichnet man in der Kommunikationstechnologie die Richtungsabhängigkeit von Kommunikationskanälen. Seite 18 8 Quellangabe Bücher Lokale Netze Band 2 (ISBN : 3-8266-0994-8) LAN, Computer im Netz (ISBN : 3-341-01078-5) LAN, Grundlagenwissen über Netzwerke (ISBN: 3-528-04734-8) Internetseiten http://www.itwissen.info http://www.javvin.com/protocolLAN.html http://de.wikipedia.org http://en.wikipedia.org http://www.elektronik-kompendium.de http://www.syn-wiki.de Skripte Rechnernetz Skript, 6. Semester von K. Hartmann Seite 19