Galvenā interneta protokolu kaudze. Tīkla protokoli un standarti. Pamattīkla arhitektūra

Protokolu skursteņi

Protokolu steks ir hierarhiski organizēts tīkla protokolu kopums dažādos līmeņos, kas ir pietiekams, lai organizētu un nodrošinātu tīkla mezglu mijiedarbību. Pašlaik tīklos tiek izmantots liels skaits sakaru protokolu steku. Populārākie skursteņi ir: TCP/IP, IPX/SPX, NetBIOS/SMB, Novell NetWare, DECnet, XNS, SNA un OSI. Visi šie skursteņi, izņemot SNA, zemākajos līmeņos - fiziskajā un datu savienojumā - izmanto tos pašus labi standartizētos protokolus Ethemet, Token Ring, FDDI un dažus citus, kas ļauj izmantot vienu un to pašu aprīkojumu visos tīklos. Bet tālāk augšējie līmeņi x visi skursteņi darbojas pēc saviem protokoliem. Šie protokoli bieži neatbilst OSI modeļa ieteiktajam slāņojumam. Jo īpaši sesijas un prezentācijas slāņu funkcijas parasti tiek apvienotas ar lietojumprogrammas slāni. Šī neatbilstība ir saistīta ar faktu, ka OSI modelis parādījās jau esošo un faktiski izmantoto steku vispārināšanas rezultātā, nevis otrādi.

Visus kaudzē iekļautos protokolus izstrādājis viens ražotājs, tas ir, tie spēj strādāt pēc iespējas ātrāk un efektīvāk.

Svarīgs punkts tīkla iekārtu, jo īpaši tīkla adaptera, darbībā ir protokolu saistīšana. Tas ļauj izmantot dažādus protokolu stekus, apkalpojot vienu tīkla adapteri. Piemēram, varat vienlaikus izmantot TCP/IP un IPX/SPX stekus. Ja pēkšņi rodas kļūda, mēģinot izveidot savienojumu ar adresātu, izmantojot pirmo steku, tad automātiski notiks pārslēgšanās uz protokola izmantošanu no nākamās steka. Svarīgs punkts šajā gadījumā ir saistošais pasūtījums, jo tas skaidri ietekmē viena vai otra protokola izmantošanu no dažādām skursteņiem.

Neatkarīgi no tā, cik tīkla adapteri ir instalēti datorā, saistīšanu var veikt vai nu "viens pret vairākiem" vai "vairāki pret vienu", tas ir, vienu protokolu steku var piesaistīt vairākiem adapteriem vienlaikus vai vairākas stekas vienam adapterim. .

NetWare ir tīkla operētājsistēma un tīkla protokolu kopums, kas tiek izmantoti šajā sistēmā, lai mijiedarbotos ar tīklam pievienotajiem klientu datoriem. Sistēmas tīkla protokoli ir balstīti uz XNS protokolu steku. NetWare pašlaik atbalsta TCP/IP un IPX/SPX protokolus. Novell NetWare bija populārs 80. un 90. gados, jo tas ir efektīvāks salīdzinājumā ar vispārējas nozīmes operētājsistēmām. Tagad šī tehnoloģija ir novecojusi.

XNS (Xerox Network Services Internet Transport Protocol) protokolu steku izstrādāja uzņēmums Xerox datu pārsūtīšanai Ethernet tīklos. Satur 5 līmeņus.

1. līmenis – pārraides vide – OSI modelī realizē fiziskās un datu saites slāņu funkcijas:

* pārvalda datu apmaiņu starp ierīci un tīklu;

* maršrutē datus starp ierīcēm vienā tīklā.

2. slānis — tīkls — atbilst tīkla slānim OSI modelī:

* pārvalda datu apmaiņu starp ierīcēm, kas atrodas dažādos tīklos (nodrošina datagrammu servisu IEEE modeļa ziņā);

* apraksta veidu, kā dati plūst tīklā.

3. slānis - transports - atbilst OSI modeļa transporta slānim:

* nodrošina tiešu saziņu starp datu avotu un galamērķi.

4. līmenis — kontrole — atbilst sesijas un reprezentatīvajiem līmeņiem OSI modelī:

* kontrolē datu prezentāciju;

* pārvalda ierīces resursu kontroli.

5. līmenis - pielietojums - atbilst OSI modeļa augstākajiem līmeņiem:

* nodrošina datu apstrādes funkcijas lietojumprogrammu uzdevumiem.

TCP/IP (Transmission Control Protocol/Internet Protocol) protokolu steks ir mūsdienās visizplatītākais un funkcionālākais. Tas darbojas jebkura izmēra lokālajos tīklos. Šī kaudze ir galvenā kaudzīte globālais tīkls Internets. Stack atbalsts tika ieviests datoros ar operētājsistēmu UNIX sistēma. Līdz ar to ir palielinājusies TCP/IP protokola popularitāte. TCP/IP protokolu kaudze ietver diezgan daudz protokolu, kas darbojas dažādos līmeņos, taču savu nosaukumu tas ieguvis, pateicoties diviem protokoliem - TCP un IP.

TCP (Transmission Control Protocol) ir transporta protokols, kas paredzēts datu pārraides kontrolei tīklos, izmantojot TCP/IP protokolu steku. IP (interneta protokols) ir tīkla slāņa protokols, kas paredzēts datu piegādei saliktā tīklā, izmantojot kādu no transporta protokoliem, piemēram, TCP vai UDP.

TCP/IP steka zemākajā līmenī tiek izmantoti standarta datu pārsūtīšanas protokoli, kas ļauj to izmantot tīklos, izmantojot jebkuru tīkla tehnoloģijas un datoros ar jebkuru operētājsistēmu.

TCP/IP protokols sākotnēji tika izstrādāts lietošanai globālajos tīklos, tāpēc tas ir ārkārtīgi elastīgs. Jo īpaši, pateicoties iespējai fragmentēt paketes, dati, neskatoties uz sakaru kanāla kvalitāti, jebkurā gadījumā sasniedz adresātu. Turklāt, pateicoties IP protokola klātbūtnei, kļūst iespējama datu pārsūtīšana starp dažādiem tīkla segmentiem.

TCP/IP protokola trūkums ir tīkla administrēšanas sarežģītība. Jā, priekš normāla darbība tīklam ir nepieciešami papildu serveri, piemēram, DNS, DHCP utt., kuru darbības uzturēšana aizņem lielāko daļu laika sistēmas administrators. Limoncelli T., Hogan K., Cheylap S. - Sistēmu un tīklu administrēšana. 2. izd. 2009. gads. 944с

IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) protokolu steks ir izstrādāts un pieder uzņēmumam Novell. Tas tika izstrādāts operētājsistēmas Novell NetWare vajadzībām, kas vēl nesen ieņēma vienu no vadošajām pozīcijām starp serveru operētājsistēmām.

IPX un SPX protokoli darbojas attiecīgi ISO/OSI modeļa tīkla un transporta slāņos un tāpēc lieliski papildina viens otru.

IPX protokols var pārsūtīt datus, izmantojot datagrammas, izmantojot tīkla maršrutēšanas informāciju. Taču, lai pārsūtītu datus pa atrasto maršrutu, vispirms ir jāizveido savienojums starp sūtītāju un saņēmēju. To dara SPX protokols vai jebkurš cits transporta protokols, kas darbojas tandēmā ar IPX.

Diemžēl IPX/SPX protokolu steks sākotnēji ir paredzēts mazu tīklu apkalpošanai, tāpēc tā izmantošana lielos tīklos ir neefektīva: pārmērīga apraides izmantošana zema ātruma sakaru līnijās ir nepieņemama.

Fiziskajos un datu posma slāņos OSI steks atbalsta Ethernet, Token Ring, FDDI protokolus, kā arī LLC, X.25 un ISDN protokolus, tas ir, izmanto visus populāros zemākā slāņa protokolus, kas izstrādāti ārpus steka. , tāpat kā vairums citu skursteņu. Tīkla slānis ietver salīdzinoši reti izmantoto savienojumu orientēto tīkla protokolu (CONP) un bezsavienojumu tīkla protokolu (CLNP). OSI steka maršrutēšanas protokoli ir ES-IS (beigu sistēma – starpsistēma) starp gala un starpsistēmām un IS-IS (starpsistēma – starpposma sistēma) starp starpsistēmām. OSI steka transporta slānis slēpj atšķirības starp uz savienojumu orientētiem un bezsavienojuma tīkla pakalpojumiem, lai lietotāji saņemtu vēlamo pakalpojuma kvalitāti neatkarīgi no pamatā esošā tīkla slāņa. Lai to nodrošinātu, transporta slānis pieprasa lietotājam norādīt vēlamo pakalpojuma kvalitāti. Lietojumprogrammu slāņa pakalpojumi nodrošina failu pārsūtīšanu, termināļa emulāciju, direktoriju pakalpojumus un pastu. No tiem populārākie ir uzziņu pakalpojums (X.500 standarts), elektroniskais pasts (X.400), virtuālā termināļa protokols (VTP), failu pārsūtīšanas, piekļuves un pārvaldības (FTAM) protokols, pārsūtīšanas un darbu pārvaldības protokols (JTM) .

Diezgan populārs protokolu steks, ko izstrādājuši attiecīgi IBM un Microsoft, kuru mērķis ir izmantot šo uzņēmumu produktos. Tāpat kā TCP/IP, standarta protokoli, piemēram, Ethernet, Token Ring un citi, darbojas NetBIOS/SMB steka fiziskā un datu posma līmenī, kas ļauj to izmantot kopā ar jebkuru aktīvo tīkla aprīkojumu. Augšējos līmeņos darbojas NetBIOS (tīkla pamata ievades/izvades sistēma) un SMB (servera ziņojumu bloks) protokoli.

NetBIOS protokols tika izstrādāts pagājušā gadsimta 80. gadu vidū, bet drīz vien tika aizstāts ar funkcionālāku NetBEUI (NetBIOS Extended User Interface) protokolu, kas ļauj veikt ļoti efektīvu informācijas apmaiņu tīklos, kas sastāv ne vairāk kā no 200 datoriem.

Datu apmaiņai starp datoriem tiek izmantoti loģiskie nosaukumi, kas tiek dinamiski piešķirti datoriem, kad tie ir savienoti ar tīklu. Šajā gadījumā nosaukumu tabula tiek izplatīta katram tīkla datoram. Tas arī atbalsta darbu ar grupu nosaukumiem, kas ļauj pārsūtīt datus vairākiem adresātiem vienlaikus.

Galvenās NetBEUI protokola priekšrocības ir ātrums un ļoti zemas resursu prasības. Ja jums ir nepieciešams organizēt ātru datu apmaiņu nelielā tīklā, kas sastāv no viena segmenta, tam nav labāka protokola. Turklāt izveidots savienojums nav obligāta prasība ziņojuma piegādei: ja savienojuma nav, protokolā tiek izmantota datagrammas metode, kur ziņojums ir aprīkots ar adresāta un sūtītāja adresi un “paceļas”, pārejot no plkst. no viena datora uz otru.

Tomēr NetBEUI ir arī būtisks trūkums: tajā pilnībā nav pakešu maršrutēšanas jēdziena, tāpēc tā izmantošanai sarežģītos saliktos tīklos nav jēgas. Pjatibratovs A.P., Gudyno L.P., Kiričenko A.A. Datori, tīkli un telekomunikāciju sistēmas Maskava 2009. 292. gadi

Kas attiecas uz SMB (Server Message Block) protokolu, tas tiek izmantots, lai organizētu tīkla darbību trīs augstākajos līmeņos - sesijas, prezentācijas un lietojumprogrammu līmeņos. Izmantojot to, kļūst iespējama piekļuve failiem, printeriem un citiem tīkla resursiem. Šis protokols ir vairākkārt uzlabots (izlaistas trīs versijas), kas ļauj to izmantot pat tādās modernās operētājsistēmās kā Microsoft Vista un Windows 7. SMB protokols ir universāls un var darboties tandēmā ar gandrīz jebkuru transporta protokolu. , piemēram, TCP/IP un SPX.

DECnet (Digital Equipment Corporation net) protokolu kaudze satur 7 slāņus. Neskatoties uz atšķirībām terminoloģijā, DECnet slāņi ir ļoti līdzīgi OSI modeļa slāņiem. DECnet īsteno DEC izstrādāto DNS (Digital Network Architecture) tīkla arhitektūras koncepciju, saskaņā ar kuru heterogēnas skaitļošanas sistēmas (dažādu klašu datorus), kas darbojas zem dažādām operētājsistēmām, var apvienot ģeogrāfiski sadalītos informācijas un skaitļošanas tīklos.

IBM SNA (System Network Architecture) protokols ir paredzēts attālinātai saziņai ar lieliem datoriem un satur 7 slāņus. SNA pamatā ir resursdatora koncepcija un nodrošina attālo termināļa piekļuvi IBM lieldatoriem. Galvenā SNA atšķirīgā iezīme ir katra termināļa spēja piekļūt jebkurai resursdatora lietojumprogrammai. Sistēmas tīkla arhitektūra tiek realizēta, pamatojoties uz virtuālās telekomunikāciju piekļuves metodi (VTAM) resursdatorā. VTAM pārvalda visas sakaru saites un termināļus, un katram terminālim ir piekļuve visām lietojumprogrammām.

Šajā rakstā tiks apskatīti TCP/IP modeļa pamati. Labākai izpratnei ir aprakstīti galvenie protokoli un pakalpojumi. Galvenais ir nesteidzīgi un mēģināt katru lietu izprast soli pa solim. Viņi visi ir savstarpēji saistīti un, nesaprotot vienu, būs grūti saprast otru. Šeit sniegtā informācija ir ļoti virspusēja, tāpēc šo rakstu var viegli saukt par "TCP/IP protokolu steksu manekeniem". Tomēr daudzas lietas šeit nav tik grūti saprotamas, kā varētu šķist no pirmā acu uzmetiena.

TCP/IP

TCP/IP steks ir tīkla modelis datu pārraidei tīklā; tas nosaka secību, kādā ierīces mijiedarbojas. Dati nonāk datu saites slānī, un tos pēc kārtas apstrādā katrs iepriekš minētais slānis. Stacks tiek attēlots kā abstrakcija, kas izskaidro datu apstrādes un saņemšanas principus.

TCP/IP tīkla protokolu kaudzei ir 4 līmeņi:

  1. Kanāls (saite).
  2. Tīkls (internets).
  3. Transports.
  4. Pieteikums.

Uzklāšanas slānis

Lietojumprogrammas slānis nodrošina iespēju mijiedarboties starp lietojumprogrammu un citiem protokola steka slāņiem, analizē un pārvērš ienākošo informāciju programmatūrai piemērotā formātā. Ir vistuvāk lietotājam un tieši mijiedarbojas ar viņu.

  • HTTP;
  • SMTP;

Katrs protokols nosaka savu kārtību un principus darbam ar datiem.

HTTP (HyperText Transfer Protocol) ir paredzēts datu pārsūtīšanai. Tā nosūta, piemēram, dokumentus HTML formātā, kas kalpo par tīmekļa lapas pamatu. Vienkāršotā veidā darba shēma tiek parādīta kā "klients - serveris". Klients nosūta pieprasījumu, serveris to pieņem, pareizi apstrādā un atgriež gala rezultātu.

Kalpo kā standarts failu pārsūtīšanai tīklā. Klients nosūta pieprasījumu par noteiktu failu, serveris meklē šo failu savā datubāzē un, ja tas ir veiksmīgi atrasts, nosūta to kā atbildi.

