- Raspberry Pi 4 server- Xây dựng DNS server trên Raspberry Pi 4 - Lập trình giao diện web sever - Lập trình giám sát tên miền thông qua web Phạm vi nghiên cứu: - Kết quả nghiên cứu đạt
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG
HỆ THỐNG GIÁM SÁT TÊN MIỀN SỬ DỤNG
DNS SERVER RASPBERRY PI 4
Mã số: T2022-06-29
Chủ nhiệm đề tài: ThS Ngô Thị Minh Hương
Đà Nẵng, 11/2023
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG 2022
HỆ THỐNG GIÁM SÁT TÊN MIỀN SỬ DỤNG
Trang 3MỤC LỤC
DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH ẢNH
THÔNG TIN KẾT QUẢ NGHIÊN CỨU
INFORMATION ON RESEARCH RESULTS
MỞ ĐẦU
CHƯƠNG 1 TỔNG QUAN VỀ MẠNG MÁY TÍNH
VÀ DOMAIN NETWORK SYSTEM
1.1 Tổng quan mạng máy tính 4
1.2 Một số mạng tiêu biểu 4
1.3 Các thành phần của mạng máy tính 6
1.3.1 Máy chủ 6
1.3.2 Máy trạm 9
1.3.3 Kiến trúc phân tầng 9
1.3.4 Giao thức mạng 16
1.3.5 Hoạt động của ứng dụng mạng 18
1.3.6 Giao tiếp giữa các tiến trình ứng dụng 19
1.4 Tổng quan về DNS 20
1.5 Cơ chế phân giải tên miền [6] 22
1.6 Phân loại name server 24
CHƯƠNG 2 LẬP TRÌNH TRÊN DNS VÀ CLIENT
2.1 Giới thiệu mô hình client server 26
2.2 Mô hình client server DNS 26
2.3 Mô hình Client-Server sử dụng Socket ở chế độ không nối kết (UDP) 27
2.4 Chức năng socket trong mô hình client server 28
2.5 Xây dựng chương trình Client Server ở chế độ không kết nối 29
2.6 Phân tích gói tin truyền trên mạng 31
2.7 Công cụ TCPDUMP 32
2.7.1 Giới thiệu TCPDUMP 32
2.7.2 Cấu trúc của TCPDUMP 33
2.8 Lập trình lắng nghe gói tin trên client server sử dụng TCPDUMP [3] 35
i
Trang 4CHƯƠNG 3 PHẦN CỨNG RASPBERRY PI 4
3.1 Giới thiệu Raspberrry Pi 4 36
3.2 Cách kết nối máy tính và Pi 4 sử dụng wifi 37
3.3 Cách kết nối máy tính và Pi 4 sử dụng cổng Ethernet 38
3.4 Lí do chọn Raspi 4 làm DNS sever [7] 39
CHƯƠNG 4 HỆ THỐNG GIÁM SÁT TÊN MIỀN
SỬ DỤNG RASPBERRY PI 4
4.1 Mô hình tổng quan 41
4.2 Nguyên lý hoạt động 42
4.3 Cách triển khai hệ thống 44
4.4 Kết quả 46
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO
TÀI LIỆU THAM KHẢO THUYẾT MINH ĐỀ TÀI NCKH
HỢP ĐỒNG TRIỂN KHAI ĐỀ TÀI
PHỤ LỤC HỢP ĐỒNG
BẢNG DANH MỤC MINH CHỨNG CỦA CÁC SẢN PHẨM ĐỀ TÀI
ii
Trang 5DANH MỤC BẢNG BIỂU
Bảng 1: Phân tích các thành phần của header trong giao thức UDP 2
iii
Trang 6DANH MỤC HÌNH ẢNH
Hình 1.1: Mô hình mạng LAN 5
Hình 1.2: Mô hình mạng WiFi 5
Hình 1.3: Mô hình mạng di động 5
Hình 1.4: Mô hình mạng WAN 6
Hình 1.5: Mô hình OSI và mô hình TCP/IP 10
Hình 1.6: Các thành phần của header trong gói tin giao thức UDP 11
Hình 1.7: Các giao thức mạng 16
Hình 1.8: Khuôn dạng đơn vị dữ liệu của UDP 17
Hình 1.9: Hoạt động của ứng dụng mạng 18
Hình 1.10: Tiến trình web server [1] 19
Hình 1.11: Giao tiếp giữa các tiến trình 20
Hình 1.12: Truyền dữ liệu giữa các ứng dụng 20
Hình 1.13: Hệ thống phân cấp DNS 21
Hình 1.14: DNS Server sơ cấp và DNS server thứ cấp 23
Hình 1.15: Truy vấn đệ quy và truy vấn tuần tự 24
Hình 2.1: Mô hình client server DNS 26
Hình 2.2: Mô hình Client-server sử dụng Socket ở chế độ UDP 27
Hình 2.3: Chức năng socket trong mô hình client server 29
Hình 3.1: Raspberry Pi 4 36
Hình 3.2: Scan địa chỉ IP của Raspberry Pi 4 38
Hình 3.3: Màn hình Raspberry Pi 4 39
Hình 4.1: Mô hình tổng quan 41
Hình 4.2: Lưu đồ thuật toán hệ thống 42
Hình 4.3: Mô hình ở Server chi nhánh 43
iv
Trang 7THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Thông tin chung:
Tên đề tài: Hệ thống giám sát tên miền sử dụng DNS Server Raspberry Pi 4
Mã số: T2022-06-29
Chủ nhiệm: ThS Ngô Thị Minh Hương
Cơ quan chủ trì: Trường ĐH Sư Phạm Kỹ Thuật
Thời gian thực hiện: 3/2023-11/2023
2 Mục tiêu:
Xây dựng DNS server trên Raspberrry Pi 4
Giám sát tên miền bằng cách phân loại các các truy vấn tên miền Black List,White List và Malware Domain List
Hệ thống giám sát thực hiện giám sát, quản lý tập trung thông qua web với cácchức năng như: Edit, update, back up các while List, Back List, Malware List Đồngthời hiển thị các thông số như thời gian truy vấn, địa chỉ IP, tên miền độc hại củaclient Hệ thống còn có thể lọc các black list record theo ngày
3 Tính mới và sáng tạo:
Sử dụng tool TCPDUMP để thực hiện nghe lén các gói tin DNS thông qua giaothức UDP port 53
Kiểm tra đánh giá kết quả so với các phương pháp khác về hiệu quả và chi phí
4 Tóm tắt kết quả nghiên cứu:
Tìm hiểu cách thức hoạt động của tcpdump
Chức năng socket trong mô hình client server
Lập trình trên DNS server client
Thực hiện các bước để cài đặt DNS server, DHCP
Hệ thống giám sát thực hiện giám sát, quản lý tập trung thông qua web với cácchức năng như: Edit, update, back up các while List, Back List, Malware List
5 Tên sản phẩm:
Bài báo “Hệ thống giám sát tên miền sử dụng Raspberry Pi 4”, được đăng trên
kỷ yếu Hội thảo ATiGB
v
Trang 8 Hệ thống giám sát tên miền
6 Hiệu quả, phương thức chuyển giao kết quả nghiên cứu và khả năng áp dụng:
Làm tài liệu cho các học phần thực hành Lập trình nhúng và lập trình mạng máytính
Tiết kiệm được chi phí trong việc mua phần mềm giám sát tên miền hoặc đầu tưcác thiết bị chuyên dụng
7 Hình ảnh, sơ đồ minh họa chính
vi
Trang 9vii
Trang 10Ngày tháng năm 2023
TM Hội đồng Khoa
Chủ tịch
Chủ nhiệm đề tài
Th.S Ngô Thị Minh Hương
XÁC NHẬN CỦA TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KT HIỆU TRƯỞNG
PHÓ HIỆU TRƯỞNG
PGS TS Võ Trung Hùng
viii
Trang 11INFORMATION ON RESEARCH RESULTS
1 General information:
Project title: DOMAIN MONITORING SYSTEM USING RASPBERRY PI 4
Code number: T2022-06-29
Coordinator: Ngo Thi Minh Huong
Implementing institution: University of Technology and Education, DanangUniverisity
Duration: from 03/2023 to 11/2023
2 Objective(s):
Build DNS server on Raspberry Pi 4
Monitor domains by classifying Black List, White List and Malware DomainList queries
The monitoring system performs centralized monitoring and management viathe web with functions such as: Edit, update, back up while List, Back List, MalwareList Also displays parameters such as query time, IP address, and malicious domainname of the client The system can also filter black list records by date
3 Creativeness and innovativeness:
Use the TCPDUMP tool to eavesdrop on DNS packets via UDP port 53protocol
Test and evaluate results compared to other methods in terms of effectivenessand cost
4 Research results:
Learn how tcpdump works
Socket function in client server model
Programming on DNS server client
Follow the steps to install DNS server and DHCP
The monitoring system performs centralized monitoring and managementvia the web with functions such as: Edit, update, back up while List, Back List,Malware List
5 Products:
Article "Domain name monitoring system using DNS server on Raspberry Pi4", published in the ATiGB Conference proceedings
ix
Trang 12 Report
6 Effects, transfer alternatives of research results and applicability:
Making documents for practical modules on embedded programming andcomputer network programming
Save costs in purchasing domain monitoring software or investing inspecialized equipment
x
Trang 13MỞ ĐẦU
TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Trong thời đại số hóa ngày nay, sự phát triển vượt bậc của Internet đã tạo
ra những cơ hội đáng kể cho cuộc sống và kinh doanh Tuy nhiên, cùng với những lợi ích đáng kể, mạng Internet cũng mang theo những rủi ro và thách thức
về an ninh thông tin Các hành vi xâm nhập, tấn công mạng và lừa đảo ngày càng tinh vi và nguy hiểm, đặc biệt là trong lĩnh vực quản lý tên miền Giữa việc phát triển nhanh chóng của môi trường trực tuyến và việc bảo vệ an toàn thông tin, việc thiết lập một hệ thống giám sát tên miền hiệu quả là một yếu tố cực kỳ quan trọng.
Vào ngày 27/7/2022, Trung tâm Internet Việt Nam đã thông báo về việc phát hiện hơn 450 tên miền có dấu hiệu vi phạm về thương mại điện tử, ngân hàng và các lĩnh vực khác Trong số này, có đến 357 tên miền quốc tế, chiếm gần 80% tổng số tên miền vi phạm Điều này cho thấy tình hình an ninh mạng đang đối diện với nhiều thách thức nghiêm trọng.
Ngày nay, công cuộc chuyển đổi số đang diễn ra mạnh mẽ trong cả doanh nghiệp và trường học, nhằm thích ứng và phát triển theo xu hướng cách mạng công nghiệp 4.0 Tuy nhiên, đồng thời với sự phát triển này, việc giám sát tên miền cũng trở nên cần thiết hơn bao giờ hết Đảm bảo an toàn thông tin và bảo mật cho các mạng máy tính trở thành một ưu tiên hàng đầu, nhằm đối phó với những nguy cơ tiềm ẩn và đảm bảo hoạt động mạng máy tính được diễn ra một cách an toàn và hiệu quả.
Vì vậy, việc chọn một phương pháp giám sát tên miền phù hợp với từng quốc gia, từng mô hình và quy mô hoạt động trở nên cực kỳ quan trọng Điều này giúp giám sát và ngăn chặn các hoạt động không an toàn, đồng thời đảm bảo tính bảo mật và an toàn của dữ liệu trong mạng máy tính.
Để đảm bảo tính an toàn thông tin trong môi trường mạng máy tính, ngày nay đã có nhiều giải pháp bảo mật được triển khai phổ biến Các giải pháp này bao gồm phần mềm phòng chống mã độc, phần mềm chống thất thoát dữ liệu và
xi
Trang 14hệ thống giám sát lưu lượng mạng độc hại Trong đó, giải pháp giám sát an toàn thông tin (ATTT) dựa trên lưu lượng mạng mang đến nhiều ưu điểm đáng chú ý.
Hệ thống giám sát ATTT cho phép theo dõi và cảnh báo về truy vấn tên miền và các hành vi mạng độc hại Nó cũng cho phép quản lý thiết bị dựa trên địa chỉ IP và địa chỉ MAC, giúp dễ dàng phát hiện và giải quyết các vấn đề liên quan đến thiết bị trong mạng Hơn nữa, hệ thống này cũng cảnh báo khi có thiết
bị chưa được quản lý kết nối vào mạng hoặc khi xảy ra kết nối nhầm mạng.
Tuy nhiên, việc triển khai hệ thống giám sát lưu lượng mạng cơ bản thành công đòi hỏi hạ tầng công nghệ thông tin phải đáp ứng cao và đáng tin cậy để đáp ứng nhu cầu thực tế Điều này khiến việc triển khai hệ thống này không thực
sự khả thi đối với các đơn vị nhỏ, đặc biệt là các trường đại học
Do đó, việc đề xuất một mô hình giám sát ATTT cho các mạng máy tính vừa giải quyết được yếu tố an toàn thông tin vừa đáp ứng yêu cầu phần cứng thấp nhất là rất cần thiết.
Xuất phát từ các vấn đề trên, bài báo xây dựng một hệ thống giám sát tên miền sử dụng phần cứng là Raspberry Pi 4 làm DNS sever Hệ thống giám sát tên miền được triển khai trên Raspberry Pi 4 mang lại một cách tiếp cận độc đáo
để bảo vệ mạng máy tính khỏi những mối đe dọa liên quan đến tên miền Khả năng phát hiện và cảnh báo về hành vi mạng không bình thường, kết hợp với khả năng thích nghi với các quy mô và yêu cầu mạng khác nhau, làm nổi bật vai trò quan trọng của hệ thống trong việc duy trì một môi trường số an toàn.
MỤC TIÊU ĐỀ TÀI
- Xây dựng DNS server trên Raspberrry Pi 4
- Giám sát tên miền bằng cách phân loại các các truy vấn tên miền Black List,White List và Malware Domain List
- Hệ thống giám sát thực hiện giám sát, quản lý tập trung thông qua web với cácchức năng như: Edit, update, back up các while List, Back List, Malware List Đồngthời hiển thị các thông số như thời gian truy vấn, địa chỉ IP, tên miền độc hại củaclient Hệ thống còn có thể lọc các black list record theo ngày
ĐỐI TƯỢNG PHẠM VI NGHIÊN CỨU
Đối tượng nghiên cứu:
xii
Trang 15- Raspberry Pi 4 server
- Xây dựng DNS server trên Raspberry Pi 4
- Lập trình giao diện web sever
- Lập trình giám sát tên miền thông qua web
Phạm vi nghiên cứu:
- Kết quả nghiên cứu đạt được có thể triển khai ứng dụng cho việc xây dựng labtrong các Học phần liên quan đến lập trình mạng máy tính để giám sát tên miền tại cáckhu vực nhỏ
- Kết quả nghiên cứu đạt được có thể triển khai ứng dụng trong việc giám sáttên miền tại trường Đại học Sư Phạm Kỹ thuật Đà Nẵng
CÁCH TIẾP CẬN, PHƯƠNG PHÁP NGHIÊN CỨU
Cách tiếp cận
- Cài đặt DNS sever trên Raspberry Pi 4
- Nghiên cứu lập trình giao diện web cho hệ thống giám sát tên miền
- Nghiên cứu lập trình socket dùng Python
- Nghiên cứu sử dụng công cụ TCPDUMP để thực hiện lắng nghe các gói tin DNS UDP
Phương pháp nghiên cứu
- Xem xét các đề tài nghiên cứu liên quan, đề xuất ý tưởng và cách thực hiện
- Sử dụng Raspberry Pi 4 để tạo ra DNS sever cho hệ thống giám sát
- Lập trình giao diện, lập trình trên sever và client cho hệ thống để giám sát tênmiền
NỘI DUNG NGHIÊN CỨU
Chương 1 Tổng quan về mạng máy tính và DNS
Chương 2 Lập trình trên DNS Sever và Client
Chương 3 Phần cứng Raspberry Pi 4
Chương 4 Hệ thống giám sát tên miền sử dụng Raspberry Pi 4
xiii
Trang 16CHƯƠNG 1 TỔNG QUAN VỀ MẠNG MÁY TÍNH
VÀ DOMAIN NETWORK SYSTEM
1.1 Tổng quan mạng máy tính
Mạng máy tính là một hệ thống giao tiếp mà các máy tính và thiết bị điện tửkhác có thể trao đổi dữ liệu với nhau Mạng máy tính cho phép chia sẻ tài nguyên vàthông tin giữa các thiết bị, bao gồm máy tính cá nhân, máy tính xách tay, máy chủ, vàcác thiết bị di động khác Đây là một phần không thể thiếu của nền kinh tế số và cuộccách mạng công nghiệp 4.0, đóng vai trò quan trọng trong việc hỗ trợ truy cập thôngtin, chia sẻ tài nguyên, và tạo ra môi trường làm việc kết nối cho doanh nghiệp và cánhân
Mạng máy tính bao gồm nhiều thành phần như:
- Máy chủ: Cung cấp dịch vụ và tài nguyên cho các thiết bị khác trên mạng,chẳng hạn như lưu trữ dữ liệu, truy cập internet, và các dịch vụ khác
- Máy trạm: Bao gồm các máy tính cá nhân, máy tính xách tay và thiết bị diđộng khác, được kết nối với mạng để truy cập tài nguyên và dịch vụ từ máy chủ
- Thiết bị mạng: Bao gồm các router, switch, hub và modem, giúp điều chỉnh vàđiều phối lưu lượng dữ liệu trong mạng
- Giao thức mạng: Là các quy tắc và quy định được thiết lập để đảm bảo giaotiếp hiệu quả giữa các thiết bị trên mạng
Mạng máy tính có thể được phân loại theo quy mô, phạm vi và mục đích sửdụng Các loại mạng phổ biến bao gồm mạng LAN (Local Area Network) dành cho các
tổ chức hoặc khu vực nhỏ, mạng WAN (Wide Area Network) để kết nối các vị trí địa lý
xa nhau, và mạng WLAN (Wireless Local Area Network) sử dụng công nghệ khôngdây
Trong môi trường kinh doanh, mạng máy tính là cơ sở hạ tầng cần thiết để hỗtrợ giao dịch thương mại điện tử, quản lý dữ liệu, và trao đổi thông tin giữa các bênliên quan Đồng thời, mạng cũng mở ra cơ hội cho việc phát triển các ứng dụng mới vàdịch vụ trực tuyến để phục vụ nhu cầu ngày càng tăng về truy cập thông tin và kết nốimạng
1.2 Một số mạng tiêu biểu
Mạng LAN (Local Area Network)
xiv
Trang 17- Phạm vi kết nối: vài kilomet
- Số lượng người dùng: một vài đến hàng trăm nghìn
- Thường phục vụ cho cá nhân, hộ gia đình, tổ chức
Hình 1.1: Mô hình mạng LAN
Hình 1.2: Mô hình mạng WiFi
xv
Trang 18Hình 1.3: Mô hình mạng di độngMạng đô thị (MAN – Metropolitian Area Network)
- Phạm vi kết nối: hàng trăm kilomet
- Số lượng người dùng: hàng triệu
- Phục vụ cho thành phố, khu vưc
Mạng diện rộng (WAN – Wide Area Network)
- Phạm vi kết nối: vài nghìn kilomet
Trang 19một mạng máy tính, quản lý và cung cấp các tài nguyên và dịch vụ để đáp ứng nhu cầucủa các máy trạm hoặc thiết bị khác trên mạng.
Các dạng máy chủ phổ biến bao gồm:
- Máy chủ web: Cung cấp dịch vụ lưu trữ và truy cập các trang web trêninternet
- Máy chủ email: Quản lý và điều phối dịch vụ email trên mạng
- Máy chủ tệp: Lưu trữ và quản lý dữ liệu và tệp tin cho các thiết bị khác trênmạng
- Máy chủ ứng dụng: Cung cấp dịch vụ và ứng dụng cụ thể cho các máy trạmtrên mạng, chẳng hạn như máy chủ cơ sở dữ liệu
Máy chủ thường được đặt trong các trung tâm dữ liệu hoặc môi trường doanhnghiệp, nơi chúng có thể được quản lý và duy trì một cách chuyên nghiệp để đảm bảotính ổn định, an toàn và sẵn sàng của dịch vụ Máy chủ là thành phần quan trọng của
hạ tầng mạng và đóng vai trò quan trọng trong việc cung cấp dịch vụ và tài nguyên chongười dùng trong mạng nội bộ và trên internet
- Máy chủ mạng LAN (Local Area Network) là một máy chủ được sử dụng
để cung cấp dịch vụ, tài nguyên và chia sẻ thông tin giữa các máy tính trong một khuvực nhỏ như trong một văn phòng, một tòa nhà, hoặc một trường học Máy chủ mạngLAN thường được sử dụng để cung cấp các dịch vụ cụ thể trong mạng nội bộ, hỗ trợviệc quản lý và chia sẻ tài nguyên mạng
Các loại máy chủ mạng LAN bao gồm:
- Máy chủ tệp: Lưu trữ và quản lý tập tin và dữ liệu được chia sẻ giữa các máytính trong mạng LAN
- Máy chủ in ấn: Quản lý các máy in được kết nối trong mạng và điều khiểnquá trình in ấn từ các máy tính khác trong mạng
- Máy chủ ứng dụng: Cung cấp và quản lý các ứng dụng và dịch vụ mạng cụthể, như ứng dụng quản lý khách hàng (CRM), ứng dụng quản lý dự án, và nhiều ứngdụng khác
Máy chủ mạng LAN giúp tăng cường hiệu suất làm việc, chia sẻ tài nguyênmạng hiệu quả và cung cấp môi trường làm việc kết nối trong các tổ chức và doanhnghiệp nhỏ và trung bình Các máy chủ này thường được quản lý và duy trì bởi cácchuyên gia IT hoặc nhóm hỗ trợ mạng trong tổ chức
xvii
Trang 20Máy chủ mạng LAN giám sát tên miền là một loại máy chủ được sử dụng đểquản lý và giám sát các tên miền trong một mạng LAN cụ thể Chức năng chính củamáy chủ này là giúp quản trị viên mạng theo dõi, kiểm soát và duy trì các tên miềntrên mạng LAN Máy chủ mạng LAN giám sát tên miền thường được sử dụng trongmôi trường doanh nghiệp hoặc tổ chức lớn, nơi cần theo dõi một số lượng lớn các tênmiền và địa chỉ IP.
Công việc của máy chủ mạng LAN giám sát tên miền có thể bao gồm:
- Giám sát hoạt động của tên miền: Theo dõi trạng thái hoạt động của các tênmiền trên mạng, bao gồm cả trạng thái kết nối và hiệu suất
- Theo dõi và quản lý địa chỉ IP: Quản lý và giám sát việc phân phối và quản
lý địa chỉ IP cho các thiết bị trong mạng LAN
- Báo cáo và phân tích: Tạo ra báo cáo về trạng thái và hiệu suất của các tênmiền trong mạng LAN, giúp quản trị viên hiểu rõ về tình trạng mạng và phát hiện cácvấn đề có thể phát sinh
Máy chủ mạng LAN giám sát tên miền đóng vai trò quan trọng trong việc đảmbảo hoạt động ổn định của mạng LAN, đồng thời cung cấp thông tin quan trọng để hỗtrợ quá trình quản lý và duy trì hệ thống mạng
- Máy chủ mạng WAN: Máy chủ trong mạng WAN (Wide Area Network) là
một máy tính hoặc thiết bị chịu trách nhiệm cung cấp dịch vụ và quản lý kết nối chocác thiết bị khác trong mạng WAN Mạng WAN là một mạng mở rộng qua một khuvực rộng, thường bao gồm nhiều vị trí địa lý khác nhau, thậm chí là trên các vùng đất,quốc gia hoặc toàn cầu
Vai trò và chức năng của máy chủ trong mạng WAN:
Máy chủ kết nối (Connection Server): Máy chủ trong mạng WAN thường đóngvai trò quan trọng trong việc tạo và duy trì kết nối giữa các địa điểm khác nhau trongmạng Điều này có thể bao gồm việc sử dụng các kỹ thuật như VPN (Virtual PrivateNetwork) hoặc MPLS (Multiprotocol Label Switching) để tạo ra các kênh kết nối antoàn và hiệu quả
Máy chủ địa chỉ (Address Server): Trong mạng WAN, máy chủ có thể cung cấpdịch vụ đặt địa chỉ IP động cho các thiết bị kết nối đến mạng, giúp quản lý và phânphối địa chỉ IP một cách hiệu quả
xviii
Trang 21Máy chủ đăng nhập (Authentication Server): Để đảm bảo an toàn và bảo mậttrong mạng WAN, máy chủ có thể chịu trách nhiệm xác thực người dùng khi họ cốgắng truy cập vào mạng hoặc các tài nguyên trong mạng.
Máy chủ ứng dụng (Application Server): Một số mạng WAN có thể có các máychủ ứng dụng đặc biệt chịu trách nhiệm cho việc chạy và duy trì các ứng dụng cụ thể,chẳng hạn như trang web, cổng thông tin, hoặc các ứng dụng doanh nghiệp
Máy chủ dữ liệu (Database Server): Trong mạng WAN doanh nghiệp, có thể cómáy chủ dữ liệu chuyên cung cấp và quản lý cơ sở dữ liệu chung cho tất cả các địađiểm kết nối
Máy chủ tường lửa (Firewall Server): Chức năng bảo mật là một phần quantrọng của mạng WAN Máy chủ tường lửa có thể được triển khai để giữ cho mạng antoàn trước các mối đe dọa từ môi trường mạng rộng
Máy chủ DNS (Domain Name System Server): Cung cấp dịch vụ chuyển đổitên miền thành địa chỉ IP và ngược lại, giúp định danh các địa chỉ trong mạng WAN
Mỗi trong những chức năng này đều đóng vai trò quan trọng trong việc duy trì
và quản lý mạng WAN, đảm bảo rằng các thiết bị và người dùng có thể kết nối vàtương tác một cách hiệu quả và an toàn
1.3.2 Máy trạm
Trong mạng máy tính, thuật ngữ "client" hay còn gọi là máy trạm thường được
sử dụng để chỉ một máy tính hoặc thiết bị đầu cuối được sử dụng bởi người dùng cuốicùng để truy cập và tương tác với các dịch vụ, tài nguyên, hoặc ứng dụng được cungcấp bởi máy chủ trong mạng
Máy trạm client được sử dụng để truy cập và sử dụng các dịch vụ, tài nguyênhoặc ứng dụng được cung cấp bởi máy chủ trong mạng, ví dụ như truy cập trang web,tải về tệp tin từ máy chủ, gửi email, và nhiều hoạt động khác
Máy trạm client gửi yêu cầu đến máy chủ để yêu cầu dữ liệu, xử lý thông tinhoặc thực hiện các dịch vụ cụ thể Các yêu cầu này có thể được thực hiện qua các giaothức như HTTP (truy cập web), FTP (truyền tải tệp tin), và nhiều giao thức khác
Máy trạm client thường lưu trữ dữ liệu cục bộ trên ổ cứng hoặc bộ nhớ củamình, bao gồm tài liệu làm việc, hình ảnh, video, và các tệp tin cá nhân khác
Máy trạm client là nơi người dùng thực hiện công việc hàng ngày, sử dụng các
xix
Trang 22ứng dụng văn phòng, duyệt web, và thực hiện các nhiệm vụ khác liên quan đến côngviệc hoặc giải trí Máy trạm client thường được quản lý để đảm bảo tính an toàn và bảomật thông tin cá nhân và doanh nghiệp Các biện pháp bảo mật như antivirus, tườnglửa, và quản lý đăng nhập thường được triển khai.
Vì vậy, máy trạm client là thành phần quan trọng trong hệ thống mạng máytính, đóng vai trò trong việc kết nối và tương tác với các tài nguyên và dịch vụ mạng
1.3.3 Kiến trúc phân tầng
Kiến trúc phân tầng có nhiệm vụ là chia các chức năng của hệ thống mạngthành các tầng, các chức năng ở mỗi tầng được thực hiện bởi một hoặc nhiều giaothức
Kiến trúc phân tầng giúp mạng trở nên có tổ chức và dễ quản lý bằng cáchphân chia chức năng và trách nhiệm vào các lớp khác nhau Điều này cũng tạo điềukiện cho sự linh hoạt và mở rộng khi cần thiết
Có một số mô hình tiêu biểu như sau:
Mô hình OSI: có ý nghĩa tham chiếu
Mô hình TCP/IP: được sử dụng để triển khai thực tế
Hình 1.5: Mô hình OSI và mô hình TCP/IP
Mô hình TCP/IP – Tầng ứng dụng có các chức năng như sau:
xx
Trang 23- Cung cấp dịch vụ mạng cho người dùng
- Phối hợp hoạt động của chương trình client và chương trình server
+ Client: cung cấp giao diện cho người dùng
Máy chủ cung cấp dịch vụ thường được định danh bằng tên miền
Mô hình TCP/IP – Tầng giao vận có các chức năng như sau:
Tầng giao vận trong mô hình TCP/IP chịu trách nhiệm cho việc quản lý giaotiếp giữa các ứng dụng chạy trên các thiết bị khác nhau trong mạng Tầng này thườngđược chia thành hai giao thức chính: Transmission Control Protocol (TCP) và UserDatagram Protocol (UDP)
Transmission Control Protocol (TCP):
User Datagram Protocol (UDP):
- Chức năng chính của Tầng giao vận trong mô hình TCP/IP bao gồm quản lýkết nối, đảm bảo tính toàn vẹn của dữ liệu, điều khiển lưu lượng, và xác nhận dữ liệu
xxi
Trang 24Sự chia tách thành hai giao thức (TCP và UDP) cho phép lựa chọn giữa độ tin cậy vàhiệu suất tùy thuộc vào yêu cầu cụ thể của ứng dụng.
Hình 1.6: Các thành phần của header trong gói tin giao thức UDP
Giao thức UDP là giao thức cung cấp gói tin datagram cho việc giao tiếp giữa cácmáy tính chuyển mạch trong môi trường của một tập hợp các mạng máy tính kết nối.Giao thức này giả định rằng Internet Protocol (IP) được sử dụng làm giao thức cơ bản
Giao thức này cung cấp một thủ tục cho các chương trình ứng dụng để gửi tinnhắn đến các chương trình khác với cơ chế giao thức tối thiểu Giao thức có hướnggiao dịch, và truyền tin và bảo vệ bản sao không được đảm bảo Các ứng dụng đòi hỏiyêu cầu phân phối luồng dữ liệu đáng tin cậy theo yêu cầu nên sử dụng TCP ControlProtocol
Dựa trên hình vẽ trên, header của gói tin trong giao thức UDP được phân tíchnhư sau:
Bảng 1: Phân tích các thành phần của header trong giao thức UDP
STT Tên thành phần Độ dài thành
1 Source Port 16 bits Là một trường tùy chọn, khi có
ý nghĩa, nó cho biết cổng củaquá trình gửi, có thể được giảđịnh là cổng mà một trả lời nênđược giải quyết trong trườnghợp không có bất kỳ thông tinkhác Nếu không được sử dụng,
xxii
Trang 25STT Tên thành phần Độ dài thành
một giá trị bằng không đượcchèn vào
2 Destination Port 16 bits
Có ý nghĩa trong ngữ cảnh củamột địa chỉ đích đến củaInternet cụ thể
Chiều dài là độ dài theo Octetcủa gói tin người dùng ngày baogồm tiêu đề và dữ liệu này
4 Checksum 16 bits
Checksum là phần bổ sung mộtphần của tiêu đề giả của thôngtin từ tiêu đề IP, phần đầu UDP
và dữ liệu, đệm với octet không
ở cuối để tạo ra một bội số củahai octet
Tầng liên mạng trong mô hình TCP/IP:
Tầng Liên mạng (Network Layer) trong mô hình TCP/IP chịu trách nhiệm choviệc định tuyến (routing) và chuyển tiếp (forwarding) dữ liệu giữa các mạng khác nhautrong hệ thống Tầng này thường sử dụng địa chỉ IP để xác định vị trí của các thiết bịtrong mạng và quyết định cách mà dữ liệu sẽ được chuyển tiếp qua mạng
Dưới đây là các chức năng chính của Tầng Liên mạng trong mô hình TCP/IP:
Chuyển Tiếp (Forwarding):
- Chức năng: Chịu trách nhiệm thực hiện việc chuyển tiếp dữ liệu từ một giaodiện mạng đến giao diện mạng khác
- Nhiệm vụ: Di chuyển gói tin từ thiết bị nguồn đến thiết bị đích dựa trên
xxiii
Trang 26Fragmentation và Hợp Nhất (Fragmentation and Reassembly):
- Chức năng: Chia nhỏ (fragment) hoặc ghép nối (reassemble) các gói tin khichúng vượt quá dung lượng tối đa cho phép trên mạng truyền dẫn
- Nhiệm vụ: Đảm bảo dữ liệu có thể được chuyển tiếp qua mạng mà không bịmất mát do dung lượng giới hạn
ICMP (Internet Control Message Protocol):
- Chức năng: Gửi các thông báo kiểm soát và báo lỗi giữa các thiết bị trong mạng
- Nhiệm vụ: Cung cấp các cơ chế để kiểm soát và thông báo về trạng thái củamạng
Tầng Liên mạng đóng vai trò quan trọng trong quá trình chuyển tiếp dữ liệu quamạng và định tuyến nó đến đích Các thiết bị như router là thành phần chính để thựchiện các chức năng của Tầng Liên mạng
Tầng lên kết dữ liệu (Data Link Layer) trong mô hình TCP/IP
Tầng liên kết dữ liệu (Data Link Layer) trong mô hình TCP/IP đóng vai tròquan trọng trong quá trình chuyển tiếp dữ liệu qua mạng Tầng này thường được chiathành hai phần con: Logical Link Control (LLC) và Media Access Control (MAC)
Dưới đây là mô tả về chức năng và nhiệm vụ của tầng liên kết dữ liệu:
Logical Link Control (LLC):
- Chức năng: LLC quản lý luồng dữ liệu giữa hai thiết bị kết nối trực tiếp, đảmbảo tính toàn vẹn của dữ liệu và điều khiển quyền truy cập đến phương tiện truyền tải
- Nhiệm vụ: Đảm bảo định dạng và kiểm soát truy cập đồng thời đến phươngtiện truyền tải
Media Access Control (MAC):
- Chức năng: MAC quản lý việc truy cập vào phương tiện truyền tải, xác địnhcách mà các thiết bị trên cùng một mạng chia sẻ một kênh truyền cụ thể
- Nhiệm vụ: Điều khiển quyền truy cập độc quyền đến phương tiện truyền tải
xxiv
Trang 27và định dạng địa chỉ MAC (địa chỉ vật lý) của thiết bị.
Địa chỉ MAC (MAC Address):
Chức năng: Địa chỉ MAC là một địa chỉ duy nhất được gán cho mỗi thiết bịmạng để xác định nó trong mạng
Nhiệm vụ: Địa chỉ này được sử dụng trong quá trình định tuyến và chuyển tiếp
để xác định nguồn và đích của dữ liệu
Tầng liên kết dữ liệu đảm bảo rằng dữ liệu được truyền tải an toàn và hiệu quảqua các phương tiện truyền tải như Ethernet, Wi-Fi Các thiết bị hoạt động ở tầng nàythường được biết đến với tên gọi là Switches và Network Interface Cards (NICs)
Tầng vật lý (Physical Layer) trong mô hình TCP/IP
Tầng vật lý (Physical Layer) là tầng đầu tiên trong mô hình TCP/IP và chịutrách nhiệm cho các khía cạnh vật lý của hệ thống mạng, bao gồm các phương tiệntruyền tải và các kỹ thuật truyền dẫn Chức năng chính của tầng vật lý là định nghĩacách dữ liệu được truyền tải qua phương tiện truyền tải, như cáp đồng, cáp quang,sóng radio, hoặc không dây
Dưới đây là mô tả về chức năng và nhiệm vụ của Tầng vật lý:
Phương tiện truyền tải (Transmission Media):
- Chức năng: Xác định loại phương tiện truyền tải sẽ được sử dụng, chẳng hạnnhư cáp đồng, cáp quang, sóng radio, và các công nghệ không dây khác
- Nhiệm vụ: Đảm bảo phương tiện truyền tải có khả năng hỗ trợ việc truyền tải
dữ liệu và đáp ứng các yêu cầu về khoảng cách và tốc độ
Kỹ thuật truyền dẫn (Transmission Techniques):
- Chức năng: Xác định cách dữ liệu được truyền dẫn qua phương tiện truyền
xxv
Trang 28tải, bao gồm các kỹ thuật như multiplexing, modulation, và định thời.
- Nhiệm vụ: Đảm bảo rằng dữ liệu có thể được truyền tải một cách hiệu quả và
có độ tin cậy
Kết nối vật lý:
- Chức năng: Định nghĩa cách thiết bị được kết nối với nhau, bao gồm cấu trúc
cơ bản của cáp và cổng kết nối
- Nhiệm vụ: Đảm bảo rằng thiết bị có thể được kết nối với nhau một cách đángtin cậy và hiệu quả
Tầng vật lý đóng vai trò quan trọng trong việc cung cấp giao tiếp vật lý giữa cácthiết bị trong mạng và là cơ sở cho các tầng mạng và tầng liên kết dữ liệu Các thànhphần tại tầng này có thể bao gồm cáp mạng, thiết bị mạng (như hub và repeater), vàcác giao thức vật lý như Ethernet hoặc Wi-Fi
Định danh trên kiến trúc phân tầng
Trong kiến trúc phân tầng, định danh là quá trình xác định và đặt tên cho cácthành phần khác nhau trong hệ thống mạng để chúng có thể được nhận biết và tươngtác Mỗi tầng của kiến trúc phân tầng có định danh riêng, giúp quản lý và thực hiện cácchức năng cụ thể mà tầng đó đảm nhận
- Tầng ứng dụng: tên miền định danh cho máy chủ cung cấp dịch vụ
+ Tên miền: chuỗi ký tự dễ nhớ với người dùng Thiết bị mạng không dùng tênmiền khi truyền tin
+ Ví dụ: mps.gov.vn (máy chủ web của Bộ công an)
- Tầng giao vận: số hiệu cổng định danh cho các dịch vụ khác nhau Số hiệu
cổng từ 1 – 65535
Ví dụ: Web – 80; DNS – 53; email (SMTP -25; POP – 110, IMAP – 143)
- Tầng mạng: Địa chỉ IP định danh cho các máy trạm, máy chủ, bộ định
tuyến
Có thể dùng trong mạng nội bộ và mạng Internet
Địa chỉ IPv4: 4 số có giá trị từ 0 – 255, cách nhau bởi 1 dấu “.”
Ví dụ: 123.30.9.222 (máy chủ web của Bộ công an)
- Tầng liên kết dữ liệu: Địa chỉ MAC định danh cho các máy trạm, máy chủ,
thiết bị mạng
1.3.4 Giao thức mạng
xxvi
Trang 29Hình 1.7: Các giao thức mạng
Tầng giao vận:
Giao thức TCP là giao thức nằm trên tầng giao vận, Điều khiển truyền dữ liệu
theo mô hình tin cậy có một số đặc điểm như sau:
+Phải thiết lập liên kết giữa các socket của ứng dụng trước khi truyền tin
+Máy nguồn:
Chỉ gửi gói tin tiếp theo nếu gói tin trước đó gửi thành công
Gửi lại dữ liệu nếu không nhận được báo nhận
Dữ liệu gửi đi không làm quá tải máy đích
Phát hiện tắc nghẽn trên hệ thống trung gian
+ Máy đích: báo nhận khi gói tin được nhận thành công
Giao thức UDP (User Datagram Protocol) là một trong hai giao thức chính
được sử dụng trong tầng giao vận, còn được gọi là lớp giao thức Transport Layer, bêncạnh giao thức TCP (Transmission Control Protocol) UDP là một giao thức khôngđồng bộ và không đảm bảo việc giao nhận đầy đủ và chính xác dữ liệu, khác với TCP
là giao thức đồng bộ và đảm bảo việc giao nhận dữ liệu
Trang 30+ Không có báo nhận
+ Gửi với tốc độ cao nhất của máy nguồn
+ Không phát hiện tắc nghẽn của hệ thống trung gian
Vì sao lại cần UDP:
+ Nhanh
+ Đơn giản
+ Phù hợp với các dịch vụ không cần độ tin cậy cao, chấp nhận mất mát một sốgói tin mà không ảnh hưởng tới chất lượng dịch vụ
Khuôn dạng gói tin UDP
UDP sử dụng đơn vị dữ liệu gọi là – datagram (bức tin)
Hình 1.8: Khuôn dạng đơn vị dữ liệu của UDP
Tầng ứng dụng trong mô hình TCP/IP bao gồm nhiều giao thức khác nhau,
mỗi cái đều thực hiện một chức năng cụ thể trong việc truyền thông giữa ứng dụng trên các máy tính khác nhau Dưới đây là một số giao thức quan trọng ở tầng ứng dụngmạng:
HTTP (Hypertext Transfer Protocol):
HTTP là giao thức sử dụng trong truyền thông giữa web browsers và web servers Nó được sử dụng để truyền tải dữ liệu văn bản, hình ảnh, âm thanh, video, và các loại tài nguyên khác qua Internet
HTTPS (Hypertext Transfer Protocol Secure):
HTTPS là phiên bản bảo mật của HTTP, sử dụng SSL/TLS để mã hóa dữ liệugiữa client và server Nó giúp đảm bảo tính bảo mật khi truyền tải thông tin nhạy cảm
FTP (File Transfer Protocol):
FTP là giao thức được sử dụng để truyền tải tệp tin qua mạng Nó hỗ trợ việc tảilên và tải xuống tệp tin giữa máy tính người dùng và một máy chủ FTP
DNS (Domain Name System):
xxviii
Trang 31DNS chuyển đổi tên miền dễ nhớ thành địa chỉ IP, giúp máy tính xác định vàkết nối với các máy tính khác qua mạng.
SNMP (Simple Network Management Protocol):
SNMP là giao thức sử dụng để quản lý và giám sát các thiết bị mạng như router,switch, và máy chủ
Các giao thức ở tầng ứng dụng mạng giúp các ứng dụng truyền thông và tươngtác với nhau qua mạng Mỗi giao thức có chức năng riêng biệt để đảm bảo tính toànvẹn, an toàn, và hiệu suất trong quá trình truyền thông
1.3.5 Hoạt động của ứng dụng mạng
Hình 1.9: Hoạt động của ứng dụng mạngHoạt động của ứng dụng mạng là hoạt động trên các hệ thống đầu cuối (endsystem)
Bên cạnh đó phải cài đặt giao thức ứng dụng để cung cấp dịch vụ Gồm có 2tiến trình giao tiếp với nhau qua môi trường mạng:
- Client: cung cấp giao dịch NSD, gửi thông điệp yêu cầu dịch vụ
- Server: cung cấp dịch vụ, trả thông điệp đáp ứng
1.3.6 Giao tiếp giữa các tiến trình ứng dụng
Giao tiếp giữa các tiến trình ứng dụng mạng là quá trình truyền thông giữa cácứng dụng hoặc dịch vụ đang chạy trên các máy tính khác nhau Các tiến trình này cóthể tương tác thông qua mạng bằng cách sử dụng các giao thức và cơ chế liên mạng
- Sockets là một giao diện lập trình ứng dụng (API) cung cấp các phương thức
xxix
Trang 32để tạo, thiết lập kết nối, gửi, và nhận dữ liệu qua mạng.
- Các tiến trình có thể sử dụng sockets để thiết lập kết nối và gửi/nhận dữ liệuqua mạng Có hai loại chính là TCP sockets và UDP sockets
- Các tiến trình ứng dụng sử dụng socket để trao đổi thông điệp
+ Tầng giao vận điều khiển truyền tin từ socket tới socket
+ Định danh cho tiến trình bởi: Địa chỉ IP, số hiệu cổng ứng dụng
Ví dụ: Tiến trình web server trên máy chủ của SoICT có định danh 202.191.56.65:80
Hình 1.10: Tiến trình web server [1]
Giao tiếp giữa các tiến trình như sau:
+ Tiến trình client: Gửi yêu cầu
+ Tiến trình server: Trả lời
+ Mô hình điển hình: 1 server – nhiều client
+ Client cần biết địa chỉ của server: địa chỉ IP và số hiệu cổng
Hình 1.11: Giao tiếp giữa các tiến trình
- Truyền dữ liệu giữa các ứng dụng
Bên gửi là tầng giao vận nhận dữ liệu từ các tiến trình tầng ứng dụng khác nhau(qua socket), đóng gói theo giao thức tầng giao vận và gửi trên liên kết mạng
Bên nhận là tầng giao vận sử dụng thông tin trên tiêu đề gói tin để dữ liệu tớiđúng socket
xxx
Trang 33Hình 1.12: Truyền dữ liệu giữa các ứng dụng
1.4 Tổng quan về DNS
DNS viết tắt của Domain Name System, là dịch vụ được dùng trong mạngTCP/IP và là một dịch vụ thiết yếu của Internet Mỗi khi người dùng truy cập mộttrang web, người dùng phải điền vào URL (địa chỉ trang web) Trước khi client giaotiếp với máy chủ web, thì nó cần đến DNS để lấy địa chỉ IP của web server, cũngtương tự việc chúng ta dùng danh bạ điện thoại để tìm kiếm một số điện thoại Trongkhi đó, trong mạng doanh nghiệp client cần giao tiếp với các máy chủ của doanhnghiệp, client cũng cần dùng sử dụng dịch vụ DNS để tìm địa chỉ IP của máy chủ dịch
vụ DNS server thường được gọi là máy chủ tên miền
TCP/IP là bộ giao thức mạng phổ biến nhất được sử dụng trên thế giới và nóđược dùng trên mạng Internet Tất nhiên, Internet là mạng diện rộng, kết nối hàng triệumáy tính trên thế giới Để máy tính hoặc một trạm làm việc bất kỳ nào có thể giao tiếptrên mạng TCP/IP, thì nó phải có 1 địa chỉ IP (IPv4 hoặc IPv6) IPv4 có cách biểu diển
là một chuỗi số 4 byte (32bit) chia thành 4 phần mỗi phần mỗi phần 8 bit cách nhaubởi dấu chấm, ví dụ về một địa chỉ 203.162.1.191 IPv6 với 128 bit chia thành 8 nhómvới mỗi nhóm là 4 số hệ thập lục phân có dạng
2001:0db8:85a3:0042:1000:8a2e:0370:7334 Như vậy, con người sẽ gặp rất nhiều khókhăn khi phải nhớ hàng trăm số điện thoại cũng như hàng trăm địa chỉ IP Với mạngTCP /IP cũ, những file hosts được dùng để phân giải tên, nó được lưu trữ cục bộ trênmỗi máy tính Các file hosts là những file test đơn giản với 1 hosts name và địa chỉ IPtrên mỗi dòng Trên Windows nó được lưu trong C:\Windows\System32\driver\etc
xxxi
Trang 34Những điểm bất lợi của việc dùng file host này đó là mỗi khi cần thêm một mục mới,
ta cần phải thêm hoặc thay đổi những file host trên mỗi cái máy tính trong tổ chức củabạn, đó không phải là cách thiết thực để cung cấp giải pháp phân giải cập nhật
Phân giải DNS là một dịch vụ, nó sử dụng giao thức truy vấn thông tin có trong DNS server sử dụng port 53 UDP và TCP Hệ thống DNS là hệ thống phân giải tênphân phối, phân cấp để định vị các host và các máy chủ dịch vụ DNS là hệ thống phânphối vì việc thông tin lưu trữ không chỉ tìm thấy trên một máy chủ đơn lẻ Thay vào
đó, thông tin được phân phối trên nhiều DNS server, tất cả chúng được liên kết thànhmột cấu trúc có phân cấp
DNS là hệ thống phân cấp bao gồm một cây tên miền Trên cùng của cây làvùng
root (.) sau đó cây sẽ được phân chia thành zone trên mỗi server DNS Mỗi zone có thểchứa một domain hoặc nhiều domain (tên miền)
Hình 1.13: Hệ thống phân cấp DNSMỗi nút hoặc lá trên cây được gọi là resource record (RR) - bản ghi tài nguyên -chúng giữ các thông tin của tên miền Dạng RR phổ biến nhât là địa chỉ host A vàAAA (A là RR được dùng trên IPv4 và AAA được dùng trên IPv6), trong đó liệt kêtên máy và địa chỉ IP Một tên miền bao gồm một hoặc nhiều nhãn Mỗi nhãn có thểchứa 63 ký tự, một tên miền đầy đủ có độ dài không quá 253 ký tự
Top-level domain là nhãn ngoài cùng bên phải Ví dụ như google.com chứa hainhãn Trong đó com là top-level domain Hệ thống phân cấp được tính từ phải qua trái.Nhãn phía trái là subdomain (tên miền con) của nhãn bên phải Vậy google làsubdomain của com Top-level domain bao gồm các top-level quốc gia và quốc tế.Top-level domain theo nguyên bản: .com (Kinh doanh), .net (mạng), .edu (giáodục), gov (chính phủ), org (cho các đơn vị, tổ chức) Theo quốc gia uk (Anh), jp(Nhật Bản), vn (Việt Nam), v.v Trong những năm gần đây xuất hiện nhiều top-level
xxxii
Trang 35domain khác như biz, coop, info, int, jobs, name và pro Gần đây, các tổ chức có thểmua cả top-level domain của chính họ Second-level domain được đăng ký bởi các cánhân hoặc tổ chức Các second-level DNS domain có thể chứa nhiều subdomain, vàmỗi subdomain có thể chứa nhiều host Ví dụ server1.hongvan.vn, trong đó server1 làtên máy tính, hongvan là subdomain (second-level), vn là top-level domain.
1.5 Cơ chế phân giải tên miền [6]
Mỗi khi người dùng truy cập tài nguyên mạng bằng tên miền hoặc host name(tên máy), và cái tên truy cập đó sẽ được phân giải thành địa chỉ IP, tên và địa chỉ IPnày được cache lại nên máy tính người dùng không cần thiết phải liên hệ với máyDNS server liên tục để phân giải tên Nếu tên này chưa có trong cache (bộ nhớ đệm),client sẽ liên hệ với DNS server đã được cấu hình ở phần khai báo IP của hệ thống.Nếu server này ở trạng thái sẵn sàng và nó không thể xác định được địa chỉ, client sẽkhông hỏi thêm một server nào khác Tuy nhiên, bởi vì DNS là hệ thống phân phốiphân cấp, DNS server cục bộ sẽ cần liên hệ với những DNS server khác để có thể phângiải IP mà client yêu cầu
DNS client được hiểu như là người có nhu cầu cần phân giải DNS Bởi vì mộtclient hay một server đều cần sự phân giải địa chỉ IP của DNS server và xác định đượcdịch vụ mạng, các client và các server đều có thể là DNS client Khi một DNS clienttruy vấn một DNS server, nó thực hiện một truy vấn đệ quy (recursive query), trongkhi có các yêu từ các host, DNS server có thể trả các yêu cầu dữ liệu này hoặc trả lờitên miền không tồn tại DNS server cũng có thể thực hiện các truy vấn đệ quy đến cácmáy chủ DNS khác nếu nó được cấu hình chuyển tiếp yêu cấu đến DNS server khácbởi vì nó không có câu trả lời
xxxiii
Trang 36Hình 1.14: DNS Server sơ cấp và DNS server thứ cấpKhi DNS server nhận được yêu cầu, trước tiên nó sẽ kiểm tra có cache của mình.Sau đó nó kiểm tra để xem nó có thẩm quyền hay không đối với yêu cầu domain Nếu
có biết câu trả lời, nó sẽ hồi đáp với câu trả lời Nếu DNS server không biết câu trả lời(lúc này nó sẽ đóng vai trò là client DNS server, thay client thực hiện truy vấn) và nókhông được cấu hình chuyển tiếp yêu cầu đến một DNS server khác, client DNS server
sẽ sử dụng cơ chế phân cấp của DNS để tìm câu trả lời chính xác Thay vì thực hiệntruy vấn đệ quy, client DNS server sẽ thực hiện truy vấn lặp đi lặp lại (iterative query)hay còn gọi là truy vấn tuần tự Ví dụ như, khi user gõ www.contoso.com vào trìnhduyệt, client DNS server không có câu trả lời, client DNS server sẽ liên hệ với mộtroot DNS server để biết được địa chỉ của máy chủ tên miền com Client DNS serversau đó liên hệ với máy chủ tên miền com để lấy máy chủ tên của contoso.com ClientDNS server tiếp tục liên hệ với máy chủ tên miền của contoso.com để lấy địa chỉ IPcủa www.contoso.com Client DNS server trả lời cho client với địa chỉ IP đã phân giải.Ngoài ra, nó cũng thêm địa chỉ này vào cache của nó cho các truy vấn sau này
xxxiv
Trang 37Hình 1.15: Truy vấn đệ quy và truy vấn tuần tự
Truy vấn đệ quy (recursive query): Khi name server nhận được truy vấn dạng
này, nó bắt buộc phải trả về kết quả tìm được hoặc thông báo lỗi nếu như truy vấn nàykhông phân giải được
Name server không thể tham chiếu truy vấn đến một name server khác Nameserver có thể gửi truy vấn dạng đệ quy hoặc tương tác đến name server khác nhưngphải thực hiện cho đến khi nào có kết quả mới thôi
Truy vấn tuần tự: Khi một DNS resolver thực hiện một truy vấn tuần tự, nó sẽ
gửi yêu cầu đến một DNS server và chờ đợi phản hồi
DNS server nhận yêu cầu có thể cung cấp một phần của thông tin hoặc chỉ trỏresolver đến một DNS server khác mà nó nghĩ có thể có thông tin chi tiết hơn
Resolver sau đó gửi yêu cầu tiếp theo đến DNS server mới và lặp lại quá trìnhcho đến khi tìm thấy địa chỉ IP hoặc xác định rằng tên miền không tồn tại
Truy vấn tuần tự giữ cho DNS server gửi lại các phần thông tin nhỏ hơn, vàresolver phải thực hiện nhiều yêu cầu liên tục để đạt được kết quả cuối cùng
1.6 Phân loại name server
Primary Name Server
Mỗi miền phải có một Primary Name Server Server này được đăng ký trênInternet để quản lý miền
Mọi người trên Internet đều biết tên máy tính và địa chỉ IP của Server nàyNgười quản trị DNS sẽ tổ chức những tập tin CSDL trên Primary Name Server.Server này có nhiệm vụ phân giải tất cát các máy trong miền hay zone
Secondary Name Server
Mỗi miền có một Primary Name Server để quản lý CSDL của miền
xxxv