CCNA Podle knihy VÝUKOVÝ PRŮVODCE Přípravou NA ZKOUŠKU 640-802

Úvod do protokolů TCP/IP - TCP a UDP

Klíčové koncepce protokolů hostitelské vrstvy

Vzhledem k tomu, že už jste získali představu o fungování spojovaného (TCP) i nespojovaného (UDP) protokolu, můžeme nyní shrnout jejich vlastnosti. Tabulka 2. 1 zdůrazňuje některé klíčové aspekty, které byste u těchto protokolů měli mít na paměti. Obsah tabulky byste si měli zapamatovat.

Tabulka 2.1: Klíčové vlastnosti protokolů TCP a UDP

TCP                                                                             UDP

Řazený                                                                        Neřazený

Spolehlivý                                                                   Nespolehlivý

Spojovaný                                                                   Nespojovaný

Virtuální okruh                                                Nízká režie

Potvrzení                                                                     Bez potvrzení

Řízení toku dat pomocí oken                                        Bez oken či řízení toku dat

Fungování protokolu TCP lze dobře osvětlit pomocí analogie s telefonními službami. Chcete-Ii s někým mluvit po telefonu, musíte nejdříve s touto osobou navázat spojení, ať už se nachází kdekoli. To je obdobou virtuálního okruhu u protokolu TCP. Když někomu při hovoru sdělujete důležité informace, můžete říci "Představ si" nebo "Rozumíš tomu?". Tyto fráze, které druhou stranu pobízejí, aby zareagovala, velmi připomínají potvrzení u protokolu TCP. Čas od času (zejména při mobilním telefonování) se lidé také ptají "Jsi tam ještě"? Konverzaci ukončují např. pozdravem "Ahoj", aby dali najevo, že telefonát končí. Protokol TCP rovněž poskytuje obdobné funkce.

Oproti tomu použití protokolu UDP se podobá odeslání pohlednice. Jestliže chcete někomu napsat, nemusíte jej nejdříve kontaktovat. Stačí vymyslet zprávu, uvést adresu a hodit lístek do schránky. Můžeme to přirovnat k nespojovanému charakteru protokolu UDP. Zpráva na pohlednici pravděpodobně není životně důležitá, takže nepotřebujete potvrzení jejího příjmu. Ani protokol UDP neposkytuje potvrzení. Podívejte se nyní na další obrázek 2.5, který znázorňuje protokoly TCP a UDP a aplikace, které jsou k jednotlivým protokolům přidruženy.

Čísla portů

Protokoly TCP a UDP musí při komunikaci s vyššími vrstvami používat čísla portů. Tato čísla totiž dovolují rozlišovat různé komunikace, které jsou v síti aktivní ve stejnou dobu. Zdrojový hostitel dynamicky na zdrojové straně přiděluje čísla portů s hodnotou 1 024 a vyšší. Čísla portů do hodnoty 1 023 jsou definována ve standardu RFC 3232 (případně navštivte web www . i ana . o rg), který se zabývá tzv. dobře známými čísly portů. Virtuální okruhy, které nepoužívají aplikaci s dobře známým číslem portu, mají místo toho přidělena náhodná čísla portů z určitého rozsahu. Tato čísla portů identifikují v segmentu TCP zdrojovou a cílovou aplikaci nebo proces.

Dále jsou vysvětlena různá čísla portů, které lze použít:

• Čísla nižší než 1 024 se považují za dobře známá čísla portů a jejich definici naleznete v dokumentu RFC 3232.

• Čísla 1 024 a vyšší slouží horním vrstvám k navázání relací s jinými hostiteli a protokol TCP je používá jako zdrojové a cílové adresy v segmentu TCP.

V následujících sekcích si rozebereme výstup analyzátoru s ukázkou relace TCP.

Relace TCP: Zdrojový port

Následující výpis dokumentuje relaci TCP zaznamenanou analytickým softwarem OmniPeek:

TCP - Transport Control Protocol

Source Port : 5973

Destinati on Port : 23

Sequence Number: 1 4 56389907

Ack Number: 1 2 42056456

Offset : 5