Izmanto pārraidei E-pasts. SMTP darbība ietver trīs secīgas darbības:

  1. Sūtītāja adreses noteikšana. Tas ir nepieciešams, lai atgrieztu vēstules.
  2. Saņēmēja definīcija. Norādot vairākus adresātus, šo darbību var atkārtot vairākas reizes.
  3. Ziņojuma satura noteikšana un nosūtīšana. Dati par ziņojuma veidu tiek pārsūtīti kā pakalpojuma informācija. Ja serveris apstiprina savu gatavību pieņemt paketi, tad pati transakcija ir pabeigta.

Virsraksts

Galvene satur pakalpojumu datus. Ir svarīgi saprast, ka tie ir paredzēti tikai noteiktam līmenim. Tas nozīmē, ka tiklīdz pakete tiks nosūtīta adresātam, tā tur tiks apstrādāta pēc tāda paša modeļa, bet apgrieztā secībā. Iegultajā galvenē būs īpaša informācija, kuru var apstrādāt tikai noteiktā veidā.

Piemēram, transporta slānī ligzdotu galveni var apstrādāt tikai transporta slānis, kas atrodas otrā pusē. Citi to vienkārši ignorēs.

Transporta slānis

Transporta slānī saņemtā informācija tiek apstrādāta kā viena vienība neatkarīgi no satura. Saņemtie ziņojumi tiek sadalīti segmentos, tiem tiek pievienota galvene, un viss tiek nosūtīts pa straumi.

Datu pārsūtīšanas protokoli:

Visizplatītākais protokols. Tā ir atbildīga par garantētu datu pārraidi. Sūtot pakas, tās tiek kontrolētas čekas summa, darījuma process. Tas nozīmē, ka informācija tiks saņemta "drošā veidā" neatkarīgi no apstākļiem.

UDP (User Datagram Protocol) ir otrs populārākais protokols. Tā ir arī atbildīga par datu pārsūtīšanu. Tās atšķirīgā iezīme slēpjas vienkāršībā. Paketes tiek vienkārši nosūtītas, neveidojot īpašu savienojumu.

TCP vai UDP?

Katram no šiem protokoliem ir sava darbības joma. To loģiski nosaka darba raksturojums.

Galvenā UDP priekšrocība ir pārraides ātrums. TCP ir sarežģīts protokols ar daudzām pārbaudēm, savukārt UDP šķiet vienkāršāks un tāpēc ātrāks.

Trūkums slēpjas vienkāršībā. Pārbaužu trūkuma dēļ datu integritāte netiek garantēta. Tādējādi informācija tiek vienkārši nosūtīta, un visas pārbaudes un līdzīgas manipulācijas paliek aplikācijā.

UDP tiek izmantots, piemēram, video skatīšanai. Video failam neliela segmentu skaita zaudēšana nav kritiska, savukārt ielādes ātrums ir vissvarīgākais faktors.

Taču, ja nepieciešams nosūtīt paroles vai bankas kartes datus, tad nepieciešamība izmantot TCP ir acīmredzama. Pat vismazākās datu daļas zaudēšana var izraisīt katastrofālas sekas. Ātrums šajā gadījumā nav tik svarīgs kā drošība.

Tīkla slānis

Tīkla slānis no saņemtās informācijas veido paketes un pievieno galveni. Svarīgākā datu daļa ir sūtītāju un saņēmēju IP un MAC adreses.

IP adrese (interneta protokola adrese) - ierīces loģiskā adrese. Satur informāciju par ierīces atrašanās vietu tīklā. Ieraksta piemērs: .

MAC adrese (Media Access Control address) - ierīces fiziskā adrese. Izmanto identifikācijai. Piešķirts tīkla aprīkojumam ražošanas stadijā. Tiek parādīts kā sešu baitu skaitlis. Piemēram: .

Tīkla slānis ir atbildīgs par:

  • Piegādes maršrutu noteikšana.
  • Pakešu pārsūtīšana starp tīkliem.
  • Unikālo adrešu piešķiršana.

Maršrutētāji ir tīkla slāņa ierīces. Tie paver ceļu starp datoru un serveri, pamatojoties uz saņemtajiem datiem.

Populārākais protokols šajā līmenī ir IP.

IP (interneta protokols) ir interneta protokols, kas paredzēts adresēšanai tīklā. Izmanto, lai izveidotu maršrutus, pa kuriem notiek pakešu apmaiņa. Nav nekādu līdzekļu, lai pārbaudītu un apstiprinātu integritāti. Lai nodrošinātu piegādes garantijas, tiek izmantots TCP, kas kā transporta protokolu izmanto IP. Izpratne par šī darījuma principiem lielā mērā izskaidro TCP/IP protokola steku darbības pamatus.

IP adrešu veidi

Tīklos tiek izmantotas divu veidu IP adreses:

  1. Publisks.
  2. Privāts.

Internetā tiek izmantoti publiski (publiski). Galvenais noteikums ir absolūta unikalitāte. To izmantošanas piemērs ir maršrutētāji, kuriem katram ir sava IP adrese mijiedarbībai ar internetu. Šo adresi sauc par publisku.

Privātie (Private) netiek izmantoti internetā. Globālajā tīklā šādas adreses nav unikālas. Piemērs - lokālais tīkls. Katrai ierīcei tiek piešķirta unikāla IP adrese noteiktā tīklā.

Mijiedarbība ar internetu tiek veikta, izmantojot maršrutētāju, kuram, kā minēts iepriekš, ir sava publiskā IP adrese. Tādējādi visi datori, kas savienoti ar maršrutētāju, parādās internetā ar vienas publiskas IP adreses nosaukumu.

IPv4

Visizplatītākā interneta protokola versija. Pirms IPv6. Ierakstīšanas formāts ir četri astoņu bitu skaitļi, kas atdalīti ar punktiem. Apakštīkla maska ​​tiek norādīta ar daļskaitļa zīmi. Adreses garums ir 32 biti. Lielākajā daļā gadījumu, kad mēs runājam par attiecībā uz IP adresi mēs domājam IPv4.

Ieraksta formāts: .

IPv6

Šī versija ir paredzēta problēmu risināšanai iepriekšējā versija. Adreses garums ir 128 biti.

Galvenā problēma, ko IPv6 atrisina, ir IPv4 adrešu izsmelšana. Priekšnosacījumi sāka parādīties jau 80. gadu sākumā. Neskatoties uz to, ka šī problēma akūtā stadijā nonāca jau 2007.-2009.gadā, IPv6 ieviešana ļoti lēni uzņem apgriezienus.

Galvenā IPv6 priekšrocība ir ātrāks interneta savienojums. Tas ir tāpēc, ka šai protokola versijai nav nepieciešama adreses tulkošana. Tiek veikta vienkārša maršrutēšana. Tas ir lētāk, un tāpēc piekļuve interneta resursiem tiek nodrošināta ātrāk nekā IPv4.

Ieraksta piemērs: .

Ir trīs veidu IPv6 adreses:

  1. Unicast.
  2. Anycast.
  3. Multiraide.

Unicast ir IPv6 unicast veids. Nosūtot, pakete sasniedz tikai saskarni, kas atrodas attiecīgajā adresē.

Anycast attiecas uz IPv6 multiraides adresēm. Nosūtītā pakete nonāks tuvākajā tīkla saskarnē. Izmanto tikai maršrutētāji.

Multiraide ir multiraide. Tas nozīmē, ka nosūtītā pakete sasniegs visas saskarnes, kas ir multiraides grupā. Atšķirībā no apraides, kas ir “apraide visiem”, multiraide tiek pārraidīta tikai noteiktai grupai.

Apakštīkla maska

Apakštīkla maska ​​nosaka apakštīkla un resursdatora numuru no IP adreses.

Piemēram, IP adresei ir maska. Šajā gadījumā ierakstīšanas formāts izskatīsies šādi. Skaitlis "24" ir maskas bitu skaits. Astoņi biti ir vienādi ar vienu oktetu, ko var saukt arī par baitu.

Sīkāk apakštīkla masku binārajā skaitļu sistēmā var attēlot šādi: . Tam ir četri okteti, un ieraksts sastāv no "1" un "0". Ja mēs saskaitām vienību skaitu, mēs iegūstam kopā “24”. Par laimi, jums nav jāskaita ar vienu, jo vienā oktetā ir 8 vērtības. Mēs redzam, ka trīs no tiem ir piepildīti ar vieniniekiem, saskaitiet tos un iegūstam “24”.

Ja runājam konkrēti par apakštīkla masku, tad binārajā attēlojumā tai vienā oktetā ir vai nu vieninieki, vai nulles. Šajā gadījumā secība ir tāda, ka vispirms ir baiti ar vieniniekiem un tikai pēc tam ar nullēm.

Apskatīsim nelielu piemēru. Ir IP adrese un apakštīkla maska. Saskaitām un pierakstām: . Tagad mēs saskaņojam masku ar IP adresi. Tie masku okteti, kuros visas vērtības ir vienādas ar vienu (255), atstāj to atbilstošos oktetus IP adresē nemainīgus. Ja vērtība ir nulles (0), tad arī okteti IP adresē kļūst par nullēm. Tādējādi apakštīkla adreses vērtībā mēs iegūstam .

Apakštīkls un saimniekdators

Apakštīkls ir atbildīgs par loģisko atdalīšanu. Būtībā tās ir ierīces, kas izmanto vienu un to pašu lokālo tīklu. Nosaka pēc IP adrešu diapazona.

Resursdators ir tīkla saskarnes adrese ( tīkla karte). Noteikts pēc IP adreses, izmantojot masku. Piemēram: . Tā kā pirmie trīs okteti ir apakštīkls, tiek atstāts . Šis ir saimniekdatora numurs.

Resursdatora adrešu diapazons ir no 0 līdz 255. Resursdators ar numuru “0” faktiski ir paša apakštīkla adrese. Un saimnieka numurs “255” ir raidorganizācija.

Uzrunāšana

Adresēšanai TCP/IP protokolu kaudzē tiek izmantoti trīs veidu adreses:

  1. Vietējais.
  2. Tīkls.
  3. Domēna vārdi.

MAC adreses sauc par vietējām. Tos izmanto adresēšanai vietējā tīkla tehnoloģijās, piemēram, Ethernet. TCP/IP kontekstā vārds "lokāls" nozīmē, ka tie darbojas tikai apakštīklā.

Tīkla adrese TCP/IP protokolu kaudzē ir IP adrese. Nosūtot failu, adresāta adrese tiek nolasīta no tā galvenes. Ar tā palīdzību maršrutētājs uzzina resursdatora numuru un apakštīklu un, pamatojoties uz šo informāciju, izveido maršrutu līdz gala mezglam.

Domēnu nosaukumi ir cilvēkiem lasāmas adreses tīmekļa vietnēm internetā. Tīmekļa serveriem internetā var piekļūt, izmantojot publisku IP adresi. To veiksmīgi apstrādā datori, taču cilvēkiem tas šķiet pārāk neērti. Lai izvairītos no šādām komplikācijām, tiek izmantoti domēna vārdi, kas sastāv no jomām, ko sauc par “domēniem”. Tie ir sakārtoti stingrā hierarhijā no augšējā līmeņa uz leju.

Pirmā līmeņa domēns pārstāv specifiska informācija. Vispārīgos (.org, .net) neierobežo nekādas stingras robežas. Pretēja situācija ir ar vietējiem (.us, .ru). Tie parasti ir lokalizēti.

Zema līmeņa domēni ir viss pārējais. Tas var būt jebkura izmēra un satur jebkuru vērtību skaitu.

Piemēram, "www.test.quiz.sg" ir pareizs domēna nosaukums, kur "sg" ir lokāls pirmā (augšējā) līmeņa domēns, "quiz.sg" ir otrā līmeņa domēns, "test.quiz.sg" ir trešā līmeņa domēns . Domēnu nosaukumus var saukt arī par DNS nosaukumiem.

Izveido korespondenci starp domēna vārdi un publisko IP adresi. Ievadot domēna nosaukumu pārlūkprogrammā, DNS noteiks atbilstošo IP adresi un ziņos par to ierīcei. Ierīce to apstrādās un atgriezīs kā tīmekļa lapu.

Datu saites slānis

Saites slānī tiek noteikta attiecības starp ierīci un fizisko pārraides vidi un pievienota galvene. Atbildīgs par datu kodēšanu un kadru sagatavošanu pārraidei, izmantojot fizisko datu nesēju. Šajā līmenī darbojas tīkla slēdži.

Visizplatītākie protokoli:

  1. Ethernet.
  2. WLAN.

Ethernet ir visizplatītākā vadu LAN tehnoloģija.

WLAN - balstās uz lokālo tīklu bezvadu tehnoloģijas. Ierīces mijiedarbojas bez fiziskiem kabeļu savienojumiem. Visizplatītākās metodes piemērs ir Wi-Fi.

TCP/IP konfigurēšana, lai izmantotu statisku IPv4 adresi

Statiskā IPv4 adrese tiek piešķirta tieši ierīces iestatījumos vai automātiski, kad tiek izveidots savienojums ar tīklu, un tā ir pastāvīga.

Lai konfigurētu TCP/IP protokolu steku pastāvīgas IPv4 adreses izmantošanai, ievadiet konsolē komandu ipconfig/all un atrodiet šādus datus.

TCP/IP konfigurēšana, lai izmantotu dinamisku IPv4 adresi

Dinamiskā IPv4 adrese kādu laiku tiek izmantota, iznomāta un pēc tam mainīta. Tiek automātiski piešķirts ierīcei, kad ir izveidots savienojums ar tīklu.

Lai konfigurētu TCP/IP protokolu steku nepastāvīgas IP adreses izmantošanai, jums jāiet uz vajadzīgā savienojuma rekvizītiem, jāatver IPv4 rekvizīti un jāatzīmē izvēles rūtiņas, kā norādīts.

Datu pārsūtīšanas metodes

Dati tiek pārsūtīti caur fizisko datu nesēju trīs veidos:

  • Vienkāršs.
  • Pusduplekss.
  • Pilns duplekss.

Simplex ir vienvirziena komunikācija. Pārraidīšanu veic tikai viena ierīce, bet otra tikai saņem signālu. Var teikt, ka informācija tiek pārraidīta tikai vienā virzienā.

Simpleksas komunikācijas piemēri:

  • Televīzijas apraide.
  • Signāls no GPS satelītiem.

Pusdupleksa ir divvirzienu komunikācija. Tomēr signālu vienlaikus var pārraidīt tikai viens mezgls. Izmantojot šāda veida saziņu, divas ierīces nevar izmantot vienu un to pašu kanālu vienlaikus. Pilnīga var būt fiziski neiespējama vai izraisīt sadursmes. Ir teikts, ka tie konfliktē par pārraides vidi. Šis režīms tiek izmantots, izmantojot koaksiālo kabeli.

Pusdupleksās komunikācijas piemērs ir saziņa, izmantojot rāciju vienā frekvencē.

Full Duplex - pilna divvirzienu komunikācija. Ierīces var vienlaicīgi pārraidīt signālu un saņemt. Tie nav pretrunā par pārraides vidi. Šis režīms tiek izmantots, ja tiek izmantota Fast Ethernet tehnoloģija un vītā pāra savienojums.

Dupleksās komunikācijas piemērs ir telefona sakari, izmantojot mobilo tīklu.

TCP/IP pret OSI

