Address Resolution Protocol

## **Хаяг шийдвэрлэх протокол (Address Resulution Protocol)**
### **ARP тухай**
ARP protocol нь RFC826-д агуулагддаг. Internet-ийн сүлжээ нь өндөр хурдтай LAN ( жишээ нь enthernet, token ring мөн FDDI )-тэй хамт хөгжиж ирсэн бол TCP/IP нь тэгэж хөгжөөгүй юм. Ethernet сүлжээ нь анх 1980 онд гарсан ба 1982 онд 2-р хувилбар нь гарснаар улам өргөжин хөгжсөн. 
:LAN сүлжээний дизайнерууд сүлжээний attachment (хамтран эзэмшилт)-ийг таниулахын тулд 48 битийн хувиарлалт хийсэн. (зориулсан) Энэ нь тэдгээрийн физик хаяг буюу МАС хаяг нь болж өгсөн. Эдгээр хаяг нь хэрэглэгчдийг (station) тэдгээрийн datalink түвшинд таниулдаг. IP нь сүлжээний түвшний (network level ) хаяглалтанд ашиглагддаг. LAN-д хоёр station бие биенийхээ физик хаягийг мэдсэн тохиолдолд холболт тогтоож болно.
#### **ARP бүтэц**
:Энэ протокол нь физик хаягт интернетийн хаягийн байршлыг тогтоогч (mapping)үйлчилгээг гаргана. Энэ нь мэдээллийг интернетээр чиглүүлэхэд амин чухал юм. 
Дохио(эсвэл өөр өгөгдөл) илгээгдэхийн өмнө интернетийн дамжуулалт тээвэрлэлтэд зориулагдсан IP пакетуудад өөрөөр мэдээллийн блок болон багцлагддаг. Эдгээр ньүүсгэсэн болон очих машинуудын хоёулангийнх нь интернет хаягийг (IP) агуулдаг.Эдгээр багцууд нь үүсгэсэн машинаа орхин явахын өмнө хүрэх машиных нь физик хаягнь мөн тодорхойлогдсон байх ёстой (физик хаяг нь IP хаягаас ялгаатай). Энэ бол ARP –ын ажлын эхний хэсэг юм. 
ARP-ын хүсэлтийн дохио дотоод сүлжээгээр ( subnet )тархана. Энэ хүсэлт нь чиглүүлэгчээр дамжигдах ба хариуд нь ирэх физик хаяг нь мөнтүүгээр дамжигдан ирнэ. Энэ хариулт нь хүсэлт үүсгэсэн машинд баригдаж дамжуулалтэхэлдэг. ARP-ын дизайнд КЭШ ойн (cash )загвар багтсан байдаг. 
Үүнд ихэнх орчин үеийн броузерууд (Netscape Navigator, Internet Explorer) кэшийг ашигладаг. Кэш нь дискний(эсвэл санах ойн) хэсэг бөгөөд түүнд зорчсон Web хуудсуудын элементүүд (товчнууд,хуудсын толгойнууд, ба энгийн графикууд) хадгалагддаг. Энэ нь уг хуудаст буцан орох(back) орох үед дахин гадаад машинаас ачаалах шаардлаггүй болох юм. Хэрэв энэхуудас нь чиний дотоод кэшт байгаа бол тэндээс улам хурдан дуудагддаг. Бидний тохиолдолд дуудагдсан машины физик хаяг нь хадгалагдах бөгөөд энэ нь цаг хугацаа нөөцийг хэмнэнэ. Гэвч энэ нь кракеруудад ямар нэг машины кэш дэх хаягуудын нэгийг ашиглан гадаад машинтай холбоо тогтоох боломжийг ямар нэг хэмжээгээр олгодог юм

##### Тоног төхөөрөмжийн төрөл (H TYPE)
:Энэ талбар нь сүлжээний протокол төрлийг заана. 
##### Протоколын төрөл (PTYPE)
:Энэ талбар нь ARP хүсэлтийг зорилготой юм Бүх InterNetwork протоколыг заана.
##### Тоног төхөөрөмжийн урт (HLEN)
:Тоног төхөөрөмжийн хаяг (октэтийн-д) урт юм. Ethernet хаягууд хэмжээ 6 юм.

