Ứng dụng Anycast trong việc nâng cao hiệu năng cho hệ thống máy chủ tên miền DNS

Anycast là kỹ thuật định tuyến trong đó nhiều node mạng (máy chủ, thiết bị mạng)

được sử dụng cùng một địa chỉ IP, các máy trạm (clients) sẽ tìm đường đi đến node mạng

có địa chỉ IP anycast ở gần nhất. Với ưu điểm nổi trội này, anycast sử dụng trong hệ thống

DNS được biết đến như là một dịch vụ cơ bản để cung cấp sự ổn định cho người dùng

cuối. Bằng việc sử dụng anycast, các máy chủ DNS ở các địa điểm khác nhau có thể cung

cấp cùng một dịch vụ giống nhau với cùng một nội dung.

Về mặt lý thuyết, khi tiếp nhận các truy vấn từ phía client, anycast sẽ trả về máy chủ

phù hợp (gần nhất) trên mạng trong một nhóm riêng biệt các máy chủ được nhân bản. Tuy

nhiên việc lựa chọn máy chủ nào, qua đường dẫn nào trong nội bộ hệ thống mạng anycast

sao cho hiệu quả nhất đối với mỗi một truy vấn phát sinh từ phía client lại là một bài toán

lớn vẫn đang được các nhà khoa học triển khai nghiên cứu. Trong [1], các tác giả Dong

Xuan, Weijia, Wei Zhao và Hongwen Zhu đã chỉ ra giao thức định tuyến trên mạng cho

các gói tin anycast. Các tác giả Aus M.Sulaiman, Borhanuddin Mohd. Ali, Sabira Khatun

và Gopakumar Kurrup cũng đã đưa ra phương pháp sử dụng giao thức dự trữ multicast độc

lập để cải tiến giao thức định tuyến anycast trên IPv6 [2]. Trong [3], Sandeep Sarat,

Vasileios Pappas, Ansdreas Terzis cũng đã nghiên cứu và công bố các kết quả đánh giá sự

ảnh hưởng của anycast trong hệ thống DNS toàn cầu.

pdf 10 trang kimcuc 9180
Bạn đang xem tài liệu "Ứng dụng Anycast trong việc nâng cao hiệu năng cho hệ thống máy chủ tên miền DNS", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Ứng dụng Anycast trong việc nâng cao hiệu năng cho hệ thống máy chủ tên miền DNS

