Wednesday, March 3, 2010

DNS ойхгүй байна уу?

DNS буюу Domain Name Resolution-ийн гол үйл ажиллагааг мэддэг боловч яг яаж ажилладгийг мэддэггүй байсан юм, миний мэддэг зүйл бол зүгээр домэйн нэрийг IP хаяг руу буулгадаг л гэж боддог байсан тэгсэн нэлээн гүнзгий эд байна лээ. Тэгээд мэдсэн дээрээ энэ тухай бичихийг зорилоо. Доор бичсэн зүйл бол зөвхөн миний ойлгосон ойлгоц! тийм болохоор буруу байж магадгүй зөв ч байж магадгүй "comment" үлдээгээрэй.

DNS гэдэг нь үндсэндээ өмнө хэлсэн шиг домэйн нэрийг IP хаяг руу хөрвүүлдэг. Харин домэйн нэр нь хүнд цээжлэхэд хялбархан нэг үг ардаа com, org, net, mn, uk, en, cn... гэсэн зориулалтын дагавартай бүгд сайтынхаа утгыг агуулж байдаг. Жишээ нь: www.ehlel.com домэйн 124.158.127.28 ip хаягтай com гэсэн өргөтгөлтэй. Тэгэхээр зүгээр ehlel.com гэдэг рүү орохын тулд ийм тасархай 4-н тоо цээжлэх хэрэггүй болноо гэсэн үг. Зүгээр л DNS серверээс асуух хэрэгтэй.

DNS нь яг утсаар ярихтай ижилхэн. Та над руу залгая гэж бодъё, тэгвэл дэвтрээ гаргаж ирж байгаад л "за нөхөр Тулга чинь ямар дугаартай билээ, аа тийм энд байна 96763961 юм байна" гээд л дугаараа хийгээд залгана, энэ дугаар харах үйлчилгээг л DNS сервер хийж өгдөг. Тэгэхээр нөхөр Ehlel.com рүү залгая дугаар нь хэд билээ? 124.158.127.28 thanks. Шууд ингэж харагдаж болж байгаа бол түүнийг А буюу absolute нэр гэдэг.

Түүнээс гадна домэйн нэрүүд ч бас хочтой байдаг. Манай зарим найз нар намайг Туба гэдэг, тэгэхдээ Туба гэдэг нэр дээр Тулгын л дугаар явж байгаа шүү дээ. Би Google-ийг Gogle гэж дуудах дуртай, ялгаагүй энэ нөгөө хоч нь л байхгүй юу. Үүнийг DNS серверүүд CNAME гэж дууддаг(canonical name). Энэ коммандыг шелл дээрээсээ өгөөд үз дээ:

$dig www.yahoo.com

www.yahoo.com. 59 IN CNAME fp.wg1.b.yahoo.com.
fp.wg1.b.yahoo.com. 3124 IN CNAME any-fp.wa1.b.yahoo.com.
any-fp.wa1.b.yahoo.com. 7 IN A 72.30.2.43
any-fp.wa1.b.yahoo.com. 7 IN A 98.137.149.56

Иймэрхүү хариу ирнэ. Тэгэхээр манай yahoo чинь өөр сонин сонин нэртэй юм байна шд. Энэ лав л араб байхаа :) Арабууд чинь нээх урт нэртэй байдаг шд. Бид нар тэгэхээр yahoo гэдэг хочоор нь холбогдох DNS сервер надад "any-fp.wa1.b.yahoo.com" гэсэн ийм сонин араб нэр өгөхнээ. Утасны дугаар нь 72.30.2.43. Хүүе байз энэ залуу чинь хоёр утас барьдаг юм байна. Нөгөө дугаар нь 98.137.149.56 гэж байна. Аль нэг рүү нь залгана даа. Тэгэхээр би ч бас 2 утас барьдаг алин руу нь ч залгасан тэр утас унтраагүй л бол би аваад л ярина яг л адилхан байгаа биз? Өшөө бүүр адилхан түр хүлээ.