##### Протокол нь урт (PLEN)
:Дээд түвшний протокол ашигласан хаягуудын (октэтийн-д) урт юм. (Дээд давхарга протокол P төрлөөр-д заасан.) IPv4 хаяг хэмжээтэй дөрвөн байна.
##### Үйл ажиллагаа
:хариу авах хүсэлт гаргах 1, 2 илгээгч хийж байгаа үйл ажиллагааг тодорхойлно.
##### Илгээгч төхөөрөмжийн хаягийг (SHA)
:Илгээгчийн Хэвлэл мэдээллийн хаяг.  ARP хүсэлт нь энэ талбар хүсэлтийг илгээж байгаа хост хаяг зааж ашиглаж байна. ARP Энэ талбар нь хүсэлтийг хайж байсан бол хост хаяг зааж ашиглаж байна хариулах хэрэгтэй. (Заавал виртуал хэвлэл мэдээллийн хэрэгслээр гарсан тохиолдолд гэж хариулах гээд хост авч байх.) Свич Ялангуяа MAC хаяг сурах, энэ салбарт анхаарч байхгүй бол гэдгийг анхаарна уу. ARP PDU Ethernet хүрээ рүү орж хайрцаглалт байгаа бөгөөд энэ нь 2-р төхөөрөмж судлах зүйл Layer юм.
##### Илгээгч протокол хаяг (SPA)
:Илгээгчийн Internetwork хаяг.
##### Зорилтот тоног төхөөрөмжийн хаяг (THA)
:Төлөвлөсөн хүлээн авагчийн Media хаяг. ARP хүсэлт нь энэ талбарыг орхино.ARP Энэ талбар нь хост ARP хүсэлтийг гаралтай хаягийг зааж ашиглаж байна хариулах хэрэгтэй.
##### Зорилтот протокол хаяг (TPA)
:Төлөвлөсөн хүлээн авагчийн Internetwork хаяг.

#### **ARP төрөл**
##### Inverse Address Resolution Protocol
(Урвуу ARP эсвэл RARP) Сүлжээний Layer хаяг IP хаягууд Data Link Layer (Layer 2) хаягууд нь бусад цэгийг олж авч ашигладаг. Энэ нь юуны өмнө Frame Relay (DLCI) болон ATM сүлжээг ашиглаж байгаа бөгөөд Layer-д виртуаль хэлхээ 2 хаяг заримдаа Layer 2-р дохиолол авсан байдаг ба тэдгээр нь виртуал хэлхээ ашиглаж болно өмнө нь харгалзах Давхарга 3 хаягууд нь бэлэн байх ёстой.
##### Reverse Address Resolution Protocol
ARP буюу RARP : RARP шиг Түвшин 2 хаягийг 3 хаягийг давхарга руу хөрвүүлнэ. Гэсэн хэдий ч, RARP-д хүсэлт станц өөр нэг зангилааны Давхарга 3 хаяг, RARP хаяг тохиргооны зорилгоор хүсэлт станц өөрөө Давхарга 3 хаягийг олж авахын тулд ашиглаж байгаа бол асуулга. RARP хуучирсан байх. Энэ нь BOOTP, дараа нь Dynamic Host Configuration Protocol (DHCP) нь хүчингүй болсон солигдсон байна.
### **ARP мэхлэлт болон итгэмжлэгдсэн ARP**
:ARP нь сүлжээн дээр хариу танилтын хувьд аргыг хангаж чадахгүй учраас ARP шаардлагатай Layer 2-р хаягаар нэгээс бусад системээс ирж болно хариу. Нь ARP прокси нь ихэвчлэн ийм залгадаг интернэт үйлчилгээний хувьд сүлжээний загвар, нэг хэсэг болгон, учир нь энэ нь урсгалыг дамжуулдаггүй юм өөр системийн нэрийн өмнөөс ARP хүсэлтийг хариулдаг систем юм. Харин ARP-д хариулах системийг хууран мэхлэлтээс, эсвэл spoofer тухайн системийн хувьд үүрэг мэдээллийг замаас нь зорилгоор өөр системийн хаяг нь хүсэлтэд хариу. A хортой хэрэглэгч гүйцэтгэх ARP хууран мэхлэлтээс ашиглаж болох хүн-д-дунд, эсвэл сүлжээн дэх бусад хэрэглэгчдийн мэдээлэл дээр хаасныг-ийн үйлчилгээний халдлага. Төрөл бүрийн програм хангамж, илрүүлэх, ARP хууран дайралт хийх аль алинд нь ARP нь өөрөө ийм халдлагаас хамгаалах ямар нэгэн арга хангаж чадахгүй гэсэн байдаг.
### **Стандарт баримт бичиг**
RFC 826 - Ethernet Address Resolution Protocol, Internet Standard STD 37.

RFC 903 - Reverse Address Resolution Protocol, Internet Standard STD 38.

RFC 2390 - Inverse Address Resolution Protocol, draft standard

RFC 5227 - IPv4 Address Conflict Detection, proposed standard