OSI modelis nosaka datu pārraides principus. TCP/IP protokola kaudzes slāņi tieši atbilst šim modelim. Atšķirībā no četru slāņu TCP/IP, tam ir 7 slāņi:

  1. Fiziskā.
  2. Kanāls (datu saite).
  3. Tīkls.
  4. Transports.
  5. Sesija.
  6. Prezentācija.
  7. Pieteikums.

IN Šis brīdis Nav nepieciešams pārāk dziļi iedziļināties šajā modelī, bet ir nepieciešama vismaz virspusēja izpratne.

Lietojumprogrammas slānis TCP/IP modelī atbilst trim augstākajiem OSI slāņiem. Tie visi darbojas ar lietojumprogrammām, tāpēc jūs varat skaidri redzēt šīs kombinācijas loģiku. Šī TCP/IP protokolu kaudzes vispārīgā struktūra padara abstrakciju vieglāk saprotamu.

Transporta slānis paliek nemainīgs. Veic tās pašas funkcijas.

Tīkla slānis arī nav mainīts. Veic tieši tādus pašus uzdevumus.

Datu saites slānis TCP/IP atbilst pēdējiem diviem OSI slāņiem. Datu saites slānis izveido protokolus datu pārsūtīšanai pa fizisko datu nesēju.

Fiziskā pārstāv sevi fiziskais savienojums- elektriskie signāli, savienotāji utt. TCP/IP protokolu kaudzē tika nolemts šos divus slāņus apvienot vienā, jo tie abi nodarbojas ar fizisko datu nesēju.

Internets - globālā sistēma savstarpēji savienoti datori, lokālie un citi tīkli, kas mijiedarbojas savā starpā, izmantojot TCP/IP protokolu steku (1. att.).

1. attēls – vispārināta interneta diagramma

Internets nodrošina informācijas apmaiņu starp visiem tam pievienotajiem datoriem. Datora veidam un tajā izmantotajai operētājsistēmai nav nozīmes.

Galvenās interneta šūnas ir lokālie tīkli (LAN – Local Area network). Ja vietējais tīkls ir tieši savienots ar internetu, tad arī katra šī tīkla darbstacija var izveidot savienojumu ar to. Ir arī datori, kas ir neatkarīgi savienoti ar internetu. Viņus sauc resursdatori(saimnieks – īpašnieks).

Katram tīklam pieslēgtam datoram ir sava adrese, kurā abonents to var atrast no jebkuras vietas pasaulē.

Būtiska interneta īpašība ir tā, ka, savienojot dažādus tīklus, tas nerada nekādu hierarhiju – visiem tīklam pievienotajiem datoriem ir vienādas tiesības.

Vēl vienu atšķirīga iezīme Internets ir ļoti uzticams. Ja daži datori un sakaru līnijas neizdodas, tīkls turpinās darboties. Šo uzticamību nodrošina fakts, ka internetā nav vienota vadības centra. Ja dažas sakaru līnijas vai datori neizdodas, ziņojumus var pārsūtīt pa citām sakaru līnijām, jo ​​vienmēr ir vairāki informācijas pārsūtīšanas veidi.

Internets nav komerciāla organizācija un nevienam nepieder. Interneta lietotāji ir gandrīz visās pasaules valstīs.

Lietotāji savienojas ar tīklu, izmantojot īpašu organizāciju, ko sauc par interneta pakalpojumu sniedzējiem, datoriem. Interneta savienojums var būt pastāvīgs vai īslaicīgs. Interneta pakalpojumu sniedzējiem ir daudz līniju, lai savienotu lietotājus, un ātrgaitas līnijas, lai izveidotu savienojumu ar pārējo internetu. Bieži vien mazāki piegādātāji tiek savienoti ar lielākiem, kas savukārt ir saistīti ar citiem piegādātājiem.

Organizācijas, kas savienotas viena ar otru ar ātrākajām sakaru līnijām, veido tīkla galveno daļu jeb Backbon Internet mugurkaulu. Ja piegādātājs ir tieši savienots ar grēdu, tad informācijas pārsūtīšanas ātrums būs maksimāls.

Patiesībā atšķirība starp lietotājiem un interneta pakalpojumu sniedzējiem ir diezgan patvaļīga. Jebkura persona, kas ir pievienojusi savu datoru vai vietējo datortīkls internetam un, instalējot nepieciešamās programmas, var nodrošināt tīkla savienojuma pakalpojumus citiem lietotājiem. Viens lietotājs principā var izveidot savienojumu, izmantojot ātrgaitas līniju, tieši ar interneta mugurkaulu.

Kopumā internets apmainās ar informāciju starp jebkuriem diviem tīklam pievienotiem datoriem. Datorus, kas ir savienoti ar internetu, bieži sauc par interneta mezgliem vai vietnēm. , no angļu vārda vietne, kas tulkojumā nozīmē vieta, atrašanās vieta. Pie interneta pakalpojumu sniedzējiem instalētie resursdatori nodrošina lietotājiem piekļuvi internetam. Ir arī mezgli, kas specializējas informācijas sniegšanā. Piemēram, daudzi uzņēmumi izveido vietnes internetā, ar kuras palīdzību tie izplata informāciju par saviem produktiem un pakalpojumiem.

Kā tiek pārsūtīta informācija? Internetā tiek izmantoti divi galvenie jēdzieni: adrese un protokols. Jebkuram datoram, kas ir savienots ar internetu, ir sava unikāla adrese. Tāpat kā pasta adrese unikāli identificē personas atrašanās vietu, interneta adrese unikāli identificē datora atrašanās vietu tīklā. Interneta adreses ir tā vissvarīgākā daļa, un tās tiks sīkāk aplūkotas turpmāk.

Dati, kas tiek sūtīti no viena datora uz otru, izmantojot internetu, tiek sadalīti paketēs. Viņi pārvietojas starp datoriem, kas veido tīkla mezgli. Viena un tā paša ziņojuma paketēm var būt dažādi maršruti. Katrai pakai ir savs marķējums, kas nodrošina pareizu dokumenta salikšanu datorā, kuram adresēts ziņojums.

Kas ir protokols? Kā minēts iepriekš, protokols ir mijiedarbības noteikumi. Piemēram, diplomātiskais protokols nosaka, kā rīkoties, tiekoties ar ārvalstu viesiem vai rīkojot pieņemšanu. Tīkla protokols nosaka arī tīklam pievienoto datoru darbības noteikumus. Standarta protokoli liek dažādiem datoriem "runāt vienā valodā". Tas dod iespēju pieslēgt internetam dažāda veida datorus, kuros darbojas dažādas operētājsistēmas.

Interneta pamata protokoli ir TCP/IP protokolu kaudze. Pirmkārt, tas ir jāprecizē TCP/IP tehniskajā izpratnē - tas nav viens tīkla protokols, bet divi protokoli, kas atrodas dažādos tīkla modeļa līmeņos (tas ir t.s. protokolu kaudze). TCP protokols - protokols transporta līmenis. Viņš kontrolē ko kā notiek datu pārsūtīšana. IP protokols - adrese. Viņš pieder tīkla līmenī un nosaka kur notiek pārsūtīšana.

Protokols TCP. Saskaņā ar TCP protokolu , nosūtītie dati tiek “sagriezti” mazās paketēs, pēc tam katra pakete tiek atzīmēta tā, lai tajā būtu dati, kas nepieciešami pareizai dokumenta salikšanai saņēmēja datorā.

Lai saprastu TCP protokola būtību, var iedomāties šaha spēli neklātienē, kad divi dalībnieki vienlaikus spēlē duci partiju. Katrs gājiens tiek ierakstīts atsevišķā kartē, norādot spēles numuru un gājiena numuru. Šajā gadījumā starp diviem partneriem, izmantojot vienu un to pašu pasta kanālu, ir pat ducis savienojumu (viens katrai pusei). Divi datori, kas savienoti ar vienu fizisko savienojumu, var vienlaikus atbalstīt vairākus TCP savienojumus. Piemēram, divi starpposma tīkla serveri var vienlaikus pārsūtīt viens otram daudzas TCP paketes no daudziem klientiem, izmantojot vienu sakaru līniju abos virzienos.

Kad strādājam internetā, tad viens singls telefona līnija Vienlaicīgi varam pieņemt dokumentus no Amerikas, Austrālijas un Eiropas. Katra dokumenta pakas tiek saņemtas atsevišķi, laikā atdalītas un, saņemot, tiek apkopotas dažādos dokumentos.

Protokols IP . Tagad apskatīsim adreses protokolu - IP (Internet Protocol). Tās būtība ir tāda, ka katrs dalībnieks Globālais tīmeklis jābūt savai unikālajai adresei (IP adresei). Bez tā mēs nevaram runāt par precīzu TCP pakešu piegādi uz vēlamo darba vietu. Šī adrese ir izteikta ļoti vienkārši - četri cipari, piemēram: 195.38.46.11. Vēlāk mēs sīkāk aplūkosim IP adreses struktūru. Tas ir organizēts tā, lai katrs dators, caur kuru iziet jebkura TCP pakete, pēc šiem četriem skaitļiem var noteikt, kuram no tuvākajiem “kaimiņiem” ir jāpārsūta pakete, lai tā būtu “tuvāk” adresātam. Ierobežota pārsūtīšanas skaita rezultātā TCP pakete sasniedz adresātu.

Vārds “tuvāk” tiek likts pēdiņās iemesla dēļ. Šajā gadījumā netiek vērtēts ģeogrāfiskais “tuvums”. Saziņas noteikumi un caurlaidspēja līnijas. Divi datori, kas atrodas dažādos kontinentos, bet ir savienoti ar augstas veiktspējas kosmosa sakaru līniju, tiek uzskatīti par “tuvāk” viens otram nekā divi datori no kaimiņu ciematiem, kas savienoti ar vienkāršu telefona vadu. Tiek risināts jautājums par to, kas uzskatāms par “tuvāku” un kas “tālāk”. īpašiem līdzekļiem - maršrutētāji. Maršrutētāju lomu tīklā parasti veic specializēti datori, taču tie var arī būt īpašas programmas, kas darbojas tīkla mezglu serveros.

TCP/IP protokolu kaudze

TCP/IP protokolu kaudze- tīkla datu pārraides protokolu kopums, ko izmanto tīklos, tostarp internetā. Nosaukums TCP/IP cēlies no diviem svarīgākajiem saimes protokoliem - Transmission Control Protocol (TCP) un Internet Protocol (IP), kas tika izstrādāti un aprakstīti pirmie šajā standartā.

Protokoli darbojas viens ar otru kaudzē. kaudze, kaudze) - tas nozīmē, ka protokols, kas atrodas augstākā līmenī, darbojas “virs” zemākajam, izmantojot iekapsulēšanas mehānismus. Piemēram, TCP protokols darbojas virs IP protokola.

TCP/IP protokolu kaudze ietver četrus slāņus:

  • pielietojuma slānis
  • transporta slānis
  • tīkla slānis (interneta slānis),
  • saites slānis.

Šo līmeņu protokoli tiek pilnībā īstenoti funkcionalitāte OSI modeļi (1. tabula). Visa lietotāja mijiedarbība IP tīklos ir balstīta uz TCP/IP protokolu steku. Stacks ir neatkarīgs no fiziskās datu pārraides vides.

1. tabula– TCP/IP protokola steka un OSI atsauces modeļa salīdzinājums

Uzklāšanas slānis

Lietojumprogrammu slānis ir vieta, kur darbojas lielākā daļa tīkla lietojumprogrammu.

Šīm programmām ir savi sakaru protokoli, piemēram, HTTP WWW, FTP (failu pārsūtīšana), SMTP (e-pasts), SSH ( drošs savienojums ar attālo mašīnu), DNS (simbolisko nosaukumu pārveidošana par IP adresēm) un daudzi citi.

Lielākoties šie protokoli darbojas virs TCP vai UDP un ir piesaistīti noteiktam portam, piemēram:

  • HTTP uz TCP portu 80 vai 8080,
  • no FTP uz TCP portu 20 (datu pārsūtīšanai) un 21 (vadības komandām),
  • DNS vaicājumi UDP (retāk TCP) portā 53,

Transporta slānis

Transporta slāņa protokoli var atrisināt negarantētas ziņojumu piegādes problēmu (“vai ziņojums sasniedza adresātu?”), kā arī garantē pareizu datu saņemšanas secību. TCP/IP stekā transporta protokoli nosaka, kurai lietojumprogrammai dati ir paredzēti.

Automātiskie maršrutēšanas protokoli, kas loģiski attēloti šajā slānī (jo tie darbojas virs IP), faktiski ir daļa no tīkla slāņa protokoliem; piemēram, OSPF (IP ID 89).

TCP (IP ID 6) — "garantēts" transporta mehānisms iepriekš izveidots savienojums, nodrošinot lietojumprogrammai uzticamu datu plūsmu, sniedzot pārliecību, ka saņemtie dati ir bez kļūdām, atkārtoti pieprasot datus nozaudēšanas gadījumā un novēršot datu dublēšanos. TCP ļauj regulēt tīkla slodzi, kā arī samazināt datu latentumu, pārraidot lielos attālumos. Turklāt TCP nodrošina, ka saņemtie dati tika nosūtīti tieši tādā pašā secībā. Šī ir tā galvenā atšķirība no UDP.

UDP (IP ID 17) bezsavienojuma datagrammu pārraides protokols. To sauc arī par “neuzticamu” pārraides protokolu tādā nozīmē, ka nav iespējams pārbaudīt ziņojuma piegādi adresātam, kā arī iespējamo pakešu sajaukšanu. Lietojumprogrammas, kurām nepieciešama garantēta datu pārsūtīšana, izmanto TCP protokolu.

UDP parasti izmanto tādās lietojumprogrammās kā video straumēšana un datorspēles, kur pakešu zudums ir pieņemams un atkārtots mēģinājums ir sarežģīts vai nepamatots, vai izaicinājumu atbildes lietojumprogrammās (piemēram, DNS vaicājumos), kur savienojuma izveide aizņem vairāk resursu nekā atkārtota sūtīšana.

Gan TCP, gan UDP izmanto numuru, ko sauc par portu, lai identificētu savu augšējā slāņa protokolu.

Tīkla slānis

Interneta slānis sākotnēji bija paredzēts datu pārsūtīšanai no viena (apakš)tīkla uz citu. Attīstoties globālā tīkla koncepcijai, slānim tika pievienotas papildu iespējas pārraidei no jebkura tīkla uz jebkuru tīklu neatkarīgi no zemāka līmeņa protokoliem, kā arī iespēja pieprasīt datus no attālās puses, piemēram, ICMP protokols (izmanto IP savienojuma diagnostikas informācijas pārsūtīšanai) un IGMP (izmanto multiraides straumju pārvaldībai).

ICMP un IGMP atrodas virs IP, un tiem vajadzētu pāriet uz nākamo transporta slāni, taču funkcionāli tie ir tīkla slāņa protokoli un tāpēc nevar tikt iekļauti OSI modelī.

IP tīkla protokola paketēs var būt kods, kas norāda, kurš nākamā slāņa protokols jāizmanto, lai iegūtu datus no paketes. Šis numurs ir unikāls IP protokola numurs. ICMP un IGMP ir attiecīgi numurēti ar 1 un 2.

Datu saites slānis

Saites slānis apraksta, kā datu paketes tiek pārsūtītas fiziskais slānis, ieskaitot kodēšana(tas ir, īpašas bitu sekvences, kas nosaka datu paketes sākumu un beigas). Piemēram, Ethernet pakešu galvenes laukos ir norāde par to, kurai tīkla iekārtai vai mašīnām pakete ir paredzēta.

