Hlavný zásobník internetových protokolov. Sieťové protokoly a štandardy. Architektúra základnej siete

Zásobníky protokolov

Zásobník protokolov je hierarchicky usporiadaná množina sieťových protokolov na rôznych úrovniach, ktoré sú dostatočné na organizáciu a zabezpečenie interakcie uzlov v sieti. V súčasnosti siete využívajú veľké množstvo zásobníkov komunikačných protokolov. Najpopulárnejšie zásobníky sú: TCP/IP, IPX/SPX, NetBIOS/SMB, Novell NetWare, DECnet, XNS, SNA a OSI. Všetky tieto zásobníky, okrem SNA, na nižších úrovniach – fyzická a dátová linka – používajú rovnaké dobre štandardizované protokoly Ethemet, Token Ring, FDDI a niektoré ďalšie, ktoré umožňujú použitie rovnakého vybavenia vo všetkých sieťach. Ale na horné úrovne x všetky zásobníky fungujú na vlastných protokoloch. Tieto protokoly často nezodpovedajú vrstveniu odporúčanému modelom OSI. Najmä funkcie relačnej a prezentačnej vrstvy sú typicky kombinované s aplikačnou vrstvou. Tento nesúlad je spôsobený tým, že model OSI sa objavil ako výsledok zovšeobecnenia už existujúcich a skutočne používaných zásobníkov, a nie naopak.

Všetky protokoly zahrnuté v zásobníku boli vyvinuté jedným výrobcom, to znamená, že dokážu pracovať čo najrýchlejšie a najefektívnejšie.

Dôležitý bod vo fungovaní sieťového zariadenia, najmä sieťového adaptéra, je viazanie protokolov. Umožňuje vám používať rôzne zásobníky protokolov pri údržbe jedného sieťového adaptéra. Napríklad môžete súčasne používať zásobníky TCP/IP a IPX/SPX. Ak sa náhle vyskytne chyba pri pokuse o nadviazanie spojenia s príjemcom pomocou prvého zásobníka, automaticky sa prepne na používanie protokolu z nasledujúceho zásobníka. Dôležitým bodom v tomto prípade je záväzná objednávka, pretože jasne ovplyvňuje použitie jedného alebo druhého protokolu z rôznych zásobníkov.

Bez ohľadu na to, koľko sieťových adaptérov je nainštalovaných v počítači, väzba môže byť vykonaná buď „jeden k niekoľkým“ alebo „niekoľko k jednému“, to znamená, že jeden zásobník protokolov môže byť viazaný na niekoľko adaptérov naraz alebo niekoľko zásobníkov na jeden adaptér. .

NetWare je sieťový operačný systém a súbor sieťových protokolov, ktoré sa v tomto systéme používajú na interakciu s klientskymi počítačmi pripojenými k sieti. Sieťové protokoly systému sú založené na zásobníku protokolov XNS. NetWare v súčasnosti podporuje protokoly TCP/IP a IPX/SPX. Novell NetWare bol populárny v 80. a 90. rokoch vďaka svojej vyššej efektívnosti v porovnaní s operačnými systémami na všeobecné použitie. Toto je už zastaraná technológia.

Protokol XNS (Xerox Network Services Internet Transport Protocol) bol vyvinutý spoločnosťou Xerox na prenos dát cez ethernetové siete. Obsahuje 5 úrovní.

Úroveň 1 - prenosové médium - implementuje funkcie fyzickej vrstvy a vrstvy dátového spojenia v modeli OSI:

* spravuje výmenu dát medzi zariadením a sieťou;

* Smeruje údaje medzi zariadeniami v rovnakej sieti.

Vrstva 2 - sieť - zodpovedá sieťovej vrstve v modeli OSI:

* riadi výmenu dát medzi zariadeniami umiestnenými v rôznych sieťach (poskytuje datagramovú službu v zmysle modelu IEEE);

* popisuje spôsob toku dát cez sieť.

Vrstva 3 - transport - zodpovedá transportnej vrstve v modeli OSI:

* poskytuje end-to-end komunikáciu medzi zdrojom údajov a cieľom.

Úroveň 4 - kontrola - zodpovedá relácii a reprezentatívnym úrovniam v modeli OSI:

* ovláda prezentáciu údajov;

* spravuje kontrolu nad zdrojmi zariadenia.

Úroveň 5 - aplikácia - zodpovedá najvyšším úrovniam v modeli OSI:

* poskytuje funkcie spracovania dát pre aplikačné úlohy.

Zásobník protokolov TCP/IP (Transmission Control Protocol/Internet Protocol) je dnes najbežnejší a najfunkčnejší. Funguje v lokálnych sieťach akejkoľvek veľkosti. Tento zásobník je hlavným zásobníkom globálnej siete Internet. Podpora zásobníkov bola implementovaná v počítačoch s operačným systémom UNIXový systém. V dôsledku toho sa zvýšila popularita protokolu TCP/IP. Zásobník protokolov TCP/IP obsahuje pomerne veľa protokolov pracujúcich na rôznych úrovniach, no svoje meno získal vďaka dvom protokolom – TCP a IP.

TCP (Transmission Control Protocol) je prenosový protokol určený na riadenie prenosu dát v sieťach pomocou zásobníka protokolov TCP/IP. IP (Internet Protocol) je protokol sieťovej vrstvy určený na doručovanie údajov cez zloženú sieť pomocou jedného z transportných protokolov, ako je TCP alebo UDP.

Nižšia úroveň zásobníka TCP/IP využíva štandardné protokoly prenosu dát, čo umožňuje jeho použitie v sieťach s použitím ľubovoľných sieťové technológie a na počítačoch s akýmkoľvek operačným systémom.

Protokol TCP/IP bol pôvodne vyvinutý pre použitie v globálnych sieťach, a preto je mimoriadne flexibilný. Najmä vďaka schopnosti fragmentovať pakety sa dáta napriek kvalite komunikačného kanála v každom prípade dostanú k adresátovi. Okrem toho je vďaka prítomnosti protokolu IP možný prenos údajov medzi odlišnými segmentmi siete.

Nevýhodou TCP/IP protokolu je zložitosť administrácie siete. Áno, pre normálne fungovanie sieť vyžaduje ďalšie servery, ako sú DNS, DHCP atď., ktorých údržba zaberá väčšinu času systémový administrátor. Limoncelli T., Hogan K., Cheylap S. - Správa systému a siete. 2. vyd. rok 2009. 944с

Zásobník protokolov IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) vyvinula a vlastní spoločnosť Novell. Bol vyvinutý pre potreby operačného systému Novell NetWare, ktorý donedávna zaujímal jednu z popredných pozícií medzi serverovými operačnými systémami.

Protokoly IPX a SPX fungujú na sieťovej a transportnej vrstve modelu ISO/OSI, a preto sa dokonale dopĺňajú.

Protokol IPX dokáže prenášať údaje pomocou datagramov pomocou informácií o smerovaní siete. Na prenos údajov po nájdenej trase je však potrebné najskôr vytvoriť spojenie medzi odosielateľom a príjemcom. To robí protokol SPX alebo akýkoľvek iný transportný protokol, ktorý funguje v tandeme s IPX.

Bohužiaľ, zásobník protokolov IPX/SPX je pôvodne navrhnutý tak, aby slúžil malým sieťam, takže jeho použitie vo veľkých sieťach je neúčinné: nadmerné používanie vysielania na nízkorýchlostných komunikačných linkách je neprijateľné.

Na fyzickej a dátovej vrstve zásobník OSI podporuje protokoly Ethernet, Token Ring, FDDI, ako aj protokoly LLC, X.25 a ISDN, to znamená, že používa všetky populárne protokoly nižšej vrstvy vyvinuté mimo zásobníka. , ako väčšina ostatných zásobníkov. Sieťová vrstva zahŕňa relatívne zriedkavo používaný protokol CONP (Connection Oriented Network Protocol) a CLNP (Connectionless Network Protocol). Smerovacie protokoly zásobníka OSI sú ES-IS (koncový systém -- medziľahlý systém) medzi koncovými a medziľahlými systémami a IS-IS (medziľahlý systém -- medziľahlý systém) medzi medziľahlými systémami. Transportná vrstva zásobníka OSI skrýva rozdiely medzi sieťovými službami orientovanými na pripojenie a sieťovými službami bez pripojenia, takže používatelia dostanú požadovanú kvalitu služieb bez ohľadu na základnú sieťovú vrstvu. Aby sa to zabezpečilo, transportná vrstva vyžaduje, aby používateľ špecifikoval požadovanú kvalitu služby. Služby aplikačnej vrstvy poskytujú prenos súborov, emuláciu terminálu, adresárové služby a poštu. Z nich sú najpopulárnejšie adresárové služby (štandard X.500), elektronická pošta (X.400), protokol virtuálneho terminálu (VTP), protokol prenosu, prístupu a správy (FTAM), protokol preposielania a správy úloh (JTM) .

Pomerne populárny zásobník protokolov vyvinutý spoločnosťami IBM a Microsoft, zameraný na použitie v produktoch týchto spoločností. Rovnako ako TCP/IP, aj štandardné protokoly ako Ethernet, Token Ring a iné fungujú na úrovni fyzického a dátového spojenia zásobníka NetBIOS/SMB, čo umožňuje jeho použitie v spojení s akýmkoľvek aktívnym sieťovým zariadením. Na vyšších úrovniach fungujú protokoly NetBIOS (Network Basic Input/Output System) a SMB (Server Message Block).

Protokol NetBIOS bol vyvinutý v polovici 80. rokov minulého storočia, ale čoskoro bol nahradený funkčnejším protokolom NetBEUI (NetBIOS Extended User Interface), ktorý umožňuje veľmi efektívnu výmenu informácií v sieťach, ktoré pozostávajú z nie viac ako 200 počítačov.

Na výmenu údajov medzi počítačmi sa používajú logické názvy, ktoré sa počítačom priraďujú dynamicky, keď sú pripojené k sieti. V tomto prípade je tabuľka názvov distribuovaná každému počítaču v sieti. Podporuje aj prácu s názvami skupín, čo umožňuje prenášať dáta viacerým príjemcom naraz.

Hlavnými výhodami protokolu NetBEUI sú rýchlosť a veľmi nízke nároky na zdroje. Ak potrebujete zorganizovať rýchlu výmenu dát v malej sieti pozostávajúcej z jedného segmentu, neexistuje na to lepší protokol. Okrem toho vytvorené spojenie nie je povinnou požiadavkou na doručenie správy: ak neexistuje žiadne spojenie, protokol používa metódu datagramu, kde je správa vybavená adresou príjemcu a odosielateľa a „vzlietne“ a presunie sa z z jedného počítača do druhého.

NetBEUI má však aj podstatnú nevýhodu: úplne postráda koncept smerovania paketov, takže jeho použitie v zložitých kompozitných sieťach nedáva zmysel. Pyatibratov A.P., Gudyno L.P., Kirichenko A.A. Počítače, siete a telekomunikačné systémy Moskva 2009. 292

Pokiaľ ide o protokol SMB (Server Message Block), používa sa na organizáciu sieťovej prevádzky na troch najvyšších úrovniach – úrovni relácie, prezentácie a aplikácie. Práve pri jeho používaní je možný prístup k súborom, tlačiarňam a iným sieťovým zdrojom. Tento protokol bol niekoľkokrát vylepšený (vydané boli tri verzie), čo umožňuje jeho použitie aj v moderných operačných systémoch ako Microsoft Vista a Windows 7. Protokol SMB je univerzálny a môže pracovať v tandeme s takmer akýmkoľvek transportným protokolom , ako napríklad TCP/IP a SPX.

Zásobník protokolov DECnet (Digital Equipment Corporation net) obsahuje 7 vrstiev. Napriek rozdielom v terminológii sú vrstvy DECnet veľmi podobné vrstvám modelu OSI. DECnet implementuje DNA (Digital Network Architecture) koncept sieťovej architektúry, vyvinutý spoločnosťou DEC, podľa ktorého môžu byť heterogénne výpočtové systémy (počítače rôznych tried), fungujúce pod rôznymi operačnými systémami, kombinované do geograficky distribuovaných informačných a výpočtových sietí.

Protokol SNA (System Network Architecture) od IBM je určený na vzdialenú komunikáciu s veľkými počítačmi a obsahuje 7 vrstiev. SNA je založený na koncepcii hostiteľského počítača a poskytuje vzdialený terminálový prístup k sálovým počítačom IBM. Hlavnou charakteristickou črtou SNA je schopnosť každého terminálu pristupovať k akémukoľvek aplikačnému programu hostiteľského počítača. Architektúra siete systému je implementovaná na základe virtuálnej telekomunikačnej prístupovej metódy (VTAM) v hostiteľskom počítači. VTAM spravuje všetky komunikačné linky a terminály, pričom každý terminál má prístup ku všetkým aplikačným programom.

Tento článok sa bude zaoberať základmi modelu TCP/IP. Pre lepšie pochopenie sú popísané hlavné protokoly a služby. Hlavná vec je nájsť si čas a pokúsiť sa pochopiť každú vec krok za krokom. Všetky sú navzájom prepojené a bez pochopenia jedného bude ťažké porozumieť druhému. Tu uvedené informácie sú veľmi povrchné, takže tento článok možno ľahko nazvať „zásobník protokolov TCP/IP pre figuríny“. Veľa vecí tu však nie je také ťažké pochopiť, ako by sa na prvý pohľad mohlo zdať.

TCP/IP

Zásobník TCP/IP je sieťový model na prenos údajov v sieti; určuje poradie, v ktorom zariadenia interagujú. Údaje vstupujú do vrstvy dátového spojenia a sú spracovávané postupne každou vrstvou vyššie. Zásobník je reprezentovaný ako abstrakcia, ktorá vysvetľuje princípy spracovania a prijímania údajov.

Zásobník sieťových protokolov TCP/IP má 4 úrovne:

  1. Kanál (odkaz).
  2. Sieť (internet).
  3. Doprava.
  4. Aplikácia.

Aplikačná vrstva

Aplikačná vrstva poskytuje možnosť interakcie medzi aplikáciou a ostatnými vrstvami zásobníka protokolov, analyzuje a konvertuje prichádzajúce informácie do formátu vhodného pre softvér. Je najbližšie k používateľovi a komunikuje s ním priamo.

  • HTTP;
  • SMTP;

Každý protokol definuje svoje poradie a princípy práce s dátami.

HTTP (HyperText Transfer Protocol) je určený na prenos dát. Posiela napríklad dokumenty vo formáte HTML, ktoré slúžia ako základ webovej stránky. Pracovná schéma je zjednodušene prezentovaná ako „klient – ​​server“. Klient odošle požiadavku, server ju prijme, správne spracuje a vráti konečný výsledok.