### **ARP Poisoning attack**
Сүлжээний инжнерүүд энэ төрлийн дайралтын талаар сайн мэдэж байгаа байх, энгийн бидний амьдралд ч өдөр тутамд тулгарч мэдэх дайралт… ARP протоколын ажиллах зарчим дээр тулгуурлаж хийгддэг дайралт юм. Үүний тусламжтай дотоод сүлжээнд байгаа компьютеруудын сүлжээний өгөгдлийг замаас нь барьж авах боломжтой болдог. Энэ төрлийн дайралтыг ашигладаг програм хангамжууд ч ихээр байдаг, жишээ болгоход сүлжээн дотроо байгаа хүмүүсийн Yahoo, MSN Messenger – үүдийн чатыг нь уншдаг програмууд энэ дайралт дээр тулгуурладаг. Энэ дайралтын ажиллах зарчим нь тун энгийн. Үүнийг тайлбарлахын тулд эхлээд ARP протоколын талаар мэддэг байх хэрэгтэй. ARP протокол нь IP address болон Mac address – уудыг холбож өгдөг. MAC хаягыг  нь мэдэхгүй тохиолдолд ямар ч сүлжээнд өгөгдөл дамжуулах боломжгүй байдаг. Тиймээс сүлжээний бүх төхөөрөмжүүд өөр дээрээ ARP table буюу ARP хүснэгттэй байдаг. Энэ хүснэгтэнд сүлжээн дотор байгаа төхөөрөмжүүдийн (switch, router, pc, laptop, smartphone…) IP хаяг болон MAC хаягууд хадгалагдаж байдаг. Та өөрийн хэрэглэж буй компьютер дээрээ доорх командаар ARP Table – ыг шалгаж болно.

 
Энэ хүснэгтэн дээрх хаягуудыг ARP протокол нь ARP Request, response ашиглан олж авдаг. Доорх зурган дээр ARP Request, Response – ийг харуулсан байна, 192.168.1.105 гэдэг IP хаяг ямар MAC Address – дээр байгааг мэдэхгүй учраас энэ хүсэлтийг сүлжээгээр broadcast байдлаар цацсан байна,  энэ нь энэхүү хүсэлт сүлжээн дотор байгаа бүх л сүлжээний төхөөрөмжүүдэд хүрнэ гэсэн үг. Ингэж сүлжээгээр нэлэнхүйд нь өгөгдөл цацахыг broadcast гэдэг бөгөөд үүний тулд MAC хаягын түвшинд Destination Mac address – ийг FF:FF:FF:FF:FF:FF болгож өгдөг. Үүнийг хүлээн авсан сүлжээний төхөөрөмж тухайлбал Layer 2 switch – нь өөрийн бүх портруугаа илгээдэг.  Ингэж илгээсэн хүсэлтийг сүлжээнд дотор байгаа бүх л төхөөрөмжүүд хүлээн авах бөгөөд боловсруулахдаа ARP протоколын түвшинд Target IP Address нь өөрийнх нь хаяг биш байвал зүгээр л юу ч хийлгүй орхидог, харин өөрийнх нь хаяг мөн байгаа тохиолдолд Source төхөөрөмж рүү ARP Response – ийг өөрийнхөө MAC Address – аар нөхөөд хариу илгээдэг. Энэхүү процесс нь яг л хэсэг бүлэг хүмүүс дундаас Дорж гэдэг хүнийг олохын тулд Та нар дунд Дорж гэдэг хүн байна уу гэж хашгирахтай адил. Хэрвээ Дорж байгаа бол би байна аа гээд гарч ирнэ. Харин бусад нь юу ч хийхгүй.

 
Ингэж ARP table – ийг сүлжээн дэх бүх л төхөөрөмжүүд өөр дээрээ байгуулдаг байх нь. Гэхдээ энэхүү хүснэгт нь нэг л үүссэн бол байнгынх биш, үргэлж өөрчлөгдөж байдаг, учир нь сүлжээний IP address – ууд үргэлж өөрчлөгдөж байх боломжтой байдгаас тэр.  Яг л энэ цэг дээр ARP Poisoning attack ажиллаж эхлэдэг. 
ARP Poisoning attack – ийг хийж буй Хост компьютер нь бусад төхөөрөмжүүд рүүгээ хуурамж ARP response явуулж төөрөгдөлд оруулдаг. Жишээ болгон хэлэхэд хуурамч ARP Response – нь 192.168.1.105 нь энэ MAC хаяган дээр байгаа шүү гэж өөрийнхөө MAC хаягыг илгээж мэдэгдэхэд сүлжээн дотор байгаа төхөөрөмжүүд өгөгдлөө 192.168.1.105 – руу дамжуулахдаа ARP poisoning attack хийж буй хост руу дамжуулж эхлэдэг, үүнийг хүлээж авсан хост цааш нь өгөгдлийг өөрчлөөд эсвэл шууд дамжуулдаг. Мөн дайралтанд өртөж буй төхөөрөмжүүд рүү чиглэсэн өгөгдлийг ч гэсэн адил зарчмаар барьж аваад эргүүлэн дамжуулдаг. Ингэж өгөгдлийг дундаас нь барьж авдаг байх юм. Үүнээс сэргийлэх олон аргууд байдаг. Програм хангамжын аргаар эсвэл Техник хангамжын аргаар сэргийлж болно. Эсвэл зүгээр л Static ARP table ашиглан сэргийлсэн ч болно. Static ARP table – ыг зөв зүйтэй ашиглавал энэ төрлийн дайралтаас бүрэн сэргийлж болно.

### **Гадаад Холбоосууд**
ARP тухай

ARP шалтгаанууд

ARP-SK багаж

wireShark файл

Ангилал:Сүлжээний протокол (хамгаалалтын давхарга)
Ангилал:IP хаяглалт