Doručování informací zajišťuje IP směrovací protokol. Co dělá směrovací protokol (IP)?  ARP pro datagramy určené pro jinou síť

Doručování informací zajišťuje IP směrovací protokol.  Co dělá směrovací protokol (IP)?   ARP pro datagramy určené pro jinou síť
Doručování informací zajišťuje IP směrovací protokol. Co dělá směrovací protokol (IP)?  ARP pro datagramy určené pro jinou síť

Protokol IP se nachází na mezisíťové vrstvě zásobníku protokolů TCP/IP. Funkce protokolu IP jsou ve standardu RFC-791 definovány takto: „Protokol IP zajišťuje přenos bloků dat, nazývaných datagramy, od odesílatele k příjemcům, přičemž odesílatelé a příjemci jsou počítače označené pevnou délkou. adresy ( IP adresy). Protokol IP také poskytuje fragmentaci a opětovné sestavení datagramů, je-li to nutné, pro přenos dat přes sítě s malou velikostí paketů. IP protokol je nespolehlivý protokol bez spojení. To znamená, že protokol IP nepotvrzuje doručení dat, nekontroluje integritu přijatých dat a neprovádí operaci handshaking - výměnu servisních zpráv potvrzujících navázání spojení s cílovým uzlem a jeho připravenost přijímat data.

Struktura IP paketů
IP paket se skládá z hlavičky a datového pole. Záhlaví, obvykle dlouhé 20 bajtů, má následující strukturu (obr. 5.12).

Pole Příznaky (Hags) zabírá 3 bity a obsahuje funkce spojené s fragmentací. Nastavený bit DF (Do not Fragment) zakazuje směrovači fragmentovat tento paket a nastavený bit MF (More Fragments) označuje, že tento paket je přechodným (nikoli posledním) fragmentem. Zbývající bit je rezervován.

Hlavní funkcí routeru je číst hlavičky paketů síťového protokolu přijatých a uložených na každém portu (například IPX, IP, AppleTalk nebo DECnet) a rozhodnout o další cestě paketu podle jeho síťové adresy, která obvykle obsahuje číslo sítě a číselný uzel.

Softwarové moduly protokolu IP jsou nainstalovány na všech koncových stanicích a směrovačích v síti. K předávání paketů používají směrovací tabulky.

Struktura směrovací tabulky zásobníku TCP/IP se řídí obecnými principy konstrukce směrovacích tabulek. Je však důležité poznamenat, že vzhled směrovací tabulky IP závisí na konkrétní implementaci zásobníku TCP/IP.
Účel polí směrovací tabulky
I přes poměrně znatelné vnější rozdíly obsahují všechny tři tabulky všechny klíčové parametry nutné pro provoz routeru.
Mezi tyto parametry samozřejmě patří adresa cílové sítě a adresa dalšího routeru. Třetí klíčový parametr, adresa portu, na který má být paket odeslán, je v některých tabulkách uveden přímo, v jiných nepřímo. Zbývající parametry, které lze nalézt v prezentovaných verzích směrovací tabulky, jsou volitelné pro rozhodování o cestě paketu.

Zdroje a typy záznamů ve směrovací tabulce:

  1. Prvním zdrojem je software TCP/IP stack.
  2. Druhým zdrojem pro zobrazení záznamu v tabulce je administrátor, který záznam přímo vytváří pomocí nějaké systémové utility.
  3. Třetím zdrojem záznamů mohou být směrovací protokoly jako RIP nebo OSPF.

Fragmentace IP paketů

IP protokol umožňuje fragmentaci paketů přicházejících na vstupní porty routerů. Je třeba rozlišovat fragmentaci zpráv v odesílajícím uzlu a dynamickou fragmentaci zpráv v tranzitních uzlech sítě – routerech. Téměř všechny zásobníky protokolů mají protokoly, které jsou zodpovědné za fragmentaci zpráv aplikační vrstvy na kousky, které se vejdou do rámců linkové vrstvy. V TCP/IP stacku tento problém řeší protokol TCP, který rozděluje proud bajtů do něj přenesených z aplikační vrstvy na zprávy požadované velikosti (např. 1460 bajtů pro protokol Ethernet). Proto protokol IP v odesílajícím uzlu nepoužívá své schopnosti fragmentace paketů.

Pokud je však nutné přenést paket do další sítě, pro kterou je velikost paketu příliš velká, je nutná fragmentace IP. Mezi funkce vrstvy IP patří rozdělení zprávy, která je pro určitý typ síťové komponenty příliš dlouhá, na kratší pakety s vytvořením odpovídajících polí služeb nezbytných pro následné sestavení fragmentů do původní zprávy.
Ve většině typů lokálních a rozlehlých sítí se hodnoty MTU, tedy maximální velikost datového pole, do kterého musí protokol IP zapouzdřit svůj paket, výrazně liší. Sítě Ethernet mají MTU 1500 bajtů, sítě FDDI mají MTU 4096 bajtů a sítě X.25 nejčastěji pracují s MTU 128 bajtů.

Paket IP může být označen jako nefragmentovatelný. Takto označený paket nemůže být za žádných okolností IP modulem fragmentován. Pokud se paket označený jako nefragmentovatelný nemůže dostat k příjemci bez fragmentace, pak je tento paket jednoduše zničen a příslušná ICMP zpráva je odeslána odesílajícímu hostiteli.

Procedura slučování spočívá v umístění dat z každého fragmentu na pozici specifikovanou v hlavičce paketu v poli „offset fragmentu“.

Každý IP modul musí být schopen přenést 68bajtový paket bez další fragmentace.

Tabulka přehledně ukazuje síťové masky.

První dvě položky označují, že samotný router prostřednictvím svých odpovídajících IP rozhraní odesílá datagramy adresované síti, ke které je přímo připojen. Všechny ostatní datagramy jsou předány G2 (194.84.0.118). Rozhraní se0 označuje sériový kanál - vyhrazenou linku.

2.3.5. Vytváření statických tras

Tabulku tras lze vyplnit různými způsoby. Statické směrování se používá, když se použité cesty nemohou v průběhu času měnit, jako je tomu u hostitele a směrovače diskutovaného výše, kde prostě neexistují žádné alternativní cesty. Statické trasy konfiguruje správce sítě nebo hostitele.

Pro běžného hostitele z výše uvedeného příkladu stačí uvést pouze adresu brány (další router ve výchozí trase), ostatní položky v tabulce jsou zřejmé a hostitel zná svou vlastní IP adresu a masku sítě, lze je zadat nezávisle. Adresu brány lze zadat buď ručně, nebo získat automaticky při konfiguraci TCP/IP stacku přes DHCP server (viz laboratorní práce „Dynamické přidělování IP adres“ v předmětu „Internetové technologie“).

2.3.6. Dynamické směrování

V případě kombinace sítí s komplexní topologií, kdy existuje několik možností trasy z jednoho uzlu do druhého a (nebo) když se stav sítí (topologie, kvalita komunikačních kanálů) v čase mění, jsou tabulky směrování sestavovány dynamicky pomocí různé směrovací protokoly. Zdůrazňujeme, že směrovací protokoly ve skutečnosti datagramy nesměrují – to v každém případě provádí modul IP podle záznamů v tabulce směrování, jak bylo uvedeno výše. Směrovací protokoly založené na určitých algoritmech dynamicky upravují směrovací tabulku, to znamená, že přidávají a odstraňují položky, přičemž některé položky může správce stále zadávat staticky.

V závislosti na operačním algoritmu existují vektor vzdálenosti vzdálenostní vektorové protokoly a protokoly stavy připojení(protokoly stavu propojení).

Podle oblasti použití existuje rozdělení na protokoly externí(exteriér) a vnitřní(vnitřní) směrování.

Protokoly vzdálenostních vektorů implementovat Bellman-Fordův algoritmus. Obecné schéma jejich fungování je následující: každý router pravidelně vysílá informace o vzdálenosti od sebe do všech sítí, které jsou mu známy ( "vektor vzdálenosti"). V počátečním okamžiku jsou samozřejmě odesílány informace pouze o těch sítích, ke kterým je router přímo připojen.

Každý směrovač, který od někoho obdržel vektor vzdálenosti, v souladu s přijatými informacemi také opraví data, která již má o dosažitelnosti sítí, nebo přidá nové, přičemž označí směrovač, ze kterého byl vektor přijat, jako další router na cestě k datové síti. Po nějaké době se algoritmus sblíží a všechny routery mají informace o trasách do všech sítí.

Protokoly vzdálenostních vektorů fungují dobře pouze v malých sítích. Algoritmus jejich fungování bude podrobněji rozebrán v kapitole 4. Vývoj technologie vzdálenostních vektorů - „cestových vektorů“ používaných v protokolu BGP.

