mirror of
https://github.com/pepaskopec-blip/Graduately.git
synced 2026-10-27 15:14:35 +00:00
Move lessons out of the C sources into JSON so the web client can use the same material as the desktop app, and point release builds at desktop/. Co-authored-by: Cursor <cursoragent@cursor.com>
178 lines
7.4 KiB
JSON
178 lines
7.4 KiB
JSON
{
|
||
"id": "unit-01",
|
||
"subject": "networks",
|
||
"number": 1,
|
||
"titleKey": "net_unit1",
|
||
"subtitleKey": "net_unit1_sub",
|
||
"slides": [
|
||
{
|
||
"kicker": "1 / 4 • VLSM",
|
||
"title": "Podsíťování sítí",
|
||
"tip": "Tip: prefix /n = počet jedniček v masce. /24 = 255.255.255.0",
|
||
"lines": [
|
||
"Cíl: rozdělit jednu IP síť na menší podsítě podle počtu uzlů.",
|
||
"Pamatuj si tři role adres v každém bloku:",
|
||
"síťová = první adresa bloku",
|
||
"broadcast = poslední adresa bloku",
|
||
"uzly = vše mezi nimi (síť + 1 až broadcast − 1)"
|
||
]
|
||
},
|
||
{
|
||
"kicker": "2 / 4 • Velikosti",
|
||
"title": "Jak velký blok potřebuji?",
|
||
"tip": "Počet bitů pro uzly h = log₂(velikost), prefix = 32 − h",
|
||
"lines": [
|
||
"Pro X uzlů potřebuješ blok, do kterého se vejde X + 2 adresy (síť a broadcast).",
|
||
"Velikost bloku je vždy mocnina dvojky – vezmi nejmenší blok, který je větší nebo roven X + 2.",
|
||
"60 uzlů → 62 → blok 64 → /26",
|
||
"30 uzlů → 32 → blok 32 → /27",
|
||
"14 uzlů → 16 → blok 16 → /28",
|
||
"7 uzlů → 9 → blok 16 → /28"
|
||
]
|
||
},
|
||
{
|
||
"kicker": "3 / 4 • Postup",
|
||
"title": "Jak na to krok za krokem",
|
||
"tip": null,
|
||
"lines": [
|
||
"1. Seřaď podsítě od největší po nejmenší.",
|
||
"2. Pro každou najdi potřebný prefix.",
|
||
"3. Začni na síťové adrese ze zadání.",
|
||
"4. Rozsah podsítě = od síťové adresy po broadcast.",
|
||
"5. Rozsah uzlů = síťová + 1 až broadcast − 1.",
|
||
"6. Posuň se hned za broadcast a pokračuj dál."
|
||
]
|
||
},
|
||
{
|
||
"kicker": "4 / 4 • Příklad",
|
||
"title": "Ukázka: 10.0.0.0/24",
|
||
"tip": "A: 60 uzlů, B: 30, C: 14, D: 7",
|
||
"lines": [
|
||
"A → 10.0.0.0/26 uzly 10.0.0.1–10.0.0.62 broadcast 10.0.0.63",
|
||
"B → 10.0.0.64/27 uzly 10.0.0.65–10.0.0.94 broadcast 10.0.0.95",
|
||
"C → 10.0.0.96/28 uzly 10.0.0.97–10.0.0.110 broadcast 10.0.0.111",
|
||
"D → 10.0.0.112/28 uzly 10.0.0.113–10.0.0.126 broadcast 10.0.0.127"
|
||
]
|
||
}
|
||
],
|
||
"tasks": [
|
||
{
|
||
"number": 1,
|
||
"title": "VLSM",
|
||
"subtitleKey": "net_ex1_title",
|
||
"items": [
|
||
{
|
||
"kind": "subnet",
|
||
"scenario": "1.) Síť má adresu 10.0.0.0/24. Rozdělte ji do podsítí s následujícími požadavky:\n\nPodsíť A: 60 uzlů\nPodsíť B: 30 uzlů\nPodsíť C: 14 uzlů\nPodsíť D: 7 uzlů",
|
||
"solution": "A: 10.0.0.0/26 síť 10.0.0.0 uzly 10.0.0.1–10.0.0.62 broadcast 10.0.0.63\nB: 10.0.0.64/27 síť 10.0.0.64 uzly 10.0.0.65–10.0.0.94 broadcast 10.0.0.95\nC: 10.0.0.96/28 síť 10.0.0.96 uzly 10.0.0.97–10.0.0.110 broadcast 10.0.0.111\nD: 10.0.0.112/28 síť 10.0.0.112 uzly 10.0.0.113–10.0.0.126 broadcast 10.0.0.127",
|
||
"blocks": [
|
||
{
|
||
"prefix": 26,
|
||
"network": "10.0.0.0",
|
||
"broadcast": "10.0.0.63",
|
||
"firstHost": "10.0.0.1",
|
||
"lastHost": "10.0.0.62"
|
||
},
|
||
{
|
||
"prefix": 27,
|
||
"network": "10.0.0.64",
|
||
"broadcast": "10.0.0.95",
|
||
"firstHost": "10.0.0.65",
|
||
"lastHost": "10.0.0.94"
|
||
},
|
||
{
|
||
"prefix": 28,
|
||
"network": "10.0.0.96",
|
||
"broadcast": "10.0.0.111",
|
||
"firstHost": "10.0.0.97",
|
||
"lastHost": "10.0.0.110"
|
||
},
|
||
{
|
||
"prefix": 28,
|
||
"network": "10.0.0.112",
|
||
"broadcast": "10.0.0.127",
|
||
"firstHost": "10.0.0.113",
|
||
"lastHost": "10.0.0.126"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"kind": "subnet",
|
||
"scenario": "2.) Síť má adresu 172.16.0.0/16. Rozdělte ji do podsítí s následujícími požadavky:\n\nPodsíť A: 500 uzlů\nPodsíť B: 200 uzlů\nPodsíť C: 100 uzlů\nPodsíť D: 50 uzlů",
|
||
"solution": "A: 172.16.0.0/23 síť 172.16.0.0 uzly 172.16.0.1–172.16.1.254 broadcast 172.16.1.255\nB: 172.16.2.0/24 síť 172.16.2.0 uzly 172.16.2.1–172.16.2.254 broadcast 172.16.2.255\nC: 172.16.3.0/25 síť 172.16.3.0 uzly 172.16.3.1–172.16.3.126 broadcast 172.16.3.127\nD: 172.16.3.128/26 síť 172.16.3.128 uzly 172.16.3.129–172.16.3.190 broadcast 172.16.3.191",
|
||
"blocks": [
|
||
{
|
||
"prefix": 23,
|
||
"network": "172.16.0.0",
|
||
"broadcast": "172.16.1.255",
|
||
"firstHost": "172.16.0.1",
|
||
"lastHost": "172.16.1.254"
|
||
},
|
||
{
|
||
"prefix": 24,
|
||
"network": "172.16.2.0",
|
||
"broadcast": "172.16.2.255",
|
||
"firstHost": "172.16.2.1",
|
||
"lastHost": "172.16.2.254"
|
||
},
|
||
{
|
||
"prefix": 25,
|
||
"network": "172.16.3.0",
|
||
"broadcast": "172.16.3.127",
|
||
"firstHost": "172.16.3.1",
|
||
"lastHost": "172.16.3.126"
|
||
},
|
||
{
|
||
"prefix": 26,
|
||
"network": "172.16.3.128",
|
||
"broadcast": "172.16.3.191",
|
||
"firstHost": "172.16.3.129",
|
||
"lastHost": "172.16.3.190"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"kind": "subnet",
|
||
"scenario": "3.) Síť má adresu 192.168.10.0/24. Rozdělte ji do podsítí s následujícími požadavky:\n\nPodsíť A: 120 uzlů\nPodsíť B: 70 uzlů\nPodsíť C: 35 uzlů\nPodsíť D: 15 uzlů",
|
||
"solution": "Do sítě /24 se tyto požadavky nevejdou: A i B potřebují /25 (2 × 128 = 256 adres), na C a D už nezbude žádný blok. Při zachování velikostí by bylo nutné větší síť (např. /23).",
|
||
"blocks": null
|
||
},
|
||
{
|
||
"kind": "subnet",
|
||
"scenario": "4.) Síť má adresu 192.168.2.0/25. Rozdělte ji do podsítí s následujícími požadavky:\n\nPodsíť A: 50 uzlů\nPodsíť B: 25 uzlů\nPodsíť C: 12 uzlů\nPodsíť D: 5 uzlů",
|
||
"solution": "A: 192.168.2.0/26 síť 192.168.2.0 uzly 192.168.2.1–192.168.2.62 broadcast 192.168.2.63\nB: 192.168.2.64/27 síť 192.168.2.64 uzly 192.168.2.65–192.168.2.94 broadcast 192.168.2.95\nC: 192.168.2.96/28 síť 192.168.2.96 uzly 192.168.2.97–192.168.2.110 broadcast 192.168.2.111\nD: 192.168.2.112/28 síť 192.168.2.112 uzly 192.168.2.113–192.168.2.126 broadcast 192.168.2.127",
|
||
"blocks": [
|
||
{
|
||
"prefix": 26,
|
||
"network": "192.168.2.0",
|
||
"broadcast": "192.168.2.63",
|
||
"firstHost": "192.168.2.1",
|
||
"lastHost": "192.168.2.62"
|
||
},
|
||
{
|
||
"prefix": 27,
|
||
"network": "192.168.2.64",
|
||
"broadcast": "192.168.2.95",
|
||
"firstHost": "192.168.2.65",
|
||
"lastHost": "192.168.2.94"
|
||
},
|
||
{
|
||
"prefix": 28,
|
||
"network": "192.168.2.96",
|
||
"broadcast": "192.168.2.111",
|
||
"firstHost": "192.168.2.97",
|
||
"lastHost": "192.168.2.110"
|
||
},
|
||
{
|
||
"prefix": 28,
|
||
"network": "192.168.2.112",
|
||
"broadcast": "192.168.2.127",
|
||
"firstHost": "192.168.2.113",
|
||
"lastHost": "192.168.2.126"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|