Ứng dụng Anycast trong việc nâng cao hiệu năng cho hệ thống máy chủ tên miền DNS
Kü thuËt ®iÖn tö & Khoa häc m¸y tÝnh 
T.M.Tân, N. V. Tam, D.Đ Viên, “Ứng dụng anycast  hệ thống máy chủ DNS.” 90 
øng dông anycast trong viÖc n©ng cao 
hiÖu n¨ng cho hÖ thèng m¸y chñ 
tªn miÒn dns 
TRẦN MINH TÂN*, NGUYỄN VĂN TAM**, DƯ ĐÌNH VIÊN*** 
Tóm tắt: Anycast hiện đã được sử dụng tương đối phổ biến trong việc giải quyết các bài 
toán định tuyến trên mạng Internet. Bài báo này trình bày một số giải pháp cải tiến, ứng 
dụng anycast để nâng cao hiệu năng cho hệ thống mạng máy chủ tên miền DNS, bao gồm 
thuật toán lựa chọn đường đi và chọn máy chủ DNS trong cụm máy chủ DNS anycast; xây 
dựng mô hình thiết kế mạng máy chủ DNS anycast IPv4/IPv6 để nâng cao hiệu năng và độ 
ổn định cho hệ thống này. 
Từ khóa: DNS, Anycast. 
1. GIỚI THIỆU 
Anycast là kỹ thuật định tuyến trong đó nhiều node mạng (máy chủ, thiết bị mạng) 
được sử dụng cùng một địa chỉ IP, các máy trạm (clients) sẽ tìm đường đi đến node mạng 
có địa chỉ IP anycast ở gần nhất. Với ưu điểm nổi trội này, anycast sử dụng trong hệ thống 
DNS được biết đến như là một dịch vụ cơ bản để cung cấp sự ổn định cho người dùng 
cuối. Bằng việc sử dụng anycast, các máy chủ DNS ở các địa điểm khác nhau có thể cung 
cấp cùng một dịch vụ giống nhau với cùng một nội dung. 
Về mặt lý thuyết, khi tiếp nhận các truy vấn từ phía client, anycast sẽ trả về máy chủ 
phù hợp (gần nhất) trên mạng trong một nhóm riêng biệt các máy chủ được nhân bản. Tuy 
nhiên việc lựa chọn máy chủ nào, qua đường dẫn nào trong nội bộ hệ thống mạng anycast 
sao cho hiệu quả nhất đối với mỗi một truy vấn phát sinh từ phía client lại là một bài toán 
lớn vẫn đang được các nhà khoa học triển khai nghiên cứu. Trong [1], các tác giả Dong 
Xuan, Weijia, Wei Zhao và Hongwen Zhu đã chỉ ra giao thức định tuyến trên mạng cho 
các gói tin anycast. Các tác giả Aus M.Sulaiman, Borhanuddin Mohd. Ali, Sabira Khatun 
và Gopakumar Kurrup cũng đã đưa ra phương pháp sử dụng giao thức dự trữ multicast độc 
lập để cải tiến giao thức định tuyến anycast trên IPv6 [2]. Trong [3], Sandeep Sarat, 
Vasileios Pappas, Ansdreas Terzis cũng đã nghiên cứu và công bố các kết quả đánh giá sự 
ảnh hưởng của anycast trong hệ thống DNS toàn cầu. 
Bài báo này, chúng tôi sẽ trình bày các kết quả nghiên cứu, đưa ra giải pháp lựa chọn 
máy chủ tối ưu trong số các máy chủ có cùng địa chỉ anycast và chọn đường dẫn tốt nhất 
để đi đến máy chủ đã chọn tương ứng với các truy vấn của client. Bên cạnh đó, chúng tôi 
cũng đề xuất xây dựng một mô hình triển khai DNS anycast IPv6 có kiến trúc dự phòng để 
đảm bảo cho sự hoạt động ổn định của dịch vụ DNS phù hợp với yêu cầu chuyển đổi từ 
IPv4 sang IPv6. 
Các nội dung tiếp theo: Mục 2 - Tổng quan về anycast; mục 3 - Xây dựng thuật toán 
chọn máy chủ và chọn đường đi trong nội mạng DNS anycast; mục 4 - Trình bày đề xuất 
một mô hình triển khai DNS anycast IPv6; cuối cùng mục 5 là một số kết luận. 
2. TỔNG QUAN VỀ ANYCAST 
Anycast được đề cập đến trong RFC1546 [4]. Về nguyên tắc, khi một client có nhu cầu 
truy vấn đến một địa chỉ anycast, các router anycast sẽ chỉ ra đường đi đến máy chủ gần 
với client nhất trên mạng. Thông qua bảng định tuyến, router sẽ chỉ ra đường đi tốt nhất 
đến máy chủ trong danh sách các đường đi/máy chủ mà nó biết được. 
Trên thực tế, mạng anycast thường có nhiều router kết nối, do đó tùy thuộc vào client ở 
vị trí nào trên mạng, khi phát sinh yêu cầu truy vấn, hệ thống sẽ chọn ra các đường đi khác 
Nghiªn cøu khoa häc c«ng nghÖ 
T¹p chÝ Nghiªn cøu KH&CN qu©n sù, Sè 31, 06 - 2014 91
nhau tới máy chủ Instance “gần nhất” với client thông qua định tuyến, có thể đến máy A 
hoặc máy B. 
Với thiết kế mạng cho các cụm DNS 
anycast quy mô nhỏ, mô hình thiết kế 
thường ở mức đơn giản như trong hình 2. 
Trong trường hợp này, các máy chủ DNS 
có cùng địa chỉ anycast thường nằm ngay 
trong cùng nội mạng local phía trong, thậm 
chí là ngay trong cùng một mạng LAN, một 
phòng máy do đó có thể sử dụng hiệu quả 
trên các thiết bị cân bằng tải chuyên dụng 
như Cisco CSM, Cisco CSS. Việc cân bằng 
tải này được thực hiện tại từng cụm máy 
chủ DNS nên còn được gọi là Local Load 
Balancing. Tuy nhiên, đối với các hệ thống 
mạng DNS lớn (thông thường là hệ thống 
DNS cấp quốc gia hay hệ thống DNS của 
tên miền cấp cao nhất - Top Level 
Domain), để đảm bảo an toàn, các hệ thống 
này thường bao gồm nhiều cụm máy chủ 
DNS đặt tại các vị trí địa lý khác nhau, 
trong các phân mạng khác nhau. Phạm vi 
mạng các máy chủ DNS anycast không chỉ 
còn giới hạn trong một mạng LAN nữa mà 
thường được mở rộng ra trên phạm vi của 
mạng WAN. Như vậy, các máy chủ DNS 
có cùng địa chỉ anycast mặc dù nằm trong 
cùng một số hiệu mạng (Autonomous 
System Number - ASN) nhưng từ router 
anycast đến các máy chủ này sẽ phải đi qua 
nhiều router trung gian, chính vì vậy, việc 
phân tải cho các truy vấn DNS đến máy 
chủ nào trong số các máy chủ DNS có cùng địa chỉ anycast sẽ có tác động, quyết định rất 
lớn đến QoS của hệ thống DNS. 
3. XÂY DỰNG THUẬT TOÁN CHỌN MÁY CHỦ 
VÀ CHỌN ĐƯỜNG ĐI TRONG NỘI MẠNG DNS ANYCAST 
Khi một gói tin anycast đến một router, router sẽ cần phải chọn một đường đi tiếp theo 
dựa trên các thông tin trong bảng định tuyến của nó. Để có được các thông tin này, mỗi 
router trong mạng anycast phải trải qua một quá trình thiết lập bảng định tuyến. Giai đoạn 
thiết lập này sẽ xây dựng nên một bảng định tuyến để cung cấp các thông tin cần thiết cho 
mỗi router trong kế hoạch xây dựng lộ trình đường đi cho các gói tin. Các thông số đầu 
vào chính cho một bảng định tuyến sẽ bao gồm các trường: địa chỉ đích, khoảng cách và 
trạm tiếp theo. Các trạm có địa chỉ thỏa mãn yêu cầu của trường địa chỉ đích sẽ nằm trong 
danh sách ứng cử viên của thuật toán chọn đường. 
Các ứng cử viên đầu vào cho một địa chỉ anycast có thể có nhiều lựa chọn theo hai 
dạng: (1) một địa chỉ đơn anycast với nhiều địa chỉ máy chủ đích, (2) một máy chủ đích 
với nhiều đường đi tới nó. Trường khoảng cách sẽ cung cấp thông tin về thời gian truyền 
dẫn cần thiết từ router đến địa chỉ đích. Thuật toán định tuyến chúng tôi đề xuất sẽ lựa 
Hình 1. Mô hình mạng DNS sử dụng 
anycast 
Hình 2. Mô hình thiết kế một cụm DNS 
anycast quy mô nhỏ (nguồn VNNIC). 
Kü thuËt ®iÖn tö & Khoa häc m¸y tÝnh 
T.M.Tân, N. V. Tam, D.Đ Viên, “Ứng dụng anycast  hệ thống máy chủ DNS.” 92 
chọn đầu vào với khoảng cách ngắn nhất trong các ứng cử viên và chuyển gói tin tới đầu 
ra của trạm tiếp theo. 
Ta xét một mô hình mạng ví dụ như trong hình 3, trong đó H1 đến H4 là các máy trạm 
phát gói tin anycast. R1 đến R12 là các router và S1 đến S4 là các máy chủ DNS có cùng 
địa chỉ anycast A1 và có khả năng xử lý các gói tin này. Việc mô tả thông tin định tuyến 
tại router R1 được trình bày trong bảng 1. 
Hình 3. Một mô hình mạng DNS anycast. 
Bảng 1. Mô tả thông tin trong bảng 
định tuyến của router R1. 
Việc chọn đường dẫn đi ngắn nhất có ưu điểm là giảm tối thiểu độ trễ khi truyền, mặc 
dù vậy, việc này cũng có thể dẫn đến xu hướng làm tắc nghẽn mạng và gây quá tải cho 
máy chủ khi có những thời điểm hầu hết các gói tin đều được gửi đến cùng một máy chủ 
đích. Trên thực tế, thời gian phản hồi sẽ được xác định bằng tổng thời gian truyền dẫn và 
thời gian xử lý của máy chủ, do đó chúng tôi hướng đến việc tìm giải pháp cải tiến để 
giảm thiểu thời gian phản hồi kết quả hơn là việc chỉ giảm thời gian truyền dẫn. Mục tiêu 
đặt ra là giảm thời gian phản hồi trung bình càng nhiều càng tốt. 
Từ những phân tích ở trên, giải pháp chọn đường dẫn và chọn máy chủ DNS chúng tôi 
đề xuất ở đây sẽ đề cập đến cả 3 yếu tố: băng thông, khoảng cách và tải của các máy chủ 
DNS tại mỗi thời điểm xem xét; đồng thời sử dụng mô hình dịch vụ phân biệt Difference 
Service (DiffServ) để chọn ra máy chủ phù hợp nhất và chọn đường đi hiệu quả nhất tới 
máy chủ đó. Để đạt được điều này, chúng tôi sử dụng phần mềm để cải tiến chức năng môi 
giới băng thông (Bandwidth Brocker - BB), mở rộng thêm một số thuộc tính của chức 
năng này thay vì sử dụng kiến trúc nguyên bản của dịch vụ DiffServ. Việc tìm máy chủ 
phù hợp nhất và đường đi tốt nhất tới máy chủ đó được thực hiện không phải chỉ bằng 
cách kiểm tra các tín hiệu với từng máy chủ trong danh sách ứng cử, thay vào đó được 
thực hiện bằng cách tìm và đặt chỗ trước tài nguyên theo tín hiệu của Bandwidth Brocker 
với các thuộc tính đã cải tiến sau khi phát một tín hiệu dò đường tới tất cả các máy chủ là 
ứng viên. 
Ở đây chúng tôi đề xuất bổ sung thêm 2 thuộc tính mở rộng cho chức năng môi giới 
băng thông của mô hình dịch vụ DiffServ truyền thống để phục vụ cho giao thức mới. Hai 
thuộc tính bổ sung này được đặt tên là Resolver và Route Cache. 
- Resolver: Được cài đặt với 3 chức năng chính như sau. 
1) Lập danh sách các server thành phần: Chức năng này sẽ giúp Resolver ghi lại các 
server trong vùng của nó. Danh sách được lập và ghi lại bao gồm nhóm anycast và địa chỉ 
IP của mỗi server trong nhóm anycast đang tồn tại trong vùng. 
2) Tạo tin nhắn: Resolver sinh ra các tin nhắn tìm kiếm để yêu cầu phản hồi trong phạm 
vi vùng của nó. Các tin nhắn này được phát quảng bá để thu về các thông tin máy chủ và 
đường dẫn phù hợp nhất. Sau khi các tin nhắn này đến được mỗi máy chủ trong vùng, 
Resolver sẽ sinh ra một tin nhắn phản hồi dựa trên các thông tin về danh sách các server và 
tin nhắn gốc từ client. 
3) Đo thời gian: Sau khi mỗi tin nhắn được gửi đi, chức năng đo thời gian (hẹn giờ) sẽ 
được thiết lập để kiểm tra thời gian phản hồi. Khi đó Resolver sẽ đợi để nhận tin phản hồi 
cho đến khi thời gian bị hết hạn. 
Nghiªn cøu khoa häc c«ng nghÖ 
T¹p chÝ Nghiªn cøu KH&CN qu©n sù, Sè 31, 06 - 2014 93
- Route Cache: Để đảm bảo yêu cầu nâng cao hiệu năng mạng, giảm thiểu việc tắc nghẽn 
trong mạng DNS anycast, kết quả tìm kiếm sẽ được lưu lại trong một khoảng thời gian 
nhất định. Các thông tin lưu giữ kết quả của việc tìm đường bao gồm: đường đi đến máy 
chủ đích, đường đi có băng thông lớn nhất trong các đường còn lại, số lượng các hop phải 
đi qua, địa chỉ IP của máy chủ và thông tin về tải hiện có của máy chủ đó. 
Khi Resolver đã sẵn sàng để gửi một tin nhắn tìm đường mới, việc đầu tiên mà nó cần làm 
là kiểm tra xem thông tin yêu cầu đã có sẵn hay chưa. Nếu thông tin này đang có sẵn thì 
máy chủ và đường dẫn đến máy chủ đó sẽ được lựa chọn dựa trên thông tin đang lưu giữ 
(cached), việc đăng ký tài nguyên sẽ được thiết lập dọc theo đường đi đã được lưu giữ 
trong cache. Nếu không có sẵn, Resolver sẽ khởi tạo và phát quảng bá tin nhắn tìm đường. 
Từ cơ sở các phân tích trên, giải pháp cải tiến ứng dụng anycast được mô tả như sau: 
Giả sử mỗi E-BB là một điểm môi giới băng thông. 
 Bước 1: E-BB nhận yêu cầu truy vấn nhóm anycast từ một client C trong vùng sở hữu 
