Ứ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 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

pdf10 trang | Chia sẻ: quangot475 | Lượt xem: 434 | Lượt tải: 0download
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:

  • pdf14_90_99_9053_2149249.pdf