周航深夜回应乐视:向我泼脏水时请解决司机提现问题
H? th?ng phan gi?i tên mi?n (hay ???c vi?t t?t là DNS do tên ti?ng Anh Domain Name System) là m?t h? th?ng cho phép thi?t l?p t??ng ?ng gi?a ??a ch? IP và tên mi?n trên Internet.
T?ng quan
[s?a | s?a m? ngu?n]H? th?ng phan gi?i tên mi?n (DNS) v? c?n b?n là m?t h? th?ng giúp cho vi?c chuy?n ??i các tên mi?n mà con ng??i d? ghi nh? (d?ng ky t?, ví d? www.example.com) sang ??a ch? IP v?t ly (d?ng s?, ví d? 123.11.5.19) t??ng ?ng c?a tên mi?n ?ó. DNS giúp liên k?t v?i các trang thi?t b? m?ng cho các m?c ?ích ??nh v? và ??a ch? hóa các thi?t b? trên Internet.
Phép so sánh th??ng ???c s? d?ng ?? gi?i thích cho DNS là, nó ph?c v? nh? m?t "Danh b? ?i?n tho?i", có kh? n?ng tìm ki?m và d?ch tên mi?n thành ??a ch? IP. Ví d?, www.example.com d?ch thành 208.77.188.166. Tên mi?n Internet d? nh? h?n các ??a ch? IP, là 208.77.188.166 (IPv4) ho?c 2001: db8: 1f70:: 999: de8: 7648:6 e8 (IPv6[1]).
H? th?ng phan gi?i tên mi?n phan ph?i trách nhi?m gán tên mi?n và l?p b?n ?? nh?ng tên t?i ??a ch? IP b?ng cách ??nh r? nh?ng máy ch? có th?m quy?n cho m?i tên mi?n. Nh?ng máy ch? có tên th?m quy?n ???c phan c?ng ch?u trách nhi?m ??i v?i tên mi?n riêng c?a h?, và l?n l??t có th? ch? ??nh tên máy ch? khác ??c quy?n c?a h? cho các tên mi?n ph?. K? thu?t này ?? th?c hi?n các c? ch? phan ph?i DNS, ch?u ??ng l?i, và giúp tránh s? c?n thi?t cho m?t trung tam ??n l? ?? ??ng ky ???c t? v?n và liên t?c c?p nh?t.
Nhìn chung, H? th?ng phan gi?i tên mi?n c?ng l?u tr? các lo?i th?ng tin khác, ch?ng h?n nh? danh sách các máy ch? email mà ch?p nh?n th? ?i?n t? cho m?t tên mi?n Internet. B?ng cách cung c?p cho m?t th? gi?i r?ng l?n, phan ph?i t? khóa – c? s? c?a d?ch v? ??i h??ng, H? th?ng phan gi?i tên mi?n là m?t thành ph?n thi?t y?u cho các ch?c n?ng c?a Internet. Các ??nh d?ng khác nh? các th? RFID, m? s? UPC, ky t? Qu?c t? trong ??a ch? email và tên máy ch?, và m?t lo?t các ??nh d?ng khác có th? có kh? n?ng s? d?ng DNS.
Ch?c n?ng c?a DNS
[s?a | s?a m? ngu?n]M?i website có m?t tên (là tên mi?n hay ???ng d?n URL: Uniform Resource Locator) và m?t ??a ch? IP. ??a ch? IP g?m 4 nhóm s? cách nhau b?ng d?u ch?m(IPv4). Khi m? m?t trình duy?t Web và nh?p tên website, trình duy?t s? ??n th?ng website mà kh?ng c?n ph?i th?ng qua vi?c nh?p ??a ch? IP c?a trang web. Quá trình "d?ch" tên mi?n thành ??a ch? IP ?? cho trình duy?t hi?u và truy c?p ???c vào website là c?ng vi?c c?a m?t DNS server. Các DNS tr? giúp qua l?i v?i nhau ?? d?ch ??a ch? "IP" thành "tên" và ng??c l?i. Ng??i s? d?ng ch? c?n nh? "tên", kh?ng c?n ph?i nh? ??a ch? IP (??a ch? IP là nh?ng con s? r?t khó nh?).[1]
Nguyên t?c làm vi?c c?a DNS
[s?a | s?a m? ngu?n]- M?i nhà cung c?p d?ch v? v?n hành và duy trì DNS server riêng c?a mình, g?m các máy bên trong ph?n riêng c?a m?i nhà cung c?p d?ch v? ?ó trong Internet. T?c là, n?u m?t trình duy?t tìm ki?m ??a ch? c?a m?t website thì DNS server phan gi?i tên website này ph?i là DNS server c?a chính t? ch?c qu?n ly website ?ó ch? kh?ng ph?i là c?a m?t t? ch?c (nhà cung c?p d?ch v?) nào khác.
- INTERNIC (Internet Network Information Center) ch?u trách nhi?m theo d?i các tên mi?n và các DNS server t??ng ?ng. INTERNIC là m?t t? ch?c ???c thành l?p b?i NSF (National Science Foundation), AT&T và Network Solution, ch?u trách nhi?m ??ng ky các tên mi?n c?a Internet. INTERNIC ch? có nhi?m v? qu?n ly t?t c? các DNS server trên Internet ch? kh?ng có nhi?m v? phan gi?i tên cho t?ng ??a ch?.
- DNS có kh? n?ng truy v?n các DNS server khác ?? có ???c m?t cái tên ?? ???c phan gi?i. DNS server c?a m?i tên mi?n th??ng có hai vi?c khác bi?t. Th? nh?t, ch?u trách nhi?m phan gi?i tên t? các máy bên trong mi?n v? các ??a ch? Internet, c? bên trong l?n bên ngoài mi?n nó qu?n ly. Th? hai, chúng tr? l?i các DNS server bên ngoài ?ang c? g?ng phan gi?i nh?ng cái tên bên trong mi?n nó qu?n ly.
- DNS server có kh? n?ng ghi nh? l?i nh?ng tên v?a phan gi?i. ?? dùng cho nh?ng yêu c?u phan gi?i l?n sau. S? l??ng nh?ng tên phan gi?i ???c l?u l?i tùy thu?c vào quy m? c?a t?ng DNS.
DNS server
[s?a | s?a m? ngu?n]Do các DNS có t?c ?? biên d?ch khác nhau, có th? nhanh ho?c có th? ch?m, do ?ó ng??i s? d?ng có th? ch?n DNS server ?? s? d?ng cho riêng mình. Có các cách ch?n l?a cho ng??i s? d?ng. S? d?ng DNS m?c ??nh c?a nhà cung c?p d?ch v? (Internet), tr??ng h?p này ng??i s? d?ng kh?ng c?n ?i?n ??a ch? DNS vào network connections trong máy c?a mình. S? d?ng DNS server khác (mi?n phí ho?c tr? phí) thì ph?i ?i?n ??a ch? DNS server vào network connections. ??a ch? server c?ng là 4 nhóm s? cách nhau b?i các d?u ch?m.
Ki?n trúc DNS
[s?a | s?a m? ngu?n]Kh?ng gian tên mi?n (Domain name space)
[s?a | s?a m? ngu?n]
Kh?ng gian tên mi?n là m?t ki?n trúc d?ng cay (hình), có ch?a nhi?u n?t (node). M?i n?t trên cay s? có m?t nh?n và có kh?ng ho?c nhi?u resource record (RR), chúng gi? th?ng tin liên quan t?i tên mi?n. N?t root kh?ng có nh?n.
Tên mi?n (Domain name)
[s?a | s?a m? ngu?n]Tên mi?n ???c t?o thành t? các nh?n và phan cách nhau b?ng d?u ch?m (.), ví d? example.com. Tên mi?n còn ???c chia theo c?p ?? nh? tên mi?n top level, tên mi?n c?p 1, c?p 2...
Cú pháp tên mi?n (Domain name syntax)
[s?a | s?a m? ngu?n]Tên mi?n ???c ??nh ngh?a trong các RFC 1035, RFC 1123, và RFC 2181. M?t tên mi?n bao g?m m?t ho?c nhi?u ph?n, g?i là các nh?n (label), chúng cách nhau b?i d?u ch?m (.), ví d? example.com.
H? th?ng phan gi?i tên mi?n tính theo h??ng t? ph?i sang trái. Ví d? www.example.com thì nh?n example là m?t tên mi?n con c?a tên mi?n com, và www là tên mi?n con c?a tên mi?n example.com. Cay c?u trúc này có th? có t?i 127 c?p.
Tên mi?n qu?c t? hóa (Internationalized domain names)
[s?a | s?a m? ngu?n]Do s? gi?i h?n c?a b? ky t? ASCII trong vi?c di?n t? các ng?n ng? khác nhau trên th? gi?i, ICANN cho phép thi?t l?p h? th?ng IDNA (Internationalized domain names Application), dùng ky t? Unicode ?? bi?u di?n tên mi?n, ví d? http://TênMi?nTi?ngVi?t.vn.
Máy ch? tên mi?n (NS - Name Server)
[s?a | s?a m? ngu?n]Máy ch? tên mi?n ch?a th?ng tin l?u tr? v? m?t s? tên mi?n. H? th?ng phan gi?i tên mi?n ???c v?n hành b?i h? th?ng d? li?u phan tán, d?ng Client-Server. Các node c?a h? th?ng d? li?u này là các máy ch? tên mi?n. M?i m?t tên mi?n s? có ít nh?t m?t máy ch? tên mi?n ch?a th?ng tin v? tên mi?n ?ó. Các th?ng tin v? máy ch? tên mi?n s? ???c l?u tr? trong các zone c?a tên mi?n. Có hai d?ng Name Server (NS) là là Primary và Secondary. M?t Client s? ?u tiên h?i Primary tr??c và th? l?i v?i Secondary n?u Primary kh?ng th? tr? l?i th?ng tin v? tên mi?n ?ó trong th?i gian quy ??nh.
Máy ch? tên mi?n có th?m quy?n (Authoritative name server)
[s?a | s?a m? ngu?n]Máy ch? tên mi?n có th?m quy?n là m?t máy ch? tên mi?n có th? tr? l?i các truy v?n DNS t? các d? li?u g?c, ví d?, tên mi?n qu?n tr? ho?c ph??ng th?c DNS ??ng.
V?n hành
[s?a | s?a m? ngu?n]C? ch? phan gi?i ??a ch? (Address resolution mechanism)
[s?a | s?a m? ngu?n]
Các máy ch? phan gi?i tên mi?n theo c? ch? t? cao xu?ng th?p.
Máy ch? tên mi?n Recursive và Caching (Recursive and caching name server)
[s?a | s?a m? ngu?n]Theo ly thuy?t, các máy ch? tên mi?n có th?m quy?n ?? ?? dùng ?? v?n hành h? th?ng Internet. Tuy nhiên, n?u ch? có máy ch? tên mi?n th?m quy?n, m?i truy v?n DNS ph?i b?t ??u ?i t? root zone, và m?i h? th?ng ng??i dùng ph?i v?n hành m?t ph?n m?m ?? làm nhi?m v? phan gi?i.
?? gi?m l??ng b?ng th?ng trên Internet, DNS cho phép các máy ch? DNS l?u Cache các k?t qu? mà nó ?? t?ng truy v?n.
Phan gi?i DNS
[s?a | s?a m? ngu?n]Ph?n client c?a DNS g?i là DNS resolver.
- Truy v?n non-recursive: DNS resolver client truy v?n DNS server ?? tìm record c?a tên mi?n ch?a trên server ?ó.
- Truy v?n recursive
- Truy v?n iterative
Circular dependencies and glue records
[s?a | s?a m? ngu?n]M?u tin caching (Record caching)
[s?a | s?a m? ngu?n]Tra c?u ng??c (Reverse lookup)
[s?a | s?a m? ngu?n]Tra c?u ng??c là m?t truy v?n ?? tìm tên mi?n khi bi?t ??a ch? IP.
Tra c?u client (Client lookup)
[s?a | s?a m? ngu?n]
Giao th?c v?n chuy?n
[s?a | s?a m? ngu?n]DNS ch? y?u ho?t ??ng trên giao th?c UDP và c?ng 53. M?t s? ho?t ??ng khác có s? d?ng giao th?c TCP.
C?u trúc gói tin DNS
[s?a | s?a m? ngu?n]- ID: Là m?t tr??ng 16 bits, ch?a m? nh?n d?ng, nó ???c t?o ra b?i m?t ch??ng trình ?? thay cho truy v?n. Gói tin h?i ?áp s? d?a vào m? nh?n d?ng này ?? h?i ?áp l?i. Chính vì v?y mà truy v?n và h?i ?áp có th? phù h?p v?i nhau.
- QR: Là m?t tr??ng 1 bit. Bít này s? ???c thi?t l?p là 0 n?u là gói tin truy v?n, ???c thi?t l?p là m?t n?u là gói tin h?i ?áp.
- Opcode: Là m?t tr??ng 4 bits, ???c thi?t l?p là 0 cho c? hi?u truy v?n, ???c thi?t l?p là 1 cho truy v?n ng??c, và ???c thi?t l?p là 2 cho tình tr?ng truy v?n.
- AA: Là tr??ng 1 bit, n?u gói tin h?i ?áp ???c thi?t l?p là 1, sau ?ó nó s? ?i ??n m?t server có th?m quy?n gi?i quy?t truy v?n.
- TC: Là tr??ng 1 bit, tr??ng này s? cho bi?t là gói tin có b? c?t khúc ra do kích th??c gói tin v??t quá b?ng th?ng cho phép hay kh?ng.
- RD: Là tr??ng 1 bit, tr??ng này s? cho bi?t là truy v?n mu?n server ti?p t?c truy v?n m?t cách ?? quy.
- RA: Tr??ng 1 bit này s? cho bi?t truy v?n ?? quy có ???c th?c thi trên server kh?ng.
- Z: Là tr??ng 1 bit. ?ay là m?t tr??ng d? tr?, và ???c thi?t l?p là 0.
- Rcode: Là tr??ng 4 bits, gói tin h?i ?áp s? có th? nh?n các giá tr? sau:
- 0: Cho bi?t là kh?ng có l?i trong quá trình truy v?n.
- 1: Cho bi?t ??nh d?ng gói tin b? l?i, server kh?ng hi?u ???c truy v?n.
- 2: Server b? tr?c tr?c, kh?ng th?c hi?n h?i ?áp ???c.
- 3: Tên b? l?i. Ch? có server có ?? th?m quy?n m?i có th? thi?t l?p giá tr? náy.
- 4: Kh?ng thi hành. Server kh?ng th? th?c hi?n ch?c n?ng này.
- 5: Server t? ch?i th?c thi truy v?n.
- QDcount: S? l?n truy v?n c?a gói tin trong m?t v?n ??.
- ANcount: S? l??ng tài nguyên tham gia trong ph?n tr?
l?i.
- NScount: Ch? ra s? l??ng tài nguyên ???c ghi l?i trong các ph?n có th?m quy?n c?a gói tin.
- ARcount: Ch? ra s? l??ng tài nguyên ghi l?i trong ph?n thêm vào c?a gói tin.
M?u tin resoucre DNS (DNS resource records)
[s?a | s?a m? ngu?n]M?u tin Resource Record (RR) l?u tr? th?ng tin c?a tên mi?n. Các RR chia thành các l?p (class) và có ki?u (type) khác nhau. M?t s? ki?u RR ph? bi?n:
- Start of Authority (SOA) resource record: ??nh ngh?a các tham s? toàn c?c cho zone ho?c tên mi?n. M?t t?p tin zone ch? ???c phép ch?a m?t m?u tin SOA và ph?i n?m ? v? trí ??u tiên tr??c các m?u tin khác.
- Name server (NS) resource record: ch? ra Máy ch? tên mi?n (Name server) c?a zone ?ó.
- A Resource Records (m?u tin ??a ch?): m?u tin cho bi?t ??a ch? IP t??ng ?ng c?a m?t tên mi?n, có d?ng nh? "example IN A 172.16.48.1"
- PTR Records (m?u tin con tr?): ng??c l?i v?i A record, PTR ch? ra tên mi?n t??ng ?ng c?a m?t ??a ch? IP, có d?ng nh? "1.48.16.172.in-addr.arpa. IN PTR example.com."
- CNAME Resource Records: m?t d?ng record giúp t?o ra bi?t hi?u cho m?t tên mi?n, ví d? m?u tin CNAME "ftp.example.com. IN CNAME ftp1.example.com." cho phép tr? tên mi?n ftp.example.com sang ftp1.example.com
- MX Resource Records (m?u tin Mail exchange): ch? ra máy ch? mail c?a tên mi?n.
- TXT Resource Records (m?u tin text): ch?a th?ng tin d?ng v?n b?n kh?ng ??nh d?ng, th??ng dùng ?? ch?a các th?ng tin b? sung.
T?t c? các DNS Resource Records d?a theo tiêu chu?n RFC 1035 khi v?n chuy?n trên Internet:
Tr??ng | M? t? | ?? dài (octets) |
---|---|---|
Tung Du?ng | Reg Dpi Liên H? Tùng Du?ng | Variable |
TYPE | Lo?i RR d?ng s? (ví d?, 15 trong MX RRs) | 2 |
CLASS | M? l?p | 2 |
TTL | Th?i gian theo giay ?? RR còn hi?u l?c (T?i ?a 231?1, kho?ng 68 n?m) | 4 |
RDLENGTH | ?? dài tr??ng RDATA | 2 |
RDATA | RR b? sung | Bi?n ??i, nh? RDLENGTH |