của nó. 
 Bước 2: Resolver tại E-BB khảo sát xem yêu cầu truy vấn này có trong route cache của 
nó hay không. Nếu có, E-BB tạo một yêu cầu đặt chỗ tài nguyên dựa trên các thông tin này 
và chuyển sang bước 7. Nếu không, chuyển sang bước 3. 
 Bước 3: Chức năng tin nhắn thành phần trong E-BB tạo ra một tin nhắn cho yêu cầu từ 
client C. 
 Bước 4: E-BB phát quảng bá tin nhắn tìm đường tới các E-BB cạnh đó. Chức năng đếm 
thời gian cũng được thiết lập cùng một lúc để đáp ứng yêu cầu về thời gian phản hồi của 
các tin nhắn tìm đường. 
 Bước 5: Khi nhận được tin nhắn tìm đường, các E-BB kiểm tra xem máy chủ yêu cầu có 
tồn tại hay không? Nếu có, các E-BB này có tin nhắn trả lời cho client. 
 Bước 6: E-BB đợi để nhận tin nhắn phản hồi cho tới khi chức năng đặt giờ bị quá hạn. 
Nếu E-BB nhận được nhiều hơn một tin nhắn, nó sẽ chọn lấy một tin căn cứ vào thuật toán 
chọn máy chủ và đường dẫn. 
 Bước 7: Thông tin tài nguyên sẽ được giữ chỗ dọc theo đường đi đã được chọn để đi 