Slúži ako štandard na prenos súborov cez sieť. Klient odošle požiadavku na určitý súbor, server tento súbor vyhľadá vo svojej databáze a v prípade úspešného nájdenia ho odošle ako odpoveď.

Používa sa na prenos Email. Operácia SMTP zahŕňa tri postupné kroky:

  1. Určenie adresy odosielateľa. Toto je potrebné na vrátenie listov.
  2. Definícia príjemcu. Pri zadávaní viacerých príjemcov je možné tento krok viackrát zopakovať.
  3. Určenie obsahu správy a jej odoslanie. Údaje o type správy sa prenášajú ako servisné informácie. Ak server potvrdí svoju pripravenosť prijať paket, samotná transakcia je dokončená.

Hlavička

Hlavička obsahuje servisné údaje. Je dôležité pochopiť, že sú určené len pre určitú úroveň. To znamená, že akonáhle je paket odoslaný príjemcovi, bude tam spracovaný podľa rovnakého modelu, ale v opačnom poradí. Vložená hlavička bude niesť špeciálne informácie, ktoré možno spracovať len určitým spôsobom.

Napríklad hlavičku vnorenú do transportnej vrstvy môže spracovať iba transportná vrstva na druhej strane. Ostatní to jednoducho budú ignorovať.

Transportná vrstva

Na transportnej vrstve sú prijaté informácie spracované ako jedna jednotka bez ohľadu na obsah. Prijaté správy sa rozdelia na segmenty, pridá sa k nim hlavička a celé sa to odošle smerom nadol.

Protokoly prenosu dát:

Najbežnejší protokol. Je zodpovedný za garantovaný prenos dát. Pri odosielaní balíkov sú kontrolované kontrolná suma, transakčný proces. To znamená, že informácie budú doručené „v bezpečí“ bez ohľadu na podmienky.

UDP (User Datagram Protocol) je druhým najpopulárnejším protokolom. Je tiež zodpovedný za prenos dát. Jeho charakteristická črta spočíva v jednoduchosti. Pakety sa jednoducho odosielajú bez vytvárania špeciálneho spojenia.

TCP alebo UDP?

Každý z týchto protokolov má svoj vlastný rozsah. Je to logicky určené charakteristikou diela.

Hlavnou výhodou UDP je jeho prenosová rýchlosť. TCP je komplexný protokol s mnohými kontrolami, zatiaľ čo UDP sa zdá byť zjednodušený, a teda rýchlejší.

Nevýhoda spočíva v jednoduchosti. Z dôvodu nedostatku kontrol nie je zaručená integrita údajov. Informácie sa teda jednoducho odošlú a všetky kontroly a podobné manipulácie zostanú v aplikácii.

UDP sa používa napríklad na sledovanie videí. Pre video súbor nie je kritická strata malého počtu segmentov, pričom najdôležitejším faktorom je rýchlosť načítania.

Ak však potrebujete posielať heslá alebo údaje o bankových kartách, potom je potreba použiť TCP zrejmá. Strata aj toho najmenšieho kúska údajov môže mať katastrofálne následky. Rýchlosť v tomto prípade nie je taká dôležitá ako bezpečnosť.

Sieťová vrstva

Sieťová vrstva tvorí pakety z prijatých informácií a pridáva hlavičku. Najdôležitejšou časťou údajov sú IP a MAC adresy odosielateľov a príjemcov.

IP adresa (Internet Protocol address) - logická adresa zariadenia. Obsahuje informácie o umiestnení zariadenia v sieti. Príklad vstupu: .

MAC adresa (Media Access Control address) – fyzická adresa zariadenia. Používa sa na identifikáciu. Priradené k sieťovému zariadeniu vo fáze výroby. Prezentované ako šesťbajtové číslo. Napríklad: .

Sieťová vrstva je zodpovedná za:

  • Stanovenie doručovacích trás.
  • Prenos paketov medzi sieťami.
  • Priradenie jedinečných adries.

Smerovače sú zariadenia sieťovej vrstvy. Na základe prijatých údajov dláždia cestu medzi počítačom a serverom.

Najpopulárnejším protokolom na tejto úrovni je IP.

IP (Internet Protocol) je internetový protokol určený na adresovanie v sieti. Používa sa na vytváranie trás, pozdĺž ktorých sa vymieňajú pakety. Nemá žiadne prostriedky na kontrolu a potvrdenie integrity. Na poskytovanie záruk doručenia sa používa TCP, ktorý používa IP ako svoj transportný protokol. Pochopenie princípov tejto transakcie vysvetľuje mnohé zo základov toho, ako funguje zásobník protokolov TCP/IP.

Typy IP adries

V sieťach sa používajú dva typy IP adries:

  1. Verejné.
  2. Súkromné.

Verejné (Public) sa používajú na internete. Hlavným pravidlom je absolútna jedinečnosť. Príkladom ich použitia sú smerovače, z ktorých každý má svoju IP adresu na interakciu s internetom. Táto adresa sa nazýva verejná.

Súkromné ​​(Private) sa na internete nepoužívajú. V globálnej sieti nie sú takéto adresy jedinečné. Príklad - lokálnej sieti. Každému zariadeniu je pridelená jedinečná IP adresa v rámci danej siete.

Interakcia s internetom sa uskutočňuje prostredníctvom smerovača, ktorý, ako je uvedené vyššie, má svoju verejnú IP adresu. Všetky počítače pripojené k routeru teda vystupujú na internete pod názvom jednej verejnej IP adresy.

IPv4

Najbežnejšia verzia internetového protokolu. Predchádza IPv6. Formát záznamu sú štyri osembitové čísla oddelené bodkami. Maska podsiete je označená znakom zlomku. Dĺžka adresy je 32 bitov. V drvivej väčšine prípadov, kedy hovoríme o o IP adrese, máme na mysli IPv4.

Formát záznamu: .

IPv6

Táto verzia je určená na riešenie problémov predošlá verzia. Dĺžka adresy je 128 bitov.

Hlavným problémom, ktorý IPv6 rieši, je vyčerpanie IPv4 adries. Predpoklady sa začali objavovať už začiatkom 80. rokov. Napriek tomu, že tento problém vstúpil do akútneho štádia už v rokoch 2007-2009, implementácia IPv6 veľmi pomaly naberá na obrátkach.

Hlavnou výhodou IPv6 je rýchlejšie internetové pripojenie. Je to preto, že táto verzia protokolu nevyžaduje preklad adries. Vykonáva sa jednoduché smerovanie. Je to lacnejšie, a preto sa prístup k internetovým zdrojom poskytuje rýchlejšie ako v IPv4.

Príklad vstupu: .

Existujú tri typy adries IPv6:

  1. Unicast.
  2. Anycast.
  3. Multicast.

Unicast je typ IPv6 unicast. Po odoslaní sa paket dostane iba na rozhranie umiestnené na príslušnej adrese.

Anycast odkazuje na IPv6 multicast adresy. Odoslaný paket prejde na najbližšie sieťové rozhranie. Používané iba smerovačmi.

Multicast sú multicast. To znamená, že odoslaný paket dosiahne všetky rozhrania, ktoré sú v skupine multicast. Na rozdiel od vysielania, ktoré je „vysielané pre každého“, multicast vysiela iba špecifickej skupine.

Masku podsiete

Maska podsiete určuje číslo podsiete a hostiteľa z adresy IP.

Napríklad adresa IP má masku. V tomto prípade bude formát záznamu vyzerať takto. Číslo "24" je počet bitov v maske. Osem bitov sa rovná jednému oktetu, ktorý možno nazvať aj bajtom.

Podrobnejšie môže byť maska ​​podsiete reprezentovaná v binárnom číselnom systéme takto: . Má štyri oktety a záznam pozostáva z „1“ a „0“. Ak spočítame počet jednotiek, dostaneme celkom „24“. Našťastie nemusíte počítať po jednej, pretože v jednom oktete je 8 hodnôt. Vidíme, že tri z nich sú vyplnené jednotkami, sčítajte ich a dostanete „24“.

Ak hovoríme konkrétne o maske podsiete, tak v binárnej reprezentácii má buď jednotky alebo nuly v jednom oktete. V tomto prípade je postupnosť taká, že najskôr prídu bajty s jednotkami a až potom nuly.

Pozrime sa na malý príklad. Je tam IP adresa a maska ​​podsiete. Počítame a zapíšeme: . Teraz priradíme masku k IP adrese. Tie oktety masky, v ktorých sú všetky hodnoty rovné jednej (255), ponechajú svoje zodpovedajúce oktety v IP adrese nezmenené. Ak je hodnota nula (0), potom sa oktety v adrese IP tiež stanú nulami. V hodnote adresy podsiete teda dostaneme .

Podsieť a hostiteľ

Podsieť je zodpovedná za logické oddelenie. V podstate ide o zariadenia, ktoré využívajú rovnakú lokálnu sieť. Určené rozsahom adries IP.

Hostiteľ je adresa sieťového rozhrania ( internetová karta). Určené z IP adresy pomocou masky. Napríklad: . Keďže prvé tri oktety sú podsieťou, zostáva . Toto je číslo hostiteľa.

Rozsah adries hostiteľov je od 0 do 255. Hostiteľ s číslom „0“ je v skutočnosti adresou samotnej podsiete. A hostiteľ číslo „255“ je vysielateľ.

Adresovanie

V zásobníku protokolu TCP/IP sa na adresovanie používajú tri typy adries:

  1. Miestne.
  2. sieť.
  3. Doménové mená.

MAC adresy sa nazývajú lokálne. Používajú sa na adresovanie v lokálnych sieťových technológiách, ako je Ethernet. V kontexte TCP/IP slovo „lokálne“ znamená, že fungujú iba v rámci podsiete.

Sieťová adresa v zásobníku protokolu TCP/IP je adresa IP. Pri odosielaní súboru sa adresa príjemcu načíta z jeho hlavičky. S jeho pomocou sa router naučí hostiteľské číslo a podsieť a na základe týchto informácií vytvorí trasu ku koncovému uzlu.

Doménové mená sú ľudsky čitateľné adresy webových stránok na internete. Webové servery na internete sú prístupné cez verejnú IP adresu. Úspešne ho spracovávajú počítače, no pre ľudí sa zdá byť príliš nepohodlný. Aby sa predišlo takýmto komplikáciám, používajú sa názvy domén, ktoré pozostávajú z oblastí nazývaných „domény“. Sú usporiadané v prísnej hierarchii, od najvyššej úrovne po najnižšiu.

Doména prvej úrovne predstavuje konkrétne informácie. Generické (.org, .net) nie sú obmedzené žiadnymi striktnými hranicami. Opačná situácia je u miestnych (.us, .ru). Zvyčajne sú lokalizované.

Domény nízkej úrovne sú všetko ostatné. Môže mať ľubovoľnú veľkosť a môže obsahovať ľubovoľný počet hodnôt.

Napríklad „www.test.quiz.sg“ je správny názov domény, kde „sg“ je lokálna doména prvej (najvyššej) úrovne, „quiz.sg“ je doména druhej úrovne, „test.quiz.sg“ je doména tretej úrovne. Názvy domén sa môžu nazývať aj názvy DNS.

Nadväzuje korešpondenciu medzi názvy domén a verejnú IP adresu. Keď do prehliadača zadáte názov domény, DNS zistí zodpovedajúcu IP adresu a oznámi ju zariadeniu. Zariadenie to spracuje a vráti ako webovú stránku.

Data Link Layer

Na linkovej vrstve sa určí vzťah medzi zariadením a fyzickým prenosovým médiom a pridá sa hlavička. Zodpovedá za kódovanie dát a prípravu rámcov na prenos cez fyzické médium. Na tejto úrovni fungujú sieťové prepínače.

Najbežnejšie protokoly:

  1. Ethernet.
  2. WLAN.

Ethernet je najbežnejšou technológiou káblovej siete LAN.

WLAN - založená na lokálnej sieti bezdrôtové technológie. Zariadenia interagujú bez fyzického káblového pripojenia. Príkladom najbežnejšej metódy je Wi-Fi.

Konfigurácia TCP/IP na používanie statickej adresy IPv4

Statická adresa IPv4 sa prideľuje priamo v nastaveniach zariadenia alebo automaticky pri pripojení k sieti a je trvalá.

Ak chcete nakonfigurovať zásobník protokolov TCP/IP na používanie trvalej adresy IPv4, zadajte do konzoly príkaz ipconfig/all a nájdite nasledujúce údaje.

Konfigurácia TCP/IP na používanie dynamickej adresy IPv4

Dynamická adresa IPv4 sa na chvíľu používa, prenajíma a potom sa zmení. Priradí sa k zariadeniu automaticky po pripojení k sieti.

Ak chcete nakonfigurovať zásobník protokolov TCP/IP na používanie nestálej adresy IP, musíte prejsť do vlastností požadovaného pripojenia, otvoriť vlastnosti IPv4 a začiarknuť políčka, ako je uvedené.

Metódy prenosu dát

Údaje sa cez fyzické médium prenášajú tromi spôsobmi:

  • Simplexné.
  • Polovičný duplex.
  • Full Duplex.

Simplex je jednosmerná komunikácia. Prenos vykonáva iba jedno zariadenie, zatiaľ čo druhé iba prijíma signál. Dá sa povedať, že informácie sa prenášajú iba jedným smerom.

Príklady simplexnej komunikácie:

  • Televízne vysielanie.
  • Signál zo satelitov GPS.

Half-duplex je obojsmerná komunikácia. Naraz však môže vysielať signál iba jeden uzol. Pri tomto type komunikácie nemôžu dve zariadenia používať rovnaký kanál súčasne. Úplný môže byť fyzicky nemožný alebo môže viesť ku kolíziám. Hovorí sa, že sú v konflikte o prenosové médium. Tento režim sa používa pri použití koaxiálneho kábla.

Príkladom poloduplexnej komunikácie je komunikácia cez vysielačku na jednej frekvencii.

Full Duplex - plná obojsmerná komunikácia. Zariadenia môžu súčasne vysielať a prijímať signál. Nie sú v rozpore s prenosovým médiom. Tento režim sa používa pri použití technológie Fast Ethernet a krútenej dvojlinky.

Príkladom duplexnej komunikácie je telefonická komunikácia cez mobilnú sieť.

TCP/IP vs OSI

Model OSI definuje princípy prenosu údajov. Vrstvy zásobníka protokolov TCP/IP priamo zodpovedajú tomuto modelu. Na rozdiel od štvorvrstvového TCP/IP má 7 vrstiev:

  1. Fyzické.
  2. Kanál (dátový odkaz).
  3. sieť.
  4. Doprava.
  5. Relácia.
  6. Prezentácia.
  7. Aplikácia.