Дээхнэ үед манай гэрийнхэн дундаа 5 оронтой утасны дугаар авч тавьсан гэрийн утастай байлаа. Тэр дугаарын тусламжтайгаар гаднаас хүн залгаад бидний алинтай нь ч ярьж болдог байв. Тэгэхээр нэг утасны дугаар дээр олон хүн байж болно. Үүнтэй адилаар нэг ip хаяг дээр өөр домэйн хаягууд байрлаж болно. Жишээ нь: 124.158.127.28 дугаар луу залгаад Ehlel-тэй яръя гэвэл нэг хүн(Apache server) аваад "Хөөе Ehleeel чамтай яръя гэж байна" гэнэ. Өөрөөр саяны дугаар луу залгаад Citinet-тэй яръя гэвэл бас л адилхан "Хөөе Citi чамтай яръя гэж байна" гээд Сититэй ярилцах болно. Энэхүү хэнтэй яръя гэдэг процесс нь HTTP/1.1-ээс эхлэн ажилладаг болсон гэж уншсан юм байна. Өмнө нь нэг дугаар зөвхөн нэг хүн л байна гэж бодож л дээ. Тэгээд шинэ хувилбар дээрээ өөр хүн рүү залгаж болох юм байна тийм болохоор HTTP протоколынхоо толгой хэсэгт хэнтэй ярихаа бичиж бай гэдэг болсон гэнэ лээ.

Тэгэхээр та DNS-ийг хэрхэн ашиглах талаар ерөнхий ойлголттой болсон байх. Одоо арай гүнзгийрье. Хэн нэгэн рүү залгах болгондоо бүх хүмүүс зөвхөн ганцхан DNS гэдэг супер залуугаас асуугаад байвал залуу хэзээ ч хариулт өгч чадахгүй. denial of service, flooding эд нар тохиолдоод ёстой амжихгүй биз. Тэгэхээр интернетийн ертөнцөд маш олон DNS сервер энэхүү хүнд үүргийг гүйцэтгэж жигд ачаалалтай ажиллаж байдаг. Яаж?
"TEDY" нь урьдчилсан төлбөрт үйлчилгээний хэсэг нь урьдчилсан төлбөрт үйлчилгээгээ л хариуцдаг, дараа төлбөрт нь зөвхөн дараа төлбөртөө хариуцдаг. Үүн шиг интернетэд com гэснийг хариуцсан хэдэн нөхдүүд сууж байдаг(нарийн хэлбэл 13), org гэснийг хариуцсан бас хэд бий. Тэгэхээр та залгах гэж байгаа найзынхаа утасны дугаарыг мэдэхийн тулд эхлээд "Root" гэдэг нөхрөөс асууна, харин Root нь аан та "mn" гэсэн өргөтгөлтэй рүү залгах гэж байгаан байна тэнд сууж байгаа Magicnet-ийн хүмүүсээс асуу гээд явуулна. Тэнд сууж байгаа хүмүүс чинь танд хэрвээ тийм утасны дугаар бүртгэлтэй байвал дугаарыг нь өгөөд байхгүй бол "тийм дугаар алгаа" гэнэ. За ухан ухан ойлгосон зүйлээ бичиж дуусгалаа. Thanks.

6 comments:

  1. хэхэ сонирхолтой хөгжилтэй тайлбар байна. :D

    ReplyDelete
  2. Эндээс CNAME Records, A Records зэргийг ойлгож авлаа. Уул нь арай гүнзгий байх боловуу гэсэн чин :P Гэхдээ маш, бүр маш сонирхолтой тайлбарлажээ, яаж ингэж хөгжилтэй найруулж бичжийна аа, ёстой гоё байлаа.

    Би cosmosbirds.org домэйн авах гэж байхдаа зүгээр л ip руу холбочихно гэж бодож байтал ёстой арзайсан олон юм гараад ирдиймдаа хэхэ.

    Сонирхолтой нийтлэл бичсэнд баярлалаа. Бас их ойлгомжтой байлаа ;) U rock

    ReplyDelete
  3. Сэтгэгдэл үлдээсэнд tnx, энэнээс гүнзгийрээд ч хэрэггүй байхаа. Нөгөө TCP,UDP пакетуудын бүтэц рүү ороод явчих байлгүй, толгой хүрэхгүй юм болно :)

    ReplyDelete
  4. Гоё нийтлэл байна.

    ReplyDelete
  5. Гоё сэтгэж бичжээ. Хальт мульт гадарладаг болвоо гэж...

    ReplyDelete
  6. үнэн амьдралтай тайлбарласан байна амжилт :)

    ReplyDelete