đến máy chủ đã chọn. Khi đó client có thể bắt đầu liên lạc với máy chủ đã được chọn. 
 Bước 8: Nếu việc đặt chỗ tài nguyên bị lỗi trong trường hợp sử dụng route cache thì 
quay lại bước 3. 
 Bước 9: Thông tin về máy chủ và đường đi lấy lại được từ tin nhắn trả lời được lưu lại 
trong route cache của E-BB. 
Việc mô tả quá trình đặt chỗ tài 
nguyên được thể hiện trên hình 4. 
+ Thuật toán tìm máy chủ và 
đường đi hiệu quả trong mạng 
DNS anycast 
Ở đây, chúng tôi đề xuất sử dụng cả 
3 dạng thông tin của máy chủ và 
đường đi để lựa chọn ra máy chủ và 
lộ trình đi tốt nhất giữa các máy 
DNS trong cùng một nhóm anycast, 
đó là: 1- Tải của mỗi máy chủ 
(server load); 2- Băng thông thấp 
nhất còn lại; 3- Số lượng các hop 
trên đường đi để đến được mỗi máy 
chủ. Các thông tin này được chứa 
Hình 4. Mô tả quá trình đặt chỗ tài nguyên trong 
mạng DNS anycast. 
Kü thuËt ®iÖn tö & Khoa häc m¸y tÝnh 
T.M.Tân, N. V. Tam, D.Đ Viên, “Ứng dụng anycast  hệ thống máy chủ DNS.” 94 
trong bản tin phản hồi và đạt được qua thủ tục tìm kiếm của Resolver. Như vậy, việc lựa 
chọn máy chủ và đường đi đến máy chủ đó trong mỗi yêu cầu truy vấn DNS anycast sẽ 
được dựa trên sự đánh giá đồng thời cả tải của máy chủ và tải của mạng. Trên các cơ sở 
này, thuật toán chọn máy chủ và chọn đường đi sẽ được mô tả như sau: 
 1. Thông tin về máy chủ và đường dẫn được đặt ở trạng thái bình thường để có thể định 