IN tento moment V tomto modeli nie je potrebné zachádzať príliš hlboko, ale je potrebné aspoň povrchné pochopenie.

Aplikačná vrstva v modeli TCP/IP zodpovedá trom najvyšším vrstvám OSI. Všetky pracujú s aplikáciami, takže môžete jasne vidieť logiku tejto kombinácie. Táto zovšeobecnená štruktúra zásobníka protokolov TCP/IP uľahčuje pochopenie abstrakcie.

Transportná vrstva zostáva nezmenená. Vykonáva rovnaké funkcie.

Sieťová vrstva je tiež nezmenená. Vykonáva presne tie isté úlohy.

Vrstva dátového spojenia v TCP/IP zodpovedá posledným dvom vrstvám OSI. Vrstva dátového spojenia vytvára protokoly na prenos dát cez fyzické médium.

Fyzická predstavuje seba fyzické spojenie- elektrické signály, konektory atď. V protokole TCP/IP bolo rozhodnuté spojiť tieto dve vrstvy do jednej, keďže obe pracujú s fyzickým médiom.

Internet - globálny systém prepojené počítačové, lokálne a iné siete, ktoré medzi sebou interagujú prostredníctvom zásobníka protokolov TCP/IP (obr. 1).

Obrázok 1 – Zovšeobecnený diagram internetu

Internet zabezpečuje výmenu informácií medzi všetkými počítačmi, ktoré sú k nemu pripojené. Nezáleží na type počítača a operačnom systéme, ktorý používa.

Hlavnými bunkami internetu sú lokálne siete (LAN – Local Area network). Ak je lokálna sieť priamo pripojená k internetu, potom sa k nej môže pripojiť aj každá pracovná stanica v tejto sieti. Existujú aj počítače, ktoré sú nezávisle pripojené na internet. Volajú sa hostiteľské počítače(hostiteľ – majiteľ).

Každý počítač pripojený k sieti má svoju adresu, na ktorej ho môže účastník nájsť odkiaľkoľvek na svete.

Dôležitou vlastnosťou internetu je, že pri pripájaní rôznych sietí nevytvára žiadnu hierarchiu – všetky počítače pripojené k sieti majú rovnaké práva.

Ešte jeden charakteristický znak Internet je vysoko spoľahlivý. Ak niektoré počítače a komunikačné linky zlyhajú, sieť bude naďalej fungovať. Táto spoľahlivosť je zabezpečená tým, že na internete neexistuje jediné riadiace centrum. Ak niektoré komunikačné linky alebo počítače zlyhajú, správy sa môžu prenášať cez iné komunikačné linky, pretože vždy existuje niekoľko spôsobov prenosu informácií.

Internet nie je komerčná organizácia a nikto ho nevlastní. Používatelia internetu sú takmer vo všetkých krajinách sveta.

Používatelia sa pripájajú k sieti prostredníctvom počítačov špeciálnych organizácií nazývaných poskytovatelia internetových služieb. Internetové pripojenie môže byť trvalé alebo dočasné. Poskytovatelia internetových služieb majú veľa liniek na pripojenie používateľov a vysokorýchlostných liniek na pripojenie k zvyšku internetu. Často sú menší dodávatelia prepojení s väčšími, ktorí sú zase prepojení s inými dodávateľmi.

Organizácie, ktoré sú navzájom prepojené najrýchlejšími komunikačnými linkami, tvoria základnú časť siete alebo chrbticu Backbon internetu. Ak je dodávateľ pripojený priamo k hrebeňu, rýchlosť prenosu informácií bude maximálna.

V skutočnosti je rozdiel medzi používateľmi a poskytovateľmi internetových služieb dosť svojvoľný. Každá osoba, ktorá pripojila svoj počítač alebo miestne počítačová sieť k internetu a po nainštalovaní potrebných programov môže poskytovať služby sieťového pripojenia iným používateľom. Jediný užívateľ sa v princípe môže pripojiť cez vysokorýchlostnú linku priamo na chrbticu internetu.

Vo všeobecnosti si internet vymieňa informácie medzi akýmikoľvek dvoma počítačmi pripojenými k sieti. Počítače pripojené na internet sa často nazývajú internetové uzly alebo stránky. , z anglického slova site, čo sa prekladá ako miesto, umiestnenie. Hostitelia nainštalovaní u poskytovateľov internetových služieb poskytujú používateľom prístup na internet. Existujú aj uzly, ktoré sa špecializujú na poskytovanie informácií. Mnoho firiem napríklad vytvára stránky na internete, prostredníctvom ktorých šíria informácie o svojich produktoch a službách.

Ako sa prenášajú informácie? Na internete sa používajú dva hlavné pojmy: adresu a protokol. Každý počítač pripojený na internet má svoju jedinečnú adresu. Rovnako ako poštová adresa jednoznačne identifikuje polohu osoby, internetová adresa jednoznačne identifikuje polohu počítača v sieti. Internetové adresy sú jej najdôležitejšou súčasťou a podrobne sa im budeme venovať nižšie.

Dáta odosielané z jedného počítača do druhého pomocou internetu sú rozdelené do paketov. Pohybujú sa medzi počítačmi, ktoré tvoria uzly siete. Pakety tej istej správy môžu mať rôzne trasy. Každý balík má svoje označenie, ktoré zabezpečuje správne zostavenie dokumentu na počítači, ktorému je správa adresovaná.

Čo je protokol? Ako už bolo povedané, protokol sú pravidlá interakcie. Diplomatický protokol napríklad predpisuje, čo robiť pri stretnutí so zahraničnými hosťami alebo pri recepcii. Sieťový protokol tiež predpisuje prevádzkové pravidlá pre počítače pripojené do siete. Štandardné protokoly spôsobujú, že rôzne počítače „hovoria rovnakým jazykom“. To umožňuje pripojiť k internetu rôzne typy počítačov s rôznymi operačnými systémami.

Základné protokoly internetu sú zásobník protokolov TCP/IP. V prvom rade je potrebné objasniť, že v technickom chápaní TCP/IP - nejde o jeden sieťový protokol, ale o dva protokoly ležiace na rôznych úrovniach sieťového modelu (ide o tzv zásobník protokolov). TCP protokol - protokol dopravná úroveň. Ovláda čo ako prebieha prenos dát. IP protokol - adresu. On patrí úrovni siete a určuje kde sa prevod uskutočňuje.

Protokol TCP. Podľa protokolu TCP , odosielané dáta sú „rozrezané“ na malé balíčky, po ktorých je každý paket označený tak, aby obsahoval údaje potrebné pre správne zostavenie dokumentu na počítači príjemcu.

Aby ste pochopili podstatu protokolu TCP, môžete si predstaviť šachovú hru pomocou korešpondencie, keď dvaja účastníci hrajú tucet hier súčasne. Každý ťah je zaznamenaný na samostatnej karte s uvedením čísla hry a čísla ťahu. V tomto prípade medzi dvoma partnermi prostredníctvom rovnakého poštového kanála existuje až tucet spojení (jedno na stranu). Dva počítače prepojené jedným fyzickým pripojením môžu podobne podporovať viacero pripojení TCP súčasne. Napríklad dva medziľahlé sieťové servery môžu súčasne prenášať medzi sebou veľa paketov TCP od mnohých klientov cez jednu komunikačnú linku v oboch smeroch.

Keď pracujeme na internete, tak jeden jediný telefónna linka Súčasne môžeme prijímať dokumenty z Ameriky, Austrálie a Európy. Balíky každého dokumentu sa prijímajú oddelene, časovo oddelené a po prijatí sa zhromažďujú do rôznych dokumentov.

Protokol IP . Teraz sa pozrime na protokol adresy - IP (Internet Protocol). Jeho podstatou je, že každý účastník World Wide Web musí mať svoju jedinečnú adresu (IP adresu). Bez toho nemôžeme hovoriť o presnom doručení TCP balíkov na požadované pracovisko. Táto adresa je vyjadrená veľmi jednoducho - štyri čísla, napríklad: 195.38.46.11. Na štruktúru IP adresy sa pozrieme podrobnejšie neskôr. Je organizovaný tak, že každý počítač, cez ktorý prechádza akýkoľvek TCP paket, môže z týchto štyroch čísel určiť, ktorý z jeho najbližších „susedov“ potrebuje poslať paket tak, aby bol „bližšie“ k príjemcovi. V dôsledku konečného počtu prenosov sa paket TCP dostane k adresátovi.

Slovo „bližšie“ je z nejakého dôvodu uvedené v úvodzovkách. V tomto prípade sa nehodnotí geografická „blízkosť“. Podmienky komunikácie a priepustnosť linky. Dva počítače umiestnené na rôznych kontinentoch, ale prepojené vysokovýkonnou vesmírnou komunikačnou linkou, sa považujú za „bližšie“ k sebe ako dva počítače zo susedných dedín spojené jednoduchým telefónnym drôtom. Zaoberá sa riešením otázok, čo sa považuje za „bližšie“ a čo „ďalej“. špeciálne prostriedky - smerovačov.Úlohu smerovačov v sieti zvyčajne vykonávajú špecializované počítače, ale môžu to byť aj tie špeciálne programy, ktorý beží na uzlových serveroch siete.

zásobník protokolov TCP/IP

zásobník protokolov TCP/IP- súbor sieťových protokolov prenosu údajov používaných v sieťach vrátane internetu. Názov TCP/IP pochádza z dvoch najdôležitejších protokolov rodiny - Transmission Control Protocol (TCP) a Internet Protocol (IP), ktoré boli vyvinuté a popísané ako prvé v tomto štandarde.

Protokoly navzájom spolupracujú v zásobníku. stoh, stack) - to znamená, že protokol umiestnený na vyššej úrovni funguje „navrchu“ nižšej úrovne pomocou mechanizmov zapuzdrenia. Napríklad protokol TCP beží nad protokolom IP.

Zásobník protokolov TCP/IP obsahuje štyri vrstvy:

  • aplikačná vrstva
  • transportná vrstva
  • sieťová vrstva (internetová vrstva),
  • odkazová vrstva.

Protokoly týchto úrovní plne implementujú funkčnosť Modely OSI (tabuľka 1). Všetky interakcie používateľa v sieťach IP sú postavené na zásobníku protokolov TCP/IP. Zásobník je nezávislý od fyzického média na prenos údajov.

stôl 1– Porovnanie zásobníka protokolov TCP/IP a referenčného modelu OSI

Aplikačná vrstva

Aplikačná vrstva je miestom, kde funguje väčšina sieťových aplikácií.

Tieto programy majú svoje vlastné komunikačné protokoly, napríklad HTTP pre WWW, FTP (prenos súborov), SMTP (e-mail), SSH ( zabezpečené pripojenie so vzdialeným strojom), DNS (prevod symbolických mien na IP adresy) a mnohé ďalšie.

Tieto protokoly väčšinou fungujú nad protokolom TCP alebo UDP a sú viazané na konkrétny port, napríklad:

  • HTTP na TCP port 80 alebo 8080,
  • FTP na TCP port 20 (pre prenos dát) a 21 (pre riadiace príkazy),
  • DNS dotazy na UDP (menej často TCP) port 53,

Transportná vrstva

Protokoly transportnej vrstvy dokážu vyriešiť problém nezaručeného doručenia správy („došla správa k príjemcovi?“), ako aj zaručiť správnu postupnosť príchodu dát. V zásobníku TCP/IP transportné protokoly určujú, pre ktorú aplikáciu sú údaje určené.

Automatické smerovacie protokoly logicky zastúpené na tejto vrstve (pretože bežia nad IP) sú v skutočnosti súčasťou protokolov sieťovej vrstvy; napríklad OSPF (IP ID 89).

TCP (IP ID 6) - "zaručené" transportný mechanizmus spojenie vopred vytvorené, poskytujúce aplikácii spoľahlivý dátový tok, poskytujúce istotu, že prijaté dáta sú bezchybné, opätovné vyžiadanie dát v prípade straty a eliminovanie duplicitných dát. TCP umožňuje regulovať zaťaženie siete, ako aj znížiť latenciu dát pri prenose na veľké vzdialenosti. Okrem toho TCP zaisťuje, že prijaté údaje boli odoslané presne v rovnakom poradí. Toto je jeho hlavný rozdiel od UDP.

Bezspojový protokol prenosu datagramov UDP (IP ID 17). Nazýva sa aj „nespoľahlivý“ prenosový protokol v zmysle nemožnosti overenia doručenia správy príjemcovi, ako aj možného miešania paketov. Aplikácie, ktoré vyžadujú garantovaný prenos dát, používajú protokol TCP.

UDP sa zvyčajne používa v aplikáciách, ako je streamovanie videa a počítačové hry, kde je prijateľná strata paketov a opakovaný pokus je zložitý alebo neopodstatnený, alebo v aplikáciách odozvy na výzvu (ako sú dotazy DNS), kde vytvorenie spojenia vyžaduje viac zdrojov ako opätovné odoslanie.

TCP aj UDP používajú na identifikáciu svojho protokolu vyššej vrstvy číslo nazývané port.

Sieťová vrstva

Internetová vrstva bola pôvodne navrhnutá na prenos dát z jednej (pod)siete do druhej. S rozvojom konceptu globálnej siete boli do vrstvy pridané ďalšie možnosti pre prenos z ľubovoľnej siete do akejkoľvek siete bez ohľadu na protokoly nižšej úrovne, ako aj možnosť vyžiadať si dáta od vzdialenej strany, napr. protokol ICMP (používaný na prenos diagnostických informácií o pripojení IP) a IGMP (používaný na správu tokov multicast).

ICMP a IGMP sú umiestnené nad IP a mali by ísť do ďalšej transportnej vrstvy, ale funkčne sú to protokoly sieťovej vrstvy, a preto ich nemožno zaradiť do modelu OSI.

Pakety sieťového protokolu IP môžu obsahovať kód označujúci, ktorý protokol ďalšej vrstvy sa má použiť na extrahovanie údajov z paketu. Toto číslo je jedinečné Číslo protokolu IP. ICMP a IGMP sú očíslované 1 a 2.

Data Link Layer

Linková vrstva popisuje, ako sa prenášajú dátové pakety fyzická vrstva, počítajúc do toho kódovanie(čiže špeciálne sekvencie bitov, ktoré určujú začiatok a koniec dátového paketu). Ethernet napríklad obsahuje v poliach hlavičky paketu označenie, pre ktorý stroj alebo stroje v sieti je paket určený.

