Domain name server

Домайн нэрийн систем DNS IP хаяг Сүлжээнд холбоотой байгаа бүх компьютер болон түүнтэй адилтгах зүйлсийг хооронд нь ялгах зориулалттай. Интернетэд бүх үйлдэл нь IP хаягийн тусламжтайгаар явагддаг. Жишээ нь www.google.com гэж хандахад цаана нь 66.102.7.99 гэсэн IP хаяг дуудагдаж байдаг. Хүн бүр 66.102.7.99 гэдгийг тийм ч амархан цээжилж чадахгүй тэгээд ч интернэт маш том, олон хаяг тогтооход хэцүү гэдгээс үүдэн домэйн нэрийн систем гэдэг үйлчилгээ гарч ирсэн. Өөрөөр хэлбэл компьютерийн ойлгох хаягийг хүнд тогтооход амар хаягтай холбож өгч бидэнд интернетийг маш хялбарчилж өгдөг үйлчилгээ юм. Домайн нэрийн систем үүсэхээс өмнө нь сүлжээнд бүртгэгдсэн компьютерийн IP хаяг болон харгалзах нэрийг бичсэн host.txt нэртэй файлыг албан ёсоор ганц л газар хөтөлдөг байсан. Энэ нь шинээр домэйн авах мөн домэйн нэмэх зэрэгт зохицуулалт муу байсан. 1983 онд Paul Mockapetris нь анх бидний хэрэглэж байгаа домайн нэрийн системийн санааг боловсруулсан. Энэ нь тухайн үедээ удирдлага нь төвлөрөөд байсан database-г distributed database буюу сүлжээгээр агуулга нь тархсан байдлаар байхаар боловсруулсан. Энэ database нь агуулга нь хязгааргүй өсөхийг зөвшөөрдөг. Та броузер дээрээ аль нэг сайтын хаягийг (домайн нэрийг) бичмэгц, эсвэл аль нэг хаягаар (домайн нэр бvхий и-мэйл сайтын нэг хэрэглэгч/хайрцаг руу) и-мэйл илгээмэгц тэр бvгд эхлээд заавал домайн нэрийн vйлчилгээний сервэр рvv хандаж зохих IP-хаягийг нь олоод дараа нь ажиллаж эхэлдэг. Иймд домайн нэрийн vйлчилгээ бол Интернэтийн хамгийн чухал бөгөөд гол холбогч vйлчилгээ юм. Интернэт дэхь vйлдэл бvхэн домайн нэрээр хийгдэх учир домайн нэрийн vйлчилгээний сервэр маш их ачаалалтай, 100% найдвартай ажиллаж байх естой болно. Ийм их ачааллыг ямар ч компьютер дангаараа даахгvй. Энэ ачааллыг нэг дор төвлөрvvлэн vйлчлэх нь дэндvv их эрсдэлтэй, мөн дэлхий даяар нэг цэгээс vйлчлэх нь домайн нэрийн vйлчилгээний хурдад төдийгvй бусад бvх vйлчилгээнд муугаар нөлөөлөх боломжтой. Тиймд Интернэтийн домайн нэрийн vйлчилгээг дэлхий даяар олон зуун сервэр компьютер дээр хуваан авч үйлчилж байдаг. Жишээлбэл, “.MN” төгсгөлтэй (mol.mn, magicnet.mn гэх мэт) бvх домайны vйлчилгээг Датаком компани хариуцан ажилладаг. Интернэт бол маш том компьютерын сүлжээ учраас тухайн "DNS" сервер бүр дээр бүх мэдээлэл байх боломжгүй.

Тиймээс ч "DNS" серверүүд нь байнга хамтарч ажилладаг байна. Энэ хамтийн ажиллагааг доорх зураг дээрээс тайлбарлая.