giá được các loại thông tin khác nhau. 
 2. Giả thiết rằng các giá trị tính thông thường được lấy từ 1 đến 100. Khi đó tỷ lệ 3 loại 
thông tin về tải của mỗi máy chủ, băng thông thấp nhất còn lại (Bandwidth) và số lượng 
các hop trên đường đi (Hop count) sẽ được định nghĩa. Điểm đánh giá sẽ được tính toán 
bằng tổng của các giá trị đạt được bằng cách nhân giá trị thông thường với tỷ lệ của nó. 
 3. Cuối cùng, máy chủ và đường dẫn có điểm đánh giá cao nhất sẽ được chọn. 
Ta xét ví dụ được trình bày trong bảng 2. Giả sử tỷ lệ [Hop count : Server load : 
Bandwidth] được chọn là [30:60:10], khi đó giá trị điểm đánh giá của đường đi số 1 đề cập 
trong bảng sẽ được tính toán như sau: 
86*0.3 + 10*0.6 + 20*0.1 = 34 
 Giá trị điểm đánh giá của tất cả các đường đi sẽ được tính toán theo phương pháp tương 
tự để chọn ra máy chủ và đường đi tốt nhất. Theo đó, đường đi số 3 có giá trị điểm đánh 
giá cao nhất và như vậy việc đặt chỗ băng thông sẽ thành công trên đường đi này theo 
thuật toán đề xuất. 
Bảng 2. Ví dụ về tính toán điểm đánh giá trong thuật toán chọn máy chủ, chọn đường. 
Route No. Hop Count Server Load Bandwidth Điểm đánh giá 
1 86(2) 10(90%) 20 (20Mbps) 34 
2 86(2) 20(80%) 50 (50Mbps) 43 
3 71(3) 65(35%) 40 (40Mbps) 64 
4 86(2) 20 (80%) 30 (30Mbps) 41 
 Thuật toán đã đề xuất đảm bảo sự lựa chọn máy chủ và đường đi một cách linh hoạt 
bằng cách chọn tỷ lệ khác biệt từ 3 loại thông tin đối với mỗi tình huống khác nhau. Để 
hiệu chỉnh kịp thời với các điều chỉnh về tải của mạng và đường đi, ta có thể chuẩn bị 2 tỷ 
lệ và chuyển đổi các tỷ lệ này tùy theo tải của mạng tại các thời điểm. 
+ Kết quả thực nghiệm: 
Để đánh giá kết quả của giải pháp đề xuất, chúng tôi sử dụng phần mềm mã nguồn mở 
Quagga để cài đặt và chạy thuật toán. Hoạt động định tuyến trong mạng với router local, 
giao thức định tuyến sử dụng RIP. Việc giám sát và thử tải của hệ thống được thực hiện 
bằng các công cụ dnspert và resperf. 
Việc thử nghiệm được đo bằng quá trình thực hiện truy vấn 100.000 tên miền ".vn" vào 
hệ thống máy chủ DNS anycast DNS cấp quốc gia đã dựng, đo kiểm thời gian phản hồi 
các truy vấn (Query Respond Time-QRT), so sánh kết quả thu được từ hệ thống thử 
nghiệm với các kết quả tương tự thu được khi truy vấn hệ thống thực với việc sử dụng 
anycast mặc định là thuật toán round robin và khi truy vấn đến các cụm DNS anycast ở 
nước ngoài sử dụng round robin. 
Kết quả: Các hệ thống có thể trả lời tối đa ~6000 query/giây, đây cũng là giới hạn của 
phần mềm BIND phiên bản 9.9.1 hiện có. Việc mở rộng hệ thống phải được thực hiện 
bằng cách tăng thêm số lượng các máy chủ trong cụm anycast. 
Kết quả đo được cho thấy: 
- Hoạt động của hệ thống ổn định. 
- Thời gian thực hiện các truy vấn tên miền ".vn" đến hệ thống DNS của Việt Nam khi sử 
dụng anycast mặc định (Round Robin) đo được: 
 Nước ngoài: min ~100msec - max~200msec; 
 Trong nước: min~80msec - max~180msec. 
Nghiªn cøu khoa häc c«ng nghÖ 
T¹p chÝ Nghiªn cøu KH&CN qu©n sù, Sè 31, 06 - 2014 95
- Thời gian thực hiện truy vấn tên miền ".vn" đến hệ thống DNS trong nước đã được 
cài đặt thuật toán chọn máy chủ, chọn đường theo giải pháp đề xuất đo được: 
 Trong nước: min~80msec - max~170msec; 
 Như vậy, qua kết quả thực nghiệm (hình 6), có thể đánh giá: Với giải pháp cải tiến đã 
