DNS (Domain Name System)

Introduction to DNS (Domain Name System)

एक website किसी server पर stored रहती है। Sever पर website को IP address द्वारा uniquely identify किया जाता है। हर website का एक IP address होता है लेकिन आप इसे देख नहीं पाते है। एक IP address numerical numbers से मिलकर बना होता है जो network और host के बारे में जानकारी देता है। लोग एक दिन में बहुत सी websites पर जाते है। ऐसे में किसी के लिए भी इतनी सारी websites के IP address याद रखना possible नहीं है।

Internet पूरी तरह IP addressing के द्वारा work करता है। लेकिन क्योंकि names को IP addresses के comparison में आसानी से याद रखा जा सकता है, इसलिए एक ऐसे system को use किया जाता है जो किसी website के IP address को एक domain name के द्वारा identify कर सके।

DNS (Domain name system) एक internet service होती है जो आपके द्वारा दिए गए नाम को IP address के रूप में resolve करता है। जब भी आप browser में कोई domain name type करते है तो DNS (Domain Name System) उसके साथ associated IP address को resolve करता है। इसके बाद resolver, TLD और दूसरे servers की मदद से website को ढूंढा जाता है और user को show किया जाता है।

DNS (Domain Name System) एक name resolution system होता है। Microsoft के द्वारा खुद के network में names को resolve करने के लिए WINS (Windows Internet Name Service) name resolution system use किया जाता था। लेकिन अब इसे use नहीं किया जाता है। DNS सबसे popular name resolution system है, क्योंकि ये बहुत ही fast और reliable है।

Domain Name Space

एक name space हर IP address को एक unique नाम के साथ map करता है। जब भी किसी website को या server को name assign किया जाता है तो वह name space से ही select किया जाता है। एक name space को 2 प्रकार से organize किया जा सकता है। इनके बारे में निचे दिया जा रहा है।

Flat Name Space

इस तरह के name space में एक name होता है जिसे IP के साथ map किया जाता है। ये centralized name space नहीं होता है इसलिए इसे internet के लिए use नहीं किया जा सकता है। क्योंकि इससे duplicate domain names create होने की problem हो जाती है।

Hierarchical Name Space

जो आज आप domain names use करते है वे इसी तरह के name space से allot की जाती है। इस तरह के name space में domain names कई parts से मिलकर बनी होती है। जैसे की एक part बताता है की ये domain name किस तरह की organization से सम्बंधित है, ऐसे ही दूसरा part organization का नाम या उससे सम्बंधित जानकारी बता सकता है। उदाहरण के लिए www.MyCompany.com domain name में com बताता है की ये commercial है और MyCompany किसी company के बारे जानकारी दे रहा है।

Hierarchical name space का implementation domain name space होता है। Domain name space को tree की form में represent किया जाता है, जिसमें एक root server होता है। बाकी दूसरे servers भी इस hierarchy में होते है। जब कोई server किसी name को resolve नहीं कर पाता है तो वह tree में दूसरे server को request pass कर देता है।

Domain name space में 2 तरह की domain name होती है। इनके बारे में निचे दिया जा रहा है।

Fully Qualified Domain Names

एक fully qualified domain name वह होता है जो dots (.) के द्वारा separated रहता है। हर dot operator एक different hierarchy level को represent करता है। इस तरह की domain name का उदाहरण निचे दिया जा रहा है।

www.MyComapny.com

Partially Qualified Domain Name

एक partially qualified domain name में dots नहीं होते है। इस तरह की domains में सिर्फ एक node का नाम होता है और ये fully qualified domain names की तरह root की तरफ नहीं बढ़ती है। इसका उदाहरण निचे दिया जा रहा है।

MyCompany

DNS (Domain Name System) Servers

DNS (Domain Name System) 3 प्रकार के servers से मिलकर बना हुआ है।

  1. Root Server
  2. Primary Server
  3. Secondary Server

ये तीनों servers domain name space की अलग अलग hierarchy levels पर काम करते है। Domain name space hierarchy के संदर्भ में इनका diagram निचे दिया जा रहा है।

इन सभी servers के बारे में निचे detail से बताया जा रहा है।

Root Server

एक root server वह server होता है जिसके zone में complete domain name space hierarchy होती है। ये server एक master zone file रखता है, जिसमें दूसरी सभी zones के बारे में information होती है। एक root server domains के बारे में कोई information नहीं रखता है। ये server start of authority maintain करता है और दूसरे servers के लिए starting authority के रूप में काम करता है। सबसे पहले request इस server के pass आती है जिसे बाद में दूसरे servers को pass कर दिया जाता है।

Primary Server

एक primary server अपने zone से related file maintain करता है। Primary servers को top level domain servers भी कहा जाता है। Primary servers कई होते है जैसे की com, gov, in, edu आदि। ये सभी different servers के रूप में maintain किये जाते है। Primary servers के 3 task होते है।

  1. Create Zone File
  2. Maintain Zone File
  3. Update Zone File

Secondary Server

