Rechnernetze und Verteilte Systeme
Kurzbeschreibung
Die Nutzung des Internet ist heutzutage eine Selbstverständlichkeit, die Benutzung eines Webbrowsers jedem vertraut. Doch wie vernetzt sind wir und wie sind wir vernetzt?
Im Modul "Rechnernetze und Verteilte Systeme" lernen wir den Aufbau einer vernetzten Infrastruktur und die prinzipielle Struktur eines verteilten Systems kennen. Wir durchleuchten die Funktionsweise und das Zusammenspiel von Geräten, Protokollen und verteilten Anwendungen. Dabei stellen wir die Zusammenhänge mit aktuell benutzten und bekannten Mechanismen im Internet her.
Wir bauen eine typische Netzwerkinfrastruktur auf und implementieren selbst Client-Server-Programme.
Zahlensysteme
Digitaltechnik
Programmierkenntnisse in Java
Unsere Studenten sind in der Lage, Rechensysteme miteinander zu vernetzen, die Konfiguration eines Netzwerks durchzuführen und gezielte Fehleranalysen vorzunehmen. Sie können gängige verteilte Anwendungen prinzipiell nachvollziehen, einrichten und selbst solche Anwendungen programmieren.
- Grundbegriffe
- Topologien
- Ausfallverhalten
- OSI-Referenzmodell
- Ãœbertragungstechnik
- analoge und digitale Signale
- Kenngrößen
- Leitungscodes
- Ãœbertragungsmedien
- Kupferkabel
- Lichtwellenleiter
- Funk
- Lokale Netze
- IP
- IPv4
- IPv6
- Adressierung
- ARP
- Routing
- TCP, UDP
- Strukturierung von Netzen
- Switch
- VLAN
- Router
- Sicherheit im Netz
- VPN
- Angriffsformen
- Authentifizierung
Einführung in verteilte Systeme
- Definition
- Begriffe
- Synchronisation
- Parallele Programmierung
- Race condition
- Sperren
- Deadlock
- Kommunikation
- Rollen (Client, Server, Peer)
- Sockets
- Verbindungslose Kommunikation
- Serialisierung
- Asynchroner Datenaustausch
- Verbindungsorientierte Kommunikation
- Serieller und paralleler Server
- Webservices
- Representational State Transfer (REST)
- Dienste
- Domain Name Service (DNS)
begleitende Unterlagen, Handouts, Netzwerk-Labor, Simulation
Literatur:
- Rech, Jörg: Ethernet : Technologien und Protokolle für Computervernetzung, 3. aktualisierte und überarbeitete Auflage, Hannover: Heise-Verlag, 2014
- Rech, Jörg: Wireless LANs : 802.11-WLAN-Technologie und praktische Umsetzung im Detail, 4. aktualisierte und erweiterte Auflage, Hannover : Heise-Verlag, 2012
- Armin Steffen/Albrecht Darimont: Der Netzwerkadministrator: Aufbau und Administration heterogener Netze, Addison-Wesley, 2001
- W. Richard Stevens: TCP/IP illustrated: The Protocols, Addison-Wesley, 2011
- Larry L. Peterson/Bruce S. Davie: Computernetze: Eine systemorientierte Einführung, dpunkt-verlag, 2007
- Axel Sikora: Technische Grundlagen der Rechnerkommunikation, Internet-Protokolle und Anwendungen, Hanser Fachbuchverlag, 2003
- Abts, Dietmar: Masterkurs Client/Server-Programmierung mit Java: Anwendungen entwickeln mit Standard-Technologien : Springer Verlag, 5. Auflage 2019
- Bengel, Günther: Grundkurs Verteilte Systeme : Springer Verlag, 4. Auflage 2014
- Bengel, Günther: Masterkurs Parallele und Verteilte Systeme: Grundlagen und Programmierung von Multicore-Prozessoren, Multiprozessoren, Cluster, Grid und Cloud :Springer Verlag, 2. Auflage 2015
- Coulouris, George / Dollimore, Jean / Kindberg, Tim: Distributed Systems: Concepts and Design. : Addison-Wesley Longman, 4. Auflage 2005
- Fielding, Roy Thomas: Architectural styles and the design of network-based software architectures : University of California Irvine, 2000
- Harold, Elliotte Rusty: Java Network Programming : O'Reilly Media, 2013
- Oechsle, Rainer: Parallele und verteilte Anwendungen in Java : Carl Hanser Verlag, 5. Auflage 2018
- Richardson, Leonard / Amundsen, Mike: RESTful Web APIs : O'Reilly Media, 2013
- Richardson Leonard / Ruby, Sam: RESTful Web Services : O'Reilly Media, 2007
- Schill, Alexander / Springer, Thomas: Verteilte Systeme : Springer Verlag, 2012
- Tanenbaum, Andrew S.: Computernetzwerke : Pearson Studium, 2003
- Tanenbaum, Andrew S. / van Steen, Maarten: Verteilte Systeme: Prinzipien und Paradigmen : Pearson Studium, 2. aktualisierte Auflage 2007
- Ullenboom, Christian: Java ist auch eine Insel : Rheinwerk Computing, 2011