được cài đặt, thời gian trả lời kết quả truy vấn các tên miền qua hệ thống DNS anycast đạt 
được sự ổn định cao hơn, biên độ dao động thấp hơn so với giải pháp anycast mặc định 
hiện có. Thời gian trung bình để phản hồi kết quả truy vấn cũng thấp hơn không chỉ so với 
các truy vấn đến hệ thống DNS “.vn” ở nước ngoài mà ngay cả với hệ thống DNS “.vn” 
trong nước. 
Hình 5. Biểu đồ mật độ truy vấn tên miền trên 
hệ thống DNS quốc gia “.vn” (nguồn VNNIC). 
Hình 6. Thời gian trả lời các truy vấn 
DNS anycast. 
4. ỨNG DỤNG IPv6 CHO DNS ANYCAST 
Về kiến trúc mạng, có thể coi IPv6 DNS anycast được chia thành hai phần: một phần là 
cơ sở định tuyến BGP trên dịch vụ anycast, phần còn lại là định tuyến IGP trên dịch vụ 
anycast. Theo RFC 4291 [11], một địa chỉ anycast có thể đăng ký được cho các host IPv6 
anycast, điều này làm cho việc ứng dụng IPv6 anycast trên nền dịch vụ DNS là khả thi. 
Kiến trúc của mạng IPv6 anycast được quan tâm nhất là làm sao để đảm bảo sự hoạt 
động ổn định bền vững khi cung cấp dịch vụ cho hệ thống DNS anycast. Để đảm bảo đáp 
ứng được yêu cầu đó, quá trình định tuyến trong IPv6 anycast cần được chia thành 2 phần: 
Trước hết, một hệ thống kích hoạt/chờ được thực hiện thông qua việc sử dụng giao thức 
IGP bên trong, tiếp theo một định tuyến BGP trên hệ thống anycast được thực hiện thông 
qua giao thức BGP bên ngoài. Trên cơ sở này, chúng tôi đề xuất thiết kế mạng DNS 
anycast IPv6 cho 01 cụm máy chủ DNS có quy mô lớn (tối thiểu 02 cụm máy chủ DNS 
đặt tại các vị trí địa lý khác nhau, cùng sử dụng 01 số hiệu mạng ASN) như sơ đồ sau. 
Trong đó các thiết bị mạng được thiết kế theo mô hình đối xứng gương để đảm bảo dự 
phòng, hỗ trợ nhau hoạt động ổn định. 
Trong mô hình này, phần định tuyến 
bên ngoài có kiến trúc dự phòng bằng 
cách sử dụng BGP4+ giữa Router_1 và 
Router_A và giữa Router_2 và Router_B. 
Trong phần định tuyến bên trong, đường 
dẫn lưu lượng được nhân đôi để đảm bảo 
sự bền vững của dịch vụ DNS. Router_A 
và Router_B đã được cấu hình bằng việc 
cắt ngang dịch vụ DNS thông qua 
Switch_A và Switch_B, chia mạng ra 
thành 2 phần để cho phép lưu lượng DNS 
được phân chia cho các máy chủ DNS. Kiến trúc này được cấu hình với sự xem xét, cân 
 Hình 7. Kiến trúc mạng IPv6 anycast theo 
cơ chế đối xứng dự phòng 
Kü thuËt ®iÖn tö & Khoa häc m¸y tÝnh 
T.M.Tân, N. V. Tam, D.Đ Viên, “Ứng dụng anycast  hệ thống máy chủ DNS.” 96 
nhắc năng lực của các router và các máy chủ DNS trên cơ sở sự gia tăng của thông lượng 
thực tế sau này khi vận hành. 
 Phân tích chi tiết như sau: 
+ Định tuyến trong (Internal Routing): 
 Mạng IPv6 bên trong được kết nối với 2 mạng con (Subnet1 và Subnet2) giữa các máy 