Při práci protokoly stavu spojení Každý router sleduje stav svých spojení se sousedy a při změně stavu (např. při přerušení spojení) vyšle broadcast zprávu, po jejím obdržení všechny ostatní routery upraví své databáze a přepočítávají trasy. Na rozdíl od protokolů vzdálenostních vektorů vytvářejí protokoly stavu spojení na každém routeru databázi, která popisuje kompletní síťový graf a umožňuje provádět výpočty trasy lokálně, a tedy rychle.

Běžným protokolem tohoto typu je OSPF, je založen na algoritmu SPF (Shortest Path First) pro nalezení nejkratší cesty v grafu, který navrhl E.W. Dijkstra.

Protokoly stavu spojení jsou mnohem složitější než protokoly vektorů vzdálenosti, ale poskytují rychlejší, optimálnější a správnější výpočet tras. Protokoly stavu spojení budou podrobněji popsány na příkladu protokolu OSPF v kapitole 5.

Vnitřní směrovací protokoly (například RIP, OSPF; souhrnně nazývané IGP - Interior Gateway Protocols) se používají na směrovačích fungujících uvnitř autonomní systémy . Autonomní systém je největší divizí internetu, což je kombinace sítí se stejnou směrovací politikou a společnou správou, například soubor sítí společnosti Global One a jejích klientů v Rusku.

Rozsah konkrétního interního směrovacího protokolu nemusí pokrývat celý autonomní systém, ale pouze určitou kombinaci sítí, která je součástí autonomního systému. Nazveme takovou unii síťový systém , nebo jednoduše Systém, někdy označující směrovací protokol fungující v tomto systému, například: systém RIP, systém OSPF.

Směrování mezi provádějí autonomní systémy okraj(hraniční) směrovače, jejichž směrovací tabulky jsou sestavovány pomocí externích směrovacích protokolů (souhrnně nazývaných EGP - Exterior Gateway Protocols). Zvláštností externích směrovacích protokolů je, že při výpočtu tras musí brát v úvahu nejen topologii síťového grafu, ale také politická omezení, která administrace autonomních systémů klade na směrování provozu jiných autonomních systémů přes jejich sítě. V současnosti je nejběžnějším externím směrovacím protokolem BGP.

2.4. Formát záhlaví IP datagramu

IP datagram se skládá z hlavičky a dat.

Hlavička datagramu se skládá z 32bitových slov a má proměnnou délku v závislosti na velikosti pole Options, ale vždy je násobkem 32 bitů. Po záhlaví bezprostředně následují data nesená v datagramu.

Formát záhlaví:

Hodnoty pole záhlaví jsou následující.

Ver(4 bity) - verze protokolu IP, aktuálně se používá verze 4, novinky mají čísla verzí 6-8.

IHL (délka internetového záhlaví)(4 bity) - délka hlavičky ve 32bitových slovech; rozsah platných hodnot je od 5 (minimální délka záhlaví, žádné pole „Možnosti“) do 15 (tj. může být maximálně 40 bajtů možností).

TOS (typ služby)(8 bitů) - hodnota pole určuje prioritu datagramu a požadovaný typ směrování. Struktura bajtů TOS:

Tři nejméně významné bity ("Precedence") určují prioritu datagramu:

111 - správa sítě

110 - ovládání sítě

101 - CRITIC-ECP

100 - více než okamžitě

011 - okamžitě

010 - ihned

001 - naléhavé

000 - obvykle

Bity D,T,R,C určují požadovaný typ směrování:

D (Delay) - výběr trasy s minimálním zpožděním,

T (Throughput) - výběr trasy s maximální propustností,

R (Reliability) - výběr trasy s maximální spolehlivostí,

C (Cost) - výběr trasy s minimální cenou.

V datagramu lze nastavit pouze jeden z bitů D, T, R, C. Nejvýznamnější bit bajtu není použit.

Skutečné zvážení priorit a výběr trasy na základě hodnoty bajtu TOS závisí na routeru a jeho softwaru a nastavení. Router může podporovat výpočty trasy pro všechny typy TOS, některé nebo TOS zcela ignorovat. Router může vzít v úvahu hodnotu priority při zpracování všech datagramů nebo při zpracování datagramů pocházejících pouze z omezené množiny síťových uzlů nebo prioritu zcela ignorovat.

Celková délka(16 bitů) - délka celého datagramu v oktetech včetně hlavičky a dat, maximální hodnota 65535, minimum - 21 (záhlaví bez možností a jeden oktet v datovém poli).

ID (identifikace)(16 bitů), Vlajky(3 bity), Fragment Offset(13 bitů) se používají pro fragmentaci a opětovné sestavení datagramů a budou podrobněji diskutovány níže v části 2.4.1.

TTL (Time To Live)(8 bitů) - „životnost“ datagramu. Nastaveno odesílatelem, měřeno v sekundách. Každý router, kterým datagram prochází, přepíše hodnotu TTL, přičemž od ní nejprve odečte čas strávený zpracováním datagramu. Vzhledem k tomu, že rychlost zpracování routerů je v dnešní době tak vysoká, zpracování jednoho datagramu obvykle trvá méně než sekundu, takže každý router ve skutečnosti odečte jeden z TTL. Po dosažení TTL=0 je datagram zahozen a odesílateli lze odeslat odpovídající zprávu ICMP. Řízení TTL zabraňuje zacyklení datagramu v síti.

Protokol(8 bitů) - definuje program (protokol vyššího zásobníku), do kterého mají být data datagramu přenesena k dalšímu zpracování. Některé kódy protokolů jsou uvedeny v tabulce 2.4.1.

Kódy protokolu IP

Kód Protokol Popis
1 ICMP

Protokol řídicí zprávy

2 IGMP

Protokol správy hostitelské skupiny

4 IP

IP over IP (zapouzdření)

6 TCP
8 E.G.P.

Externí směrovací protokol (zastaralý)

9 IGP

Interní směrovací protokol (zastaralý)

17 UDP
46 RSVP

Protokol rezervace zdrojů pro multicasting

88 IGRP

Interní směrovací protokol od společnosti Cisco

89 OSPF

Interní směrovací protokol

Kontrolní součet záhlaví(16 bitů) - kontrolní součet hlavičky, skládá se z 16 bitů, komplementárních bitů v součtu všech 16bitových slov hlavičky. Před výpočtem kontrolního součtu se hodnota pole „Kontrolní součet záhlaví“ vynuluje. Protože routery při zpracování datagramu mění hodnoty některých polí záhlaví (alespoň pole „TTL“), kontrolní součet přepočítá každý router. Pokud je při ověřování kontrolního součtu zjištěna chyba, datagram se zahodí.

Adresa zdroje(32 bitů) - IP adresa odesílatele.

Cílová adresa(32 bitů) - IP adresa příjemce.

Vycpávka- zarovnání záhlaví na hranici 32bitového slova, pokud seznam voleb zabírá neceločíselný počet 32bitových slov. Pole „Padding“ je vyplněno nulami.

2.4.1. Fragmentace datagramu

Různá přenosová média mají různou maximální velikost přenášené datové jednotky (MTU - Media Transmission Unit), toto číslo závisí na rychlostní charakteristice média a pravděpodobnosti výskytu chyby při přenosu. Například velikost MTU v 10 Mbit/s Ethernetu je 1536 oktetů, ve 100 Mbit/s FDDI je to 4096 oktetů.

Při přenosu datagramu z prostředí s větší MTU do prostředí s menší MTU může být nutné datagram fragmentovat. Fragmentaci a opětovné sestavení datagramů provádí modul IP protokolu. K tomuto účelu slouží pole „ID“ (Identification), „Flags“ a „Fragment Offset“ v záhlaví datagramu.

Vlajky- pole se skládá ze 3 bitů, z nichž nejméně významný je vždy resetován:

Hodnoty bitů DF (Don’t Fragment):

0 - fragmentace je povolena,

1 - fragmentace je zakázána (pokud nelze datagram přenést bez fragmentace, je zničen).

MF (více fragmentů) bitové hodnoty:

0 - tento fragment je poslední (jediný),

1 - tento fragment není poslední.

ID (identifikace)- identifikátor datagramu, nastavený odesílatelem; používá se k sestavení datagramu z fragmentů k určení, zda fragmenty patří do stejného datagramu.

Fragment Offset- offset fragmentu, hodnota pole udává, na jaké pozici v datovém poli původního datagramu se tento fragment nachází. Offset je uvažován v 64bitových blocích, tzn. Minimální velikost fragmentu je 8 oktetů a další fragment v tomto případě bude mít offset 1. První fragment má offset nula.

