Network, SE

2010/4/26 - ARP/RARP PROTOCOL - www.owc.org.mn

Ангилал: NETWORK

Address Resolution Protocol.

ARP протоколARP protocol нь RFC 826-д агуулагддаг. Internet (ARPAnet биш)-ийн сүлжээ нь өндөр хурдтай LAN ( жишээ нь enthernet, token ring мөн FDDI )-тэй хамт хөгжиж ирсэн бол TCP/IP нь тэгэж хөгжөөгүй юм. Ethernet сүлжээ нь анх 1980 онд гарсан ба 1982 онд 2-р хувилбар нь гарснаар улам өргөжин хөгжсөн. TCP/IP нь эхний үедээ IMP (interface message processor) руу чиглэсэн цуваа шугам дээр суурьлигдсан байсан. Host-ууд нь IMP-д холбогдох ба IMP нь телефоны шугамаар ARPAnet-ийн (одоогийн Internet биш ) бүх сайтуудад холбогдох боломжийг олгоно. IP хаяг нь хэрэглэгчийг тодорхойлно. (хожим нь сүлжээг болон subnetwork-ийг ч тодорхойлох болно Тэр үед хэрэглэгчийг физик талаас нь адилтган тодорхойлох шаардлага байгаагүй учир нь IMP болгонд зөвхөн нэг л хэрэглэгч холбогдсон байсан. Multiple host (олон host)-ийг IMP-руу холбож болох боловч host болгон нь IP хаягтай байсан. Хэдийгээр multiple station-ууд нь сүлжээнд жишээ нь ethernet-д холбогдох боломжтой байсан боловч эдгээрийг ethernet дээр физик талаас нь таниулан тодорхойлох шаардлагатай байсан. LAN сүлжээний дизайнерууд сүлжээний attachment (хамтран эзэмшилт)-ийг таниулахын тулд 48 битийн хувиарлалт хийсэн. (зориулсан) Энэ нь тэдгээрийн физик хаяг буюу МАС хаяг нь болж өгсөн. Эдгээр хаяг нь хэрэглэгчдийг (station) тэдгээрийн datalink түвшинд таниулдаг. IP нь сүлжээний түвшний (network level ) хаяглалтанд ашиглагддаг. LAN-д хоёр station бие биенийхээ физик хаягийг мэдсэн тохиолдолд холболт тогтоож болно.
LAN хаяг нь 48 бит харин IP хаяг нь 32 бит байдгаас асуудал хүндрэлүүд гардаг. Үүний шийдэл нь маш энгийн бөгөөд тогтсон IP хаяглалтын бүтцэнд (scheme) нөлөөлөхгүй. Энэ арга нь Address Resolution Protocol буюу ARP юм. ARP header-ийн формат нь 8-12-д үзүүлэв.

Type of Hardware Type of Protocol Length of header Length of protocol address Operation Hardware address of the source station Protocol address of the source station Hardware address of the destination station Protocol address of the destination station DA SA TF Data CRC 8-12 ARP header encapsulation Хэрэв хэрэглэгч сүлжээний дугаартай ижил дугаартай host-той холбогдох болбол TCP/IP нь ARP-ийг ашиглан холбогдох host-ийн физик хаягийг олно.Хэрэв холбогдох station-ы сүлжээний дугаар нь ( бага, холын ) байвал router ашиглан datagram-ыг шууд station-д хүргэнэ. Энд ч мөн адил ARP-ыг ашиглаж байгаа боловч зөвхөн router-ийн физик хаягийг олход л ашиглаж байна.
Харин station ARP-ийн бүх багцыг хүлээн авдаг учир нь originator нь багцыг broadcasting буюу өргөн нэвтрүүлгийн горимоор нэвтрүүлдэг. Бүх station нь эдгээр багцыг хүлээн аваад өөртөө хэрэгтэй мэдээллийг glean (түүж ) авдаг. Эдгээр багцанд дамжуулагчийн текник хангамжийн болон IP хаягийн маpping гэх мэт бусад station-д өөрсдийн ARP кэшийг зохион байгуулхад шаардлагатай мэдээлэл агуулагддаг. Ихэнх station нь өөрсдийн ARP хүснэгтийг тодорхой давтамжтайгаар (period) цэвэрлэдэг /*ба энэ нь кэшийг сэргээх (refresh) санах ойг cycles-ийг бууруулдаг */ Мөн энэ нь хүснэгтийг update хийхэд ашиглагддаг. Хэрвээ station нь нэг subnet-ээс нөгөөд шилжихэд хуучин subnet дэх station-ууд нь өөрсдийнхөө хүснэгтийг цэвэрлэхгүй ба тэдгээр нь хуучин hardware хаягаар мэдээллийг хүлээн авч хүснэгтэндээ хадгалсаар байдаг.

ARP operation

8-13-д үзүүлснээр TCP/IP сүлжээний нэг station нь нөгөөтэйгээ холбогдохын тулд түүний IP хаягийг мэдэх шаардлагатай байгаа нь харагдаж байна.
Жишээ нь 129.1.1.4-р хэрэглэгч 129.1.0.0-р хэрэглэгчтэй холбогдохыг хүсэж байна.(үүнд subnet хаяглалтыг ашиглаагүй) Иймд энэ station-ы В классын сүлжээний хаяг нь 129.1.0.0 PC-ын host хаяг нь 1.1 эндээс хаяг 129.1.1.1 болно. Overhead (нэмэлт)-ыг бууруулахын тулд ихэнх TCP сүлжээний station-ууд нь өөрсдийн host машин дээрх LAN physical-address-to-IP-address хүснэгтийг дэмждэг. ARP хүснэгт гэдэг бол сүлжээнээс авсан datalink physical-address-to-IP-address-ыг агуулсан RAM-ын нэг хэсэг юм. Destination station-ы IP хаягийг мэдсэний дараа source station нь өөрийнхөө ARP хүснэгтээс мэдээлэл очих машины физик хаягийг хайж олно. IP нь IP хаягийг физик хаягтай хамт бэхжүүлж (физик хаягийг багцын datalink-ийн header дээр байрлуулна) IP датаграмыг datalink сүлжээ руу дамжуулалт хийхээр дамжуулна.




Надад 129.1.1.4 node-ийн МАС хаягийг явуул. ARP хариу ARP Биш Биш Мөн Хүсэлт ARP хүсэлтийг Хүсэлтийг Хүсэлтийг зөвшөөрөв хэрэгсэхгүй хэрэгсэхгүй 8-13 Address reolution protocol Хэрвээ хаяг нь ARP хүснэгтэнд байхгүй бол ARP протокол нь ARP хүсэлтийн багцыг үүсгэж түүнийг физик хаяглалт бүхий broadcasting горимоор дамжуулна. (очих хаяг FF-FF-FF-FF-FF-FF) Өргөн нэвтрүүлгийн горимоор дамжуулсан тулд сүлжээн дэх бүх station-ууд багцыг хүлээн авах боловч дээрх хаягтай ганцхан host нь хариулт өгнө.
Жишээ нь 129.1.1.4 хаяг бүхий host ARP бүхий хүсэлтийн багцыг хүлээн авч хариуг физик хаяглалт бүхий 129.1.1.1 руу буцаана. Хүсэлтийн багцанд өөрийнх нь IP хаяг байгаа host нь ARP хариултын багцаар хариуг явуулах ба буцаах хаяггүй тохиолдолд broadcasting горимоор өөрийн хаягтайгаар сүлжээний originator зохицуулагч руу явуулах ба зохицуулагч нь хүсэлтийг хүлээн аваад source хаягийг задлаад өөрийнхөө ARP хүснэгтийг update хийнэ.


Hardware-ын төрөл Ихэвчлэн IEEE 802 дах сүлжээнүүдийг таних ба заримдаа бусад төрлийг ч үзүүлдэг. /indicate/
Протоколын төрөл TCP/IP сүлжээний IP-ыг үзүүлнэ. Мөн Apple Talk-ийг үзүүлнэ.
Толгойн урт ARP толгойн уртыг үзүүлнэ.
Протоколын хаягийн урт Энэ нь Apple Talk мэтийн бусад сүлжээнд ашиглагдаг тул протокол хаягийг үзүүлнэ. /IP юмуу Apple Talk/
Үйлдэл ARP хүсэлт ба хариу буюу толгойн үйлдлийг үзүүлнэ.
Үүсвэрийн хаяг Үүсвэрийн физик хаяг
Үүсвэрийн протокол хаяг Үүсвэрийн IP хаяг
Destination-ы физик хаяг Хүсэлт нь ofpacket үед 0 харин ARP reply бол destination-ы фзик хаягийг агуулна. Destination-оор дүүргэгдэнэ.
Destination-ы протокол хаяг Үүсвэрээр дүүргэгдэнэ. Destination-ы IP хаягийг агуулна. Зөвхөн энэ хаяг нь тохирсон машин хариуг илгээнэ.

8.4 хүснэгт ARP багцын тодорхойлолт


Одоо байрлал тодорхойлогдсон тул тэрээр IP datagram-ыг IP болон физик хаяг ашиглан destination station руу явуулна. Энэхүү процесс нь хэрэглэгчийн санамсаргүй үйлдэл мэтээр гүйцэтгэгдэнэ. Хэрэглэгч TCP-ын application (терминалын үйлчилгээний TelNet, SMTP for mail service, FTP)-оос аль нэгийг нь ашиглан холбогдохыг оролдоно. Энэхүү ARP хүсэлт болон хариулт нь холболтын үед автоматаар явна гэвч ихэнх TCP vendor supply utility программ нь хэрэглэгчдэд ARP хүснэгтэн дэх мэдээллийг харах боломжийг олгодог.
Протоколын үр ашигтай талыг сайжруулахын тулд физик сүлжээний ARP багцыг хүлээн авч буй station нь ARP кэшийг update хийдэг. ARP cache-ийн жишээг 8-3-д үзүүлэв. Явуулагчийн физик болон IP хаяг нь багцанд байх ба бүх station өөрсдийн ARP хүснэгтээ зэрэг update хийх боломжтой. 8-12-д ARP багцын форматыг үзүүлэв. Энэ нь ethernet багцанд агуулагдаж байгааг үзүүлэв. Энэхүү ARP процесс нь ижилхэн LAN дээр холбогдсон station хооронд явагдана. (мөн ижилхэн сүлжээний дугаартай ) Хэрэв тэдгээр нь ижил LAN дээр холбогдоогүй бол ARP нь ажилласаар байх боловч router-ийн хаяг нь олдоно. Физик хаяг IP хаяг 02-60-8C-01-02-03 129.1.1.1 FF-FF-FF-FF-FF-FF 129.1.1.255 FF-FF-FF-FF-FF-FF 255.255.255.255 00-00-A2-05-09-89 129.1.1.4 08-00-20-67-92-89 129.1.1.2 08-00-02-90-90-90 129.1.1.5 8-3 хүснэгт 129.1.1.1
station-ы ARP хүснэгт Hardware-ын төрөл Ихэвчлэн IEEE 802 дах сүлжээнүүдийг таних ба заримдаа бусад төрлийг ч үзүүлдэг. /indicate/ Протоколын төрөл TCP/IP сүлжээний IP-ыг үзүүлнэ. Мөн Apple Talk-ийг үзүүлнэ. Толгойн урт ARP толгойн уртыг үзүүлнэ. Протоколын хаягийн урт Энэ нь Apple Talk мэтийн бусад сүлжээнд ашиглагдаг тул протокол хаягийг үзүүлнэ. /IP юмуу Apple Talk/ Үйлдэл ARP хүсэлт ба хариу буюу толгойн үйлдлийг үзүүлнэ.
Үүсвэрийн хаяг Үүсвэрийн физик хаяг Үүсвэрийн протокол хаяг Үүсвэрийн IP хаяг Destination-ы физик хаяг Хүсэлт нь ofpacket үед 0 харин ARP reply бол destination-ы фзик хаягийг агуулна. Destination-оор дүүргэгдэнэ. Destination-ы протокол хаяг Үүсвэрээр дүүргэгдэнэ. Destination-ы IP хаягийг агуулна. Зөвхөн энэ хаяг нь тохирсон машин хариуг илгээнэ. 8.4 хүснэгт ARP багцын тодорхойлолт

ARP-ийн дүрэм

ARP нь IP протоколын нэг хэсэг биш ба иймд IP header-үүдийг агуулахгүй. ARP нь datalink түвшний дээр ажиллана. ARP хүсэлт ба хариулт нь destination физик хаягтай broadcasting дамжуулагдах бөгөөд тэдгээрийн логик subnet-ийг орхихгүй. ARP нь IP-ын хэсэг биш учраас New Ether Types- нь энэ төрлийн багцыг танихаар дамжуулагдаж болно. 0806 бол ARP хүсэлт ба 0806 бол ARP хариулт байх болно. Зарим ARP implementation (багаж хэрэгсэл ) нь 0800 ether type-аар дамжуулагдаж болно. Учир нь IP нь багцыг ARP хүсэлт мөн ARP хариултын багц мэтээр таних чадвартай байдаг. Мөн зарим IP багаж (implementers) нь эдгээр хэлбэрийг ашигладаггүй. Харин зарим нь ARP-ийн EtherTypes of 0800-ийг ашигласаар байна. Зарим implementation нь ARP боломжтой байдаг Энэ нь ARP-д удаан хугацааны турш ашиглагдаагүй өгөгдөл entry-ийг устгах боломжийг олгодог. Энэ нь ARP-ийг харах /lookup/ хугацааг багасгаж санах ойг хэмнэдэг. 5.2 Хаяг тогтоолтын асуудал Физик сүлжээнд А болон В гэсэн хоёр машин холбогдсон байна гэж үзье. Тэдгээр Iа гэсэн Iв интернет хаягтай мөн Ра Рв гэсэн физик хаягтай. Гол зорилго нь физик хаягыг нууцалдаг доод түвшний программ хангамжийг devise /зохиох/ болон дээд түвшний программ хангамжийг зөвхөн интернет хаягуудтай ажилладаг болгоход оршино. 5.3 Физик хаягын хоёр төрөл Үндсэн хоёр төрлийн физик хаяг байдаг ба үүнийг Ethernet болон Pronet-ээр жишээлбэл эхнийх нь том fixed хаяг ба нөгөө нь бага хэмжээтэй амархан тохируулагддаг хаягууд болно. Хаягын resolution нь /хувиргалт/ ethernet мэтийн сүлжээний хувьд хэцүү харин Pronet мэтийн сүлжээнд амархан байдаг. Эхлээд амархныг нь авч үзье.

5.4 resolution through direct mapping ProNet-ийг token ring сүлжээгээр авч үзье. ProNet нь бага хэсжээний interger-ийг физик хаягуудад ашигладаг ба интерфейс board-ийг машин дээрээ суулгах үед хэрэглэгчид физик хаягийг сонгох боломжийг олгодог. ProNet мэтийн сүлжээнд IP хаягаас физик хаягийг тооцоолон олох нь амархан байдаг. Тооцоолох процесс нь host-ийн IP хаягийн portion- /хэсэг/-ыг гаргахаас /extract/ тогтоно. Энэхүү extract нь цөөхөн машины зөвлөгөөг /unstruction/ авадаг учраас маш үр бүтээмжтэй байдаг. Mapping-г хийхэд маш амархан учир нь гадаад өгөгдлийн лавлагаагүйгээр /reference/ гүйцэтгэгддэг. Эцэст шинэ машинуудыг холбохдоо ашиглагдаж байгаа тохируулга, recompiling кодыг өөрчлөх шаардлагагүй. Ерөнхийдөө хаягийн resolution-ыг сайжруулах дугаарлалтын арга нь гэдэг нь IP хаягаас физик хаяг руу map хийдэг f гэсэн функцыг сонгоно гэсэн үг юм. Дизайнер нь мөн hardware-ээс хамааран физик хаяглалтын аргыг олгох боломжтой. Ia гэсэн IP хаягийг задлана гэдэг нь PA=f(IA) үүнийг бодно гэсэн үг юм. Бидэнд f-ийн тооцлолтын бүтээмж өндөр нь ашигтай. Хэрвээ физизк хаягуудын set нь constrined /шахагдсан/ бол бүтэээмжтэй mapping-уудыг дээр өгөгдсөн жишээнээс өөрөөр arrange буюу эмхлэх /эрэмбэлэх/ боломжтой.
Жишээ нь ATM мэтийн connecyion oriented сүлжээнд IP-г ашиглах явцад нэг нь физик хаягийг сонгож чадахгүй. Ийм сүлжээнүүдэд нэг болон түүнээс дээш комьпютерууд нь хос хаягийг ( үүнд IP хаяг ба физик хаяг орно )хадгалдаг. Жишээ нь value буюу утгууд нв санах ойд орших хүснэгтэнд хадгалагддаг үүний тулд энэ хүснэгтийг хаж олох шаардлагатай. Энэ нөхцөлд хаягийг resolution-ыг бүтээмжтэй байлгахын тулд программ хангамж нь hash функцыг ашиглаж эдгээр хүснэгтүүдийг олдог. 5.5 Resolution through dynamic binding Хаягийг resolution нь яагаад зарим сүлжээний хувьд хүнд байдгийг ойлгохын тулд Ethernet технологийг авч үзье. Ethernet интерфейс нь 48 битийн физик хаягтай. Үүний муу үр дагавар нь hardware-д алдаа гаран ethernet interface-нь солигдоход физик хаяг нь бас өөрчлөгддөг. Мөн ethernet хаяг нь 48 битийн урттай учраас түүнийг 32 битийн IP хаягаар encode хийх ямарч боломж байхгүй. TCP/IP протоколын дизайнерууд Ethernet мэтийн өргөн нэвтрүүлэх боломжтой сүлжээнүүдийн хаягийг resolution-ы асуудлыг шийдэх арга олсон. Энэ арга нь сүлжээнд холбогдож буй шинэ машинуудыг recompliling хийхгүйгээр холбох мөн төв өгөгдлийн сангийн дэмжлэгийг /maintenance/ шаардаад байхгүй байх боломжийг олгодог.
Maintaining таble буюу туслах хүснэгтийг ашиглахгүй байхын тулд дизайнерууд нь хаягийг динамикаар багцлахын тулд доод түвшний протоколуудыг ашиглах болсон. Address resolution protocol буюу ARP нь хамгийн бүтээмж өндөртэй мөн түүний хажуугаар maintain буюу "барьж " байхад хялбар механизмтай. 5.1-д ARP ашиглан динамик resolution хийх санааг гаргав. А host-д IB гэсэн IP хаяг шаардлагатай /resolve/ болвол тэрээ өргөн нэвтрүүлгийн горимоор Iв хаягийг ашиглан Рв физик хаягаа буцаан явуулах хүсэлтээ тусгай багцаар явуулна. В болон бусад бүх host багцыг хүлээн авах боловч зөвхөн В нь өөрийн IP хаягийг таниж хүсэлтийн дагуу физик хаягтай багцаа буцаана.А нь түүнийг хүлээн авмагц энэ физик хаягийг ашиглан интернет багцыг шууд В руу явуулна. Эндээс дүгнэвэл ARP нь зөвхөн IP хаяг нь мэдэгдэж байгаа үед target host-ийн физик хаягийг олж авах боломжийг олгодог. (a) (b) 5.1-р зураг ARP протокол Iв буюу өөрийн IP хаягаас В-ийн физик хаяг Рв-г тодорхойлохын тулд (a) host нь Iв-г агуулсан багцыг сүлжээгээр бүх машинууд нь дамжуулна. (b) host (Iв,Рв) гэсэн хосыг агуулсан ARP багцаар хариуг явуулна. 5.6 AR кэш Сүлжээн дэх А машин нь В тэй холбогдохын тулд эхлээд broadcast дамжуулалтаар багц явуулна. Харин багцыг broadcast-аар дамжуулахын тулд "би чамд яаж хүрч болох вэ?" асуултыг А явуулна. Гэвч энэ нь зайлшгүй шаардлагатай.
Broadcast дамжуулалт нь сүлжээн дэх машин болгоныг broadcast багцыг боловсруулахыг шаарддаг учраас тэр болгон ашиглаад байх боломжгүй. Холболтын өртгийг бууруулахын тулд комьпютерууд нь ARP-ыг давтан хэрэглэхийн оронд кэш ашиглах нь зохимжтой. Өөрөөр хэлбэл ARP reply хариу хүлээн авсан машин нь явуулагчийн IP болон физик хаягийг өөрийн кэшдээ хадгалдаг. Хариу багц / ARP хүсэлт /дамжуулах болгонд тухайн машин заавал өөрийнхөө кэшд binding байгаа эсэхийг шалгадаг. Хэрвээ ARP кэшд нь хүсэлтийн binding олдсон тохиолдолд тухайн машин нь сүлжээгээр broadcast хийх шаардлагагүй болно. Ихэнх сүлжээний холболт нь нэг багцаас илүүг дамжуулснаар тогтдог учраас бага хэмжээтэй гэсэн ч кэшийг ашиглах нь илүү байдаг. 5.7 ARP refinement / боловсруулалт сайжруулалт/ ARP-ын хэд хэдэн боловсруулалт байдаг. Нэгдүгээрт хэрвээ host А нь В-рүү дамжуулалт хийхийн тулд ARP ашиглаж байвал эсрэгээр В-ээс А руу буцаан дамжуулалт хийх өндөр боломжтой. А машин нь В-ын энэхүү дамжуулах боломжийг урьдчилан бодож мөн сүлжээнд нэмэлт бөглөрөл үүсгэхгүйн тулд өөрийн IP to физик хаяг гэсэн binding-ийг дамжуулдаг.В нь энэхүү binding-нь багцуудаас ялган аваад өөрийн кэшд хадгалах ба А руу дамжуулалт хийх тохиолдолд ашиглана. Хоёрдугаарт А нь broadcast горимоор өөрийн initial хүсэлтийг дамжуулах тул сүлжээний бүх машинууд түүний binding хүлээн авч өөрсдийн кэшд хадгална гэдгийг анхааран үзэх Гуравдугаарт комьпютер нь өөрийн host интерфейсийг сольсноос /түүний текник хангамжинд алдаа гарснаас болох г.м/ түүний физик хаяг өөрчлөгдлөнө.
Иймд сүлжээний бусад машинуудад өөрсдийн кэш дэх binding өөрчлөх хэрэгтэй мэдээлэх шаардлагатай болно. Систем нь бусад машинууд ачаалагдах үед broadcast горимоор ARP дамжуулснаар үүнийг шийдэх болно. Эндээс дүгнэлт хийхэд явуулагчийн IP to физик хаяг гэсэн binding нь broadcast горимоор дамжих ARP болгонд байх ба хүлээн авагч нь ARP багцын боловсруулалт хийхээс өмнө өөрсдийн кэш дэх IP to физик хаяг binding-даа update хийнэ. 5.8 ARP-ын бусад протоколтой холбогдох нь ARP нь IР хаягаас физик хаяг руу хөрвүүлэлт хийх механизмтай. Хэрвээ бид сүлжээний бүх hardware-ын IP хаягуудыг тодорхойлж чадвал ARP-ыг ашиглах шаардлагагүй болно. Иймд ARP нь шинэ хаягийн хэсгийг тухайн hardware-ийн хэрэглэж буй доод түвшний хаяглалтын механизмын дээр оноодог. Энэхүү санааг дүгнэвэл ARP бол сүлжээний физик хаяглалтыг нууцалдаг доод түвшний протокол ба нэг машинд бусдынхаа IP хаягийг тогтоох боломжийг олгодог.ARP бол физик сүлжээний системийн хэсэг болгохоос интернет протоколын хэсэг биш юм.
ARP нь IP протоколын нэг хэсэг биш ба иймд IP header-үүдийг агуулахгүй. ARP нь datalink түвшний дээр ажиллана. ARP хүсэлт ба хариулт нь destination физик хаягтай broadcasting дамжуулагдах бөгөөд тэдгээрийн логик subnet-ийг орхихгүй. ARP нь IP-ын хэсэг биш учраас New Ether Types- нь энэ төрлийн багцыг танихаар дамжуулагдаж болно. 0806 бол ARP хүсэлт ба 0806 бол ARP хариулт байх болно. Зарим ARP implementation (багаж хэрэгсэл ) нь 0800 ether type-аар дамжуулагдаж болно. Учир нь IP нь багцыг ARP хүсэлт мөн ARP хариултын багц мэтээр таних чадвартай байдаг. Мөн зарим IP багаж (implementers) нь эдгээр хэлбэрийг ашигладаггүй. Харин зарим нь ARP-ийн EtherTypes of 0800-ийг ашигласаар байна. Зарим implementation нь ARP боломжтой байдаг Энэ нь ARP-д удаан хугацааны турш ашиглагдаагүй өгөгдөл entry-ийг устгах боломжийг олгодог. Энэ нь ARP-ийг харах /lookup/ хугацааг багасгаж санах ойг хэмнэдэг.

Maintaining таble буюу туслах хүснэгтийг ашиглахгүй байхын тулд дизайнерууд нь хаягийг динамикаар багцлахын тулд доод түвшний протоколуудыг ашиглах болсон. Address resolution protocol буюу ARP нь хамгийн бүтээмж өндөртэй мөн түүний хажуугаар maintain буюу "барьж " байхад хялбар механизмтай. 5.1-д ARP ашиглан динамик resolution хийх санааг гаргав.


А host-д IB гэсэн IP хаяг шаардлагатай /resolve/ болвол тэрээ өргөн нэвтрүүлгийн горимоор Iв хаягийг ашиглан Рв физик хаягаа буцаан явуулах хүсэлтээ тусгай багцаар явуулна. В болон бусад бүх host багцыг хүлээн авах боловч зөвхөн В нь өөрийн IP хаягийг таниж хүсэлтийн дагуу физик хаягтай багцаа буцаана.А нь түүнийг хүлээн авмагц энэ физик хаягийг ашиглан интернет багцыг шууд В руу явуулна. Эндээс дүгнэвэл ARP нь зөвхөн IP хаяг нь мэдэгдэж байгаа үед target host-ийн физик хаягийг олж авах боломжийг олгодог. (a) (b) 5.1-р зураг ARP протокол Iв буюу өөрийн IP хаягаас В-ийн физик хаяг Рв-г тодорхойлохын тулд (a) host нь Iв-г агуулсан багцыг сүлжээгээр бүх машинууд нь дамжуулна. (b) host (Iв,Рв) гэсэн хосыг агуулсан ARP багцаар хариуг явуулна.

Maintaining таble буюу туслах хүснэгтийг ашиглахгүй байхын тулд дизайнерууд нь хаягийг динамикаар багцлахын тулд доод түвшний протоколуудыг ашиглах болсон. Address resolution protocol буюу ARP нь хамгийн бүтээмж өндөртэй мөн түүний хажуугаар maintain буюу "барьж " байхад хялбар механизмтай. 5.1-д ARP ашиглан динамик resolution хийх санааг гаргав.


А host-д IB гэсэн IP хаяг шаардлагатай /resolve/ болвол тэрээ өргөн нэвтрүүлгийн горимоор Iв хаягийг ашиглан Рв физик хаягаа буцаан явуулах хүсэлтээ тусгай багцаар явуулна. В болон бусад бүх host багцыг хүлээн авах боловч зөвхөн В нь өөрийн IP хаягийг таниж хүсэлтийн дагуу физик хаягтай багцаа буцаана.А нь түүнийг хүлээн авмагц энэ физик хаягийг ашиглан интернет багцыг шууд В руу явуулна. Эндээс дүгнэвэл ARP нь зөвхөн IP хаяг нь мэдэгдэж байгаа үед target host-ийн физик хаягийг олж авах боломжийг олгодог. (a) (b) 5.1-р зураг ARP протокол Iв буюу өөрийн IP хаягаас В-ийн физик хаяг Рв-г тодорхойлохын тулд (a) host нь Iв-г агуулсан багцыг сүлжээгээр бүх машинууд нь дамжуулна. (b) host (Iв,Рв) гэсэн хосыг агуулсан ARP багцаар хариуг явуулна.


ARP implementation /хэрэгжилт/

ARP нь функцын хувьд хоёр хуваагддаг. Эхний хэсэг нь багцыг дамжуулах үед IP хаягийг физик хаяг руу map /хувиргалт/ хийдэг. Хоёрдугаар хэсэг нь гадаад машинуудын хүсэлтэнд хариулна. Гадагшаа дамжуулагдах багцуудын хувьд хаягийн resolution хувиргалт нь шууд хийгддэг мэт боловч жижиг деталиуд хэрэгжилтийг хүндрүүлдэг. Destination-ы IP хаяг өгөгдсөн үед сүлжээний программ нь энэхүү IP хаягийг физик хаяг руу mapping байгаа эсэхийг кэш шалгасны эцэст тогтооно. Хэрвээ mapping олвол программ нь физик хаягийг задлаад энэ хаягийг ашиглан өгөгдлийг frame-д байрлуулан энэ frame-ээс дамжуулна. Хэрвээ mapping мэдэгдэхгүй тохиолдолд программ broadcast горимоор ARP хүсэлтийг дамжуулж хариуг хүлээнэ. Хаягийн mapping-г олохын тулд ARP хүсэлт өргөн нэвтрүүлгээр дамжуулах нь complex /нийлмэл/ болж болно. Target /бай/ машин нь унтарсан юмуу хэтэрхий заюгүй байж болно.
Тийм тохиолдолд явуулагч нь хариуг авахгүй байх юмуу хүсэлт нь хүчингүй болно. Ethernet нь хамгийн сайн effort /чармайлт/ бүхий дамжуулалтын систем учраас анхны broadcast ARP хүсэлт нь алдагдаж болно. (энэ тохиолдолд явуулагч нь дахин дамжуулалтыг багаар бодоход дахин нэг удаа хийх болдог) host нь дамжуулж буй багцын эх багцыг хадгалдаг ба хаяг тогтоогдвол дамжуулалтаа үргэлжлүүлнэ. Host нь ARP хүсэлтийг боловсруулах боломжийг бусад application программ олгох эсэхийг шийднэ. Хэрвээ энэ эрх олгогдвол программ нь нэмэлт ARP хүсэлтийг тухайн өгөгдсөн физик хаягаар broadcast-аар дамжуулах case /тохиолдлыг/ зохицуулна. А машин нь В машины binding-г гарган авсан боловч В-гийн hardware нь fail болж /алдаа гарч/ солигдсон байх тохиолдолдыг авч үзье. В-гийн хаяг өөрчлөгдсөн бөгөөд А нь байхгүй физик хаягийг агуулна.Гэвч тэрээр хүлээн авч болно.
Энэ тохиолдлоос хархад өөрийнхөө binding агуулдаг хүснэгтээ кэш мэтээр ашиглан тодорхой хугацааны дараа өгөгдлөө арилгадаг ARP программ ямар чухал болох нь харагдаж байна. Гэвч кэш дэх өгөгдлийн timer нь binding агуулсан ARP broadcast ирсэн тохиолдолд reset хийгдэнэ. (Гэвч уг өгөгдөл нь багцыг дамжуулхад ашиглагдаж байгаа тохиолд reset хийгдэхгүй.) ARP кодын хоёрдах хэсэг нь сүлжээнээс ирэх ARP багцуудыг удирддаг.
ARP багц хүрч ирэхэд программ эхлээд явуулагчийн IP болон физик хаягийг тодорхойлох ба дараа нь энэ явуулагчийн тухай өгөгдөл кэшд байгаа эсэхийг тогтооно. Хэрвээ кэшд энэ тухай өгөгдөл олдвол багцын физик хаягаар хуучин өгөгдлийг update хийнэ. Багцын үлдсэн хэсгийг хүлээн авагч өөрөө боловсруулна. Хүлээн авагч нь хоёр төрлийн ARP багцыг handle хийнэ.
Хэрвээ ARP хүлээн авч буй машин нь хүсэлтийн target байсан бол тэрээр түүнийг харах ёстой. (зарим машин хүлээн авагчийн физик хаягаар broadcast хийсэн) Хэрвээ тийм бол ARP программ нь түүний физик хаягийг ашиглан түүнд шууд хариуг явуулна. Хүлээн авагч нь явуулагчийн хос хаягийг өөрийн кэшд (байхгүй тохиолдолд) хадгална. ARP хүсэлт дах IP хаяг нь дотоод IP хаягтай тохирохгүй тохиолдолд багц нь сүлжээн дэх бусад машинаас mapping-г хүсэх юмуу эсвэл хүчингүй болдог. Бас нэгэн сонирхолтой тохиолдол ARP хариу ирэх үед гардаг. Ашиглалтаас хамаарч боловсруулагчид нь кэш өгөгдлийг үүсгэх юмуу хүсэлт үүсхэд хамт үүсгэгдсэн өгөгдөл хэрэгтэй болж болно.
Кэш update хийгдсэний дараа нь хүлээн авагч нь хүсэлтийг өмнө нь гарсан хүсэлттэй тохируулхыг оролдоно. Ихэвчлэн багц дамжуулах үед үүсдэг хүсэлтийн хариу болон reply ирдэг.
Тухайн машин ARP хүсэлтийг broadcast дамжуулах ба хүлээн авах хугацааны хооронд application программууд болон дээд түвшний протоколууд нь уг хаягаар нэмэлт хүсэлтийг үүсгэж болно. Программ нь уг хаягаар өмнө нт дамжуулалт хийсэн эсвэл хийгээгүйг тогтоох ёстой. ARP программ нь ихэвчлэн нэмэлт багцуудыг дараалалд байрлуулдаг. Хариулт хүрч ирээд түүний binding мэдэгдсэн тохиолдолд ARP программ багцуудыг дарааллаас гаргаж багц болгоныг frame-д байрлуулан хаягийн binding-г ашиглан destination физик хаягийг дүүргэнэ. Reply-д IP хаягт зориулсан хүсэлт гараагүй бол машин нь явуулагчийн өгөгдлөөр өөрийн кэшийг update хийгээд багцыг боловсруулалтыг зогсооно.

ARP encapsulation and Identification

ARP мессеж нь сүлжээгээр дамжин нэг машинаас нөгөө машин руу очихдоо физик frame-ээр зөөгдөх ёстой. 5.2-р зурагт ARP мессеж нь frame-ын өгөгдлийн хэсэгт агуулагдсаныг үзүүлэв.


Frame нь ARP мессежийг агуулсан гэдгийг таниулахын тулд явуулагч нь frame толгойд төрөл заасан хэсэгт тусгай утгыг олгох ба ARP мессежийг өгөгдлийн хэсэгт оруулна. Frame нь дамжигдсаны дараа хүлээн авагч машин нь сүлжээний программ хангамж ашиглан төрөл заасан утгыг ашиглан агуулгыг тодорхойлно. Ихэнх үед нэг төрлийн утгыг ашиглан frame-ыг таниулдаг ба хүлээн авагч дээрх сүлжээний программ нь ARP мессежийг ARP хүсэлт юмуу ARP reply юмуу гэдгийг ялгана. Жишээ нь ethernet-ээр дамжих буй мессежийг агуулсан frame нь 080616 утгыг төрөл заах хэсэгтээ авсан байна. Энэ утга нь ethernet сүлжээний стандарт утга ба өөр сүлжээний технологиуд нь өөр утга ашигладаг.

ARP протоколын формат

Бусад протоколоос ялгагдах онцлог нь бол ARP багцууд нь fixed format /засварлагдсан формат/ толгойгүй байдаг. Үүний оронд ARP-ыг олон төрлийн сүлжээний технологийн хувьд ашигтай болгох арга бол хаягуудыг агуулсан хэсгийн урт нь тухайн сүлжээний төрлөөс хамаардаг оршино. Гэвч үүнийг interpret болон arbitrary ARP мессежийн хувьд хэрэгжүүлэхийн тулд толгойн урт болон хаягуудыг агуулсан хэсгийн хажууханд fixed засварлагдсан хэсгийг шинээр нэмэх хэрэгтэй. Ер нь ARP мессежийн формат нь arbitrary /дурын/ физик хаяг болон arbitrary протоколын хаягуудад ашиглахад хангалттай байдаг. 5.3-д IP протоколын хаягуудыг (ethernet хаягуудаас 4 octet-ээр урт )задлах үед ethernet-д (энд физик хаягууд нь 48 бит буюу 6 octet-ын урттай)хэрэглэдэг 28 octet-ын ARP мессежийн форматыг үзүүлэв.


Эндээс хархад мөр болгон дах4 octet ARP мессеж нь энэхүү текстын хувьд стандарт байна. Харамсалтай нь ARP багц дах variable уртын хэсэг нь 32 битийн хязгаар дээр яг тогтдоггүй учраас диаграммыг уншихад хэцүү болгодог. Жишээ нь явуулагчийн hardware хаяг нь sender HA бөгөөд 6 octet урттай учраас диаграммд хоёр мөр зай эзэлнэ. Hardware type гэсэн хэсэг хүлээн авагчид зориулсан hardware интерфейсийг тодорхойлох ба энэ нь ethernet сүлжээний хувьд 1 гэсэн утгыг агуулдаг. Үүнтэй адилаар протоколын төрөл хэсэг нь дээд түвшний протоколын хаягийг тодорхойлох ба IP хаягуудын хувьд 080016 утгатай. Операци хэсэг нь ARP(1) хүсэлт, ARP(2) хариулт, RARP(3) хүсэлт, RARP(4) хариултыг тодорхойлно. HLEN ба PLEN хэсэг нь hardware хаяг болон дээд түвшний протоколын хаягын утгыг тодорхойлдог учраас ARP-ыг дурын /arbitrary/ сүлжээтэй хамт ашиглах боломжийг олгодог.
Хэрвээ SENDER HA ба SENDER IP хэсгүүдэд утга байвал явуулагч нь өөрийнхөө hardware болон IP хаягийг хадгалдаг.Хүсэлт гаргах тохиолдолд явуулагч нь TARGET HA, TARGET IP талбаруудыг ашиглан хүрэх машины IP хаяг (ARP) юмуу түүний hardware (RARP) хаягийг хадгалдаг. Энэ машин нь хариуг явуулахын тулд тэрээр дутагдаж буй хаягийг бөглөөд target болон явуулагчийн хаягийг солиод операцийг давтан явуулана. Энэ давталт нь хүсэлт гаргагчийн физик болон IP хаяг хариуг явуулагчийн физик болон IP-уудыг агуулна.
IР хаяг нь тухайн машины физик хаягаас хамааралтгүйгээр тогтоогддог. Нэг машинаас нөгөө руу интернет багцыг физик сүлжээгээр дамжуулахын тулд сүлжээний программ нь IP хаягийг физик хаяг руу mар /хувиргалт/ хийх ба физик хаягийг frame-ийг дамжуулхад ашиглана. Хэрвээ физик хаяг нь IP хаягаасаа бага бол IP хаягт encode хийгдсэн физик хаягийг ашиглан шууд mapping хийж болно. Эсрэг тохиолдолд mapping нь динамикаар хийгдэнэ. ARP нь доод түвшний сүлжээний холболтын систем ашиглан динамик хаягийн шийдвэрлэлтийг resolution хийдэг. ARP нь машинуудад хаягийг тогтмол binding-ийн тухай бичлэг ашиглахгүйгээр задлах боломжийг олгодог. Машинууд нь ARP хүсэлтийг өргөн нэвтрүүлгээр дамжуулснаар нөгөө машины физик хаягийг олж тогтоохын тулд ARP-ыг ашигладаг.
Сүлжээн дэх машинууд ARP хүсэлтийг хүлээн авах бөгөөд энэхүү хүсэлт нь хүсэлтийг гаргасан машины IP хаягийг агуулдаг. Хэрвээ хүсэлт нь IP хаягтай нь таарч байвал тухайн машин өөрийнхөө физик хаягийг агуулсан багцыг дамжуулж хариулна. Хариулт нь шууд чиглэлтэй учраас өргөн нэвтрүүлгээр дамжуулах хэрэггүй. ARP-ыг үр ашигтай байлгахын тулд машин болгон IP to физик хаяг гэсэн binding-г өөрийн кэшдээ хадгална.

Reverse ARP

Reverse ARP (RARP) -ийг сүлжээний station-ууд харилцан бие биенийхээ МАС хаягийг мэдэж байгаа боловч IP хаягийг мэдэхгүй байгаа тохиолдолд хэрэглэнэ.
Хэзээ ийм тохиолдол гарах вэ? Дискгүй workstation үүний тод жишээ юм. 8-14-р жишээнд зүүн талын хүсэлтийг захиалагч машин нь RARP хүсэлтийг физик сүлжээний хаа нэгтэй байрлах RARP сервер руу явуулж байна. Энэхүү RARP сервер нь хариуг тэрхүү тодорхой байгаа station-ы IP хаягаар явуулна. RARP-ын багцын формат нь ARP-ын багцын форматтай адилхан байдаг. Ганц ялгаа нь явуулагчийн физик хаяг авагдаж дүүрэх field (хэсэг) юм.

 

RARP сервер энэхүү багцыг хүлээж аваад IP хаягийн хэсгийг дүүргээд түүнийг явуулагч руу буцааж явуулна. Энэ бол ARP процессын эсрэг үйлдэл юм. Үүнтэй ижил бусад протоколд BOOTP ба Dynamic Host Configuration (DHCP) орно.
DHCP нь RARP -ээс илүү хүчирхэг боловч функцын боломж нь ижилхэн. Үүнд IP хаягийг задлах орно.
RARP нь datalink түвшинд ажилладаг тул subnet-үүдийг span хийж чадахгүй. Харин DHCP нь subnet-ийн span хийж чадна.

Proxy ARP буюу бүрэн ARP

Subnetting гарсныхаа дараа over /илүү/ хугацаагаар ашиглагдах болсон. Одоо үед бүх сүлжээ болон host-ууд subnet-ийг таних чадвартай болсон. IP subnet хаяглалт ашиглагдах болсон үед маш олон тооны host нь TCP/IP-г өөрийн сүлжээний протоколоор ашиглан холболт тогтоосон байсан тул тэд subnetting ашиглахгүй. Хэдийгээр бүрэн ARP нь тэр болгон ашиглагддаггүй ч энэ бас нэгэн ашигтай хэлбэрүүдийн нэг хэвээр байна. Бүрэн ARP-д LAN сүлжээний host-ын ARP хүсэлтэнд router нь хариулах боломжтой. Хэрвээ host нь subnet хаяглалтыг дэмждэггүй бол тэрээр IP subnet дугаарыг host-ын дугаар гэж алдаж болно. Router нь үүсвэр станцыг LAN-д холбогдсон байгаа гэж дамжуулагч станцыг хуурдаг./trick/ 8.15-д үүнийг дүрслэн үзүүлэв.
130.1.2.1-р host 130.1.1.1-р host-ыг LAN сүлжээнд оршиж байна гэж үзнэ. 130.1.1.1-р host subnet хаяглалтыг дэмждэг ба харин 130.1.2.1-р host дэмждэггүй. IP хаягийг эхний (сүлжээний ID-г агуулж буй) хоёр талбарт тайлах нь /deciphering/ нь ижил байна. Иймд 130.1.2.1-р station нь локаль ARP хүсэлтийн багцыг дамжуулна.

Proxy ARP

Хэрвээ router нь бүрэн ARP хийх боломжтой бол тэрээр В host-руу хариуг илгээнэ. Subnetting дэмждэг router нь ARP хүсэлтийг хүлээн аваад subnetwork-ийн хаяг түүний маршрутчилалын хүснэгтэнд байгаа эсэхийг тогтооно.дараа нь 130.1.1.1 host-ын өмнөөс хариуг илгээнэ.130.1.2.1 host энэ хариуг хүлээн аваад энэ нь 130.1.1.1-ээс ирсэн гэж ойлгоно. Багцын физик хаяг нь түүнийг хаанаас ирснийг тогтоож чадахгүй. Дараа нost бүх багцыг router руу харин router нь түүний төгсгөлийн station руу дамжуулна. Энэ холболт нь төгсгөлийн нэг stattion нь дамжуулалтыг тасалтал явагдана. Бүрэн ARP нь bridge-ээр өөрсдийн IP сүлжээг ашигладаг сүлжээнүүдийн хувьд хэрэглэхэд тохиромжтой протокол юм.
Өнөөгийн байдлаар TCP/IP сүлжээнд дэх ихэнх hostууд subnet mask-ийг дэмждэг ба мөн ихэнх IP сүлжээнүүд router ашигладаг болсон. Сүлжээ болгонд ганц IP хаягууд байгаа гэдгийн баталгааг заавал гаргадаг сүлжээнүүдэд бүрэн ARP ашиглах нь хүндрэлтэй байдаг. Ихэнх TCP/IP implementation /ашиглалт/ нь хэрэглэгчид өөрийн сүлжээний дугаар руу ороход /хандахад/ easy access өгдөг. (Хэрэглэгчид ердийн text editor ашиглан өөрийн сүлжээний дугаарыг өөрчлөх гэх мэт) Энэ нь хакеруудуудад зөвхөн сүлжээний дугаарыг өөрчилснөөр уг машин руу хаяглагдан ирсэн бүх багцыг ашиглах боломжийг нээж өгдөг.
TCP/IP-ын зарим implementation нь үүнийг илрүүлдэг. IР хаяг нь дурын хандалтгүй IP сүлжээнүүдэд найдаж болно. Интернет дэх физик хаяг болгонд нэг IP хаяг байх ёстой.


 






 




 



Сэтгэгдэл бичих



Сэтгэгдлүүд

2011/10/24 - IP

Бичсэн: ouynerdene

erdemten shig l bna er ni dajgui de

Шууд холбоос

2010/10/8 -

Бичсэн: Зочин

гоё шүү

Шууд холбоос


Бичлэг: 15 » Нийт: 18
Өмнөх | Дараагийн

idiomatic-dormant