660 likes | 1.02k Views
Lekc6. Adresācija TCP/IP tīklos. Saturs. Reālo tīklu OS atšķirība no OSI etalonmodeļa Komunikācijas protokolu standartu steki un to atšķirības NetBIOS steka piemērs Adresācija IP-tīklos Lokālās - MAC-adreses IP-adreses, adrešu klases Transporta slāņa portu adreses
E N D
Lekc6 Adresācija TCP/IP tīklos
Saturs • Reālo tīklu OS atšķirība no OSI etalonmodeļa • Komunikācijas protokolu standartu steki un to atšķirības • NetBIOS steka piemērs • Adresācija IP-tīklos • Lokālās - MAC-adreses • IP-adreses, adrešu klases • Transporta slāņa portu adreses • TCP savienojumi un to uzturēšana • Augstāko slāņu protokoli • Standartizācijas dienesti, kas koordinē TCP/IP darbu
Tīkla OS kā OSI modeļa realizācija • Salīdz.: OSI etalonmodelis it kā anatomijas atlants dažādu reālu tīkla OS slāņu (moduļu) salīdzināšanai un iespēju skaidrošanai • Dažādu tīkla OS realizācijas ir atšķirīgas atkarībā no: • Ražotāja pieņemtās ideoloģijas (Novel, Macintosh) • pielietošanas apstākļiem (NetBIOS – LT/internets)
OSI etalonmodelis un protokolu steki • OSI etalonmodelis ir tikaiprotokolu steku slāņu funkciju un sadarbības specifikācijas (aprakstīšanas) etalons, ko lieto līdzīgi mēra lentai, mērot garumu. • Visas protokolu realizācijas veidi un slāņu saskarnes punkti (interfeisi) tiek salīdzināti ar OSI etalonmodeli. • Steka 2apakšējie slāņi apraksta iekārtas, ko izstrādājuši dažādi ražotāji, sadarbības noteikumus. • Bet augšējie slāņi apraksta formātus un procedūras (darbību secības) sakaru seansu organizēšanai un lietojumu interpretēšanai. • Jo augstāks slānis, jo sarežģītāki kļūst tā risināmie uzdevumi un ar tiem saistītie protokoli.
NetBIOS trafiks Tas var sastāvēt no viena no sekojošiem tipiem: • Datagrammas (raida ar UDP) • Seansa kadri (raida ar TCP) Datagrammas lieto pieprasījumos un atbildēs bez savienojuma nodibināšanas vai apraides ziņojumos. NetBIOS seansus lieto, ja vajag drošu savienojumu, piem., ar procesu citā hostā LT ievaros. Kad ziņojumi tiek sūtīti ar protokolu NBF vai Netbeui, tie tiek iekapsulēti tieši IEEE 802.2 LLC tīkla kadrā. Kad NetBIOS darbojas ar TCP/IP starpniecību, tad datagrammas tiek sūtītas kā UDP-bloki, bet seansa kadri – kā TCP-bloki.
Populārāko protokolu piemēri Protokolu steku starpā populārākie ir sekojošie: • TCP/IP – galv. interneta protokolu steks: OS Windows,UNIX • NetBEUI – plaši lieto LT robežās OS uz Windows bāzes • X.25 – lieto zemas kvalitātes sakaru tīklos • IPX/SPX un NWLink – lieto Novell Netware tīklos • AppleTalk – lieto Machintosh tīklos • OSI protokolu komplekts – vislabāk atbilst standartiem • DECnet -
Adresācija IP-tīklos Protokola steka TCP/IP adrešu tipi Protokolu stekā TCP/IP tiek lietoti 4 adrešu tipi: • Lokālās adreses, sauc arī par aparātadresēm, MAC-adresēm • IP-adreses • Simboliskie domēnu vārdi • Portu adreses TCP/IP-terminoloģijā ar vārdu lokālā adrese saprot tādu adresi, ko lieto datu nogādei tāda apakštīkla ietvaros, kas ir intertīkla sastāvdaļa. Dažādos apakštīklos ir pieļaujamas dažādas tīklu tehnoloģijas un dažādi protokolu steki, tādēļ veidojot TCP/IP tīklu tika paredzēta dažādu tipu lokālo adrešu eksistence. Ja apakštīkls ir lokālais tīkls, tad lokālā adrese ir MAC-adrese. To piešķir tīkla adapteriem un maršrutētāju tīkla interfeisiem šo iekārtu ražotāji. Piešķiršana notiek centralizēti un tādēļ šīs adreses ir unikālas.
Lokālās - MAC-adreses MAC-adresēm ir 6 baitu formāts, piemēram, 11-A0-17-3D-BC-01 Taču IP protokols var darboties arī virs augstāku slāņu protokoliem, piemēram, virs IPX vai X.25. Tādā gadījumā protokola IP lokālās adreses būs IPX vai X.25 adreses. Jāņem vērā, ka lokālā tīkla datoram var būt arī vairākas lokālās adreses pat esot tikai vienam tīkla adapterim. Bet dažām tīkla iekārtām nav lokālo adrešu, piemēram, tiem maršrutētāju lokālajiem portiem, kas paredzēti 2-punktu savienojumiem
Datu posma slāņa funkcijas Datu posma slānis nodrošina datu apmaiņu starp tīkla slāņa aktīvajiem elementiem formējot un pārveidojot kadrus kā arī atklāj un izlabo kļūdas, kas rodas fizikālajā slānī. Datu posma slāņa svarīgākās funkcijas ir sekojošas: • Piekļuves nodrošināšana jebkurai tīkla videi, kas saucas vides piekļuves vadība (MAC – Medium Access Control) • Pagaidu divpunktu savienojumu nodibināšana starp MAC adrešu pāriem, lai nodrošinātu datu pārraidi, kas saucas par loģiskā posma vadību (LLC – Logical Link Control). Tādēļ IEEE, izstrādājot specifikāciju 802, sadalīja datu posma slāni 2 apakšslāņos, kam katram ir savs protokols: • loģiskā posma vadības (LLC) apakšslānis – virsējais un • vides piekļuves vadības (MAC) apakšslānis – apakšējais.
3 zemāko slāņu protokolu sadarbība;SNAP –Subnetwork Access Protocol – protokols piekļuvei apakštīkliem
Ethernet II kadri, ko lieto IP-datagrammu pārraidei Ethernet tīklos
IP-adresācijas dažādība • Cilvēks labāk atceras simboliskās adreses nekā skaitliskās: Salīdzini, piem., 199.95.72.8 un www.course.com, bet dators to uztver kā: 1100011101011110100100000001000 Tādēļ IP protokols izmanto 3 veidos rakstāmu adresācijas shēmu: • Simbolisko, ko sauc par domēnu vārdiem, piem., www.rtu.lv • Loģiski skaitlisko, ko raksta kā 4 skaitļu kombināciju, kas atdalīti ar punktiem (dotted decimal) , piem., 199.95.72.8 • Fizikāli skaitlisko, (physical numeric address) – 6 baitu skaitl adrese , ar kuru tīklu interfeisu ražotāji marķē aparāt-iekārtas – MAC-adrese. ARP protokols vajadzīgs, lai pārveidotu IP=>MAC adreses, bet RARP: MAC=>IP adr
IP adreses konstrukcija • IP adreses 10-ieku skaitliskajā var attēlot kā virkni n.n.n.n, kur katrs n ir diapazonā no 0 līdz 255. • IP adreses dublēšana nav atļauta, tādēļ no tīkla tiek izmesti visi tie interfeisi, kas kopīgi lieto vienu IP adresi (ja kādreiz dators nepiekļūst tīklam, tā iemesls var būt IP adreses dubl. • Ja 2 skaitliskās IP adreses atšķiras tikai pēdējiem labējiem oktetiem, tad tas nozīmē to atrašanos vienā apkaimē – t. i. vienā tīklā vai kabeļa segmentā.
Datu posma slāņa protokoli Datu posma slāņa protokoli nodrošina datu pārraidi no konkrēta avota konkrētam saņēmējam un to sauc divpunktu (point-to-point) pārraidi, jo pārraide notiek starp 2 MAC-adresēm. Tāda pat 2 punktu tehnoloģija darbojas arī globālā tīkla (WAN) kanālos, bet tur lieto citus protokolus: • Interneta seriālās līnijas protokolu - protokolu SLIP (Serial Line Internet Protocol), kas, izmantojot telefona līnijas, nodrošina atsevišķu darbstaciju – datoru - tiešu pieslēgšanu. • Divpunktu protokolu - protokolu PPP (Point-to-Point Protocol), kas pēdējā laikā aizvieto iepriekšējo, jo ir par to pilnīgāks – īsteno datu saskaņošanu, saspiešanu un kļūdu labošanu. • Speciālos protokolus X.25, kadru retranslācijas (frame relay) un asinhronā pārraides režīma (ATM) savienojumiem.
Kādēļ vajag speciālos protokolus? Protokoli PPP un SLIP uztur tikai 1 savienojumu starp 2 punktiem (analogie telef. kanāli, DSL vai T1, T3), tādēļ tiem nevajag adresēt gala punktus. Citām WAN tehnoloģijām (X.25, kadru retranslācijas (frame relay) un asinhronā pārraides režīma (ATM) savienojumiem), kas uztur pakešu vai kanālu komutāciju, datu posma slānī nepieciešams uzrādīt tiešas avota-saņēmēja adreses. Izplatītajā piekļuves tehnoloģijā - kabeļu modemos – lieto standarta Ethernet kadrus un tā darbojas līdzīgi kā LT. Kopā ar to var lietot protokolu PPPoE (PPP over Ethrnet) vai PPPA, ja lieto ATM.
IP adrešu klases IP adreses dalās 5 klasēs no A līdz E. Pirmajām 3 klasēm okteti sadalīti sekojoši: • A klase n h.h.h • B klasen.n h.h • C klasen.n.n h Šeit n apzīmē adreses daļu, kas identificē tīklu, bet h – daļu, kas identificē resursdatoru (host). D un E klases adreses paredzētas speciāliem gadījumiem. D klases adreses lieto grupveida pārraidēm (multicast), kad katra adrese identificē vairāk kā vienu datoru (telekonferenc.) kā arī datu apmaiņai starp maršrutētājiem E klases adreses lieto eksperimentiem ar IP protokolu
IP-adreses tīkla daļu sauc arī par prefiksu, bet hostu daļu – par sufiksu; adreses klase noteic robežu starp prefiksu un sufiksu
IP-adreses IP-adreses uzskata par to adrešu bāzes tipu, uz kā pamata tīkla slānis veic pakešu apmaiņu starp tīkliem. Šīs adreses sastāv no 4 baitiem, piemēram, 109.26.17.100. IP-adreses piešķir tīkla administrators, veicot konfigurāciju. IP-adrese sastāv no 2 daļām: • Tīkla numura • Mezgla (hostdatora) numura Tīkla numuru administrators izvēlas patvaļīgi vai arī to nozīmē spec. organizācija - InterNIC (Internet Network Information Center). Mezgla jeb hosta numurs IP protokolā tiek piešķirts neatkarīgi no tā lokālās adreses. Uzskata, ka maršrutētājs vienlaikus ietilpst vairāku tīklu sastāvā un tādēļ katram maršrutētāja portam ir sava IP-adrese. Arī atsevišķam galapunktam – hostam var būt vairākas mezglu IP-adreses atkarībā no tā saistībām ar tīklu. Tātad IP-adrese noteic noteic nevis atsevišķu datoru vai maršrutētāju, bet gan atsevišķu tīkla savienojumu.
Adrešu klases, prefiksa/sufiksa biti un maksimālie tīklu/hostu skaiti
Domēnu simbolu vārdi Domēnu simbolu vārdus IP tīklos sauc par domēniem un tie ir konstruēti pēc hierarhijas principa. Domēnu vārdu sastāvdaļas tiek atdalītas viena no otras ar (.) un tās nolasa tā, ka paša augstākā slāņa – saknes – domēna vārds atrodas labajā pusē. Tātad no sākuma (kreisā pusē) atrodas gala mezgla vārds, tad mezglu grupas vārds (piemēram, organizācija), tad lielākas grupas – apakšdomēna – vārds (ja tāds ir). Piemērs: www.egle.cs.rtu.lv Starp domēna vārdu un mezgla IP-adresi nav algoritmiskas atbilstības, tādēļ jāizmanto papildus tabulas vai servisi, lai tīkla mezglu varētu viennozīmīgi noteikt kā pēc domēna vārda tā arī pēc IP-adreses. TCP/IP tīklos šim nolūkam lieto speciālu izkliedētu servisu – domēnu vārdu sistēma (Domain Name System –DNS), kas nodibina šo atbilstību balstoties uz tīkla administratora izveidotajām atbilstības tabulām. Tādēl domēna vārdus sauc arī par DNS-vārdiem.
Maršrutētāju IP-adreses;katram interfeisam atbilst sava IP-adrese
IP-adrešu piešķiršana Tīklu numuri tiek piešķirti centralizēti, ja tīkls ir Interneta sastāvdaļa, vai patvaļīgi, ja tīkls darbojas autonomi. Abos gadījumos administrators rīkojas pēc saviem ieskatiem nepārkāpjot šim tīklam atļauto adrešu diapazonu. Centralizētajā adrešu piešķiršanā koordinējošā loma pieder InterNIC (Internet Network Information Center) – organizācijai, kas nodrošina lietotājus ar informāciju par internetu un reģistrē domēnu vārdus. Ņemot vērā tīklu apjomus, InterNIC daļu savu funkciju ir deleģējusi citām organizācijām un lieliem tīklu pakalpojumu sniedzējiem – provaideriem. Jau diezgan sen ir vērojams IP-adrešu deficīts. Grūti saņemt B klases adreses; praktiski nav iespējams iegūt A klases adreses. Deficīta iemesls ir daudzu IP-adrešu neracionāla izmantošana. Bieži C klases tīklu īpašnieki izmanto tikai nelielu daļu no to rīcībā esošajām 254 adresēm. Piemēram, lai 2 tīklus savienotu caur globālo tīklu kā sakaru kanālus lieto 2 maršrutētājus, kas savienoti caur globālo tīklu. Tad starptīkls sastāv tikai no 2 mezgliem.
IP deficīta novēršana Lai risinātu adrešu deficīta novēršanas problēmu, tiek izmantoti dažādi mehānismi. Kā principiālu risinājumu var uzskatīt pāreju uz jauno adrešu sistēmas versiju Ipv6, kurā lieto 16-baitu adreses. Taču arī esošās Ipv4 adrešu sistēmas ietvaros var veikt dažādus uzlabojumus. Viena no pieejām – iepriekš aplūkotās apakštīklu maskas, otra pieeja – bezklašu starpdomēnu maršrutēšana (Classless Inter-Domain Routing – CIDR). To lietojot atsakās no klašu lietošanas. Pateicoties tam provaiders var sadalīt viņam piešķirto adrešu telpu blokos atbilstoši katra klienta prasībām un viņam vēl paliek adreses. Cita tehnoloģija saucas par tīkla adrešu translāciju (Network Address Translation –NAT). Tajā iekšējos tīklus savieno ar starp iekārtas – maršrutētāja palīdzību, kas saņem ārējās IP-adreses un tad pārveido iekšējās adreses ārējās adresēs ar atbilstības tabulas palīdzību (sk. RFC1631 – translācijas procedūra)
IP-adrešu automātiskā piešķiršana To veic protokols DHCP (Dynamic Host Configuration Protocol) atbrīvojot tīkla administratorus no šī darbietilpīgā procesa. DHCP protokols darbojas atbilstoši klienta/servera modelim un uztur kā manuālo tā automātisko adrešu uzstādīšanas veidus. Kad dators, kas ir DHCP klients, startē, tad tas nosūta apraides pieprasījumu IP- adreses saņemšanai. DHCP serveris reaģē uz šo pieprasījumu nosūtot atbildi, kura satur IP- adresi. Tiek uzskatīts, ka DHCP-klients un DHCP-serveris atrodas vienā IP-tīklā. Dinamiski piešķirot IP-adreses, DHCP-serveris izsniedz tās klientam uz ierobežotu laiku, ko sauc par nomas ilgumu (lease duration). Šāda rīcība ļauj vēlāk izmantot atkārtoti šo pašu adresi arī citam datoram. Tātad galvenais DHCP-servera uzdevums – automatizēt administratora darbu, kas viņam ir jāveic konfigurējot TCP/IP steku katrā datorā. Dažreiz adrešu dinamiskā piešķiršana ļauj veidot tādu IP-tīklu, kurā mezglu (hostu) skaits pārsniedz to IP-adrešu skaitu, kas ir tīkla administratora rīcībā.
Protokola DHCP uzdevumi Dinamiskais hostdatora konfigurācijas protokols (Dynamic Host Configuration Protocol, DHCP) ļauj tīkla administratoram centralizēti pārvaldīt un automatizēt IP-adrešu organizāciju datoru tīklos. Protokols ļauj pārraudzīt un izplatīt IP-adreses no centrālā vadības punkta un nosūtīt automātiski jaunu IP-adresi, ja datoru pieslēdz citai vietai tīklā. Blakus tam DHCP var sniegt klientiem svarīgu informāciju par IP protokola konfigurēšanu, ieskaitot a/tīkla masku, lokālā maršrutētāja adresi un, ja nepieciešams, datus par DNS un WINS pakalpojumiem. Protokols DHCP ir paplašinājums IP ielādes protokolam BOOTP (Bootstrap Protocol), kas paredzēts bezdiska staciju sākotnējai ielādei (lieto)un kam iespējas lielākas kā RARP (vairs nelieto). DHCP-serveri spēj pārvaldīt vienu vai vairāk IP-adrešu diapazonus, katru no kuriem sauc par adrešu pūlu (kopumu) vai diapazonu (scope). To robežās DHCP ļauj izdalīt atsevišķas adreses, ko serveris var piešķirt dinamiski.
Statiskā adrešu piešķiršana Ja IP-adreses administrators piešķir manuāli, tad viņš dod DHCP-serverim informāciju par atbilstību starp fiziskajām un IP-adresēm. Šādu adrešu piešķiršanas veidu sauc par statisko atšķirībā no iepriekš aplūkotā dinamiskā veida. DHCP-serveris vienmēr piešķir tās IP-adreses, ko nozīmējis administrators. Statisko adrešu piešķiršanas veidu var realizēt arī automātiskajā režīmā. Tad DHCP-serveris adreses automātiski piešķir IP-adreses no to adrešu grupas (pūla), kuras robežas iepriekš ir noteicis administrators konfigurējot DHCP-serveri. Šajā gadījumā IP-adrese tiek saņemta uz neierobežotu laiku. Tāpat kā manuālas adrešu piešķiršanas gadījumā starp klienta identifikatoru un tā IP- adresi pastāv pastāvīga atbilstība, un uz atkārtotu adreses pieprasījumu DHCP-serveris nosūta klientam vienu un to pašu IP- adresi.
IP adrešu piešķiršanas veidi • Manuāli – administrators piešķir konkrētu IP-adresi, bet DHCP-serveris to nosūta klienta datoram • Automātiski - DHCP-serveris piešķir pastāvīgu IP-adresi no pūla • Dinamiski - DHCP-serveris piešķir IP-adresi uz nomas laiku
Transporta pakalpojumu identifikācija Transporta protokoli dod iespējas klientam viennozīmīgi atrast vajadzīgos pakalpojumus ar portu numuru palīdzību. Protokola porta numuri ir 16-bitu veseli skaitļi, kas unikāli identificē katru pakalpojumu. Klients veicot pieprasījumu uzrāda porta numuru. Servera datorā TCP lieto klienta un servera portu numuru kombināciju kā arī to IP-adrešu kombināciju katra konkrēta seansa identificēšanai. Datu apmaiņai starp klientiem un serveriem izmanto transporta protokolus TCP vai UDP.
Portu adresācija TCP/IP sistēma adresācijai lieto IP-adreses un porta numura kombināciju, ko sauc par soketu. To apzīmē porta adresi atdalot ar kolu, piem., pieraksts 192.168.2.10:21 nozīmē 21 portu (FTP-serveris) pēc IP-adreses 192.168.2.10. Pazīstamu portu adreses publicētas RFC 1060 un, galvenokārt, paredzētas serveriem, klientiem pastāvīgi portu numuri nav. IANA kontrolē portu numurus no 1 līdz 1023, tādēļ uz laiku piešķiramie portu numuri ir 1024 un lielāki. Serveris saņemot datus no klienta izmanto avota (Source Port) adresi atbildei.
TCP segmenta formāts; tāds ir katram TCP ziņojumam kā datiem tā apstiprinājumam
TCP-galvenes lauki • Lauks “Avota porta numurs” (Source Port Number) – tāds pats kā attiecīgais lauks UDP protokolā • Lauks “Saņēmēja porta numurs” (Destination Port Number) – tāds pats kā attiecīgais lauks UDP protokolā • Lauks “Secības numurs” (Sequence Number) satur skaitli, kas unikāli identificē TCP-segmentu • Lauks “Apliecinājuma numurs” (Acknowledgement Number) noteic kārtas numuru, kas tiek gaidīts no partnera • Lauks “Galvenes garums” (Hdr Len) norāda TCP-galvenes garumu 4-baitu pieaugumos; ja tas 5, tad TCP-galvene=20 (5x4baiti=20). Tas var būt lielāks, ja lieto lauku Options. • Lauks “Logs” (Window) nosaka TCP saņemšanas bufera apjomu baitos; ja tas =0, tad avotam jāaptur datu pārraide.
TCP-galvenes lauki (turpināj.) • Laukā “Kontrolsumma” (Checksum) atrodas segmenta kΣ. To aprēķina no TCP-segmenta galvenes un datiem • Lauku “Steidzamības rādītājs” (Urgent Pointer) pārbauda tikai, ja uzstādīts karogs URG. Tad tasnorāda datu secībā vietu, no kuras sākas steidzamie dati • Lauks “Papildparametri” (Options) nav obligāts; to lieto, ja galvenē tādi ietilpst, piem., MSS
TCP savienojuma nodibināšanas process Sākas ar sakaru nodibināšanu starp hostiem - partneriem, lai: • Pārliecinātos, ka partneris pieejams • Pārliecinātos, ka gaidīšanā var iesaistīt saņēmēja portu • Paziņotu partnerim – saņēmējam avota datu kārtas numuru Savienoj. nodibināš. ir 3 etapu process, kas sastāv no tā, ka: • Hosts 1 sūta hostam 2 TCP-segmentu, kur ir tikai • Sākuma secība (starting sequence) • Vēlamais porta numurs • Maksimālais segmenta garums (Maximum Segment Size – MSS) • Hosts 2 atbild (ACK) ar savu sākuma secību un savu MSS • Hosts 1 apstiprina ACK saņemšanu
“Pusatvērtie” savienojumi Pusatvērtie” savienojumi (half-open connections) rodas tad, ja savienojuma nodibināšanas procesu nepabeidz ar 3. etapu nosūtot (ACK). Tad veidojas secība SYN >>> <<< ACK SYN <<< ACK SYN <<< ACK SYN Tas nozīmē, ka hosts 1 zaudējis savienojuma iespējas un bloķēts; šāds savienojums izmanto hosta 2 resursus un nezin hosta 1 stāvokli. Šādu mehānismu izmanto hakeri tā saucamajos “servisa atteikuma” (Deial of Sevice - DoS) uzbrukumos (pag. Gad Hansabankai)
TCP savienojuma uzturēšanas process TCP savienojuma uzturēšanas process (keep-alive process) dod iespējas saglabāt savienojumu arī tad, ja datu pārraide ir uz laiku apturēta. Laika intervālus • KeepAliveTime • KeepAliveInterval var uzdot kā parametrus