Podívejme se na proces fragmentace na příkladu. Předpokládejme, že datagram o 4020 oktetech (včetně 20 oktetů záhlaví) je přenášen z prostředí FDDI (MTU=4096) do prostředí Ethernet (MTU=1536). Na hranici média je datagram fragmentován. Záhlaví v tomto datagramu a ve všech jeho fragmentech jsou stejně dlouhé - 20 oktetů.

Originální datagram:
záhlaví: ID=X, celková délka=4020, DF=0, MF=0, FOffset=0
data (4000 oktetů): “A....A” (1472 oktetů), “B....B” (1472 oktetů), “C....C” (1056 oktetů)

Fragment 1:
záhlaví: ID=X, celková délka=1492, DF=0, MF=1, FOffset=0
údaje: “A....A” (1472 oktetů)

Fragment 2:
záhlaví: ID=X, celková délka=1492, DF=0, MF=1, FOffset=184
údaje: “B....B” (1472 oktetů)

Fragment 3:
záhlaví: ID=X, celková délka=1076, DF=0, MF=0, FOffset=368
údaje: “C....C” (1056 oktetů)

Fragmentace může být rekurzivní, to znamená, že například fragmenty 1 a 2 mohou být znovu fragmentovány; v tomto případě se offset (Fragment Offset) vypočítá od začátku původního datagramu.

2.4.2. Diskuse o fragmentaci

Maximální počet fragmentů je 2 13 = 8192 s minimální (8 oktetů) velikostí každého fragmentu. S větší velikostí fragmentu se maximální počet fragmentů odpovídajícím způsobem snižuje.

Při fragmentaci se některé volby zkopírují do hlavičky fragmentu, některé ne. Všechna ostatní pole záhlaví datagramu v záhlaví fragmentu jsou přítomna. Následující pole záhlaví mohou změnit svou hodnotu ve srovnání s původním datagramem: pole voleb, příznak „MF“, „Offset fragmentu“, „Total Length“, „IHL“, kontrolní součet. Zbývající pole jsou zkopírována do fragmentů beze změn.

Každý IP modul musí být schopen přenášet 68-oktetový datagram bez fragmentace (maximální velikost záhlaví 60 oktetů + minimální fragment 8 oktetů).

K opětovnému sestavení fragmentů dochází pouze v cílovém uzlu datagramu, protože různé fragmenty mohou mít různé cesty k cíli.

Pokud jsou fragmenty zpožděny nebo ztraceny při přenosu, zbývající fragmenty již přijaté v bodě opětovného sestavení mají TTL sníženy o jednu za sekundu, dokud nedorazí chybějící fragmenty. Pokud se TTL stane nulou, pak jsou všechny fragmenty zničeny a zdroje použité k opětovnému sestavení datagramu jsou uvolněny.

Maximální počet ID datagramů je 65536. Pokud jsou použita všechna ID, musíte počkat, dokud nevyprší platnost TTL, než bude možné stejné ID znovu použít, protože v sekundách TTL bude „starý“ datagram buď doručen a znovu sestaven, nebo zničen.

Přenos datagramů s fragmentací má určité nevýhody. Například, jak vyplývá z předchozího odstavce, maximální rychlost takového přenosu je 65536/TTL datagramů za sekundu. Pokud vezmeme v úvahu, že doporučená hodnota TTL je 120, dostaneme maximální rychlost 546 datagramů za sekundu. V prostředí FDDI je MTU přibližně 4100 oktetů, z čehož získáme maximální rychlost přenosu dat v prostředí FDDI nejvýše 18 Mbit/s, což je výrazně méně než možnosti tohoto prostředí.

Další nevýhodou fragmentace je její nízká účinnost: pokud dojde ke ztrátě jednoho fragmentu, celý datagram se znovu přenese; Při současném čekání na zpožděné fragmenty několika datagramů vzniká citelný nedostatek zdrojů a zpomaluje se provoz síťového uzlu.

Způsob, jak obejít proces fragmentace, je použít algoritmus „Path MTU Discovery“, tento algoritmus je podporován protokolem TCP. Účelem algoritmu je zjistit minimální MTU na celé cestě od odesílatele k cíli. K tomu jsou datagramy odesílány s nastaveným bitem DF („fragmentace zakázána“). Pokud nedosáhnou cíle, velikost datagramu se zmenší a to pokračuje, dokud není přenos úspěšný. Při přenosu užitečného zatížení jsou pak vytvářeny datagramy o velikosti odpovídající detekovanému minimálnímu MTU.

2.4.3. Možnosti IP

Možnosti definují další služby protokolu IP pro zpracování datagramů. Opce se skládá minimálně z oktetu typu opce, po kterém může následovat oktet délky opce a datové oktety pro opci.

Struktura oktetu „Typ možnosti“:

Hodnoty bitu C:

1 - volba se zkopíruje do všech fragmentů;

0 - volba se zkopíruje pouze do prvního fragmentu.

Jsou definovány dvě třídy možností: 0 – „Management“ a 2 – „Measurement and debugging“. V rámci třídy je možnost označena číslem. Níže jsou uvedeny možnosti popsané ve standardu protokolu IP; znaménko „-“ ve sloupci „Length Octet“ znamená, že opce se skládá pouze z oktetu „Option Type“, číslo vedle znaménka plus znamená, že opce má pevnou délku (délka je uvedena v oktetech).

Tabulka 2.4.2

Délka oktetu

Konec seznamu možností

Žádná operace

Bezpečnost

Loose Source Routing (volné provedení trasy odesílatele)

Přísné směrování zdroje (přísné provedení trasy odesílatele)

Záznam trasy

Internetové časové razítko

Když je v seznamu nalezena možnost „Konec seznamu možností“, analýza možností se zastaví, i když délka záhlaví (IHL) ještě nebyla vyčerpána. Možnost Bez operace se obvykle používá k zarovnání možností na 32bitové hranici.

Většina možností se v současné době nepoužívá. Možnosti „ID streamu“ a „Zabezpečení“ byly použity v omezeném rozsahu experimentů funkce možností „Zaznamenat trasu“ a „Časové razítko internetu“ provádí program traceroute. Zajímavé jsou pouze možnosti „Loose/Strict Source Routing“, které jsou popsány v dalším odstavci.

Použití voleb v datagramech zpomaluje jejich zpracování. Vzhledem k tomu, že většina datagramů neobsahuje volby, to znamená, že mají pevnou délku hlavičky, je jejich zpracování pro tento konkrétní případ maximálně optimalizováno. Objevení se opce přeruší tento vysokorychlostní proces a zavolá standardní univerzální IP modul, schopný zpracovat jakékoli standardní opce, ale za cenu výrazné ztráty výkonu.

Volby „Loose/Strict Source Routing“ (třída 0, čísla 3 a 9, v tomto pořadí) jsou určeny k tomu, aby datagramu indikovaly cestu předem určenou odesílatelem.

Obě možnosti vypadají stejně:

Pole „Data“ obsahuje seznam IP adres požadované trasy v pořadí. Pole „Ukazatel“ se používá k určení dalšího bodu trasy, obsahuje číslo prvního oktetu IP adresy tohoto bodu v poli „Data“. Čísla se počítají od začátku možnosti od jedničky, počáteční hodnota ukazatele je 4.

Možnosti fungují následovně.

Předpokládejme, že datagram odeslaný z A do B musí projít směrovači G1 a G2. Na výstupu z A obsahuje pole „Adresa cíle“ v hlavičce datagramu adresu G1 a datové pole volby obsahuje adresy G2 a B (ukazatel = 4). Po příchodu datagramu do G1 se z datového pole opce, počínaje oktetem označeným ukazatelem (oktet 4), extrahuje adresa dalšího cíle (G2) a umístí se do pole „Adresa cíle“, hodnota ukazatele se zvýší o 4 a adresa G2 se nahradí pole dat volby obsahuje adresu rozhraní routeru G1, přes které bude datagram odeslán do nového cíle (tj. do G2). Po příchodu datagramu na G2 se procedura zopakuje a datagram se odešle do B. Při zpracování datagramu na B se zjistí, že hodnota ukazatele (12) přesahuje délku opce, což znamená, že bylo dosaženo konečného cíle trasy.

Rozdíly mezi možnostmi „Loose Source Routing“ a „Strict Source Routing“ jsou následující:

„Loose“: další bod požadované trasy lze dosáhnout v libovolném počtu kroků ( chmel);

„Strict“: další bod požadované trasy musí být dosažen v 1 kroku, tedy přímo.

Uvažované možnosti se zkopírují do všech fragmentů. Pro každý datagram může existovat pouze jedna taková možnost.

Volby „Loose/Strict Source Routing“ lze využít za účelem neoprávněného pronikání přes řídící (filtrující) uzel (povolená adresa se nastavuje v poli „Destination Address“, datagram je předán řídícím uzlem, následně zakázaná adresa je nahrazena z datového pole volby a datagram je přesměrován na tuto adresu je již mimo dosah řídicího uzlu), proto se z bezpečnostních důvodů doporučuje obecně zakázat řídicímu uzlu předávat datagramy s volbami v otázka.

