1.1 Hệ thống tên miền
1.1.1
Tổ chức và hoạt động
Chúng ta cùng xem lại quá trình duyệt web, sau khi người
dùng nhập địa chỉ website (ví dụ: https://en.wikipedia.org/)
vào thanh địa chỉ của trình duyệt, bấm Enter. Trình duyệt sẽ dựa vào địa chỉ
website để kết nối tới máy server.
Vậy, bằng cách nào trình duyệt kết nối được tới máy server dựa
vào địa chỉ website?
Như đã biết, địa chỉ website (hay URL của website) có dạng
như sau:
scheme://domain:port/path?query_string#fragment_id
Trình duyệt sẽ lấy trường domain (tên miền) trong URL (ví dụ: en.wikipedia.org), thực hiện truy vấn trên hệ thống tên miền để tìm
được địa chỉ IP của server có tên miền tương ứng. Khi đã có địa chỉ IP, trình
duyệt tạo một “yêu cầu” (ví dụ HTTP
request), gửi tới server để yêu cầu “cho
nội dung trang web mặc định của website” (ví dụ trang index).
Xem hình minh họa:
Hệ thống tên miền (Domain Name System – DNS) là một hệ thống
có nhiệm vụ chuyển đổi địa chỉ dạng “tên miền” thành địa chỉ IP và ngược lại.
Ví dụ, hệ thống DNS sẽ giúp máy tính biết được tên miền en.wikipedia.org sẽ có địa chỉ IP tương ứng là
103.102.166.224.
Quan sát một vài ví dụ:
Ví dụ 1: khi biết tên miền, có thể biết được địa chỉ IP của
server ứng với tên miền đó. Cách làm:
– Trong hệ điều hành Windows, mở chương trình dòng lệnh
(CMD), gõ lệnh:
ping en.wikipedia.org
– Nếu lệnh ping thành công, bạn sẽ thấy được địa chỉ IP của
tên miền en.wikipedia.org.
Xem minh họa:
C:\Users\Maxsys>ping
en.wikipedia.org
Pinging
dyna.wikimedia.org [103.102.166.224] with 32 bytes of data:
Reply from
103.102.166.224: bytes=32 time=58ms TTL=59
Reply from
103.102.166.224: bytes=32 time=55ms TTL=59
Reply from
103.102.166.224: bytes=32 time=54ms TTL=59
Reply from
103.102.166.224: bytes=32 time=54ms TTL=59
Ping
statistics for 103.102.166.224:
Packets: Sent = 4, Received = 4, Lost = 0
(0% loss),
Approximate
round trip times in milli-seconds:
Minimum = 54ms, Maximum = 58ms, Average =
55ms
Ví dụ 2, khi biết địa chỉ IP của một server, có thể biết được
tên miền của máy server đó (lưu ý một server có thể chứa nhiều website, do vậy
tên miền của máy server không nhất thiết phải đồng nhất với tên miền của
website). Sử dụng lệnh ping –a IP, hoặc
lệnh nslookup IP.
Xem minh họa:
C:\Users\Maxsys>ping
-a 103.102.166.224
Pinging
text-lb.eqsin.wikimedia.org [103.102.166.224] with 32 bytes of data:
Reply from
103.102.166.224: bytes=32 time=57ms TTL=59
Reply from
103.102.166.224: bytes=32 time=54ms TTL=59
Reply from
103.102.166.224: bytes=32 time=55ms TTL=59
Reply from
103.102.166.224: bytes=32 time=53ms TTL=59
Ping
statistics for 103.102.166.224:
Packets: Sent = 4, Received = 4, Lost = 0
(0% loss),
Approximate
round trip times in milli-seconds:
Minimum = 53ms, Maximum = 57ms, Average =
54ms
Hoặc dùng lệnh nslookup:
C:\Users\Maxsys>nslookup
103.102.166.224
Server: dns.google
Address: 8.8.8.8
Name: text-lb.eqsin.wikimedia.org
Address: 103.102.166.224
Trong một số trường hợp, có thể truy cập website bằng tên miền
hoặc địa chỉ IP. Ví dụ: có thể truy cập trang google bằng http:// 142.250.66.78
hoặc http://google.com.
Hệ thống tên miền gồm
3 thành phần: DNS namespace, Name server và Resolver
– DNS namespace (hệ thống tên): hệ thống tên của DNS được tổ
chức theo cấu trúc cây (tree). Mỗi nhánh của cây xác lập một miền (domain). Mỗi
miền chứa các bản ghi (resource record): là thông tin ánh xạ giữa tên và địa chỉ
IP, cùng các thông tin khác. Mục đích của quá trình truy vấn DNS là tìm kiếm
các thông tin chứa trong các bản ghi tại mỗi miền.
– Name server: là máy tính đã được cài đặt dịch vụ DNS
server và có chứa các bản ghi thông tin của miền. Đôi khi, máy này cũng chứa
thông tin liên quan đến việc quản lý các nút con trong miền. Name server có thể
trả lời các truy vấn liên quan đến tên miền do nó quản lý, ngoài ra, nó cũng có
khả năng chuyển tiếp các truy vấn tới các name server khác trong trường hợp nó
không thể trả lời được.
– Resolver (DNS client): là thành phần tạo ra các truy vấn
DNS và gửi nó tới các Name server. DNS client có thể là chương trình (ví dụ trình
duyệt web), máy tính, máy tính có cài đặt dịch vụ DNS server (nhưng không chứa
các bản ghi thông tin của miền, ví dụ máy 8.8.8.8 của Google).
Tóm lại, DNS namespace là dữ liệu, Name server là máy chứa dữ
liệu và cung cấp dịch vụ truy vấn, Resolver là máy tính (hoặc ứng dụng) truy vấn
dữ liệu.
Xem hình minh họa:
Hệ thống tên của DNS
Hệ thống tên của DNS được tổ chức theo cấu trúc cây.
– Bắt đầu là nút gốc (DNS root), kí hiệu là (.) (dấu chấm). Khi
duyệt web, bạn hoàn toàn có thể thêm dấu chấm (.) vào cuối mỗi tên miền. Đó mới
là địa chỉ đầy đủ của website. Tuy nhiên, trong thực tế mọi người không cần
thêm dấu chấm vì trình duyệt không bắt buộc điều đó.
– Tiếp theo là tên cấp cao (Top Level Domain – TLD). Ví dụ org, edu, com, vn, uk
– Tiếp theo là các tên miền thứ cấp (Second Level Domain, Third Level Domainvv).
Ví dụ wikipedia (Second Level Domain), en (Third Level Domain).
Xem hình minh họa:
Quá trình đổi tên miền
sang IP của DNS client
InterNIC (Internet Network Information Center) là Trung tâm
thông tin mạng Internet, tổ chức chịu trách nhiệm trong việc nhận đăng ký và
duy trì các tên miền .com, .edu, .gov, .net, và .org…v.v, theo dõi tên miền và
các DNS server tương ứng. Nó không phụ trách việc phân giải tên miền.
Việc phân giải tên miền là trách nhiệm của DNS server thuộc
các tổ chức quản lý website. Chúng ta sẽ nắm rõ hơn ý này khi thực hành cấu
hình web server.
Quá trình đổi tên miền sang IP được thực hiện như sau (trên
máy Windows):
– Bước 1: máy DNS client tìm trong DNS cache tại DNS client
xem có bản ghi tên miền – IP hay
không?
– Bước 2: nếu Bước 1 chưa tìm thấy, máy DNS client tiếp tục tìm
trong tập tin hosts xem có bản ghi tên miền
– IP hay không? (thực tế nội dung của tập tin hosts sẽ được nạp vào DNS
cache).
– Bước 3: sau 2 bước trên, nếu vẫn không có bản ghi cần tìm,
thì máy DNS client sẽ gửi truy vấn tới máy DNS server được khai báo trong cạc mạng
(mục Preferred DNS server). Sau đó DNS server sẽ thực hiện việc phân giải tên
miền. Quá trình phân giải tên miền của DNS server (DNS Iterator) được minh họa
trong hình sau:
– Bước 4: trong máy DNS Iterator có chứa địa chỉ IP của các root
nameserver, một trong số đó có IP là 198.41.0.4, do đó nó sẽ tạo truy vấn để hỏi
máy root nameserver đầu tiên: máy org nằm
ở đâu? ý là địa chỉ IP của org là gì?
– Bước 5: trong máy root nameserver chứa mẩu tin org – 204.74.112.1. Root nameserver trả
lời: “máy org có IP là 204.74.112.1”.
– Bước 6: DNS Iterator tiếp tục gửi truy vấn tới org.
nameserver: wikipedia.org nằm ở đâu? ý là
địa chỉ IP của wikipedia.org là gì?
– Bước 7: trong máy org. nameserver có chứa mẩu tin wikipedia - 207.142.131.234. Vì vậy .org
nameserver trả lời: “wikipedia.org có IP là
207.142.131.234”.
– Bước 8: DNS Iterator tiếp tục gửi truy vấn tới
wikipedia.org. nameserver: máy
www.wikipedia.org nằm ở đâu? ý là địa chỉ IP của www.wikipedia.org là gì?
– Bước 9: trong máy wikipedia.org. nameserver có chứa mẩu
tin www - 103.102.166.224. Nó sẽ gửi
thông tin này về cho DNS Iterator. Và DNS Iterator sẽ chuyển về cho DNS client.
1.1.2 Đăng ký tên miền
Đăng ký tên miền là việc xác lập quyền sở hữu của chủ thể
(cá nhân, tổ chức, cơ quan, công ty) đối với một tên miền cụ thể. Việc đăng ký
tên miền cần có hợp đồng giữa chủ thể tên miền và nhà cung cấp dịch vụ tên miền.
Đăng ký tên miền để xây dựng, bảo vệ thương hiệu. Khi đã có
tên miền bạn có thể xây dựng website để quản lý, dạy học, làm việc, làm thương
mại, quảng cáo, quảng bá thương hiệu.
Tổ chức quản lý và cung cấp tên miền của quốc tế là ICANN, của
Việt Nam là VNNIC. Tuy nhiên, chúng ta không thể trực tiếp đăng ký tên miền với
2 tổ chức này. Thay vì vậy, chúng ta sẽ đăng ký tên miền qua các công ty, đại
lý trung gian, chuyên cung cấp dịch vụ đăng ký tên miền. Ví dụ: GoDaddy, MatBao,
NhanHoa, TenTen, Pavietnam,…v.v.
Tên miền quốc tế là gì?
Tên miền quốc tế là tên miền do tổ chức ICANN (Internet
Corporation for Assigned Names and Numbers – Tập đoàn Internet cấp số và tên miền)
cấp. Ví dụ các tên miền có đuôi là .com, .net, .org, .info, edu …v.v.
Ý nghĩa một số đuôi của tên miền:
– .COM là tổ chức
liên quan đến thương mại (COMmercial)
– .NET liên quan
đến mạng lưới (NETwork)
– .ORG liên quan đến các
tổ chức (ORGanizations)
– .INFO liên quan
đến thông tin (INFOrmation)
– .EDU liên quan
đến giáo dục (EDUcation)
Tên miền cấp quốc gia là gì?
Tên miền quốc gia
là tên miền riêng của từng nước hay vùng lãnh thổ, có phần đuôi là kí hiệu của
mỗi quốc gia. Ví dụ: .vn là Việt Nam, .UK là của Anh, .us là của Mỹ.
Tên miền Việt Nam do VNNIC quản lý.
Tên miền Việt Nam, có phần đuôi là .vn; .com.vn; .edu.vn.
Một vài gợi ý về cách
chọn tên miền
– Tên miền nên có chứa từ khóa tìm kiếm, giúp tăng thứ hạng
trong các hệ thống tìm kiếm. Ví dụ: nhaxeABC, trungtamXYX, ABCshop.
– Tên miền nên ngắn gọn,
sáng tạo, dễ phát âm, dễ viết
– Không nên sử dụng dấu gạch ngang (-) trong tên miền
– Nên chọn tên có tính khả mở (khoaitaydalat, raudalat,
raucudalat)
– Đăng ký nhanh, tránh trì hoãn, có thể bị người khác đăng
ký trước
– Chọn nhà cung cấp uy tín
– Đăng ký tên miền cùng chỗ thuê đặt website để có được nhiều
ưu đãi
Tên miền miễn phí
Có rất nhiều các
website cho phép đăng ký tên miền miễn phí.
Ví dụ:
pages.github.com |
000webhostapp.com |
wordpress.com |
blogspot.com |
my.noip.com |
my.freenom.com |
somee.com |
biz.nf |
– Một số tên miền
miễn phí chỉ sử dụng được trong một khoảng thời gian nhất định, có thể bị mất bất
cứ khi nào
– Phần đuôi của
tên miền thường là tên của nhà cung cấp
– Tên miền miễn
phí không nhận được hỗ trợ kĩ thuật
Tên miền có phí
– Có hợp đồng giữa
chủ sở hữu và nhà cung cấp
– Được hỗ trợ kỹ
thuật
– Được chọn tên
theo ý muốn
– Được bảo hộ về
quyền sở hữu, thương hiệu
– Sử dụng lâu dài
1.1.3 Xem và đọc thêm
Các từ khóa: DNS, Fully Qualified Domain Name, hệ thống tên
miền, đăng ký tên miền, tên miền quốc tế, tên miền quốc gia.
– [1] DNS (read): https://dzone.com/refcardz/dns
– [2] FQDN: https://en.wikipedia.org/wiki/Fully_qualified_domain_name
– [3] DNS wiki (read): https://en.wikipedia.org/wiki/Domain_Name_System
– [4] DNS (đọc): https://vi.wikipedia.org/wiki/H%E1%BB%87_th%E1%BB%91ng_ph%C3%A2n_gi%E1%BA%A3i_t%C3%AAn_mi%E1%BB%81n
– [5] Đăng ký tên miền: https://wiki.matbao.net/ten-mien-la-gi-dang-ky-ten-mien-o-dau-la-tot-nhat/
– [6] Chọn tên miền: https://www.wpbeginner.com/beginners-guide/tips-and-tools-to-pick-the-best-domain-for-your-blog/
– [7] DNS explained: https://www.youtube.com/watch?v=FsGUi5pXpLk
1.1.4 Bài tập và thực hành
Bài tập 1. Tìm địa chỉ IP hoặc tên miền còn thiếu trong bảng
sau:
Địa
chỉ IP |
Tên
miền |
|
https://tuoitre.vn/ |
|
https://www.google.com/ |
128.30.52.100 |
|
108.177.125.18 |
|
127.0.0.1 |
|
|
localhost |
Bài tập 2. Trong hệ điều hành Windows, mở và thêm một bản
ghi trong tập tin hosts (ví dụ: “127.0.0.1 hocdns.com”. Kiểm tra DNS cache để
quan sát bản ghi trong tập tin hosts đã được nạp vào DNS cache.
Bài tập 3. Thay đổi lại địa chỉ Preferred DNS server trong cạc
mạng là một địa chỉ của Google, Singapore, VNPT và của Viettel.
Bài tập 4. Đăng ký 2 tên miền miễn phí.
Bài tập 5. Kể tên 3 nhà cung cấp dịch vụ đăng ký tên miền (2
của Việt Nam, 1 của quốc tế). Để đăng ký một tên miền có phí, cần chuẩn bị những
gì? Khảo sát bảng giá của một số tên miền. Thử đăng ký một tên miền có phí.
[Gợi ý đáp án]
Bài tập 1. Tìm địa chỉ IP hoặc tên miền còn thiếu trong bảng
sau:
Địa
chỉ IP |
Tên
miền |
222.255.239.80 |
https://tuoitre.vn/ |
216.58.220.196 |
https://www.google.com/ |
128.30.52.100 |
https://www.w3.org/ |
108.177.125.18 |
https://mail.google.com/ |
127.0.0.1 |
Localhost |
127.0.0.1 |
Localhost |
Bài tập 2. Trong hệ điều hành Windows, mở và thêm một bản
ghi trong tập tin hosts (ví dụ: “127.0.0.1 hocdns.com”. Kiểm tra DNS cache để
quan sát bản ghi trong tập tin hosts đã được nạp vào DNS cache.
– Đường dẫn của tập tin hosts: C:\Windows\System32\drivers\etc,
mở tập tin hosts bằng notepad
– Thêm bản ghi “127.0.0.1 hocdns.com” vào cuối tập tin, lưu
lại và đóng notepad
– Mở chương trình CMD hoặc Powershell, dùng lệnh ipconfig
/displaydns đối với CMD, hoặc dùng lệnh Get-dnsclientcache đối với Powershell để
xem kết quả.
Bài tập 3. Có nhiều cách làm, đây là một cách (làm trên hệ
điều hành Windows):
– Chuột phải vào biểu tượng cạc mạng ở System tray
– Chọn Open Network &
Internet settings
– Chọn Wifi (nếu dùng mạng
không dây), hoặc Ethernet (nếu dùng mạng có dây)
– Chọn Change adapter
options
– Bấm đúp chuột vào cạc mạng
đang sử dụng (Wifi hoặc Ethernet)
– Chọn Properties\Internet
Protocol Version 4\ chọn Use the following DNS server addresses, sửa địa chỉ IP
trong mục Preferred DNS server.
– Lên mạng tìm “IP DNS
server của Google”, VNPT,…v.v.
1.1.5 Câu hỏi ôn tập
Câu 1. DNS
là viết tắt của:
A. Domain Name Services
B. Domain Name System
C. Domain Network Services
D. Document Name System
Câu 2. The DNS is a hierarchical and _________ naming system
for computers, services, or other resources connected to the Internet or a
private network.
A. centralized
B. domain
C. decentralized
D. digital
Câu 3. Hệ thống DNS gồm 3 thành phần là:
A. Name server, DNS namespace và Resolver
B. DNS system, Resolver và Name server
C. Root server, DNS namespace, và Name server
D. DNS namespace, Domain Name và Resolver
Câu 4. Dấu chấm ở cuối tên miền “http://www.vidu.com.”, mang ý nghĩa gì?
A. Không mang ý nghĩa gì, do viết thừa
B. Tên miền gốc (root domain)
C. Tên miền mức cao (top level domain)
D. Thư mục gốc của website
Câu 5. Tổ chức quản lý và cung cấp tên miền quốc tế và Việt
Nam là:
A. W3C và VNPT
B. eBay và Mắt bão
C. ICANN và VNPT
D. ICANN và VNNIC
Câu 6. Trong hệ điều hành Windows, tập tin hosts chứa cái gì?
A. Danh sách các máy chủ
B. Địa chỉ các máy host
C. Các bản ghi IP-Domain
name
D. Địa chỉ các DNS server
-----
-----
Cập nhật: 14/8/2023
-----
Bạn muốn tự học HTML bài bản? Xem thêm