Rechnernetze / Kommunikationssysteme

SW-Sequenzdiagramm lt. Belegaufgabe

Dienstelemente eines bestätigten Dienstes

1
2
Request --> Indication
Confirm <-- Response 
sequenceDiagram participant AW1 participant FT1 participant SW1 participant Soc as Socket participant SW2 participant FT2 participant AW2 %% Kommentar Note over AW2: Start Server AW2->>+FT2: file.init Note over FT2: Wait for Start %% FT2-->>SW2: (data.ind.req) SW2-->>Soc: (udp.ind.req) %% %% Start %%%%%%%%%%%%%%%%%%%%%%% Note over AW1: Start Client AW1->>+FT1: file.req Note over FT1: Send Start FT1->>+SW1: data.req SW1->>Soc: udp.req %% Soc->>+SW2: udp.ind Note over SW2: Check Start %%FT2-->>SW2: data.res (OK/!OK) SW2->>Soc: udp.req (ACK) SW2->>-FT2: data.ind (Start) Note over FT2: If !CRC -> Start Note over FT2: Wait for Data Soc->>SW1: udp.ind (ACK) SW1->>-FT1: data.conf %% %% %% Data 1 %%%%%%%%%%%%%%%%%%%%%%% Note over FT1: Send Data 1 FT1->>+SW1: data.req SW1->>Soc: udp.req %% Error Note over Soc: Packet lost Note over SW1: Timeout SW1->>Soc: udp.req Soc->>+SW2: udp.ind %% %% SW2->>Soc: udp.req (ACK) SW2->>-FT2: data.ind (Data 1) %% FT2-->>SW2: data.res Note over FT2: Write to Stream Soc->>SW1: udp.ind (ACK) SW1->>-FT1: data.conf %% %% %% Data N %%%%%%%%%%%%%%%%%%%%%%% Note over FT1: Send Data 2...N Note over FT1: Send Data (CRC) FT1->>+SW1: data.req SW1->>Soc: udp.req FT2-->>SW2: data.req (CRC) Soc->>+SW2: udp.ind SW2->>FT2: data.ind (Data N) %%FT2->>-SW2: data.res (CRC) Note over FT2: If !CRC -> Start Note over FT2: Write to Stream Note over FT2: Ready %% FT2->>-AW2: file.ind SW2->>-Soc: udp.req (ACK + CRC) %% %%Note over SW2: Wait for Dup. Date Soc->>SW1: udp.ind (ACK + CRC) loop for repeated data SW2-->>Soc: ACK end SW1->>-FT1: data.conf %% SW1->>FT1: data.ind (CRC) Note over FT1: Check CRC %% Finish %%%%%%%%%%%%%%%%%%%% %%Note over FT1: Ready FT1->>-AW1: file.conf Note over AW1: Finish %% %% AW2->>+FT2: file.init Note over FT2: Wait for Start

Sender – Zustandsdiagramm

stateDiagram %% Kommentar s1: Wait für HL-Data s2: Wait for ACK [*] --> s1 s1 --> s2: HL-send req | send packet s2 --> s2: Timeout | resend (>10 Cancel) s2 --> s2: wrong ACK s2 --> s1: ACK received note right of s1: Start or Data note right of s2: ACK for 0/1

Empfänger – Zustandsdiagramm

stateDiagram %% Kommentar s1: Wait for Start s2: Wait for Data [*] --> s1 s1 --> s2: receive Start | put to HL, send ACK 0 s2 --> s2: receive Data | put to HL, send ACK s2 --> s2: receive Data, wrong NR | send ACK s2 --> s1: Timeout (10s) note right of s2: ACK for 0/1

Mermaid-Demo

Mathe mit Mathjax

Some inline Latex: \(a^2 + b^2 = c^2\)

Display equation:

\[\int e^{-kx} \, dx = -\frac{1}{k} e^{-kx}\]
1
2
3
4
5
<html>
  <main i=12>
    Test
  </main>
</html>
1
2
3
4
5
<html>
  <main i=12>
    Test
  </main>
</html>
1
2
def function():
  print('Yes')
1
2
    function some(code) { /*goes here*/ }
    let x = 21;

Letzte Änderung: 04. February 2022 18:29