GNU/Linux >> Znalost Linux >  >> Linux

Základy protokolu TCP/IP vysvětleny pomocí diagramu

Přemýšleli jste někdy, jak váš počítač komunikuje s jinými počítači ve vaší místní síti LAN nebo s jinými systémy na internetu?

Pochopení složitosti interakce počítačů je důležitou součástí sítí a je ve stejném zájmu správce systému i vývojáře. V tomto článku se pokusíme diskutovat o konceptu komunikace ze zcela základní základní úrovně, které musí porozumět každý.

SADA PROTOKOLŮ TCP/IP

Komunikace mezi počítači v síti se provádí pomocí protokolových obleků. Nejpoužívanější a nejdostupnější sadou protokolů je sada protokolů TCP/IP. Protokolový oblek se skládá z vrstvené architektury, kde každá vrstva zobrazuje nějakou funkcionalitu, kterou lze provést pomocí protokolu. Každá vrstva má obvykle více než jednu možnost protokolu k provedení odpovědnosti, kterou vrstva dodržuje. TCP/IP je normálně považován za 4vrstvý systém. Tyto 4 vrstvy jsou následující:

  1. Aplikační vrstva
  2. Přepravní vrstva
  3. Síťová vrstva
  4. Vrstva propojení dat

1. Aplikační vrstva

Toto je nejvyšší vrstva sady protokolů TCP/IP. Tato vrstva zahrnuje aplikace nebo procesy, které používají protokoly transportní vrstvy k doručování dat do cílových počítačů.

Na každé vrstvě existují určité možnosti protokolu pro provedení úkolu určeného pro tuto konkrétní vrstvu. Aplikační vrstva má tedy také různé protokoly, které aplikace používají ke komunikaci s druhou vrstvou, transportní vrstvou. Některé z populárních protokolů aplikační vrstvy jsou:

  • HTTP (Hypertext Transfer Protocol)
  • FTP (Protokol přenosu souborů)
  • SMTP (Simple mail transfer protocol)
  • SNMP (Simple network management protocol) atd.

2. Transportní vrstva

Tato vrstva poskytuje páteř toku dat mezi dvěma hostiteli. Tato vrstva přijímá data z aplikační vrstvy nad ní. Na této vrstvě funguje mnoho protokolů, ale dva nejčastěji používané protokoly na transportní vrstvě jsou TCP a UDP.

TCP se používá tam, kde je vyžadováno spolehlivé připojení, zatímco UDP se používá v případě nespolehlivých připojení.

TCP rozděluje data (pocházející z aplikační vrstvy) na části o správné velikosti a poté tyto části předává do sítě. Potvrzuje přijaté pakety, čeká na potvrzení odeslaných paketů a nastavuje časový limit pro opětovné odeslání paketů, pokud potvrzení nebudou přijata včas. Termín „spolehlivé připojení“ se používá tam, kde není žádoucí ztratit jakékoli informace, které jsou tímto připojením přenášeny po síti. Proto protokol používaný pro tento typ připojení musí poskytovat mechanismus k dosažení této požadované charakteristiky. Například při stahování souboru není žádoucí ztratit jakékoli informace (bajty), protože to může vést k poškození stahovaného obsahu.

UDP poskytuje srovnatelně jednodušší, ale nespolehlivou službu odesíláním paketů z jednoho hostitele na druhého. UDP nepřijímá žádná zvláštní opatření, aby zajistil, že odesílaná data cílový hostitel přijme nebo ne. Termín „nespolehlivé spojení“ se používá tam, kde ztráta některých informací nebrání plnění úkolu prostřednictvím tohoto spojení. Například při streamování videa je ztráta několika bajtů informací z nějakého důvodu přijatelná, protože to nijak zvlášť nepoškodí uživatelský dojem.

3. Síťová vrstva

Tato vrstva je také známá jako internetová vrstva. Hlavním účelem této vrstvy je organizovat nebo spravovat pohyb dat po síti. Pohybem dat obecně rozumíme směrování dat po síti. Hlavním protokolem používaným na této vrstvě je IP. Zatímco ICMP (používá se oblíbeným příkazem „ping“) a IGMP se také používají v této vrstvě.

4. Data Link Layer

Tato vrstva je také známá jako vrstva síťového rozhraní. Tato vrstva se obvykle skládá z ovladačů zařízení v OS a karty síťového rozhraní připojené k systému. Jak ovladače zařízení, tak karta síťového rozhraní se starají o detaily komunikace s médiem používaným k přenosu dat po síti. Ve většině případů je toto médium ve formě kabelů. Některé ze slavných protokolů, které se používají v této vrstvě, zahrnují ARP (protokol rozlišení adresy), PPP (protokol Point to Point) atd.

PŘÍKLAD KONCEPCE TCP/IP

Jedna věc, která stojí za zmínku, je, že interakce mezi dvěma počítači v síti prostřednictvím sady protokolů TCP/IP probíhá ve formě architektury klientského serveru.

Klient požaduje službu, zatímco server zpracovává požadavek pro klienta.

Nyní, když jsme diskutovali o základních vrstvách, které pomáhají toku dat od hostitele k cíli po síti. Vezměme si velmi jednoduchý příklad, aby byl koncept jasnější.

Zvažte tok dat při otevření webu.

Jak je vidět na obrázku výše, informace proudí dolů každou vrstvou na hostitelském počítači. Na první vrstvě, protože se používá protokol http, je vytvořen požadavek HTTP a odeslán do transportní vrstvy.

