558 lines
27 KiB
Markdown
558 lines
27 KiB
Markdown
# đ SĂĆ„ovĂĄ architektura
|
||
|
||
## ReferenÄnĂ model (TCP/IP)
|
||
|
||
| Vrstva | Protokoly | ZaĆĂzenĂ |
|
||
|--------|-----------|----------|
|
||
| AplikaÄnĂ | HTTP/HTTPS, DNS, SMTP, SSH | â |
|
||
| TransportnĂ | TCP, UDP | â |
|
||
| SĂĆ„ovĂĄ | IP, ICMP, BGP | Routery |
|
||
| LinkovĂĄ | Ethernet, ARP, VLAN | Switche |
|
||
|
||
## TCP detail
|
||
|
||
### 3-way handshake
|
||
|
||
```
|
||
Client Server
|
||
| |
|
||
| SYN (seq=x) |
|
||
|ââââââââââââââââââââââââââââââ>|
|
||
| |
|
||
| SYN+ACK (seq=y, ack=x+1) |
|
||
|<ââââââââââââââââââââââââââââââ|
|
||
| |
|
||
| ACK (seq=x+1, ack=y+1) |
|
||
|ââââââââââââââââââââââââââââââ>|
|
||
| |
|
||
| << established >> |
|
||
```
|
||
|
||
- **SYN** â client odeĆĄle segment s pĆĂznakem SYN (Synchronize Sequence Number)
|
||
- **SYN-ACK** â server odpovĂ vlastnĂm SYN + potvrzenĂm clientova seq ÄĂsla
|
||
- **ACK** â client potvrdĂ, spojenĂ je navĂĄzĂĄno
|
||
- TCP Fast Open (TFO) â data v SYN paketu pro 0-RTT u opakovanĂœch spojenĂ
|
||
|
||
### Flow control (sliding window)
|
||
|
||
- **Receiver Window (rwnd)** â kolik dat je receiver ochoten pĆijmout
|
||
- **Sliding window** â sender udrĆŸuje okno nepotvrzenĂœch paketĆŻ
|
||
- Window scaling (RFC 1323) â umoĆŸĆuje okno aĆŸ 1 GB (mĂsto 64 KB)
|
||
- Zero Window â receiver oznĂĄmĂ 0, sender zastavĂ, persist timer periodicky testuje
|
||
|
||
### Congestion control
|
||
|
||
| Algoritmus | Popis | Use case |
|
||
|-----------|-------|----------|
|
||
| **Cubic** | VĂœchozĂ v Linuxu (od kernel 2.6.19), kubickĂĄ growth funkce | ObecnĂ© sĂtÄ, vĂœchozĂ pro Internet |
|
||
| **BBR** (Bottleneck Bandwidth and RTT) | Model-based, mÄĆĂ bandwidth a RTT, ne packet loss | VysokorychlostnĂ sĂtÄ, YouTube, Google |
|
||
| **Reno** | Classic AIMD (Additive Increase Multiplicative Decrease) | Legacy, reference |
|
||
| **CDG** (CAIA Delay Gradient) | Delay-based, detekce congeste podle RTT gradientu | Videostreaming, real-time |
|
||
|
||
BBRv2 (2024+) â zahrnuje ECN signalizaci, koexistenci s Cubic, lepĆĄĂ handling pĆi loss.
|
||
|
||
## DNS (Domain Name System)
|
||
|
||
- **Record typy**: A, AAAA, CNAME, MX, TXT, NS, SRV, PTR, CAA, DS, DNSKEY, RRSIG, NSEC
|
||
- **DNS resolver**: rekurzivnĂ dotaz pĆes hierarchii (root â TLD â authoritative)
|
||
- **Anycast DNS** â stejnĂĄ IP z vĂce lokacĂ, smÄrovĂĄnĂ k nejbliĆŸĆĄĂ
|
||
- **DNS caching** â TTL ĆĂzenĂ, cache poisoning ochrana (DNSSEC)
|
||
- **Cloud DNS** â Route53, Azure DNS, Cloud DNS
|
||
|
||
### DNS lookup flow (krok za krokem)
|
||
|
||
```
|
||
1. UĆŸivatel zadĂĄ "api.example.com" do prohlĂĆŸeÄe
|
||
2. OS stub resolver zkontroluje lokĂĄlnĂ cache (/etc/hosts, systemd-resolved)
|
||
3. Pokud nenĂ v cache â dotaz na rekurzivnĂ resolver (ISP / 8.8.8.8 / 1.1.1.1)
|
||
4. Resolver zkontroluje svou cache
|
||
5. Nenalezeno â resolver zaÄne rekurzivnĂ lookup:
|
||
a. Dotaz na root nameserver (.) â vrĂĄtĂ NS pro .com
|
||
b. Dotaz na .com TLD nameserver â vrĂĄtĂ NS pro example.com
|
||
c. Dotaz na autoritativnĂ NS pro example.com â vrĂĄtĂ A zĂĄznam (IP)
|
||
6. Resolver uloĆŸĂ do cache (TTL), vrĂĄtĂ IP clientu
|
||
7. Client navĂĄĆŸe TCP spojenĂ na zĂskanou IP
|
||
```
|
||
|
||
CelĂœ proces typicky trvĂĄ 10â200 ms (s cache < 1 ms).
|
||
|
||
### DNSSEC detail
|
||
|
||
- **RRSIG** â digitĂĄlnĂ podpis pro kaĆŸdĂœ RRset (Resource Record Set)
|
||
- **DNSKEY** â veĆejnĂœ klĂÄ zĂłny (ZSK = Zone Signing Key, KSK = Key Signing Key)
|
||
- **DS** (Delegation Signer) â hash DNSKEY pĆedĂĄvanĂœ do parent zĂłny (ĆetÄz dĆŻvÄry)
|
||
- **NSEC / NSEC3** â authenticated denial of existence (dĆŻkaz, ĆŸe zĂĄznam neexistuje)
|
||
- **Chain of trust**: root â .com â example.com (cesta od trust anchor pĆes DS recordy)
|
||
|
||
```
|
||
Root DS â .com DNSKEY â .com DS â example.com DNSKEY â example.com RRSIG(A)
|
||
```
|
||
|
||
- Validace: resolver zkontroluje podpisy pĆes celĂœ ĆetÄz aĆŸ k trust anchor
|
||
|
||
### DNS-based service discovery
|
||
|
||
| Mechanismus | Popis | PĆĂklad |
|
||
|------------|-------|---------|
|
||
| **SRV record** | Service location (priority, weight, port, target) | `_http._tcp.example.com` |
|
||
| **Consul DNS** | Service discovery pĆes DNS rozhranĂ | `web.service.consul` |
|
||
| **CoreDNS** | Kubernetes DNS, plugin-based | `my-svc.my-namespace.svc.cluster.local` |
|
||
| **Kubernetes DNS** | Service discovery uvnitĆ clusteru (kube-dns / CoreDNS) | `svc.cluster.local` |
|
||
| **mDNS** (Multicast DNS) | Zero-config, lokĂĄlnĂ sĂĆ„ (Bonjour/Avahi) | `myprinter.local` |
|
||
|
||
## Load Balancing
|
||
|
||
| Typ | Vrstva (OSI) | Popis |
|
||
|-----|-------------|-------|
|
||
| L4 (NLB) | 4 | TCP/UDP, rychlĂœ, niĆŸĆĄĂ latence |
|
||
| L7 (ALB) | 7 | HTTP/HTTPS, path-based routing, sticky sessions |
|
||
| Global | DNS | Geo-routing, latency-based, weighted |
|
||
|
||
### Algoritmy
|
||
|
||
- Round Robin / Weighted RR
|
||
- Least Connections
|
||
- IP Hash (session persistence)
|
||
- Random
|
||
|
||
### Health check typy
|
||
|
||
| Typ | Popis | Vhodné pro |
|
||
|-----|-------|-----------|
|
||
| **TCP health check** | TCP handshake na cĂlovĂœ port | L4 NLB, zĂĄkladnĂ check |
|
||
| **HTTP health check** | HTTP GET na URL, oÄekĂĄvĂĄ 200 OK | L7 ALB, webovĂ© sluĆŸby |
|
||
| **HTTPS health check** | HTTP + TLS handshake | SluĆŸby s TLS terminacĂ |
|
||
| **gRPC health check** | gRPC Health/Check RPC (gRPC specific) | Microservices, gRPC sluĆŸby |
|
||
| **ICMP ping** | Ping na cĂlovou IP | ZĂĄkladnĂ konektivita |
|
||
|
||
### Connection draining
|
||
|
||
- **Connection draining** (AWS) / **Deregistration delay** â pĆi odebrĂĄnĂ targetu z ASG/LB se poÄkĂĄ, aĆŸ existujĂcĂ spojenĂ skonÄĂ (configurable: 1-3600 s)
|
||
- **Slow start** â novĂœ target dostĂĄvĂĄ postupnÄ vĂce requestĆŻ (zabrĂĄnĂ pĆetĂĆŸenĂ cold cache)
|
||
|
||
### Cross-zone load balancing
|
||
|
||
- **Enabled**: LB rovnomÄrnÄ rozdÄluje traffic napĆĂÄ vĆĄemi AZ (i nerovnomÄrnĂœ poÄet instancĂ)
|
||
- **Disabled**: traffic rozdÄlen rovnomÄrnÄ mezi AZ, pak v rĂĄmci AZ mezi instance
|
||
- AWS ALB/NLB: enabled by default (2022+), bez dalĆĄĂch poplatkĆŻ
|
||
|
||
## Firewally a bezpeÄnost
|
||
|
||
- **Stateful firewall** â sleduje stav spojenĂ (AWS Security Groups, Azure NSG)
|
||
- **Stateless firewall** â ACL (Network ACLs)
|
||
- **NGFW** â aplikaÄnĂ vrstva, IPS/IDS (Palo Alto, Fortinet)
|
||
- **WAF** â ochrana web aplikacĂ (Cloudflare, AWS WAF, Azure WAF)
|
||
|
||
## Network segmentation â Security Groups vs Network ACLs
|
||
|
||
| Vlastnost | Security Group (SG) | Network ACL (NACL) |
|
||
|-----------|-------------------|-------------------|
|
||
| **State** | Stateful (automaticky povoluje return traffic) | Stateless (nutnĂ© explicitnĂ pravidlo pro oba smÄry) |
|
||
| **ĂroveĆ** | Instance / ENI | Subnet |
|
||
| **Pravidla** | PovolujĂcĂ (allow only) | PovolujĂcĂ i zakazujĂcĂ (allow + deny) |
|
||
| **VyhodnocenĂ** | VĆĄechna pravidla se vyhodnotĂ (OR) | Pravidla od nejniĆŸĆĄĂho ÄĂsla (first match) |
|
||
| **Default** | All traffic denied (inbound), all traffic allowed (outbound) | All traffic denied (inbound i outbound) |
|
||
| **Podpora** | AWS, GCP (firewall rules), Azure (NSG) | AWS (NACL), GCP (firewall rules na subnet), Azure (NSG) |
|
||
|
||
### Mikrosegmentace
|
||
|
||
- **Zero Trust networking** â kaĆŸdĂœ workload mĂĄ vlastnĂ security group / NGFW policy
|
||
- **Service mesh** â Istio, Linkerd, Consul Connect pro L7 mikrosegmentaci (mTLS, authorization policies)
|
||
- **Network policies** â Kubernetes NetworkPolicy pro segmentaci pod-to-pod trafficu
|
||
- **Tanzu / NSX** â micro-segmentation na hypervisor Ășrovni
|
||
|
||
## VPN
|
||
|
||
- **Site-to-Site** â IPSec, trvalĂ© spojenĂ mezi lokalitami
|
||
- **Client-to-Site** â OpenVPN, WireGuard, AnyConnect
|
||
- **Cloud VPN** â AWS VPN, Azure VPN Gateway, GCP Cloud VPN
|
||
|
||
## CDN (Content Delivery Network)
|
||
|
||
- Edge lokace pro cachovånà statického obsahu
|
||
- DDoS ochrana
|
||
- SSL/TLS termination na edge
|
||
- Poskytovatelé: CloudFront, Cloudflare, Akamai, Fastly
|
||
|
||
## BGP a routing
|
||
|
||
- **BGP** â protokol pro vĂœmÄnu rout mezi AS (autonomnĂmi systĂ©my)
|
||
- **ASN** â unikĂĄtnĂ identifikĂĄtor sĂtÄ
|
||
- **iBGP** â internĂ BGP (uvnitĆ AS)
|
||
- **eBGP** â externĂ BGP (mezi AS)
|
||
|
||
### BGP path selection algoritmus
|
||
|
||
BGP router vybĂrĂĄ jedinou nejlepĆĄĂ cestu podle nĂĄsledujĂcĂch kritĂ©riĂ (v poĆadĂ priority):
|
||
|
||
1. **WEIGHT** (Cisco-specific) â nejvyĆĄĆĄĂ weight (local to router)
|
||
2. **LOCAL_PREF** â nejvyĆĄĆĄĂ local preference (v rĂĄmci AS)
|
||
3. **Originate** â preferuje route originovanou lokĂĄlnĂm routerem
|
||
4. **AS_PATH** â nejkratĆĄĂ AS_PATH length
|
||
5. **ORIGIN** â IGP < EGP < INCOMPLETE
|
||
6. **MED** (Multi-Exit Discriminator) â nejniĆŸĆĄĂ MED (pĆi stejnĂ©m AS souseda)
|
||
7. **eBGP > iBGP** â preferuje externĂ BGP pĆed internĂm
|
||
8. **Next-hop reachable** â cesta k next-hop musĂ bĂœt dosaĆŸitelnĂĄ
|
||
9. **Neighbor IP** â preferuje cestu od routeru s nejniĆŸĆĄĂ IP
|
||
10. **Router ID** â preferuje cestu s nejniĆŸĆĄĂm Router ID
|
||
|
||
### iBGP full mesh vs Route Reflectors
|
||
|
||
| Aspekt | Full mesh | Route reflectors |
|
||
|--------|-----------|-----------------|
|
||
| **PoÄet session** | n(n-1)/2 | n (kaĆŸdĂœ peer k RR) |
|
||
| **PĆi 100 routerech** | 4 950 session | 100 (pĆi 1 RR) |
|
||
| **Ć kĂĄlovĂĄnĂ** | Ć patnĂ© (kvadratickĂ©) | LineĂĄrnĂ |
|
||
| **Redundance** | PĆirozenĂĄ | NutnĂ© multi-RR + cluster |
|
||
| **Konfigurace** | JednoduchĂĄ logika | RR pravidel (non-transitive) |
|
||
|
||
BGP nutné znåt pro: Cloud interconnects, MPLS L3VPN, SD-WAN, Data center fabrics (VXLAN + BGP EVPN)
|
||
|
||
## Architektura VPC / Virtual Network
|
||
|
||
```
|
||
Internet âââŹââ Internet Gateway (IGW)
|
||
â
|
||
ââââââââŒâââââââ
|
||
â Public Subnet â
|
||
â ââââââââââââ â
|
||
â â ALB/NAT â â
|
||
â ââââââŹââââââ â
|
||
âââââââââŒâââââââââ
|
||
â
|
||
âââââââââŒâââââââââ
|
||
â Private Subnet â
|
||
â ââââââââââââ â
|
||
â â App â â
|
||
â ââââââŹââââââ â
|
||
âââââââââŒââââââââââ
|
||
â
|
||
âââââââââŒââââââââââ
|
||
â Data Subnet â
|
||
â ââââââââââââââ â
|
||
â â Database â â
|
||
â ââââââââââââââ â
|
||
ââââââââââââââââââââ
|
||
```
|
||
|
||
### VPC design patterns
|
||
|
||
**Three-tier architecture**
|
||
- Web tier (public subnets) â ALB
|
||
- App tier (private subnets) â auto-scaling
|
||
- Data tier (private subnets) â RDS / self-managed DB
|
||
- NAT Gateway / Instance v public subnet pro outbound traffic z app/data tier
|
||
|
||
**VPC Peering**
|
||
- PĆĂmĂ© spojenĂ mezi dvÄma VPC (same nebo cross-account)
|
||
- Transitive peering **nenĂ** podporovĂĄn (AâB, BâC neznamenĂĄ AâC)
|
||
- PĆĂpady: sharing resources (LDAP, monitoring), service endpoints
|
||
|
||
**Transit Gateway**
|
||
- Hub-and-spoke topologie, transitive routing
|
||
- Podporuje: VPC, VPN, Direct Connect, peering mezi TGW
|
||
- Route tables per attachment â izolace environmentĆŻ
|
||
- AWS TGW: 50 Gbps per attachment, aĆŸ 5000 attachments
|
||
|
||
**PrivateLink / VPC Endpoint**
|
||
- PrivĂĄtnĂ pĆĂstup k sluĆŸbĂĄm bez IGW, NAT, VPC peering
|
||
- **Interface Endpoint** (ENI v subnet) â pro AWS services, SaaS
|
||
- **Gateway Endpoint** (S3, DynamoDB) â route table entry, zdarma
|
||
- **AWS PrivateLink** â Service Consumer â NLB/ENI â Service Provider
|
||
|
||
## MTU, jumbo frames, PMTUD
|
||
|
||
| SĂĆ„ | StandardnĂ MTU | Jumbo frames |
|
||
|-----|---------------|--------------|
|
||
| Ethernet | 1500 B | 9001 B (AWS: 9001, Azure: 1400â9000) |
|
||
| GRE tunel | 1476 B | â |
|
||
| PPPoE | 1492 B | â |
|
||
| VLAN (802.1Q) | 1496 B | â |
|
||
| VXLAN | N/A (inner 1500 + 50) | 8950 B |
|
||
|
||
**PMTUD** (Path MTU Discovery)
|
||
- NastavĂ DF (Don't Fragment) bit v IP hlaviÄce
|
||
- Pokud cesta vyĆŸaduje fragmentaci â ICMP "Fragmentation Needed" (Type 3, Code 4)
|
||
- SniĆŸuje MTU, dokud paket neprojde
|
||
- ÄastĂœ problĂ©m: ICMP blokovanĂœ firewallem â black hole (TCP connection hangs)
|
||
- **Workaround**: MSS clamping (TCP MSS = MTU - 40)
|
||
|
||
**Jumbo frames use cases**
|
||
- NFS / SMB (NAS)
|
||
- iSCSI / NVMe-oF (SAN)
|
||
- HPC / MPI workloads
|
||
- Data replication (DB, DRBD)
|
||
- Amazon EFS, AWS Managed Streaming pro Kafka
|
||
|
||
## Anycast vs Unicast vs Multicast
|
||
|
||
| Typ | Popis | PĆĂklad |
|
||
|-----|-------|---------|
|
||
| **Unicast** | 1:1 â jeden source, jeden destination | BÄĆŸnĂœ TCP/IP provoz |
|
||
| **Multicast** | 1:N â jeden source, skupina receiverĆŻ | IPTV, mDNS, VXLAN BUM traffic |
|
||
| **Anycast** | 1:1 z nejbliĆŸĆĄĂho â stejnĂĄ IP z vĂce lokacĂ | DNS (8.8.8.8, 1.1.1.1), Cloudflare |
|
||
| **Broadcast** | 1:VĆ ICHNI â vĆĄechna zaĆĂzenĂ v sĂti | ARP, DHCP (omezeno na L2 broadcast domĂ©nu) |
|
||
|
||
Anycast detail:
|
||
- StejnĂĄ IP prefix je anunciovĂĄna z vĂce lokacĂ (BGP)
|
||
- Traffic jde k topologicky nejbliĆŸĆĄĂmu uzlu (BGP path selection)
|
||
- **VĂœhody**: jednoduchĂĄ redundance, DDoS absorpce, niĆŸĆĄĂ latence
|
||
- **VĂœzvy**: connection persistence (TCP), stateful anycast, routing convergence
|
||
- **Cloud**: Route53, CloudFront, Cloudflare, Google DNS
|
||
|
||
## Cloud networking resilience (2026)
|
||
|
||
Viz takĂ©: [CLOUD.md](CLOUD.md) â cloud architektura, multi-AZ, hybrid cloud konektivita.
|
||
|
||
### Cell-based architektury
|
||
|
||
- Izolace fault domain do "cell" (skupina AZ + services)
|
||
- KaĆŸdĂĄ cell samostatnÄ deploysovatelnĂĄ, vlastnĂ DB, vlastnĂ LB
|
||
- Limit blast radius: selhĂĄnĂ jednĂ© cell neovlivnĂ ostatnĂ
|
||
- Implementace: AWS Cell-based architecture, Azure STAG (Scale Tier Availability Group)
|
||
|
||
### DNS resilience
|
||
|
||
- **Anycast DNS** â stejnĂĄ IP z vĂce regionĆŻ, smÄrovĂĄnĂ k nejbliĆŸĆĄĂmu
|
||
- **DNS failover** â health checky automaticky odstraĆujĂ nedostupnĂ© endpointy
|
||
- **Multi-DNS provider** â Route53 + Cloudflare + UltraDNS pro eliminaci SPOF
|
||
|
||
### Traffic engineering
|
||
|
||
- **BGP optimization** â AS path prepend, MED, local pref pro ĆĂzenĂ vstupnĂho/vĂœstupnĂho trafficu
|
||
- **Global Load Balancing** â GSLB na DNS Ășrovni (latency-based, geo-proximity, weighted)
|
||
- **AIOps** â ML-based predikce traffic patternĆŻ a automatickĂ© ĆĄkĂĄlovĂĄnĂ
|
||
|
||
### Nové trendy
|
||
|
||
- **Path Aware Networking** â aplikace si vybĂrĂĄ cestu sĂtĂ podle aktuĂĄlnĂch podmĂnek
|
||
- **Segment Routing (SR-MPLS / SRv6)** â zjednoduĆĄenĂ MPLS, programovatelnĂ© cesty
|
||
- **Zero Trust Networking** â mikrosegmentace, identity-based access, never trust / always verify
|
||
|
||
## RozĆĄĂĆenĂĄ tĂ©mata podle knih
|
||
|
||
### TCP/IP Illustrated (Stevens, ISBN 978-0321336316)
|
||
|
||
KlĂÄovĂ© architektonickĂ© principy dle knihy:
|
||
|
||
- **End-to-End Argument** â korektnost a kompletnost komunikace mĆŻĆŸe bĂœt zajiĆĄtÄna pouze na Ășrovni aplikace, nikoliv niĆŸĆĄĂch vrstev. SĂĆ„ mĂĄ bĂœt "hloupĂĄ", koncovĂ© stanice "chytrĂ©".
|
||
- **Fate Sharing** â veĆĄkerĂœ stav nutnĂœ k udrĆŸenĂ aktivnĂ komunikace musĂ bĂœt uloĆŸen na koncovĂœch bodech (endpoints), nikoliv v sĂti.
|
||
- **Layering** â hierarchickĂ© vrstvenĂ protokolĆŻ dle OSI modelu; kaĆŸdĂĄ vrstva zapouzdĆuje PDU z vyĆĄĆĄĂ vrstvy a pĆidĂĄvĂĄ vlastnĂ hlaviÄku.
|
||
- **Multiplexing/Demultiplexing** â protokoly na stejnĂ© vrstvÄ koexistujĂ dĂky identifikĂĄtorĆŻm (IP proto, TCP/UDP port).
|
||
- **Sliding window** â efektivnĂ vyuĆŸitĂ linky pĆi vysokĂ© latenci (window size = bandwidth Ă RTT).
|
||
|
||
Kniha pokrĂœvĂĄ celĂœ TCP/IP stack od linkovĂ© vrstvy (Ethernet, ARP, PPP) pĆes IP, ICMP, DHCP, NAT, DNS, UDP, TCP (connection management, timeout, retransmission, congestion control, keepalive) aĆŸ po aplikace (SNMP, Telnet, FTP, SMTP, NFS, HTTP).
|
||
|
||
### AI Data Center Network Design (Subramaniam, ISBN 978-0-13-543628-8)
|
||
|
||
KomplexnĂ, vendor-agnostickĂœ prĆŻvodce nĂĄvrhem sĂĆ„ovĂ© infrastruktury pro AI clustery.
|
||
|
||
**KlĂÄovĂ© koncepty:**
|
||
|
||
- **Rail-Optimized Design (ROD)** â propojenĂ GPU napĆĂÄ racky po "kolejĂch" (rail), kaĆŸdĂĄ kolej tvoĆĂ nezĂĄvislou sĂĆ„ pro all-reduce komunikaci. Minimalizuje latenci pro synchronnĂ training.
|
||
- **Rail-Unified Design (RUD)** â sdĂlenĂĄ network fabric pro vĆĄechny GPU, flexibilnÄjĆĄĂ, ale vyĆĄĆĄĂ nĂĄroky na load balancing.
|
||
- **RoCEv2 (RDMA over Converged Ethernet)** â primĂĄrnĂ transport pro AI clustery: vyĆŸaduje lossless fabric (ECN, PFC, DCQCN, SFC, CSIG).
|
||
- **Load balancing pro AI** â ECMP nestaÄĂ, nutnĂ© dynamic/global load balancing (DLB/GLB), flowlet-based rebalancing, per-packet spraying.
|
||
- **Topologie** â Clos (3-stage/5-stage), Dragonfly, Torus pro ĆĄkĂĄlovĂĄnĂ na desĂtky tisĂc GPU.
|
||
- **Ultra Ethernet Consortium (UEC)** â novĂœ standard pro Ethernet v AI clastrech (2025+), ĆeĆĄĂ omezenĂ RoCEv2.
|
||
- **Storage pro AI** â NVMe-oF, GPUDirect Storage, parallel file systems pro checkpointing a dataset loading.
|
||
- **KPIs** â Job Completion Time (JCT), tail latency, fabric utilization, PFC storm detection.
|
||
|
||
### Cloud Networking and Resilience (Critelli, ISBN 979-8868824357)
|
||
|
||
PraktickĂœ prĆŻvodce budovĂĄnĂm resilientnĂch cloudovĂœch sĂtĂ (Apress, 2026). Autor je EMEA Lead pro Networking & Resilience v AWS.
|
||
|
||
**VrstvovĂœ pĆĂstup k resilienci (podle OSI modelu):**
|
||
|
||
| Vrstva | OpatĆenĂ |
|
||
|--------|----------|
|
||
| L1 (FyzickĂĄ) | RedundantnĂ pĆĂpojky, diverse fibre paths, DWDM |
|
||
| L2 (LinkovĂĄ) | MLAG, LACP, spanning-tree rychlĂĄ konvergence |
|
||
| L3 (SĂĆ„ovĂĄ) | BGP multi-homing, AS path prepend, Anycast |
|
||
| L4 (TransportnĂ) | Connection draining, slow start, health checky |
|
||
| L7 (AplikaÄnĂ) | DNS failover, global load balancing, cell-based architektury |
|
||
|
||
**RegulatornĂ rĂĄmce:** DORA (Digital Operational Resilience Act), NIS2 â vyĆŸadujĂ pravidelnĂ© testovĂĄnĂ resiliency, chaos engineering, business continuity plĂĄny.
|
||
|
||
**AIOps v resilienci:** ML-based predikce traffic patternĆŻ, automatickĂ© ĆĄkĂĄlovĂĄnĂ, proaktivnĂ fault detection (pĆechod od reaktivnĂho monitoringu k prediktivnĂ prevenci).
|
||
|
||
### Zero Trust in Resilient Cloud and Network Architectures (Halley et al., ISBN 978-0-13-820460-0)
|
||
|
||
Cisco Press â praktickĂĄ pĆĂruÄka pro nasazenĂ Zero Trust architektur v hybridnĂch a cloudovĂœch prostĆedĂch.
|
||
|
||
**ImplementaÄnĂ rĂĄmec:**
|
||
|
||
- **User and Device Trust** â ovÄĆenĂ identity uĆŸivatele i zaĆĂzenĂ pĆed udÄlenĂm pĆĂstupu (SSE â Security Service Edge).
|
||
- **Application Access Policies** â granulĂĄrnĂ pravidla na Ășrovni aplikace, nikoliv IP adresy.
|
||
- **Greenfield vs Brownfield** â novĂ© sĂtÄ stavÄnĂ© jako Zero Trust od zĂĄkladu vs. migrace existujĂcĂ infrastruktury.
|
||
- **Automation** â Terraform, Ansible pro provisioning; Meraki, EVPN, Pub/Sub telemetrie.
|
||
- **Industrial Zero Trust** â rozĆĄĂĆenĂ konceptu do OT/ICS prostĆedĂ.
|
||
- **Quantum security** â pĆĂprava na post-quantum kryptografii v sĂĆ„ovĂœch architekturĂĄch.
|
||
|
||
### The Segmentation Blueprint (Kulkarni, ISBN 978-0-13-546236-2)
|
||
|
||
Cisco Press (2026) â pragmatickĂœ prĆŻvodce segmentacĂ sĂtÄ od VLAN po nanosegmentaci.
|
||
|
||
**Evoluce segmentace:**
|
||
|
||
| Generace | Technologie | Rozsah |
|
||
|----------|-------------|--------|
|
||
| TradiÄnĂ | VLAN, ACL, firewall | PodsĂĆ„ / subnet |
|
||
| Mikrosegmentace | Security Groups, Network Policies | Workload / instance |
|
||
| Nanosegmentace | Service mesh (Istio, Linkerd), mTLS | Aplikace / API / proces |
|
||
|
||
**Maturity model segmentace:**
|
||
1. **Initial** â flat network, ĆŸĂĄdnĂĄ segmentace
|
||
2. **Basic** â VLANy, firewall mezi environmenty
|
||
3. **Defined** â Security Groups, service access policies
|
||
4. **Managed** â Mikrosegmentace, Network Policies, EVPN
|
||
5. **Optimized** â Nanosegmentace, service mesh, Zero Trust, AI-driven policy management
|
||
|
||
**KlĂÄovĂĄ metrika:** Blast radius â kolik workloadĆŻ je ohroĆŸeno pĆi kompromitaci jednoho uzlu. CĂlem je redukce na minimum.
|
||
|
||
### Segment Routing for SP and Enterprise Networks (Deragisch, ISBN 978-0-13-823101-9)
|
||
|
||
Cisco Press (2024) â ucelenĂœ prĆŻvodce Segment Routingem pro MPLS i IPv6 data plane.
|
||
|
||
**SR-MPLS vs SRv6:**
|
||
|
||
| Vlastnost | SR-MPLS | SRv6 |
|
||
|-----------|---------|------|
|
||
| SID délka | 20 bit (MPLS label) | 128 bit (IPv6 address) |
|
||
| Data plane | MPLS | IPv6 + SRH (Segment Routing Header) |
|
||
| Signalizace | IGP (IS-IS/OSPF) extensions | IGP + BGP extensions |
|
||
| ZrĂĄnĂ | Mature, ĆĄiroce nasazeno | Emerging, standardizace dokonÄena |
|
||
| Use case | SP sĂtÄ, MPLS migration | Cloud, DC, 5G, end-to-end programovatelnost |
|
||
|
||
**VĂœhody SR oproti klasickĂ©mu MPLS:**
|
||
- Eliminace LDP/RSVP-TE (signaling je souÄĂĄstĂ IGP)
|
||
- Traffic engineering state pĆesunutĂœ z uzlĆŻ do packet headerĆŻ (source routing)
|
||
- Fast reroute (FRR) bez dodateÄnĂœch protokolĆŻ
|
||
- Egress Peer Engineering (EPE) â vĂœbÄr exit pointu AS
|
||
- Mikro-loop avoidance pĆi konvergenci
|
||
|
||
**MigraÄnĂ strategie:** Greenfield (novĂĄ sĂĆ„), Brownfield (postupnĂĄ migrace z MPLS), "SR in a box" â kombinace SR a LDP.
|
||
|
||
### Understanding and Designing Azure Networking (Stuart, Moreno, 2025)
|
||
|
||
PraktickĂœ prĆŻvodce nĂĄvrhem Azure sĂtĂ od dvou Microsoft Solution Engineers (bĂœvalĂ CCIE).
|
||
|
||
**KlĂÄovĂĄ tĂ©mata:**
|
||
|
||
| Oblast | KlĂÄovĂ© sluĆŸby a koncepty |
|
||
|--------|--------------------------|
|
||
| **Topologie** | Hub-and-spoke, Virtual WAN, multi-hub designs, Azure Route Server |
|
||
| **HybridnĂ konektivita** | ExpressRoute, VPN Gateway, SD-WAN integrace |
|
||
| **Multi-cloud** | Azure â AWS/GCP, cross-cloud fabrics |
|
||
| **BezpeÄnost** | NSG, Azure Firewall, DDoS Protection, WAF, AVNM, ZTNA |
|
||
| **DNS & PaaS** | Private Link, Private DNS Zones, Private Resolver, hybrid DNS forwarding |
|
||
| **Application delivery** | Azure Load Balancer, App Gateway, Front Door, Traffic Manager |
|
||
| **Monitoring** | Network Watcher, Traffic Analytics, Azure Monitor, Policy-as-code |
|
||
|
||
**Design decision framework:** SbĂrej poĆŸadavky â analyzuj constraints â vyber topologii â implementuj â monitoruj.
|
||
|
||
### Mastering Next-Gen Juniper Data Centers (Chatterjee, ISBN 978-0-13-533636-6)
|
||
|
||
Addison-Wesley (2026) â hands-on prĆŻvodce EVPN VXLAN fabrikami na Juniper zaĆĂzenĂch.
|
||
|
||
**KlĂÄovĂ© architektury:**
|
||
|
||
- **EVPN VXLAN fabric** â multi-tenant overlay sĂtÄ s BGP EVPN control plane a VXLAN data plane.
|
||
- **Multivendor interoperability** â detailnĂ postupy pro EVPN napĆĂÄ Juniper, Cisco NX-OS, Arista EOS.
|
||
- **Multicast v EVPN VXLAN** â intra-subnet i inter-subnet multicast design (IGMP/MLD proxying, PIM, EVPN Type-6/7 routes).
|
||
- **Day-2 operations** â Juniper Apstra pro automatizaci (Terraform provider), telemetrie (gNMI, OpenConfig).
|
||
- **Service chaining** â propojenĂ NGFW, load balancerĆŻ v rĂĄmci fabric.
|
||
- **DCI s EVPN** â Over-the-Top (OTT) i Integrated Interconnect (VXLAN stitching, MPLS transit).
|
||
|
||
**Evoluce od pĆedchozĂ knihy (Deploying Juniper Data Centers with EVPN VXLAN, 2024):** RozĆĄĂĆenĂ o pokroÄilĂĄ tĂ©mata â multicast, interoperability, Apstra Day-2, observability stack.
|
||
|
||
### Intelligent Cloud Networking: AI-Driven Resource Management (Yadav, ISBN 9364220110)
|
||
|
||
PrƯnik AI/ML a cloudového network managementu (Addition Publishing, 2026).
|
||
|
||
**Aplikace AI v sĂĆ„ovĂ©m managementu:**
|
||
|
||
| Oblast | Technika | PĆĂnos |
|
||
|--------|----------|--------|
|
||
| **Flow prediction** | LSTM, Transformer | Predikce traffic patternĆŻ, proaktivnĂ ĆĄkĂĄlovĂĄnĂ |
|
||
| **Flow classification** | CNN, RL | Identifikace typĆŻ provozu pro QoS |
|
||
| **Load balancing** | DRL (Deep RL) | DynamickĂĄ distribuce zĂĄtÄĆŸe, redukce congestion |
|
||
| **Resource management** | Q-learning, DQN | Optimalizace alokace CPU/memory/network |
|
||
| **Routing optimization** | DRL, GNN | AdaptivnĂ routing podle aktuĂĄlnĂch podmĂnek |
|
||
| **Congestion control** | ML-based CC | PrediktivnĂ ĆĂzenĂ congeste (mĂsto reakce na loss) |
|
||
| **Anomaly detection** | Autoencoders, Isolation Forest | Detekce ĂștokĆŻ a anomĂĄliĂ v reĂĄlnĂ©m Äase |
|
||
| **Blockchain security** | Smart contracts | DecentralizovanĂ© ĆĂzenĂ pĆĂstupu, audit trail |
|
||
|
||
**TechnologickĂ© smÄry:**
|
||
- **Ultra Ethernet Consortium (UEC)** â novĂĄ generace Ethernetu pro AI, lossless fabric, telemetrie, adaptive routing.
|
||
- **Path Aware Networking** â aplikace si vybĂrĂĄ cestu podle aktuĂĄlnĂch podmĂnek (latence, loss, cena).
|
||
- **Self-optimizing networks** â uzavĆenĂĄ smyÄka: telemetrie â AI analĂœza â automatickĂĄ akce â zpÄtnĂĄ vazba.
|
||
|
||
## Best practices
|
||
|
||
- **Segmentace sĂtÄ** â oddÄlenĂ environmentĆŻ (dev/staging/prod), vrstev (web/app/db)
|
||
- **Least privilege access** â security groups povolujĂ jen nutnĂœ provoz
|
||
- **Monitoring** â VPC Flow Logs, netflow, sFlow
|
||
- **Redundance** â multi-AZ, multi-region pro kritickĂ© sluĆŸby
|
||
- **Encryption in transit** â TLS vĆĄude, mTLS pro service-to-service
|
||
- **DDoS protection** â AWS Shield, Azure DDoS Protection, Cloudflare
|
||
|
||
## Zdroje
|
||
|
||
Odkazy, knihy a standardy: [sources/networking/sources.md](sources/networking/sources.md)
|
||
- **MTU alignment** â konzistentnĂ MTU napĆĂÄ celou cestou, kontrola ICMP blokovĂĄnĂ pro PMTUD
|
||
- **IP planning** â RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), vyhnout se pĆekryvĆŻm pro peering
|
||
|
||
## TLS detail
|
||
|
||
### TLS 1.3 handshake (1-RTT)
|
||
|
||
```
|
||
Client Server
|
||
| |
|
||
| ClientHello (key_share, sig_algs) |
|
||
|âââââââââââââââââââââââââââââââââââââââââ>|
|
||
| |
|
||
| ServerHello + EncryptedExtensions |
|
||
| + Certificate + CertificateVerify |
|
||
| + Finished |
|
||
|<âââââââââââââââââââââââââââââââââââââââââ|
|
||
| |
|
||
| Finished |
|
||
|âââââââââââââââââââââââââââââââââââââââââ>|
|
||
| |
|
||
| << Application Data >> |
|
||
```
|
||
|
||
- **0-RTT** (early data) â client posĂlĂĄ data ihned s prvnĂ zprĂĄvou (pĆi opakovanĂ©m spojenĂ s PSK)
|
||
- Riziko 0-RTT: replay attacks (HTTP GET je bezpeÄnĂœ, POST vyĆŸaduje ochranu)
|
||
- Oproti TLS 1.2: odstranÄny zastaralĂ© ciphery, AEAD required, faster handshake (2 RTT â 1 RTT)
|
||
|
||
### Cipher suites
|
||
|
||
| Suite | Key exchange | Auth | Encryption | MAC | Status |
|
||
|-------|-------------|------|-----------|-----|--------|
|
||
| `TLS_AES_128_GCM_SHA256` | (EC)DHE | (EC)DHE | AES-128-GCM | AEAD | TLS 1.3 default |
|
||
| `TLS_AES_256_GCM_SHA384` | (EC)DHE | (EC)DHE | AES-256-GCM | AEAD | VyĆĄĆĄĂ bezpeÄnost |
|
||
| `TLS_CHACHA20_POLY1305_SHA256` | (EC)DHE | (EC)DHE | ChaCha20-Poly1305 | AEAD | MobilnĂ / bez AES-NI |
|
||
| `ECDHE-ECDSA-AES128-GCM-SHA256` | ECDHE | ECDSA | AES-128-GCM | AEAD | TLS 1.2 (PFS) |
|
||
| `ECDHE-RSA-AES128-GCM-SHA256` | ECDHE | RSA | AES-128-GCM | AEAD | TLS 1.2 (PFS) |
|
||
|
||
PFS (Perfect Forward Secrecy) â pĆi kompromitaci privĂĄtnĂho klĂÄe nelze deĆĄifrovat dĆĂve zachycenĂœ provoz (ECDHE + ephemeral klĂÄe).
|
||
|
||
### Certificate chain validation
|
||
|
||
```
|
||
1. Client obdrĆŸĂ certificate chain od serveru
|
||
2. Validace:
|
||
a. Datum: certifikĂĄt nenĂ expirovanĂœ a je platnĂœ (notBefore, notAfter)
|
||
b. CRL / OCSP: certifikĂĄt nenĂ revokovĂĄn (OCSP stapling pro snĂĆŸenĂ latence)
|
||
c. Signature chain: podpis kaĆŸdĂ©ho certu v ĆetÄzu je ovÄĆen veĆejnĂœm klĂÄem vydavatele
|
||
d. Root CA: poslednĂ cert v ĆetÄzu je dĆŻvÄryhodnĂœ (v trust store klienta)
|
||
3. CN / SAN: domĂ©novĂ© jmĂ©no v certifikĂĄtu musĂ odpovĂdat cĂlovĂ© domĂ©nÄ
|
||
```
|
||
|
||
TypickĂœ ĆetÄz: `Leaf Cert â Intermediate CA â Root CA` (self-signed, v trust store).
|
||
|
||
*PoslednĂ revize: 2026-06-03*
|