Saites slāņa protokolu piemēri ir Ethernet, Wi-Fi, Frame Relay, Token Ring, ATM utt.

Datu saites slānis dažreiz tiek sadalīts 2 apakšslāņos - LLC un MAC.

Turklāt datu pārraides slānis apraksta datu pārraides vidi (vai tas būtu koaksiālais kabelis, vītā pāra, optiskā šķiedra vai radio kanāls), šāda nesēja fizikālās īpašības un datu pārraides principu (kanālu atdalīšana, modulācija, signāla amplitūda, signāla frekvence, pārraides sinhronizācijas metode, latentuma reakcija un maksimālais attālums).

Iekapsulēšana

Iekapsulēšana ir augsta līmeņa pakešu (iespējams, dažādu protokolu) iesaiņošana vai ligzdošana viena un tā paša protokola (zemākā līmeņa) paketēs, ieskaitot adresi.

Piemēram, ja lietojumprogrammai ir jānosūta ziņojums, izmantojot TCP, tiek veikta šāda darbību secība (2. att.):

2. attēls. Iekapsulēšanas process

  • vispirms aplikācija aizpilda īpašu datu struktūru, kurā norāda informāciju par adresātu (tīkla protokols, IP adrese, TCP ports);
  • nosūta ziņojumu, tā garumu un struktūru ar informāciju par adresātu TCP protokola apstrādātājam (transporta slānim);
  • TCP apstrādātājs ģenerē segmentu, kurā ziņojums ir dati, un galvenes satur adresāta TCP portu (kā arī citus datus);
  • TCP apdarinātājs nodod ģenerēto segmentu IP apdarinātājam (tīkla slānim);
  • IP apstrādātājs apstrādā TCP pārsūtīto segmentu kā datus un pirms tā ievieto tā galveni (kurā jo īpaši ir adresāta IP adrese, kas iegūta no tās pašas lietojumprogrammas datu struktūras, un augšējais protokola numurs;
  • IP apstrādātājs pārsūta saņemto paketi uz datu posma slāni, kas atkal uzskata šo paketi par “neapstrādātiem” datiem;
  • saites līmeņa apdarinātājs, līdzīgi kā iepriekšējie apdarinātāji, sākumā pievieno savu galveni (kas norāda arī augstākā līmeņa protokola numuru, mūsu gadījumā tas ir 0x0800(IP)) un vairumā gadījumu pievieno galīgo kontrolsummu, tādējādi rāmja veidošana;
  • Pēc tam saņemtais kadrs tiek pārsūtīts uz fizisko slāni, kas bitus pārvērš elektriskos vai optiskos signālos un nosūta tos pārraides vidē.

Saņēmēja pusē tiek veikts apgrieztais process (no apakšas uz augšu), ko sauc par dekapsulāciju, lai izsaiņotu datus un iesniegtu tos lietojumprogrammai.

Saistītā informācija:



2015-2020 lektsii.org -

Ar palīdzību Sesijas slānis pušu starpā tiek organizēts dialogs, tiek fiksēts, kura no pusēm ir iniciatore, kura no pusēm ir aktīva un kā dialogs tiek pabeigts.

Prezentācijas slānis nodarbojas ar informācijas sniegšanas veidu zemākiem līmeņiem, piemēram, informācijas pārkodēšanu vai šifrēšanu.

Lietojumprogrammas slānis Šis ir protokolu kopums, ar kuriem notiek apmaiņa starp attāliem mezgliem, kas īsteno vienu un to pašu uzdevumu (programmu).

Jāatzīmē, ka daži tīkli parādījās daudz agrāk, nekā tika izstrādāts OSI modelis, tāpēc daudzām sistēmām atbilstība starp OSI modeļa slāņiem ir ļoti nosacīta.

1.3. Interneta protokolu kaudze

Internets ir paredzēts, lai pārsūtītu jebkāda veida informāciju no avota uz saņēmēju. Informācijas transportēšanā ir iesaistīti dažādi tīkla elementi (1.1. att.) - gala ierīces, komutācijas ierīces un serveri. Mezglu grupas tiek apvienotas lokālā tīklā, izmantojot komutācijas ierīces, lokālos tīklus savstarpēji savieno vārtejas (maršrutētāji). Komutācijas ierīcēs tiek izmantotas dažādas tehnoloģijas: Ethernet, Token Ring, FDDI un citas.

Katra gala ierīce (host) var vienlaikus apkalpot vairākus informācijas apstrādes procesus (runas, datu, teksta...), kas pastāv tīkla lietojumprogrammu (specializēto programmu) veidā, kas atrodas visaugstākajā līmenī; No lietojumprogrammas informācija pāriet uz informācijas apstrādes iekārtām zemākos līmeņos.

Lietojumprogrammas transportēšanu katrā mezglā secīgi nosaka dažādi slāņi. Katrs līmenis izmanto savus protokolus, lai atrisinātu savu problēmas daļu un nodrošina informācijas duplekso pārraidi. Nokārtoto uzdevumu secība veido protokolu steku. Informācijas pārsūtīšanas procesā katrs mezgls izmanto tam nepieciešamo protokolu steku. Attēlā 1.3 parāda pilnu pamatprotokolu kaudzi tīkla savienojums internetā.

No tīkla viedokļa mezgli pārstāv informācijas avotus un uztvērējus. Četri zemākie līmeņi kolektīvi ir neatkarīgi no pārraidītās informācijas veida. Katra tīkla lietojumprogramma, kas sazinās ar 4. slāni, tiek identificēta pēc tās unikālā porta numura. Portu vērtības aizņem diapazonu no 0 līdz 65535. Šajā diapazonā portu numuri 0-1023 tiek piešķirti labi zināmām tīkla lietojumprogrammām, portu numurus 1024-49151 izmanto specializētas programmatūras izstrādātāji, portu numurus 49152-65535 izmanto dinamiski. piešķirts tīkla lietojumprogrammu lietotājiem sakaru sesijas laikā. Steka portu numuru skaitliskās vērtības ir norādītas.

Transporta (ceturtais) slānis atbalsta divus sakaru režīmus

– ar pieslēguma izveidi un bez pieslēguma izveides. Katrs režīms tiek identificēts pēc tā protokola numura (Protocol). Interneta standarti izmanto heksadecimālo kodējumu. Pirmo režīmu izmanto TCP modulis, kura protokola kods ir 6 (heksadecimālā kodā - 0x06) un tiek izmantots garantētai informācijas transportēšanai. Lai to izdarītu, katrai pārraidītajai paketei tiek piešķirts kārtas numurs, un tā ir jāapstiprina

______________________________________________________________________________

saņēmēja puse par tās pareizu uzņemšanu. Otro režīmu izmanto UDP modulis, negarantējot informācijas piegādi adresātam (piegādes garantiju nodrošina aplikācija). UDP protokolam ir kods 17 (heksadecimālajā kodā tas ir 0x11).

Pielietots

Pārstāvis

Sesija

DHCP (ports = 67/68)

Transports

Protokols = 0x0059

Protokols = 0x0002

Protokols = 0x0001

Protokola veids = 0x0806

Protokola veids = 0x0800

Kanāls

Kanāls

Kanāls

Fiziskā

Kanāls

Kabelis, Ethernet vītā pāra, optiskās šķiedras

Fiziskais kabelis, vītā pāra, optiskā šķiedra

Fiziskā

Kabelis, vītā pāra, optiskās šķiedras

Fiziskā

Kabelis, radio, optiskā šķiedra

Rīsi. 1.3. Pamata interneta protokolu kaudze

______________________________________________________________________________

Tīkla (trešais) slānis nodrošina informācijas kustību pakešu veidā starp tīkliem (saites slāņa saskarnes), izmantojot tīkla adresi. 3. slāņa protokolu saimi identificē ar pamatā esošajiem slāņiem pēc protokola veida (ARP — tips 0x0806 vai IP — tips 0x0800). Kombināciju "protokols - tīkla adrese - porta numurs" sauc par ligzdu. Pāris ligzdas - raidīšanas un saņemšanas - unikāli nosaka izveidoto savienojumu. Katras paketes, kas nonāk IP modulī no saites slāņa, galamērķa adrese tiek analizēta, lai saprastu, kur pakete ir jāpārsūta tālāk: uz savu lietojumprogrammu vai jāpārvieto uz citu interfeisu tālākai transportēšanai tīklā.

Otrais (saites) līmenis apstrādā paketes lokālajā tīklā, izmantojot dažādas tehnoloģijas: Ethernet, Token Ring, FDDI un citas. Pirmais līmenis nodrošina bināro kodu pārvēršanu lineāros kodos, kas ir vispiemērotākie izmantotajam transporta līdzeklim (metāla kabelis, optiskās šķiedras sakaru līnija, radio kanāls).

JAUTĀJUMI 1.3. SADAĻAI

1. Kas nosaka tīkla slāņa iespējas no datu posma slāņa saņemto pakešu apstrādei?

Atbilde. Protokola tips: 0x0806 – ARP un 0x0800 – IP.

2. Kas nosaka transporta slāņa pakešu apstrādes līdzekļus, kas nāk no tīkla slāņa?

Atbilde. Protokola numurs: 0x0006 – TCP un 0x0011 – UDP.

3. Kas nosaka tīkla lietojumprogrammas veidu datagrammu apstrādei?

Atbilde. Porta numurs.

4. Sniedziet portu numuru piemērus tīkla mēroga lietojumprogrammām.

Atbilde: Ports 80 – HTTP, ports 23 – TELNET, ports 53 – DNS.

1.4. Interneta piekļuves protokoli

Lai piekļūtu internetam, tiek izmantota protokolu saime ar vispārēju nosaukumu PPP (Point-to-Point Protocol), kas ietver:

1. Link Control Protocol (LCP) pakešu apmaiņas parametru koordinēšanai saites slānī resursdatora tīkla piekļuves servera sadaļā (jo īpaši, lai koordinētu pakešu lielumu un autentifikācijas protokola veidu).

2. Autentifikācijas protokols, lai noteiktu lietotāja leģitimitāti (konkrēti, izmantojot Challenge Handshake Authentication Protocol — CHAP).

3. Tīkla vadības protokols (IP Control Protocol — IPCP) tīkla apmaiņas parametru konfigurēšanai (jo īpaši piešķiršanai IP adreses).

Pēc tam sākas informācijas apmaiņa, izmantojot IP protokolu.

Katrs no šiem protokoliem var izmantot jebkuru transporta līdzekli, tāpēc ir daudz veidu, kā iekapsulēt PPP fiziskajā slānī. Lai iekapsulētu PPP saitēs no punkta uz punktu, procedūra ir līdzīga

HDLC.

Kadru apmaiņa, izmantojot HDLC (High-level Data Link Control Procedure) līdzīgu procedūru, ietver duplekso kadru apmaiņu. Katrs pārraidītais kadrs ir jāapstiprina; ja taimauta laikā apstiprinājuma nav, raidītājs atkārto pārraidi. Rāmja struktūra ir parādīta attēlā. 1.4. Kadru lauku pārraides secība ir no kreisās puses uz labo. Rāmja lauku mērķis ir šāds.

Yu.F.Kozhanov, Kolbanev M.O INTERFESES UN NĀKAMĀS PAAUDZES TĪKLU PROTOKOLI

______________________________________________________________________________

Rīsi. 1.4. HDLC rāmja lauka struktūra

Katram pārraidītajam kadram jāsākas un jābeidzas ar kombināciju “Flag”, kuras bitu struktūra ir 01111110 (0x7e) formā. To pašu Karoga kombināciju var izmantot kā aizverošo vienu kadru un kā atvēršanas vienu nākamajam kadram. Lai noteiktu kadru robežas, saņēmējai pusei ir jāatklāj "karoga" kombinācijas. Lai nodrošinātu no koda neatkarīgu informācijas pārsūtīšanu, no nākamajiem kadra laukiem ir jāizslēdz visas kombinācijas, kas sakrīt ar pakalpojuma rakstzīmēm (piemēram, kombinācija “Karogs”).

IN Asinhronajā režīmā visi rāmja lauki tiek veidoti pa baitam, pirms katra baita ir “sākuma” bits un beidzas ar “stop” bitu.

IN tiek izmantots arī sinhronais režīms baitu ievietošana vai bitu ievietošana. Pirmajā gadījumā baitu secības 0x7e (“Karogs”) rāmja laukos tiek aizstātas ar 2 baitu sekvencēm 0x7d un 0x5e, 0x7d ar 0x7d un 0x5d, 0x03 ar 0x7d un 0x23. Otrajā gadījumā, kad ir izveidoti visi kadra lauki, starp kombinācijām “Flag” tiek veikta katra kadra satura skenēšana pa bitiem un pēc katriem pieciem blakus esošajiem “viens” tiek ievietots bits “nulle”. ” biti. Atšifrējot kadru uztveršanas laikā, starp "Flag" kombinācijām tiek veikta kadra satura skenēšana bitu pa bitam, un "nulles" bits tiek noņemts pēc katriem pieciem blakus esošajiem "viena" bitiem.

Laukam Adrese ir nemainīga vērtība 11111111 (0xff), un laukam Control ir nemainīga vērtība 00000011 (0x03).

Protokola lauks izmanto vērtību 0xc021 LCP protokolam, 0xc223 CHAP protokolam, 0x8021 IPCP un 0x0021 IP protokolam.

Informācijas lauka aizpildīšana ir atkarīga no protokola veida, taču tā garums nedrīkst būt mazāks par 4 baitiem.

Frame Check Sequence (FCS) uz pārraides tiek veidota tā, lai a) reizinot informāciju starp karodziņiem ar X16 un b) sekojošo dalīšanas moduli 2 ar ģenerējošo polinomu X16 + X12 + X5 + 1, rezultāts būtu vienāds ar konstants skaitlis 0xf0b8.

Procedūra PSTN abonenta piekļuvei internetam sastāv no vairākiem posmiem. Pirmajā posmā tiek izmantots LCP protokols (Protocol = 0xc021), kas

izmanto šādu formātu (1.5. att.).

Rīsi. 1.5. LCP rāmja formāts

Protokola lauks iegūst vērtību 0xc021. Katru ziņojumu raksturo savs kods (Code), kārtas numurs (ID) un garums (Length). Ziņojuma garums ietver visus laukus no koda līdz FCS. Viens ziņojums var saturēt vairākus parametrus, no kuriem katru raksturo parametra veids (Tips),

garums (Length) un dati (Datums).

(Configure-Nak), 04 – konfigurācijas atteikums (Configure-Reject), 05 – atvienošanas pieprasījums (Terminate-Request), 06 – atvienošanas apstiprinājums (Terminate-Ack).

Pilna diagramma par mijiedarbību starp termināļa ierīci (Host), tīkla piekļuves serveri (NAS) un autentifikācijas, autorizācijas un uzskaites serveri (AAA), organizējot PSTN abonenta piekļuvi internetam, ir parādīta attēlā. 1.6.

______________________________________________________________________________

No 1.6 attēla ir skaidrs, ka sākotnēji resursdators caur LCP protokolu (Protocol = 0xc021) pieprasīja savienojumu ar parametriem MTU=300, PFC=7, bet to saskaņošanas rezultātā ar NAS piekļuves serveri (Kods=02) , parametri MTU=200 (MTU - maksimālais izmērs pakete baitos), autentifikācijas protokols – CHAP (Auth.prot=c223). Saspiesto galveņu (PFC=7) apmaiņa ar NAS piekļuves serveri tika noraidīta (kods=04).

Tips = 3, IP adrese = a.b.c.d, maska,