Zde protokol TCP přiděluje datům přicházejícím z vyšší vrstvy nějaké další informace (jako pořadové číslo, číslo zdrojového portu, číslo cílového portu atd.), takže komunikace zůstává spolehlivá, tj. může být zachována stopa odeslaných dat a přijatých dat.

Na další nižší vrstvě IP přidává své vlastní informace přes data pocházející z transportní vrstvy. Tato informace by pomohla při cestování paketů po síti. A konečně, vrstva datového spojení zajišťuje, že přenos dat na/z fyzického média probíhá správně. I zde může být komunikace prováděná na vrstvě datového spojení spolehlivá nebo nespolehlivá.

Tyto informace putují po fyzickém médiu (jako je Ethernet) a dosáhnou cílového počítače.

Nyní na cílovém počítači (což je v našem případě stroj, na kterém je web hostován) dochází ke stejné sérii interakcí, ale v opačném pořadí.

Paket je nejprve přijat na vrstvě datového spojení. Na této vrstvě se čtou informace (které byly naplněny protokolem vrstvy datového spojení hostitelského stroje) a zbytek dat je předán horní vrstvě.

Podobně na síťové vrstvě se přečtou informace nastavené protokolem síťové vrstvy hostitelského stroje a zbytek informací se předá další vyšší vrstvě. Totéž se děje na transportní vrstvě a nakonec požadavek HTTP odeslaný hostitelskou aplikací (vaším prohlížečem) je přijat cílovou aplikací (webovým serverem).

Člověk by se divil, co se stane, když jsou informace specifické pro každou vrstvu čteny odpovídajícími protokoly na cílovém počítači, nebo proč je to vyžadováno? Pojďme to pochopit na příkladu protokolu TCP přítomného na transportní vrstvě. Na hostitelském počítači tento protokol přidává informaci jako pořadové číslo ke každému paketu odeslanému touto vrstvou.

Na cílovém počítači, když paket dosáhne této vrstvy, TCP na této vrstvě zaznamená pořadové číslo paketu a odešle potvrzení (které je přijato sekvenční číslo + 1).

Nyní, pokud hostitelský TCP neobdrží potvrzení do určité stanovené doby, znovu odešle stejný paket. Tímto způsobem TCP zajišťuje, že se žádný paket neztratí. Vidíme tedy, že protokol na každé vrstvě čte informace nastavené svým protějškem, aby dosáhl funkčnosti vrstvy, kterou reprezentuje.

PORTY, SERVERY A STANDARDY

Na konkrétním počítači je číslo portu spojené s IP adresou stroje známé jako soket. Kombinace IP a portu na klientovi i serveru je známá jako čtyři n-tice. Tato čtyři n-tice jednoznačně identifikuje spojení. V této části probereme, jak se volí čísla portů.

Už víte, že některé z velmi běžných služeb, jako je FTP, telnet atd., běží na dobře známých číslech portů. Zatímco FTP server běží na portu 21, Telent server běží na portu 23. Vidíme tedy, že některé standardní služby, které poskytuje jakákoli implementace TCP/IP, mají některé standardní porty, na kterých běží. Tato standardní čísla portů se obecně vybírají od 1 do 1023. Dobře známé porty spravuje úřad IANA (Internet Assigned Numbers Authority).

Zatímco většina standardních serverů (které poskytuje implementace sady TCP/IP) běží na standardních číslech portů, klienti ke svému běhu nevyžadují žádný standardní port.

Čísla klientských portů jsou známá jako dočasné porty. Pomíjivým rozumíme krátkou životnost. Je to proto, že se klient může připojit k serveru, provést svou práci a poté se odpojit. Použili jsme tedy termín „krátká životnost“, a proto pro ně nejsou vyžadovány žádné standardní porty.

Protože klienti potřebují znát čísla portů serverů, aby se k nim mohli připojit, většina standardních serverů běží na standardních číslech portů.

Porty vyhrazené pro klienty se obecně pohybují od 1024 do 5000. Číslo portu vyšší než 5000 je vyhrazeno pro servery, které nejsou standardní nebo dobře známé.

Pokud se podíváme na soubor ‚/etc/services‘, najdete většinu standardních serverů a port, na kterém běží.

$ cat /etc/services
systat		11/tcp		users
daytime		13/udp
netstat		15/tcp
qotd		17/tcp		quote
msp		18/udp
chargen		19/udp		ttytst source
ftp-data	20/tcp
ftp		21/tcp
ssh		22/tcp
ssh		22/udp
telnet		23/tcp
...
...
...

Jak vidíte ze souboru /etc/services, FTP má číslo portu 21, telent má číslo portu 23 atd. V tomto souboru můžete použít příkaz „grep“ k nalezení libovolného serveru a jeho přidruženého portu.

Pokud jde o standardy, sadu protokolů TCP/IP spravují následující čtyři organizace/skupiny. Jak IRTF, tak IETF spadají pod IAB.

  1. Internetová společnost (ISOC)
  2. Internet Architecture Board (IAB). IAB spadá pod ISOC.
  3. Internet Engineering Task Force (IETF)
  4. The Internet Research Task Force (IRTF)

Linux
  1. Příkaz vypnutí Linuxu s příklady

  2. Příkaz nslookup Linux vysvětlený s příklady

  3. Příkaz Linux Traceroute, vysvětlený s příklady

  1. 15 Vysvětlení běžně používaných síťových portů

  2. Přesměrování IP/portů pomocí csf

  3. Úvod do firewallů

  1. Příkaz curl pro Linux vysvětlený s příklady

  2. Linux cut Command Vysvětlení pomocí 6 příkladů

  3. Útoky TCP/IP – Vysvětlení základů otravy mezipamětí ARP