Rychlou alternativou k použití možnosti „Loose Source Routing“ je zapouzdření IP-IP: uzavření IP datagramu do IP datagramu (pole „Protokol“ vnějšího datagramu má hodnotu 4, viz). Například potřebujete poslat nějaký TCP segment z A do B přes C. Z A do C se odešle datagram, jako je tento:

Při zpracování datagramu v jazyce C se zjistí, že data z datagramu musí být ke zpracování přenesena do protokolu IP a jedná se samozřejmě také o datagram IP. Tento interní datagram je načten a odeslán do B.

V tomto případě byl dodatečný čas na zpracování datagramu vyžadován pouze v uzlu C (zpracování dvou hlaviček místo jedné), ale ve všech ostatních uzlech trasy nebylo potřeba žádné další zpracování, na rozdíl od případu použití opcí.

Použití zapouzdření IP-to-IP může také způsobit výše popsané bezpečnostní problémy.

2.5. protokol ICMP

Protokol ICMP (Internet Control Message Protocol) je nedílnou součástí IP modulu. Poskytuje zpětnou vazbu ve formě diagnostických zpráv zasílaných odesílateli, když nelze doručit jeho datagram a v dalších případech. ICMP je standardizován v RFC-792, s dodatky v RCF-950.1256.

Zprávy ICMP se negenerují, pokud doručení není možné:

  • datagramy obsahující zprávy ICMP;
  • ne první fragmenty datagramu;
  • datagramy zasílané na skupinovou adresu (vysílání, multicasting);
  • datagramy, jejichž adresa odesílatele je null nebo multicast.

Všechny ICMP zprávy mají IP hlavičku, hodnota pole „Protokol“ je 1. Datagramová data se zprávou ICMP nejsou předávána do zásobníku protokolů ke zpracování, ale jsou zpracovávána IP modulem.

Za IP hlavičkou je 32bitové slovo s poli „Type“, „Code“ a „Checksum“. Pole typu a kódu definují obsah zprávy ICMP. Formát zbytku datagramu závisí na typu zprávy. Kontrolní součet se vypočítá stejným způsobem jako v IP hlavičce, ale v tomto případě se sečte obsah ICMP zprávy, včetně polí „Typ“ a „Kód“.

Tabulka 2.5.1

Typy zpráv ICMP

Zpráva

Echo odpověď

Destination Unreachable (cíl je nedosažitelný z různých důvodů):

Net Unreachable (síť nedostupná)

Hostitel je nedostupný (hostitel je nedostupný)

Protokol není k dispozici

Port nedostupný (port nedostupný)

DF=1 (fragmentace je vyžadována, ale není povolena)

Zdrojová trasa selhala (možnost Zdrojová trasa nelze spustit)

Zdroj Quench

Přesměrování (vyberte jiný router, do kterého chcete datagramy odesílat)

do této sítě

tomuto hostiteli

do dané sítě s daným TOS

danému hostiteli s daným TOS

Žádost o echo

Reklama na router

Router Solicitation (žádost o reklamu routeru)

Time Exceeded (životnost datagramu vypršela)

při přenosu

při montáži

Problém s parametry

Chyba v hlavičce IP

Chybí požadovaná možnost

Časové razítko (žádost o časové razítko)

Odpověď na časové razítko (odpověď na požadavek časového razítka)

Žádost o masku adresy

Odpověď masky adresy (odpověď na požadavek masky sítě)

Níže diskutujeme o formátech zpráv ICMP a poskytujeme komentáře k některým zprávám.

Typy 3, 4, 11, 12

Ve zprávě typu 12 obsahuje pole „xxxxxxxxxxxxx“ (1 oktet) číslo oktetu záhlaví, ve kterém byla zjištěna chyba; nepoužívá se ve zprávách typu 3, 4, 11. Všechna nepoužitá pole jsou vyplněna nulami.

Zprávy typu 4 („Zpomalení zdroje“) jsou generovány, když jsou vyrovnávací paměti zpracování datagramů cílového nebo mezilehlého uzlu na trase plné (nebo hrozí přetečení). Při příjmu takové zprávy musí odesílatel snížit rychlost nebo pozastavit odesílání datagramů, dokud zprávy tohoto typu přestane přijímat.

IP hlavička a počáteční slova původního datagramu slouží k identifikaci původce datagramu a případné analýze příčiny selhání.

Typ 5

Zprávy typu 5 jsou odesílány směrovačem odesílateli datagramu, když se směrovač domnívá, že datagramy do daného cíle by měly být směrovány přes jiný směrovač. Adresa nového routeru je uvedena ve druhém slově zprávy.

Pojem „destinace“ je specifikován hodnotou pole „Code“ (viz tabulka 2.5.1). Informace o tom, kam byl odeslán datagram, který generoval zprávy ICMP, je odvozen z jeho hlavičky připojené ke zprávě. Nedostatek přenosu masky sítě omezuje rozsah zpráv typu 5.

Typy 0.8

Typy zpráv 0 a 8 se používají k testování IP komunikace mezi dvěma síťovými uzly. Testovací uzel generuje zprávy typu 8 („Echo Request“), zatímco „Identifier“ určuje tuto testovací relaci (pořadové číslo odeslaných zpráv), pole „Sequence Number“ obsahuje číslo této zprávy v rámci sekvence. Datové pole obsahuje libovolná data, velikost tohoto pole je určena celkovou délkou datagramu, uvedenou v poli „Celková délka“ v hlavičce IP.

IP modul, který přijme echo požadavek, odešle echo odpověď. Za tímto účelem zamění adresy odesílatele a příjemce, změní typ zprávy ICMP na 0 a přepočítá kontrolní součet.

Testovací uzel na základě samotné skutečnosti přijímání echo odpovědí, doby obratu datagramu, procenta ztrát a pořadí příchodů odpovědí může vyvozovat závěry o přítomnosti a kvalitě komunikace s testovaným uzlem. Program ping funguje tak, že odesílá a přijímá echo zprávy.

Typ 9

Zprávy typu 9 (reklama směrovače) jsou pravidelně odesílány směrovači hostitelům v síti, takže hostitelé mohou automaticky konfigurovat své směrovací tabulky. Obvykle jsou takové zprávy odesílány na adresu vícesměrového vysílání 224.0.0.1 („všichni hostitelé“) nebo na adresu vysílání.

Zpráva obsahuje adresy jednoho nebo více routerů s prioritními hodnotami pro každý router. Prioritou je číslo se znaménkem, zapsané ve dvojkovém doplňku; čím vyšší číslo, tím vyšší priorita.

Pole „NumAddr“ obsahuje počet adres routeru v této zprávě; hodnota pole „AddrEntrySize“ je rovna 2 (velikost pole přiděleného pro informaci o jednom routeru ve 32bitových slovech). „Doba životnosti“ definuje datum vypršení platnosti informací obsažených v této zprávě v sekundách.

Typ 10

Zpráva typu 10 (Požadavek na reklamu směrovače) se skládá ze dvou 32bitových slov, z nichž první obsahuje pole Typ, Kód a Kontrolní součet a druhé je rezervované (vyplněné nulami).

Typy 17 a 18

Zprávy typu 17 a 18 (požadavek a odpověď na požadavek na hodnotu masky sítě) se používají, když hostitel chce znát masku sítě, ve které se nachází. K tomu je odeslán požadavek na adresu směrovače (nebo vysílání, pokud je adresa směrovače neznámá). Router odpoví zprávou obsahující hodnotu masky sítě, ze které požadavek přišel. V případě, že žadatel ještě nezná svou IP adresu, odešle se odpověď broadcast.

Pole „Identifier“ a „Sequence Number“ lze použít ke kontrole shody požadavků a odpovědí, ale ve většině případů jsou ignorována.

2.6. protokol ARP

ARP (Address Resolution Protocol) je navržen tak, aby překládal IP adresy na MAC adresy, často také nazývané fyzické adresy.

MAC je zkratka pro Media Access Control, řízení přístupu k médiím. MAC adresy identifikují zařízení připojená k fyzickému spojení, příkladem MAC adresy je ethernetová adresa.

Pro přenos IP datagramu po fyzickém kanálu (budeme uvažovat Ethernet) je nutné tento datagram zapouzdřit do ethernetového rámce a v hlavičce rámce uvést adresu ethernetové karty, na kterou bude tento datagram doručen pro jeho následné zpracování. protokolem IP výše v zásobníku. IP adresa obsažená v hlavičce datagramu adresuje IP rozhraní libovolného síťového uzlu a neobsahuje žádnou indikaci fyzického přenosového média, ke kterému je toto rozhraní připojeno, natož fyzickou adresu zařízení (pokud existuje), přes které toto rozhraní komunikuje s okolím.