Secondary server किसी दूसरे server की zone के बारे में information transfer करते है। Secondary servers को authoritative servers भी कहा जाता है। ये information किसी secondary या primary server को transfer की जाती है। एक secondary server zone files create और update नहीं कर सकता है। ये सिर्फ domain से related authority के बारे में जानकारी provide करता है।

Working of DNS (Domain Name System)

DNS (Domain Name System) की working process को निचे step by step समझाया जा रहा है।

  1. सबसे पहले user किसी website का URL web browser के address bar में लिखता है और enter press करता है। उदाहरण के लिए user www.hindimepadhai.com को खोलना चाहता है।
  2. Browser सबसे पहले अपने cache को check करता है की क्या उसके पास इस domain name का IP address पहले से मौजूद है। जब भी आप किसी website को visit करते है तो उसका IP address browser अपने chache में कुछ दिनों के लिए store कर लेता है। ऐसा इसलिए किया जाता है की ताकि same process को बार बार ना दोहराया जाए और server पर load भी ना पड़े।
  3. यदि browser को cache में ही IP address मिल जाता है तो user को उस IP address से connect कर दिया जाता है और website load हो जाती है।
  4. यदि browser को IP address अपने cache में नहीं मिलता है तो browser ये request OS (Operating System) को transfer करता है। Operating system इस request को resolver को transfer करता है।
  5. Resolver इस domain name के IP address के लिए खुद के cache को check करता है। यदि IP address मिल जाता है तो resolver इसे OS को और OS web browser को transfer कर देता है।
  6. यदि resolver को IP address नहीं मिलता है तो वह इस request को root server तक पहुँचाता है। एक resolver आपका ISP (Internet Service Provider) होता है। सभी resolvers को root server के बारे में जानकारी होती है।
  7. Root server इस request को top level domain server को pass कर देता है। Top level domain server को com, gov, edu, org, in आदि servers के बारे में जानकारी होती है। इसलिए वह इस request को appropriate top level domain server को pass कर देता है। उदाहरण के लिए Best Hindi Tutorials के case में ये request com server को pass की जायेगी।
  8. Top level domain server इस request को authoritative name server को pass कर देता है। अभी तक की process में com server को locate किया जा चूका है, अब actual name server को locate किया जाएगा। जब भी कोई domain register की जाती है तो domain registrar उस domain name को store कर लेता है और top level domain servers के साथ इस information को share करता है। इसलिए top level domain server को पता रहता है की actual name server कँहा है।
  9. Authoritative name server request की गयी domain name का IP address provide करता है। Resolver इस IP address को अपने cache में store कर लेता है। साथ ही OS भी इस IP address को further request को serve करने के लिए अपने cache में store कर लेता है।
  10. आखिर में resolver IP address के base पर website को browser में load करता है।

DNS की working process को निचे एक diagram के द्वारा समझाया जा रहा है।

DNS working in hindi

Configuring DNS (Domain Name System)

Domain name system को 2 प्रकार से configure किया जा सकता है।

  1. As local hosts files
  2. As centralized DNS server

इन दोनों तरीकों के बारे में निचे detail से दिया जा रहा है।

As Local Hosts Files

जब आप domain name system को local files के रूप में configure करते है तो आपको हर translation (from domain name to IP address) को हर device पर statically configure करना पड़ता है। Windows operating system में ये file c:\windows\system32\drivers\etc\hosts directory में स्थित रहती है। Linux operating system में ये file etc/hosts directory में स्थित रहती है।

DNS को local hosts file के रूप में configure करने की कई disadvantages है जो निचे दी जा रही है।

  1. DNS को हर device पर statically configure करना होता है, इसलिए ये अधिक time consuming process होती है।
  2. यदि कोई change करना हो तो हर device पर ये change manually करना होगा।

As Centralized DNS Server

DNS को local hosts files के रूप में configure करने की बजाय एक server के रूप में configure करना अधिक बेहतर होता है। सभी devices name resolution के लिए इस central server को request भेजते है। DNS को centralized server के रूप में store करने की advantage ये है की कोई भी change एक ही जगह पर perform करना होता है।

यदि किसी DNS server के pass required information नहीं होती है तो request DNS hierarchy में उससे ऊपर के server को भेज दी जाती है।

Configuring DNS on Cisco Devices

जैसा की मैने आपको ऊपर बताया DNS को 2 प्रकार से configure किया जाता है। Cisco devices पर भी आप name resolution इन दोनों methods से configure कर सकते है।

Cisco devices पर host table manually build करने के लिए आप command इस प्रकार लिख सकते है।

Router(config)# ip host host-name ip-address

इसे निचे उदाहरण के द्वारा समझाया जा रहा है।

Router(config)# ip host router1 192.168.10.1

Local hosts table को देखने के लिए आप इस प्रकार command लिख सकते है।

Router# show hosts

किसी IOS device को centralized DNS server को point करने के लिए आप इस प्रकार command लिख सकते है।

Router(config)# ip name-server 10.0.1.1

किसी IOS device पर DNS lookup disable करने के लिए आप इस प्रकार command लिख सकते है।

Router(config)# no ip domain lookup

किसी IOS device पर local domain configure करने के लिए आप इस प्रकार command लिख सकते है।

Router(config)# ip domain-name besthinditutorials.com