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 - Trần minh Tân
10 trang |
Chia sẻ: quangot475 | Lượt xem: 439 | Lượt tải: 0
Bạn đang xem 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 - Trần minh Tân, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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
Các file đính kèm theo tài liệu này:
- 14_90_99_9053_2149249.pdf