Hledání odpovídající ethernetové adresy pomocí dané IP adresy je prováděno protokolem ARP, který funguje na úrovni přístupu k přenosovému médiu. Protokol udržuje dynamickou tabulku arp v paměti RAM za účelem ukládání přijatých informací do mezipaměti. Protokol funguje následovně.

Z mezisíťové vrstvy je přijat IP datagram pro přenos do fyzického kanálu (Ethernet) a spolu s datagramem je kromě jiných parametrů přenášena IP adresa cílového hostitele. Pokud tabulka arp neobsahuje záznam pro ethernetovou adresu odpovídající požadované IP adrese, modul arp zařadí datagram do fronty a vydá požadavek na vysílání. Požadavek je přijat všemi uzly připojenými k této síti; uzel, který rozpoznal jeho IP adresu, odešle arp-response s hodnotou své ethernetové adresy. Přijatá data jsou vložena do tabulky, čekající datagram je odstraněn z fronty a přenesen k zapouzdření do ethernetového rámce pro následné odeslání fyzickým kanálem.

Požadavek nebo odpověď ARP je zahrnuta do rámce Ethernet bezprostředně za záhlavím rámce.

Formáty požadavku a odpovědi jsou stejné a liší se pouze v kódu operace (kód operace 1 a 2).

Přestože byl ARP navržen speciálně pro Ethernet, protokol může podporovat různé typy fyzických médií (pole „Typ hardwaru“, hodnota 1 odpovídá Ethernetu), stejně jako různé typy podporovaných protokolů (pole „Typ protokolu“). protokol)“, hodnota 2048 odpovídá IP). Pole H-len a P-len obsahují délky fyzických a „protokolových“ adres v oktetech. Pro Ethernet H-délka=6, pro IP P-délka=4.

Pole „Zdrojová hardwarová adresa“ a „Zdrojová adresa protokolu“ obsahují fyzickou (ethernetovou) a „protokolovou“ (IP) adresu odesílatele. Pole „Cílová hardwarová adresa“ a „Cílová adresa protokolu“ obsahují odpovídající adresy příjemců. Při odesílání požadavku je pole „Cílová hardwarová adresa“ inicializováno na nuly a pole „Cílová adresa“ v záhlaví ethernetového rámce je nastaveno na adresu vysílání.

2.6.1. ARP pro datagramy určené pro jinou síť

Datagram směrovaný do externí (jiné) sítě musí být přenesen do routeru. Předpokládejme, že hostitel A odešle datagram hostiteli B prostřednictvím směrovače G. Přestože datagram odeslaný z A má v hlavičce Destination IP adresu B, musí být ethernetový rámec obsahující datagram doručen směrovači. Toho je dosaženo tím, že IP modul mu při volání ARP modulu předá spolu s datagramem adresu routeru extrahovanou z routerové tabulky jako IP adresu cílového hostitele. Datagram s adresou B je tedy zapouzdřen do rámce s MAC adresou G:

Ethernetový modul na Routeru G přijímá tento rámec ze sítě, jelikož je mu rámec adresován, extrahuje data (tedy datagram) z rámce a odešle je do IP modulu ke zpracování. IP modul detekuje, že datagram není adresován jemu, ale hostiteli B, a pomocí své směrovací tabulky určí, kam má být předán. Dále se datagram opět sníží na nižší úroveň, na odpovídající fyzické rozhraní, na které se přenese adresa dalšího routeru extrahovaná z směrovací tabulky jako IP adresa cílového hostitele, nebo rovnou adresa hostitele B, pokud router G dokáže doručit datagram přímo do něj.

2.6.2. Proxy ARP

Odpověď ARP nemusí být nutně odeslána požadovaným uzlem, může ji však odeslat jiný uzel. Tento mechanismus se nazývá proxy ARP.

Podívejme se na příklad (obr. 2.6.1). Vzdálený hostitel A je připojen vytáčenou linkou k síti 194.84.124.0/24 přes přístupový server G. Síť 194.84.124.0 je fyzická vrstva Ethernetu. Server G přidělí hostiteli A IP adresu 194.84.124.30, která patří do sítě 194.84.124.0. Proto se jakýkoli uzel v této síti, jako je hostitel B, domnívá, že může přímo odeslat datagram hostiteli A, protože jsou ve stejné síti IP.

Rýže. 2.6.1. Proxy ARP

IP modul hostitele B volá modul ARP, aby určil fyzickou adresu A. Avšak místo A (který samozřejmě nemůže odpovědět, protože není fyzicky připojen k síti Ethernet) odpoví server G, který vrátí svou Ethernetová adresa jako fyzická adresa hostitele A. B pak odešle a G přijme rámec obsahující datagram pro A, který G odešle do cíle přes komutovaný okruh.

Počítač v síti TCP/IP může mít adresy tří úrovní (ale ne méně než dvou):

  • Lokální adresa počítače. U uzlů v lokálních sítích se jedná o MAC adresu síťového adaptéru. Tyto adresy jsou přidělovány výrobci hardwaru a jedná se o jedinečné adresy.
  • IP adresa sestávající ze 4 bajtů, například 109.26.17.100. Tato adresa se používá na síťové vrstvě. Přiděluje jej administrátor při konfiguraci počítačů a routerů.
  • Character identifier-name (DNS), například www.site

Síťové protokoly

Síťový protokol je sada pravidel, která umožňuje výměnu dat mezi zařízeními tvořícími síť, například mezi dvěma síťovými kartami (obr. 1).

Rýže. 1. Ilustrace konceptu síťového protokolu

Zásobník je sada víceúrovňových protokolů spojených do skupiny.

Zásobník protokolů TCP/IP jsou dva protokoly, které jsou základem komunikace na internetu. Protokol TCP rozděluje přenášené informace na části (pakety) a čísluje je. Pomocí protokolu IP jsou všechny pakety přenášeny k příjemci. Dále se pomocí protokolu TCP zkontroluje, zda byly přijaty všechny pakety. Při příjmu všech částí je TCP umístí do požadovaného pořadí a sestaví je do jediného celku. Na internetu se používají dvě verze tohoto protokolu:

  • Směrovaný síťový protokol IPv4. V této verzi protokolu je každému síťovému uzlu přidělena IP adresa dlouhá 32 bitů (tj. 4 oktety nebo 4 bajty).
  • IPv6 umožňuje oslovit výrazně větší počet uzlů než IPv4. Internetový protokol verze 6 používá 128bitové adresy a může definovat podstatně více adres.

v6 IP adresy se zapisují následovně: X:X:X:X:X:X:X:X, kde X je 4místné hexadecimální číslo (16 bitů) a každé číslo je dlouhé 4 bity. Každé číslo je v rozsahu od 0 do F. Zde je příklad adresy IP verze 6: 1080:0:0:0:7:800:300C:427A. V takovém záznamu mohou být vynechány nevýznamné nuly, takže fragment adresy: 0800: je zapsán jako 800:.

IP adresy se obvykle zapisují rozdělením celé adresy na oktety (8), každý oktet se zapisuje jako desetinné číslo, čísla jsou oddělena tečkami. Například adresa

10100000010100010000010110000011
napsáno jako

10100000.01010001.00000101.10000011 = 160.81.5.131

Rýže. 2 Převod adresy z binární na desítkovou

IP adresa hostitele se skládá z čísla sítě IP, které zaujímá vyšší část adresy, a čísla hostitele v této síti, které zaujímá nižší část.
160.81.5.131 – IP adresa
160,81,5. – číslo sítě
131 – hostitelské číslo

Základní protokoly (IP, TCP, UDP)


TCP/IP je souhrnný název pro sadu (zásobník) síťových protokolů na různých úrovních používaných na internetu. Vlastnosti TCP/IP:

  • Standardy otevřených protokolů vyvinuté nezávisle na softwaru a hardwaru;
  • Nezávislost na fyzickém přenosovém médiu;
  • Unikátní adresní systém;
  • Standardizované protokoly na vysoké úrovni pro běžné uživatelské služby.

Rýže. 3 Zásobník protokolů TCP/IP

Zásobník protokolů TCP/IP je rozdělen do 4 úrovní:

  • Aplikovaný
  • Doprava
  • Práce s internetem
  • Fyzické a kanálové.

Data jsou přenášena v paketech. Pakety mají hlavičku a konec, které obsahují informace o službě. Data z vyšších úrovní se vkládají do paketů z nižších úrovní.

Rýže. 4 Příklad zapouzdření paketů v zásobníku TCP/IP