Príklady protokolov spojovej vrstvy sú Ethernet, Wi-Fi, Frame Relay, Token Ring, ATM atď.

Vrstva dátového spojenia sa niekedy delí na 2 podvrstvy – LLC a MAC.

Okrem toho vrstva dátového spojenia popisuje médium na prenos dát (či už je to koaxiálny kábel, krútená dvojlinka, optické vlákno alebo rádiový kanál), fyzikálne vlastnosti takéhoto média a princíp prenosu dát (oddelenie kanálov, modulácia, amplitúda signálu, frekvencia signálu, spôsob synchronizácie prenosu, odozva latencie a maximálna vzdialenosť).

Zapuzdrenie

Zapuzdrenie je balenie alebo vnorenie paketov na vysokej úrovni (prípadne rôznych protokolov) do paketov rovnakého protokolu (nižšej úrovne) vrátane adresy.

Napríklad, keď aplikácia potrebuje odoslať správu pomocou TCP, vykoná sa nasledujúca postupnosť akcií (obr. 2):

Obrázok 2 – Proces zapuzdrenia

  • v prvom rade aplikácia vyplní špeciálnu dátovú štruktúru, v ktorej uvedie informácie o príjemcovi (sieťový protokol, IP adresa, TCP port);
  • odovzdá správu, jej dĺžku a štruktúru s informáciami o príjemcovi obslužnému programu TCP protokolu (transportná vrstva);
  • TCP handler generuje segment, v ktorom sú správy dáta a hlavičky obsahujú TCP port príjemcu (ako aj iné dáta);
  • TCP handler odovzdá vygenerovaný segment IP handleru (sieťová vrstva);
  • IP handler zaobchádza s TCP prenášaným segmentom ako s dátami a predchádza mu jeho hlavička (ktorá obsahuje najmä IP adresu príjemcu, prevzatú z rovnakej aplikačnej dátovej štruktúry, a vyššie číslo protokolu;
  • IP handler odošle prijatý paket linkovej vrstve, ktorá opäť považuje tento paket za „surové“ dáta;
  • obslužná rutina na úrovni odkazu, podobne ako predchádzajúce obslužné rutiny, pridáva svoju hlavičku na začiatok (ktorá označuje aj číslo protokolu vyššej úrovne, v našom prípade je to 0x0800(IP)) a vo väčšine prípadov pridáva konečný kontrolný súčet, čím vytvorenie rámu;
  • Potom sa prijatý rámec prenesie do fyzickej vrstvy, ktorá bity prevedie na elektrické alebo optické signály a odošle ich do prenosového média.

Na prijímacej strane sa vykoná opačný proces (zdola nahor), nazývaný dekapsulácia, aby sa údaje rozbalili a predložili aplikácii.

Súvisiace informácie:



2015 – 2020 lektsii.org –

S pomocou Vrstva relácie medzi stranami sa organizuje dialóg, zaznamenáva sa, ktorá zo strán je iniciátorkou, ktorá zo strán je aktívna a ako je dialóg ukončený.

Prezentačná vrstva sa zaoberá formou poskytovania informácií nižším úrovniam, napríklad prekódovaním alebo šifrovaním informácií.

Aplikačná vrstva Ide o súbor protokolov, ktoré si vymieňajú vzdialené uzly vykonávajúce rovnakú úlohu (program).

Treba poznamenať, že niektoré siete sa objavili oveľa skôr, ako bol vyvinutý model OSI, takže pre mnohé systémy je zhoda vrstiev s modelom OSI veľmi podmienená.

1.3. Zásobník internetových protokolov

Internet je navrhnutý na prenos akéhokoľvek typu informácií od zdroja k príjemcovi. Na prenose informácií sa podieľajú rôzne sieťové prvky (obr. 1.1) - koncové zariadenia, spínacie zariadenia a servery. Skupiny uzlov sú združené do lokálnej siete pomocou prepínacích zariadení, lokálne siete sú prepojené bránami (routermi). Spínacie zariadenia využívajú rôzne technológie: Ethernet, Token Ring, FDDI a iné.

Každé koncové zariadenie (hostiteľ) môže súčasne obsluhovať viacero procesov spracovania informácií (reč, dáta, text...), ktoré existujú vo forme sieťových aplikácií (špecializovaných programov) umiestnených na najvyššej úrovni; Z aplikácie prúdia informácie do zariadení na spracovanie informácií na nižších úrovniach.

O prenose aplikácie v každom uzle rozhodujú postupne rôzne vrstvy. Každá úroveň využíva svoje vlastné protokoly na riešenie svojej časti problému a zabezpečuje duplexný prenos informácií. Postupnosť prechodov úloh tvorí zásobník protokolov. V procese prenosu informácií každý uzol používa zásobník protokolov, ktorý potrebuje. Na obr. 1.3 zobrazuje celý balík základných protokolov sieťové pripojenie na internete.

Uzly z pohľadu siete predstavujú zdroje a prijímače informácií. Štyri nižšie úrovne sú kolektívne nezávislé od typu prenášaných informácií. Každá sieťová aplikácia komunikujúca s vrstvou 4 je identifikovaná svojím jedinečným číslom portu. Hodnoty portov zaberajú rozsah od 0 do 65535. V tomto rozsahu sú čísla portov 0-1023 pridelené známym sieťovým aplikáciám, čísla portov 1024-49151 používajú vývojári špecializovaného softvéru, čísla portov 49152-65535 sú dynamicky pridelené používateľom sieťových aplikácií počas trvania komunikačnej relácie. Číselné hodnoty čísel zásobníkov portov sú uvedené v.

Transportná (štvrtá) vrstva podporuje dva komunikačné režimy

– s nadviazaním spojenia a bez nadviazania spojenia. Každý režim je identifikovaný svojím číslom protokolu (Protokol). Internetové štandardy používajú hexadecimálne kódovanie. Prvý režim využíva modul TCP, ktorý má kód protokolu 6 (v hexadecimálnom kóde - 0x06) a slúži na garantovaný prenos informácií. Na tento účel je každý prenášaný paket vybavený poradovým číslom a musí byť potvrdený

______________________________________________________________________________

prijímajúcej strane o jej správnom prijatí. Druhý režim využíva modul UDP bez garancie doručenia informácie príjemcovi (garanciu doručenia poskytuje aplikácia). Protokol UDP má kód 17 (v hexadecimálnom kóde je to 0x11).

Aplikované

Reprezentatívny

Relácia

DHCP (Port = 67/68)

Doprava

Protokol = 0x0059

Protokol = 0x0002

Protokol = 0x0001

Typ protokolu = 0x0806

Typ protokolu = 0x0800

Potrubie

Potrubie

Potrubie

Fyzické

Potrubie

Kábel, krútená dvojlinka Ethernet, optické vlákno

Fyzický kábel, krútená dvojlinka, optické vlákno

Fyzické

Kábel, krútená dvojlinka, optické vlákno

Fyzické

Kábel, rádio, optické vlákno

Ryža. 1.3. Základný zásobník internetových protokolov

______________________________________________________________________________

Sieťová (tretia) vrstva zabezpečuje pohyb informácií vo forme paketov medzi sieťami (rozhrania linkovej vrstvy) pomocou sieťovej adresy. Rodina protokolov vrstvy 3 je identifikovaná základnými vrstvami podľa typu protokolu (ARP - typ 0x0806 alebo IP - typ 0x0800). Kombinácia „protokol – sieťová adresa – číslo portu“ sa nazýva soket. Dvojica zásuviek – vysielacia a prijímacia – jednoznačne určuje nadviazané spojenie. Cieľová adresa každého paketu, ktorý prichádza do IP modulu z linkovej vrstvy, sa analyzuje, aby sa pochopilo, kam by mal byť paket preposlaný ďalej: do vlastnej aplikácie alebo presunutý do iného rozhrania na ďalší prenos cez sieť.

Druhá (linková) úroveň spracováva pakety v lokálnej sieti pomocou rôznych technológií: Ethernet, Token Ring, FDDI a iné. Prvá úroveň zabezpečuje konverziu binárnych kódov na lineárne kódy, ktoré sú najvhodnejšie pre použité transportné médium (kovový kábel, optická komunikačná linka, rádiový kanál).

OTÁZKY PRE ODDIEL 1.3

1. Čo definuje zariadenia sieťovej vrstvy na spracovanie paketov prichádzajúcich z vrstvy dátového spojenia?

Odpoveď. Typ protokolu: 0x0806 – pre ARP a 0x0800 – pre IP.

2. Čo určuje prostriedky transportnej vrstvy na spracovanie paketov prichádzajúcich zo sieťovej vrstvy?

Odpoveď. Číslo protokolu: 0x0006 – pre TCP a 0x0011 – pre UDP.

3. Čo určuje typ sieťovej aplikácie na spracovanie datagramov?

Odpoveď. Číslo portu.

4. Uveďte príklady čísel portov pre aplikácie v celej sieti.

Odpoveď: Port 80 – HTTP, port 23 – TELNET, port 53 – DNS.

1.4. Internetové prístupové protokoly

Na prístup na internet sa používa skupina protokolov pod všeobecným názvom PPP (Point-to-Point Protocol), ktoré zahŕňajú:

1. Link Control Protocol (LCP) na koordináciu parametrov výmeny paketov na spojovej vrstve v sekcii servera s prístupom k hostiteľskej sieti (najmä na koordináciu veľkosti paketu a typu autentifikačného protokolu).

2. Authentication Protocol na stanovenie legitimity používateľa (konkrétne pomocou protokolu Challenge Handshake Authentication Protocol – CHAP).

3. Sieťový riadiaci protokol (IP Control Protocol - IPCP) na konfiguráciu parametrov sieťovej výmeny (najmä priradenie IP adresy).

Potom sa začne výmena informácií prostredníctvom protokolu IP.

Každý z týchto protokolov môže používať akékoľvek prenosové médium, takže existuje mnoho spôsobov, ako zapuzdreť PPP na fyzickej vrstve. Na zapuzdrenie PPP do prepojení point-to-point sa použije postup podobný ako

HDLC.

Výmena rámcov pomocou postupu podobného HDLC (High-level Data Link Control Procedure) zahŕňa duplexnú výmenu rámcov. Každý vyslaný rámec musí byť potvrdený, ak nedôjde k potvrdeniu do časového limitu, vysielač zopakuje prenos. Rámová štruktúra je znázornená na obr. 1.4. Poradie prenosu rámcových polí je zľava doprava. Účel rámcových polí je nasledujúci.

Yu.F.Kozhanov, Kolbanev M.O ROZHRANIA A PROTOKOLY SIETE NOVEJ GENERÁCIE

______________________________________________________________________________

Ryža. 1.4. Štruktúra rámového poľa HDLC

Každý prenášaný rámec musí začínať a končiť kombináciou „Flag“, ktorá má bitovú štruktúru v tvare 01111110 (0x7e). Rovnakú kombináciu vlajky možno použiť ako zatváraciu pre jeden rám a otváraciu pre ďalší rám. Kombinácie "príznakov" musia byť detekované prijímajúcou stranou, aby sa určili hranice rámca. Aby sa zabezpečil prenos informácií nezávislý od kódu, je potrebné vylúčiť z nasledujúcich polí rámca všetky kombinácie, ktoré sa zhodujú so servisnými znakmi (napríklad kombinácia „Vlajka“).

IN V asynchrónnom režime sú všetky polia rámca tvorené bajtom po byte, každému bajtu predchádza „štart“ bit a končí „stop“ bitom.

IN používa sa aj synchrónny režim vkladanie bajtov alebo vkladanie bitov. V prvom prípade sú bajtové sekvencie 0x7e („príznak“) v poliach rámcov nahradené 2-bajtovými sekvenciami 0x7d a 0x5e, 0x7d 0x7d a 0x5d, 0x03 0x7d a 0x23. V druhom prípade, po vytvorení všetkých polí rámca, sa medzi kombináciami „príznaku“ vykoná bitové skenovanie obsahu každého rámca a po každých piatich susedných „jednom“ sa vloží „nulový“ bit. ”bity. Pri dekódovaní rámca pri príjme sa medzi „príznakovými“ kombináciami vykoná bitové skenovanie obsahu rámca a „nulový“ bit sa odstráni po každých piatich susedných „jednom“ bitoch.

Pole Adresa má konštantnú hodnotu 11111111 (0xff) a pole Ovládanie má konštantnú hodnotu 00000011 (0x03).

Pole protokolu nadobúda hodnotu 0xc021 pre protokol LCP, 0xc223 pre protokol CHAP, 0x8021 pre IPCP a 0x0021 pre protokol IP.

Vyplnenie informačného poľa závisí od typu protokolu, ale jeho dĺžka by nemala byť menšia ako 4 bajty.

Frame Check Sequence (FCS) na prenose je vytvorená tak, že a) pri vynásobení informácie medzi príznakmi X16 a b) následnom delení modulo 2 generovaným polynómom X16 + X12 + X5 + 1 by sa výsledok rovnal konštantné číslo 0xf0b8.

Postup pre účastníka PSTN na prístup na internet pozostáva z niekoľkých etáp. Prvý stupeň využíva protokol LCP (Protocol = 0xc021), ktorý

používa nasledujúci formát (obr. 1.5).

Ryža. 1.5. Formát rámca LCP

Pole protokolu nadobúda hodnotu 0xc021. Každá správa je charakterizovaná vlastným kódom (Code), poradovým číslom (ID) a dĺžkou (Length). Dĺžka správy zahŕňa všetky polia od kódu po FCS. Jedna správa môže obsahovať niekoľko parametrov, z ktorých každý je charakterizovaný typom parametra (Typ),

dĺžka (Length) a údaje (Date).

(Configure-Nak), 04 – odmietnutie konfigurácie (Configure-Reject), 05 – požiadavka na odpojenie (Terminate-Request), 06 – potvrdenie odpojenia (Terminate-Ack).

Kompletný diagram interakcie medzi koncovým zariadením (Host), serverom pre prístup k sieti (NAS) a serverom autentifikácie, autorizácie a účtovania (AAA) pri organizovaní prístupu účastníkov PSTN na internet je znázornený na obr. 1.6.

______________________________________________________________________________

Z obrázku 1.6 je zrejmé, že spočiatku hostiteľ cez protokol LCP (Protokol = 0xc021) požadoval spojenie s parametrami MTU=300, PFC=7, ale v dôsledku ich koordinácie s prístupovým serverom NAS (Kód=02) , parametre MTU=200 (MTU - maximálna veľkosť paket v bajtoch), autentifikačný protokol – CHAP (Auth.prot=c223). Výmena komprimovaných hlavičiek (PFC=7) prístupovým serverom NAS bola odmietnutá (kód=04).

