Professional Documents
Culture Documents
3 DNS
3 DNS
Энэхүү лабораторийн ажлаар Домайн нэрийн системийн үйл ажилгаатай танилцаж, DNS
сервертэй хэрэглэгчийн төхөөрөмж хэрхэн харилцаж байгааг судална.
Үндсэн ойлголт
Domain Name System (DNS) буюу домайн нэрийн систем нь хостийн нэрийг интернэт
хаяг руу хөрвүүлэх үйлдлийг сүлжээний орчинд хийж гүйцэтгэдэг Интернэтийн гол функц юм.
Интернэт орчинд доорх DNS-тэй холбоотой нэршил, ойлголтууд байна.
• Domain name: домайн нэр гэдэг нь интернэт хаягт оноож өгсөн нэр юм.
• Hierarchical DNS servers: домайн нэрийг олон тоогоор оновчтой бөгөөд энгийн зохион
байгуулахын тулд шатлах буюу мод хэлбэрийн бүтэц үүсгэснийг хэлнэ.
• Name server (NS): домайн нэрийн талаарх мэдээллийг тодорхой бүтцэд оруулж
хадгалдаг сервер юм. Өөрөөр хэлбэл records-уудыг хадгалдаг серверийг хэлнэ.
• DNS caching: Энэхүү кешд хэрэглэгчийн хүсэлтэд хариулсан мэдээллүүдийг хадгална.
Хэрэглэгчийн төхөөрөмж Hosts гэсэн файлд серверээс хүлээн авсан хариултуудыг,
DNS сервер өөрийн кеш санд бусад серверээс ирсэн домайн нэртэй холбоотой
мэдээллүүдийг кеш буюу түр хадгалах үйлдэл хийнэ. Дахин давтагдсан хүсэлтэд
тухайн кешийг ашиглаж хариу өгнө.
• Records: домайн нэрийн хадгалах бүтцийг хэлнэ. Record нь name, value, type, ttl гэсэн
дөрвөн хэсгээс бүрдэнэ.
• DNS messages: хэрэглэгчийн төхөөрөмж нь NS-тэй домайн нэрийн талаар мэдээлэл
авах зорилгоор солилцож байгаа мессежүүдийг хэлнэ. Query, response
• DNS name resolution: Хэрэглэгчийн хүсэлтэд хариулахын тулд дотоод сүлжээ дэх DNS
сервер шаталсан бүтцийн бусад сервертэй хэрхэн харилцаж байгааг илэрхийлнэ.
Хүсэлтэд хариулж байгаа хэлбэрээр нь recursive болон iterated гэсэн 2 төрөлд хуваана.
Туршилт болон гүйцэтгэх даалгавраа эхлэхээс өмнө “Computer Networking: A top-down
approach” номын 2.4-р хэсгээс local DNS, DNS caching, DNS records, DNS messages зэргийн
талаар дэлгэрүүлж уншаарай.
Туршилт
Туршилтад бид хэрэглэгч талаас DNS хэрхэн ажиллаж байгааг судална. Энгийнээр
хэрэглэгч нь DNS сервер рүү хүсэлт илгээж хариултыг хүлээн үйл ажиллагааг судална.
Ингэхдээ бид хэд хэдэн командууд ба тэдгээрийн цаана ажиллах DNS сервертэй холбогдоход
ашиглагддаг түүлүүдийн ажиллагаатай танилцана.
• nslookup
Бидний хамгийн эхэлж турших түүл бол nslookup юм. Энэ түүлийг бид аливаа үйлдлийн
систем (Linux/Windows)-ийн командын мөр дээр ажиллуулж болно. Энэхүү nslookup түүлийг
DNS серверээс дурын домайн нэрийг талаар мэдээлэл авах зорилгоор хүсэлт илгээх (query)-д
ашиглана.
Өөрөөр хэлбэл бид NS сервер дээр хадгалагдаж байгаа records-оос тухайн домайн нэртэй
холбоотой мэдээллийг авахаар тусгайлсан query-ийг илгээнэ. Мөн энэхүү түүлийг ашиглан бид
шаталсан бүтцийн аль ч түвшинд ажиллаж байгаа NS сервер рүү хүсэлт илгээх боломжтой юм.
Жишээ болгож Windows үйлдлийн системийн Command Prompt дээр nslookup командыг
ашиглан
www.num.edu.mn HYPERLINK "http://www.num.edu.mn/" HYPERLINK "http://www.num.edu.mn/"
HYPERLINK "http://www.num.edu.mn/" гэсэн домайн нэрийн талаарх мэдээллийг харуулав (Зураг 1).
Дээрх дэлгэцийн агшинг буулгасан Зураг 1-д бид “nslookup www.num.edu.mn” командын үр дүнг
харж байна. Үр дүнгээс харвал дотоод сүлжээний 10.0.80.8 гэсэн хаяг бүхий ad1.num.edu.mn
гэсэн NS-ээс www.num.edu.mn домайн нэрт харгалзах интернэт хаягийг хариултад авсан байна.
“nslookup www.num.edu.mn” гэсэн команд нь дараах байдлаар тайлбарлагдана. Nslookup
командад www.num.edu.mn гэсэн домайн нэрийг утга болгон өгсөн учир (1) default буюу
хэрэглэгчийн төхөөрөмжийн IP хаягийн тохиргоонд байгаа DNS сервер рүү хүсэлт илгээнэ, (2)
домайн нэр өгөгдсөн учир харгалзах хаягийг олж авах зорилготой хүсэлт илгээнэ.
Хэрэв бид командыг илүү нарийвчлан “nslookup -type=NS num.edu.mn” байдлаар өгвөл NS
сервер дээр байгаа records-уудаас NS төрлийн талаарх мэдээлэл авах хүсэлт илгээнэ. Хариултыг
Зураг 2- дах үр дүнгээс харж болно. Зураг 2-д дээрх командын дагуу хүсэлтийг илгээхэд дотоод
NS-ээс www.num.edu.mn гэсэн домайнтай холбоотой NS төрлийн 2 record буюу мэдээлэл,
тэдгээрийн IP хаягуудыг хамт ирүүлсэн байна.
Одоо default DNS-ээс өөр сервер рүү хүсэлт илгээж үзье. МУИС-ийн дотоод сүлжээнд
холбогдсон үедээ “nslookup google.com 10.0.80.10” гэж команд бичье. Үр дүнд (Зураг 3) нь
10.0.80.10 гэсэн IP хаягтай NS сервер рүү “www.google.com” гэсэн домайн нэрт харгалзах IP
хаягийн талаар мэдээлэл авах хүсэлт илгээж хариуг авах болно.
ipconfig
Энэхүү түүлийн тусламжтайгаар бид өөрийн компьютер (хост)-ийн сүлжээний
тохиргоог шалгах, өөрчлөх зэрэг үйлдлийг хийдэг. Windows үйлдлийн системд ipconfig гэж
хэрэглэх бол Linux үйлдлийн системд ifconfig гэж хэрэглэнэ. Командын мөрнөөс ipconfig
командыг өгвөл хостын TCP/IP-ийн талаарх мэдээлэл дэлгэцэд гарна. Мөн /all гэсэн сонголтын
хамт ашиглавал сүлжээний бүх тохиргоог дэлгэцэнд үзүүлнэ (Зураг 4).
Харин DNS-тэй холбоотой ашиглагддаг сонголтууд бол /displaydns болон /flushdns юм.
• Displaydns нь тухайн төхөөрөмж дээр кеш хийгдсэн байгаа records-уудыг хэдий
хугацааны дараа шинэчлэх талаарх TTL мэдээллийн хамт үзүүлнэ.
• Flushdns бол кешийг цэвэрлэх үйлдэл хийнэ.
Даалгавар
• nslookup
• nslookup -ийг ашиглаж дараах веб серверийн IP хаяг, домайн нэрийг олоорой. Мөн
дурын 2 веб домайны нэр, IP хаягийг олж бөглөөрэй.
Wireshark DNS
Одоо nslookup болон ipconfig ашиглан Wireshark програм дээр DNS-ийн бүтцийг судлах
болно. Хост дээрээ DNS кэшийг устгахын тулд ipconfig ашиглан устга. Хөтөчөө нээгээд
хөтөчийнхөө кэшийг устга. Wireshark-ыг нээгээд шүүлтүүрт “ip.addr == өөрийн ip хаяг”
өөрийн_IP_хаяг оруулж (ашиглаж буй компьютерийн IP хаяг) зөвхөн өөрийн DNS-ийн request
болон response мессежийг хар. Wireshark дээр пакет барьж эхлээрэй. Хөтөчийнхөө
тусламжтайгаар Вэб хуудас руу ханд: http://www.ietf.org. Урсгалыг цуглуулахаа зогсоож дараах
асуултад хариулна уу.
• DNS query болон response мессежийг ол. UDP эсвэл TCP-ээр дамжуулсан уу?
• DNS query мессежийг хүлээн авах порт нь юу вэ? DNS response-ийн source порт юу вэ?
• DNS query мессежийг ямар IP хаяг руу илгээсэн бэ? Local DNS серверийн IP
хаягийг тодорхойлохдоо ipconfig ашигла. Энэ хоёр IP хаяг ижил байна уу?
• DNS query мессежийг шалгана уу. DNS query ямар “төрөл” вэ? Response мессежэнд
"хариултууд" байна уу?
• DNS response мэдэгдлийг шалга. Хэдэн "хариулт" өгсөн бэ? Эдгээр хариулт бүр нь
юу агуулдаг вэ?
• Таны хостын илгээсэн дараагийн TCP SYN пакетыг харъя. SYN segment-ийн очих IP
хаяг нь DNS хариу мессежэнд өгөгдсөн IP хаягуудын аль нэгтэй таарч байна уу?
• Дээрх вэб хуудас нь зураг агуулжээ. Зураг бүрийг авахаасаа өмнө таны хост шинэ
DNS query явуулдаг уу?
Сорих асуулт
• DNS протокол гарч ирсэн гол зорилго юу вэ?
• DNS server-үүдийн бүтцийн талаар тайлбарла.
• DNS caching гэж юу вэ?
• Primary DNS болон Secondary DNS хоорондын ялгааг тайлбарла.
• PTR гэж юу вэ?
• TLD болон SLD -ний ялгааг тайлбарла.
• DNS Resource Record-ийг юунд ашигладаг вэ?
• Local DNS сервер нь ямар үүрэгтэй вэ?
• Authoritative болон non-authoratitive answer-уудын ялгааг тайлбарла.