济南:为给儿媳筹款治病 70岁老奶奶扮米老鼠合影
Домэйн нэрийн систем (Англи: Domain Name System буюу DNS, Дий-Эн-Ээс) нь интернэт протоколоор холбоотой байгаа компьютер болон т??нтэй адилтгах з?йлсийг хооронд нь ялгах зориулалттай, шаталсан, т?вл?рс?н бус нэрийн систем юм.
Хамгийн нийтлэг хэрэглээ нь дэлхий даяар тархан байрласан компьютер??дийн ?йлчилгээ болон хэрэглээний зорилгоор тэдгээрийн домэйн нэрийг нь тоон IP хаяг руу нь х?рв??лэх ?йлдэл юм. Тус системийг 1985 оноос хойш интернэтийн салшг?й хэсэг болгон хэрэглэж байна.
Домэйн нэрийн системийг интернэтэд зориулсан утасны лавлахтай т?стэй байдлаар тайлбарладаг. Тодруулбал компьютерийн хост нэрийг IP хаяг руу х?рв??лэх систем. Жишээлбэл www.example.com гэсэн хаягийг 192.0.43.101 (IPv4) болон 2001:500:88:200::10 (IPv6) гэсэн хаягууд руу (эсрэгээр нь бас х?рв??лнэ) х?рв??лнэ гэсэн ?г юм. Утасны лавлахаас ялгаатай шинж чанар нь т?гсг?лийн хэрэглэгчийн ?йлчилгээний байрлал болон с?лжээний ??рчл?лт??с ?л хамааран маш хурдан ??рчл?лт ордог — иймд мэдээлэл ??рчл?гдс?н хэдий ч ?мн? нь хэрэглэж байсан домайн нэрээ ?ргэлжл??лэн ашиглах боломжийг олгодог.
DNS-ийг ашигласнаар хэрэглэгч нар компьютер эсвэл ?йлчилгээ чухам яг хаана байрлаж байгааг нь мэдэх шаардлагаг?йгээр утга учиртай хэлбэржсэн байрлалын н??ц URL (Uniform Resource Locators), и-мэйл хаягийг хэрэглэж болдог.
Т??х
[засварлах | кодоор засварлах]Интернетэд б?х ?йлдэл нь IP хаягийн тусламжтайгаар явагддаг. Жишээ нь www.google.com гэж хандахад цаана нь 66.102.7.99 гэсэн IP хаяг дуудагдаж байдаг. Х?н б?р 66.102.7.99 гэдгийг тийм ч амархан цээжилж чадахг?й тэгээд ч интернэт маш том, олон хаяг тогтооход хэц?? гэдгээс ??дэн домэйн нэрийн систем гэдэг ?йлчилгээ гарч ирсэн. ??р??р хэлбэл компьютерийн ойлгох хаягийг х?нд тогтооход амар хаягтай холбож ?гч бидэнд интернетийг маш хялбарчилж ?гд?г ?йлчилгээ юм.
DNS зохиогдохоос ?мн? буюу 1982 оноос ?мн? ARPANET-ийн эрин ?ед с?лжээнд байгаа компьютер б?р ??р дээрээ hosts.txt гэсэн нэртэй файлыг Stanford Research Institute-д байгаа компьютерээс сэргээж авдаг байсан. Нэмж дурьдахад hosts файл нь ихэнх орчин ?еийн ?йлдлийн систем??д дээр ч гэсэн ?г?гдм?л??р?? байсаар хэвээр байгаа б?г??д ер?нхийд?? дотоод хостыг 127.0.0.1 гэсэн хаяг руу х?рв??лэлтийг агуулж байдаг. Олон ?йлдлийн систем??д логик нэрийн тодорхойлолтыг ашигладаг б?г??д логик тодорхойлолт нь компьютерийг удирдан зохион байгуулагчид нь нэрийн тодорхойлолтыг аргыг нь боломжит давуу эрхээр нь тохируулах боломжийг хангаж ?гд?г. С?лжээний хуртай ?с?лт??с хамааран нэгдсэн ?йлчилгээтэй гараар хийгддэг hosts файл нь тогтворг?й болсон. Ийм ч учраас системийг илуу уян хатан болгож, хэрэгцээтэй мэдээлл??дийг тараах чадвартай болгон ??рчл?х шаардлагтай болсон.
Jon Postel, Paul Mockapetris нарын х?сэлтээр 1983 онд домайн нэрийн систем нь зохиогдож эхний хэрэгж??лэлт нь хийгдэж байжээ. Эхний DNS -н нарийвчилсан тодорхойлолтууд нь Internet Engineering Task Force -ээр RFC 882 болон RFC 883 дээр нийтлэгдсэн б?г??д т??нийг с??лд 1987 оны 11 сард RFC 1034, RFC 1035 -ыг нийтэлснээр ?мн?х тодорхойлолтуудыг х?чинг?й болгосон байна. ?ндсэн DNS протоколд нэмэлтээр санал болгох т?р?л б?рийн ?рг?тг?лийн нэмэлт х?сэлтийн тайлбар (Англи: Request for comment) байдаг.
Энэ нь тухайн ?едээ удирдлага нь т?вл?р??д байсан ?г?гдлийн санг тархсан ?г?гдлийн сан буюу с?лжээгээр агуулга нь тархсан, т?вл?рс?н байдлаар байхаар боловсруулсан. Ингэснээр хэмжээ нь хязгаарг?й ?с?х боломжтой болжээ.
1984 онд Берклигийн 4 оюутан болох Douglas Terry, Mark Painter, David Riggle болон Songnian Zhou нар нь анхны UNIX нэрийн серверийн хэрэгж??лэлт болох Berkley Internet Name Domain (BIND) серверийг бичжээ. 1985 онд Digital Equipment Corporation-ийн Kevin Dunlap DNS хэрэгж??лэлтийг нилээн ач холбогдолтойгоор дахин бичсэн юм. Т??нээс хойш Mike Karels, Phil Almquist, and Paul Vixie нар BIND -ийг дэмжиж х?гж??лж эхэлсэн. 1990 ээд оны эхээр BIND нь ялангуяа UNIX т?рлийн системд тархсан б?г??д DNS програм хангамж нь ер нь интернэтэд т?лх?? хэрэглэгддэг байв. BIND-ийн бичилтийн эмзэг байдлын улмаас халдлагын ?с?лт ихсэж улмаар хэсэгчлэн ?д??гдс?н нэмэлт нэрийн сервер??д х?гж??лэгдэж эхэлсэн. Бусад орчин ?еийн DNS -ийн програм хангамжтай харьцуулж болохуйц аюулг?й байдлыг хангасан бичилттэй BIND 9 гэсэн хувилбар бичигдсэн.
?йл ажиллагаа
[засварлах | кодоор засварлах]Вэб броузер дээрээ аль нэг сайтын хаяг буюу домайн нэрийг бичмэгц, эсвэл аль нэг хаягаар и-мэйл илгээмэгц тэр б?гд эхлээд заавал домайн нэрийн ?йлчилгээний сервэр р?? хандаж зохих IP-хаягийг нь олоод дараа нь ажиллаж эхэлдэг. Иймд домайн нэрийн ?йлчилгээ бол Интернэтийн хамгийн чухал б?г??д гол холбогч ?йлчилгээ юм. Интернэт дэхь ?йлдэл б?хэн домайн нэрээр хийгдэх учир домайн нэрийн ?йлчилгээний сервэр маш их ачаалалтай, 100% найдвартай ажиллаж байх естой болно. Ийм их ачааллыг ямар ч компьютер дангаараа даахг?й. Энэ ачааллыг нэг дор т?вл?р??лэн ?йлчлэх нь дэнд?? их эрсдэлтэй, м?н дэлхий даяар нэг цэгээс ?йлчлэх нь домайн нэрийн ?йлчилгээний хурдад т?дийг?й бусад б?х ?йлчилгээнд муугаар н?л??л?х боломжтой. Тиймд Интернэтийн домайн нэрийн ?йлчилгээг дэлхий даяар олон зуун сервэр компьютер дээр хуваан авч ?йлчилж байдаг. Жишээлбэл, ".mn" т?гсг?лтэй (domain.mn, num.edu.mn гэх мэт) б?х домайны ?йлчилгээг Датаком компани хариуцан ажилладаг. Интернэт бол маш том компьютерын с?лжээ учраас тухайн "DNS" сервер б?р дээр б?х мэдээлэл байх боломжг?й.
Тиймээс ч DNS сервер??д байнга хамтарч ажилладаг байна.
Ажиллах алгоритм
[засварлах | кодоор засварлах]- Эхэлж эхний т?вшиний "DNS" серверээс хэрэглэгчийн компьютер "www.wikipedia.org"-ын "IP" хаягийг асуух болно.
- "DNS" дээр энэх?? мэдээлэл байхг?й тул дахин дараагийн т?вшиний "DNS" серверээс асуух болно.
- Хоёрдахь "DNS" дээр энэ домайны "IP" хаяг байгаа бол эхний "DNS"-руу мэдээллээ ?гн?.
- Эхний "DNS" тухайн мэдээллийг ??рийн сандаа нэмээд м?н хэрэглэгчр?? ?гн?.
- Хэрэглэгч "DNS"-ээс "www.wikipedia.org"-той холболт ??сгэх шаардлагатай мэдээлэлтэй болж
- Хэрэглэгчийн компьютер "www.wikipedia.org"-той холболт хийнэ.
Харин дараагийн удаа хэрэглэгч "www.example.com"-той холболт хийх хэрэгтэй болоход эхний "DNS" шаардлагатай мэдээллийг шууд ?г?х боломжтой болно. Учир нь ?мн? хоёрдахь "DNS"-ээс авсан мэдээллээ ??р дээрээ хадгалсан байх болно.
Б?тэц
[засварлах | кодоор засварлах]DNS бол Интернэт дээр тулгуурласан, б?рэн эрхт root буюу эх сервер, Top Level Domain буюу Дээд Т?вшний Домэйн (TLD) сервер, домэйн тус б?рийн мэдээллийг агуулж байдаг бусад жижиг нэрийн сервер??дээс б?тсэн нарийн т?в?гтэй систем юм.
Дэлхийд 13 ROOT сервер тархан байрлаж ажилладаг ба эдгээр нь бусад сервер??дийг б?ртгэн top le?el домэйнуудад хариуцан ажилладаг.
Домэйн нэрийн систем нь уруугаа харсан мод хэлбэрийн б?тэцтэй байдаг. Хамгийн дээд талд нь root б?с байдаг.
Модны т?вшинг??дийг label гэнэ. М?н ??р??с?? доош 1 label мэдэж байхыг zone гэнэ.
Домэйн нэрийн систем нь дараах 2 чиглэлд ажилладаг.
- Forward zone: домайныг IP –руу х?рв??лэх
- Reverse zone: IP –ийг домайнруу х?рв??лэх
Нэрийн сервер
[засварлах | кодоор засварлах]Домэйн нэрийн систем нь домайн б?рийн баталгаажсан нэрийн серверийн (Англи: authoritative name server) тодорхойлсноор домайн нэр??дийг тэдгээрийн IР хаяг руу нь хариуцлагатайгаар х?рв??лж хуваарилдаг. Баталгаажсан нэрийн сервер нь ??рсдийн домайнд байгаа х?рв??лэлтийг найдвартай хийдэг б?г??д м?н бусад баталгаажсан нэрийн сервер?лтэй тэдгээрийн болон ??рсдийн дэд домайнээ ээлжлэн дамжуулдаг. Энэ механизм нь DNS -д зориулагдсан, алдаанд тэсвэртэйгээс (fault tolerant) гадна б?ртгэлийн т?вийг ганцхан байхаас зайлсхийхэд тусладаг т??нчлэн тогтмол анхаарах, шинэчлэх ?йлдлийг хангаж ?гд?г. Нэмж хэлэхэд маш олон домайн б?ртгэгчийн б?ртгэлд бичигдэн тархсан байгаа мэдээлэл нь найдвартай ?йлчилгээтэйг нь хангаж байхын зэрэгцээ мэдээлэлд шинэчлэл хийгддэг.
Домайн??д нь б?ртгэгчээс б?ртгэгчийн хооронд хугацаанаас ?л хамааран з??гдд?г. домайн нэрийн систем нь м?н энэх?? ?йлчилгээнийхээ ?г?гдлийн сангийн техникийн функцуудыг нь тодорхой зааж байдаг. Энэ систем нь DNS протокол, ?г?гдлийн б?тцийн загварчлалыг маш нарийн тодорхойлохоос гадна DNS -д хэрэглэгддэг интернэтийн протоколын б?рэлдэх??н хэсэг болсн ?г?гдлийг солилцдог. Интернэт нь домэйн нэрийн шатлал болон интернэт протоколын нэрийн муж гэсэн 2 ?ндсэн нэрийн мужлалд ангилагддаг. домайн систем нь домайн нэрийн шатлалыг баталгаажуулах м?н эдгээрийн нэрийн мужлалтын х?рв??лэлтийг ?йлчилгээг хангадаг. Интернэт нэрийн сервер болон холболтын протоколууд нь домайн нэрийн системийн хэрэгж??лэлтйиг хийдэг. DNS домайн нэрийн бичилтийг хадгалдаг б?г??д хадгалахдаа хаягийн бичилт (A эсвэл АААА ), нэрийн серверийн бичилт (NS), мэйл солилцогчийн бичилт (MX) гэх мэтээр бичилт хийж хадгалдаг. DNS нь хариу ?йлдэл хийхдээ ?г?гдлийн сангийхаа х?слэлт??дийн хариултыг эсрэгээр хийдэг.
Дараах ?ндсэн 2 т?рлийн нэрийн сервер байдаг.
Authoritative (Баталгаажсан)
[засварлах | кодоор засварлах]
Баталгаажуулалтын нэрийн сервер гэдэг нь ?ндсэн эх хувилбараас нь хариултыг ?гд?г нэрийн сервер юм. Жишээлбэл: домайний удирдагч эсвэл динамик DNS аргаар авсан нэрийн хариулт нь ??рийн нэрийн серверээс д?рэм журмынх нь дагуу авсан хариутай з?рс?н тохиолдолд. Баталгаажуулалт нь гэдэг з?гээр л нэрийн сервер б?г??д энэ нь асуултын хариуд серверийн удирдан зохион байгуулагчийн тохируулснаар тухайн домайн нэрийн сервер нь ??рийн мэдэж байгаа ямар DNS ?г?гд?л (IPv4 IP, IPv6 IP, e-мэйл серверийн дуудлагын жагсаалт гэх мэт) нь ямар хостын нэр дээр байгааг нь гаргаж ?гд?г гэсэн ?г юм. Баталгаажуулалтын нэрийн сервер нь ?ндсэн сервер эсвэл туслах сервер аль алинаао нь ажиллаж болно. ?ндсэн сервер нь б?х б?с??дийн бичилтийн ?ндсэн хувийг нь хадгалдаг юм. Харин туслах сервер нь ?ндсэн серверийнхээ баталгаатай бичилт??дийг ??р дээрээ хуулбарлаж авдаг ба м?н байнга шинэчлэл хийж байдаг ингэж ажиллахдаа DNS протоколын холболтын болон шинэчлэлийн механизмыг ашигладаг. Нэрийн серверийн хаягийн бичилтийн мэдээллийг бичилт нь дээд б?сэд байгаа серверийн бичилттэй ??рийн бичилтийн мэдээллийг харьцуулж шинэчлэл болон хуулбар хийж авч байдаг. Дээд т?вшний домайний домайн б?ртгэлд домайн б?ртгэгчээр нэрийн б?ртгэгчээр б?ртгэл хийхэд анхдагч нэрийн серверийн баталгаажуулалт анхдагч нь байхг?й бол ядаж хоёрдогч нэрийн серверийн баталгаажуулалт шаарддаг. Хэрвээ нэг сервер нь хандах боломжг?й эсвэл ?йл ажиллагаагаа явуулах боломжг?й болсон ?ед домайний ?йл ажиллагааг хэвээр байлгах зорилгын ??днээс олон нэрийн серверийн хэрэгцээ байдаг. Анхдагч нэрийн сервер??д нь ихэвчлэн ?ндсэн нэрийн сервер??д байдаг б?г??д ийм тохиолдолд хоёрдогч нэрийн сервер нь дрограмын флагаар баталгаажуулалт шэж тооцож байгаа сервер б?г??д энэ нь хариултыг тодорхойлолтыг хангаж чадахуйц т?лвийг заадаг б?г??д дээр дурдсан баталгаажуулалтын биттэй хариуг баталгаажуулалтын харилт гэж нэрлэдэг. Энэ флаг нь ихэвчлэн дахин тодорхойлогддог б?г??д ДНС удирдагчийн х?сэлтийн хэрэгслийн гаралтанд маш чухал ?р д?н илтгэдэг. Энэх?? хэрэгсэлд илтгэж байгаа ?р д?нд нь нэрийн серверийн баталгаажуулалтын домайн нэрийн асуултанд хариулж байгаа хариулт юм.
Authoritative сервер нь дараах ??ргийг г?йцэтгэнэ.
- DNS мэдээллийг ??рт?? агуулж, энэ мэдээллийг нийтэд зарлан, ирсэн асуулгуудад хариулах
- Б?ртгэлтэй домэйны хувьд, жишээлбэл example.org, т??ний дор орших хост нэр??дэд IP хаяг оноож ?г?х
- Б?лэг IP хаягуудад урвуу DNS мэдээлэл хэрэгтэй ?ед (IP-с хост нэр р??)
Caching
[засварлах | кодоор засварлах]Caching сервер гэдэг нь ??р дээрээ ямар нэгэн DNS-н мэдээлэл агуулахг?йгээр з?вх?н асуулга явуулах ??рэгтэй. Асуулгаас ирсэн хариуг тодорхой хугацааны туршид ??р дээрээ хадгалан, дотроос ахин тийм х?сэлт ирэх юм бол ахин гадагшаа асуулга явуулахг?йгээр хурдан хариу ?г?х боломжтой болдог. Ингэснээр зурвасын ?рг?нийг бага ашиглах ба цаг хугацааны хувьд болон authoritative серверийн ачааллыг багасгах давуу талтай. Resource record:Нэрийн серверийн data файл нь resource record гэгдэх бичлэг??дийг агуулж байдаг ба заримаас нь дурдвал:
- A-record (address): хостын нэрт харгалзах IP хаяг. Хостын нэрийг IP хаягт х?рв??лэхэд ашиглана.
- PTR-record (pointer): IP хаягт харгалзах хост нэр. IP хаягыг хост нэрт х?рв??лэхэд ашиглана.
- NS-record (name server): ?г?гдс?н домайнд харгалзах нэрийн сервер
- MX-record (mail exchanger): ?г?гдс?н домайнд харгалзах mail сервер
- CNAME-record (Canonical name): хост нэрийг alias –д х?рв??лэх механизм. Нэг IP хаягтай хост олон(multiple) нэртэй байж болно. Жишээ нь зарим х?м??с блог дээрээ домэйн аваад тавьчихсан байдаг
Хаяг шийдвэрлэлтийн механизм
[засварлах | кодоор засварлах]
Домайн нэр шийдвэрлэгчид нь хамгийн з?в домайний хаяглалын дарааллаар тохиромжтой хариуцлагатай нэрийн сервер??дийг тодорхойлдог. ДНС х?сэлт гаргагч 3н нэрийн серверээс www.wikipedia.org ийн хаягийг шийд??лэхээр асууж байна. Процессийн шалтгаан:
- С?лжээний хост ?ндсэн нэрийн сервер??дийн хаягуудаар анхны кээшээ тохируулагдсан. Ийм сануулга дохио файл нь тодорхой ?етэй хугацаагаар админы найдвартай н??ц??с шинэчлэл хийж байдаг.
- ?ндсэн сервер??дийн дундаас дээд т?вшний домайний баталгаажуулалт серверийг олох х?сэлт
- 2-р т?вшний домайний баталгаажуулалт серверийг олох х?сэлт
- домайн нэрийн хаягийн дараалал б?р дээр хостын хайсан хаягийг буцаах эцсийн алхам х?ртэл ?мн?х ?йлдл??дийг давтан хийнэ:
DNS-тэй холбоотой ?н??гийн асуудлууд
[засварлах | кодоор засварлах]Домэйн нэрийн сервер нь нь ??р дээрээ cache буюу т?р санамж ??сгэдэгийг дээр дурдсан. ??нтэй холбоотойгоор dns cache poisoning т?рлийн халдлага гарч ирсэн. Энэх?? халдлагыг гол зорилго нь тэрх?? сервер дээр т?р хадгалагдсан байгаа мэдээллийг ??рчл?х замаар таны холбогдохыг х?сэж байгаа сервер руу биш хакерууд ??рийн х?ссэн сервер, вэб руу оруулахад оршино. ??р??р хэлбэл та ??рийн банкны вэб р?? нэвтрээд нууц ?гээ хийж байна гэж бодож байхад ?нэн хэрэгтээ шал ??р хакеруудын вэб р?? орчихсон ??рийн санх??гийн мэдээллээ алдаж байх аюултай юм. ??р??р хэлбэл phishing т?рлийн халдлагын сайжруулсан хэлбэр. Phishing т?рлийн халдлага болоход анхаарал болгоомжтой байгаад мэдэж таслан зогсоож болдог бол, cache poisoning т?рлийн халдлага нь мэдэх боломжг?й ба ??гээрээ ?лэмж хор уршигтай. Нэг удаа амжилттайгаар энэх?? халдлагыг хийж чадсан бол ?лэмж олон хэрэглэгчдэд хохирол явуулж чадах боломжтой. Caching домэйн сервер асуулга явуулаад х?лээж байх зуур халдлага ?йлддэг байна.Энэ ?ед аuthorative серверийг DoS attack хийж гацаан ??рийн ??рчилс?н бичлэгтэй response-г caching сервер л?? илгээдэг байна.Домэйн нэрийн систем нь UDP 53-р портоор дамжин мэдээллээ солилцдог ба 16 битийн урттай transaction ID ашиглан солилцдог. М?н имэйлийг замаас нь хялбархан унших ??рчл?х боломжоор хангах ба шийдэл нь гэвэл DNS сервер??дээс ирж байгаа мэдээлл??дийг баталгаажуулах тоон гарын ?сэгтэй болгох, м?н DNS серверээс ирж буй хариултын Source port randomization хийж чагнахаас сэргийлэх боломжтой.Хэдийгээр DNS системийг UDP биш TCP системээр ажиллуулж болох ч энэ нь с?лжээний траффикийг ихэсгэх цаашлаад DNS сервер??дэд ачаалал ??сгэн гацаах зэрэг муу талтай юм.