Zusammenfassung Internet & Webtechnologien PDF

Document Details

UnbiasedWombat8501

Uploaded by UnbiasedWombat8501

Fachhochschule Kärnten

Tags

internet web technologies client-server networking

Summary

This document provides a summary of internet and web technologies. It covers the definition and history of the internet, along with different network models like Client-Server and Peer-to-Peer models.

Full Transcript

**Zusammenfassung Internet & Webtechnologien** **Definition & Geschichte:** - Internet: globales, dezentrales organisiertes Rechennetz - Begriff: Inter = zwischen + Net = Netz - Miteinander verbundene Einzelnetzwerke - Kommunikation der Rechner auf Grundlage des Transmission Control...

**Zusammenfassung Internet & Webtechnologien** **Definition & Geschichte:** - Internet: globales, dezentrales organisiertes Rechennetz - Begriff: Inter = zwischen + Net = Netz - Miteinander verbundene Einzelnetzwerke - Kommunikation der Rechner auf Grundlage des Transmission Control Protocol/Internet Protocol - WWW (World Wide Web), E-Mail-Dienst, File Transfer Protocol (FTP) = ermöglicht systemunabhängige Übertragung beliebiger Daten zwischen Computern - Internet und World Wide Web sind nicht das Gleiche, gehören aber zusammen! - Internet umfasst verschiedene Dienste: E-Mail, Web, Online Gaming, FTP - 1950 & 1960 Ursprünge: militärische und wissenschaftliche Zwecke - 1960 wurde der Computer als Kommunikationsmittel gesehen - 1969: ARPNET, erstes landesweite Computernetzwerk ohne zentrale Steureung und Kontrolle - ARPA = Advanced Research Projects Agency - 1989: Erfindung WWW für die Öffentlichkeit Inhalte (HTML) werden direkt vom Server an Client (Browser) übertragen Inhalte werden durch Kombination von verschiedenen Komponenten (zb. Datenbanken) dynamisch generiert ------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------ Keine Interaktion oder Anpassung an den Benutzer Anpassung an Benutzerforderungen und Interaktion **Client Server Model** Client Server Model (Request-Response Loop) Ein **Client** (z. B. ein Laptop) sendet eine **Anfrage** (Request) an einen Server. Der **Server** (z. B. ein großer Computer oder ein Webserver) verarbeitet die Anfrage und sendet eine **Antwort** (Response) zurück an den Client. Dieser Prozess läuft ständig ab, wenn wir Webseiten besuchen oder Daten im Internet abrufen. - **Client**: Gerät, das Anfragen sendet (z. B. Laptop, Smartphone). - **Server**: Gerät, das Anfragen empfängt und verarbeitet. - **Request**: Anfrage, die der Client an den Server schickt. - **Response**: Antwort, die der Server an den Client zurückschickt. - **Beispiel**: Webbrowser (Client) fordert eine Webseite von einem Webserver an. **\ ** **Client-Server Model (Peer to Peer Alternative)** Im Peer-to-Peer-Modell agieren **alle Geräte** (Peers) sowohl als **Client** als auch als **Server**. Jeder Peer kann Anfragen senden und empfangen, also gleichzeitig Daten anfordern und bereitstellen. Es gibt **keinen zentralen Server**, sondern alle Geräte sind miteinander verbunden und teilen sich die Aufgaben. - **Peer**: Gerät, das gleichzeitig als Client und Server agiert. - **Keine zentrale Steuerung**: Alle Peers sind gleichberechtigt und teilen Daten direkt. - **Direkte Kommunikation**: Daten werden direkt zwischen den Peers ausgetauscht, ohne einen Server. - **Beispiele**: Dateifreigabedienste wie BitTorrent. - **Vorteil**: Entlastung eines zentralen Servers und bessere Lastverteilung. **Unterschiedliche Arten/Typen von Servern:** - Web-Servers - Application Servers - Database Servers - Mail Servers - Media Servers - Authentication Servers **Real-World Server Installations -- Server Farm** In einer Server Farm gibt es **mehrere Server**, die miteinander verbunden sind, um große Mengen von Daten und Anfragen zu verarbeiten. Ein **Load Balancer** verteilt die Anfragen von den Clients gleichmäßig auf die verschiedenen Server, um die Last zu verteilen und eine Überlastung zu vermeiden. Es gibt verschiedene Serverarten wie **Webserver** (für Webseiten) und **Datenbankserver** (für Datenspeicherung). - **Server Farm**: Gruppe von mehreren Servern, die zusammenarbeiten. - **Load Balancer**: Gerät oder Software, das die Anfragen gleichmäßig auf die Server verteilt. - **Webserver**: Server, der Webseiten ausliefert. - **Datenbankserver**: Server, der Daten speichert und abruft. - **Vorteil**: Hohe Verfügbarkeit und bessere Lastverteilung durch mehrere Server. **Real-World Server Installations -- Data Center** Ein **Rechenzentrum** ist ein Gebäude oder ein Raum, in dem viele Server in **Server-Racks** organisiert sind. Um einen stabilen Betrieb sicherzustellen, gibt es **Klimaanlagen** (Air Conditioning), die die Server kühlen, damit sie nicht überhitzen. **Backup-Generatoren** und **UPS (Batterien)** sorgen dafür, dass die Server auch bei Stromausfällen weiterlaufen. - **Rechenzentrum**: Gebäude, das viele Server beherbergt. - **Server-Racks**: Regale, in denen die Server organisiert sind. - **Klimaanlage**: Hält die Server kühl und verhindert Überhitzung. - **Backup-Generatoren**: Sorgen bei Stromausfällen für Strom. - **UPS (Batterien)**: Kurzfristige Stromversorgung im Notfall. - **Vorteil**: Zuverlässigkeit und hohe Verfügbarkeit von Serverdiensten. **Where ist he Internet?** From the Computer to the local Provider Dein **Computer** ist über einen **Router** mit dem Internet verbunden, der entweder kabellos (WLAN) oder per Kabel funktioniert. Der Router ist mit einem **Modem** verbunden, das die Verbindung zum Internet herstellt. Das Modem ist mit dem **ISP (Internet Service Provider)** verbunden, der die Internetverbindung zur Verfügung stellt. Vom ISP wird das Internet über **Glasfaserkabel** oder andere Technologien an größere Knotenpunkte weitergeleitet, die dann mit dem restlichen Internet verbunden sind. - **Router**: Verteilt das Internet an Geräte im Haushalt. - **Modem**: Stellt die Verbindung zwischen dem Haushalt und dem ISP her. - **ISP (Internet Service Provider)**: Anbieter, der den Internetzugang bereitstellt. - **Glasfaserkabel**: Schnelle Übertragungsmethode vom ISP zu den Netzwerken. - **Internetknoten**: Größere Verbindungspunkte, die Netzwerke miteinander verbinden. - **Endbenutzer**: Der Computer oder das Gerät, das das Internet nutzt. **Where is the Internet?** Vom lokalen Provider zur Überseeanbindung -- European Internet Exchange Association (IXP) and Data Centers Jedes **Land** hat eigene **Netzwerke**, die miteinander verbunden sind. Diese Netzwerke (z.B. Network A1, A2) sind in einem Land miteinander vernetzt. Die **IXPs** (Internet Exchange Points) sind zentrale Knotenpunkte, an denen verschiedene Netzwerke aus unterschiedlichen Ländern verbunden werden, um den Austausch von Daten zu ermöglichen. Durch die IXPs fließen die **Daten** zwischen den verschiedenen Netzwerken und Ländern, sodass Informationen weltweit schnell ausgetauscht werden können. - **IXP (Internet Exchange Point)**: Knotenpunkt, an dem Netzwerke aus verschiedenen Ländern verbunden sind. - **Netzwerke**: Gruppen von Computern und Servern, die innerhalb eines Landes miteinander verbunden sind. - **Datenverkehr**: Austausch von Informationen zwischen Netzwerken und Ländern. - **Verbindung zwischen Ländern**: IXPs verbinden Netzwerke aus verschiedenen Ländern für globalen Datenaustausch. - **Beispiel**: Netzwerke in Land A können über IXP A1 mit Netzwerken in Land B kommunizieren. **Where is the Internet?** Vom lokalen Provider zur Überseeanbindung -- European Internet Exchange Association (IXP) and Data Centers **Rechenzentren (Data Centers)** speichern und verarbeiten große Mengen an Daten für Webseiten und Dienste. Diese Rechenzentren sind über **Glasfaserkabel** mit **IXPs** (Internet Exchange Points) verbunden, um schnelle Verbindungen zu anderen Netzwerken herzustellen. Von den IXPs aus gibt es Verbindungen zu **Unterseekabeln**, die Daten zwischen Kontinenten übertragen, und weiter zu **internen Verbindungen** auf anderen Kontinenten. - **Rechenzentrum (Data Center)**: Speicherort für Webseiten und Daten. - **IXP (Internet Exchange Point)**: Verbindungspunkt für Netzwerke und Kontinente. - **Glasfaserkabel**: Schnelle Datenübertragung zwischen Rechenzentren und IXPs. - **Unterseekabel**: Verbindungen unter den Ozeanen, um Daten weltweit zu transportieren. - **Kontinentale Verbindungen**: Daten werden von Unterseekabeln an Netzwerke auf anderen Kontinenten weitergeleitet. **Where is the Internet?** Verbindung zwischen den Kontinenten Die **Linien** auf der Karte zeigen die **Unterseekabel**, die unter den Ozeanen verlaufen. Diese Kabel sind das Rückgrat des globalen Internets. Sie verbinden die **Kontinente** miteinander und ermöglichen es, dass Daten über weite Entfernungen sehr schnell übertragen werden. Ohne diese Kabel wäre die Verbindung zwischen den Kontinenten stark eingeschränkt, da sie große Mengen an Daten transportieren. - **Unterseekabel**: Kabel, die unter dem Meer verlegt sind und die Kontinente verbinden. - **Globale Internetverbindung**: Diese Kabel ermöglichen den Datenaustausch zwischen verschiedenen Kontinenten. - **Wichtige Verbindungen**: Europa, Amerika, Afrika und Asien sind durch viele dieser Kabel miteinander verbunden. - **Datenübertragung**: Große Mengen an Internetdaten werden über diese Kabel transportiert. - **Wichtige Infrastruktur**: Diese Kabel sind entscheidend für die internationale Kommunikation und das Internet. **Internetprotokolle** Die **Internetprotokollfamilie** besteht aus etwa 500 verschiedenen **Netzwerkprotokollen**, die die Grundlage für die Kommunikation im Internet bilden. Ein bekanntes Beispiel ist die **TCP/IP-Protokollfamilie**. Netzwerkprotokolle legen fest, wie Daten zwischen Computern ausgetauscht werden, und ein Verständnis davon hilft, technische Anwendungen besser zu verstehen. In der Theorie wird oft das **OSI-Modell** genutzt, das eine detaillierte Beschreibung der Protokolle in sieben Schichten bietet, aber in der Praxis wird meist das **TCP/IP-Modell** verwendet, das einfacher und auf vier Schichten basiert. - **Internetprotokollfamilie**: Rund 500 Netzwerkprotokolle, die die Kommunikation im Internet regeln. - **TCP/IP-Protokollfamilie**: Häufig verwendete Protokollfamilie für Netzwerke. - **Netzwerkprotokolle**: Festgelegte Regeln für den Datenaustausch zwischen Computern. - **OSI-Modell**: Detailliertes theoretisches Modell mit sieben Schichten. - **TCP/IP-Modell**: In der Praxis genutztes, einfacheres Modell mit vier Schichten. - **Wichtigkeit**: Verständnis der Protokolle hilft, technische Anwendungen zu verstehen. **Internet-Protokolle** -- Eine geschichtete Architektur - **OSI-Modell**: 7 Schichten, detailliertes Modell. - **TCP/IP-Modell**: 4 Schichten, vereinfacht und in der Praxis häufiger genutzt. - **Bitübertragungsschicht/Netzwerkschicht**: Physische Übertragung der Daten. - **Transportschicht**: Sicherstellung, dass die Daten korrekt ankommen. - **Anwendungsschicht**: Kommunikation zwischen Anwendungen (z.B. Webbrowser, E-Mail). - **Beispiele**: HTTP (Webseiten), TCP (Verbindung), IP (Adressierung). **Hintergrund: Entstehung des ISO/OSI- Referenzmodells** IBM, DEC und Xerox entwickelten jeweils eigene Netzwerkprotokolle: IBM mit SNA, DEC mit DNA, und Xerox mit XNS. Diese Protokolle waren nicht kompatibel und führten zu Problemen bei der Kommunikation zwischen den verschiedenen Netzwerken. Dies führte zur Entwicklung des ISO/OSI-Referenzmodells, das ein universelles Modell für die Netzwerkkommunikation schaffen sollte, um die Kompatibilität zwischen verschiedenen Systemen zu gewährleisten. - 1970er Jahre: Entwicklung verschiedener Netzwerkarchitekturen. - IBM SNA, DEC DNA, Xerox XNS: Proprietäre Protokolle der Unternehmen. - Problem: Systeme waren nicht kompatibel und konnten nicht miteinander kommunizieren. - Lösung: Entwicklung des ISO/OSI-Modells als universelles Kommunikationsmodell. - Ziel des OSI-Modells: Standardisierung und Interoperabilität zwischen Netzwerken**.** In den 1970er Jahren gab es viele inkompatible Netzwerktechnologien. Jedes System funktionierte wie eine Insel und konnte nicht mit anderen Systemen kommunizieren. Der Datentransfer zwischen den Systemen war sehr kompliziert, fehleranfällig und oft unmöglich. Jeder Hersteller hatte eigene Regeln und Implementierungen für Netzwerke, was die Verwaltung und Wartung sehr schwierig machte. Die Lösung war ein einheitlicher Standard, den alle Hersteller befolgen sollten, damit die Systeme miteinander kommunizieren können. **Internet-Protokolle** (Link Layer) Die **Link Layer** ist verantwortlich für die **physische Übertragung** von Daten, sowohl über **Kabel** als auch **drahtlos** (z.B. WLAN). Sie **teilt die Bitdatenströme** in kleinere Blöcke, sogenannte **Frames**, auf und fügt **Prüfsummen** hinzu, um Fehler zu erkennen. Diese Schicht behandelt viele wichtige Themen, wie z.B. **Paketerstellung**, **Fehlererkennung**, und die gemeinsame Nutzung von Netzwerkleitungen durch mehrere Geräte. Ein Beispiel dafür ist die **MAC-Adresse** (Media Access Control Address), die jedem Gerät eine eindeutige Identifikation im Netzwerk zuweist. - **Link Layer**: Verantwortlich für die physische Datenübertragung. - **Physische Übertragung**: Übertragung über Kabel oder drahtlos. - **Frames**: Aufteilung der Bitströme in Blöcke. - **Prüfsummen**: Hinzufügung zur Fehlererkennung. - **MAC-Adresse**: Einzigartige Adresse für jedes Netzwerkgerät. - **Aufgaben**: Paketerstellung, Übertragung, Fehlererkennung und Kollisionsvermeidung. - **Internet Layer**: Verantwortlich für Routing und Adressierung von Daten. - **Adressen**: Bereitstellung von IPv4, IPv6, ICMP. - **Routing**: Datenübertragung über das gesamte Netzwerk. - **Router**: Hardware in dieser Schicht, die Datenpakete weiterleitet. - **Datenpakete**: Aufteilung und Kapselung der Daten für die Übertragung. - **Routingtabellen**: Werden erstellt und aktualisiert, um den besten Weg für die Daten zu finden. **IP- Adressen Überblick:** - **IP-Adresse**: Eine eindeutige Adresse, die jedem Gerät im Netzwerk zugewiesen wird. - **IPv4**: Besteht aus 4 Zahlenblöcken, z. B. 192.168.0.1. - **Geräte mit IP-Adressen**: Computer, Laptops, Drucker, Server, Router, Smartphones. - **Zweck**: Identifiziert Geräte im Netzwerk, um die Datenübertragung zu ermöglichen. - **Beispiele für IP-Adressen im Bild**: 142.108.149.36, 192.168.123.254, 10.239.28.131. - **Private und öffentliche IPs**: Öffentliche IPs für Internetzugang, private IPs für lokale Netzwerke. Ein Bild, das Text, Screenshot, Reihe, Schrift enthält. Automatisch generierte Beschreibung ![Ein Bild, das Text, Schrift, Screenshot, weiß enthält. Automatisch generierte Beschreibung](media/image2.png) **Internet-Protokolle:** Transport Layer Die **Transportschicht** sorgt dafür, dass Daten in kleinere Segmente aufgeteilt und fehlerfrei übertragen werden. Sie vermeidet **Datenstaus** und stellt sicher, dass die Daten zuverlässig ankommen. Ein **Datensegment** ist ein kleinerer Teil der Daten, der von der Transportschicht verarbeitet wird. Jedes Segment wird über einen **Port** adressiert. Die zwei wichtigsten Protokolle in dieser Schicht sind **TCP** und **UDP**: - **TCP** (Transmission Control Protocol) stellt eine **verbindungsorientierte** und **sichere** Datenübertragung sicher, bei der überprüft wird, ob die Daten korrekt angekommen sind. Es ist langsamer, aber zuverlässiger. - **UDP** (User Datagram Protocol) ist **verbindungslos** und **unsicher**, aber dafür schneller. Es wird verwendet, wenn es nicht so schlimm ist, wenn Daten verloren gehen, z.B. bei Videostreaming. - **Transport Layer**: Segmentierung und fehlerfreie Übertragung von Daten. - **Datensegment**: Teil des Datenstroms, der über Ports adressiert wird. - **TCP**: Verbindungsorientiertes, sicheres Protokoll; langsamer, aber zuverlässiger. - **UDP**: Verbindungsloses, unsicheres Protokoll; schneller, aber Datenverluste möglich. - **Verwendung von UDP**: Besonders geeignet für Anwendungen wie Videostreaming. - **Ziel der Transportschicht**: Sicherstellung der reibungslosen Datenübertragung. **Internet-Protokolle**: Was ist ein Port Ein **Port** ist wie eine **Tür** oder ein **Durchlass**, über den ein Computer mit anderen Computern und dem Internet kommunizieren kann. Jeder Computer hat über **65.000 Ports**, die dafür sorgen, dass Daten an die richtige Anwendung auf dem Computer weitergeleitet werden. Eine **Firewall** schützt den Computer, indem sie ungenutzte Ports schließt, um Angriffe oder Viren zu verhindern. Bestimmte Ports sind für bestimmte Anwendungen reserviert, z. B. **Port 80** für Webseiten (HTTP) und **Port 20** für Dateien (FTP). Datenpakete werden über den entsprechenden Port adressiert und an den richtigen Empfänger gesendet. - **Port**: \"Tor\" oder \"Durchlass\" zur Kommunikation im Netzwerk. - **65.536 Ports**: Jeder Computer hat Tausende Ports für verschiedene Daten. - **Firewall**: Schützt den Computer durch das Schließen ungenutzter Ports. - **Port 80 (HTTP)**: Für den Zugriff auf Webseiten. - **Port 20 (FTP)**: Für den Dateiübertragungsdienst. - **Verwendung**: Datenpakete werden über den richtigen Port an die entsprechende Anwendung geleitet. **Internet-Protokolle:** Transport Layer Daten werden in **kleine Pakete** aufgeteilt, und jedes Paket erhält eine **Sequenznummer**, damit die Reihenfolge beim Empfänger wiederhergestellt werden kann. Jedes Mal, wenn der Empfänger ein Paket erhält, sendet er eine **Bestätigung (ACK)** zurück, um zu signalisieren, dass das Paket angekommen ist. Falls der Sender keine Bestätigung für ein Paket erhält, sendet er das Paket erneut. Am Ende werden alle Pakete in der richtigen Reihenfolge zusammengesetzt, um die ursprüngliche Nachricht wiederherzustellen. - **TCP**: Sorgt für zuverlässige Übertragung durch Bestätigungen (ACK). - **Datenpakete**: Nachricht wird in kleine Pakete aufgeteilt und nummeriert. - **Sequenznummer**: Stellt sicher, dass Pakete in der richtigen Reihenfolge zusammengesetzt werden. - **ACK (Acknowledgement)**: Bestätigung des Empfängers, dass ein Paket angekommen ist. - **Paketverlust**: Wenn keine Bestätigung gesendet wird, wird das Paket erneut geschickt. - **Ziel**: Daten in korrekter Reihenfolge und ohne Verluste übermitteln. **Internet-Protokolle:** Application Layer Die **Sitzungsschicht** (Schicht 5) steuert die **Verbindung** und den **Datenaustausch** zwischen zwei Systemen. Die **Darstellungsschicht** (Schicht 6) sorgt dafür, dass die Daten in ein Format umgewandelt werden, das von beiden Systemen verstanden wird. Hier werden Daten auch **komprimiert** oder **verschlüsselt**. Die **Anwendungsschicht** (Schicht 7) stellt Funktionen für **Anwendungen** bereit, z. B. für das Senden von E-Mails oder den Zugriff auf Webseiten. **HTTP**: Für die Kommunikation im Web, z. B. beim Laden von Webseiten. **SSH**: Ermöglicht den Fernzugriff auf Server über eine sichere Verbindung. **FTP**: Wird für die Übertragung von Dateien zwischen Computern verwendet. **POP/IMAP/SMTP**: Protokolle für das Senden, Empfangen und Speichern von E-Mails. **DNS**: Wandelt Domain-Namen (z. B. [www.beispiel.de](http://www.beispiel.de)) in IP-Adressen um, die von Computern verwendet werden. - **Sitzungsschicht (Schicht 5)**: Verbindungssteuerung und Datenaustausch. - **Darstellungsschicht (Schicht 6)**: Datenformatierung, Komprimierung und Verschlüsselung. - **Anwendungsschicht (Schicht 7)**: Schnittstelle zu Anwendungen. - **HTTP**: Protokoll für Web-Kommunikation. - **SSH**: Sicherer Fernzugriff auf Server. - **FTP**: Dateitransfer zwischen Computern. - **POP/IMAP/SMTP**: E-Mail-Protokolle. - **DNS**: Wandelt Domain-Namen in IP-Adressen um. **Domain Name System** Die Struktur eines Domain-Namens besteht aus mehreren **Ebenen**: 1. **Wurzel**: Ganz oben im DNS-System, die höchste Ebene (nicht sichtbar). 2. **Top-Level-Domain (TLD)**: Der Teil ganz rechts, wie **.com** oder **.de**. 3. **Second-Level-Domain**: Der Hauptname, z.B. **facebook** oder **youtube**. 4. **Third-Level-Domain**: Ein optionaler Teil vor dem Second-Level, z.B. **de-de** oder **en-us**, um Regionen oder Sprachen anzugeben - **DNS**: Wandelt Domain-Namen in IP-Adressen um. - **Wurzel**: Die oberste Ebene im DNS-System. - **Top-Level-Domain (TLD)**: Endung wie **.com** oder **.de**. - **Second-Level-Domain**: Hauptname, z.B. **facebook**. - **Third-Level-Domain**: Optional, z.B. **de-de** für Region/Sprache. - **Funktion des DNS**: Macht Domain-Namen für Computer verständlich. **Domain Name System**: Arten von Top Levels Domains Generic top-level domain (gTLD) Unrestricted. TLDs include.com,.net,.org, and.info. Sponsored. TLDs including.gov,.mil,.edu, and others. New TLDs. Country code top-level domain (ccTLD) TLDs include.us ,.ca ,.uk , and.au. Internationalized Domain Names arpa (Address and Routing Parameter Area) **Domain Name System** (Arpa) **.arpa** ist eine spezielle **Top-Level-Domain** im DNS, die ausschließlich für **technische Infrastrukturzwecke** verwendet wird. Ursprünglich stand **ARPA** für **Advanced Research Projects Agency**, eine amerikanische Behörde, die eine Schlüsselrolle bei der Entwicklung des Internets spielte. Heute bedeutet **.arpa** **Address and Routing Parameter Area**, was auf ihre Funktion im Internet hinweist. - **.arpa**: Spezielle Top-Level-Domain für technische Infrastruktur. - **Ursprüngliche Bedeutung**: **Advanced Research Projects Agency**. - **Aktuelle Bedeutung**: **Address and Routing Parameter Area**. - **Verwendung**: Ausschließlich für technische Zwecke im DNS. **Domain Name System**: Ablauf der Registrierung einer neuen Domain **Entscheiden über die Domain**: Man wählt eine **Top-Level-Domain** (z. B. **.com**) und einen **Second-Level-Domain-Namen** (z. B. **funwebdev**). **Auswahl eines Registrars**: Ein **Registrar** oder ein Webhost, der für die Registrierung zuständig ist, wird gewählt. **Verfügbarkeit prüfen**: Der Registrar überprüft, ob die Domain verfügbar ist, indem er sich beim **TLD-Registry** erkundigt. **Registrierung abschließen**: Man füllt die erforderlichen Informationen aus, wie z.B. **WHOIS-Informationen** (Kontaktdaten und DNS-Infos), und bezahlt. **DNS-Informationen hinterlegen**: Das TLD-Registry speichert die DNS-Informationen für die Domain und überträgt sie an die **Name-Server**. **Domain nutzen**: Sobald alles erledigt ist, hat man die Rechte zur Nutzung der Domain. **1. Domain auswählen**: Top-Level- und Second-Level-Domain bestimmen. **2. Registrar wählen**: Dienstleister zur Registrierung. **3. Verfügbarkeit prüfen**: Prüfen, ob die Domain noch verfügbar ist. **4. WHOIS-Informationen**: Kontaktdaten und DNS-Infos hinterlegen. **5. DNS-Informationen speichern**: TLD-Registry speichert und überträgt Infos an Name-Server. **6. Domain verwenden**: Domain ist einsatzbereit nach Registrierung und Zahlung. **DNS Prozess der Namesauflösung** Wenn dein Computer eine Anfrage stellt, überprüft der **DNS-Server** zuerst seinen **Cache**, um zu sehen, ob die IP-Adresse bereits gespeichert ist. Falls die IP-Adresse nicht im Cache ist, schaut der DNS-Server in die **Hosts-Datei**, eine statische Datei mit bekannten IP-Adressen (diese wird heute selten verwendet). Wenn der DNS-Server nicht die Berechtigung hat oder die Antwort nicht kennt, leitet er die Anfrage an einen **höheren DNS-Server** weiter. Falls das nicht funktioniert, verwendet der DNS-Server eine Liste von **Root-DNS-Servern** (genannt \"Root Hints\"). Es gibt weltweit 13 Root-DNS-Server. Der **Root-DNS-Server** antwortet mit der Adresse eines **TLD-Servers** (z. B. für.com,.edu,.net). Schließlich leitet der DNS-Server die Anfrage an einen **High-Level-DNS-Server** weiter, der die richtige IP-Adresse liefert. - **DNS-Cache**: Erster Speicherort, den der DNS-Server überprüft. - **Hosts-Datei**: Statische Datei mit IP-Adressen, wird selten verwendet. - **Weiterleitung**: Anfrage wird an einen höheren DNS-Server gesendet, falls die Antwort nicht bekannt ist. - **Root Hints**: Liste von 13 Root-DNS-Servern, die als letzte Lösung verwendet werden. - **Root-DNS-Server**: Liefert die Adresse eines TLD-Servers (z. B. für.com). - **High-Level-DNS-Server**: Liefert die endgültige IP-Adresse. **Exkurs zu Cybersecurity: Sicherheitsrisiko durch hosts-Datei** Schadsoftware kann die hosts-Datei verändern, ohne dass der Benutzer es bemerkt. Dadurch können Nutzer auf gefälschte Webseiten oder Seiten mit Schadcode umgeleitet werden, selbst wenn sie eigentlich eine harmlose Seite besuchen wollten. Manchmal können auch wichtige Adressen gesperrt werden, z. B. Server von Antivirenprogrammen, wodurch diese sich nicht mehr aktualisieren können. Um solche Manipulationen zu verhindern, kann die hosts-Datei als schreibgeschützt definiert werden. Gleichzeitig kann die hosts-Datei auch verwendet werden, um gefährliche Webseiten zu blockieren, indem sie auf eine nicht existierende IP-Adresse (z.B. 0.0.0.0) umgeleitet werden. - **Schadsoftware**: Kann die hosts-Datei ändern und Nutzer auf schädliche Seiten umleiten. - **Sperrung**: Adressen wie die von Antivirenprogrammen können blockiert werden. - **Schreibschutz**: Hosts-Datei kann schreibgeschützt definiert werden, um Änderungen zu verhindern. - **Blockieren von gefährlichen Seiten**: Über die hosts-Datei können gefährliche Domains gesperrt werden. - **Sicherheitsrisiko**: Manipulation der hosts-Datei kann zu ernsthaften Sicherheitsproblemen führen. **DNS-Prozess der Namesauflösung** 1. **Eingabe der URL**: Du gibst im Browser die Domain (z. B. **klima.wut.de**) ein. 2. Dein Computer sendet eine Anfrage an den **DNS-Resolver**, der nachschaut, ob die IP-Adresse bereits im **Cache** gespeichert ist. 3. Wenn die IP nicht im Cache ist, fragt der DNS-Resolver einen **DNS-Server** im Internet. 4. Der **DNS-Server** durchsucht seine Datenbank und findet die passende IP-Adresse (z. B. 194.77.229.26) für die Domain. 5. Der DNS-Resolver erhält die IP-Adresse vom DNS-Server und schickt sie an deinen Computer zurück. 6. Dein Computer nutzt die IP-Adresse, um die Webseite zu laden. - **DNS-Prozess**: Wandelt Domain-Namen in IP-Adressen um. - **Eingabe der URL**: Nutzer gibt eine Domain (z. B. klima.wut.de) im Browser ein. - **DNS-Resolver**: Überprüft, ob die IP-Adresse im Cache gespeichert ist. - **DNS-Server**: Liefert die passende IP-Adresse, wenn sie nicht im Cache ist. - **Cache**: Zwischenspeicher, um die IP-Adresse schneller zu finden. - **Ergebnis**: Webseite wird mit der passenden IP-Adresse aufgerufen. **Exkurs zu Cybersecurity: DNS-Spoofing** **DNS-Spoofing** bedeutet, dass Angreifer die DNS-Anfragen von Nutzern manipulieren, um sie auf **gefälschte Webseiten** oder Seiten mit **Schadsoftware** umzuleiten, obwohl der Nutzer eine legitime Seite besuchen wollte. **Internetprovider** können DNS-Spoofing nutzen, um **Zensur** durchzusetzen, indem sie z. B. den Zugang zu bestimmten Webseiten blockieren oder auf Warnseiten umleiten. Diese Blockaden können jedoch durch die Verwendung von **alternativen DNS-Servern** umgangen werden. Eine weitere Anwendung von DNS-Spoofing ist das **DNS-Hijacking** durch Werbeanbieter, die Nutzer bei falschen oder fehlerhaften Eingaben auf Werbeseiten umleiten, um **Nutzerdaten** zu sammeln und **Profile** zu erstellen. - **DNS-Spoofing**: Manipulation der DNS-Anfragen, um Nutzer auf gefälschte Seiten umzuleiten. - **DNS-Hijacking**: Umleitung durch Werbeanbieter zur Sammlung von Nutzerdaten. - **Zensur durch Internetprovider**: Webseiten können blockiert und Nutzer auf Warnseiten geleitet werden. - **Umgehung**: Blockaden können durch nicht-zensierte DNS-Server umgangen werden. - **Ziel**: Nutzer auf schädliche oder unerwünschte Seiten zu leiten, ohne dass sie es bemerken. Uniform Resource Locators (URL) Ein Bild, das Text, Schrift, Reihe, Screenshot enthält. Automatisch generierte Beschreibung **Protokoll**: - Eine URL enthält ein Protokoll, z. B. **HTTP** oder **FTP**, das angibt, wie auf die Ressource zugegriffen wird. - Beispiel: ftp://example.com/abc.txt verwendet das **FTP-Protokoll** und schickt eine Anfrage an **Port 21**.\ http://example.com/abc.txt verwendet **HTTP** und sendet eine Anfrage an **Port 80**. **Domain**: - Die **Domain** ist der Teil der URL, der den **Server** identifiziert, von dem wir Ressourcen anfordern. - Beispiel: In http://example.com ist **example.com** die Domain. - Domains sind im DNS **nicht groß-/kleinschreibungssensitiv**. **Port**: - Ein **Port** ist optional und wird verwendet, um auf andere Ports als die Standard-Ports zuzugreifen. - Standard-Ports sind z. B. **80** für HTTP und **443** für HTTPS. - Beispiel: https://www.fh-kaernten.at:80 (verwendet Port 80). - **URL**: Eine Adresse im Internet, um auf Ressourcen zuzugreifen. - **Protokoll**: Gibt an, wie auf die Ressource zugegriffen wird (z. B. HTTP, FTP). - **Standard-Ports**: **80** für HTTP, **21** für FTP, **443** für HTTPS. - **Domain**: Identifiziert den Server, von dem die Ressource angefordert wird. - **Port**: Optionaler Bestandteil, um eine Verbindung zu einem anderen Port herzustellen. - **Groß-/Kleinschreibung**: Domain-Namen im DNS sind nicht groß-/kleinschreibungssensitiv. **Hypertext Transfer Protocol** **Anfrage (Request)**: - Dein Browser schickt eine **HTTP-Anfrage** an den Webserver, um eine Webseite (z. B. index.html) zu laden. - Diese Anfrage enthält **Header-Informationen** über deinen Browser und dein System, wie zum Beispiel: - **Host**: Name der Webseite. - **User-Agent**: Informationen über den Browser und das Betriebssystem. - **Accept**: Welche Art von Inhalt (HTML, XML) dein Browser akzeptiert. **Antwort (Response)**: - Der Webserver sendet eine **HTTP-Antwort** zurück an deinen Browser. - Diese Antwort enthält Header-Informationen wie: - **Statuscode**: Gibt an, ob die Anfrage erfolgreich war (z. B. 200 OK). - **Content-Type**: Gibt an, welchen Inhaltstyp (z. B. text/html) der Server zurückgibt. - **Content-Length**: Die Größe der Antwort in Bytes. - **HTTP**: Protokoll zur Kommunikation zwischen Browsern und Webservern. - **Request (Anfrage)**: Schickt der Browser an den Server, um eine Ressource anzufordern. - **Response (Antwort)**: Schickt der Server an den Browser, um die angeforderte Ressource zu liefern. - **Wichtige Header**: - **User-Agent**: Informationen über den Browser. - **Content-Type**: Typ des Inhalts, der zurückgesendet wird (z. B. HTML). - **Statuscode**: Gibt den Status der Anfrage an, z. B. 200 OK für erfolgreich. **Web-Browser** 1. Der Webbrowser sendet eine GET-Anfrage an den Webserver, um eine HTML-Seite abzurufen. 2. Der Webserver antwortet, indem er die HTML-Datei zurücksendet. 3. Für jedes in der HTML-Seite referenzierte Element (z.B. CSS-Dateien oder Bilder) macht der Browser zusätzliche Anfragen an den Webserver. 4. Diese Dateien (z.B. CSS-Dateien, Bilder) werden ebenfalls an den Browser gesendet. 5. Sobald alle angeforderten Ressourcen empfangen wurden, rendert der Browser die Webseite und zeigt sie dem Benutzer an. - **Browseranforderung:** Der Browser sendet eine GET-Anfrage für eine HTML-Seite. - **Zusätzliche Anfragen:** Der Browser fordert weitere Ressourcen (CSS, Bilder) an, die in der HTML-Datei referenziert werden. - **Browser-Rendering:** Der Browser rendert die Webseite, nachdem alle Dateien empfangen wurden. - **Webserver:** Antwortet auf die Anfragen des Browsers und sendet die erforderlichen Dateien zurück. **Copyright im Internet** - Urheberrechte schützen Werke wie Fotos, Musik, Texte oder Videos. - Man darf keine Inhalte ohne Zustimmung des Urhebers auf Websites, Blogs oder soziale Netzwerke hochladen. - Auch wenn man nicht wusste, dass ein Inhalt geschützt ist, kann das als Urheberrechtsverletzung zählen. - Besonders Fotos sind oft Ziel von Urheberrechtsverletzungen, da sie leicht online überprüft werden können. - Urheberrecht im Internet: Schützt Werke wie Fotos, Videos, Texte etc. - Zustimmung erforderlich: Inhalte dürfen nur mit Erlaubnis des Rechteinhabers hochgeladen werden. - Unwissenheit schützt nicht: Auch wenn man nicht wusste, dass Inhalte geschützt sind, ist es eine Verletzung. - Fotos: Besonders oft von Urheberrechtsverletzungen betroffen, da sie leicht nachverfolgt werden können. - Automatischer Schutz: Urheberrecht entsteht automatisch, ohne Anmeldung (im Gegensatz zu Patenten). **Creative Commons** - **Attribution (BY):** Der Urheber muss genannt werden. - **No Derivatives (ND):** Die Arbeit darf wiederverwendet werden, jedoch nicht verändert. - **Non-Commercial (NC):** Die Arbeit darf nicht für kommerzielle Zwecke genutzt werden. - **ShareAlike (SA):** Veränderungen sind erlaubt, jedoch müssen diese Werke unter denselben Bedingungen geteilt werden. **KI -- Tools** 1. Generative KI-Tools bieten oft großzügige Nutzungsrechte 2. Inhalte können auf urheberrechtlich geschützten Werken basieren 3. Nutzer haften für eventuelle Urheberrechtsverletzungen - Kostenlose Bilddatenbanken: pixabay.com, unsplash.com - Lizenzbedingungen genau prüfen (z.B. Quellenangabe, kommerzielle Nutzung) - Bei von Nutzern hochgeladenen Bildern ist Vorsicht geboten (Marken, Logos, Bildrechte) **Wie kommt eine Websuchmaschine zu ihrem Ranking der Suchergebnisse?** - **Relevanz des Inhalts**: Passende Schlüsselwörter und semantische Analyse - **Backlinks**: Qualität und Quantität eingehender Links - **Nutzererfahrung**: Ladegeschwindigkeit, mobile Optimierung, Sicherheit (HTTPS) - **Verweildauer & Absprungrate**: Hinweise auf die Relevanz des Inhalts - **Aktualität des Inhalts**: Frische und regelmäßige Updates - **Lokale Relevanz**: Berücksichtigung des Standorts des Nutzers - **Technische SEO**: Indexierbarkeit, strukturierte Daten - **Personalisierung**: Suchverlauf und Vorlieben des Nutzers **Eine simple Möglichkeit: Der Vergleich von Dokumentenähnlichkeiten** - **Vektorraum-Modell: Entwickelt von G. Salton (1960er)** - **Gewichtung von Begriffen: Berücksichtigt, wie oft Begriffe in einem Dokument vorkommen** - **Dokumente als Vektoren: Dokumente und Anfragen werden als Vektoren dargestellt** - **Ähnlichkeitsmaße: Verwendet, um die Ähnlichkeit von Dokumenten zu berechnen** **Linkanalyse** - **Links**: Je mehr Links auf eine Seite verweisen, desto relevanter ist sie. - **Gewichtung**: Verlinkende Seiten mit hoher Relevanz erhöhen die Relevanz der Zielseite. - **Iterativer Algorithmus**: Der Prozess wird wiederholt, um die Gewichtung zu berechnen. - **Weitere Faktoren**: Neben Links spielen auch Termhäufigkeit, HTML-Markup und Sprache eine Rolle. **Websuchmaschine** - **Suchmaschinen als „Information Gatekeeper"** - **Gestaltung der Suchalgorithmen beeinflusst, welche Ergebnisse Nutzer sehen** - **Wichtige Fragen:** - **Transparenz der Algorithmen** - **Bevorzugung eigener Produkte im Ranking?** - **Bevorzugung „seriöser" Quellen?** **\ ** **Künstliche Intelligenz** 1. **Feed (Daten zuführen)**: - Zuerst wird das KI-System mit **Trainingsdaten** versorgt. Diese Daten können Text, Bilder, Audio oder andere Arten von Informationen sein, je nach dem Anwendungsbereich der KI. Zum Beispiel könnte man einer Bilderkennungs-KI Tausende von Bildern von Katzen zeigen. - Die KI analysiert diese Daten, um Muster zu erkennen. 2. **Tag (Daten kennzeichnen)**: - Menschen **taggen** (kennzeichnen) die Daten, um der KI zu zeigen, was das richtige Ergebnis ist. Dies wird auch als **überwachtes Lernen** bezeichnet. Für ein Bilderkennungsmodell könnten Menschen beispielsweise jedes Bild, das eine Katze zeigt, als \"Katze\" markieren. - Die KI verwendet diese Tags, um zu lernen, was korrekt ist. Das bedeutet, die KI lernt durch den Vergleich, welche Merkmale in den Bildern typisch für eine Katze sind. - Falls die KI falsche Ergebnisse liefert, bekommt sie mehr Daten und wird weiter trainiert. 3. **Test (Testen und Verfeinern)**: - Nachdem die KI mit den getaggten Daten trainiert wurde, wird sie getestet, um zu überprüfen, ob sie die Aufgabe korrekt ausführt. - Wenn die KI Fehler macht, z. B. ein Bild von einem Hund als Katze erkennt, erhält sie weitere Trainingsdaten oder Anpassungen, um besser zu lernen. Dieser Prozess kann mehrere Runden durchlaufen, bis das Modell korrekte Ergebnisse liefert. - Wenn das KI-Modell schließlich in der Lage ist, zuverlässig die richtige Antwort zu geben, gilt das Modell als \"bereit\" für den Einsatz. - **Trainingsdaten**: Daten, die verwendet werden, um das KI-Modell zu schulen. - **Tagging**: Menschen markieren die richtigen Antworten, damit die KI lernt, was korrekt ist. - **Testen**: Überprüfen, ob das Modell die Aufgabe richtig gelöst hat. Wenn nicht, wird es mit mehr Daten und Wiederholungen verbessert. - **Ziel**: Der Aufbau eines zuverlässigen KI-Modells, das die richtigen Entscheidungen trifft, basierend auf den gelernten Daten. **Generierte KI** - **Was ist Generative KI?**\ Generative KI-Systeme sind so programmiert, dass sie in verschiedenen kreativen Bereichen arbeiten können. Sie können Bilder malen, Musik komponieren, Texte schreiben und vieles mehr. Dabei greifen sie auf bereits vorhandene Daten zurück, analysieren sie und nutzen die erlernten Muster, um neue, einzigartige Ergebnisse zu erzeugen. Ein Beispiel dafür ist **DALL-E**, das aus Textbeschreibungen Bilder erstellt, oder **ChatGPT**, das auf der Basis einer Eingabe menschenähnliche Texte generiert. - **Wie funktioniert Generative KI?**\ Generative KI-Systeme verwenden oft ein Verfahren, das auf neuronalen Netzwerken basiert, wie z. B. **Generative Adversarial Networks (GANs)** oder **Transformers**. Diese Modelle werden mit einer Vielzahl von Daten trainiert, lernen Muster und Strukturen und können dann neue Daten erstellen, die diese Muster nachahmen oder sogar darüber hinausgehen. Ein Modell wie **ChatGPT** wurde beispielsweise mit Milliarden von Textdaten trainiert, um menschenähnliche Dialoge führen zu können. - **Beispiele und Anwendungen:** - **ChatGPT:** Ein KI-Modell, das auf Texteingaben reagiert und menschliche Dialoge simuliert. Es kann auch komplexe Texte schreiben, Fragen beantworten oder Inhalte zusammenfassen. - **DALL-E:** Diese KI erstellt auf Basis einer Textbeschreibung Bilder, die genau dem entsprechen, was der Nutzer sich wünscht. - **Musikkomposition:** Es gibt Systeme, die neue Musikstücke komponieren, indem sie aus einer Vielzahl von Musikgenres und Stilen lernen. - **3D-Modellierung und Simulationen:** Generative KI kann auch in Bereichen wie der Architektur, dem Game-Design oder der medizinischen Forschung verwendet werden, um 3D-Modelle zu erstellen oder Simulationen zu betreiben. - **Ziel:**\ Das übergeordnete Ziel der generativen KI ist es, menschliche Kreativität zu ergänzen oder sogar zu übertreffen. Diese Technologien sollen in der Lage sein, Aufgaben zu übernehmen, die bisher nur von Menschen durchgeführt wurden, sei es das Schreiben von kreativen Texten, das Erstellen von Kunstwerken oder das Entwickeln von Programmen und Simulationen. - **Aktuelle Entwicklungen:**\ Die Entwicklung dieser Technologien ist rasant. Systeme wie **ChatGPT** (von OpenAI) wurden erstmals 2022 öffentlich zugänglich gemacht. Darauf folgte 2023 die Veröffentlichung von **ChatGPT 4**, Google's **Bard** und **DALL-E 3**, die alle auf verschiedene Weise die Fähigkeit zur Inhaltserstellung verbessern. Diese Technologien befinden sich aktuell auf dem Höhepunkt der öffentlichen Aufmerksamkeit, und die Erwartungen sind hoch, wie im sogenannten **Hype Cycle** von Gartner gezeigt wird. 1. **Definition:** - Generative KI erstellt neue Inhalte wie Bilder, Texte, Videos und Musik. 2. **Ziel:** - Ergänzt oder übertrifft menschliche kreative Fähigkeiten. 3. **Beispiele für generative KI:** - ChatGPT (Text), DALL-E (Bilder), Musikkomposition, 3D-Modelle. 4. **Funktionsweise:** - Verwendet neuronale Netzwerke und maschinelles Lernen (z. B. GANs, Transformers). 5. **Anwendungsbereiche:** - Kunst, Unterhaltung, Forschung, Simulationen, Musik, Textgenerierung. 6. **Aktuelle Entwicklungen:** - ChatGPT 3 & 4, DALL-E 3, Google Bard. 7. **Zukunftsperspektive:** - Generative KI steht im „Peak of Inflated Expectations" (Hype Cycle) und wird weiter an Bedeutung gewinnen. Formularende Entwicklung der KI 1. **Bias durch Daten** -- das bedeutet, dass die Trainingsdaten voreingenommene Informationen enthalten. 2. **Bias durch den Algorithmus** -- der Algorithmus selbst bevorzugt bestimmte Informationen oder Entscheidungen. **Mögliche Probleme, die durch KI-Bias entstehen können:** - **Unfaire Einstellungspraxis:** Bestimmte Bewerber können aufgrund ihres Hintergrunds bevorzugt oder benachteiligt werden. - **Ungerechte Entscheidungen:** In Bereichen wie Strafjustiz oder Gesundheitsfürsorge könnte die KI diskriminierende Entscheidungen treffen, z. B. aufgrund von Rasse oder Geschlecht. - **Bias in KI-Systemen**: Entsteht durch einseitige oder unvollständige Trainingsdaten. - **Zwei Hauptarten von Bias**: 1. Bias durch Daten, 2. Bias durch Algorithmus. - **Folgen von Bias**: Diskriminierung bei Einstellungen oder Entscheidungen in Justiz und Gesundheitswesen. - **Beispiel für Bias**: Bevorzugung bestimmter Kandidaten aufgrund von Hintergrundinformationen. **Die vier Risikoklassen:** 1. **Inakzeptables Risiko** (Verboten): - **Verbotene** KI-Systeme, da sie die Menschenrechte stark gefährden könnten. - Beispiel: **Social Scoring** oder **Massenüberwachung** in der Öffentlichkeit. 2. **Hochrisiko-Systeme** (Strenge Auflagen): - Diese Systeme sind **erlaubt**, aber nur unter sehr strenger Aufsicht. - Sie sind für kritische Anwendungen in **Medizin**, **Bildung** oder **Strafverfolgung** gedacht. - Muss während des gesamten Lebenszyklus dokumentiert und geprüft werden. 3. **Begrenztes Risiko** (Dokumentation und Transparenz): - Systeme, die mit Menschen interagieren, wie **Chatbots** oder **Deepfakes**, gehören hierher. - Es muss klar offengelegt werden, dass es sich um eine KI handelt, aber es gibt keine strengen Prüfungen. 4. **Minimales Risiko** (Keine besonderen Auflagen): - Hierzu zählen z. B. **Spamfilter** oder **Videospiel-KI**. Diese Systeme stellen kein Sicherheitsrisiko dar und können frei verwendet werden. **Strafen und Durchsetzung:** - Bei Verstößen gegen das Gesetz drohen hohe **Geldstrafen** von bis zu **35 Millionen Euro** oder **7 % des weltweiten Umsatzes** eines Unternehmens. **Ausnahmen:** - KI-Systeme für **wissenschaftliche Forschung**, den **Haushalt** oder **militärische Zwecke** fallen nicht unter die strengen Regeln. **EU AI Act (KI-Gesetz)**: - Regulierung von KI in der EU. - Ziel: Sicherer, ethischer und transparenter KI-Einsatz. - Start: Erste Regeln ab Ende 2024, vollständige Umsetzung bis 2026. - **Risikoklassen von KI**: - **Inakzeptables Risiko**: Verboten (z. B. Social Scoring, Massenüberwachung). - **Hochrisiko**: Strenge Prüfungen und Auflagen (z. B. Medizin, Strafverfolgung). - **Begrenztes Risiko**: Transparenzpflichten, keine strengen Prüfungen (z. B. Chatbots, Deepfakes). - **Minimales Risiko**: Keine Auflagen, sicher (z. B. Spamfilter, Videospiel-KI). - **Strafen**: - Bis zu 35 Millionen Euro oder 7 % des weltweiten Umsatzes bei Nichteinhaltung. - **Ausnahmen**: - Wissenschaftliche Forschung, Haushaltsnutzung, militärische Zwecke.

Use Quizgecko on...
Browser
Browser