Added notes for the second test.

This commit is contained in:
Vojtěch Pour 2023-11-15 22:48:14 +01:00
parent 7cd0b3bb4c
commit 6c5ec27b08

77
ST/Test02.md Normal file
View file

@ -0,0 +1,77 @@
# Test 02
## Popište protokol TCP (Transmission Control Protocol)
- protokol pro **přenos dat pomocí spojovaných služeb**
- pracuje na transportní vrstvě (L4)
- **velmi složitý protokol** (musí udržovat stav spojení)
- používá se pro **složitější služby s přenosem objemnějších dat**
- HTTP(S)
- SMTP(S) / POP3(S) / IMAP(S)
### Spojované služby
- **fragmentaci a defragmentaci dat** na úrovni L4 **zajišťuje síť**
- L4 postkytuje službu virtuálního spojení
- **zaručuje doručení** nebo chybovou zprávu
- **zaručuje doručení** segmentů **v pořadí odeslání**
- **zaručuje doručení** stejného segmentu **právě jednou**
- analogie: ~ telefon
- protokol zajišťuje:
- **rozdělení dat** do segmentů (=L4 PDU) a jejich číslování
- **potvrzování příjmu** segmentů **a případné opakování přenosu**
- **sestavení** segmentů **ve správném pořadí**
- **řízení toku dat**
## Popište protokol UDP (User datagram protocol)
- protokol pro **přenos dat pomocí nespojovaných služeb**
- pracuje na transportní vrstvě (L4)
- **velmi jednoduchý protokol** (nemusí udržovat žádný stav)
- používá se pro **jednoduché služby typu „výzva + odezva“**, zejména pokud se posílají jen krátké zprávy
- DHCP
- DNS
### Nespojované služby
- **fragmentaci a defragmentaci dat** na úrovni L4 **si zajišťuje aplikace** sama
- L4 poskytuje jen službu odeslání segmentu
- **nezaručuje doručení** a jeho potvrzení
- **nezaručuje doručení** segmentů **v pořadí odeslání** (↦ směrování)
- **nevylučuje vícenásobné doručení** stejného segmentu (↦ směrování)
- analogie: ~ pošta
- aplikace musí zajišťovat:
- **rozdělení dat** do segmentů a jejich číslování
- **potvrzování příjmu** segmentů **a případné opakování přenosu**
- **sestavení** segmentů **ve správném pořadí**
## Nakreslete a porovnejte hlavičky protokolů TCP a UDP
### TCP
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
### UDP
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Source | Destination |
| Port | Port |
+--------+--------+--------+--------+
| | |
| Length | Checksum |
+--------+--------+--------+--------+
| |
| data octets ... |
+-----------------+--------+--------+