application DNS

DNS(Domain Name System,網域名稱系統)
可用網域名稱查到ip位址,幫助人們更容易得到ip位址
ps:ip位址也可查到網域名稱
早期arpanet時用hosts.txt實現
支援TCP53,UDP53(大部份查詢用)
最初定義在RFC-882,RFC-883,1987從新定義在RFC-1034,RFC-1035
其他相關定義在RFC-920,RFC-973,RFC-974,RFC-1032,RFC-1033,RFC-1101,RFC-1296

... 

常見單位 

ICANN(Internet Corporation for Assigned Names and Numbers,網際網路名稱與號碼分配機構)
負責指派與配置public IPv4,IPv6的位置

IANA(Internet Assigned Numbers Authority,Internet號碼分配局/網際網路位址指派機構)
執行ICANN所交付的政策
負責將位置分配給RIR

RIR(Regional Internet Registry,區域網際網路註冊管理機構)
管理世界上某特定地區internet資源的組織,RIR whois database
共有5個:
ARIN(American Registry for Internet Numbers,美洲網際網路號碼註冊管理機構)North America,部分加勒比地區
RIPE NCC(RIPE Network Coordination Centre,歐洲IP網路資源協調中心)Europe,the Middle East and Central Asia
APNIC(Asia-Pacific Network Information Centre,亞太網路信息中心):Asia Pacific region
LACNIC(Latin American and Caribbean Internet Address Registry,拉丁美洲及加勒比地區網際網路地址註冊管理機構):southen and central america and caribbean
AfriNIC(African Network Information Centre,非洲網路信息中心):Africa 

... 

常見名詞 

TDL(top-level-domain,最高層網域名稱)網路上約200個以上
管理TDL是ICANN
TDL分國家和一般類別:
一般別領域:com,edu.gov,mil,net,org,int(國際組織)
2000.11後更新增biz(商業),info(資訊),name(人名),pro(專業),aero(太空領域),coop(企業),museum(博物館)...等

FQDN(Full Qualified Domain Name,完整領域名稱)
主機名+域名
,ex:www + systw.net=www.systw.net
ps:真正的fqdn後面應該有一個點,像是"www.systw.net.",之所以最後不用加點是因為解析器已幫我們處理掉了


Forward(正解)/Reverse(反解)
forward mapping:用domain name查詢IP
一般的查詢都是,ex:打網址時
ps:只可網域查對應的ip用ping
ps:查hostname用nslookup,host,dig
reverse mapping:用IP查詢domain name
ex:
#nslookup 8.8.8.8
...omit...
Non-authoritative answer:
8.8.8.8.in-addr.arpa name = google-public-dns-a.google.com.

應用:判斷是否為spam mail,若反解不到來源mailserver則可能會被列為垃圾信主機並阻擋信件
ps:ip對應網域用tracert,nslookup,host,dig

forward mapping和reverse mapping的機器不一定是同一部
負責記錄forward/reverse mapping的機器會執行name server的軟體,回應來自其它機器對domain name或IP的查詢
domain與ip subnet並沒有一對一關係,網域名可對多ip,ip也可對多網域
完整的正反查記錄能夠使dns運作時能從IP對應到domain name及從 domain name對應到IP

 

............................................

分散式資料庫與階層式架構:
將整個internet分成許多domain,每個domain下又細分為許多domain,然後這些細分的domain視實際需求又再細分,一直循環下去

ps:domain長度的限制是63個字元,僅限ASCII字元的一個子集
Delegation(授權):
 上層的domain將其分出的某個sub domain的domain name與IP mapping交由另一部機器管理的動作
 每個domain(嚴格上來說是zone)內的mapping由一部主機負責管理
zone:
 把一個domain扣掉分給下層負責的部份,剩下來的就是zone,而zone的資料(就是domain name和ip mapping)
Zone transfer:
 用途:Secondary(slave) DNS從Primary(master) DNS獲得該Zone資訊,讓這兩個DNS間的資料可以保持一致與同步
 缺點:容易資訊洩漏,大部分DNS會過濾這樣的DNS Query,
 ps:通常Secondary DNS的要求會
使用tcp53
多重伺服程式:
 zone服務給Primary(master)DNS和多台secondary(slave)DNS負責,幫助負載平衡
 可防止單一name server當掉而造成INTERNET上其它機器無法取得屬於這個zone的資料
 primary/secondary在新版name server程式中改稱為master/slave
DNSoptimization(最佳化)效率方案:
 replication(複製):將根伺服程式複製到很多電腦上,讓全世界到處都有根伺服程式,各區域使用最接近的根伺服器
 caching(快取):查詢時會在快取中留下一份對應記錄binding,需連繫其他伺服程式前會先在自己快取中找一遍