Typ = 3, adresa IP = a.b.c.d, maska,

Protokol = 0xc021, kód = 04,

Protokol = 0xc021, kód = 01,

Typ = 1, MTU = 300

Protokol = 0xc021, kód = 03,

Typ = 1, MTU = 200

Protokol = 0xc021, kód = 01,

Typ = 1, MTU = 200

Protokol = 0xc021, kód = 02,

Typ = 1, MTU = 200

Protokol = 0xc021, kód = 01,

Protokol = 0xc021, kód = 02,

Typ = 3, Auth.prot=0xc223, Algoritmus=5

Protokol = 0xc223, kód = 01,

Protokol = 0xc223, kód = 02,

Ochrana=UDP, kód=01,

Meno=ABC, Hodnota=W

Auth = 0, Attr = Meno, Chall = V

Ochrana=UDP, kód=02,

IP-adresa=a.b.c.d , maska,

Ochrana=UDP, kód=05, Údaje

Protokol = 0x0021, ...

Protokol = 0x0021, ...

Protokol = 0xc021, kód = 05,

1994, DS]. Podstatou autentifikačného postupu je, že NAS odošle hostiteľovi náhodné číslo V a hostiteľ vráti ďalšie číslo W, vypočítané predtým známou funkciou pomocou mena a hesla, ktoré používateľ zadá do počítača z Internetová karta zakúpená od poskytovateľa. Inými slovami, W=f(V, meno, heslo). Predpokladá sa, že útočník (hacker) je schopný zachytiť hodnoty V, Name a W odoslané cez sieť a pozná algoritmus na výpočet funkcie f. Podstatou tvorby W je, že počiatočné prvky (bity) náhodné číslo V sú rôznymi spôsobmi „zmiešané“ s prvkami hesla, ktoré útočník nepozná. Výsledný šifrový text sa potom skomprimuje, napríklad pridaním bajtov modulo dva. Táto transformácia sa nazýva funkcia digest alebo hašovacia funkcia a výsledkom je digest. Presný postup na generovanie súhrnu je určený algoritmom MD5 a je opísaný v. NAS si pomocou protokolu RADIUS vyžiada skutočnú hodnotu W zo servera AAA a pošle mu hodnoty Name a Challenge=V. Server AAA na základe hodnôt V a Name prijatých z NAS a hesla, ktoré má v databáze, používa rovnaký algoritmus na výpočet W a jeho odoslanie do NAS. NAS porovnáva dve hodnoty W prijaté z hostiteľa a zo servera AAA: ak sa zhodujú, hostiteľovi sa odošle správa o úspešnej autentifikácii – Success (Kód=03).

V tretej fáze nastáva konfigurácia parametre siete cez protokol IPCP (známy ako PPP IPC, protokol=0x8021). Hostiteľ požaduje sieťové IP adresy od NAS a NAS prideľuje IP adresu hostiteľovi z oblasti (rozsahu) (IP-address=a.b.c.d) a

tiež hlási IP adresu DNS servera (IP-adresa=napr.h). NAS cez protokol RADIUS

odošle oznámenie (Kód=04) na server AAA o začatí nabíjania a prijme potvrdenie (Kód=05).

V 4. fáze užívateľ začína komunikačnú reláciu s internetom cez IP protokol (Protokol = 0x0021).

Po dokončení relácie (krok 5) používateľ odošle správu o zlyhaní spojenia do NAS prostredníctvom protokolu LCP (kód=05), NAS túto správu potvrdí (kód=06), odošle notifikáciu o ukončení spoplatňovania na server AAA a dostane od neho potvrdenie. Všetky zariadenia sa vrátia do pôvodného stavu.

OTÁZKY PRE ODDIEL 1.4

1. Vymenujte zloženie a účel rodiny protokolov PPP.

Odpoveď. LCP – na dohodnutie parametrov výmeny paketov, CHAP – na overenie legitimity používateľa, IPCP – na pridelenie IP adresy.

2. Poskytuje PPP detekciu chýb a riadne doručovanie paketov?

Odpoveď. Detekcia chýb – áno, riadne doručenie – nie, to zabezpečuje protokol TCP.

3. Kde sú uložené overovacie údaje používateľa?

Odpoveď. Na internetovej mape a na serveri AAA.

4. Je možné určiť IP adresu používateľa pred vytvorením pripojenia k serveru NAS?

odpoveď: Nie. Po úspešnej autentifikácii vydá NAS voľnú IP adresu z prideleného rozsahu adries.

5. Aké metódy sa používajú na účtovanie nákladov na internetové pripojenie? Odpoveď: Zvyčajne sa platí predplatné alebo poplatok za prijatý objem

Od zásuviek až po ovládače zariadení

Úvod do protokolov

Zatiaľ čo formálny úvod do siete odkazuje na model OSI (Open Systems Interconnection), tento úvod do základnej siete Linuxu používa štvorvrstvový model známy ako internetový model (pozri obrázok 1).

Obrázok 1. Internetový model sieťového zásobníka

V spodnej časti zásobníka je vrstva dátového spojenia. Data Link Layer sa týka ovládačov zariadení, ktoré poskytujú prístup k fyzickej vrstve, ktorá môže pozostávať z viacerých médií, ako sú sériové linky alebo ethernetové zariadenia. Nad kanálom je sieťová vrstva, ktorá je zodpovedná za smerovanie paketov na miesto určenia. Ďalší level tzv dopravy zodpovedný za komunikáciu typu peer-to-peer (napríklad v rámci hostiteľa). Sieťová vrstva riadi komunikáciu medzi hostiteľmi a transportná vrstva spravuje komunikáciu medzi koncovými bodmi v rámci týchto hostiteľov. Nakoniec existuje aplikačná vrstva, ktorý je zvyčajne sémantický a rozumie presunutým údajom. Napríklad Hypertext Transfer Protocol (HTTP) presúva požiadavky a odpovede na webový obsah medzi serverom a klientom.

Vrstvy sieťového zásobníka sú v podstate pod viac rozpoznateľnými názvami. Vo vrstve dátového spojenia nájdete Ethernet, najbežnejšie vysokorýchlostné médium. Staršie protokoly spojovej vrstvy zahŕňajú sériové protokoly, ako napríklad SLIP (Serial Line Internet Protocol), komprimovaný SLIP (CSLIP) a protokol Point-to-Point (PPP). Najbežnejším protokolom sieťovej vrstvy je internetový protokol (IP), ale existujú aj iné, ktoré slúžia iným potrebám, ako napríklad Internet Control Message Protocol (ICMP) a Address Resolution Protocol (ARP). Na transportnej vrstve sú to Transmission Control Protocol (TCP) a User Datagram Protocol (UDP). Nakoniec aplikačná vrstva obsahuje mnoho protokolov, ktoré poznáme, vrátane HTTP, štandardného webového protokolu a SMTP (Simple Mail Transfer Protocol), protokolu na prenos e-mailov.

Architektúra základnej siete

Teraz prejdime k architektúre linuxového sieťového zásobníka a uvidíme, ako implementuje internetový model. Obrázok 2 zobrazuje pohľad na sieťový zásobník Linuxu na vysokej úrovni. V hornej časti je úroveň užívateľského priestoru resp aplikačná vrstva, ktorý definuje používateľov sieťového zásobníka. Nižšie sú uvedené fyzické zariadenia, ktoré poskytujú možnosť pripojenia k sieťam (sériové alebo vysokorýchlostné siete ako Ethernet). V strede alebo v priestor jadra, je sieťový subsystém, na ktorý sa zameriava tento článok. Cez backend sieťového zásobníka sú soketové vyrovnávacie pamäte (sk_buffs), ktoré presúvajú paketové dáta medzi zdrojmi a cieľmi. Stručne sa ukáže štruktúra sk_buff.

Obrázok 2. Vysokoúrovňová architektúra sieťového zásobníka Linuxu

Najprv vám poskytneme rýchly prehľad základných prvkov sieťového subsystému Linux s podrobnejšími informáciami v nasledujúcich častiach. V hornej časti (pozri obrázok 2) je systém nazývaný rozhranie systémového volania. Jednoducho poskytuje aplikáciám v užívateľskom priestore spôsob prístupu k sieťovému subsystému jadra. Ďalej prichádza vrstva agnostika protokolu, ktorá poskytuje všeobecný spôsob práce s protokolmi nižšej transportnej vrstvy. Ďalej nasledujú skutočné protokoly, ktoré v Linuxe obsahujú vstavané protokoly TCP, UDP a samozrejme IP. Ďalšou je nezávislá vrstva, ktorá poskytuje spoločné rozhranie medzi jednotlivými dostupnými ovládačmi zariadení a na konci nasledujú samotné ovládače.

Rozhranie systémového volania

Rozhranie systémového volania možno opísať z dvoch pohľadov. Keď používateľ uskutoční sieťové volanie, je multiplexované prostredníctvom systémového volania do jadra. Toto skončí ako volanie sys_socketcall v ./net/socket.c, ktoré potom demultiplexuje volanie na zamýšľaný cieľ. Ďalším pohľadom na rozhranie systémového volania je použitie bežných operácií so súbormi pre sieťový vstup/výstup (I/O). Napríklad normálne operácie čítania a zápisu možno vykonávať na sieťovom sokete (ktorý je reprezentovaný deskriptorom súboru ako normálny súbor). Takže aj keď existujú operácie špecifické pre sieť (vytvorenie soketu s volaním do socketu, jeho priradenie k handle s volaním na pripojenie atď.), existuje aj množstvo štandardných operácií so súbormi, ktoré sa vzťahujú na sieťové objekty, ako keby boli to bežné súbory. Nakoniec, rozhranie systémového volania poskytuje prostriedky na prenos riadenia medzi aplikáciou v užívateľskom priestore a jadrom.

Protokolovo agnostické rozhranie

Soketová vrstva je rozhranie agnostické protokoly, ktoré poskytuje súbor štandardných funkcií na podporu množstva rôznych protokolov. Táto vrstva podporuje nielen zvyčajné protokoly TCP a UDP, ale aj IP, surový Ethernet a ďalšie transportné protokoly, ako napríklad Stream Control Transmission Protocol (SCTP).

Komunikácia cez sieťový zásobník prebieha cez zásuvku. Štruktúra soketu v Linuxe je struct sock, definovaná v linux/include/net/sock.h. Táto veľká štruktúra obsahuje všetky potrebné stavy pre jednotlivý soket, vrátane špecifického protokolu, ktorý soket používa, a operácií, ktoré je možné na ňom vykonávať.

Sieťový subsystém vie o dostupných protokoloch zo špeciálnej štruktúry, ktorá definuje jeho možnosti. Každý protokol obsahuje štruktúru nazývanú proto (nachádza sa v linux/include/net/sock.h). Táto štruktúra definuje jednotlivé operácie soketu, ktoré možno vykonávať od vrstvy soketu po transportnú vrstvu (napríklad ako vytvoriť soket, ako nadviazať spojenie so soketom, ako zatvoriť soket atď.).

Sieťové protokoly

Sekcia sieťových protokolov definuje jednotlivé dostupné sieťové protokoly (napríklad TCP, UDP atď.). Inicializujú sa na začiatku dňa vo funkcii inet_init v linux/net/ipv4/af_inet.c (keďže TCP a UDP sú v rodine protokolov inet). Funkcia inet_init registruje každý zo vstavaných protokolov, ktoré používajú funkciu proto_register. Táto funkcia je definovaná v linux/net/core/sock.c a okrem pridania protokolu do zoznamu platných protokolov môže v prípade potreby alokovať jednu alebo viac slab cache.

Ako sa jednotlivé protokoly identifikujú prostredníctvom proto štruktúry, môžete vidieť v súboroch tcp_ipv4.c, udp.c a raw.c v linux/net/ipv4/. Každá z týchto protokolových štruktúr je mapovaná ako typ a protokol do inetsw_array, ktorý priraďuje vstavané protokoly k ich operáciám. Štruktúra inetsw_array a jeho pripojenia sú znázornené na obrázku 3. Každý z protokolov v tomto poli sa inicializuje na začiatku dňa v inetsw volaním inet_register_protosw z inet_init. Funkcia inet_init tiež inicializuje rôzne moduly inet, ako sú moduly ARP, ICMP, IP a moduly TCP a UDP.

Obrázok 3. Štruktúra poľa internetového protokolu

Korelácia zásuvky a protokolu

Pripomeňme, že keď je vytvorený soket, definuje typ a protokol, napríklad my_sock = socket(AF_INET, SOCK_STREAM, 0) . AF_INET špecifikuje rodinu internetových adries so zásuvkou prúdu definovanou ako SOCK_STREAM (ako je znázornené tu v inetsw_array).

Presun údajov pre zásuvky sa uskutočňuje pomocou základnej štruktúry nazývanej vyrovnávacia pamäť soketov (sk_buff). sk_buff obsahuje paketové dáta a stavové dáta, ktoré pokrývajú viacero vrstiev zásobníka protokolov. Každý odoslaný alebo prijatý paket je reprezentovaný v sk_buff. Štruktúra sk_buff je definovaná v linux/include/linux/skbuff.h a je znázornená na obrázku 4.

Obrázok 4. Socket buffer a jeho prepojenie s inými štruktúrami

