Kommunikation in verteilten Anwendungen

kvanC, iCompetence, FHNW, Dozent: Simon Marcin, Unterrichtssprache: Englisch

kvanC, iCompetence, FHNW, Dozent: Simon Marcin, Unterrichtssprache: Englisch

Dinah Bolli

Dinah Bolli

Kartei Details

Karten 62
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 13.01.2022 / 25.05.2024
Weblink
https://card2brain.ch/box/20220113_web_engineering
Einbinden
<iframe src="https://card2brain.ch/box/20220113_web_engineering/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Definition Multi-Threaded

Ein Prozess besitzt mehrere Threads. Die Daten sind shared. Die Threads haben jeweils ihren eigenen Stack.

Erstellung Prozess vs. Erstellung Thread?

Ein neuer Prozess zu erstellen ist eine langsame und «heavyweight» Operation auf dem Betriebssystem. Mit shared Data zu arbeiten ist daher komplexer.

Im Vergleich zum Erstellen neuer Prozesse ist das Erstellen von neuen Threads eine „lightweight“ und schnelle Operation im Betriebssystem.

Race Condition Definition und Kontext

Eine Race-Condition entsteht dann, wenn zwei oder mehrere Threads / Prozesse auf dieselbe shared Ressource zugreifen; diese zur gleichen Zeit verändern. 

IPC Methode: Files

Gleichzeitiges Lesen/Schreiben nicht möglich, es wird eine Art Synchronisierung benötigt.

Sofern das Filesystem shared ist, kann diese Methode auch für inter-node Kommunikation verwendet werden.

IPC Methode: Signals

Kleine Nachricht, die einen Prozess benachrichtigt, dass etwas passiert ist.

IPC Methode: Was passiert bei einem Signal?

Wenn ein Signal zu einem Prozess geschickt wird, stoppt das OS den normalen Programm-Flow und führt zuerst die Signalmethode aus und führt dann das Programm normal weiter.

IPC Methode: Mutex

Mutex = mutual exclusion = gegenseitiger Ausschluss, Schloss. 

Hat 2 Zustände; locked oder unlocked (Boolean)

Wird verwendet, um eine shared Resource zu kontrollieren/synchronisieren.

IPC Methode: Mutex: Was passiert wenn der Mutex nie freigegeben wird?

Der Prozess kann verhungern oder in einem Deadlock enden.

IPC Methode: Mutex: "Critical section"?

Der Zeitrahmen zwischen dem Schliessen und Entschliessen.

IPC Methode: Pipe

Datenstruktur vom OS, um einen Stream von Daten zu senden oder erhalten.

Wird der Prozess geschlossen, stirbt die Pipe.

IPC Methode: Queue

Queues werden genutzt, um Nachrichten zwischhen Threads/Prozessen zu schicken.

Sie bieten ein asynchrones Kommunikationsprotokoll und lagern die Nachrichten bis ein Prozess die Nachricht abholt.

FIFO: Elemente nur am Anfang eingefügt und am Ende entfernt bzw. gelesen werden. Elemente, die als erstes in die Queue eingereiht werden, werden auch wieder als erstes daraus entfernt. 

Die Grösse der Nachricht sowie die Menge an Items in der Queue sind limitiert.

OSI Model: Layer 1

Physical

OSI Model: Layer 1, Characteristics

Actual physical connection between devices.

Responsible for the movement of individual bits between hosts.

OSI Model: Layer 2

Data Link

OSI Model: Layer 2, Characteristics

Moves frames from one node to the next node by their physical addresses (MAC).

Can implement Error and Flow Control.

OSI Model: Layer 3

Network

OSI Model: Layer 3, Characteristics

Responsible for source to destination delivery of a packet over a (or multiple) network(s) → IP (Internet Protocol) / ICMP

Provides routing mechanisms to transmit data over independent networks.

Adds logical address of sender and receiver.

OSI Model: Layer 4

Transport

OSI Model: Layer 4, Characteristics

Delivers entire messages by segmenting and numbering them.

Transmission is either connectionless or connection oriented.

Service point addressing is used to deliver the message to the correct process on the node.

OSI Model: Layer 5

Session

OSI Model: Layer 5, Characteristics

Opening, maintaining and closing the communication a session.

OSI Model: Layer 6

Presentation

OSI Model: Layer 6, Characteristics

En-/Decodes the data to match sender and receiver format.

Can add data encryption and/or data compression.

OSI Model: Layer 7

Application

OSI Model: Layer 7, Characteristics

Provides user interfaces and support for services like email, file transfers.

IP stands for?

Internet Protocol

IP: OSI Layer?

Layer 3 Network

IP: Characteristics?

Unreliable and connectionless, IP does not keep track of any routing information.

IP: TTL means?

Time to live: remaining routing hops: How many hops can the datagram go until it’s discarded?

IP: How much overhead do IP datagrams have?

min. 20 bytes

IP: IPv4 Address

32-bit number divided into 4 parts of each 8 bit digits.

Up to 65'000 concurrent connections can be opened to one IP address.

IP: IPv4 Netmask: Prefix

Network number

IP: IPv4 Netmask: Suffix

The suffix identifies the host number within the prefix.

IP: IPv4 Netmask: two forms?

– either in the form of xxx.xxx.xxx.xxx or 

– short / yy where yy is the number of subnet bits in the prefix

IP: Subnet size?

Different netmasks change the amount of maximal available clients in a network.

IP: Loopback Interface (Io)

– Is local to the device itself, almost always: 127.0.0.1

– A device can have >1 loopback interface

IP: ICMP stands for?

Internet Control Message Protocol

IP: ICMP: What does it do?

ICMP uses IP as transport protocol on OSI Layer 3 (network) devices en route, thus ICMP is on layer 4 (transport).

Every IP device must implement it.

IP: DNS (Domain Name System)

Client server application that resolves names into their IP addresses.

DNS is not encrypted and everybody on the network (or ISPs) know which sites you visit.

IP: Connection types

  • Unicast
  • Broadcast 
  • Multicast
  • Anycast