chủ (DNS A và DNS B) áp dụng với định tuyến IGP và các router (Router_A và 
Router_B). IPv6 anycast prefix có thể được phân phát động đến các bảng định tuyến IGP 
của các router (Router_A, Router_B) thông qua tin nhắn của giao thức IGP trong phân 
mạng này. Cũng như vậy, định tuyến IGP cũng được cấu hình trong DNS, việc cấu hình và 
phản ánh lại các prefix địa chỉ anycast tới các bảng định tuyến của router là rất quan trọng. 
Ở đây một địa chỉ IPv6 được áp dụng (FC00::/7) cho định tuyến IGP giữa các thiết bị. 
Mặc dù vậy, địa chỉ này sẽ không bao giờ được quảng bá bằng giao thức IGP ra mạng 
Internet bên ngoài. 
+ Định tuyến BGP: 
Địa chỉ anycast trong định tuyến IGP được phân phát động tới bảng định tuyến của 
Router_A và Router_B. Khi Router_A và Router_B quảng bá địa chỉ IPv6 anycast ra các 
router ngoài (Router_1 và Router_2), chúng chỉ cấu hình để chuyển tải duy nhất 01 
anycast prefix ra phân mạng mở rộng (ASN X). 
Nếu một lỗi xuất hiện trên máy chủ DNS nào đó trong nhóm máy chủ anycast (chẳng 
hạn như chương trình thường trú DNS daemon không hoạt động được), lỗi của giao diện 
DNS, sự đứt kết nối dịch vụ DNS và địa chỉ anycast sẽ bị xóa khỏi bảng định tuyến của 
giao thức định tuyến IGP. Địa chỉ IPv6 anycast sẽ tự động được xóa khỏi bảng định tuyến 
của Router_A và Router_B. Trong trường hợp này, địa chỉ IPv6 anycast không còn được 
quảng bá ra mạng ngoài (ASN X). Trạng thái dịch vụ anycast DNS sẽ được phản ánh ra 
trạm DNS bên trên nó và các truy vấn DNS sẽ được chuyển tiếp tới trạm DNS gần nhất 
thay vì chuyển đến máy DNS anycast bị lỗi. 
Để đánh giá hiệu quả của thiết kế này, chúng tôi đã tiến hành các thử nghiệm, đo kiểm 
trên thực tế mô hình mạng DNS cấp quốc gia ".vn" bằng cách: 
- Sử dụng kết nối mạng IPv6 trong nước từ các vùng mạng của ISP trong nước và sử 
dụng công cụ Tunnel Broker để lấy địa chỉ IPv6 từ quốc tế. 
- Việc kiểm tra được thực hiện qua các tiêu chí: 
+ Kiểm tra các truy vấn đến hệ thống DNS IPv6 bằng công cụ nslookup, telnet port 
53 (DNS). 
+ Kiểm tra với các Website đo kiểm DNS IPv6. 
+ Kiểm tra thời gian đáp ứng truy vấn dịch vụ DNS của mạng DNS anycast hiện tại 
và so sánh với thời gian đáp ứng truy vấn dịch vụ DNS của mạng DNS anycast thử 
nghiệm theo mô hình thiết kế mới. 
- Việc đo kiểm được thực hiện qua: 
+ Công cụ gogoClient Utility để tạo kết nối Tunnel Broker, lấy địa chỉ IPv6 từ quốc 
tế thông qua kết nối tunnel. 
+ Công cụ namebench (Open-source DNS Benchmark Utility) của Google để kiểm 
tra thời gian đáp ứng dịch vụ DNS. 
Nghiªn cøu khoa häc c«ng nghÖ 
T¹p chÝ Nghiªn cøu KH&CN qu©n sù, Sè 31, 06 - 2014 97
Hình 8. Mật độ truy vấn DNS anycast ".vn" toàn cầu qua kết nối thuần IPv6 (nguồn VNNIC). 
- Phạm vi đo kiểm được tiến hành: 
+ Đo thực tế trên toàn bộ các nút mạng DNS quốc gia ".vn" toàn cầu để đánh giá số 
lượng truy vấn các bản ghi DNS IPv6 đến các tên miền ".vn" trên toàn cầu. 
+ Đo thực tế trên mạng DNS ".vn" trong nước để đánh giá số lượng truy vấn DNS 
IPv6 cho các tên miền ".vn" ở trong nước. 
Hình 9. Mật độ truy vấn DNS anycast ".vn" toàn cầu qua kết nối IPv6 tunnel (nguồn VNNIC). 
Kết quả về thời gian đáp ứng DNS 
Kết quả đo kiểm qua công cụ namebench về thời gian trung bình trả lời truy vấn trên 
DNS-B (2001:dc8:0:7::105): 
 Với các kết nối thuần (Native) IPv6 trong nước: ≈ 60 ms. 
 Với các kết nối IPv6 thuần (Native) từ quốc tế: ≈ 350 ms. 
 Với kết nối thuần IPv6 trong nước qua hệ thống thử nghiệm mới: ≈ 55 ms. 
 Với các kết nối IPv6 qua tunnel từ quốc tế, tùy vào tốc độ của từng tunnel, thời gian 
phản hồi khoảng: ≈ 600-800 ms. 
 Với các kết nối IPv6 qua tunnel trong nước thời gian phản hồi: ≈ 200-350 ms. 
 Với các kết nối IPv6 qua tunnel trong nước qua hệ thống thử nghiệm: ≈ 200-280 ms. 
