VOSIS/VO1P/1. semestr - ZO/ST/Test02.md

76 lines
3.8 KiB
Markdown
Raw Normal View History

2023-11-15 22:48:14 +01:00
# 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
2023-11-19 16:14:09 +01:00
``` 0 7 8 15 16 23 24 31 ``` \
2023-11-19 13:51:19 +01:00
``` +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ``` \
``` | Source Port | Destination Port | ``` \
2023-11-19 13:52:09 +01:00
``` +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ``` \
``` | 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 | ``` \
2023-11-19 13:52:42 +01:00
``` +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ```
2023-11-15 22:48:14 +01:00
### UDP
2023-11-19 13:52:09 +01:00
``` 0 7 8 15 16 23 24 31 ``` \
``` +--------+--------+--------+--------+ ``` \
``` | Source | Destination | ``` \
2023-11-19 13:50:39 +01:00
``` | Port | Port | ``` \
``` +--------+--------+--------+--------+ ``` \
2023-11-19 13:52:09 +01:00
``` | | | ``` \
``` | Length | Checksum | ``` \
``` +--------+--------+--------+--------+ ``` \
``` | | ``` \
``` | data octets ... | ``` \
2023-11-19 13:52:42 +01:00
``` +-----------------+--------+--------+ ```