Přeskočit na obsah

TCP/IP

Z Infopedia
Rozbalit box

Obsah boxu

Šablona:Infobox Protokol

Sada protokolů TCP/IP (anglicky TCP/IP Protocol Suite) je soubor síťových protokolů, které tvoří základ a standard pro komunikaci v globální síti Internet a ve většině moderních počítačových sítí. Název je odvozen od dvou nejdůležitějších protokolů v sadě: Transmission Control Protocol (TCP) a Internet Protocol (IP). TCP/IP definuje, jakým způsobem jsou data formátována, adresována, přenášena, směrována a přijímána na cílovém zařízení.

Jedná se o praktickou implementaci vrstvového síťového modelu, která se stala de facto standardem oproti teoretickému modelu OSI. Díky své robustnosti, flexibilitě a otevřenosti umožnil TCP/IP propojení různorodých sítí a hardwaru, což vedlo k exponenciálnímu růstu Internetu.

📜 Historie a vývoj

Vývoj sady protokolů TCP/IP je neoddělitelně spjat s historií Internetu a experimentální sítí ARPANET.

🌐 Počátky v ARPANETu

V pozdních 60. letech 20. století začala agentura Ministerstva obrany USA DARPA (tehdy ARPA) financovat projekt sítě ARPANET. Původní síťový protokol, NCP, měl svá omezení a neumožňoval snadné propojení s jinými, heterogenními sítěmi.

V roce 1974 publikovali Vinton Cerf a Robert Kahn článek "A Protocol for Packet Network Intercommunication", ve kterém popsali základní principy nového protokolu, který by umožnil komunikaci mezi různými sítěmi. Tento návrh se stal základem pro TCP/IP. Klíčovou myšlenkou bylo oddělení spolehlivého doručování (TCP) od adresace a směrování paketů (IP).

📅 Standardizace a rozšíření

Po několika letech vývoje a testování byl TCP/IP oficiálně zaveden. Klíčovým datem se stal 1. ledna 1983, kdy byla celá síť ARPANET povinně převedena z protokolu NCP na TCP/IP. Tento den je často označován jako "den zrození Internetu".

Velkou roli v rozšíření TCP/IP sehrála jeho implementace v operačním systému Unix, konkrétně v jeho variantě BSD na Kalifornské univerzitě v Berkeley. Díky tomu se TCP/IP stal snadno dostupným pro akademickou a výzkumnou sféru, což výrazně urychlilo jeho adopci.

🚀 Moderní éra a IPv6

S masivním nárůstem popularity Internetu v 90. letech se začal projevovat zásadní problém původního návrhu – vyčerpání adresního prostoru protokolu IPv4. To vedlo k vývoji nové verze internetového protokolu, IPv6, který nabízí prakticky nevyčerpatelný počet adres a přináší další vylepšení, jako je zjednodušení hlavičky nebo nativní podpora pro bezpečnost (IPsec). Přechod z IPv4 na IPv6 je postupný a stále probíhá.

⚙️ Architektura a vrstvy

Model TCP/IP je obvykle popisován pomocí čtyř abstraktních vrstev. Každá vrstva řeší specifickou sadu problémů a nabízí své služby vyšší vrstvě, přičemž využívá služeb vrstvy nižší. Tento princip se nazývá zapouzdření.

1. Aplikační vrstva (Application Layer)

Nejvyšší vrstva, se kterou přímo interagují uživatelské aplikace. Definuje protokoly pro konkrétní služby. Příklady protokolů:

  • HTTP (Hypertext Transfer Protocol): Pro přenos webových stránek.
  • HTTPS (HTTP Secure): Zabezpečená verze HTTP.
  • FTP (File Transfer Protocol): Pro přenos souborů.
  • SMTP (Simple Mail Transfer Protocol): Pro odesílání e-mailů.
  • POP3 a IMAP: Pro příjem e-mailů.
  • DNS (Domain Name System): Pro překlad doménových jmen na IP adresy.
  • Telnet a SSH: Pro vzdálený přístup k terminálu.

2. Transportní vrstva (Transport Layer)

