<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>TCP/IP on FISI Lernzettel</title><link>https://hugo.globuklumbo.de/tags/tcp/ip/</link><description>Recent content in TCP/IP on FISI Lernzettel</description><generator>Hugo</generator><language>de</language><atom:link href="https://hugo.globuklumbo.de/tags/tcp/ip/index.xml" rel="self" type="application/rss+xml"/><item><title>TCP/IP-Modell</title><link>https://hugo.globuklumbo.de/02_netzwerk/tcp-ip/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://hugo.globuklumbo.de/02_netzwerk/tcp-ip/</guid><description>&lt;h1 id="tcpip-modell"&gt;TCP/IP Modell&lt;a class="anchor" href="#tcpip-modell"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Das TCP/IP-Modell ist das &lt;strong&gt;praktisch verwendete&lt;/strong&gt; Schichtenmodell des Internets (im Gegensatz zum theoretischen &lt;abbr title="Open Systems Interconnection (Referenzmodell)" style="text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--color-link); cursor: help;"&gt;OSI&lt;/abbr&gt;-Modell mit 7 Schichten).&lt;/p&gt;
&lt;h2 id="osi-vs-tcpip"&gt;OSI vs. TCP/IP&lt;a class="anchor" href="#osi-vs-tcpip"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;TCP/IP Schicht&lt;/th&gt;
					&lt;th&gt;OSI Schichten&lt;/th&gt;
					&lt;th&gt;Protokolle (Beispiele)&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;4 — Anwendung&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;7 Application, 6 Presentation, 5 Session&lt;/td&gt;
					&lt;td&gt;HTTP, HTTPS, FTP, DNS, DHCP, SMTP, SSH&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;3 — Transport&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;4 Transport&lt;/td&gt;
					&lt;td&gt;TCP, UDP&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;2 — Internet&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;3 Network&lt;/td&gt;
					&lt;td&gt;IP (IPv4/IPv6), ICMP, ARP&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;1 — Netzzugang&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;2 Data Link, 1 Physical&lt;/td&gt;
					&lt;td&gt;Ethernet, WLAN (802.11), MAC&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;pre class="mermaid" data-mermaid-src="Zmxvd2NoYXJ0IExSCiAgICBzdWJncmFwaCBPU0kgWyJPU0kgKDcgU2NoaWNodGVuKSJdCiAgICAgICAgbzdbIjcgQXBwbGljYXRpb24iXQogICAgICAgIG82WyI2IFByZXNlbnRhdGlvbiJdCiAgICAgICAgbzVbIjUgU2Vzc2lvbiJdCiAgICAgICAgbzRbIjQgVHJhbnNwb3J0Il0KICAgICAgICBvM1siMyBOZXR3b3JrIl0KICAgICAgICBvMlsiMiBEYXRhIExpbmsiXQogICAgICAgIG8xWyIxIFBoeXNpY2FsIl0KICAgIGVuZAogICAgc3ViZ3JhcGggVENQSVAgWyJUQ1AvSVAgKDQgU2NoaWNodGVuKSJdCiAgICAgICAgdDRbIkFud2VuZHVuZyJdCiAgICAgICAgdDNbIlRyYW5zcG9ydCJdCiAgICAgICAgdDJbIkludGVybmV0Il0KICAgICAgICB0MVsiTmV0enp1Z2FuZyJdCiAgICBlbmQKICAgIG83ICYgbzYgJiBvNSAtLS0gdDQKICAgIG80IC0tLSB0MwogICAgbzMgLS0tIHQyCiAgICBvMiAmIG8xIC0tLSB0MQ=="&gt;flowchart LR
 subgraph OSI [&amp;#34;OSI (7 Schichten)&amp;#34;]
 o7[&amp;#34;7 Application&amp;#34;]
 o6[&amp;#34;6 Presentation&amp;#34;]
 o5[&amp;#34;5 Session&amp;#34;]
 o4[&amp;#34;4 Transport&amp;#34;]
 o3[&amp;#34;3 Network&amp;#34;]
 o2[&amp;#34;2 Data Link&amp;#34;]
 o1[&amp;#34;1 Physical&amp;#34;]
 end
 subgraph TCPIP [&amp;#34;TCP/IP (4 Schichten)&amp;#34;]
 t4[&amp;#34;Anwendung&amp;#34;]
 t3[&amp;#34;Transport&amp;#34;]
 t2[&amp;#34;Internet&amp;#34;]
 t1[&amp;#34;Netzzugang&amp;#34;]
 end
 o7 &amp;amp; o6 &amp;amp; o5 --- t4
 o4 --- t3
 o3 --- t2
 o2 &amp;amp; o1 --- t1&lt;/pre&gt;&lt;h2 id="tcp-vs-udp"&gt;TCP vs. UDP&lt;a class="anchor" href="#tcp-vs-udp"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Eigenschaft&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;&lt;abbr title="Transmission Control Protocol" style="text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--color-link); cursor: help;"&gt;TCP&lt;/abbr&gt;&lt;/strong&gt;&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;&lt;abbr title="User Datagram Protocol" style="text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--color-link); cursor: help;"&gt;UDP&lt;/abbr&gt;&lt;/strong&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Verbindung&lt;/td&gt;
					&lt;td&gt;Verbindungsorientiert (3-Way-Handshake)&lt;/td&gt;
					&lt;td&gt;Verbindungslos&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Zuverlässigkeit&lt;/td&gt;
					&lt;td&gt;Ja — Empfang wird bestätigt&lt;/td&gt;
					&lt;td&gt;Nein — kein ACK&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Reihenfolge&lt;/td&gt;
					&lt;td&gt;Garantiert (Sequenznummern)&lt;/td&gt;
					&lt;td&gt;Nicht garantiert&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Fehlerkorrektur&lt;/td&gt;
					&lt;td&gt;Ja (Wiederholung bei Verlust)&lt;/td&gt;
					&lt;td&gt;Nein&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Geschwindigkeit&lt;/td&gt;
					&lt;td&gt;Langsamer (Overhead)&lt;/td&gt;
					&lt;td&gt;Schneller&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Einsatz&lt;/td&gt;
					&lt;td&gt;HTTP, HTTPS, FTP, SSH, SMTP&lt;/td&gt;
					&lt;td&gt;DNS, DHCP, VoIP, Streaming, Gaming&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="tcp-3-way-handshake"&gt;TCP 3-Way-Handshake&lt;a class="anchor" href="#tcp-3-way-handshake"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre class="mermaid" data-mermaid-src="c2VxdWVuY2VEaWFncmFtCiAgICBwYXJ0aWNpcGFudCBDIGFzIENsaWVudAogICAgcGFydGljaXBhbnQgUyBhcyBTZXJ2ZXIKICAgIEMtPj5TOiBTWU4gKFZlcmJpbmR1bmcgYW5mcmFnZW4pCiAgICBTLT4&amp;#43;QzogU1lOLUFDSyAoYmVzdMOkdGlnZW4gKyBlaWdlbmUgU1lOKQogICAgQy0&amp;#43;PlM6IEFDSyAoYmVzdMOkdGlnZW4pCiAgICBOb3RlIG92ZXIgQyxTOiBWZXJiaW5kdW5nIGF1ZmdlYmF1dAogICAgQy0&amp;#43;PlM6IERhdGVuLi4uCiAgICBDLT4&amp;#43;UzogRklOIChWZXJiaW5kdW5nIGJlZW5kZW4pCiAgICBTLT4&amp;#43;QzogQUNLICsgRklOCiAgICBDLT4&amp;#43;UzogQUNL"&gt;sequenceDiagram
 participant C as Client
 participant S as Server
 C-&amp;gt;&amp;gt;S: SYN (Verbindung anfragen)
 S-&amp;gt;&amp;gt;C: SYN-ACK (bestätigen + eigene SYN)
 C-&amp;gt;&amp;gt;S: ACK (bestätigen)
 Note over C,S: Verbindung aufgebaut
 C-&amp;gt;&amp;gt;S: Daten...
 C-&amp;gt;&amp;gt;S: FIN (Verbindung beenden)
 S-&amp;gt;&amp;gt;C: ACK + FIN
 C-&amp;gt;&amp;gt;S: ACK&lt;/pre&gt;&lt;h2 id="ip-paket-aufbau-vereinfacht"&gt;IP-Paket Aufbau (vereinfacht)&lt;a class="anchor" href="#ip-paket-aufbau-vereinfacht"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Feld&lt;/th&gt;
					&lt;th&gt;Inhalt&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Version&lt;/td&gt;
					&lt;td&gt;IPv4 (4) oder IPv6 (6)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;abbr title="Time to Live" style="text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--color-link); cursor: help;"&gt;TTL&lt;/abbr&gt; (Time to Live)&lt;/td&gt;
					&lt;td&gt;Maximale Hops, wird bei jedem Router −1 → bei 0: Paket verworfen&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Protokoll&lt;/td&gt;
					&lt;td&gt;TCP (6), UDP (17), ICMP (1)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Quell-&lt;abbr title="Internet Protocol" style="text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--color-link); cursor: help;"&gt;IP&lt;/abbr&gt;&lt;/td&gt;
					&lt;td&gt;Absender-Adresse&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Ziel-IP&lt;/td&gt;
					&lt;td&gt;Empfänger-Adresse&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Daten (Payload)&lt;/td&gt;
					&lt;td&gt;Nutzdaten&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="ports"&gt;Ports&lt;a class="anchor" href="#ports"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;0–1023:&lt;/strong&gt; Well-known Ports (standardisiert, z.B. 80=&lt;abbr title="Hypertext Transfer Protocol" style="text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--color-link); cursor: help;"&gt;HTTP&lt;/abbr&gt;, 443=&lt;abbr title="Hypertext Transfer Protocol Secure" style="text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--color-link); cursor: help;"&gt;HTTPS&lt;/abbr&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1024–49151:&lt;/strong&gt; Registered Ports (registriert, z.B. 3389=&lt;abbr title="Remote Desktop Protocol" style="text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--color-link); cursor: help;"&gt;RDP&lt;/abbr&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;49152–65535:&lt;/strong&gt; Dynamic/Ephemeral Ports (temporär vom Client genutzt)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="quiz"&gt;Quiz&lt;a class="anchor" href="#quiz"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;details id="quiz-fcabfbc6" class="book-quiz"&gt;
 &lt;summary class="book-quiz-summary"&gt;❓ Welche OSI-Schichten werden in der TCP/IP-Anwendungsschicht zusammengefasst?&lt;/summary&gt;
 &lt;div class="book-quiz-body"&gt;
 &lt;div class="book-quiz-options" id="quiz-options-fcabfbc6"&gt;
 &lt;button type="button" class="book-quiz-btn" data-answer="Application, Presentation, Session (Schicht 7, 6, 5)" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;Application, Presentation, Session (Schicht 7, 6, 5)&lt;/button&gt;&lt;button type="button" class="book-quiz-btn" data-answer="Application und Transport (Schicht 7, 4)" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;Application und Transport (Schicht 7, 4)&lt;/button&gt;&lt;button type="button" class="book-quiz-btn" data-answer="Nur Application (Schicht 7)" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;Nur Application (Schicht 7)&lt;/button&gt;&lt;button type="button" class="book-quiz-btn" data-answer="Network und Data Link (Schicht 3, 2)" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;Network und Data Link (Schicht 3, 2)&lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="book-quiz-result" id="quiz-result-fcabfbc6"&gt;&lt;/div&gt;
 &lt;div class="book-quiz-actions"&gt;
 &lt;button type="button" class="book-quiz-btn" id="quiz-check-fcabfbc6" onclick="window.bookQuizCheck('fcabfbc6', &amp;#34;\&amp;#34;Application, Presentation, Session (Schicht 7, 6, 5)\&amp;#34;&amp;#34;)"&gt;Auswerten&lt;/button&gt;
 &lt;button type="button" class="book-quiz-btn book-quiz-retry" id="quiz-retry-fcabfbc6" style="display:none" onclick="window.bookQuizReset('fcabfbc6')"&gt;Zurücksetzen&lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/details&gt;

&lt;style&gt;
.book-quiz {
 border: 1px solid var(--gray-200);
 border-radius: var(--border-radius);
 margin: 1.5rem 0;
 overflow: hidden;
}
.book-quiz-summary {
 padding: 0.75rem 1rem;
 cursor: pointer;
 font-weight: 600;
 background: var(--gray-100);
}
.book-quiz-body { padding: 1rem; }
.book-quiz-btn {
 display: block;
 width: 100%;
 text-align: left;
 box-sizing: border-box;
 padding: 0.5rem 0.75rem;
 margin: 0.4rem 0;
 cursor: pointer;
 border: 1px solid var(--gray-200);
 border-radius: var(--border-radius);
 background: transparent;
 color: inherit;
 font-family: inherit;
 font-size: 0.9em;
}
.book-quiz-btn:hover:not(:disabled) { background: var(--gray-100); }
.book-quiz-btn[data-selected="true"] { background: var(--gray-100); border-color: var(--color-link); }
.book-quiz-actions { display: flex; gap: 0.5rem; margin-top: 0.75rem; }
.book-quiz-actions .book-quiz-btn { width: auto; }
.book-quiz-result { margin-top: 0.75rem; font-weight: 600; min-height: 1.2em; }
.book-quiz-btn.correct { border-color: var(--color-accent-tip); color: var(--color-accent-tip); }
.book-quiz-btn.incorrect { border-color: var(--color-accent-caution); color: var(--color-accent-caution); }
.book-quiz-btn.missed { border-color: var(--color-accent-tip); border-style: dashed; opacity: 0.8; }
&lt;/style&gt;

&lt;script&gt;
(function () {
 if (window.bookQuizDefined) return;
 window.bookQuizDefined = true;

 window.bookQuizToggle = function (btn) {
 if (btn.disabled) return;
 var selected = btn.getAttribute('data-selected') === 'true';
 btn.setAttribute('data-selected', selected ? 'false' : 'true');
 };

 window.bookQuizCheck = function (id, correctStr) {
 var correct = correctStr.split('|').map(function (s) { return s.trim(); });
 var buttons = document.querySelectorAll('#quiz-options-' + id + ' .book-quiz-btn');
 var result = document.getElementById('quiz-result-' + id);
 var selectedCount = 0;
 var perfect = true;

 buttons.forEach(function (btn) {
 var val = btn.getAttribute('data-answer').trim();
 var selected = btn.getAttribute('data-selected') === 'true';
 var isCorrect = correct.indexOf(val) !== -1;
 if (selected) selectedCount++;
 btn.disabled = true;

 if (isCorrect &amp;&amp; selected) btn.classList.add('correct');
 else if (isCorrect &amp;&amp; !selected) { btn.classList.add('missed'); perfect = false; }
 else if (!isCorrect &amp;&amp; selected) { btn.classList.add('incorrect'); perfect = false; }
 });

 if (selectedCount === 0) {
 result.textContent = '⚠ Bitte mindestens eine Antwort auswählen.';
 buttons.forEach(function (btn) { btn.disabled = false; });
 return;
 }

 result.textContent = perfect ? '✔ Richtig!' : '✘ Nicht ganz richtig.';
 document.getElementById('quiz-check-' + id).style.display = 'none';
 document.getElementById('quiz-retry-' + id).style.display = 'inline-block';
 };

 window.bookQuizReset = function (id) {
 var buttons = document.querySelectorAll('#quiz-options-' + id + ' .book-quiz-btn');
 buttons.forEach(function (btn) {
 btn.disabled = false;
 btn.setAttribute('data-selected', 'false');
 btn.classList.remove('correct', 'incorrect', 'missed');
 });
 document.getElementById('quiz-result-' + id).textContent = '';
 document.getElementById('quiz-check-' + id).style.display = 'inline-block';
 document.getElementById('quiz-retry-' + id).style.display = 'none';
 };
})();
&lt;/script&gt;

&lt;details id="quiz-8d8db8ef" class="book-quiz"&gt;
 &lt;summary class="book-quiz-summary"&gt;❓ Welche Nachrichten werden beim TCP 3-Way-Handshake in dieser Reihenfolge ausgetauscht?&lt;/summary&gt;
 &lt;div class="book-quiz-body"&gt;
 &lt;div class="book-quiz-options" id="quiz-options-8d8db8ef"&gt;
 &lt;button type="button" class="book-quiz-btn" data-answer="SYN, SYN-ACK, ACK" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;SYN, SYN-ACK, ACK&lt;/button&gt;&lt;button type="button" class="book-quiz-btn" data-answer="ACK, SYN, SYN-ACK" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;ACK, SYN, SYN-ACK&lt;/button&gt;&lt;button type="button" class="book-quiz-btn" data-answer="SYN, ACK, SYN-ACK" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;SYN, ACK, SYN-ACK&lt;/button&gt;&lt;button type="button" class="book-quiz-btn" data-answer="SYN-ACK, SYN, ACK" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;SYN-ACK, SYN, ACK&lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="book-quiz-result" id="quiz-result-8d8db8ef"&gt;&lt;/div&gt;
 &lt;div class="book-quiz-actions"&gt;
 &lt;button type="button" class="book-quiz-btn" id="quiz-check-8d8db8ef" onclick="window.bookQuizCheck('8d8db8ef', &amp;#34;\&amp;#34;SYN, SYN-ACK, ACK\&amp;#34;&amp;#34;)"&gt;Auswerten&lt;/button&gt;
 &lt;button type="button" class="book-quiz-btn book-quiz-retry" id="quiz-retry-8d8db8ef" style="display:none" onclick="window.bookQuizReset('8d8db8ef')"&gt;Zurücksetzen&lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/details&gt;

&lt;style&gt;
.book-quiz {
 border: 1px solid var(--gray-200);
 border-radius: var(--border-radius);
 margin: 1.5rem 0;
 overflow: hidden;
}
.book-quiz-summary {
 padding: 0.75rem 1rem;
 cursor: pointer;
 font-weight: 600;
 background: var(--gray-100);
}
.book-quiz-body { padding: 1rem; }
.book-quiz-btn {
 display: block;
 width: 100%;
 text-align: left;
 box-sizing: border-box;
 padding: 0.5rem 0.75rem;
 margin: 0.4rem 0;
 cursor: pointer;
 border: 1px solid var(--gray-200);
 border-radius: var(--border-radius);
 background: transparent;
 color: inherit;
 font-family: inherit;
 font-size: 0.9em;
}
.book-quiz-btn:hover:not(:disabled) { background: var(--gray-100); }
.book-quiz-btn[data-selected="true"] { background: var(--gray-100); border-color: var(--color-link); }
.book-quiz-actions { display: flex; gap: 0.5rem; margin-top: 0.75rem; }
.book-quiz-actions .book-quiz-btn { width: auto; }
.book-quiz-result { margin-top: 0.75rem; font-weight: 600; min-height: 1.2em; }
.book-quiz-btn.correct { border-color: var(--color-accent-tip); color: var(--color-accent-tip); }
.book-quiz-btn.incorrect { border-color: var(--color-accent-caution); color: var(--color-accent-caution); }
.book-quiz-btn.missed { border-color: var(--color-accent-tip); border-style: dashed; opacity: 0.8; }
&lt;/style&gt;

&lt;script&gt;
(function () {
 if (window.bookQuizDefined) return;
 window.bookQuizDefined = true;

 window.bookQuizToggle = function (btn) {
 if (btn.disabled) return;
 var selected = btn.getAttribute('data-selected') === 'true';
 btn.setAttribute('data-selected', selected ? 'false' : 'true');
 };

 window.bookQuizCheck = function (id, correctStr) {
 var correct = correctStr.split('|').map(function (s) { return s.trim(); });
 var buttons = document.querySelectorAll('#quiz-options-' + id + ' .book-quiz-btn');
 var result = document.getElementById('quiz-result-' + id);
 var selectedCount = 0;
 var perfect = true;

 buttons.forEach(function (btn) {
 var val = btn.getAttribute('data-answer').trim();
 var selected = btn.getAttribute('data-selected') === 'true';
 var isCorrect = correct.indexOf(val) !== -1;
 if (selected) selectedCount++;
 btn.disabled = true;

 if (isCorrect &amp;&amp; selected) btn.classList.add('correct');
 else if (isCorrect &amp;&amp; !selected) { btn.classList.add('missed'); perfect = false; }
 else if (!isCorrect &amp;&amp; selected) { btn.classList.add('incorrect'); perfect = false; }
 });

 if (selectedCount === 0) {
 result.textContent = '⚠ Bitte mindestens eine Antwort auswählen.';
 buttons.forEach(function (btn) { btn.disabled = false; });
 return;
 }

 result.textContent = perfect ? '✔ Richtig!' : '✘ Nicht ganz richtig.';
 document.getElementById('quiz-check-' + id).style.display = 'none';
 document.getElementById('quiz-retry-' + id).style.display = 'inline-block';
 };

 window.bookQuizReset = function (id) {
 var buttons = document.querySelectorAll('#quiz-options-' + id + ' .book-quiz-btn');
 buttons.forEach(function (btn) {
 btn.disabled = false;
 btn.setAttribute('data-selected', 'false');
 btn.classList.remove('correct', 'incorrect', 'missed');
 });
 document.getElementById('quiz-result-' + id).textContent = '';
 document.getElementById('quiz-check-' + id).style.display = 'inline-block';
 document.getElementById('quiz-retry-' + id).style.display = 'none';
 };
})();
&lt;/script&gt;

&lt;details id="quiz-66a5dbd5" class="book-quiz"&gt;
 &lt;summary class="book-quiz-summary"&gt;❓ In welchem Portbereich liegen die dynamischen/ephemeren Ports, die Clients temporär nutzen?&lt;/summary&gt;
 &lt;div class="book-quiz-body"&gt;
 &lt;div class="book-quiz-options" id="quiz-options-66a5dbd5"&gt;
 &lt;button type="button" class="book-quiz-btn" data-answer="49152–65535" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;49152–65535&lt;/button&gt;&lt;button type="button" class="book-quiz-btn" data-answer="0–1023" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;0–1023&lt;/button&gt;&lt;button type="button" class="book-quiz-btn" data-answer="1024–49151" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;1024–49151&lt;/button&gt;&lt;button type="button" class="book-quiz-btn" data-answer="1–1024" data-selected="false" onclick="window.bookQuizToggle(this)"&gt;1–1024&lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="book-quiz-result" id="quiz-result-66a5dbd5"&gt;&lt;/div&gt;
 &lt;div class="book-quiz-actions"&gt;
 &lt;button type="button" class="book-quiz-btn" id="quiz-check-66a5dbd5" onclick="window.bookQuizCheck('66a5dbd5', &amp;#34;\&amp;#34;49152–65535\&amp;#34;&amp;#34;)"&gt;Auswerten&lt;/button&gt;
 &lt;button type="button" class="book-quiz-btn book-quiz-retry" id="quiz-retry-66a5dbd5" style="display:none" onclick="window.bookQuizReset('66a5dbd5')"&gt;Zurücksetzen&lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/details&gt;

&lt;style&gt;
.book-quiz {
 border: 1px solid var(--gray-200);
 border-radius: var(--border-radius);
 margin: 1.5rem 0;
 overflow: hidden;
}
.book-quiz-summary {
 padding: 0.75rem 1rem;
 cursor: pointer;
 font-weight: 600;
 background: var(--gray-100);
}
.book-quiz-body { padding: 1rem; }
.book-quiz-btn {
 display: block;
 width: 100%;
 text-align: left;
 box-sizing: border-box;
 padding: 0.5rem 0.75rem;
 margin: 0.4rem 0;
 cursor: pointer;
 border: 1px solid var(--gray-200);
 border-radius: var(--border-radius);
 background: transparent;
 color: inherit;
 font-family: inherit;
 font-size: 0.9em;
}
.book-quiz-btn:hover:not(:disabled) { background: var(--gray-100); }
.book-quiz-btn[data-selected="true"] { background: var(--gray-100); border-color: var(--color-link); }
.book-quiz-actions { display: flex; gap: 0.5rem; margin-top: 0.75rem; }
.book-quiz-actions .book-quiz-btn { width: auto; }
.book-quiz-result { margin-top: 0.75rem; font-weight: 600; min-height: 1.2em; }
.book-quiz-btn.correct { border-color: var(--color-accent-tip); color: var(--color-accent-tip); }
.book-quiz-btn.incorrect { border-color: var(--color-accent-caution); color: var(--color-accent-caution); }
.book-quiz-btn.missed { border-color: var(--color-accent-tip); border-style: dashed; opacity: 0.8; }
&lt;/style&gt;

&lt;script&gt;
(function () {
 if (window.bookQuizDefined) return;
 window.bookQuizDefined = true;

 window.bookQuizToggle = function (btn) {
 if (btn.disabled) return;
 var selected = btn.getAttribute('data-selected') === 'true';
 btn.setAttribute('data-selected', selected ? 'false' : 'true');
 };

 window.bookQuizCheck = function (id, correctStr) {
 var correct = correctStr.split('|').map(function (s) { return s.trim(); });
 var buttons = document.querySelectorAll('#quiz-options-' + id + ' .book-quiz-btn');
 var result = document.getElementById('quiz-result-' + id);
 var selectedCount = 0;
 var perfect = true;

 buttons.forEach(function (btn) {
 var val = btn.getAttribute('data-answer').trim();
 var selected = btn.getAttribute('data-selected') === 'true';
 var isCorrect = correct.indexOf(val) !== -1;
 if (selected) selectedCount++;
 btn.disabled = true;

 if (isCorrect &amp;&amp; selected) btn.classList.add('correct');
 else if (isCorrect &amp;&amp; !selected) { btn.classList.add('missed'); perfect = false; }
 else if (!isCorrect &amp;&amp; selected) { btn.classList.add('incorrect'); perfect = false; }
 });

 if (selectedCount === 0) {
 result.textContent = '⚠ Bitte mindestens eine Antwort auswählen.';
 buttons.forEach(function (btn) { btn.disabled = false; });
 return;
 }

 result.textContent = perfect ? '✔ Richtig!' : '✘ Nicht ganz richtig.';
 document.getElementById('quiz-check-' + id).style.display = 'none';
 document.getElementById('quiz-retry-' + id).style.display = 'inline-block';
 };

 window.bookQuizReset = function (id) {
 var buttons = document.querySelectorAll('#quiz-options-' + id + ' .book-quiz-btn');
 buttons.forEach(function (btn) {
 btn.disabled = false;
 btn.setAttribute('data-selected', 'false');
 btn.classList.remove('correct', 'incorrect', 'missed');
 });
 document.getElementById('quiz-result-' + id).textContent = '';
 document.getElementById('quiz-check-' + id).style.display = 'inline-block';
 document.getElementById('quiz-retry-' + id).style.display = 'none';
 };
})();
&lt;/script&gt;

&lt;h2 id="siehe-auch"&gt;Siehe auch&lt;a class="anchor" href="#siehe-auch"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="../02_netzwerk/osi-modell.md"&gt;osi modell&lt;/a&gt; — ISO/OSI-Modell (7-Schichten-Vergleich)&lt;/li&gt;
&lt;li&gt;&lt;a href="../02_netzwerk/protokolle-ports.md"&gt;protokolle ports&lt;/a&gt; — Protokolle &amp;amp; Ports im Detail&lt;/li&gt;
&lt;li&gt;&lt;a href="../02_netzwerk/dns-dhcp-arp.md"&gt;dns dhcp arp&lt;/a&gt; — DNS, DHCP &amp;amp; ARP (Anwendungsschicht)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ressourcen"&gt;Ressourcen&lt;a class="anchor" href="#ressourcen"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://de.wikipedia.org/wiki/Internetprotokollsuite"&gt;Wikipedia: Internetprotokollsuite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://de.wikipedia.org/wiki/Transmission_Control_Protocol"&gt;Wikipedia: Transmission Control Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://studyflix.de/informatik/tcp-ip-5692"&gt;Studyflix: TCP/IP (Definition &amp;amp; Funktionen)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://studyflix.de/informatik/tcp-5548"&gt;Studyflix: TCP (einfach erklärt, TCP vs. UDP)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.elektronik-kompendium.de/sites/net/0606251.htm"&gt;Elektronik-Kompendium: TCP/IP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://simpleclub.com/subjects/fachinformatiker"&gt;SimpleClub: Fachinformatiker Lernbereich&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>