............................................

Name Resolution(名稱解析)
定義
Root Name Server:
查詢資料的起點,世界各地共有十多個,記錄了各top domain分別由哪些DNS server負責
Resolver:
DNS server的client端,以函式庫的方式放在作業系統中,各類應用程式經由呼叫
resolver函式庫可向DNS查詢得到資料
Recursive Query:
DNS client丟出一個詢問給local DNS,local DNS會不斷地查到答案出來,在把結果傳回來給client的整個程序 
通常resolver對local DNS server都是recursive query,
Iterative Query:
local DNS對其它DNS發出詢問,知道更進一步的線索,然後發問者(local DNS)根據線索再去進一步找答案
通常DNS server之間的query多是iterative,root name server考量負載問題也只接受iterative query
Non-authoritative answer: 
由local DNS的cache中直接讀出來,而不是local DNS向真正負責這個domain的nameserver問來的answer

運作
1client詢問DNS
若是本域名則直接回答,若是其它域名則根據Cache(快取記憶體)回答
若無轉向root伺服器,步驟2
2伺服器提供該域名全部下層authoritative(授權)伺服器,dns順便存到cache內
3轉向下層授權伺服器查詢,遠端回應(回步驟2)直到獲的客戶端所查詢的結果(Recursive Query)
4傳回查詢並備份在Cache,在保存期間中,若有相同查詢則用cache內資料

............................................

RR(resource record,資源記錄) 
dns設定檔中的每一筆資料
可拆成以下欄位:
domain_name(領域名稱):對映的領域名稱,搜尋時的主鍵
time_to_live(存活時間):32bit,單位為秒,決定解析主機要快取該RR多久時間,值越大快取保留越久,可減少重新解析主機的次數,一般使用預設值即可
class(類別):目前只能填IN,代表網際網路資訊
type(型態):記錄的type
value(值):resource_record_data,對應到的資料依型態不同,一般就是所要查詢資料對應的domainname或是IP

type(型態):
SOA(start of authority):各區段只能有一個SOA,說明此區段的授權資料,ex:管理員email    
TXT:說明文字,未經解釋的ASCII文字
NS(名稱伺服器):此領域伺服器名稱
MX(郵件伺服器):優先順序,願意接收信箱的領域
A(address type):定義某個domain name對應的IP,應用程式最常使用的對應值,絕對必要設定,32bitIP
HINFO:回答"Host Information"查詢用,以ASCII表示的CPU及作業系統
CNAME(別名):領域名稱
AAAA:對應IPv6格式
PTR(指標):IP位址的別名,定義某個 IP 對應的 domain name

... 

DNS封包
QID:查詢封包編號
QR:長為1bit,查詢為0回應為1
OPCodes(封包類別),長為4bits,有QUERY, IQUERY, STATUS, Reserved
Flags 4bits表AA(Authoritative Answer)、TC(Truncation)、RD(Recursion Desired)、RA(Recursion Avalable)
Reserved 保留未用
RCodes 4bits回應訊息0,6-15未用1-5:Format Error、Server Failure、Name Error、Not Implemented、Refused
QDCount、ANCount、NSCount、ARCount 表Question、Answer、Authority、Additional Record的長度
Question Section、Answer Section、Authority Section、Additional Records Section
查詢、應答、授權、額外記錄等封包資訊,各分為NAME、TYPE、CLASS 三個子欄位

............................................

DDNS(Dynamic Domain Name Server,動態網域名稱服務)
IP
是變動的、隨機的
沒有固定IP位址,但也可架設DNS伺服器
動態DNS使用一個軟體,會自動偵測目前的IP位址,並會自動更新DNS伺服器內的設定

WINS(Windows網際網路名稱服務伺服器)
會動態對應IP位址到電腦名稱 (NetBIOS 名稱),這可讓使用者依電腦名稱而不是IP位址來存取資源
如果想要某台電腦持續追蹤網路中其他電腦的名稱及IP位址,則在這電腦設定為WINS伺服器 

 

2008-07-09 13:08:28發表 2014-05-09 10:57:45修改   

數據分析
程式開發
計算機組織與結構
資料結構與演算法
Database and MySql
manage tool
windows
unix-like
linux service
network
network layer3
network layer2
network WAN
network service

作業系統
數位鑑識
資訊安全解決方案
資訊安全威脅
Cisco security
Cisco network
Cisco layer3
Cisco layer2



  登入      [牛的大腦] | [單字我朋友] Powered by systw.net