Fyzická a odkazová úroveň.
Zásobník TCP/IP neznamená použití žádných konkrétních protokolů vrstvy přístupu k médiím nebo fyzických médií. Přístupová vrstva k médiím musí mít rozhraní s IP modulem, který zajišťuje přenos IP paketů. Je také nutné zajistit, aby IP adresa síťového hostitele, na který je IP paket odeslán, byla převedena na MAC adresu. Často mohou celé zásobníky protokolů fungovat jako přístupová vrstva k přenosovému médiu, pak se mluví o IP přes ATM, IP přes IPX, IP přes X.25 atd.

Internetová vrstva a IP protokol.

Základem této vrstvy je protokol IP.

IP (Internet Protocol) – internetový protokol.

První standard IPv4 byl definován v RFC-760 (DoD standard Internet Protocol J. Postel Jan-01-1980)

Nejnovější verze IPv4 je RFC-791 (Internet Protocol J. Postel Sep-01-1981).

První standard IPv6 je definován v RFC-1883 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden, prosinec 1995)

Nejnovější verze IPv6 je RFC-2460 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden, prosinec 1998).

Hlavní cíle:

  • Adresování
  • Směrování
  • Fragmentace datagramu
  • Přenos dat

IP protokol přenáší bloky dat z jedné IP adresy na druhou.

Program, který implementuje funkce určitého protokolu, se často nazývá modul, například „IP modul“, „TCP modul“.

Když modul IP přijme IP paket z nižší vrstvy, zkontroluje cílovou IP adresu.

  • Pokud je IP paket adresován danému počítači, pak jsou data z něj přenesena ke zpracování do nadřízeného modulu (který je konkrétně uveden v hlavičce IP paketu).
  • Pokud je cílová adresa IP paketu cizí, pak IP modul může učinit dvě rozhodnutí: prvním je zničit IP paket, druhým je poslat jej dále na místo určení, určit trasu – to dělají routery.

Na hranici sítí s různými charakteristikami může být také nutné rozdělit IP paket na fragmenty (fragmentace) a poté jej sestavit do jednoho celku na počítači příjemce.

Pokud modul IP nemůže z jakéhokoli důvodu doručit paket IP, je zničen. V tomto případě může modul IP odeslat zdrojovému počítači tohoto IP paketu oznámení o chybě; Taková upozornění jsou odesílána pomocí protokolu ICMP, který je nedílnou součástí IP modulu. Protokol IP již nemá prostředky ke sledování správnosti dat, potvrzování jejich doručení, zajištění správného pořadí IP paketů nebo předběžného navázání spojení mezi počítači. Tento úkol je přiřazen transportní vrstvě.

Rýže. 5 Struktura IP datagramu. Slova jsou 32 bitů.

Verze – verze protokolu IP (například 4 nebo 6)

Zag délka – délka hlavičky IP paketu.

Typ služby (TOS – typ služby) – Typ služby ().

TOS hraje důležitou roli ve směrování paketů. Internet negarantuje požadované TOS, ale mnoho routerů tyto požadavky zohledňuje při výběru trasy (protokoly OSPF a IGRP).

Datagram Identifier, Flags (3 bity) a Fragment Indicator – Slouží k rozpoznání paketů vzniklých fragmentací původního paketu.

Time to live (TTL - time to live) - každý router jej zkrátí o 1, aby pakety neputovaly věčně.

Protokol – Identifikátor protokolu horní vrstvy udává, ke kterému protokolu horní vrstvy paket patří (např.: TCP, UDP).

Směrování

IP je směrovatelný protokol a k jeho směrování vyžaduje informace o směrování.

Informace o trase mohou být:

  • Statické (směrovací tabulky se zapisují ručně)
  • Dynamický (informace o směrování jsou distribuovány speciálními protokoly)

Dynamické směrovací protokoly:

  • RIP (Routing Information Protocol) je protokol pro přenos směrovacích informací, směrovače dynamicky vytvářejí směrovací tabulky.
  • OSPF (Open Shortest Path First) je interní směrovací protokol.
  • IGP (Interior Gateway Protocols) - interní směrovací protokoly, distribuuje směrovací informace v rámci jednoho autonomního systému.
  • EGP (Exterior Gateway Protocols) – externí směrovací protokoly, distribuuje směrovací informace mezi autonomními systémy.
  • BGP (Border Gateway Protocol) je protokol hraničního směrovače.
    protokol ICMP
  • ICMP (Internet Control Message Protocol) je rozšíření protokolu IP, které umožňuje zasílání chybových nebo testovacích zpráv.
    Další servisní IP protokoly
  • IGMP (Internet Group Management Protocol) – umožňuje organizovat multicastové zprávy pomocí IP.
  • RSVP (Resource Reservation Protocol) – protokol rezervace zdrojů.
    ARP (Address Resolution Protocol) je protokol pro převod IP adres a adres linkové vrstvy.

Transportní vrstva

Protokoly transportní vrstvy zajišťují transparentní doručování dat mezi dvěma aplikačními procesy. Proces, který přijímá nebo odesílá data pomocí transportní vrstvy, je na této vrstvě identifikován číslem nazývaným číslo portu. Roli adresy odesílatele a příjemce na úrovni přenosu tedy hraje číslo portu (nebo jednodušeji port).

Analýzou hlavičky svého paketu přijatého z mezisíťové vrstvy určuje transportní modul podle čísla portu příjemce, kterému z aplikačních procesů jsou data odesílána, a předává tato data příslušnému aplikačnímu procesu. Čísla cílového a zdrojového portu jsou zapsána do hlavičky transportním modulem, který odesílá data; záhlaví transportní vrstvy také obsahuje další servisní informace; Formát záhlaví závisí na použitém transportním protokolu.

Na transportní vrstvě fungují dva hlavní protokoly: UDP a TCP.

Protokol spolehlivého doručování zpráv TCP

TCP (Transfer Control Protocol) – protokol pro řízení přenosu, protokol TCP se používá v případech, kdy je požadováno garantované doručování zpráv.

První a poslední verze TCP je RFC-793 (Transmission Control Protocol J. Postel Sep-01-1981).

Klíčové vlastnosti:


Velikost okna je počet bajtů, které je příjemce připraven přijmout bez potvrzení.

Kontrolní součet – zahrnuje pseudo hlavičku, hlavičku a data.

Indikátor naléhavosti – označuje poslední bajt urgentních dat, na která je nutné okamžitě reagovat.

URG – příznak naléhavosti, obsahuje pole „Indikátor naléhavosti“, pokud =0, pole je ignorováno.

ACK – příznak potvrzení, obsahuje pole „Číslo potvrzení“, pokud =0, pole je ignorováno.

PSH – příznak vyžaduje operaci push, modul TCP musí urychleně přenést paket do programu.

RST – příznak přerušení spojení, slouží k odmítnutí spojení

SYN – příznak synchronizace pořadového čísla, používaný při navazování spojení.

FIN – příznak konce přenosu ze strany odesílatele

protokol UDP

UDP (Universal Datagram Protocol) je univerzální protokol pro přenos dat, lehčí přenosový protokol než TCP.

První a poslední verze UDP je RFC-768 (User Datagram Protocol J. Postel Aug-28-1980).

Hlavní rozdíly oproti TCP:

  • Mezi moduly UDP není žádné spojení.
  • Nerozděluje zprávu pro přenos
  • Dojde-li ke ztrátě paketu, není odeslán žádný požadavek na opakovaný přenos.

UDP se používá, pokud není vyžadováno zaručené doručování paketů, například pro streamování videa a zvuku, DNS (protože data jsou malá). Pokud kontrola kontrolního součtu selže nebo pokud není k požadovanému portu připojen žádný proces, paket je ignorován (zničen). Pokud pakety přicházejí rychleji, než je modul UDP dokáže zpracovat, pak jsou příchozí pakety také ignorovány.

Obr.7 Struktura UDP datagramu. Slova jsou 32 bitů.

Ne všechna pole UDP paketu musí být vyplněna. Pokud odeslaný datagram neočekává odpověď, mohou být na místo adresy odesílatele umístěny nuly.

Protokol v reálném čase RTP

RTP (Real Time Protocol) je přenosový protokol pro aplikace v reálném čase.

RTCP (Real Time Control Protocol) je protokol přenosu zpětné vazby pro aplikaci RTP.

Internet, který je sítí sítí a spojuje obrovské množství různých místních, regionálních a podnikových sítí, funguje a rozvíjí se pomocí jediného protokolu pro přenos dat TCP/IP. Termín TCP/IP zahrnuje název dvou protokolů:

Transmission Control Protocol (TCP) - přenosový protokol;

Internet Protocol (IP) je směrovací protokol.

Směrovací protokol. IP protokol zajišťuje přenos informací mezi počítači v síti. Uvažujme fungování tohoto protokolu analogicky s přenosem informací pomocí běžné pošty. Aby dopis dorazil na zamýšlené místo určení, je na obálce uvedena adresa příjemce (komu je dopis) a adresa odesílatele (od kterého dopis je).

