Locked History Actions

Address Resolution Protocol

Žodis angliškai

Address Resolution Protocol

Santrumpa

ARP

Žodis Lietuviškai

Adresų išsprendimo protokolas

Apibrėžimas

ARP-tinklo lygmens protokolas, skirtas IP adresų (tinklo lygmens adresai) susiejimui su MAC adresais (kanalo lygmens adresai) TCP/IP tinkluose.

Paaiškinimai

ARP – labai paplitęs ir labai svarbus protokolas,nes užtikrina ryšį tarp siuntėjo ir gavėjo. Kiekvienas tinklo mazgas turi du adresus, fizinį(MAC adresą) ir loginį(IP adresą). Ethernet tinkluose ryšio užmezgimui turi būti identifikuoti siuntėjo ir gavėjo duomenys, tam naudojami fizinis ir loginis adresai. Informacija, sinčiama nuo vieno mazgo prie kito, kurie savyje turi siuntėjo ir gavėjo fizinius (MAC) ir loginius (IP) adresus.

TCP/IP lygiai ir protokolai

1. Kanalo lygmuo

  • Steko protokolas ARP skirtas tinko adapterio adresui (MAC) susieti su IP adresu. RARP skirtas atvirkštiniam veiksmui, turint MAC adresą gauti IP adresą.

2. Tinklo lygmuo

  • Steko protokolas ICMP skirtas pranešimų apie paketų persiuntimo klaidas siuntimui, o IP skirtas paketų siuntimui ir maršutizavimui tarp tinklų.

3. Transporto lygmuo

  • Steko protokolas TCP orientuotas į sujungimą. Šį protokolą naudoja taikomosios programos, kurioms reikalingas patvirtinimas apie duomenų priėmimą. UDP protokolas negarantuoja paketų persiuntimo. Jis taikomas multimedijos procesams.

4. Taikomasis lygmuo

  • Protokolai: HTTP, FTP, SMPT, POP užtikrina vartotojo prieigą prie tinkle resursų.

Address Resolution Protocol

  • Jau žinomi adresai saugomi lentelėje, kurios įrašas yra pora – IP adresas ir MAC adresas. Lentelės saugomos tik lokaliam tinklui. Lentelės generuojamos automatiškai.

1 lentelė. IP ir MAC adresų lentelė

1lentele.jpg

ARP algoritmas:

  1. Ieškoti reikalingo IP adreso A , ARP lentelėje.
  2. Jei nerastas:
    1. Nusiųsti ARP pranešimą adresu A
    2. Gauti atsakymą su A, MAC adresu
    3. Prisidėti įrašą į lentelę
  3. Gražinti reikalingą MAC adresą iš lentelės.

1pavv.jpg

1 pav. ARP algoritmo atvaizdavimas

  • Užklausimas siunčiamas “broadcast”, bet į jį reaguoja tik tas kompiuteris, kieno IP adresas yra pranešime. Atsakymas siunčiamas “unicast”.

Pastaba. Kadangi ARP yra tinko interfeiso programinės įrangos dalis, visi aukštesnių lygių protokolai gali naudoti išimtinai IP adresus, nesirūpindami fiziniais adresais.

ARP pranešimo paketavimas

  • Kai kompiuteris siunčia ARP pranešimą, jis keliauja aparatinės dalies kadro viduje. ARP pranešimas yra traktuojamas, kaip transportuojami duomenys ir netikrinamas individualių laukų formatas. Techniškai pranešimo talpinimas kadro viduje siuntimui yra vadinamas paketavimu (angl. encapsulation). ARP yra supakuotas tiesiogiai į aparatinės dalies kadrą.

Kadro sandara:

  • 1. Kadro antraštė (angl. frame header):

    • Gavėjo adresas (angl. destination address)
    • Siuntėjo adresas (angl. source address)
    • Kadro tipas (angl. frame type):
    • ARP atskiriamas pagal kadro tipą, jei tai Ethernet - tai tipas bus 0806, 16-tainėje sistemoje.

    1. Kadro duomenys:

    • ARP užklausa arba atsakymas.

    1. CRC:

    • Naudojamas patikrinimui ar duomenys iškraipyti ar ne.

2pavv.jpg

2 pav. Kadro sandara

3pavv.jpg

3 pav. Kadro antraštė (angl. frame header)

ARP protokolo formatas

4pavv.jpg

4 pav. ARP protokolo formatas

Aparatinis tipas (HTYPE)

  • Šiame lauke nurodomas tinklo protokolo tipas. Pavyzdys: Ethernet yra 1.

Protokolo tipas (PTYPE)

  • Šiame lauke nurodomas tarptinklinis protokolas, kuriame ARP prašyms yra numatytas. IPv4 turi reikšmę 0x0800.

Aparatinis adreso ilgis (HLEN)

  • Aparatinio adreso ilgis (bitais). Ethernet adreso ilgis 6 bitai.

Protokolo adreso ilgis (PLEN)

  • Adreso ilgis bitais panaudotas viršutiniame sluoksnio protokole. (Viršutinis sluoksnio protokolas apibrėžtas PTYPE.) IPv4 adreso ilgis yra 4 bitai.

Operacija

  • Apibrėžia operaciją, kurią siuntėjas įvykdo: 1 prašymui, 2 atsakymui.

Siuntėjo aparatinis adresas (SHA)

  • ARP užklausoje šis laukas yra panaudotas, kad parodytų adresą šeimininko, siunčiančio prašymą. ARP atsakyme šis laukas yra panaudotas, kad parodytų adresą šeimininko, kurio prašymo ieškojo.

Siuntėjo protokolo adresas (SPA)

  • Siuntėjo tarptinklinis adresas.

Gavėjo aparatinis adresas (THA)

  • Adresas skirtas gavėjui. ARP prašyme šis laukas yra ignoruojamas. ARP atsakyme šis laukas yra panaudotas, kad parodytų adresą šeimininko, kuris sukūrė ARP prašymą.

Gavėjo protokolo adresas (TPA)

  • Gavėjui skirtas tarptinkinis adresas.

ARP optimizavimas

  • Užklausų siuntimas kiekvienam MAC ir IP adresų susiejimui yra labai neefektyvus. Tinklo duomenų srautui sumažinti ARP programinė įranga išskiria ir įsimena informaciją iš atsakymo, todėl ji gali būti panaudota sekantiems paketams. ARP sukuria mažą susiejimų lentelę atmintyje. Kai tik ARP vykdo adreso susiejimą, ji ieško atmintyje prieš naudodamasi tinklu. Jei susiejimas yra, ARP naudoja susiejimą be užklausos perdavimo.

ARP pažeidžiamumas

  • Kadangi ARP nenustatinėja užklausų ir atsakymų autentiškumo, šie pranešimai gali būti klastojami. ARP yra nepriklausomas, t.y. be atitinkamos užklausos išsiuntimo gali būti gautas atsakymas. Kompiuteris parsisiunčiantis ARP paketą privalo atnaujinti susiejimų lentelę.

Tipinis pažeidžiamumo išnaudojimas:

  • Suklastotos ARP užklausos ir atsakymai gali būti panaudoti susiejimų lentelės atnaujinimui klaidingais įrašais. Tai gali būti panaudota IP paketų nukreipimui į kitus hostus.

Naudota Literatūra

  1. http://en.wikipedia.org/wiki/Address_Resolution_Protocol

  2. http://os.if.ktu.lt/sauga/pratybos/ARP%20protokolas.ppt

  3. http://www.mif.vu.lt/~adam/courses/cna/ch9.doc