Sākumlapa › Forumi › Notepad.lv › IT ziņas › Raksti › Internet protokoli (TCP/IP)
• Bibliogrāfiskā izziņa
• Tīkla slānis
• Adresācija
• Internet maršrutēšana
• ICMP
• Transporta slānis
• Pārraides vadības protokols (TCP)
• Lietotāja datagrammu protokols (UDP)
• Augstāko slāņu protokoli
Bibliogrāfiskā izziņa
1970. gg. vidū ASV Aizsardzības ministrijas Perspektīvo pētījumu pārvalde (Defense Advanced Research Projects Agency – DARPA) ieinteresējās par pakešu komutācijas tīkla organizēšanu sakaru nodrošināšanai starp ASV zinātniski pētnieciskiem institūtiem. DARPA un citas valdības organizācijassaprata, kādas potenciālās iespējas ir paslēptas pakešu komutācijas tīkla tehnoloģijā; tie tikko sāka sadurties ar problēmu, ar kuru tagad jānodarbojas praktiski visām kompānijām, proti ar komunikācijas starp atšķirīgām datoru sistēmām problēmu.
Noteikusi uzdevumu panākt heteroģēno sistēmu savienojamību, DARPA finansēja pētījumus, kurus veica Stenfordas Universitāte un kompānijas Bolt, Beranek un Newman (BBN) ar mērķi radīt virkni komunikācijas protokolu. Š o 1970. gg. beigās pabeigto darbu rezultāts bija Internet protokolu komplekts, no kuriem vispazīstamākie ir Pārraides vadības protokols (Transmission Control Protocol – TCP) un Apvienotā tīkla protokols (Internet Protocol – IP).
Š odien Internet protokolu komplekts ir vispopulārākais pasaulē. To var izmantot ziņojumu pārraidei caur jebkuru savstarpēji savienotu tīklu kopu un tas vienādā mērā ir derīgs sakariem kā lokālajos, tā arī globālajos tīklos. Internet protokolu komplekts ietver ne tikai zemāko slāņu specifikācijas (tādas, kā TCP un IP), bet arī specifikācijas tādiem vispārīgiem pielietojumiem, kā elektroniskais pasts, termināļu emulācija un failu pārsūtīšana. Zīm. 15-1 tiek parādīti daži no vissvarīgākajiem Internet protokoliem un to sakarība ar OSI etatalonmodeli.
Internet protokolu dokumentācijas izstrādes un izlaides process drīzāk atgādina akadēmisko pētniecisko projektu nekā kaut ko citu. Protokoli tiek aprakstīti dokumentos, kuri tiek saukti Requests for Comments (RFC) (Komentāru pieprasījumi). RFC tiek publicēti un pēc tam tos recenzē un analizē Internet tīkla speciālisti. Protokolu precizējumi tiek publicēti jaunajos RFC.
Pašlaik tīkls Internet ir vislielākais globālais apvienotais tīkls (internetwork), kurš savieno desmitiem tūkstošu tīklu visā pasaulē. Tīkla nosaukumu Internet nevajag jaukt ar terminu “internetâ€, kurš ir saīsinājums no vārda “internetwork†(apvienotais tīkls).
[img]
Tīkla slānis
IP (Internet protocol) ir 3.slāņa galvenais protokols Internet protokolu komplektā. Tas ir aprakstīts RFC 791 un kopā ar TCP protokolu veido Internet protokolu kodolu. IP nodrošina datagrammu piegādi bez savienojuma nodibināšanas ar vismāzākām pūlēm (best effort), kā arī datagrammu fragmentēšanu un reasamblēšanu, lai uzturētu datu kanālus ar dažādiem maksimālo pārraides bloku (maximum-transmission unit – MTU) izmēriem. IP paketes formāts ir attēlots Zīm. 15-2.
[img]
IP iesākums sākas no versijas numura (version number), kas norāda izmantojamas IP versijas numuru.
Iesākuma garuma lauks (IHL) apzīmē datagrammas iesākuma garumu 32 bitu vārdos.
Servisa tipa lauks (type-of-servise) norāda, kādā veidā jāapstrādā tekošā datagramma saskaņā ar konkrēta augstāka slāņa protokola norādījumiem. Ar šī lauka palīdzību datagrammam var tikt piešķirti dažādi nozīmības līmeņi.
Kopējā garuma lauks (total length) nosaka visas IP paketes garumu baitos, ieskaitot datus un iesākumu.
Identifikācijas lauks (identification) satur veselu skaitli, kurš nozīmē tekošu datagrammu. Š is lauks tiek izmantots datagrammas fragmentu savienošanai.
Karogu lauks (flags) ir 3 bitu lauks, kurš nosaka, vai var tikt fragmentēta dotā datagramma un vai tekošais fragments ir pēdējais.
Fragmenta pārbīdes lauks (fragment offset) norāda fragmenta poziciju pret datu sākumu oriģinālajā datagrammā, kas ļauj IP saņēmēja procesam pareizi rekonstruēt oriģinālo datagrammu.
Dzīves ilguma lauks (time-to-live) uztur skaitītāju, kura vērtība pakāpeniski samazinās līdz nullei; šajā momentā datagramma tiek noraidīta. Tas novērš pakešu ieciklēšanos.
Protokola lauks (protocol) norāda, kurš augstākā slāņa protokols pieņems ieejošās paketes pēc IP apstrādes pabeigšanas.
Iesākuma kontroles summas lauks (header checksum) palīdz nodrošināt IP iesākuma veselumu.
Avota un saņēmēja adrešu lauki (source and destination address) nozīmē nosūtīšanas un pieņemšanas mezglus.
Opcijas lauks (options) ļauj IP nodrošināt fakultatīvās iespējas, tādas, kā datu aizsardzība.
Datu lauks (data) satur augstāko slāņu informāciju.
Adresācija
Tāpat kā citiem tīkla slāņa protokoliem, IP adresācijas shēma ir IP datagrammu maršrutēšanas procesa caur apvienotu tīklu neatņemama daļa. IP adreses garums sastāda 32 bitus, kuri ir sadalīti divās vai trijās daļās. Pirmā daļa nozīmē tīkla adresi (to nosaka Internet tīkla informācijas centrs (Network Information Center – InterNIC), ja tīkls ir Interneta daļa), otrā (ja tā eksistē) – apakštīkla adresi, un trešā – resursdatora adresi (to nosaka tīkla administrātors). Apakštīkla adreses ir tikai tajā gadījumā, ja tīkla administrātors pieņēma lēmumu par tīkla sadalīšanu apakštīklos. Tīkla, apakštīkla un resursdatora adreses lauku garumi ir mainīgi lielumi.
IP adresācija nodrošina piecas dažādas adrešu klases. Paši galējie kreisie biti nozīmē adreses klasi.
Class A
A klases adreses galvenokārt ir paredzēti izmantošanai ar vairākiem ļoti lieliem tīkliem, jo tie nodrošina tikai 7 bitus tīkla adreses laukam.
Class B
B klases adreses izdala 14 bitus tīkla adreses laukam un 16 bitus resursdatora adreses laukam. Š ī adrešu klase nodrošina labu kompromisu starp tīkla un resursdatora adreses telpu.
Class C
C klases adreses izdala 22 bitus tīkla adreses laukam. Taču C klases adreses nodrošina tikai 8 bitus resursdatora adreses laukam, tāpēc resursdatoru skaits vienā tīklā var kļūt par ierobežojošu faktoru.
Class D
D klases adreses tiek rezervētas grupām ar vairākpunktu adresāciju (saskaņā ar oficiālu dokumentu RFC 1112). D klases adresēs četri augstākās kārtas biti tiek uzstādīti uz vērtībām 1,1,1 un 0.
Class E
IP nosaka arī E klases adreses, bet tās ir rezervētas izmantošanai nākotnē. E klases adresēs visi četri augstākās kārtas biti tiek uzstādīti uz 1.
Katrs baits 32 bitu IP adresē tiek pasniegts decimālskaitļa formātā un tiek atdalīts no citiem baitiem ar punktu (dot) palīdzību (dotted decimal notation), piemēram, 34.0.0.1. Zīm. 15-3 ir parādīti IP adrešu formāti A, B un C klasēm.
[img]
Zīm. 15-3. IP adrešu formāti A, B un C klasēm
IP tīkli var arī būt sadalīti mazākās vienībās, kuras sauc par apakštīkliem (subnets). Apakštīkli nodrošina papildus elastību tīkla administrātoram. Piemēram, pieņemsim, ka kaut kādam tīklam ir noteikta B klases adrese, un ka visi mezgli tīklā dotajā brīdī atbilst B klases adreses formātam. Tālāk pieņemsim, ka šī tīkla adrese ir 128.10.0.0 (visas nuļļes resursdatora adreses laukā norāda uz visu tīklu). Administrātors var sadalīt tīklu, izmantojot apakštīklu organizēšanu. Tas tiek izpildīts, aizņemoties bitus no adreses daļas, kura pieder resursdatoram, un izmantojot tos kā apakštīkla adreses lauku, kā ir parādīts Zīm. 15-4.
[img]
Ja tīkla administrātors nolēma izmantot astoņus bitus apakštīkla organizēšanai, tad trešais IP B klases adreses baits nodrošina šī apakštīkla numuru. Mūsu piemērā adrese 128.10.1.0. attiecas uz tīklu 128.10, apakštīklu 1; adrese 128.10.2.0. attiecas uz tīklu 128.10, apakštīklu 2, u.t.t.
Bitu skaits, kuri ir aizņemti ar apakštīkla adresi, ir mainīgs lielums. Izmantojamo bitu skaita uzdošanai IP nodrošina apakštīkla masku. Apakštīkla maskas izmanto to pašu adreses izteiksmes formātu un tehniku, kā IP adreses. Apakštīkla maskas satur vieniniekus visos bitos, izņemot tos, kuri nosaka resursdatora lauku. Piemēram, apakštīkla maska, kura uzdod 8 apakštīkla organizēšanas bitus A klases adresei
[img]
34.0.0.0, ir izteiksme 255.255.0.0. Apakštīkla maska, kura nosaka 16 apakštīkla organizēšanas bitus A klases adresei 34.0.0.0, ir izteiksme 255.255.255.0. Š īs abas maskas ir attēlotas Zīm. 15-5.
Lai dators varētu uzturēt sakarus ar citu datoru, tam jāzina otra datora fizikālo (vai MAC) adresi. Internet protokolu komplekta ietilpst divi protokoli (Address Resolution protocol – ARP – Adreses noteikšanas protokols un (Reverse Address Resolution Protocol – RARP – Reversais adreses noteikšanas protokols), kuri dinamiski nosaka fizikālo (aparatūras) adrešu atbilstību IP adresēm un otrādi. ARP izmanto apraides paziņojumus aparatūras adreses noteikšanai (MAC slānis), kura atbilst konkrētai IP tīkla slāņa adresei. ARP protokolam ir pietiekoši universāls, lai ļautu izmantot IP ar praktiski jebkuru vides pieejas mehānisma tipu. RARP izmanto apraides paziņojumus IP adreses noteikšanai, kura saistīta ar konkrēto aparatūras adresi. RARP ir īpaši nozīmīgs mezgliem, kuriem nav diska un kuri var nezināt savu IP adresi, kad tie tiek sākotnēji iedarbināti. RARP paļaujas uz RARP servera esamību ar tabulas ierakstiem, kuri attēlo MAC apakšslāņa adreses IP adresēs.
Internet maršrutēšana
Maršrutēšanas iekārtas Internet tīklā tradicionāli saucās par starptīklu interfeisiem (gateway), kas ir ļoti neveiksmīgs termins, jo visur tīklu industrijā ar šo terminu apzīmē iekārtu ar mazliet citādām funkcionālām iespējām. Starptīklu interfeisi (kurus mēs no šī momenta sauksim par maršrutētājiem) Internet tīklā ir organizēti atbilstoši hierarhiskam principam. Daži maršrutētāji tiek izmantoti informācijas pārvietošanai caur vienu konkrētu tīklu grupu, kuri atrodas zem vienas un tās pašas administratīvās vadības un pārvaldības (šādu objektu sauc par autonomo sistēmu – autonomous system). Maršrutētāji, kurus izmanto informācijas apmaiņai autonomo sistēmu robežās, tiek saukti par iekšējiem maršrutētājiem (interior routers); tiek izmantoti dažādi iekšēju maršrutētāju protokoli (interior gateway protocol – IGP) šī uzdevuma izpildīšanai. Maršrutēšanas informācijas protokols (Routing Information Protocol – RIP) ir viens no tādiem protokoliem. Maršrutētāji, kuri pārvieto informāciju autonomo sistēmu starpā, tiek saukti par ārējiem maršrutētājiem (exterior routers); šī uzdevuma izpildīšanai tie izmanto ārējo maršrutētāju protokolus. Robežas maršrutētāju protokols (Border Gateway Protocol – BGP) ir tādu protokolu piemērs. Internet arhitektūra ir parādīta Zīm. 15-6.
IP maršrutēšanas protokoli ir dinamiski. Dinamiskas maršrutēšanas laikā (dynamic routing) pieprasījumi pēc maršrūtiem jāaprēķina maršrutēšanas iekārtu programmatūrai pēc noteiktiem laika intervāliem. Š is process ir pretējs statiskai maršrutēšanai (static routing), kuras laikā maršrūtus uzstāda tīkla administrātors un tie paliek nemainīgi, līdz kamēr tīkla administrātors tos neizmainīs. IP maršrutēšanas tabula sastāv no pāriem “saņēmēja adrese/nākamā pārsūtīšanaâ€. Datu pierakstīšanas paraugs, kurš ir parādīts Zīm. 15-7, tiek interpretēts kā “nokļūt līdz tīklam 34.1.0.0. (34. tīkla 1. apakštīkls), nākamā pietura ir mezgls ar adresi 54.34.23.12.â€
[img]
[img]
IP maršrutēšana nosaka IP datagrammu pārvietošanas raksturu caur apvienotiem tīkliem (viena pārsūtīšana reizē). Ceļojuma sākumā viss maršruts nav zināms. Tā vietā katrā pieturā tiek aprēķināts nākamais pieturas punkts, salīdzinot datagramas sastāvā esošā saņēmēja adresi ar datu ierakstu tekošā mezgla maršrūtu tabulā. Katra mezgla piedalīšanās maršrutēšanas procesā sastāv tikai no pakešu virzīšanas uz priekšu, bāzējoties tikai uz iekšējās informācijas, neatkarīgi no tā, cik veiksmīgs būs process un vai pakete sasniegs galapieturas punktu. Citiem vārdiem, IP nenodrošina paziņojumu par bojājumiem nosūtīšanu avotā, kad notiek maršrutēšanas anomālijas. Š ī uzdevuma izpilde ir nodota citam Internet protokolam, proti, Internet vadības ziņojumu protokolam (Internet Control Message Protocol – ICMP).
ICMP
ICMP ģenerē vairākus lietderīgus ziņojumus: Destination Unreachable, Echo Request and Reply, Redirect, Time Exceeded un citus. Ja ICMP ziņojums nevar būt piegādāts, otrais ziņojums netiek ģenerēts, lai novērstu bezgalīgu ICMP ziņojumu plūsmu. Kad maršrutētājs sūta ziņojumu Destination Unreachable (adresāts nav sasniedzams), tas nozīmē, ka maršrutētājs nespēj aizsūtīt paketi gala saņēmējam un noraida šo paketi. Var būt divi iemesli, kāpēc saņēmējs nav sasniedzams: avots noteica neeksistējošo adresi un (retāk) maršrūtētājam nav attiecīga maršruta. Jebkurš resursdators var aizsūtīt ziņojumu Echo Request (atbalsa pieprasījums), lai pārbaudītu vai mezgls ir pieejams caur tīklu. Ziņojums Echo Reply (atbalsa atbilde) norāda, ka mezgls var tikt sekmīgi sasniegts. Maršrutētājs sūta avotam ziņojumu Redirect (pāradresēšana), lai stimulētu efektīvāku maršrutēšanu, un ziņojumu Time Exceeded (laiks ir pārsniegts), lai norādītu, ka kāda pakete pārsniedza tai noteiktu eksistēšanas laiku (pārsūtījumos vai sekundēs). Pēdējais ziņojums tiek sūtīts, kad IP paketes dzīves ilguma lauks sasniedz nulli. Pēc tam šī pakete tiek noraidīta, lai novērstu nepārtrauktu paketes cirkulēšanu, ja tīklā izveidojas maršrutēšanas cilpa.
ICMP papildinājums nodrošina jauniem mezgliem apakštīkla maskas atrašanas iespēju, kuru izmanto apvienotajā tīklā dotajā momentā. Kopumā ICMP ir jebkuru IP realizāciju integrālā daļa, it īpaši tādu, kuras izmanto maršrutētājus.
Transporta slānis
Internet tīkla transporta slāni realizē TCP un Lietotāja datagrammu protokols (User Datagram Protocol – UDP). TCP nodrošina datu transportēšanu ar savienojuma nodibināšanu, kamēr UDP strādā bez savienojuma nodibināšanas.
Pārraides vadības protokols (TCP)
Transmission Control Protocol (TCP) nodrošina pilna dupleksa, ar datu saņemšanas apliecināšanu un datu plūsmas vadību, pakalpojumus augstāko slāņu protokoliem. Tas pārvieto datus nepārtrauktā nestrukturētā plūsmā, kurā baiti tiek identificēti pēc kārtas numuriem. TCP var arī uzturēt augstāko slāņu daudzus vienlaicīgus dialogus. TCP paketes formāts ir parādīts Zīm. 15-8.
[img]
“Avota porta†lauks (source port) apzīmē punktu, kurā konkrētais avota augstākā slāņa process pieņem TCP pakalpojumus; “saņēmēja porta†lauks (destination port) apzīmē saņēmēja augstākā slāņa procesa portu TCP pakalpojumiem.
“Kārtas numura†lauks (sequence number) parasti apzīmē numuru, kurš ir piešķirts pirmajam datu baitam tekošā ziņojumā. Savienojuma nodibināšanas fāzē tas arī var tikt izmantots izejas kartas numura apzīmēšanai, kuram jātiek izmantotam nākamajā pārraidē.
“Apstiprināšanas numura†lauks (acknowledgement number) satur nākamā datu baita kārtas numuru, kuru paketes nosūtītājs sagaida pieņemšanai.
“Datu pārbīdes†lauks (data offset) apzīmē 32 bitu vārdu skaitu TCP iesākumā.
“Rezerves†lauks (reserved) ir rezervēts protokola izstrādātāju izmantošanai nākotnē.
“Karogu†lauks (flags) satur dažādu vadības informāciju, ieskaitot bitus savienojuma nodibināšanai un pārtraukšanai.
“Loga†lauks (window) apzīmē nosūtītāja pieņemšanas loga izmēru (bufera apjoms, kurš ir pieejams pienākošiem datiem).
TCP protokolā tekošais loga izmērs tiek noteikts katrā paketē. Tā kā TCP nodrošina baitu plūsmas savienojumu, logs tiek noteikts baitos. Tas nozīmē, ka logs ir datu baitu skaits, kurus avots var aizsūtīt pirms apliecināšanas saņemšanas.
“Kontroles summas†lauks (checksum) norāda, vai iesākums netika bojāts tranzīta laikā.
“Steidzības rādītāja†lauks (urgent pointer) norāda uz pirmo steidzīgo datu baitu paketē.
“Opciju†lauks (options) norāda dažādas fakultatīvas TCP iespējas.
Lietotāja datagrammu protokols (UPD)
UPD protokols ir daudz vienkāršāks par TCP; tas ir derīgs situācijās, kad jaudīgie TCP protokola drošības nodrošināšanas mehānismi nav obligāti. UDP paketei ir tikai četri lauki: avota porta lauks (source port), saņēmēja porta lauks (destination port), garuma lauks (lenght) un UDP kontroles summas lauks (checksum UDP). Avota un saņēmēja porta lauki pilda tās pašas funkcijas, kā TCP iesākumā. Garuma lauks nosaka UDP iesākuma garumu un datus; kontroles summas lauks nodrošina paketes veseluma pārbaudi. UDP kontroles summa ir fakultatīva iespēja.
Augstāko slāņu protokoli
Internet protokolu komplekts ietver lielu skaitu augstāko slāņu protokolu, kuri pārstāv visdažādākus pielietojumus, to skaitā tīkla pārvaldība, failu pārraide, failu lietošanas dalītie pakalpojumi, termināļu emulācija un elektroniskais pasts.
Failu pārraides protokols (File Transfer Protocol – FTP) nodrošina failu pārvietošanas veidu starp datoru sistēmām. Telnet nodrošina termināļa emulāciju. Parastais tīkla pārvaldības protokols (Simple network management protocol – SNMP) tiek izmantots paziņošanai par anomālo stāvokli tīklā un pieļaujamo sliekšņu vērtību uzstādīšanai tīklā. X Windows ir populārs protokols, kurš ļauj termināļiem ar intelektu nodibināt sakarus ar attāliem datoriem tādā veidā, it kā tie būtu tieši pieslēgtie monitori. Protokolu kombinācija Network File System (NFS) (Tīkla failu sistēma), External Data Representation (XDP) (Ä€rējās informācijas pasniegšana) un Remote Procedure Calls (RPC) (Procedūras attālais izsaukums) nodrošina caurspīdīgu pieeju attālā tīkla resursiem. Vienkāršs pasta pārraides protokols (Simple Mail Transfer Protocol – SMTP) nodrošina elektroniskā pasta pārraides mehānismu. Š ie un citi pielietojumi izmanto TCP/IP un citu zemāko slāņu Internet protokolu pakalpojumus, lai nodrošinātu lietotājus ar tīkla bāzes pakalpojumiem.
[img]
palîdzçja saprast daþas lietas uz ko bija slinkums meklçt atbildes.
Preses relīzes