Kü thuËt ®iÖn tö & Khoa häc m¸y tÝnh 
T.M.Tân, N. V. Tam, D.Đ Viên, “Ứng dụng anycast  hệ thống máy chủ DNS.” 98 
Hình 10. So sánh thời gian đáp ứng truy 
vấn DNS giữa các loại kết nối thuần IPv6. 
Hình 11. So sánh thời gian đáp ứng truy vấn 
DNS giữa các loại kết nối IPv6 tunnel. 
5. KẾT LUẬN 
Việc ứng dụng anycast trong hệ thống DNS đã làm tăng cường thêm sự bền vững 
dịch vụ của hệ thống mạng máy chủ đặc biệt quan trọng này. Bài báo này đã nghiên cứu, 
đề xuất mở rộng thêm một số giải pháp để nâng cao hiệu năng cho các mạng DNS trên 
diện rộng, trong đó đã: 
- Nghiên cứu xây dựng thuật toán chọn máy chủ và chọn đường đi trong nội mạng 
DNS anycast trên cơ sở mô hình dịch vụ phân biệt Difference Service để cải tiến, tăng 
hiệu năng mạng và đảm bảo chất lượng dịch vụ cho hệ thống. 
- Thiết kế mô hình triển khai mạng DNS anycast IPv6 trên nền công nghệ địa chỉ 
IPv6 đáp ứng xu thế chuyển đổi sang thế hệ địa chỉ mới IPv6 giai đoạn hiện tại và đồng 
thời nâng cao hiệu năng và độ ổn định cho hệ thống này. 
Kết quả thử nghiệm đánh giá trên thực tế cho thấy giải pháp cải tiến đã làm tăng được 
đáng kể chất lượng dịch vụ DNS, thời gian trả lời kết quả truy vấn các tên miền qua hệ 
thống DNS anycast nhỏ hơn và ổn định hơn so với giải pháp truyền thống hiện có. Đối với 
mô hình thiết kế DNS anycast IPv4/IPv6 đề xuất, bên cạnh việc đảm bảo duy trì được chế 
độ hoạt động dự phòng, thời gian trả lời truy vấn DNS theo mô hình thiết kế mới đảm bảo 
ổn định hơn và có cải thiện theo xu thế thấp hơn so với thiết kế ban đầu. Các cải tiến, thiết 
kế này rất phù hợp với các mạng máy chủ tên miền quy mô lớn như hệ thống DNS của các 
tên miền cấp cao nhất (TLD-Top Level Domain) hay hệ thống máy chủ DNS quản lý các 
tên miền cấp cao mã quốc gia (ccTLD - Country Code Top Level Domain). 
Kết quả triển khai các đo kiểm trên mạng thực tế được kiểm nghiệm cho thấy ngoài 
việc đảm bảo duy trì được chế độ hoạt động dự phòng, thời gian trả lời truy vấn DNS theo 
mô hình thiết kế mới vẫn được đảm bảo, ổn định hơn và có cải thiện theo xu thế thấp hơn 
so với thiết kế ban đầu. 
TÀI LIỆU THAM KHẢO 
[1]. Dong Xuan, Weijia, Wei Zhao and Hongwen Zhu, "A Routing Protocol for Anycast 
Messages", IEEE Trans. on Parallel and Distributed Systems, Vol.11, No. 6, June 2000. 
[2]. Aus M.Sulaiman, Borhanuddin Mohd. Ali, Sabira Khatun and Gopakumar Kurrup, "An 
Enhanced IPv6 Anycast Routing Protocol Using Protocol Independent Multicast-Sparse 
Mode (PIM-SM)", Proceedings of the 2007 IEEE International Conference on 
Telecommunications and Malaysia International Conference on Telecommunications, 14-
17 May 2007, Penang, Malaysia. 
[3]. Sandeep Sarat, Vasileios Pappas, Ansdreas Terzis, "On the Use of anycast in DNS", IEEE 1-
4244-0572-6/06 2006. 
[4]. C. Partridge, T. Mendez, W. Milliken, "Host Anycasting Service", RFC1546. 
Nghiªn cøu khoa häc c«ng nghÖ 
T¹p chÝ Nghiªn cøu KH&CN qu©n sù, Sè 31, 06 - 2014 99
[5]. Yanfeng Zheng, Simin He, Wen Gao, Shutao Sun, "A traffic adaptive round-robin algorithm 
for combined input-crosspont-queued switches", 13th IEEE International Conference on 
Communication, Malaysia 2005. 
[6]. Yanfeng Zheng, Wen Gao, "A dual round-robin algorithm for combined input-crosspoint-
queued switches", Computer Communications and Networks, 2005. ICCCN 2005. 
Proceedings. 14th Int. Conf.on Computer Com. and Networks. 2005, Page(s): 193-198. 
[7]. Ito, Y. Tasaka, S. Ishibashi, Y. Variably, "Weighted round robin queueing for core IP 
routers", IEEE International Conference on Performance, Computing and Communications, 
2002, Page(s):159-166. 
[8]. Zhang Y., Harrison P.O, "Performance of a Priority-Weighted Round Robin Mechanism for 
Differentiated Service Networks", ICCCN Proceedings of 16th International Conference on 
Computer Communications and Networks, 2007. Page(s): 1198 - 1203. 
[9]. Xiaonian Tong, Wanneng Shu, "An Efficient Dynamic Load Balancing Scheme for 
Heterogenous Processing System", International Conference on Computational Intelligence 
and Natural Computing, 2009. CINC '09, Page(s): 319 - 322 
[10]. Pereira R.L, Vazao T., "Network Layer Implemented Anycast Load Balancing" 12th IEEE 
Symposium on Computers and Communications, 2007. ISCC 2007, Page(s): 387 - 393. 
[11]. R. Hinden, S. Deering, "IP Version 6 Addressing Architecture", February 2006, RFC 4921. 
ABSTRACT 
APPLYING ANYCAST FOR ENHANCING DOMAIN NAME 
 SYSTEM PERFORMANCE 
Anycast protocol has been popularly using in handling with routing issues on 
Internet. This paper presents some innovative solutions in applying anycast protocol to 
improve network performance for DNS system including server and route selection 
algorithm in the DNS anycast server clusters and designing IPv4/IPv6 DNS anycast 
servers network models to improve performance and stability of the DNS system. 
Keywords: DNS, ANYCAST. 
NhËn bµi ngµy 20 th¸ng 03 n¨m 2014 
Hoµn thiÖn ngµy 15 th¸ng 05 n¨m 2014 
ChÊp nhËn ®¨ng ngµy 26 th¸ng 05 n¨m 2014 
Địa chỉ : 
 * Bộ Thông tin Truyền thông 
 ** Viện Công nghệ Thông tin 
*** Trường đại học Công nghiệp Hà nội 

File đính kèm:

  • pdfung_dung_anycast_trong_viec_nang_cao_hieu_nang_cho_he_thong.pdf