2015-10-14 14:17:01 +02:00
%RK Klausur Loesungsversuch (faui2k13)
\documentclass { article}
\usepackage { amsmath}
2015-10-14 21:44:38 +02:00
%\usepackage{epsf}
2015-10-19 17:08:39 +02:00
%tkitz stuff
\usepackage { tikz}
\usepackage { listings}
2015-10-14 14:17:01 +02:00
\DeclareMathSizes { 10} { 10} { 10} { 10}
\setlength { \parindent } { 0pt}
\title { Klausur M\" arz 2015}
\begin { document}
\maketitle
\section { Allgemeine Fragen}
\subsection { FTP}
\textbf { a)} \\
- Verschiedene TCP-Verbinndungen f\" ur Daten\" ubertragung und Streuerung/Befehle\\
- Steuerung w\" ahrend Daten\" ubertragen m\" oglich\\
\textbf { b)} \\
- im Aktive Mode initialisiert der Server die Datenverbinndung zum Client nach Anfrage\\
- im Passive Mode tun dies der Client selbst, das hat den Vorteil, dass die Firewall des Clients dann wahrscheinlich nicht die Verbinndung des Servers blockt\\
\subsection { Adressierung}
\textbf { a)} \\
- ARP \\
- BROTKAST an alle Ger\" ate mit der IP des gesuchten Ger\" ats als Payload\\
- gesuchtes Ger\" at antwortet mit eigener MAC\\
- Schicht 2 (Sicherungsschicht)\\
\textbf { b)} \\
- Nein, ARP ist bereits ein Gegenbeispiel\\
\textbf { c)} \\
Ja, da beide im gleichen Subnetz sind
\begin { align*}
& HostB\; 00001010\; 00000000\; 000000|01\; 00000100 \\
& HostC\; 00001010\; 00000000\; 000000|11\; 00001000
\end { align*}
Teilnehmer: $ ( 2 ^ 10 ) $ -2 = 1022
\textbf { d)} \\
- Vorteil: Auch bitfehler im IP-Header k\" onnen erkannt werden\\
- Nachteil: Verletzung des Schichtenprinzips
\subsubsection { Leitungskodierung}
\textbf { a)} \\
- selbsttaktend: Empfänger kann Sendertakt aus Signal gewinnen \\
- gleichstromfrei: kein Gleichanteil im elektrischen Signal \\
2015-10-19 17:08:39 +02:00
\textbf { b)} \\ \\
\begin { tikzpicture} [xscale=2]
\draw (0,0) -- (0.25,0) -- (0.25,0.5) -- (0.75,0.5) -- (0.75,0) -- (1,0) --
(1,0.5) -- (1.25,0.5) -- (1.25,0) -- (1.5,0) -- (1.5,0.5) -- (1.75,0.5) --
(1.75,0) -- (2.25,0) -- (2.25,0.5) -- (2.5,0.5) -- (2.5,0) -- (2.75,0) --
(2.75,0.5) -- (3.25,0.5) -- (3.25,0) -- (3.5,0) -- (3.5,0.5) -- (3.75,0.5) --
(3.75,0) -- (4,0);
\end { tikzpicture} \\
-\hspace { 3mm} 0\hspace { 8mm} 1\hspace { 8.5mm} 1\hspace { 8mm} 1\hspace { 9mm} 0\hspace { 8mm}
0\hspace { 8mm} 1\hspace { 8mm} 1 \; \; - \\
\section { TCP}
\subsection { Round-Trip-Time}
\[ RTT = 2 * d _ { prop } + 10 ms = 2 * 45 ms + 10 ms = 100 ms \]
\subsection { TCP Verlauf}
$ A - >B: SYN, Seq = 1 , Ack = XX \\
A<-B: SYN, ACK, Seq=XX+1, Ack=2 \\
A->B: ACK, Seq=2, Ack=XX+2 \\
\textbf { \textit { Verbindung erfolgreich aufgebaut} } \\
A<-B: Data, Seq=XX+2, Ack=3 \hspace * { 1cm} |\; \; CW = 1 \\
A->B: ACK, Seq=3, Ack=XX+3 \\
\textbf { \textit { BANG!} } \\
A<-B: Data, Seq=XX+3, Ack=4 \\
A<-B: Data, Seq=XX+4, Ack=5 \hspace * { 1cm} |\; \; CW = 2 \\
\textbf { \textit { Demnach weiterer Verlauf nach tau:} } \\
A<-B: Data, Seq=XX+3, Ack=4 \hspace * { 1cm} |\; \; CW = 1 \\
A->B: ACK, Seq=4, Ack=XX+4 \\
A<-B: Data, Seq=XX+4, Ack=5 \hspace * { 1cm} |\; \; CW = 2 \\
A<-B: Data, Seq=XX+5, Ack=6 \\
A->B: ACK, Seq=5, Ack=XX+5 \\
A->B: ACK, Seq=6, Ack=XX+6 \\
$ \\
Nach dem 4. Paket wurden 5000 Bytes uebertragen.
\subsection { Leistungsanalyse}
$ d _ { prop } = 45 ms $ \\ \\
$ d _ { trans } = \frac { L } { R } = 1 ms \; \; denn \; 10 \frac { MBit } { s } =
10^ 6 \frac { Bit} { s} = 1250\frac { Byte} { s} $ \\ \\
$ \frac { O } { L } = \frac { 5000 } { 1250 } = 4 $ \; \; \; \; $ t = 2 RTT + 4 * 1 ms + 4 * 45 ms = 384 ( mit \; RTT \; als \; 100 ms ) $
\newpage
\section { Programieraufgabe TCP-FIN}
\begin { lstlisting} [language=java]
public class TCPFIN extends base {
final int FIN_ WAIT_ 1 = 1;
final int FIN_ WAIT_ 2 = 2;
final int CLOSING = 3;
final int TIME_ WAIT = 4;
final int CLOSED = 5;
int state;
void close() throws IOException {
state = FIN_ WAIT_ 1;
send(FIN);
}
void receive(int flag) throws IOException {
if (flag == FIN) {
if (state == FIN_ WAIT_ 1) {
state = CLOSING;
} else if (state == FIN_ WAIT_ 2) {
state = TIME_ WAIT;
startTimer();
}
send(ACK);
} else if (flag == ACK) {
if (state == FIN_ WAIT_ 1) {
state = FIN_ WAIT_ 2;
} else if (state == CLOSING) {
state = TIME_ WAIT;
startTimer();
}
}
}
void timeout() throws WrongStateException {
if (state != TIME_ WAIT) {
throw new WrongStateException();
}
state = CLOSED;
}
}
\end { lstlisting}
\newpage
%unformated codeblock end
\section { Routingverfahren}
\subsection { Routingverfahren}
\subsubsection { Darstellung}
\begin { tikzpicture}
%Knoten
\draw (0,2) circle [radius=0.3];
\draw (3,2) circle [radius=0.3];
\draw (6,2) circle [radius=0.3];
\draw (0,0) circle [radius=0.3];
\draw (3,0) circle [radius=0.3];
%Beschriftung Knoten
\node [purple] at (0,2) { P} ;
\node [purple] at (3,2) { A} ;
\node [purple] at (6,2) { S} ;
\node [purple] at (0,0) { C} ;
\node [purple] at (3,0) { B} ;
%Linien
\draw (0.3,0) -- (2.7,0);
\draw (0,0.3) -- (0,1.7);
\draw (0.3,2) -- (2.7,2);
\draw (3,0.3) -- (3,1.7);
\draw (3.3,2) -- (5.7,2);
\draw (3.3,0) -- (6,1.7);
\draw (3,0.3) -- (0,1.7);
%Beschriftungen Linien
\node [left,red] at (0,1) { 1} ;
\node [above,red] at (1.5,2) { 8} ;
\node [above,red] at (1.5,1) { 4} ;
\node [below,red] at (1.5,0) { 2} ;
\node [left,red] at (3,1) { 2} ;
\node [red] at (4.5,1) { 4} ;
\node [above,red] at (4.5,2) { 1} ;
\end { tikzpicture}
\subsubsection { Minimal aufspannender Baum}
\begin { tabular} { | l | c | c | c | c | c |}
\hline
S & N' & D(A),p(A) & D(B),p(B) & D(C),p(C) & D(P),p(P) \\ \hline
test& test & test & test & test & test \\ \hline
\end { tabular}
\end { document}