Anwendungsschicht Flashcards

1
Q

Entwickeln von Netzwerkanwendungen

A
  • Netzwerkanwendungen: Programme, die…
    • … auf mehreren verschiedenen Endsystemen laufen
    • … über das Netzwerk kommunizieren
  • Keine Software im Netzwerkkern notwendig
    • im Inneren des Netzwerkes werden keine Anwendungen ausgeführt
    • Konzentration auf Endsysteme: schnelle Entwicklung und Verbreitung der Software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Architektur von Netzwerkanwendungen

A
  • legt fest, wie die Applikation auf den verschiedenen Endsystemen strukturiert ist
  • Paradigmen für Anwendunsarchitekturen
    • Client-Server
    • Peer-to-Peer (P2P)
    • Kombination von Client-Server und P2P
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Client-Server-Architektur

A
  • Server-Host
    • immer eingeschaltet
    • Feste IP-Adresse
    • Serverfarmen, um zu skalieren
  • Client-Hosts:
    • Kommunizieren mit Servern und nicht direkt miteinander
    • Sporadisch angeschlossen
    • Können dynamische IP-Adressen haben
  • Hohe Investitions- und Betriebskosten für Server-Bereitstellung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Reine P2P-Architektur

A
  • keine Server
  • beliebige Endsysteme kommunizieren direkt miteinander
  • Peers fordern von anderen Peers Dienst an, stellen selbst anderen Peers Dienst zur Verfügung
    • selbstskalierend: mit neuen Peers kommen neue Dienstanforderungen aber auch Dienstkapazität hinzu
  • Peers sind nur sporadisch angeschlossen und wechseln ihre IP-Adresse
  • Gut skalierbar, aber schwer zu warten und zu steuern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Kombination Client-Server und P2P

A
  • Skype
    • P2P-Anwendungen für Voice-over-IP
    • Zentrale Server, um Adresse des Kommunikationspartners zu finden
    • Sprachübermittlung direkt zwischen Clients
  • Instant messaging
    • Chat zwischen zwei Benutzern: P2P
    • Zentralisierte Dienste: Erkennen von Anwesenheit, Zustand, Aufenthaltsort eines Anwenders
      • Benutzer registriert seine IP-Adresse beim Server, sobald er sich mit dem Netz verbindet
      • Benutzer fragt beim Server nach Informationen über seine Freunde und bekannten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Kommunizierende Prozesse

A
  • Prozess: Programm, welches auf einem Host läuft
  • Innerhalb eines Hosts können zwei Prozesse mit Inter-Prozess-Kommunikation Daten austauschen
  • Prozesse auf verschiedenen Hosts kommunizieren, indem sie Nachrichten über ein Netzwerk austauschen
  • Client-Prozess: Prozess, der die Kommunikation beginnt
  • Server-Prozess: Prozess, der darauf wartet, kontaktiert zu werden
  • Anwendungen mit P2P-Architektur haben Client- und Server-Prozesse auf jedem Host
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Sockets

A
  • Prozesse senden/ empfangen Nachrichten über einen Socket
  • lässt sich mit Tür vergleichen
  • auch API
    • Wahl des Transportprotokolls
    • Einstellen einiger Transportschichtparameter
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Adressierung von Prozessen

A
  • um Nachrichten zu empfangen, muss ein Prozess identifiziert werden können
  • Hierarchisches Adressierungsschema:
    • Jedes Endsystemen hat eine eindeutige IP-Adresse
    • Portnummer identifiziert Prozess innerhalb des Ziel-Hosts
  • Prozesse werden Netzwerken durch eine IP-Adresse und eine Portnummer adressiert
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wahl des Transportdienstes für eine Applikation

A
  • Zuverlässiger Datentransfer
    • Einige Anwendungen können etwas Datenverlust tolerieren
    • Andere Anwendungen benötigen einen absolut zuverlässigen Datentransfer
  • Zeitanforderung
    • Einige Anwendungen tolerieren nur sehr geringe Verzögerung
  • Durchsatz
    • Einige Anwendungen brauchen Mindestbandbreite um zu funktionieren
    • Andere verwenden einfach die verfügbare Kapazität
  • Sicherheit
    • Verschlüsselung, Datenintegrität, …
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Internet-Transportprotokolle und deren Dienste