1. Энэ тохиолдолд эхэлж эхний түвшиний "DNS" серверээс хэрэглэгчийн компьютер "www.example.com"-ын "IP" хаягийг асуух болно. 2. "DNS" дээр энэхүү мэдээлэл байхгүй тул дахин дараагийн түвшиний "DNS" серверээс асуух болно. 3. Хоёрдахь "DNS" дээр энэ домайны "IP" хаяг байгаа бол эхний "DNS"-руу мэдээллээ өгнө. 4. Эхний "DNS" тухайн мэдээллийг өөрийн сандаа нэмээд мөн хэрэглэгчрүү өгнө. 5. Хэрэглэгч "DNS"-ээс "www.example.com"-той холболт үүсгэх шаардлагатай мэдээлэлтэй болж 6. Хэрэглэгчийн компьютер "www.example.com"-той холболт хийнэ. Харин дараагийн удаа хэрэглэгч "www.example.com"-той холболт хийх хэрэгтэй болоход эхний "DNS" шаардлагатай мэдээллийг шууд өгөх боломжтой болно. Учир нь өмнө хоёрдахь "DNS"-ээс авсан мэдээллээ өөр дээрээ хадгалсан байх болно.


DNS бүтэц DNS бол Интернэт дээр тулгуурласан, бүрэн эрхт root буюу эх сервер, Top Level Domain буюу Дээд Түвшний Домэйн (TLD) сервер, болон домэйн тус бүрийн мэдээллийг агуулж байдаг бусад жижиг нэрийн серверүүдээс бүтсэн нарийн төвөгтэй систем юм. Дэлхийд 13 ROOT сервер тархан байрлаж ажилладаг ба эдгээр нь бусад серверүүдийг бүртгэн top level домэйнуудад хариуцан ажилладаг. Домэйн нэрийн систем нь уруугаа харсан мод хэлбэрийн бүтэцтэй байдаг. Хамгийн дээд талд нь root бүс байдаг. Модны түвшингүүдийг label гэнэ. Мөн өөрөөсөө доош 1 label мэдэж байхыг zone гэнэ. 1. Forward zone: домайныг IP –руу хөрвүүлэх 2. Reverse zone: IP –ийг домайнруу хөрвүүлэх Домэйн нэрийн систем нь дээрх 2 чиглэлд ажилладаг. Домэйн нэрийн системийг дараах түвшинд хуваадаг: 1.Тop level Domains (TLD) : Анх 1980-аад оны үес бүртгэж эхэлсэн домайн ба үүнд .net, .com, .edu, .gov, .mil домэйнууд ордог. Эндээс зөвхөн .com, .net, .org домэйнийг худалдаалж болдог ба бусдыг нь зөвхөн зориулалтаар нь ашиглах тохиолдолд зөвшөөрөл олгодог. 2001 оноос .info, .biz, .name, зэрэг шинэ зэрэг шинэ top level домайнуудыг бүртгэж эхэлсэн. Мөн ccTLD (country code Top Level Domain) домэйн гэж байдаг. Энэ нь тусгаар тогтносон улс бүр өөрийн гэсэн домэйн нэр байдаг бөгөөд энэ нь монгол улсын хувьд .mn америкийн хувьд .us гэх мэт 2.Second Level Domains Энэ нь товчхондоо бидны худалдаж авч болдог домэйн юм. Жишээ нь google.com 3.Third Level Domains Энэ нь энгийнээр бол subdomain юм. Хэрэв second level domain-тай бол хостоосоо хамаарч subdomain-г хязгааргүй нээж болдог. Жишээ нь maps.google.com Домэйны нийт уртыг 255 тэмдэгт байж болох ба хэсэг тус бүр нь нь 63 тэмдэгт байх боломжтой. Үүнийг дараах зургаар үзүүлбэл

DNS Delegation: Энэ нь өөр дээрээ харъяалалтай subdomain-г өөр нэрийн сервер лүү зааж өгөхийг хэлдэг ба энэ нь удирдлагыг төвлөрүүлэхгүй гэсэн шалтгаанаас гарч ирсэн. Нэрийн серверийн төрөл Дараах үндсэн 2 төрлийн нэрийн сервер байдаг. 1.Authoritative 2.Caching Authoritative сервер нь дараах үүргийг гүйцэтгэнэ. • DNS мэдээллийг өөртөө агуулж, энэ мэдээллийг нийтэд зарлан, ирсэн асуулгуудад хариулах • Бүртгэлтэй домэйны хувьд, жишээлбэл example.org, түүний дор орших хост нэрүүдэд IP хаяг оноож өгөх • Бүлэг IP хаягуудад урвуу DNS мэдээлэл хэрэгтэй үед (IP-с хост нэр рүү)


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) нэртэй байж болно. Жишээ нь зарим хүмүүс блог дээрээ домэйн аваад тавьчихсан байдаг 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 серверүүдэд ачаалал үүсгэн гацаах зэрэг муу талтай юм.