Protokols = 0xc021, kods = 04,

Protokols = 0xc021, kods = 01,

Tips = 1, MTU = 300

Protokols = 0xc021, kods = 03,

Tips = 1, MTU = 200

Protokols = 0xc021, kods = 01,

Tips = 1, MTU = 200

Protokols = 0xc021, kods = 02,

Tips = 1, MTU = 200

Protokols = 0xc021, kods = 01,

Protokols = 0xc021, kods = 02,

Tips = 3, Auth.prot = 0xc223, Algoritms = 5

Protokols = 0xc223, kods = 01,

Protokols = 0xc223, kods = 02,

Prot=UDP, kods=01,

Nosaukums = ABC, Vērtība = W

Auth = 0, Attr = vārds, Chall = V

Prot=UDP, kods=02,

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

Prot=UDP, kods=05, dati

Protokols = 0x0021, ...

Protokols =0x0021, ...

Protokols = 0xc021, kods = 05,

1994, DS]. Autentifikācijas procedūras būtība ir tāda, ka NAS nosūta resursdatoram nejaušu skaitli V, un resursdators atgriež citu skaitli W, kas aprēķināts ar iepriekš zināmu funkciju, izmantojot vārdu un paroli, ko lietotājs ievada datorā no Interneta karte iegādāta no pakalpojumu sniedzēja. Citiem vārdiem sakot, W=f(V, vārds, parole). Tiek pieņemts, ka uzbrucējs (hakeris) spēj pārtvert tīklā nosūtītās vērtības V, Name un W, un viņš zina funkcijas f aprēķināšanas algoritmu. W veidošanās būtība ir tāda, ka sākotnējie elementi (biti) nejaušs skaitlis V dažādos veidos tiek “sajaukts” ar paroles elementiem, kas uzbrucējam nav zināmi. Pēc tam iegūtais šifrētais teksts tiek saspiests, piemēram, pievienojot baitus modulo two. Šo transformāciju sauc par īssavilkuma funkciju vai jaucējfunkciju, un rezultāts ir īssavilkums. Precīzu īssavilkuma ģenerēšanas procedūru nosaka MD5 algoritms, un tā ir aprakstīta. NAS, izmantojot RADIUS protokolu, pieprasa patieso W vērtību no AAA servera, nosūtot tam vērtības Name un Challenge=V. AAA serveris, pamatojoties uz vērtībām V un Name, kas saņemta no NAS, un paroli Parole, kas tam ir datu bāzē, izmanto to pašu algoritmu, lai aprēķinātu W un nosūtītu to uz NAS. NAS salīdzina divas W vērtības, kas saņemtas no resursdatora un no AAA servera: ja tās sakrīt, resursdatoram tiek nosūtīts ziņojums par veiksmīgu autentifikāciju - Veiksme (Kods = 03).

Trešajā posmā notiek konfigurācija tīkla parametri izmantojot IPCP protokolu (pazīstams arī kā PPP IPC, Protocol=0x8021). Resursdators pieprasa tīkla IP adreses no NAS, un NAS piešķir resursdatoram IP adresi no kopas (diapazona) (IP-address=a.b.c.d) un

ziņo arī par DNS servera IP adresi (IP-address=e.f.g.h). NAS, izmantojot RADIUS protokolu

nosūta paziņojumu (Kods=04) AAA serverim par uzlādes sākumu un saņem apstiprinājumu (Kods=05).

Ceturtajā posmā lietotājs sāk saziņas sesiju ar internetu, izmantojot IP protokolu (protokols = 0x0021).

Pēc sesijas pabeigšanas (5. solis) lietotājs nosūta NAS savienojuma kļūmes ziņojumu, izmantojot LCP protokolu (Kods=05), NAS apstiprina šo ziņojumu (Kods=06), nosūta paziņojumu par uzlādes beigām uz AAA serveri un saņem no tā apstiprinājumu. Visas ierīces tiek atgrieztas sākotnējā stāvoklī.

JAUTĀJUMI 1.4. SADAĻAI

1. Nosauciet PPP protokolu saimes sastāvu un mērķi.

Atbilde. LCP – lai vienotos par pakešu apmaiņas parametriem, CHAP – lai noteiktu lietotāja leģitimitāti, IPCP – lai piešķirtu IP adresi.

2. Vai PPP nodrošina kļūdu noteikšanu un sakārtotu pakešu piegādi?

Atbilde. Kļūdu noteikšana - jā, sakārtota piegāde - nē, to nodrošina TCP protokols.

3. Kur tiek glabāti lietotāja autentifikācijas dati?

Atbilde. Interneta kartē un AAA serverī.

4. Vai ir iespējams noteikt lietotāja IP adresi pirms savienojuma izveides ar NAS serveri?

Atbilde: Nē. Pēc veiksmīgas autentifikācijas NAS izsniedz bezmaksas IP adresi no piešķirtā adrešu diapazona.

5. Kādas metodes tiek izmantotas, lai uzskaitītu interneta savienojumu izmaksas? Atbilde: Parasti ir abonēšanas maksa vai maksa par saņemto apjomu

No ligzdām līdz ierīču draiveriem

Ievads protokolos

Lai gan oficiālais ievads par tīklu attiecas uz atvērto sistēmu starpsavienojuma (OSI) modeli, šajā ievadā par galveno Linux tīkla steku tiek izmantots četrslāņu modelis, kas pazīstams kā interneta modelis (sk. 1. attēlu).

1. attēls. Tīkla steka interneta modelis

Kopas apakšā ir datu saites slānis. Datu saites slānis attiecas uz ierīču draiveriem, kas nodrošina piekļuvi fiziskajam slānim, kas var sastāvēt no vairākiem datu nesējiem, piemēram, seriālām saitēm vai Ethernet ierīcēm. Virs kanāla ir tīkla slānis, kas ir atbildīgs par pakešu novirzīšanu uz galamērķi. Nākamais līmenis sauc transports atbildīgs par vienādranga sakariem (piemēram, resursdatorā). Tīkla slānis pārvalda saziņu starp resursdatoriem, un transporta slānis pārvalda sakarus starp galapunktiem šajos resursdatoros. Beidzot ir pielietojuma slānis, kas parasti ir semantiska un saprot pārvietotos datus. Piemēram, hiperteksta pārsūtīšanas protokols (HTTP) pārvieto tīmekļa satura pieprasījumus un atbildes starp serveri un klientu.

Būtībā tīkla kaudzes slāņi atrodas ar atpazīstamākiem nosaukumiem. Datu pārraides slānī atradīsit Ethernet, visizplatītāko ātrdarbīgu datu nesēju. Vecāki saišu slāņa protokoli ietver seriālos protokolus, piemēram, seriālās līnijas interneta protokolu (SLIP), saspiesto SLIP (CSLIP) un punktu-punktu protokolu (PPP). Visizplatītākais tīkla slāņa protokols ir interneta protokols (IP), taču ir arī citi, kas kalpo citām vajadzībām, piemēram, interneta vadības ziņojumu protokols (ICMP) un adreses izšķirtspējas protokols (ARP). Transporta slānī tie ir pārraides kontroles protokols (TCP) un lietotāja datugrammu protokols (UDP). Visbeidzot, lietojumprogrammas slānis ietver daudzus mums zināmos protokolus, tostarp HTTP, standarta tīmekļa protokolu un SMTP (Vienkāršais pasta pārsūtīšanas protokols), e-pasta pārsūtīšanas protokolu.

Pamattīkla arhitektūra

Tagad pāriesim pie Linux tīkla steka arhitektūras un redzēsim, kā tā ievieš interneta modeli. 2. attēlā parādīts Linux tīkla steka augsta līmeņa skats. Augšpusē ir lietotāja telpas līmenis vai pielietojuma slānis, kas nosaka tīkla steka lietotājus. Zemāk ir fiziskās ierīces, kas nodrošina iespēju izveidot savienojumu ar tīkliem (seriāliem vai ātrdarbīgiem tīkliem, piemēram, Ethernet). Centrā vai iekšā kodola telpa, ir tīkla apakšsistēma, kas ir šī raksta uzmanības centrā. Tīkla steka aizmugure darbojas ligzdas buferi (sk_buffs), kas pārvieto pakešu datus starp avotiem un galamērķiem. Īsumā tiks parādīta sk_buff struktūra.

2. attēls. Linux tīkla steka augsta līmeņa arhitektūra

Pirmkārt, jums tiks sniegts ātrs pārskats par Linux tīkla apakšsistēmas pamatelementiem, un turpmākajās sadaļās tiks sniegta sīkāka informācija. Augšpusē (sk. 2. attēlu) ir sistēma, ko sauc par sistēmas izsaukuma saskarni. Tas vienkārši nodrošina veidu, kā lietotāja telpas lietojumprogrammām piekļūt kodola tīkla apakšsistēmai. Tālāk seko protokola agnostiskais slānis, kas nodrošina vispārīgu veidu, kā strādāt ar zemāka transporta slāņa protokoliem. Tālāk nāk faktiskie protokoli, kas operētājsistēmā Linux ietver iebūvētos protokolus TCP, UDP un, protams, IP. Nākamais ir vēl viens neatkarīgs slānis, kas nodrošina kopēju saskarni ar atsevišķiem pieejamajiem ierīču draiveriem un no tiem, kam beigās seko paši draiveri.

Sistēmas izsaukuma interfeiss

Sistēmas izsaukuma saskarni var aprakstīt no diviem aspektiem. Kad lietotājs veic tīkla zvanu, tas tiek multipleksēts, izmantojot sistēmas izsaukumu uz kodolu. Tas beidzas kā izsaukums uz sys_socketcall failā ./net/socket.c, kas pēc tam demultipleksē zvanu uz paredzēto mērķi. Vēl viena sistēmas izsaukuma saskarnes perspektīva ir izmantot parastās failu darbības tīkla ievadei/izvadei (I/O). Piemēram, parastās lasīšanas un rakstīšanas darbības var veikt tīkla ligzdā (kuru kā parastu failu attēlo faila deskriptors). Tātad, lai gan ir darbības, kas raksturīgas tīkla izveidei (ligzdas izveide ar izsaukumu uz ligzdu, saistīšana ar rokturi ar aicinājumu izveidot savienojumu utt.), ir arī vairākas standarta failu darbības, kas attiecas uz tīkla objektiem it kā tie bija parastie faili. Visbeidzot, sistēmas izsaukuma saskarne nodrošina iespēju pārsūtīt kontroli starp lietotāja telpas lietojumprogrammu un kodolu.

Protokola agnostiskais interfeiss

Socket slānis ir protokola agnostisks interfeiss, kas nodrošina standarta funkciju kopumu, lai atbalstītu vairākus dažādus protokolus. Šis slānis atbalsta ne tikai parastos TCP un UDP protokolus, bet arī IP, neapstrādātus Ethernet un citus transporta protokolus, piemēram, straumes vadības pārraides protokolu (SCTP).

Saziņa caur tīkla steku notiek caur kontaktligzdu. Linux ligzdas struktūra ir struct sock, kas definēta failā linux/include/net/sock.h. Šajā lielajā struktūrā ir viss nepieciešamais stāvoklis atsevišķai ligzdai, ieskaitot konkrēto protokolu, ko ligzda izmanto, un darbības, kuras ar to var veikt.

Tīkla apakšsistēma zina par pieejamajiem protokoliem no īpašas struktūras, kas nosaka tās iespējas. Katrs protokols satur struktūru, ko sauc par proto (atrodams linux/include/net/sock.h). Šī struktūra nosaka atsevišķas ligzdas darbības, kuras var veikt no ligzdas slāņa līdz transporta slānim (piemēram, kā izveidot kontaktligzdu, kā izveidot savienojumu ar ligzdu, kā aizvērt ligzdu utt.).

Tīkla protokoli

Tīkla protokolu sadaļa nosaka atsevišķus pieejamos tīkla protokolus (piemēram, TCP, UDP un tā tālāk). Tie tiek inicializēti dienas sākumā inet_init funkcijā Linux/net/ipv4/af_inet.c (jo TCP un UDP ir inet protokolu saimē). Funkcija inet_init reģistrē katru no iebūvētajiem protokoliem, kas izmanto funkciju proto_register. Šī funkcija ir definēta linux/net/core/sock.c, un papildus protokola pievienošanai derīgo sarakstam tā var piešķirt vienu vai vairākas plātņu kešatmiņas, ja nepieciešams.

Varat redzēt, kā atsevišķi protokoli identificē sevi, izmantojot protokola struktūru failos tcp_ipv4.c, udp.c un raw.c failā linux/net/ipv4/. Katra no šīm protokolu struktūrām ir kartēta kā tips un protokols uz inetsw_array, kas piešķir to darbībām iebūvētos protokolus. Inetsw_array struktūra un tā savienojumi ir parādīti 3. attēlā. Katrs no šī masīva protokoliem tiek inicializēts dienas sākumā inetsw, izsaucot inet_register_protosw no inet_init . Funkcija inet_init arī inicializē dažādus inet moduļus, piemēram, ARP, ICMP, IP moduļus un TCP un UDP moduļus.

3. attēls. Interneta protokola masīva struktūra

Kontaktligzdas un protokola korelācija

Atcerieties, ka, izveidojot ligzdu, tā nosaka veidu un protokolu, piemēram, my_sock = socket(AF_INET, SOCK_STREAM, 0) . AF_INET norāda interneta adrešu saimi ar straumes ligzdu, kas definēta kā SOCK_STREAM (kā parādīts šeit inetsw_array).

Datu pārvietošana ligzdām notiek, izmantojot pamata struktūru, ko sauc par ligzdas buferi (sk_buff). Sk_buff satur pakešu datus un stāvokļa datus, kas aptver vairākus protokolu kaudzes slāņus. Katra nosūtītā vai saņemtā pakete tiek attēlota sk_buff. Sk_buff struktūra ir definēta failā linux/include/linux/skbuff.h un parādīta 4. attēlā.

4. attēls. Kontaktligzdu buferis un tā savienojumi ar citām konstrukcijām