Tato vrstva zajišťuje komunikaci mezi koncovými body (aplikacemi na různých počítačích). Jejím hlavním úkolem je rozdělit data z aplikační vrstvy na menší segmenty a zajistit jejich doručení. Dva hlavní protokoly této vrstvy jsou:

TCP (Transmission Control Protocol)

  • Spojově orientovaný (connection-oriented): Před samotným přenosem dat naváže spojení pomocí procesu zvaného "třícestný handshake" (three-way handshake).
  • Spolehlivý: Zaručuje, že všechna data dorazí v pořádku a ve správném pořadí. Ztracené segmenty jsou automaticky poslány znovu.
  • Řízení toku (flow control): Zabraňuje zahlcení přijímače tím, že odesílatel posílá data jen tak rychle, jak je přijímač schopen zpracovat.
  • Použití: Webové stránky (HTTP), přenos souborů (FTP), e-mail (SMTP).

UDP (User Datagram Protocol)

  • Nespojově orientovaný (connectionless): Neověřuje, zda je cílové zařízení připraveno přijímat data. Prostě je pošle.
  • Nespolehlivý: Nezaručuje doručení, pořadí ani neporušenost datagramů.
  • Rychlý a s nízkou režií: Díky absenci složitých mechanismů je mnohem rychlejší než TCP.
  • Použití: Streamování videa a audia, online hry, DNS, VoIP.

3. Síťová vrstva (Internet Layer)

Tato vrstva se stará o adresaci a směrování datagramů (paketů) přes síť. Jejím cílem je doručit data z jednoho síťového rozhraní na druhé, klidně i přes několik mezilehlých sítí.

  • IP (Internet Protocol): Základní protokol této vrstvy. Definuje formát paketů a systém logických adres (IP adresy). Každému zařízení v síti přiřazuje unikátní IP adresu.
  • IPv4 vs. IPv6: Dvě verze protokolu IP. IPv4 používá 32bitové adresy (např. `192.168.1.1`), zatímco IPv6 používá 128bitové adresy (např. `2001:0db8:85a3:0000:0000:8a2e:0370:7334`), čímž řeší problém nedostatku adres.
  • ICMP (Internet Control Message Protocol): Slouží pro diagnostiku a oznamování chybových stavů v síti. Využívají ho nástroje jako ping a traceroute.
  • Směrování (Routing): Proces hledání nejlepší cesty pro pakety sítí pomocí zařízení zvaných router.

Nejnižší vrstva modelu, která se stará o přenos dat po fyzickém médiu (např. kabel, optické vlákno, vzduch). Definuje, jak jsou bity reprezentovány signály. Zahrnuje technologie jako:

  • Ethernet: Nejrozšířenější technologie pro lokální sítě (LAN). Používá MAC adresy pro identifikaci zařízení v rámci jedné sítě.
  • Wi-Fi: Standard pro bezdrátové lokální sítě (WLAN).
  • PPP (Point-to-Point Protocol): Používal se například pro vytáčené připojení.

💡 Klíčové koncepty

📦 Zapouzdření (Encapsulation)

Zapouzdření je základní princip vrstvové architektury. Když data procházejí ze shora dolů (od aplikační vrstvy k síťovému rozhraní), každá vrstva přidá k datům svou vlastní hlavičku (metadata). 1. Aplikační vrstva vytvoří data (např. HTTP požadavek). 2. Transportní vrstva vezme tato data, přidá TCP (nebo UDP) hlavičku a vytvoří tak segment. 3. Síťová vrstva vezme segment, přidá IP hlavičku a vytvoří paket (nebo datagram). 4. Vrstva síťového rozhraní vezme paket, přidá svou hlavičku (např. ethernetovou) a vytvoří rámec, který je odeslán po médiu.

Na straně příjemce probíhá opačný proces (de-enkapsulace), kde každá vrstva "odbalí" svou hlavičku a data předá vyšší vrstvě.

🗺️ Adresace a směrování

TCP/IP používá dva typy adres:

  • Logická adresa (IP): Používá se pro identifikaci zařízení v rámci celého Internetu. Je hierarchická a může se měnit (např. při připojení do jiné sítě).
  • Fyzická adresa (MAC): Je unikátní pro každé síťové rozhraní (síťovou kartu) a je pevně daná výrobcem. Používá se pouze pro komunikaci v rámci jedné lokální sítě.