Ako môžete vidieť, niekoľko štruktúr sk_buff pre tohto spojenia môžu byť prepojené. Každý z nich identifikuje štruktúru zariadenia (net_device), na ktoré je paket odoslaný alebo prijatý. Keďže každý paket je reprezentovaný v sk_buff , hlavičky paketov sú pohodlne definované sadou ukazovateľov ( th , iph a mac pre hlavičku Media Access Control (MAC). Keďže štruktúry sk_buff sú ústredné pre organizáciu údajov soketu, číslo podporných funkcií: Existujú funkcie na vytváranie, ničenie, klonovanie a správu frontu sk_buff.

Vyrovnávacie pamäte soketov sú navrhnuté na vzájomnú komunikáciu pre daný soket a obsahujú veľké množstvo informácií vrátane odkazov na hlavičky protokolov, časové značky (kedy bol paket odoslaný alebo prijatý) a príslušné zariadenie.

Rozhranie agnostika zariadenia

Pod vrstvou protokolu je ďalšia nezávislá vrstva rozhrania, ktorá spája protokoly s rôznymi ovládačmi fyzických zariadení s rôznymi schopnosťami. Táto vrstva poskytuje štandardnú sadu funkcií, ktoré používajú nízkoúrovňové sieťové zariadenia, aby mohli interagovať so zásobníkom protokolov vysokej úrovne.

V prvom rade sa ovládače zariadení môžu zaregistrovať a zrušiť registráciu v jadre volaním register_netdevice alebo Unregister_netdevice . Volajúci príkaz najprv vyplní štruktúru net_device a potom ju odošle na registráciu. Jadro zavolá svoju funkciu init (ak je definovaná), vykoná niekoľko kontrol stavu, vytvorí položku sysfs a potom pridá nové zariadenie do zoznamu zariadení ( prepojený zoznam zariadenia aktívne v jadre). Štruktúru net_device možno nájsť v linux/include/linux/netdevice.h. Niektoré funkcie sú v linux/net/core/dev.c.

Funkcia dev_queue_xmit sa používa na odoslanie sk_buff z protokolovej vrstvy do zariadenia. Zaraďuje sk_buff do fronty na prípadné preposielanie príslušným ovládačom zariadenia (zariadenie definované pomocou net_device alebo ukazovateľ sk_buff->dev v sk_buff). Štruktúra dev obsahuje metódu s názvom hard_start_xmit, ktorá ukladá funkciu ovládača na inicializáciu prenosu sk_buff.

Príjem paketu sa vykonáva tradične pomocou netif_rx . Keď ovládač zariadenia nižšej úrovne prijme paket (obsiahnutý vo vnútri prideleného sk_buff), sk_buff prejde na sieťovú vrstvu pomocou volania netif_rx . Táto funkcia potom zaradí sk_buff na vyššiu úroveň protokolu na ďalšie spracovanie pomocou netif_rx_schedule. Funkcie dev_queue_xmit a netif_rx sa nachádzajú v linux/net/core/dev.c.

Nakoniec bolo do jadra zavedené nové aplikačné programové rozhranie (NAPI) na prepojenie s vrstvou nezávislou na zariadení (dev). Niektorí ovládače ho používajú, ale drvivá väčšina stále používa staršie rozhranie na získavanie snímok (približne šesť zo siedmich). NAPI môže dať lepší výkon pri veľkom zaťažení bez prerušenia každého prichádzajúceho rámu.

Ovládače zariadení

V spodnej časti sieťového zásobníka sú ovládače zariadení, ktoré riadia fyzické sieťové zariadenia. Príklady zariadení na tejto úrovni zahŕňajú ovládač SLIP over sériové rozhranie alebo ethernetový ovládač cez ethernetové zariadenie.

Počas inicializácie ovládač zariadenia alokuje priestor pre štruktúru net_device a potom ju inicializuje pomocou potrebných rutín. Jeden z nich, nazvaný dev->hard_start_xmit, špecifikuje, ako má horná vrstva zaradiť sk_buff do frontu na prenos. Je odovzdané sk_buff . Ako táto funkcia funguje, závisí od hardvéru, ale zvyčajne sa paket popísaný v sk_buff presunie do toho, čo sa nazýva „hardvérový kruh“ alebo „fronta“. Príchod rámca, ako je popísané vo vrstve nezávislej od zariadenia, používa rozhranie netif_rx alebo netif_receive_skb k sieťovému ovládaču kompatibilnému s NAPI. Ovládač NAPI obmedzuje možnosti základného hardvéru. Podrobnosti nájdete v sekcii.

Keď ovládač zariadenia nakonfiguruje svoje rozhrania v štruktúre dev, volanie register_netdevice ho sprístupní na použitie. V linux/drivers/net môžete nájsť ovládače špecifické pre sieťové zariadenia.

Pokračuj

Zdrojový kód Linuxu je skvelý spôsob, ako sa dozvedieť o návrhu ovládačov pre mnoho typov zariadení vrátane ovládačov sieťových zariadení. Nájdete rozdiely v dizajne a použití dostupných rozhraní API jadra, ale každé bude užitočné buď ako pokyny alebo ako východiskový bod pre nový ovládač. Zvyšok kódu v sieťovom zásobníku je štandardný a používa sa, kým nie je potrebný nový protokol. Ale aj potom implementácie TCP (pre streamovací protokol) alebo UDP (pre protokol na odovzdávanie správ) slúžia ako užitočné modely na začatie nového vývoja.

Tento článok sa bude zaoberať základmi modelu TCP/IP. Pre lepšie pochopenie sú popísané hlavné protokoly a služby. Hlavná vec je nájsť si čas a pokúsiť sa pochopiť každú vec krok za krokom. Všetky sú navzájom prepojené a bez pochopenia jedného bude ťažké porozumieť druhému. Tu uvedené informácie sú veľmi povrchné, takže tento článok možno ľahko nazvať „zásobník protokolov TCP/IP pre figuríny“. Veľa vecí tu však nie je také ťažké pochopiť, ako by sa na prvý pohľad mohlo zdať.

TCP/IP

Zásobník TCP/IP je sieťový model na prenos údajov v sieti; určuje poradie, v ktorom zariadenia interagujú. Údaje vstupujú do vrstvy dátového spojenia a sú spracovávané postupne každou vrstvou vyššie. Zásobník je reprezentovaný ako abstrakcia, ktorá vysvetľuje princípy spracovania a prijímania údajov.

Zásobník sieťových protokolov TCP/IP má 4 úrovne:

  1. Kanál (odkaz).
  2. Sieť (internet).
  3. Doprava.
  4. Aplikácia.

Aplikačná vrstva

Aplikačná vrstva poskytuje možnosť interakcie medzi aplikáciou a ostatnými vrstvami zásobníka protokolov, analyzuje a konvertuje prichádzajúce informácie do formátu vhodného pre softvér. Je najbližšie k používateľovi a komunikuje s ním priamo.

  • HTTP;
  • SMTP;

Každý protokol definuje svoje poradie a princípy práce s dátami.

HTTP (HyperText Transfer Protocol) je určený na prenos dát. Posiela napríklad dokumenty vo formáte HTML, ktoré slúžia ako základ webovej stránky. Pracovná schéma je zjednodušene prezentovaná ako „klient – ​​server“. Klient odošle požiadavku, server ju prijme, správne spracuje a vráti konečný výsledok.

Slúži ako štandard na prenos súborov cez sieť. Klient odošle požiadavku na určitý súbor, server tento súbor vyhľadá vo svojej databáze a v prípade úspešného nájdenia ho odošle ako odpoveď.

Používa sa na prenos e-mailov. Operácia SMTP zahŕňa tri postupné kroky:

  1. Určenie adresy odosielateľa. Toto je potrebné na vrátenie listov.
  2. Definícia príjemcu. Pri zadávaní viacerých príjemcov je možné tento krok viackrát zopakovať.
  3. Určenie obsahu správy a jej odoslanie. Údaje o type správy sa prenášajú ako servisné informácie. Ak server potvrdí svoju pripravenosť prijať paket, samotná transakcia je dokončená.

Hlavička

Hlavička obsahuje servisné údaje. Je dôležité pochopiť, že sú určené len pre určitú úroveň. To znamená, že akonáhle je paket odoslaný príjemcovi, bude tam spracovaný podľa rovnakého modelu, ale v opačnom poradí. Vložená hlavička bude niesť špeciálne informácie, ktoré možno spracovať len určitým spôsobom.

Napríklad hlavičku vnorenú do transportnej vrstvy môže spracovať iba transportná vrstva na druhej strane. Ostatní to jednoducho budú ignorovať.

Transportná vrstva

Na transportnej vrstve sú prijaté informácie spracované ako jedna jednotka bez ohľadu na obsah. Prijaté správy sa rozdelia na segmenty, pridá sa k nim hlavička a celé sa to odošle smerom nadol.

Protokoly prenosu dát:

Najbežnejší protokol. Je zodpovedný za garantovaný prenos dát. Pri odosielaní paketov sa kontroluje ich kontrolný súčet, proces transakcie. To znamená, že informácie budú doručené „v bezpečí“ bez ohľadu na podmienky.

UDP (User Datagram Protocol) je druhým najpopulárnejším protokolom. Je tiež zodpovedný za prenos dát. Jeho charakteristická črta spočíva v jednoduchosti. Pakety sa jednoducho odosielajú bez vytvárania špeciálneho spojenia.

TCP alebo UDP?

Každý z týchto protokolov má svoj vlastný rozsah. Je to logicky určené charakteristikou diela.

Hlavnou výhodou UDP je jeho prenosová rýchlosť. TCP je komplexný protokol s mnohými kontrolami, zatiaľ čo UDP sa zdá byť zjednodušený, a teda rýchlejší.

Nevýhoda spočíva v jednoduchosti. Z dôvodu nedostatku kontrol nie je zaručená integrita údajov. Informácie sa teda jednoducho odošlú a všetky kontroly a podobné manipulácie zostanú v aplikácii.

UDP sa používa napríklad na sledovanie videí. Pre video súbor nie je kritická strata malého počtu segmentov, pričom najdôležitejším faktorom je rýchlosť načítania.

Ak však potrebujete posielať heslá alebo údaje o bankových kartách, potom je potreba použiť TCP zrejmá. Strata aj toho najmenšieho kúska údajov môže mať katastrofálne následky. Rýchlosť v tomto prípade nie je taká dôležitá ako bezpečnosť.

Sieťová vrstva

Sieťová vrstva tvorí pakety z prijatých informácií a pridáva hlavičku. Najdôležitejšou časťou údajov sú IP a MAC adresy odosielateľov a príjemcov.

IP adresa (Internet Protocol address) - logická adresa zariadenia. Obsahuje informácie o umiestnení zariadenia v sieti. Príklad vstupu: .

MAC adresa (Media Access Control address) – fyzická adresa zariadenia. Používa sa na identifikáciu. Priradené k sieťovému zariadeniu vo fáze výroby. Prezentované ako šesťbajtové číslo. Napríklad: .

Sieťová vrstva je zodpovedná za:

  • Stanovenie doručovacích trás.
  • Prenos paketov medzi sieťami.
  • Priradenie jedinečných adries.

Smerovače sú zariadenia sieťovej vrstvy. Na základe prijatých údajov dláždia cestu medzi počítačom a serverom.

Najpopulárnejším protokolom na tejto úrovni je IP.

IP (Internet Protocol) je internetový protokol určený na adresovanie v sieti. Používa sa na vytváranie trás, pozdĺž ktorých sa vymieňajú pakety. Nemá žiadne prostriedky na kontrolu a potvrdenie integrity. Na poskytovanie záruk doručenia sa používa TCP, ktorý používa IP ako svoj transportný protokol. Pochopenie princípov tejto transakcie vysvetľuje mnohé zo základov toho, ako funguje zásobník protokolov TCP/IP.

Typy IP adries

V sieťach sa používajú dva typy IP adries:

  1. Verejné.
  2. Súkromné.

Verejné (Public) sa používajú na internete. Hlavným pravidlom je absolútna jedinečnosť. Príkladom ich použitia sú smerovače, z ktorých každý má svoju IP adresu na interakciu s internetom. Táto adresa sa nazýva verejná.

Súkromné ​​(Private) sa na internete nepoužívajú. V globálnej sieti nie sú takéto adresy jedinečné. Príkladom je lokálna sieť. Každému zariadeniu je pridelená jedinečná IP adresa v rámci danej siete.

Interakcia s internetom sa uskutočňuje prostredníctvom smerovača, ktorý, ako je uvedené vyššie, má svoju verejnú IP adresu. Všetky počítače pripojené k routeru teda vystupujú na internete pod názvom jednej verejnej IP adresy.

IPv4

Najbežnejšia verzia internetového protokolu. Predchádza IPv6. Formát záznamu sú štyri osembitové čísla oddelené bodkami. Maska podsiete je označená znakom zlomku. Dĺžka adresy je 32 bitov. V drvivej väčšine prípadov, keď hovoríme o IP adrese, máme na mysli IPv4.

Formát záznamu: .

IPv6

Táto verzia je určená na riešenie problémov s predchádzajúcou verziou. Dĺžka adresy je 128 bitov.

Hlavným problémom, ktorý IPv6 rieši, je vyčerpanie IPv4 adries. Predpoklady sa začali objavovať už začiatkom 80. rokov. Napriek tomu, že tento problém vstúpil do akútneho štádia už v rokoch 2007-2009, implementácia IPv6 veľmi pomaly naberá na obrátkach.

Hlavnou výhodou IPv6 je rýchlejšie internetové pripojenie. Je to preto, že táto verzia protokolu nevyžaduje preklad adries. Vykonáva sa jednoduché smerovanie. Je to lacnejšie, a preto sa prístup k internetovým zdrojom poskytuje rýchlejšie ako v IPv4.

Príklad vstupu: .

Existujú tri typy adries IPv6:

  1. Unicast.
  2. Anycast.
  3. Multicast.

Unicast je typ IPv6 unicast. Po odoslaní sa paket dostane iba na rozhranie umiestnené na príslušnej adrese.

Anycast odkazuje na IPv6 multicast adresy. Odoslaný paket prejde na najbližšie sieťové rozhranie. Používané iba smerovačmi.

Multicast sú multicast. To znamená, že odoslaný paket dosiahne všetky rozhrania, ktoré sú v skupine multicast. Na rozdiel od vysielania, ktoré je „vysielané pre každého“, multicast vysiela iba špecifickej skupine.

Masku podsiete

Maska podsiete určuje číslo podsiete a hostiteľa z adresy IP.

Napríklad adresa IP má masku. V tomto prípade bude formát záznamu vyzerať takto. Číslo "24" je počet bitov v maske. Osem bitov sa rovná jednému oktetu, ktorý možno nazvať aj bajtom.

Podrobnejšie môže byť maska ​​podsiete reprezentovaná v binárnom číselnom systéme takto: . Má štyri oktety a záznam pozostáva z „1“ a „0“. Ak spočítame počet jednotiek, dostaneme celkom „24“. Našťastie nemusíte počítať po jednej, pretože v jednom oktete je 8 hodnôt. Vidíme, že tri z nich sú vyplnené jednotkami, sčítajte ich a dostanete „24“.

Ak hovoríme konkrétne o maske podsiete, tak v binárnej reprezentácii má buď jednotky alebo nuly v jednom oktete. V tomto prípade je postupnosť taká, že najskôr prídu bajty s jednotkami a až potom nuly.

Pozrime sa na malý príklad. Je tam IP adresa a maska ​​podsiete. Počítame a zapíšeme: . Teraz priradíme masku k IP adrese. Tie oktety masky, v ktorých sú všetky hodnoty rovné jednej (255), ponechajú svoje zodpovedajúce oktety v IP adrese nezmenené. Ak je hodnota nula (0), potom sa oktety v adrese IP tiež stanú nulami. Teda v hodnote adresy podsiete dostaneme.

Podsieť a hostiteľ

Podsieť je zodpovedná za logické oddelenie. V podstate ide o zariadenia, ktoré využívajú rovnakú lokálnu sieť. Určené rozsahom adries IP.

Host je adresa sieťového rozhrania (sieťovej karty). Určené z IP adresy pomocou masky. Napríklad: . Keďže prvé tri oktety sú podsieťou, zostáva. Toto je číslo hostiteľa.

Rozsah adries hostiteľov je od 0 do 255. Hostiteľ s číslom „0“ je v skutočnosti adresou samotnej podsiete. A hostiteľ číslo „255“ je vysielateľ.

Adresovanie

V zásobníku protokolu TCP/IP sa na adresovanie používajú tri typy adries:

  1. Miestne.
  2. sieť.
  3. Doménové mená.

MAC adresy sa nazývajú lokálne. Používajú sa na adresovanie v lokálnych sieťových technológiách, ako je Ethernet. V kontexte TCP/IP slovo „lokálne“ znamená, že fungujú iba v rámci podsiete.

Sieťová adresa v zásobníku protokolu TCP/IP je adresa IP. Pri odosielaní súboru sa adresa príjemcu načíta z jeho hlavičky. S jeho pomocou sa router naučí hostiteľské číslo a podsieť a na základe týchto informácií vytvorí trasu ku koncovému uzlu.

Doménové mená sú ľudsky čitateľné adresy webových stránok na internete. Webové servery na internete sú prístupné cez verejnú IP adresu. Úspešne ho spracovávajú počítače, no pre ľudí sa zdá byť príliš nepohodlný. Aby sa predišlo takýmto komplikáciám, používajú sa názvy domén, ktoré pozostávajú z oblastí nazývaných „domény“. Sú usporiadané v prísnej hierarchii, od najvyššej úrovne po najnižšiu.

Doména najvyššej úrovne predstavuje špecifické informácie. Generické (.org, .net) nie sú obmedzené žiadnymi striktnými hranicami. Opačná situácia je u miestnych (.us, .ru). Zvyčajne sú lokalizované.

Domény nízkej úrovne sú všetko ostatné. Môže mať ľubovoľnú veľkosť a môže obsahovať ľubovoľný počet hodnôt.

Napríklad „www.test.quiz.sg“ je správny názov domény, kde „sg“ je lokálna doména prvej (najvyššej) úrovne, „quiz.sg“ je doména druhej úrovne, „test.quiz.sg“ je doména tretej úrovne. Názvy domén sa môžu nazývať aj názvy DNS.

DNS (Domain Name System) vytvára mapovanie medzi názvami domén a verejnou IP adresou. Keď do prehliadača zadáte názov domény, DNS zistí zodpovedajúcu IP adresu a oznámi ju zariadeniu. Zariadenie to spracuje a vráti ako webovú stránku.

Data Link Layer

Na linkovej vrstve sa určí vzťah medzi zariadením a fyzickým prenosovým médiom a pridá sa hlavička. Zodpovedá za kódovanie dát a prípravu rámcov na prenos cez fyzické médium. Na tejto úrovni fungujú sieťové prepínače.

Najbežnejšie protokoly:

  1. Ethernet.
  2. WLAN.

Ethernet je najbežnejšou technológiou káblovej siete LAN.

WLAN je lokálna sieť založená na bezdrôtových technológiách. Zariadenia interagujú bez fyzického káblového pripojenia. Príkladom najbežnejšej metódy je Wi-Fi.

Konfigurácia TCP/IP na používanie statickej adresy IPv4

Statická adresa IPv4 sa prideľuje priamo v nastaveniach zariadenia alebo automaticky pri pripojení k sieti a je trvalá.

Ak chcete nakonfigurovať zásobník protokolov TCP/IP na používanie trvalej adresy IPv4, zadajte do konzoly príkaz ipconfig/all a nájdite nasledujúce údaje.

Konfigurácia TCP/IP na používanie dynamickej adresy IPv4

Dynamická adresa IPv4 sa na chvíľu používa, prenajíma a potom sa zmení. Priradí sa k zariadeniu automaticky po pripojení k sieti.

Ak chcete nakonfigurovať zásobník protokolov TCP/IP na používanie nestálej adresy IP, musíte prejsť do vlastností požadovaného pripojenia, otvoriť vlastnosti IPv4 a začiarknuť políčka, ako je uvedené.

Metódy prenosu dát

Údaje sa cez fyzické médium prenášajú tromi spôsobmi:

  • Simplexné.
  • Polovičný duplex.
  • Full Duplex.

Simplex je jednosmerná komunikácia. Prenos vykonáva iba jedno zariadenie, zatiaľ čo druhé iba prijíma signál. Dá sa povedať, že informácie sa prenášajú iba jedným smerom.

Príklady simplexnej komunikácie:

  • Televízne vysielanie.
  • Signál zo satelitov GPS.

Half-duplex je obojsmerná komunikácia. Naraz však môže vysielať signál iba jeden uzol. Pri tomto type komunikácie nemôžu dve zariadenia používať rovnaký kanál súčasne. Úplná obojsmerná komunikácia nemusí byť fyzicky možná alebo môže viesť ku kolíziám. Hovorí sa, že sú v konflikte o prenosové médium. Tento režim sa používa pri použití koaxiálneho kábla.

Príkladom poloduplexnej komunikácie je komunikácia cez vysielačku na jednej frekvencii.

Full Duplex - plná obojsmerná komunikácia. Zariadenia môžu súčasne vysielať a prijímať signál. Nie sú v rozpore s prenosovým médiom. Tento režim sa používa pri použití technológie Fast Ethernet a krútenej dvojlinky.

Príkladom je telefonická komunikácia cez mobilnú sieť.

TCP/IP vs OSI

Model OSI definuje princípy prenosu údajov. Vrstvy zásobníka protokolov TCP/IP priamo zodpovedajú tomuto modelu. Na rozdiel od štvorvrstvového TCP/IP má 7 vrstiev:

  1. Fyzické.
  2. Kanál (dátový odkaz).
  3. sieť.
  4. Doprava.
  5. Relácia.
  6. Prezentácia.
  7. Aplikácia.

V tejto chvíli nie je potrebné vŕtať sa v tomto modeli príliš hlboko, ale je potrebné aspoň povrchné pochopenie.

Aplikačná vrstva v modeli TCP/IP zodpovedá trom najvyšším vrstvám OSI. Všetky pracujú s aplikáciami, takže môžete jasne vidieť logiku tejto kombinácie. Táto zovšeobecnená štruktúra zásobníka protokolov TCP/IP uľahčuje pochopenie abstrakcie.

Transportná vrstva zostáva nezmenená. Vykonáva rovnaké funkcie.

Sieťová vrstva je tiež nezmenená. Vykonáva presne tie isté úlohy.

Vrstva dátového spojenia v TCP/IP zodpovedá posledným dvom vrstvám OSI. Vrstva dátového spojenia vytvára protokoly na prenos dát cez fyzické médium.

Fyzické predstavuje skutočné fyzické pripojenie - elektrické signály, konektory atď. V protokole TCP/IP bolo rozhodnuté spojiť tieto dve vrstvy do jednej, keďže obe pracujú s fyzickým médiom.

Nazýva sa dohodnutý súbor protokolov na rôznych úrovniach, ktoré sú dostatočné na organizáciu medzisieťového prepojenia zásobník protokolov. Pre každú úroveň je definovaná sada dotazovacích funkcií pre interakciu s vyššou úrovňou, ktorá sa nazýva rozhranie. Pravidlá pre interakciu medzi dvoma strojmi možno opísať ako súbor procedúr pre každú úroveň, ktoré sa nazývajú protokoly.

Existuje mnoho zásobníkov protokolov, ktoré sú široko používané v sieťach. Sú to zásobníky, ktoré sú medzinárodnými a národnými štandardmi, a proprietárne zásobníky, ktoré sa rozšírili vďaka rozšíreniu zariadení od konkrétnej spoločnosti. Príklady populárnych protokolových zásobníkov zahŕňajú zásobník IPX/SPX od Novell, zásobník TCP/IP používaný na internete av mnohých sieťach založených na UNIX, zásobník OSI Medzinárodnej organizácie pre štandardy, zásobník DECnet spoločnosti Digital Equipment Corporation a niekoľko ďalších.

Zásobníky protokolov sú rozdelené do troch úrovní:

    doprava;

    aplikovaný.

Sieťové protokoly

Sieťové protokoly poskytujú nasledujúce služby: adresovanie a smerovanie informácií, kontrola chýb, vyžiadanie si opakovaného prenosu a stanovenie pravidiel pre interakciu v špecifickom sieťovom prostredí. Nižšie sú uvedené najobľúbenejšie sieťové protokoly.

    DDP(DatagramDeliveryProtocol) Protokol prenosu údajov Apple používaný v AppleTalk.

    IP(Internet Protocol - Internet Protocol). Protokol zásobníka TCP/IP, ktorý poskytuje informácie o adresovaní a smerovaní.

    IPX(InternetworkPacketeXchange) v NWLink Protokol NovelNetWare používaný na smerovanie a smerovanie paketov.

    NetBEUI(NetBIOSExtendedUserInterface – rozšírené používateľské rozhranie základný sieťový I/O systém) . Tento protokol, vyvinutý spoločne spoločnosťami IBM a Microsoft, poskytuje transportné služby pre NetBIOS.

Transportné protokoly

Transportné protokoly poskytujú nasledujúce služby na spoľahlivý prenos údajov medzi počítačmi. Nižšie sú uvedené najpopulárnejšie transportné protokoly.

    ATP(AppleTalkProtocol – AppleTalk Transaction Protocol) a NBP(NameBindingProtocol – protokol viazania názvu). Protokoly relácie a prenosu AppleTalk.

    NetBIOS ( Základný sieťový I/O systém) . NetBIOS Vytvára spojenie medzi počítačmi a NetBEUI poskytuje dátové služby pre toto pripojenie.

    SPX(SequencedPacketeXchange – Sekvenčná výmena paketov) v protokole NWLink.NovelNetWare používanom na zabezpečenie doručovania údajov.

    TCP(TransmissionControlProtocol – Transmission Control Protocol) Protokol zásobníka TCP/IP zodpovedný za spoľahlivé doručovanie údajov.

Aplikačné protokoly

Aplikačné protokoly sú zodpovedné za to, ako aplikácie komunikujú. Nižšie sú uvedené najpopulárnejšie aplikačné protokoly.

    AFP(Apple Talk File Protocol - Apple Talk File Protocol). diaľkové ovládanie súbory Macintosh.

    FTP(File Transfer Protocol - File Transfer Protocol). Protokol zásobníka TCP/IP používaný na poskytovanie služieb prenosu súborov.

    NCP(NetWare Core Protocol - NetWare Basic Protocol). Klientsky shell a presmerovače NovelNetWare.

    SNMP(SimpleNetworkManagementProtocol) Protokol zásobníka TCP/IP používaný na správu a monitorovanie sieťových zariadení.

    HTTP(HyperTextTransferProtocol) – protokol na prenos hypertextu a ďalšie protokoly.

Sada internetových protokolov poskytuje komplexnú dátovú komunikáciu, ktorá definuje, ako sa dáta balia, spracúvajú, prenášajú, smerujú a prijímajú. Táto funkcionalita je organizovaná do štyroch abstraktných vrstiev, ktoré klasifikujú všetky súvisiace protokoly podľa rozsahu zapojených sietí. Od najnižšej po najvyššiu vrstvu je komunikačná vrstva obsahujúca komunikačné metódy pre dáta, ktoré zostávajú v rámci jedného segmentu siete (linky); Internetová vrstva, ktorá zabezpečuje prepojenie medzi nezávislými sieťami; transportná vrstva, ktorá zabezpečuje komunikáciu medzi hostiteľmi; a aplikačná vrstva, ktorá zabezpečuje medziprocesovú komunikáciu pre aplikácie.

Vývoj internetovej architektúry a protokolov v modeli TCP/IP je realizovaný otvorenou medzinárodnou komunitou dizajnérov IETF.

Príbeh

zásobník protokolov TCP/IP bol vytvorený na základe protokolu NCP (Network Control Protocol) skupinou vývojárov pod vedením Vintona Cerfa v roku 1972. V júli 1976 Vint Cerf a Bob Kahn prvýkrát demonštrovali prenos dát pomocou TCP cez tri rôzne siete. Balík prebehol po nasledujúcej trase: San Francisco – Londýn – University of Southern California. Do konca svojej cesty balík najazdil 150 tisíc km bez straty jediného kúska. V roku 1978 sa Cerf, Jon Postel a Danny Cohen rozhodli vytvoriť v TCP dve samostatné funkcie: TCP a IP (anglický internetový protokol, internetový protokol). TCP bol zodpovedný za rozdelenie správy do datagramov a ich spojenie v konečnom odosielacom bode. IP bola zodpovedná za prenos (s kontrolou príjmu) jednotlivých datagramov. Takto sa zrodil moderný internetový protokol. A 1. januára 1983 ARPANET prešiel na nový protokol. Tento deň sa považuje za oficiálny dátum narodenia internetu.

Vrstvy zásobníka TCP/IP

Zásobník protokolov TCP/IP obsahuje štyri vrstvy:

Protokoly na týchto úrovniach plne implementujú funkčnosť modelu OSI. Všetky interakcie používateľa v sieťach IP sú postavené na zásobníku protokolov TCP/IP. Zásobník je nezávislý od fyzického média na prenos dát, čo zaisťuje predovšetkým úplne transparentnú interakciu medzi káblovými a bezdrôtovými sieťami.

Rozdelenie protokolov podľa úrovní modelu TCP/IP
Aplikované
(Aplikačná vrstva)
napr. HTTP, RTSP, FTP, DNS
Doprava

Transportná vrstva

Sieťová (internetová) úroveň

Data Link Layer

Okrem toho vrstva dátového spojenia popisuje médium na prenos dát (či už je to koaxiálny kábel, krútená dvojlinka, optické vlákno alebo rádiový kanál), fyzikálne vlastnosti takéhoto média a princíp prenosu dát (oddelenie kanálov, modulácia, amplitúda signálu, frekvencia signálu, spôsob synchronizácie prenosu, odozva latencie a maximálna vzdialenosť).

Pri navrhovaní zásobníka protokolov na úrovni linky sa berie do úvahy kódovanie odolné voči šumu – umožňujúce odhaliť a opraviť chyby v údajoch v dôsledku vplyvu šumu a rušenia na komunikačný kanál.

Porovnanie s modelom OSI

Tri najvyššie vrstvy v modeli OSI, teda aplikačná vrstva, prezentačná vrstva a vrstva relácie, nie sú oddelene rozlíšené v modeli TCP/IP, ktorý má nad transportnou vrstvou iba aplikačnú vrstvu. Hoci niektoré aplikácie čistého protokolu OSI, ako napríklad X.400, ich tiež kombinujú, nevyžaduje sa, aby zásobník protokolu TCP/IP prekrýval nad transportnou vrstvou monolitickú architektúru. Napríklad aplikačný protokol NFS funguje prostredníctvom protokolu External Data Representation (XDR), ktorý zase funguje prostredníctvom protokolu Remote Procedure Call (RPC). RPC poskytuje spoľahlivý prenos dát, takže môže bezpečne používať prenos UDP s maximálnym úsilím.

Rôzni autori interpretovali TCP/IP model odlišne a nesúhlasia s tým, že linková vrstva alebo celý TCP/IP model pokrýva problémy. úroveň OSI vrstva 1 (fyzická vrstva) alebo predpokladá, že hardvérová vrstva je pod linkovou vrstvou.

Viacerí autori sa pokúsili začleniť vrstvy 1 a 2 modelu OSI do modelu TCP/IP, keďže sú bežne označované v moderných štandardoch (napr. IEEE a ITU). To často vedie k päťvrstvovému modelu, kde je komunikačná vrstva alebo vrstva sieťového prístupu rozdelená na vrstvy 1 a 2 modelu OSI.

Vývoj protokolu IETF nie je o striktnom vrstvení. Niektoré z jeho protokolov nemusia nasledovať čistý model OSI, hoci RFC naň niekedy odkazujú a často používajú staršie čísla vrstiev OSI. IETF opakovane uviedla, že návrh internetového protokolu a architektúry by nemal spĺňať požiadavky OSI. RFC 3439, ktorý sa zaoberá internetovou architektúrou, obsahuje časť s názvom „Vrstva považovaná za škodlivú“.

Napríklad vrstvy relácie a prezentácie paketu OSI sa považujú za zahrnuté v aplikačnej vrstve paketu TCP/IP. Funkčnosť vrstvy relácie možno nájsť v protokoloch, ako sú HTTP a SMTP, a je zreteľnejšia v protokoloch, ako sú Telnet a protokol SIP (Session Initiation Protocol). Funkcionalita vrstvy relácií je implementovaná aj s číslovaním portov pre protokoly TCP a UDP, ktoré pokrývajú transportnú vrstvu v súprave TCP/IP. Funkcie prezentačnej vrstvy sú implementované v aplikáciách TCP/IP so štandardom MIME pre výmenu údajov.

Konflikty sú zrejmé aj v pôvodnom modeli OSI, ISO 7498, keď sa neriešia prílohy k tomuto modelu, ako napríklad rámec riadenia ISO 7498/4 alebo ISO 8648 Vnútorná organizácia sieťovej vrstvy (IONL). Keď sa preskúmajú dokumenty IONL a Management Framework, ICMP a IGMP sú definované ako protokoly riadenia vrstvy pre sieťovú vrstvu. Podobne IONL poskytuje rámec pre „objekty konvergencie závislé od podsiete“, ako sú ARP a RARP.

Protokoly IETF môžu byť zapuzdrené rekurzívne, o čom svedčia tunelovacie protokoly, ako je General Routing Encapsulation (GRE). GRE používa rovnaký mechanizmus, ktorý OSI používa na tunelovanie na sieťovej vrstve. Existuje nezhoda o tom, ako prispôsobiť model TCP/IP do modelu OSI, pretože vrstvy v týchto modeloch nie sú rovnaké.

Model OSI navyše nepoužíva ďalšiu vrstvu – „internetworking“ – medzi dátovým spojom a sieťovými vrstvami. Príkladom kontroverzného protokolu môže byť ARP alebo STP.

Tu je návod, ako protokoly TCP/IP tradične zapadajú do modelu OSI:

Rozdelenie protokolov podľa úrovní modelu OSI
TCP/IP OSI
7 Aplikované Aplikované napr. HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
6 zastupovanie napr. XDR, AFP, TLS, SSL
5 Relácia napr. ISO 8327 / CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
4 Doprava Doprava napr. TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
3 sieť sieť napr. ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP, ARP
2 Potrubie Potrubie napr. Ethernet, Žetónový prsteň, HDLC , PPP , X.25 , Frame relay , ISDN , ATM , SPB , MPLS
1 Fyzické elektrické káble, rádiové komunikácie, káble z optických vlákien, infračervené žiarenie

Typicky sa v TCP/IP stacku kombinujú 3 najvyššie vrstvy modelu OSI (aplikácia, prezentácia a relácia) do jednej – aplikácie. Keďže takýto zásobník neposkytuje jednotný protokol prenosu údajov, funkcie určenia typu údajov sa prenášajú do aplikácie.

Popis TCP/IP modelu v technickej literatúre

Poznámky

  1. Modely OSI a TCP/IP. Znalostná báza osLogic.ru
  2. Sieťové modely TCP/IP a OSI. Cisco Learning
  3. Vasiliev A. A., Telina I. S., Izbachkov Yu. S., Petrov V. N. Informačné systémy: Učebnica pre vysoké školy. - St. Petersburg. : Peter, 2010. - 544 s. - ISBN 978-5-49807-158-9.
  4. Andrew Krowczyk, Vinod Kumar, Noman Laghari a ďalší. Programovanie siete .NET pre profesionálov / trans. z angličtiny V. Streltsov. - M.: Lori, 2005. - 400 s. - ISBN 1-86100-735-3. - ISBN 5-85582-170-2.

Transportná vrstva (TL) definuje pravidlá pre prenos paketov cez sieť. Transportná vrstva monitoruje end-to-end doručovanie jednotlivých paketov, neberie do úvahy žiadne závislosti medzi týmito paketmi (ani tými, ktoré patria do tej istej správy). S každým paketom zaobchádza tak, ako keby každá časť patrila samostatná správa, bez ohľadu na to, či to tak skutočne je alebo nie. Protokoly transportnej vrstvy zabezpečujú, že všetky správy dorazia na miesto určenia neporušené a že pakety sú usporiadané v pôvodnom poradí. Na transportnej vrstve sa vykonáva kontrola narušenia informácií a kontrola chýb, ako aj kontrola toku pozdĺž celej cesty zdroj-cieľ.

Transportná vrstva vykonáva tieto úlohy:

  • Adresovanie servisného miesta. Na počítačoch často beží viacero programov súčasne. Z tohto dôvodu doručenie zdroj-cieľ znamená doručenie nielen z jedného počítača na druhý, ale aj z daného procesu (bežiaceho programu) na jednom počítači do daného procesu (bežiaceho programu) na inom počítači. Preto hlavička transportnej vrstvy musí obsahovať typ adresy nazývaný adresa bodu služby (alebo adresa portu). Sieťová vrstva doručí každý paket na správnu adresu počítača; Transportná vrstva doručí úplnú správu správnemu procesu v danom počítači.
  • Segmentácia a opätovná montáž. Správa je rozdelená na prenosné segmenty, pričom každý segment obsahuje poradové číslo. Tieto čísla umožňujú transportnej vrstve po dosiahnutí cieľa správne zostaviť správu a nahradiť pakety, ktoré sa stratili pri prenose.
  • Správa pripojenia. Transportná vrstva môže byť orientovaná na spojenie (prenos bez spojenia) alebo prenos orientovaný na spojenie (režim datagramu). Transportná vrstva bez spojenia (cez vopred vytvorené virtuálne spojenie) spracuje každý segment ako nezávislý paket a doručí ho transportnej vrstve na cieľovom počítači. Transportná vrstva orientovaná na spojenie najprv vytvorí spojenie s transportnou vrstvou na cieľovom počítači pred doručením paketov. Po prenesení všetkých údajov sa spojenie ukončí.

    V režime bez spojenia sa transportná vrstva používa na prenos jednotlivých datagramov bez zaručenia ich spoľahlivého doručenia. Na spoľahlivé doručovanie údajov sa používa režim orientovaný na pripojenie.

  • Riadenie toku. Rovnako ako vrstva dátového spojenia je transportná vrstva zodpovedná za riadenie toku. Riadenie toku na tejto úrovni sa však vykonáva od začiatku do konca.
  • Kontrola chýb. Rovnako ako vrstva dátového spojenia je transportná vrstva zodpovedná za kontrolu chýb. Prenosová transportná vrstva zaisťuje, že kompletná správa sa dostane na prijímaciu transportnú vrstvu bez chyby (poškodenia, straty alebo duplikácie). Oprava chýb sa zvyčajne vyskytuje prostredníctvom opakovaného prenosu.

Session Layer SL- ovládač sieťového dialógu. Vytvára, udržiava a synchronizuje interakcie medzi komunikujúcimi systémami.

Pomocou Session Layer sa organizuje dialóg medzi stranami, zaznamenáva sa, ktorá strana je iniciátorom, ktorá strana je aktívna a ako dialóg končí.

Úlohy vrstvy relácie sú nasledovné:

  • Vedenie dialógu. Vrstva relácie umožňuje dvom systémom vstúpiť do dialógu. Umožňuje výmenu správ medzi dvoma procesmi. V tomto prípade sú možné nasledujúce režimy: buď polovičný duplex (jedna cesta súčasne) alebo plný duplex (dve cesty súčasne). Napríklad dialóg medzi terminálom a sálovým počítačom môže byť poloduplexný.
  • Synchronizácia. Vrstva relácie Umožňuje procesu pridať kontrolné body (synchronizačné body) do dátového toku. Napríklad, ak systém odošle súbor s 2 000 stranami, je žiaduce vložiť kontrolné body po každých 100 stranách, aby sa zabezpečilo, že každý 100-stranový modul bude prijatý a rozpoznaný nezávisle. V tomto prípade, ak dôjde k porušeniu počas prenosu strany 523, jediná požadovaná strana bude odoslaná znova po obnovenie systému- strana 501 (prvá strana z piatej stovky)

Prezentačná vrstva sa zaoberá formou poskytovania informácií nižším úrovniam, napríklad prekódovaním alebo šifrovaním informácií.

Úlohy prezentačnej vrstvy sú:

  • Prekódovanie informácií. Procesy (bežiace programy) v týchto dvoch systémoch si zvyčajne vymieňajú informácie vo forme reťazcov znakov, čísel atď. Informácie sa musia pred prenosom zmeniť na bitové toky. Keďže rôzne počítače používajú rôzne systémy kódovania, prezentačnej vrstvy je zodpovedný za interoperabilitu medzi týmito rôznymi metódami kódovania. Prezentačná vrstva vo vysielači zmení informáciu z formy špecifickej pre vysielač na všeobecnú formu. Prezentačná vrstva v prijímajúcom počítači nahradí bežný formát formátom svojho prijímača.
  • Šifrovanie. Na doručenie citlivých informácií musí systém zabezpečiť utajenie. Šifrovanie znamená, že vysielač prevedie pôvodnú informáciu do inej formy a výslednú správu odošle cez sieť. Dekódovanie musí byť presným opakom pôvodného procesu, aby sa správa pretransformovala späť do pôvodnej podoby.
  • Kompresia. Kompresia údajov znižuje počet bitov obsiahnutých v informáciách. Kompresia údajov sa stáva obzvlášť dôležitou pri prenose multimédií, ako je text, zvuk a video.

Aplikačná vrstva (AL) je súbor protokolov vymieňaných medzi vzdialenými uzlami, ktoré vykonávajú rovnakú úlohu (program). Aplikačná vrstva umožňuje užívateľovi (osobe resp softvér) prístup k sieti. Poskytuje používateľské rozhrania a podporu pre služby, ako je e-mail, vzdialený prístup a prevod prostriedkov, správa verejnej databázy a iné typy distribuovaných informačných služieb.

Príklady služieb poskytovaných aplikačnou vrstvou:

  • Sieťový virtuálny terminál. Sieťový virtuálny terminál je softvérová verzia fyzického terminálu, umožňuje používateľovi prihlásiť sa na vzdialený hostiteľ. Na tento účel aplikácia vytvorí softvérovú emuláciu terminálu na vzdialenom hostiteľovi. Počítač používateľa komunikuje so softvérovým terminálom, ktorý zase komunikuje s hostiteľom a naopak. Vzdialený hostiteľ definuje toto pripojenie ako spojenie s jedným zo svojich vlastných terminálov a umožňuje vstup.
  • Prenos súborov, prístup a správa. Táto aplikácia umožňuje používateľovi pristupovať k súborom na vzdialenom hostiteľovi a upravovať alebo čítať údaje, získavať súbory zo vzdialeného počítača na použitie na lokálnom počítači a spravovať alebo spravovať súbory na vzdialenom počítači.
  • Poštové služby. Táto aplikácia poskytuje základ pre odosielanie a ukladanie e-mailov.
  • Adresárové služby. Táto aplikácia poskytuje distribuované databázové zdroje a prístup ku globálnym informáciám o rôznych objektoch a službách.

Zásobník internetových protokolov

Zásobník protokolov Internet2 bol vyvinutý pred modelom OSI. Preto vrstvy v zásobníku internetového protokolu nezodpovedajú zodpovedajúcim vrstvám v modeli OSI. Zásobník internetových protokolov pozostáva z piatich vrstiev: fyzická, dátová, sieťová, transportná a aplikačná. Prvé štyri vrstvy poskytujú fyzické štandardy, sieťové rozhranie, medzisieťové a transportné funkcie, ktoré zodpovedajú prvým štyrom vrstvám modelu OSI. Tri najvyššie vrstvy v modeli OSI sú v zásobníku internetového protokolu zastúpené jednou vrstvou nazývanou aplikačná vrstva. 1.3.

Ryža. 1.3.

ARP Protokol na rozlíšenie adresy Protokol hľadania adresy
bankomat Režim asynchrónneho prenosu Režim asynchrónneho prenosu
BGP Protokol hraničnej brány Edge Routing Protocol
DNS Systém doménových mien Systém doménových mien
Ethernet Ethernetová sieť Ethernetová sieť
FDDI Fiber Distributed Data Interface Distribuované dátové rozhranie z optických vlákien
HTTP Hyper Text Transfer Protocol Hypertext Transfer Protocol
FTP Prenos súboru Protokol Protokol prenosu súborov
ICMP Internet Control Message Protocol Control Message Protocol
IGMP Internet Group Management Protocol Protokol správy internetových skupín (používateľov).
IP internetový protokol internetový protokol
NFS Sieťový súborový systém Protokol sieťového prístupu súborové systémy
OSPF Najprv otvorte najkratšiu cestu Otvorte protokol preferencie najkratšieho kanála
PDH Plesiochrónna digitálna hierarchia Plesiochronická digitálna hierarchia
PPP Point-to-Point protokol Komunikačný protokol bod-bod


 Hore