A
  • TCP (Transmission Control Protocol)
    • verbindungsorientiert
    • zuverlässiger Transport
    • Flusssteuerung
    • Überlaststeuerung
    • Keine Zeit- und Durchsatz-Garantien oder Sicherheit
  • UDP (User Datagram Protocol)
    • verbindungslos
    • Unzuverlässiger Transport
    • auch keine Fluss-, Überlastungssteuerung, Zeit-, Durchsatzgarantien oder Sicherheit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

WWW und HTTP - Begriffe

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

HTTP Überblick

A
  • Anwendungsprotokoll des WWW
  • Client-Server-Modell
    • Client: Browser, der Web-Objekte anfordert (über HTTP), empfängt und „anzeigt“
    • Server: Web-Server mit fester IP-Adresse, der ständig online ist, sendet (über HTTP) Objekte als Antwort auf Anfragen
  • Verwendet TCP
    • Client initiiert TCP-Verbindung zum Server-Port 80
    • Server akzeptiert den TCP-Verbindungswunsch vom Client
    • HTTP-Nachrichten werden zwischen Browser und Web-Server ausgetauscht
    • TCP-Verbindung wird abgebaut
  • HTTP ist gedächtnislos: Server speichert keine Information über frühere Client-Anfragen
  • Protokolle mit Gedächtnis sind komplex
    • der Zustand muss gespeichert und verwaltet werden
    • bei Server/ Client Absturz kann deren Sicht des Zustands differieren, muss wieder abgeglichen werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

HTTP Verbindungsmodi

A
  • Nicht persistentes HTTP
    • Maximal ein Objekt -> ein Request/ Response-Paar wird über eine TCP-Verbindung gesendet
    • Nach jedem Objekttransfer wird die TCP-Verbindung abgebaut
    • Herunterladen mehrerer Objekte erfordert mehrere Verbindungen
  • Persistentes HTTP
    • Mehrere Objekte können über eine einzige TCP-Verbindung zwischen Client und Server gesendet werden
    • Server schließt die TCP-Verbindung nach einem konfigurierbaren Timeout für Client-Aktivität
    • Default-Modus, aber konfigurierbar in Client und Server
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Nicht persistentes HTTP: Antwortzeit

A
  • Round Trip Time (RTT): Zeit, um ein kleines Paket vom Client zum Server und zurück zu senden
  • Antwortzeit:
    • eine RTT um die TCP-Verb. Aufzubauen
    • eine RTT für HTTP-Request und die ersten wenigen Bytes des HTTP-Response zu empfangen
    • Gesamtzeit für den Objekttransfer = 2RTT + Übertragungsdauer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vergleich der Verbindungsmodi

A
  • Probleme nicht persistent:
    • erfordert 2xRTT pro Objekt
    • Browser öffnen oft parallele TCP-Verbindungen, um referenzierte Objekte zu holen
    • Betriebssystem-Overhead für jede TCP-Verbindung
  • Vorteile persistent:
    • Client sendet Requests sobald er auf ein referenziertes Objekt stößt -> Pipelining zulässig
    • Nur eine RTT für alle referenziertem Objekte
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

HTTP-Nachrichten

A
  • Nachrichten im ASCII-Format
  • Zwei Nachrichtentypen: Request, Response
  • HTTP-Request:
17
Q

HTTP-Response

A
18
Q

Methodenarten

A
19
Q

Domain Name System (DNS)

A
  • besteht aus
    • Verteiler Datenbank: implementiert in einer Hierarchie von vielen Nameservern
    • DNS-Protokoll: erlauben Clients und Nameservern zu kommunizieren um Namen aufzulösen
      • Zentrale Internetfunktion: implementiert als Protokoll der Anwendungsschicht
      • Grund: Komplexität nur am Netzwerkrand
      • Nutzt UDP und Port 53
      • Verwendung durch andere Protokolle der Anwendungsschicht (HTTP, SMTP, FTP, …)
  • DNS-Dienste
    • Übersetzung von Hostnamen in IP-Adressen
    • Aliasnamen für Hosts: Liefern von kanonischen Namen und IP-Adresse auf Basis des Aliasnamens
    • Aliasnamen für Mailserver
    • Lastausgleich: Replizierte Webserver (mehrere IP-Adressen für einen kanonischen Namen)
  • Warum ist DNS nicht zentralisiert?
    • Robustheit gegenüber Fehlern und Angriffen
    • Datenverkehrsaufkommen
    • Große Distanz zur zentralisierten Datenbank
    • Wartung
20
Q

Verteilte, hierarchische Datenbank

A