Handshake
Ve skutečném světě je handshake obvyklým pozdravem mezi dvěma lidmi. Podobně handshake počítače slouží jako pozdrav mezi dvěma počítačovými systémy. Běžně se používá k inicializaci síťového spojení mezi dvěma hostiteli.
Handshake počítače může proběhnout mezi libovolnými dvěma systémy, které spolu komunikují pomocí stejného protokolu. Těmito dvěma systémy může být klient a server nebo jednoduše dva počítače v síti P2P. Handshake potvrzuje identity připojujících se systémů a umožňuje další komunikaci.
Handshake přes síť se běžně nazývá třícestný handshake neboli „SYN-SYN-ACK“. Úspěšný handshake zahrnuje sedm kroků:
- Hostitel A odešle hostiteli B synchronizační (SYN) paket.
- Hostitel B obdrží požadavek SYN od hostitele A.
- Hostitel B odešle hostiteli A zprávu s potvrzením synchronizace (SYN-ACK).
- Hostitel A obdrží zprávu SYN-ACK od hostitele B.
- Hostitel A odešle hostiteli B potvrzovací (ACK) zprávu.
- Hostitel B obdrží zprávu ACK od hostitele A.
- Spojení mezi oběma systémy je navázáno.
Když systém zahájí handshake, mohou nastat tři možné výsledky:
- Žádná odpověď – Pokud systém přijímající handshake není dostupný nebo nepodporuje protokol používaný zahajujícím systémem, nemusí na požadavek odpovědět.
- Spojení odmítnuto – Systém přijímající handshake je dostupný a požadavku rozumí, ale spojení odmítne.
- Spojení přijato – Systém přijímající handshake je dostupný, požadavek obdrží a spojení přijme.
Třetí výše uvedený výsledek je jediný, při kterém je handshake dokončen. Pokud je handshake úspěšný, mohou oba systémy začít komunikovat a přenášet data pomocí navázaného protokolu. Mezi příklady protokolů, které používají handshake, patří TCP, TLS a SSL.
Otestujte své znalosti