Kā redzat, vairākas sk_buff struktūras priekš no šī savienojuma var savienot kopā. Katrs no tiem identificē tās ierīces struktūru (net_device), kurai tiek nosūtīta vai saņemta pakete. Tā kā katra pakete ir attēlota sk_buff , pakešu galvenes ir ērti definētas ar rādītāju kopu ( th , iph un mac Media Access Control (MAC) galvenei. Tā kā sk_buff struktūras ir galvenās ligzdas datu organizēšanā, atbalsta funkcijas: ir funkcijas sk_buff rindas izveidei, iznīcināšanai, klonēšanai un pārvaldībai.

Socket buferi ir paredzēti, lai sazinātos savā starpā konkrētai ligzdai un ietver lielu informācijas daudzumu, tostarp atsauces uz protokola galvenēm, laikspiedoliem (kad pakete tika nosūtīta vai saņemta) un atbilstošo ierīci.

Ierīces agnostiskais interfeiss

Zem protokola slāņa ir vēl viens neatkarīgs interfeisa slānis, kas saista protokolus ar dažādiem fizisko ierīču draiveriem ar dažādām iespējām. Šis slānis nodrošina standarta funkciju kopu, ko izmanto zema līmeņa tīkla ierīces, lai varētu mijiedarboties ar augsta līmeņa protokolu steku.

Pirmkārt, ierīču draiveri var reģistrēties kodolā un atcelt reģistrāciju, izsaucot register_netdevice vai unregister_netdevice . Izsaucošā komanda vispirms aizpilda net_device struktūru un pēc tam nodod to reģistrācijai. Kodols izsauc savu init funkciju (ja tā ir definēta), veic dažas veselības pārbaudes, izveido sysf ierakstu un pēc tam pievieno jaunu ierīci ierīču sarakstam ( saistītais saraksts kodolā aktīvās ierīces). Net_device struktūru var atrast linux/include/linux/netdevice.h. Dažas funkcijas ir pieejamas mapē linux/net/core/dev.c.

Funkciju dev_queue_xmit izmanto, lai nosūtītu sk_buff no protokola slāņa uz ierīci. Tas ierindo sk_buff, lai to varētu pārsūtīt ar atbilstošo ierīces draiveri (ierīce, kas definēta ar net_device vai sk_buff->dev rādītājs sk_buff). Izstrādātāju struktūrā ir ietverta metode hard_start_xmit, kas saglabā draivera funkciju sk_buff pārsūtīšanas inicializācijai.

Pakešu saņemšana notiek tradicionāli, izmantojot netif_rx . Kad zemāka līmeņa ierīces draiveris saņem paketi (kas atrodas piešķirtajā sk_buff), sk_buff pāriet uz tīkla slāni, izmantojot izsaukumu uz netif_rx. Pēc tam šī funkcija ievieto sk_buff rindā uz augstāku protokola līmeni turpmākai apstrādei, izmantojot netif_rx_schedule. Funkcijas dev_queue_xmit un netif_rx atrodas mapē linux/net/core/dev.c.

Visbeidzot, kodolā tika ieviests jauns lietojumprogrammu interfeiss (NAPI), lai saskartos ar ierīces neatkarīgo (dev) slāni. Daži draiveri to izmanto, taču lielākā daļa joprojām izmanto vecāku kadru iegūšanas saskarni (aptuveni seši no septiņiem). NAPI var dot labāku sniegumu pie lielas slodzes, vienlaikus izvairoties no pārtraukumiem katrā ienākošajā kadrā.

Ierīču draiveri

Tīkla skursteņa apakšā ir ierīču draiveri, kas kontrolē fiziskās tīkla ierīces. Šī līmeņa ierīču piemēri ietver SLIP draiveri seriālais interfeiss vai Ethernet draiveri, izmantojot Ethernet ierīci.

Inicializācijas laikā ierīces draiveris piešķir vietu net_device struktūrai un pēc tam inicializē to ar nepieciešamajām rutīnām. Viens no tiem, ko sauc par dev->hard_start_xmit, norāda, kā augšējam slānim ir jāievieto sk_buff pārraidei. Tas ir nodots sk_buff. Šīs funkcijas darbība ir atkarīga no aparatūras, taču parasti sk_buff aprakstītā pakete tiek pārvietota uz tā saukto "aparatūras gredzenu" vai "rindu". Kadra ierašanās, kā aprakstīts no ierīces neatkarīgajā slānī, izmanto netif_rx vai netif_receive_skb saskarni ar NAPI saderīgu tīkla draiveri. NAPI draiveris ierobežo pamatā esošās aparatūras iespējas. Sīkāku informāciju skatiet sadaļā.

Kad ierīces draiveris ir konfigurējis savas saskarnes izstrādātāju struktūrā, izsaukums uz register_netdevice padara to pieejamu lietošanai. Programmā Linux/drivers/net varat atrast specifiskus draiverus tīkla ierīces.

Uz priekšu

Linux pirmkods ir lielisks veids, kā uzzināt vairāku veidu ierīču draiveru dizainu, tostarp tīkla ierīču draiverus. Jūs atradīsiet atšķirības pieejamo kodola API dizainā un lietošanā, taču katra no tām būs noderīga vai nu kā instrukcijas, vai kā sākumpunkts jaunam draiverim. Pārējais tīkla stekā esošais kods ir standarta un tiek izmantots, līdz tiek pieprasīts jauns protokols. Bet pat tad TCP (straumēšanas protokolam) vai UDP (ziņojuma nosūtīšanas protokolam) ieviešana kalpo kā noderīgi modeļi jaunas izstrādes uzsākšanai.

Šajā rakstā tiks apskatīti TCP/IP modeļa pamati. Labākai izpratnei ir aprakstīti galvenie protokoli un pakalpojumi. Galvenais ir nesteidzīgi un mēģināt katru lietu izprast soli pa solim. Viņi visi ir savstarpēji saistīti un, nesaprotot vienu, būs grūti saprast otru. Šeit sniegtā informācija ir ļoti virspusēja, tāpēc šo rakstu var viegli saukt par "TCP/IP protokolu steksu manekeniem". Tomēr daudzas lietas šeit nav tik grūti saprotamas, kā varētu šķist no pirmā acu uzmetiena.

TCP/IP

TCP/IP steks ir tīkla modelis datu pārraidei tīklā; tas nosaka secību, kādā ierīces mijiedarbojas. Dati nonāk datu saites slānī, un tos pēc kārtas apstrādā katrs iepriekš minētais slānis. Stacks tiek attēlots kā abstrakcija, kas izskaidro datu apstrādes un saņemšanas principus.

TCP/IP tīkla protokolu kaudzei ir 4 līmeņi:

  1. Kanāls (saite).
  2. Tīkls (internets).
  3. Transports.
  4. Pieteikums.

Uzklāšanas slānis

Lietojumprogrammas slānis nodrošina iespēju mijiedarboties starp lietojumprogrammu un citiem protokola steka slāņiem, analizē un pārvērš ienākošo informāciju programmatūrai piemērotā formātā. Ir vistuvāk lietotājam un tieši mijiedarbojas ar viņu.

  • HTTP;
  • SMTP;

Katrs protokols nosaka savu kārtību un principus darbam ar datiem.

HTTP (HyperText Transfer Protocol) ir paredzēts datu pārsūtīšanai. Tā nosūta, piemēram, dokumentus HTML formātā, kas kalpo par tīmekļa lapas pamatu. Vienkāršotā veidā darba shēma tiek parādīta kā "klients - serveris". Klients nosūta pieprasījumu, serveris to pieņem, pareizi apstrādā un atgriež gala rezultātu.

Kalpo kā standarts failu pārsūtīšanai tīklā. Klients nosūta pieprasījumu par noteiktu failu, serveris meklē šo failu savā datubāzē un, ja tas ir veiksmīgi atrasts, nosūta to kā atbildi.

Izmanto e-pasta pārsūtīšanai. SMTP darbība ietver trīs secīgas darbības:

  1. Sūtītāja adreses noteikšana. Tas ir nepieciešams, lai atgrieztu vēstules.
  2. Saņēmēja definīcija. Norādot vairākus adresātus, šo darbību var atkārtot vairākas reizes.
  3. Ziņojuma satura noteikšana un nosūtīšana. Dati par ziņojuma veidu tiek pārsūtīti kā pakalpojuma informācija. Ja serveris apstiprina savu gatavību pieņemt paketi, tad pati transakcija ir pabeigta.

Virsraksts

Galvene satur pakalpojumu datus. Ir svarīgi saprast, ka tie ir paredzēti tikai noteiktam līmenim. Tas nozīmē, ka tiklīdz pakete tiks nosūtīta adresātam, tā tur tiks apstrādāta pēc tāda paša modeļa, bet apgrieztā secībā. Iegultajā galvenē būs īpaša informācija, kuru var apstrādāt tikai noteiktā veidā.

Piemēram, transporta slānī ligzdotu galveni var apstrādāt tikai transporta slānis, kas atrodas otrā pusē. Citi to vienkārši ignorēs.

Transporta slānis

Transporta slānī saņemtā informācija tiek apstrādāta kā viena vienība neatkarīgi no satura. Saņemtie ziņojumi tiek sadalīti segmentos, tiem tiek pievienota galvene, un viss tiek nosūtīts pa straumi.

Datu pārsūtīšanas protokoli:

Visizplatītākais protokols. Tā ir atbildīga par garantētu datu pārraidi. Nosūtot paketes, tiek kontrolēta to kontrolsumma, transakcijas process. Tas nozīmē, ka informācija tiks saņemta "drošā veidā" neatkarīgi no apstākļiem.

UDP (User Datagram Protocol) ir otrs populārākais protokols. Tā ir arī atbildīga par datu pārsūtīšanu. Tās atšķirīgā iezīme slēpjas vienkāršībā. Paketes tiek vienkārši nosūtītas, neveidojot īpašu savienojumu.

TCP vai UDP?

Katram no šiem protokoliem ir sava darbības joma. To loģiski nosaka darba raksturojums.

Galvenā UDP priekšrocība ir pārraides ātrums. TCP ir sarežģīts protokols ar daudzām pārbaudēm, savukārt UDP šķiet vienkāršāks un tāpēc ātrāks.

Trūkums slēpjas vienkāršībā. Pārbaužu trūkuma dēļ datu integritāte netiek garantēta. Tādējādi informācija tiek vienkārši nosūtīta, un visas pārbaudes un līdzīgas manipulācijas paliek aplikācijā.

UDP tiek izmantots, piemēram, video skatīšanai. Video failam neliela segmentu skaita zaudēšana nav kritiska, savukārt ielādes ātrums ir vissvarīgākais faktors.

Taču, ja nepieciešams nosūtīt paroles vai bankas kartes datus, tad nepieciešamība izmantot TCP ir acīmredzama. Pat vismazākās datu daļas zaudēšana var izraisīt katastrofālas sekas. Ātrums šajā gadījumā nav tik svarīgs kā drošība.

Tīkla slānis

Tīkla slānis no saņemtās informācijas veido paketes un pievieno galveni. Svarīgākā datu daļa ir sūtītāju un saņēmēju IP un MAC adreses.

IP adrese (interneta protokola adrese) - ierīces loģiskā adrese. Satur informāciju par ierīces atrašanās vietu tīklā. Ieraksta piemērs: .

MAC adrese (Media Access Control address) - ierīces fiziskā adrese. Izmanto identifikācijai. Piešķirts tīkla aprīkojumam ražošanas stadijā. Tiek parādīts kā sešu baitu skaitlis. Piemēram: .

Tīkla slānis ir atbildīgs par:

  • Piegādes maršrutu noteikšana.
  • Pakešu pārsūtīšana starp tīkliem.
  • Unikālo adrešu piešķiršana.

Maršrutētāji ir tīkla slāņa ierīces. Tie paver ceļu starp datoru un serveri, pamatojoties uz saņemtajiem datiem.

Populārākais protokols šajā līmenī ir IP.

IP (interneta protokols) ir interneta protokols, kas paredzēts adresēšanai tīklā. Izmanto, lai izveidotu maršrutus, pa kuriem notiek pakešu apmaiņa. Nav nekādu līdzekļu, lai pārbaudītu un apstiprinātu integritāti. Lai nodrošinātu piegādes garantijas, tiek izmantots TCP, kas kā transporta protokolu izmanto IP. Izpratne par šī darījuma principiem lielā mērā izskaidro TCP/IP protokola steku darbības pamatus.

IP adrešu veidi

Tīklos tiek izmantotas divu veidu IP adreses:

  1. Publisks.
  2. Privāts.

Internetā tiek izmantoti publiski (publiski). Galvenais noteikums ir absolūta unikalitāte. To izmantošanas piemērs ir maršrutētāji, kuriem katram ir sava IP adrese mijiedarbībai ar internetu. Šo adresi sauc par publisku.

Privātie (Private) netiek izmantoti internetā. Globālajā tīklā šādas adreses nav unikālas. Piemērs ir vietējais tīkls. Katrai ierīcei tiek piešķirta unikāla IP adrese noteiktā tīklā.

Mijiedarbība ar internetu tiek veikta, izmantojot maršrutētāju, kuram, kā minēts iepriekš, ir sava publiskā IP adrese. Tādējādi visi datori, kas savienoti ar maršrutētāju, parādās internetā ar vienas publiskas IP adreses nosaukumu.

IPv4

Visizplatītākā interneta protokola versija. Pirms IPv6. Ierakstīšanas formāts ir četri astoņu bitu skaitļi, kas atdalīti ar punktiem. Apakštīkla maska ​​tiek norādīta ar daļskaitļa zīmi. Adreses garums ir 32 biti. Lielākajā daļā gadījumu, kad mēs runājam par IP adresi, mēs domājam IPv4.

Ieraksta formāts: .

IPv6

Šī versija ir paredzēta, lai atrisinātu problēmas ar iepriekšējo versiju. Adreses garums ir 128 biti.

Galvenā problēma, ko IPv6 atrisina, ir IPv4 adrešu izsmelšana. Priekšnosacījumi sāka parādīties jau 80. gadu sākumā. Neskatoties uz to, ka šī problēma akūtā stadijā nonāca jau 2007.-2009.gadā, IPv6 ieviešana ļoti lēni uzņem apgriezienus.

Galvenā IPv6 priekšrocība ir ātrāks interneta savienojums. Tas ir tāpēc, ka šai protokola versijai nav nepieciešama adreses tulkošana. Tiek veikta vienkārša maršrutēšana. Tas ir lētāk, un tāpēc piekļuve interneta resursiem tiek nodrošināta ātrāk nekā IPv4.

Ieraksta piemērs: .

Ir trīs veidu IPv6 adreses:

  1. Unicast.
  2. Anycast.
  3. Multiraide.

Unicast ir IPv6 unicast veids. Nosūtot, pakete sasniedz tikai saskarni, kas atrodas attiecīgajā adresē.

Anycast attiecas uz IPv6 multiraides adresēm. Nosūtītā pakete nonāks tuvākajā tīkla saskarnē. Izmanto tikai maršrutētāji.

Multiraide ir multiraide. Tas nozīmē, ka nosūtītā pakete sasniegs visas saskarnes, kas ir multiraides grupā. Atšķirībā no apraides, kas ir “apraide visiem”, multiraide tiek pārraidīta tikai noteiktai grupai.

Apakštīkla maska

Apakštīkla maska ​​nosaka apakštīkla un resursdatora numuru no IP adreses.

Piemēram, IP adresei ir maska. Šajā gadījumā ierakstīšanas formāts izskatīsies šādi. Skaitlis "24" ir maskas bitu skaits. Astoņi biti ir vienādi ar vienu oktetu, ko var saukt arī par baitu.

Sīkāk apakštīkla masku binārajā skaitļu sistēmā var attēlot šādi: . Tam ir četri okteti, un ieraksts sastāv no "1" un "0". Ja mēs saskaitām vienību skaitu, mēs iegūstam kopā “24”. Par laimi, jums nav jāskaita ar vienu, jo vienā oktetā ir 8 vērtības. Mēs redzam, ka trīs no tiem ir piepildīti ar vieniniekiem, saskaitiet tos un iegūstam “24”.

Ja runājam konkrēti par apakštīkla masku, tad binārajā attēlojumā tai vienā oktetā ir vai nu vieninieki, vai nulles. Šajā gadījumā secība ir tāda, ka vispirms ir baiti ar vieniniekiem un tikai pēc tam ar nullēm.

Apskatīsim nelielu piemēru. Ir IP adrese un apakštīkla maska. Saskaitām un pierakstām: . Tagad mēs saskaņojam masku ar IP adresi. Tie masku okteti, kuros visas vērtības ir vienādas ar vienu (255), atstāj to atbilstošos oktetus IP adresē nemainīgus. Ja vērtība ir nulles (0), tad arī okteti IP adresē kļūst par nullēm. Tādējādi apakštīkla adreses vērtībā mēs iegūstam.

Apakštīkls un saimniekdators

Apakštīkls ir atbildīgs par loģisko atdalīšanu. Būtībā tās ir ierīces, kas izmanto vienu un to pašu lokālo tīklu. Nosaka pēc IP adrešu diapazona.

Host ir tīkla saskarnes (tīkla kartes) adrese. Noteikts pēc IP adreses, izmantojot masku. Piemēram: . Tā kā pirmie trīs okteti ir apakštīkls, tas paliek. Šis ir saimniekdatora numurs.

Resursdatora adrešu diapazons ir no 0 līdz 255. Resursdators ar numuru “0” faktiski ir paša apakštīkla adrese. Un saimnieka numurs “255” ir raidorganizācija.

Uzrunāšana

Adresēšanai TCP/IP protokolu kaudzē tiek izmantoti trīs veidu adreses:

  1. Vietējais.
  2. Tīkls.
  3. Domēna vārdi.

MAC adreses sauc par vietējām. Tos izmanto adresēšanai vietējā tīkla tehnoloģijās, piemēram, Ethernet. TCP/IP kontekstā vārds "lokāls" nozīmē, ka tie darbojas tikai apakštīklā.

Tīkla adrese TCP/IP protokolu kaudzē ir IP adrese. Nosūtot failu, adresāta adrese tiek nolasīta no tā galvenes. Ar tā palīdzību maršrutētājs uzzina resursdatora numuru un apakštīklu un, pamatojoties uz šo informāciju, izveido maršrutu līdz gala mezglam.

Domēnu nosaukumi ir cilvēkiem lasāmas adreses tīmekļa vietnēm internetā. Tīmekļa serveriem internetā var piekļūt, izmantojot publisku IP adresi. To veiksmīgi apstrādā datori, taču cilvēkiem tas šķiet pārāk neērti. Lai izvairītos no šādām komplikācijām, tiek izmantoti domēna vārdi, kas sastāv no jomām, ko sauc par “domēniem”. Tie ir sakārtoti stingrā hierarhijā no augšējā līmeņa uz leju.

Augstākā līmeņa domēns atspoguļo konkrētu informāciju. Vispārīgos (.org, .net) neierobežo nekādas stingras robežas. Pretēja situācija ir ar vietējiem (.us, .ru). Tie parasti ir lokalizēti.

Zema līmeņa domēni ir viss pārējais. Tas var būt jebkura izmēra un satur jebkuru vērtību skaitu.

Piemēram, "www.test.quiz.sg" ir pareizs domēna nosaukums, kur "sg" ir lokāls pirmā (augšējā) līmeņa domēns, "quiz.sg" ir otrā līmeņa domēns, "test.quiz.sg" ir trešā līmeņa domēns . Domēnu nosaukumus var saukt arī par DNS nosaukumiem.

DNS (Domēna nosaukumu sistēma) izveido kartēšanu starp domēna vārdiem un publisko IP adresi. Ievadot domēna nosaukumu pārlūkprogrammā, DNS noteiks atbilstošo IP adresi un ziņos par to ierīcei. Ierīce to apstrādās un atgriezīs kā tīmekļa lapu.

Datu saites slānis

Saites slānī tiek noteikta attiecības starp ierīci un fizisko pārraides vidi un pievienota galvene. Atbildīgs par datu kodēšanu un kadru sagatavošanu pārraidei, izmantojot fizisko datu nesēju. Šajā līmenī darbojas tīkla slēdži.

Visizplatītākie protokoli:

  1. Ethernet.
  2. WLAN.

Ethernet ir visizplatītākā vadu LAN tehnoloģija.

WLAN ir lokālais tīkls, kura pamatā ir bezvadu tehnoloģijas. Ierīces mijiedarbojas bez fiziskiem kabeļu savienojumiem. Visizplatītākās metodes piemērs ir Wi-Fi.

TCP/IP konfigurēšana, lai izmantotu statisku IPv4 adresi

Statiskā IPv4 adrese tiek piešķirta tieši ierīces iestatījumos vai automātiski, kad tiek izveidots savienojums ar tīklu, un tā ir pastāvīga.

Lai konfigurētu TCP/IP protokolu steku pastāvīgas IPv4 adreses izmantošanai, ievadiet konsolē komandu ipconfig/all un atrodiet šādus datus.

TCP/IP konfigurēšana, lai izmantotu dinamisku IPv4 adresi

Dinamiskā IPv4 adrese kādu laiku tiek izmantota, iznomāta un pēc tam mainīta. Tiek automātiski piešķirts ierīcei, kad ir izveidots savienojums ar tīklu.

Lai konfigurētu TCP/IP protokolu steku nepastāvīgas IP adreses izmantošanai, jums jāiet uz vajadzīgā savienojuma rekvizītiem, jāatver IPv4 rekvizīti un jāatzīmē izvēles rūtiņas, kā norādīts.

Datu pārsūtīšanas metodes

Dati tiek pārsūtīti caur fizisko datu nesēju trīs veidos:

  • Vienkāršs.
  • Pusduplekss.
  • Pilns duplekss.

Simplex ir vienvirziena komunikācija. Pārraidīšanu veic tikai viena ierīce, bet otra tikai saņem signālu. Var teikt, ka informācija tiek pārraidīta tikai vienā virzienā.

Simpleksas komunikācijas piemēri:

  • Televīzijas apraide.
  • Signāls no GPS satelītiem.

Pusdupleksa ir divvirzienu komunikācija. Tomēr signālu vienlaikus var pārraidīt tikai viens mezgls. Izmantojot šāda veida saziņu, divas ierīces nevar izmantot vienu un to pašu kanālu vienlaikus. Pilna divvirzienu saziņa var nebūt fiziski iespējama vai var izraisīt sadursmes. Ir teikts, ka tie konfliktē par pārraides vidi. Šis režīms tiek izmantots, izmantojot koaksiālo kabeli.

Pusdupleksās komunikācijas piemērs ir saziņa, izmantojot rāciju vienā frekvencē.

Full Duplex - pilna divvirzienu komunikācija. Ierīces var vienlaicīgi pārraidīt signālu un saņemt. Tie nav pretrunā par pārraides vidi. Šis režīms tiek izmantots, ja tiek izmantota Fast Ethernet tehnoloģija un vītā pāra savienojums.

Piemērs ir telefona sakari, izmantojot mobilo tīklu.

TCP/IP pret OSI

OSI modelis nosaka datu pārraides principus. TCP/IP protokola kaudzes slāņi tieši atbilst šim modelim. Atšķirībā no četru slāņu TCP/IP, tam ir 7 slāņi:

  1. Fiziskā.
  2. Kanāls (datu saite).
  3. Tīkls.
  4. Transports.
  5. Sesija.
  6. Prezentācija.
  7. Pieteikums.

Patlaban nav nepieciešams pārāk dziļi iedziļināties šajā modelī, taču ir nepieciešama vismaz virspusēja izpratne.

Lietojumprogrammas slānis TCP/IP modelī atbilst trim augstākajiem OSI slāņiem. Tie visi darbojas ar lietojumprogrammām, tāpēc jūs varat skaidri redzēt šīs kombinācijas loģiku. Šī TCP/IP protokolu kaudzes vispārīgā struktūra padara abstrakciju vieglāk saprotamu.

Transporta slānis paliek nemainīgs. Veic tās pašas funkcijas.

Tīkla slānis arī nav mainīts. Veic tieši tādus pašus uzdevumus.

Datu saites slānis TCP/IP atbilst pēdējiem diviem OSI slāņiem. Datu saites slānis izveido protokolus datu pārsūtīšanai pa fizisko datu nesēju.

Fiziskais attēlo faktisko fizisko savienojumu - elektriskos signālus, savienotājus utt. TCP/IP protokolu kaudzē tika nolemts šos divus slāņus apvienot vienā, jo tie abi nodarbojas ar fizisko datu nesēju.

Tiek izsaukts saskaņots protokolu kopums dažādos līmeņos, kas ir pietiekami, lai organizētu interneta darbu protokolu kaudze. Katram līmenim ir definēta vaicājuma funkciju kopa mijiedarbībai ar augstāko līmeni, kas tiek izsaukts saskarne. Divu mašīnu mijiedarbības noteikumus var raksturot kā procedūru kopumu katram līmenim, ko sauc protokoli.

Tīklos tiek plaši izmantoti daudzi protokolu skursteņi. Tie ir skursteņi, kas ir starptautiski un nacionāli standarti, un patentēti skursteņi, kas ir kļuvuši plaši izplatīti konkrēta uzņēmuma aprīkojuma izplatības dēļ. Populāru protokolu steku piemēri ir Novell IPX/SPX steks, internetā un daudzos UNIX tīklos izmantotais TCP/IP steks, Starptautiskās standartu organizācijas OSI steks, Digital Equipment Corporation DECnet steks un vairākas citas.

Protokolu kopas ir sadalītas trīs līmeņos:

    transports;

    piemērots.

Tīkla protokoli

Tīkla protokoli nodrošina šādus pakalpojumus: informācijas adresēšana un maršrutēšana, kļūdu pārbaude, atkārtotas pārraides pieprasīšana un mijiedarbības noteikumu izveide noteiktā tīkla vidē. Tālāk ir norādīti populārākie tīkla protokoli.

    DDP(DatagramDeliveryProtocol) Apple datu pārsūtīšanas protokols, ko izmanto AppleTalk.

    IP(Interneta protokols - interneta protokols). TCP/IP steka protokols, kas nodrošina adresācijas un maršrutēšanas informāciju.

    IPX(InternetworkPacketeXchange) NWLink. NovelNetWare protokols, ko izmanto pakešu maršrutēšanai un maršrutēšanai.

    NetBEUI(NetBIOSExtendedUserInterface — paplašināts lietotāja interfeiss pamata tīkla I/O sistēma) . Šis protokols, ko kopīgi izstrādāja IBM un Microsoft, nodrošina transporta pakalpojumus NetBIOS.

Transporta protokoli

Transporta protokoli nodrošina šādus pakalpojumus drošai datu pārsūtīšanai starp datoriem. Tālāk ir norādīti populārākie transporta protokoli.

    ATP(AppleTalkProtocol — AppleTalk Transaction Protocol) un NBP(NameBindingProtocol — nosaukuma saistīšanas protokols). AppleTalk sesija un transporta protokoli.

    NetBIOS ( Pamattīkla I/O sistēma) . NetBIOS Izveido savienojumu starp datoriem un NetBEUI nodrošina datu pakalpojumus šim savienojumam.

    SPX(SequencedPacketeXchange — secīga pakešu apmaiņa) NWLink.NovelNetWare protokolā, ko izmanto, lai nodrošinātu datu piegādi.

    TCP(TransmissionControlProtocol — Transmission Control Protocol) TCP/IP steka protokols, kas atbild par uzticamu datu piegādi.

Lietojumprogrammu protokoli

Lietojumprogrammu protokoli ir atbildīgi par lietojumprogrammu saziņu. Tālāk ir norādīti populārākie lietojumprogrammu protokoli.

    AFP(Apple Talk File Protocol — Apple Talk File Protocol) Protokols tālvadība Macintosh faili.

    FTP(File Transfer Protocol — File Transfer Protocol). TCP/IP steka protokols, ko izmanto failu pārsūtīšanas pakalpojumu nodrošināšanai.

    NCP(NetWare Core Protocol — NetWare Basic Protocol). NovelNetWare klienta apvalks un novirzītāji.

    SNMP(SimpleNetworkManagementProtocol) TCP/IP steka protokols, ko izmanto, lai pārvaldītu un pārraudzītu tīkla ierīces.

    HTTP(HyperTextTransferProtocol) – hiperteksta pārsūtīšanas protokols un citi protokoli.

Interneta protokolu komplekts nodrošina pilnīgu datu saziņu, nosakot, kā dati tiek iesaiņoti, apstrādāti, pārsūtīti, maršrutēti un saņemti. Šī funkcionalitāte ir sakārtota četros abstrakcijas slāņos, kas klasificē visus saistītos protokolus atbilstoši iesaistīto tīklu darbības jomai. No zemākā līdz augstākajam slānim ir komunikācijas slānis, kas satur saziņas metodes datiem, kas paliek vienā tīkla segmentā (saitē); Interneta slānis, kas nodrošina tīklošanos starp neatkarīgiem tīkliem; transporta slānis, kas nodrošina saziņu starp saimniekiem; un lietojumprogrammu slānis, kas nodrošina lietojumprogrammu starpprocesu saziņu.

Interneta arhitektūras un protokolu izstrādi TCP/IP modelī veic atklātā starptautiskā dizaineru kopiena IETF.

Stāsts

TCP/IP protokolu kaudze tika izveidots, pamatojoties uz NCP (Network Control Protocol), izstrādātāju grupa Vintona Cerfa vadībā 1972. gadā. 1976. gada jūlijā Vints Serfs un Bobs Kāns pirmo reizi demonstrēja datu pārraidi, izmantojot TCP vairāk nekā trīs dažādi tīkli. Paciņa gāja pa šādu maršrutu: Sanfrancisko – Londona – Dienvidkalifornijas universitāte. Ceļojuma beigās paka bija nobraukusi 150 tūkstošus km, nezaudējot nevienu bitu. 1978. gadā Cerfs, Jons Postels un Denijs Koens nolēma izveidot divas atsevišķas funkcijas TCP: TCP un IP (angļu interneta protokols, tīkla protokols). TCP bija atbildīgs par ziņojuma sadalīšanu datagrammās un savienošanu pēdējā nosūtīšanas punktā. IP bija atbildīgs par atsevišķu datagrammu pārraidi (ar saņemšanas kontroli). Tā radās modernais interneta protokols. Un 1983. gada 1. janvārī ARPANET pārgāja uz jaunu protokolu. Šī diena tiek uzskatīta par interneta oficiālo dzimšanas datumu.

TCP/IP steka slāņi

TCP/IP protokolu kaudze ietver četrus slāņus:

Šo līmeņu protokoli pilnībā īsteno OSI modeļa funkcionalitāti. Visa lietotāja mijiedarbība IP tīklos ir balstīta uz TCP/IP protokolu steku. Stacks ir neatkarīgs no fiziskā datu pārraides nesēja, kas jo īpaši nodrošina pilnīgi caurspīdīgu mijiedarbību starp vadu un bezvadu tīkliem.

Protokolu sadalījums pa TCP/IP modeļa līmeņiem
Pielietots
(Lietojumprogrammas slānis)
piemēram, HTTP, RTSP, FTP, DNS
Transports

Transporta slānis

Tīkla (interneta) līmenis

Datu saites slānis

Turklāt datu pārraides slānis apraksta datu pārraides vidi (vai tas būtu koaksiālais kabelis, vītā pāra, optiskā šķiedra vai radio kanāls), šāda nesēja fizikālās īpašības un datu pārraides principu (kanālu atdalīšana, modulācija, signāla amplitūda, signāla frekvence, pārraides sinhronizācijas metode, latentuma reakcija un maksimālais attālums).

Projektējot protokolu steku saites līmenī, tiek ņemta vērā trokšņu izturīga kodēšana, kas ļauj atklāt un labot kļūdas datos, kas radušās trokšņa un traucējumu ietekmes uz sakaru kanālu dēļ.

Salīdzinājums ar OSI modeli

Trīs augstākie OSI modeļa slāņi, tas ir, lietojumprogrammas slānis, prezentācijas slānis un sesijas slānis, nav atsevišķi nošķirti TCP/IP modelī, kuram ir tikai lietojumprogrammas slānis virs transporta slāņa. Lai gan dažas tīras OSI protokola lietojumprogrammas, piemēram, X.400, arī tos apvieno, nav prasības, ka TCP/IP protokolu skurstei ir jāpārklāj monolīta arhitektūra virs transporta slāņa. Piemēram, NFS lietojumprogrammas protokols darbojas, izmantojot ārējo datu reprezentācijas (XDR) protokolu, kas savukārt darbojas, izmantojot attālās procedūras izsaukuma (RPC) protokolu. RPC nodrošina uzticamu datu pārsūtīšanu, lai tas varētu droši izmantot vislabāko UDP transportu.

Dažādi autori ir interpretējuši TCP/IP modeli atšķirīgi un nepiekrīt, ka saites slānis vai viss TCP/IP modelis aptver problēmas. OSI līmenis slānis 1 (fiziskais slānis) vai pieņem, ka aparatūras slānis atrodas zem saites slāņa.

Vairāki autori ir mēģinājuši iekļaut OSI modeļa 1. un 2. slāni TCP/IP modelī, jo uz tiem parasti atsaucas mūsdienu standartos (piemēram, IEEE un ITU). Tā rezultātā bieži tiek izveidots piecu slāņu modelis, kur sakaru slānis vai tīkla piekļuves slānis ir sadalīts OSI modeļa 1. un 2. slānī.

IETF protokola izstrādes centieni nav saistīti ar stingru slāņošanu. Daži no tā protokoliem var neatbilst tīram OSI modelim, lai gan RFC dažreiz atsaucas uz to un bieži izmanto vecākus OSI slāņa numurus. IETF ir vairākkārt norādījis, ka interneta protokola un arhitektūras projektēšanai nevajadzētu atbilst OSI prasībām. RFC 3439, kas attiecas uz interneta arhitektūru, satur sadaļu "Slānis uzskatāms par kaitīgu".

Piemēram, tiek uzskatīts, ka OSI paketes sesijas un prezentācijas slāņi ir iekļauti TCP/IP paketes lietojumprogrammas slānī. Sesijas slāņa funkcionalitāti var atrast tādos protokolos kā HTTP un SMTP, un tā ir skaidrāka tādos protokolos kā Telnet un Session Initiation Protocol (SIP). Sesijas slāņa funkcionalitāte ir ieviesta arī ar portu numerāciju TCP un UDP protokoliem, kas aptver TCP/IP komplekta transporta slāni. Prezentācijas slāņa funkcijas tiek realizētas TCP/IP lietojumprogrammās ar MIME standartu datu apmaiņai.

Konflikti ir acīmredzami arī oriģinālajā OSI modelī ISO 7498, ja nav aplūkoti šī modeļa pielikumi, piemēram, ISO 7498/4 pārvaldības sistēma vai ISO 8648 tīkla slāņa iekšējā organizācija (IONL). Pārskatot IONL un Management Framework dokumentus, ICMP un IGMP tiek definēti kā tīkla slāņa slāņa vadības protokoli. Tāpat IONL nodrošina ietvaru "no apakštīkla atkarīgiem konverģences objektiem", piemēram, ARP un RARP.

IETF protokolus var iekapsulēt rekursīvi, par ko liecina tuneļu protokoli, piemēram, General Routing Encapsulation (GRE). GRE izmanto to pašu mehānismu, ko OSI izmanto tunelēšanai tīkla slānī. Pastāv domstarpības par to, kā iekļaut TCP/IP modeli OSI modelī, jo slāņi šajos modeļos nav vienādi.

Turklāt OSI modelī starp datu saites un tīkla slāņiem netiek izmantots papildu slānis - "Internetworking". Pretrunīga protokola piemērs varētu būt ARP vai STP.

Lūk, kā TCP/IP protokoli tradicionāli iekļaujas OSI modelī:

Protokolu sadalījums pa OSI modeļa līmeņiem
TCP/IP OSI
7 Pielietots Pielietots piem., HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
6 Pārstāvība piemēram, XDR, AFP, TLS, SSL
5 Sesija piem., ISO 8327/CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
4 Transports Transports piemēram, TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
3 Tīkls Tīkls piemēram, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP, ARP
2 Kanāls Kanāls piemēram, Ethernet, Žetonu gredzens, HDLC , PPP , X.25 , Frame Relay , ISDN , ATM , SPB , MPLS
1 Fiziskā piemēram, elektriskie kabeļi, radio sakari, optiskās šķiedras kabeļi, infrasarkanais starojums

Parasti TCP/IP stekā OSI modeļa augšējie 3 slāņi (lietojumprogramma, prezentācija un sesija) tiek apvienoti vienā lietojumprogrammā. Tā kā šāds steks nenodrošina vienotu datu pārraides protokolu, datu tipa noteikšanas funkcijas tiek pārsūtītas uz aplikāciju.

TCP/IP modeļa apraksts tehniskajā literatūrā

Piezīmes

  1. OSI un TCP/IP modeļi. Zināšanu bāze osLogic.ru
  2. TCP/IP un OSI tīklu modeļi. Cisco mācīšanās
  3. Vasiļjevs A.A., Telina I.S., Izbačkovs Ju.S., Petrovs V.N. Informācijas sistēmas: Mācību grāmata augstskolām. - Sanktpēterburga. : Pēteris, 2010. - 544 lpp. - ISBN 978-5-49807-158-9.
  4. Endrjū Kročiks, Vinods Kumars, Nomans Lagari un citi..NET tīkla programmēšana profesionāļiem / trans. no angļu valodas V. Streļcovs. - M.: Lori, 2005. - 400 lpp. - ISBN 1-86100-735-3. - ISBN 5-85582-170-2.

Transporta slānis (TL) definē noteikumus pakešu transportēšanai tīklā. Transporta slānis uzrauga atsevišķu pakešu piegādi no gala līdz galam; tas neņem vērā nekādas atkarības starp šīm paketēm (pat tām, kas pieder vienam ziņojumam). Tas apstrādā katru paketi tā, it kā katra daļa piederētu atsevišķu ziņojumu, neatkarīgi no tā, vai tas tā ir vai nav. Transporta slāņa protokoli nodrošina, ka visi ziņojumi galamērķī nonāk neskarti un paketes tiek sakārtotas to sākotnējā secībā. Transporta slānī tiek veikta informācijas pārkāpumu kontrole un kļūdu kontrole, kā arī plūsmas kontrole visā avota-mērķa ceļā.

Transporta slānis veic šādus uzdevumus:

  • Servisa punktu adresēšana. Datori bieži vien palaiž vairākas programmas vienlaikus. Šī iemesla dēļ piegāde avota galamērķī nozīmē piegādi ne tikai no viena datora uz nākamo, bet arī no konkrēta procesa (darbojošās programmas) vienā datorā uz noteiktu procesu (darbojošo programmu) citā. Tāpēc transporta slāņa galvenē ir jāiekļauj adreses veids, ko sauc par apkalpošanas punkta adresi (vai porta adresi). Tīkla slānis piegādā katru paketi uz pareizo datora adresi; Transporta slānis nodrošina visu ziņojumu pareizajam procesam šajā datorā.
  • Segmentēšana un atkārtota montāža. Ziņojums ir sadalīts pārnēsājamos segmentos, un katrs segments satur kārtas numuru. Šie skaitļi ļauj transporta slānim pēc mērķa sasniegšanas pareizi salikt ziņojumu un aizstāt pārraides laikā pazaudētās paketes.
  • Savienojumu pārvaldība. Transporta slānis var būt uz savienojumu orientēts (bez savienojuma pārsūtīšana) vai uz savienojumu orientēts pārsūtīšana (datagrammas režīms). Bezsavienojuma transporta slānis (izmantojot iepriekš izveidotu virtuālo savienojumu) apstrādā katru segmentu kā neatkarīgu paketi un piegādā to transporta slānim galamērķa mašīnā. Uz savienojumu orientētais transporta slānis pirms pakešu piegādes vispirms izveido savienojumu ar transporta slāni mērķa datorā. Pēc visu datu pārsūtīšanas savienojums tiek pārtraukts.

    Bezsavienojuma režīmā transporta slāni izmanto, lai pārsūtītu atsevišķas datagrammas, negarantējot to drošu piegādi. Uz savienojumu orientēts režīms tiek izmantots uzticamai datu piegādei.

  • Plūsmas kontrole. Tāpat kā datu saites slānis, arī transporta slānis ir atbildīgs par plūsmas kontroli. Tomēr plūsmas kontrole šajā līmenī tiek veikta pilnībā.
  • Kļūdu kontrole. Tāpat kā datu saites slānis, arī transporta slānis ir atbildīgs par kļūdu kontroli. Pārraides transporta slānis nodrošina, ka viss ziņojums sasniedz saņemšanas transporta slāni bez kļūdām (bojājumiem, zudumiem vai dublēšanās). Kļūdu labošana parasti notiek ar atkārtotu pārraidi.

Sesijas slānis SL- tīkla dialoga kontrolieris. Tā izveido, uztur un sinhronizē mijiedarbību starp saziņas sistēmām.

Izmantojot sesijas slāni, tiek organizēts dialogs starp pusēm, tiek fiksēts, kura puse ir iniciatore, kura ir aktīva un kā dialogs beidzas.

Sesijas slāņa uzdevumi ir šādi:

  • Dialoga vadība. Sesijas slānisļauj divām sistēmām uzsākt dialogu. Tas ļauj apmainīties ar ziņojumiem starp diviem procesiem. Šajā gadījumā ir iespējami šādi režīmi: vai nu pusduplekss (viens ceļš vienlaikus) vai pilns duplekss (divi ceļi vienlaikus). Piemēram, dialogs starp termināli un lieldatoru var būt pusduplekss.
  • Sinhronizācija. Sesijas slānisĻauj procesam pievienot datu straumei kontrolpunktus (sinhronizācijas punktus). Piemēram, ja sistēma nosūta 2000 lappušu lielu failu, ir vēlams ievietot kontrolpunktus pēc katrām 100 lapām, lai nodrošinātu, ka katrs 100 lappušu modulis tiek saņemts un atpazīts neatkarīgi. Šajā gadījumā, ja pārkāpums notiek 523. lapas pārsūtīšanas laikā, vienīgā lapa, kas ir nepieciešama un tiks nosūtīta vēlreiz pēc sistēmas atkopšana- 501. lapa (piektā simta pirmā lapa)

Prezentācijas slānis nodarbojas ar informācijas sniegšanas veidu zemākiem līmeņiem, piemēram, informācijas pārkodēšanu vai šifrēšanu.

Prezentācijas slāņa uzdevumi ir:

  • Informācijas pārkodēšana. Procesi (darbojošās programmas) abās sistēmās parasti apmainās ar informāciju rakstzīmju virkņu, ciparu un tā tālāk veidā. Pirms pārsūtīšanas informācija ir jāmaina bitu plūsmās. Tā kā dažādi datori izmanto dažādas kodēšanas sistēmas, prezentācijas slānis ir atbildīgs par šo dažādo kodēšanas metožu savietojamību. Prezentācijas slānis pie raidītāja maina informāciju no raidītājam specifiskas formas uz vispārīgu formu. Prezentācijas slānis uztverošajā datorā aizstāj parasto formātu ar tā uztvērēja formātu.
  • Šifrēšana. Lai nodrošinātu sensitīvu informāciju, sistēmai ir jānodrošina slepenība. Šifrēšana nozīmē, ka raidītājs pārvērš sākotnējo informāciju citā formā un nosūta iegūto ziņojumu tīklā. Dekodēšanai ir jābūt tieši pretējai sākotnējam procesam, lai ziņojumu atgrieztu sākotnējā formā.
  • Saspiešana. Datu saspiešana samazina informācijā ietverto bitu skaitu. Datu saspiešana kļūst īpaši svarīga multivides, piemēram, teksta, audio un video, pārraidē.

Lietojumprogrammas slānis (AL) ir protokolu kopums, ar ko apmainās starp attāliem mezgliem, kas īsteno vienu un to pašu uzdevumu (programmu). Uzklāšanas slānisļauj lietotājam (personai vai programmatūra) piekļūt tīklam. Tā nodrošina lietotāja saskarnes un atbalstu tādiem pakalpojumiem kā e-pasts, attālā piekļuve un līdzekļu pārsūtīšana, publisko datu bāzu pārvaldība un cita veida izplatīti informācijas pakalpojumi.

Lietojumprogrammas slāņa sniegto pakalpojumu piemēri:

  • Tīkla virtuālais terminālis. Tīkla virtuālais terminālis ir fiziska termināļa programmatūras versija, kas ļauj lietotājam pieteikties attālajā resursdatorā. Lai to izdarītu, lietojumprogramma izveido attālā resursdatora termināļa programmatūras emulāciju. Lietotāja dators sazinās ar programmatūras termināli, kas, savukārt, sazinās ar resursdatoru un otrādi. Attālais resursdators definē šo savienojumu kā savienojumu ar vienu no saviem termināļiem un ļauj ievadīt.
  • Failu pārsūtīšana, piekļuve un pārvaldība. Šī lietojumprogramma ļauj lietotājam piekļūt failiem attālā resursdatorā, lai modificētu vai lasītu datus, izgūtu failus no attālā datora izmantošanai lokālajā datorā, kā arī administrētu vai pārvaldītu failus attālajā datorā.
  • Pasta pakalpojumi. Šī lietojumprogramma nodrošina pamatu e-pasta sūtīšanai un glabāšanai.
  • Uzziņu pakalpojumi. Šī lietojumprogramma nodrošina izplatītus datu bāzu avotus un piekļuvi globālai informācijai par dažādiem objektiem un pakalpojumiem.

Interneta protokolu kaudze

Internet2 protokolu steks tika izstrādāts pirms OSI modeļa. Tāpēc slāņi interneta protokolu stekā neatbilst atbilstošajiem slāņiem OSI modelī. Interneta protokolu kaudze sastāv no pieciem slāņiem: fiziskā, datu saites, tīkla, transporta un lietojumprogrammu. Pirmie četri slāņi nodrošina fiziskos standartus, tīkla saskarni, tīklu un transporta funkcijas, kas atbilst pirmajiem četriem OSI modeļa slāņiem. Trīs augstākie OSI modeļa slāņi interneta protokolu steksā ir attēloti ar vienu slāni, ko sauc par lietojumprogrammas slāni. 1.3.

Rīsi. 1.3.

ARP Adrešu izšķiršanas protokols Adreses atrašanas protokols
bankomāts Asinhronais pārsūtīšanas režīms Asinhronais pārsūtīšanas režīms
BGP Robežu vārtejas protokols Malu maršrutēšanas protokols
DNS Domēna vārdu sistēma Domēna vārdu sistēma
Ethernet Ethernet tīkls Ethernet tīkls
FDDI Fiber Distributed Data Interface Fiber Optic Distributed Data Interface
HTTP Hiperteksta pārsūtīšanas protokols Hiperteksta pārsūtīšanas protokols
FTP Failu pārsūtīšana Protokols Failu pārsūtīšanas protokols
ICMP Interneta vadības ziņojumu protokols Kontroles ziņojumu protokols
IGMP Interneta grupu pārvaldības protokols Interneta grupu (lietotāju) pārvaldības protokols
IP Interneta protokols Interneta protokols
NFS Tīkla failu sistēma Tīkla piekļuves protokols failu sistēmas
OSPF Vispirms atveriet īsāko ceļu Atveriet īsākā kanāla preferenču protokolu
PDH Plesiohronā digitālā hierarhija Pleziohroniska digitālā hierarhija
PPP Point-to-Point protokols Punkts-punkts sakaru protokols


 Tops