Routery jsou zařízení, která propojují různé sítě. Na základě cílové IP adresy v paketu rozhodují, kam mají paket dále poslat, aby se dostal blíže ke svému cíli.

🔌 Porty a sockety

Zatímco IP adresa identifikuje konkrétní počítač v síti, port identifikuje konkrétní aplikaci nebo službu běžící na tomto počítači. Port je 16bitové číslo (0-65535). Například webové servery standardně naslouchají na portu 80 (HTTP) nebo 443 (HTTPS).

Kombinace IP adresy a čísla portu se nazývá socket. Socket jednoznačně definuje koncový bod komunikace.

🌍 Význam a použití

Sada protokolů TCP/IP je páteří moderní digitální komunikace. Její využití je všudypřítomné:

  • Internet: Umožňuje globální propojení miliard zařízení.
  • Lokální sítě (LAN): Používá se ve firmách, domácnostech i datových centrech.
  • Internet věcí (IoT): Umožňuje komunikaci chytrých zařízení, senzorů a spotřebičů.
  • VoIP (Voice over IP): Technologie pro telefonování přes internet.
  • Mobilní komunikace: Sítě 4G a 5G jsou plně založeny na TCP/IP.

🤓 Pro laiky: Jak funguje načtení webové stránky?

Představme si zjednodušený proces, co se stane, když do prohlížeče zadáte `www.example.com` a stisknete Enter:

1. Překlad jména (Aplikační vrstva): Váš počítač neví, kde se server `www.example.com` nachází. Zeptá se proto nejbližšího DNS serveru: "Jakou IP adresu má `www.example.com`?". DNS server odpoví například: `93.184.216.34`. 2. Příprava požadavku (Aplikační vrstva): Váš prohlížeč vytvoří HTTP požadavek, který říká: "Prosím, pošli mi obsah hlavní stránky." 3. Zabalení pro transport (Transportní vrstva): Protokol TCP vezme tento požadavek, rozdělí ho na menší kousky (segmenty), očísluje je a přidá k nim informaci o portech (např. zdrojový port 50000, cílový port 80 pro HTTP). Poté naváže spolehlivé spojení se serverem na adrese `93.184.216.34` na portu 80. 4. Přidání adresy (Síťová vrstva): Protokol IP vezme každý TCP segment, přidá k němu hlavičku s vaší IP adresou (odesílatel) a IP adresou serveru `93.184.216.34` (příjemce). Vznikne tak IP paket. 5. Odeslání na cestu (Vrstva síťového rozhraní): Váš počítač předá pakety síťové kartě (Ethernet nebo Wi-Fi), která je přemění na elektrické signály nebo rádiové vlny a pošle je vašemu domácímu routeru. 6. Cesta přes Internet: Váš router a další routery po cestě se dívají na cílovou IP adresu v paketech a posílají je správným směrem, skok po skoku, až dorazí k cílovému serveru. 7. Zpracování na serveru: Server přijme pakety, rozbalí je (opačný proces než zapouzdření), sestaví z nich původní HTTP požadavek, najde požadovanou webovou stránku a celý proces zopakuje v opačném směru, aby vám ji poslal zpět.

⚖️ Srovnání s OSI modelem

Ačkoliv se v praxi používá model TCP/IP, v teorii a při výuce se často zmiňuje sedmivrstvý OSI model. Vztah mezi nimi je následující:

| Vrstva TCP/IP | Odpovídající vrstvy OSI modelu | Popis | |---|---|---| | **Aplikační** | 7. Aplikační, 6. Prezentační, 5. Relační | Zahrnuje protokoly pro koncové aplikace, formátování dat a správu relací. | | **Transportní** | 4. Transportní | Zajišťuje end-to-end komunikaci a spolehlivost. | | **Síťová** | 3. Síťová | Stará se o logickou adresaci a směrování mezi sítěmi. | | **Síťového rozhraní** | 2. Spojová, 1. Fyzická | Zajišťuje přístup k médiu a přenos bitů. |

Model TCP/IP je považován za praktičtější a popisuje reálně používané protokoly, zatímco OSI model je více teoretický a preskriptivní referenční model.


Šablona:Aktualizováno