Podobně jsou informace přenášené po síti „zabaleny do obálky“, na které jsou „zapsány“ IP adresy počítačů příjemce a odesílatele, například „Komu: 198.78.213.185“, „Od: 193.124.5.33“. Obsah obálky se v počítačovém jazyce nazývá paket IP a je to sada bajtů.

V procesu přeposílání běžných dopisů jsou nejprve doručeny na poštu nejblíže odesílateli a poté jsou po řetězu pošt předány na poštu nejblíže příjemci. Na mezilehlých poštách se dopisy třídí, to znamená, že se určuje, na kterou další poštu má být konkrétní dopis odeslán.

Na cestě k počítači příjemce procházejí pakety IP také přes četné mezilehlé internetové servery, kde se provádí operace směrování. V důsledku směrování jsou pakety IP odesílány z jednoho internetového serveru na druhý a postupně se přibližují k počítači příjemce.

Internetový protokol (IP) zajišťuje směrování IP paketů, tedy doručení informací z odesílajícího počítače do přijímajícího počítače.

Určení trasy pro průchod informací. „Geografie“ internetu se výrazně liší od geografie, na kterou jsme zvyklí. Rychlost získávání informací nezávisí na vzdálenosti Web serveru, ale na počtu zprostředkujících serverů a kvalitě komunikačních linek (jejich kapacitě), kterými jsou informace přenášeny z uzlu do uzlu.

S cestou informací na internetu se můžete seznámit celkem jednoduše. Speciální program tracert.exe, který je součástí Windows, umožňuje sledovat, přes které servery as jakým zpožděním se informace z vybraného internetového serveru přenášejí do vašeho počítače.

Podívejme se, jak je v „moskevské“ části internetu implementován přístup k informacím na jednom z nejpopulárnějších vyhledávacích serverů na ruském internetu www.rambler.ru.

Stanovení trasy průchodu informací

1. Připojte se k internetu, zadejte příkaz [Programy-MS-DOS Session].

2. V okně relace MS-DOS zadejte jako odpověď na systémovou výzvu příkaz.

3. Po nějaké době se objeví stopa přenosu informací, tedy seznam uzlů, přes které jsou informace přenášeny do vašeho počítače, a čas přenosu mezi uzly.

Trasování trasy přenos informací ukazuje, že server www.rambler.ru se nachází ve „vzdálenosti“ 7 přechodů od nás, tj. informace jsou přenášeny prostřednictvím šesti mezilehlých internetových serverů (prostřednictvím serverů moskevských poskytovatelů MTU-Inform a Demos). Rychlost přenosu informací mezi uzly je poměrně vysoká; jeden „přechod“ trvá od 126 do 138 ms.

Transportní protokol. Nyní si představme, že potřebujeme poslat vícestránkový rukopis poštou, ale pošta nepřijímá balíky ani balíky. Myšlenka je jednoduchá: pokud se rukopis nevejde do běžné poštovní obálky, musí být rozebrán na listy a odeslán v několika obálkách. V tomto případě musí být listy rukopisu očíslovány, aby příjemce věděl, v jakém pořadí budou tyto listy později spojeny.

K podobné situaci často dochází na internetu, když si počítače vyměňují velké soubory. Pokud takový soubor odešlete jako celek, může na dlouhou dobu „ucpat“ komunikační kanál a znepřístupnit jej pro odesílání dalších zpráv.

Aby k tomu nedocházelo, je nutné na odesílajícím počítači rozdělit velký soubor na malé části, očíslovat je a dopravit v samostatných IP paketech do přijímajícího počítače. Na počítači příjemce je nutné sestavit zdrojový soubor z jednotlivých částí ve správném pořadí.

Transmission Control Protocol (TCP), tedy přenosový protokol, zajišťuje, že soubory jsou během přenosu rozděleny do IP paketů a soubory jsou sestavovány během příjmu.

Určení času výměny IP paketů. Dobu výměny IP paketů mezi lokálním počítačem a internetovým serverem lze určit pomocí nástroje ping, který je součástí operačního systému Windows. Obslužný program odešle čtyři IP pakety na zadanou adresu a zobrazí celkovou dobu přenosu a příjmu každého paketu

73. Vyhledávání informací na internetu.

Panuje do značné míry spravedlivý názor, že dnes internet „má všechno“ a jediným problémem je, jak potřebné informace najít. Velmi otevřená architektura Sítě znamená, že postrádá jakoukoli centralizaci a ta nejcennější data pro vás, která jste neúspěšně hledali po celém světě, se mohou ukázat jako umístěná na serveru ve stejném městě jako vy. Existují dva doplňkové přístupy ke shromažďování informací o internetových zdrojích: vytváření indexů A vytváření adresářů:

S první metodou, mocné vyhledávací servery Průběžně „prohledávají“ internet, vytvářejí a aktualizují databáze obsahující informace o tom, které dokumenty na internetu obsahují určitá klíčová slova. Vyhledávání tedy ve skutečnosti neprobíhá na internetových serverech, což by bylo technicky nemožné, ale v databázi vyhledávače, a absence vhodných informací nalezených na požádání neznamená, že nejsou na internetu – můžete zkuste použít jiný vyhledávací nástroj nebo adresář zdrojů. Databáze vyhledávacích serverů se nejen automaticky doplňují. Každý velký vyhledávač má schopnost indexovat vaše stránky a přidat je do databáze. Výhodou vyhledávacího serveru je snadná práce s ním, nevýhodou nízká míra výběru dokumentů na vyžádání.

Ve druhém případě je server organizován jako katalog knihovny, obsahující hierarchii sekcí a podsekcí, které ukládají odkazy na dokumenty, které odpovídají tématu podsekce. Katalog si obvykle doplňují sami uživatelé po kontrole zadaných údajů administrací serveru. Katalog zdrojů je vždy lépe organizován a strukturován, ale nalezení správné kategorie zabere čas, který navíc není vždy snadné definovat. Kromě toho je velikost adresáře obvykle menší než počet stránek indexovaných vyhledávačem.

Práce s vyhledávacími servery. Při vstupu na hlavní stránku vyhledávacího serveru stačí zadat dotaz do vstupního pole ve formě sady klíčových slov a stisknout Enter nebo tlačítko spustit vyhledávání.

Dotazy mohou obsahovat libovolná slova a není nutné se starat o pády a skloňování - např. dotazy „filosofická esej“ a „filosofická esej“ jsou zcela správné.

Moderní vyhledávací servery rozumí přirozenému jazyku docela dobře, mnoho z nich si však ponechává pokročilé nebo speciální možnosti vyhledávání, které vám umožňují vyhledávat slova podle masky, kombinovat slova dotazu s logickými operacemi „AND“, „OR“ atd.

Po dokončení vyhledávání v databázi server zobrazí první dávku 10 nebo více dokumentů obsahujících klíčová slova. Kromě odkazu je zde obvykle několik řádků textu popisujících dokument nebo jen jeho začátek. Otevřením odkazů v novém nebo stejném okně prohlížeče se můžete přesunout na vybrané dokumenty a řádek odkazů ve spodní části stránky vám umožní přejít na další část dokumentů. Tento řádek vypadá asi takto:

Různé servery třídí nalezené dokumenty různými způsoby - podle data vytvoření, podle provozu dokumentu, podle přítomnosti všech nebo části dotazovaných slov v dokumentu ( relevantnost), některé servery vám umožňují zúžit vyhledávání výběrem kategorie dokumentu, který hledáte na hlavní stránce – například dotaz „banky“ v kategorii „svět podnikání“ pravděpodobně nenajde informace o plechovkách.

Mezi oblíbené ruskojazyčné vyhledávací nástroje můžeme jmenovat servery Yandex, Aport A Tramp, indexuje desítky tisíc serverů a desítky milionů dokumentů. Populární ze zahraničních serverů Altavista, Rozrušit, Hotbot, Lycos, WebCrawler, OpenText.

Konečně, na internetu je mnoho stránek pro metasearch, která vám umožní přistupovat na několik oblíbených vyhledávacích serverů najednou se stejným dotazem – podívejte se například na stránky http://www.find.ru/ nebo http://www.rinet.ru/buki/.

Práce s katalogy zdrojů. Když vstoupíme na hlavní stránku katalogu, ocitneme se v rozsáhlé nabídce či tabulce pro výběr kategorií, z nichž každá může obsahovat vnořené podkategorie. Neexistuje zde žádný standard, ale přesto jsou adresářové struktury velmi podobné, všude najdete sekce „podnikání“ nebo „svět podnikání“, „počítače“, „programování“ nebo „Internet“, „humor“ nebo „hobby“ atd. . Pohybem v kategoriích se dostanete k odkazům na konkrétní dokumenty, které jsou stejně jako na vyhledávacím serveru vydávány po částech a jsou doplněny stručnými informacemi.