Re s e rved : %000000

Code : % 0 110 00

            Ack is valid

            Push Request

Window :  6 1 320

Checksum: Ox61a6

Urgent Pointer : 0

No TCP Options

TCP Data Area :

vL.5.+.5.+.5.+.5 76 4c 19 35 II 2b 19 35 II 2b 19 35 II

2 b 1 9 3 5 +. II 2b 19

Frame Check Sequence : OxOdOOOOOf

Všimněte si, že zdrojový hostitel určuje hodnotu zdrojového portu, která se v tomto případě rovná 5973. Cílový port má hodnotu 23, která sděluje přijímajícímu hostiteli účel zamýšleného spojení (Telnet). Při pohledu na tuto relaci vidíte, že zdrojový hostitel nastavuje zdrojový port na číslo od 1 024 do 65535. Proč však zdroj pokaždé volí jiná čísla portů? Díky tomu lze totiž rozlišit relace s různými hostiteli. Pokud by server neměl od odesílajícího hostitele jedinečné číslo, jak by věděl, odkud informace pochází? Protokol TCP a protokoly vyšších vrstev nerozlišují odesílajícího hostitele podle hardwarové a logické adresy jako protokoly linkové a síťové vrstvy. Místo toho používají čísla portů. Snadno si můžete představit, jaký zmatek by nastal na straně přijímajícího hostitele, kdyby všichni hostitelé požadovali připojení k FTP pomocí stejného čísla zdrojového portu!

Relace TCP: cílový port

Ve výstupu analyzátoru někdy pouze zjistíte, že zdrojový port má číslo vyšší než 1 024 a cílový port patří mezi dobře známé porty, jak je patrné v následujícím sledování:

TCP - T ransport Control P rotocol

Source Port : 1 1 44

Destinati on Port : 80 Wo rld Wide Web HTTP

Sequence Number: 9356570

Ack Numbe r: O

Offset : 7

Rese rved : %000000

Code : %00 0010

            Sy nch Sequence

Window : 8192

Checksum  O x 57E7

Urgent Pointer:  0

TCP Options :

            O p tio n Type :  2 Maximum Segment Size

            Length :  4

            MSS :  536

Opti on Type :  1 No Opera t i o n

Option Type :  1 No Opera t i o n

Option Type :  4

Length :  2

Opt Value:

No More HTTP Data

Frame Check Seque nce : Ox4369 7363

Je zřejmé, že zdrojový port má číslo vyšší než 1 024, ale cílový port se rovná 80. Jedná se tedy o službu HTTP. Server (přijímající hostitel) může cílový port v případě potřeby změnit. V předchozím sledování je na cílové zařízení odeslán paket "syn". Sekvence syn sděluje vzdálenému cílovému zařízení, že zdroj požaduje vytvoření relace.

Relace TCP: Potvrzení paketu Syn

Další sledování ukazuje potvrzení paketu syn:

Všimněte si údaje Ack is valid, který znamená, že zdrojový port byl přijat a zařízení souhlasilo s tím, že s výchozím hostitelem vytvoří virtuální okruh. Na tomto místě se opět můžete přesvědčit, že odpověď serveru obsahuje zdrojový port 80 a cílový port 1 144 odeslaný z původního hostitele. Vše je tedy v pořádku. Tabulka 2.2 uvádí seznam běžných aplikací založených na sadě protokolů TCP/IP, jejich dobře známá čísla portů a rovněž protokoly transportní vrstvy, které každá aplikace či proces používá. Je důležité, abyste si tuto tabulku osvojili. Všimněte si, že systém DNS pracuje s protokoly TCP i UDP. Konkrétní zvolený protokol závisí na požadované operaci. Aplikací, které mohou používat oba protokoly, je sice více, ale tento příklad byste si rozhodně měli pamatovat.

Tabulka 2.2: Klíčové protokoly založené na protokolech TCP a UDP

 

Poznámka Protokoly TCP/IP a model ministerstva obrany 117 Protokol TCP je spolehlivý díky řazení, potvrzení a řízení toku dat (posunu oken). Protokol UDP spolehlivost neposkytuje