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
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