Dnes existuje mnoho velkých adresářů s desítkami tisíc odkazů, z tuzemských adresářů můžeme jmenovat http://www.list.ru/, http://www.weblist.ru/, http://www.stars.ru/, http://www.au.ru/, http://www.ru/, http://www.ulitka.ru/ a ze zahraničí - Yahoo, Magellan.

Často má katalog i formulář pro vyhledávání podle klíčových slov mezi dokumenty v něm uvedenými.

Pravidla vyhledávání. Několik jednoduchých tipů pro vyhledávání na internetu.

jasně si předem definujte téma svého hledání, klíčová slova a čas, který jste ochotni tomuto hledání věnovat; vyberte vyhledávací server - je užitečné ukládat odkazy na nejlepší z nich do oblíbených;

nebojte se přirozeného jazyka, ale zkontrolujte si správný pravopis slov např. pomocí Microsoft Wordu;

Velká písmena používejte pouze ve jménech a názvech. Mnoho vyhledávačů správně zpracuje dotaz „abstrakt“, ale nikoli „Abstrakce“;

TCP/IP protokol (Transmission Control Protocol/Internet Protocol) je zásobník síťových protokolů běžně používaný pro Internet a další podobné sítě (tento protokol se například používá také v sítích LAN). Název TCP/IP pochází ze dvou nejdůležitějších protokolů:

  • IP (Internet Protocol) - je zodpovědný za přenos datového paketu z uzlu do uzlu. IP předává každý paket na základě čtyřbajtové cílové adresy (IP adresy).
  • TCP (Transmission Control Protocol) - odpovídá za ověření správného doručení dat od klienta na server. V mezilehlé síti může dojít ke ztrátě dat. TCP přidal možnost detekovat chyby nebo ztracená data a v důsledku toho možnost požádat o opakovaný přenos, dokud nejsou data správně a úplně přijata.

Hlavní vlastnosti TCP/IP:

  • Standardizované protokoly na vysoké úrovni používané pro známé uživatelské služby.
  • Používají se standardy otevřených protokolů, které umožňují vyvíjet a zdokonalovat standardy bez ohledu na software a hardware;
  • Unikátní adresní systém;
  • Nezávislost na použitém fyzickém komunikačním kanálu;

Princip fungování zásobníku protokolu TCP/IP je stejný jako v modelu OSI data z horních vrstev jsou zapouzdřena do paketů z nižších vrstev.

Pokud se paket pohybuje přes úroveň shora dolů, na každé úrovni jsou do paketu přidány servisní informace ve formě hlavičky a případně přívěsu (informace umístěné na konci zprávy). Tento proces se nazývá. Servisní informace jsou určeny pro objekt stejné úrovně na vzdáleném počítači. Jeho formát a interpretace jsou určeny protokoly této vrstvy.

Pokud se paket pohybuje vrstvou zdola nahoru, je rozdělen na hlavičku a data. Analyzuje se hlavička paketu, extrahují se servisní informace a v souladu s tím jsou data přesměrována na některý z objektů vyšší úrovně. Vyšší úroveň zase tato data analyzuje a také je rozdělí na hlavičku a data, pak se hlavička analyzuje a informace a data o službách jsou přiděleny pro vyšší úroveň. Postup se opakuje znovu, dokud uživatelská data, zbavená všech servisních informací, nedosáhnou aplikační úrovně.

Je možné, že balíček nikdy nedosáhne aplikační úrovně. Konkrétně, pokud počítač funguje jako zprostředkující stanice na cestě mezi odesílatelem a příjemcem, pak objekt na příslušné úrovni při analýze informací o službě určí, že paket na této úrovni mu není adresován. výsledkem čehož objekt přijme nezbytná opatření k přesměrování paketu do cíle nebo vráceného odesílateli s chybovou zprávou. Ale tak či onak to nepovýší data na vyšší úroveň.

Příklad zapouzdření lze znázornit takto:

Podívejme se na funkce každé úrovně

Aplikační vrstva

Aplikace běžící na zásobníku TCP/IP mohou také provádět funkce prezentační vrstvy a části vrstvy relace modelu OSI.

Běžnými příklady aplikací jsou programy:

  • Telnet
  • HTTP
  • E-mailové protokoly (SMTP, POP3)

Pro odeslání dat do jiné aplikace aplikace přistupuje k jednomu nebo druhému modulu transportního modulu.

Transportní vrstva

Protokoly transportní vrstvy zajišťují transparentní doručování dat mezi dvěma aplikačními procesy. Proces, který přijímá nebo odesílá data, je na transportní vrstvě identifikován číslem nazývaným číslo portu.

Roli zdrojové a cílové adresy na transportní vrstvě tedy plní číslo portu. Analýzou hlavičky svého paketu přijatého z mezisíťové vrstvy určuje transportní modul podle čísla portu příjemce, kterému z aplikačních procesů jsou data odesílána, a předává tato data příslušnému aplikačnímu procesu.

Čísla portu příjemce a odesílatele jsou zapsána do hlavičky transportním modulem odesílajícím data. Záhlaví transportní vrstvy také obsahuje některé další režijní informace a formát záhlaví závisí na použitém transportním protokolu.

Nástroje transportní vrstvy jsou funkční nadstavbou nad síťovou vrstvou a řeší dva hlavní problémy:

  • zajištění doručování dat mezi konkrétními programy pracujícími obecně na různých síťových uzlech;
  • zajištění garantovaného doručení datových polí libovolné velikosti.

V současné době se na internetu používají dva transportní protokoly – UDP, který zajišťuje negarantované doručování dat mezi programy, a TCP, který zajišťuje zaručené doručování s navázáním virtuálního spojení.

Úroveň sítě (internetu).

Hlavním protokolem této vrstvy je protokol IP, který doručuje bloky dat (datagramy) z jedné IP adresy na druhou. IP adresa je jedinečný 32bitový identifikátor počítače, přesněji jeho síťového rozhraní. Data pro datagram jsou přenášena do IP modulu transportní vrstvou. IP modul k těmto datům přidá hlavičku obsahující IP adresu odesílatele a příjemce a další servisní informace.

Takto je vygenerovaný datagram přenesen do vrstvy pro přístup k médiím, aby byl odeslán datovým spojem.

Ne všechny počítače spolu mohou přímo komunikovat, často je pro přenos datagramu na místo určení nutné směrovat jej přes jeden nebo více mezilehlých počítačů po určité trase. Úloha určení cesty pro každý datagram je řešena protokolem IP.

Když modul IP přijme datagram z nižší úrovně, zkontroluje cílovou IP adresu, pokud je datagram adresován danému počítači, pak se data z něj přenesou ke zpracování do modulu vyšší úrovně, pokud však cílová adresa; Pokud je datagram cizí, může IP modul učinit dvě rozhodnutí:

  • Zničí datagram;
  • Pošlete jej dále na místo určení, po určení trasy, to dělají mezistanice - směrovače.

Na okraji sítí s různými vlastnostmi může být také nutné rozdělit datagram na fragmenty a poté je sestavit do jednoho celku na počítači příjemce. To je také úkolem protokolu IP.

IP protokol může také odesílat notifikační zprávy pomocí protokolu ICMP, například v případě zničení datagramu. Již neexistují prostředky pro sledování správnosti dat, potvrzení nebo doručení, neexistuje předběžné spojení v protokolu, tyto úkoly jsou přiřazeny transportní vrstvě.

Úroveň přístupu k médiím

Funkce této úrovně jsou následující:

  • Mapování IP adres na fyzické síťové adresy. Tuto funkci vykonává protokol ARP;
  • Zapouzdřuje IP datagramy do rámců pro přenos po fyzickém spojení a extrahuje datagramy z rámců, aniž by vyžadovalo bezchybné řízení přenosu, protože v TCP/IP zásobníku je takové řízení přiřazeno transportní vrstvě nebo samotné aplikaci. Záhlaví rámce označuje přístupový bod ke službě SAP, toto pole obsahuje kód protokolu;
  • Stanovení způsobu přístupu k přenosovému médiu, tzn. způsob, jakým si počítače zakládají právo přenášet data;
  • Definování reprezentace dat ve fyzickém prostředí;
  • Přeposílání a příjem snímků.

Uvažujme zapouzdření na příkladu zachycení paketu protokolu HTTP pomocí snifferu wireshark, který funguje na aplikační úrovni protokolu TCP/IP:


Kromě samotného zachyceného protokolu HTTP popisuje sniffer každou základní vrstvu na základě zásobníku TCP/IP. HTTP je zapouzdřeno v TCP, TCP v IPv4, IPv4 v Ethernetu II.