Để đạ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 tha[r]
(1)øng dơng anycast viƯc n©ng cao hiệu 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 sử dụng tương đối phổ biến việc giải toán định tuyến mạng Internet Bài báo trình bày số giải pháp cải tiến, ứng dụng anycast để nâng cao hiệu 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 chọn máy chủ DNS 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 định cho hệ thống
Từ khóa: DNS, Anycast
1 GIỚI THIỆU
Anycast kỹ thuật định tuyến nhiều node mạng (máy chủ, thiết bị mạng) sử dụng địa IP, máy trạm (clients) tìm đường đến node mạng có địa IP anycast gần Với ưu điểm trội này, anycast sử dụng hệ thống DNS biết đến dịch vụ để cung cấp ổn định cho người dùng cuối Bằng việc sử dụng anycast, máy chủ DNS địa điểm khác cung cấp dịch vụ giống với nội dung
Về mặt lý thuyết, tiếp nhận truy vấn từ phía client, anycast trả máy chủ phù hợp (gần nhất) mạng nhóm riêng biệt máy chủ nhân Tuy nhiên việc lựa chọn máy chủ nào, qua đường dẫn nội hệ thống mạng anycast cho hiệu truy vấn phát sinh từ phía client lại toán lớn nhà khoa học triển khai nghiên cứu Trong [1], tác giả Dong Xuan, Weijia, Wei Zhao Hongwen Zhu giao thức định tuyến mạng cho gói tin anycast Các tác giả Aus M.Sulaiman, Borhanuddin Mohd Ali, Sabira Khatun Gopakumar Kurrup đưa 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 IPv6 [2] Trong [3], Sandeep Sarat, Vasileios Pappas, Ansdreas Terzis nghiên cứu công bố kết đánh giá ảnh hưởng anycast hệ thống DNS toàn cầu
Bài báo này, chúng tơi trình bày kết nghiên cứu, đưa giải pháp lựa chọn máy chủ tối ưu số máy chủ có địa anycast chọn đường dẫn tốt để đến máy chủ chọn tương ứng với truy vấn client Bên cạnh đó, chúng tơi đề xuất xây dựng mơ hình triển khai DNS anycast IPv6 có kiến trúc dự phịng để đảm bảo cho hoạt động ổn định 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 - Tổng quan anycast; mục - Xây dựng thuật toán chọn máy chủ chọn đường nội mạng DNS anycast; mục - Trình bày đề xuất mơ hình triển khai DNS anycast IPv6; cuối mục số kết luận
2 TỔNG QUAN VỀ ANYCAST
Anycast đề cập đến RFC1546 [4] Về nguyên tắc, client có nhu cầu truy vấn đến địa anycast, router anycast đường đến máy chủ gần với client mạng Thông qua bảng định tuyến, router đường tốt đến máy chủ danh sách đường đi/máy chủ mà biết
(2)nhau tới máy chủ Instance “gần nhất” với client thông qua định tuyến, đến máy A máy B
Với thiết kế mạng cho cụm DNS anycast quy mô nhỏ, mơ hình thiết kế thường mức đơn giản hình Trong trường hợp này, máy chủ DNS có địa anycast thường nằm nội mạng local phía trong, chí mạng LAN, phòng máy sử dụng hiệu thiết bị cân tải chuyên dụng Cisco CSM, Cisco CSS Việc cân tải thực cụm máy chủ DNS nên gọi Local Load Balancing Tuy nhiên, hệ thống mạng DNS lớn (thông thường hệ thống DNS cấp quốc gia hay hệ thống DNS tên miền cấp cao - Top Level Domain), để đảm bảo an toàn, hệ thống thường bao gồm nhiều cụm máy chủ DNS đặt vị trí địa lý khác nhau, phân mạng khác Phạm vi mạng máy chủ DNS anycast khơng cịn giới hạn mạng LAN mà thường mở rộng phạm vi mạng WAN Như vậy, máy chủ DNS có địa anycast nằm số hiệu mạng (Autonomous System Number - ASN) từ router anycast đến máy chủ phải qua nhiều router trung gian, vậy, việc phân tải cho truy vấn DNS đến máy chủ số máy chủ DNS có địa anycast có tác động, định lớn đến QoS 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 gói tin anycast đến router, router cần phải chọn đường dựa thơng tin bảng định tuyến Để có thơng tin này, router mạng anycast phải trải qua trình thiết lập bảng định tuyến Giai đoạn thiết lập xây dựng nên bảng định tuyến để cung cấp thông tin cần thiết cho router kế hoạch xây dựng lộ trình đường cho gói tin Các thơng số đầu vào cho bảng định tuyến bao gồm trường: địa đích, khoảng cách trạm Các trạm có địa thỏa mãn yêu cầu trường địa đích nằm danh sách ứng cử viên thuật toán chọn đường
Các ứng cử viên đầu vào cho địa anycast có nhiều lựa chọn theo hai dạng: (1) địa đơn anycast với nhiều địa máy chủ đích, (2) máy chủ đích với nhiều đường tới Trường khoảng cách cung cấp thông tin thời gian truyền dẫn cần thiết từ router đến địa đích Thuật tốn định tuyến chúng tơi đề xuất lựa
Hình Mơ hình mạng DNS sử dụng anycast
(3)chọn đầu vào với khoảng cách ngắn ứng cử viên chuyển gói tin tới đầu trạm
Ta xét mơ hình mạng ví dụ hình 3, H1 đến H4 máy trạm phát gói tin anycast R1 đến R12 router S1 đến S4 máy chủ DNS có địa anycast A1 có khả xử lý gói tin Việc mơ tả thơng tin định tuyến router R1 trình bày bảng
Hình Một mơ hình mạng DNS anycast
Bảng Mô tả thông tin bảng định tuyến router R1
Việc chọn đường dẫn ngắn có ưu điểm giảm tối thiểu độ trễ truyền, vậy, việc dẫn đến xu hướng làm tắc nghẽn mạng gây tải cho máy chủ có thời điểm hầu hết gói tin gửi đến máy chủ đích Trên thực tế, thời gian phản hồi xác định tổng thời gian truyền dẫn thời gian xử lý máy chủ, 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 việc giảm thời gian truyền dẫn Mục tiêu đặt giảm thời gian phản hồi trung bình nhiều tốt
Từ phân tích trên, giải pháp chọn đường dẫn chọn máy chủ DNS đề xuất đề cập đến yếu tố: băng thông, khoảng cách tải máy chủ DNS 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 máy chủ phù hợp chọn đường hiệu tới máy chủ Để đạt điều này, sử dụng phần mềm để cải tiến chức môi giới băng thông (Bandwidth Brocker - BB), mở rộng thêm số thuộc tính chức thay sử dụng kiến trúc nguyên dịch vụ DiffServ Việc tìm máy chủ phù hợp đường tốt tới máy chủ thực khơng phải cách kiểm tra tín hiệu với máy chủ danh sách ứng cử, thay vào thực cách tìm đặt chỗ trước tài nguyên theo tín hiệu Bandwidth Brocker với thuộc tính cải tiến sau phát tín hiệu dị đường tới tất máy chủ ứng viên
Ở đề xuất bổ sung thêm thuộc tính mở rộng cho chức mơi giới băng thơng mơ hình dịch vụ DiffServ truyền thống để phục vụ cho giao thức Hai thuộc tính bổ sung đặt tên Resolver Route Cache
- Resolver: Được cài đặt với chức sau
1) Lập danh sách server thành phần: Chức giúp Resolver ghi lại server vùng Danh sách lập ghi lại bao gồm nhóm anycast địa IP server nhóm anycast tồn vùng
2) Tạo tin nhắn: Resolver sinh tin nhắn tìm kiếm để yêu cầu phản hồi phạm vi vùng Các tin nhắn phát quảng bá để thu thông tin máy chủ đường dẫn phù hợp Sau tin nhắn đến máy chủ vùng, Resolver sinh tin nhắn phản hồi dựa thông tin danh sách server tin nhắn gốc từ client
(4)- Route Cache: Để đảm bảo yêu cầu nâng cao hiệu mạng, giảm thiểu việc tắc nghẽn mạng DNS anycast, kết tìm kiếm lưu lại khoảng thời gian định Các thơng tin lưu giữ kết việc tìm đường bao gồm: đường đến máy chủ đích, đường có băng thơng lớn đường cịn lại, số lượng hop phải qua, địa IP máy chủ thơng tin tải có máy chủ
Khi Resolver sẵn sàng để gửi tin nhắn tìm đường mới, việc mà cần làm kiểm tra xem thơng tin u cầu có sẵn hay chưa Nếu thơng tin có sẵn máy chủ đường dẫn đến máy chủ lựa chọn dựa thông tin lưu giữ (cached), việc đăng ký tài nguyên thiết lập dọc theo đường lưu giữ cache Nếu khơng có sẵn, Resolver khởi tạo phát quảng bá tin nhắn tìm đường
Từ sở phân tích trên, giải pháp cải tiến ứng dụng anycast mô tả sau: Giả sử E-BB đ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ừ client C vùng sở hữu
Bước 2: Resolver E-BB khảo sát xem yêu cầu truy vấn có route cache hay khơng Nếu có, E-BB tạo yêu cầu đặt chỗ tài nguyên dựa thông tin chuyển sang bước Nếu không, chuyển sang bước
Bước 3: Chức tin nhắn thành phần E-BB tạo 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 E-BB cạnh Chức đếm thời gian thiết lập lúc để đáp ứng yêu cầu thời gian phản hồi tin nhắn tìm đường
Bước 5: Khi nhận tin nhắn tìm đường, E-BB kiểm tra xem máy chủ yêu cầu có tồn hay khơng? Nếu có, E-BB có tin nhắn trả lời cho client
Bước 6: E-BB đợi để nhận tin nhắn phản hồi chức đặt bị hạn Nếu E-BB nhận nhiều tin nhắn, chọn lấy tin vào thuật toán chọn máy chủ đường dẫn
Bước 7: Thông tin tài nguyên giữ chỗ dọc theo đường chọn để đến máy chủ chọn Khi client bắt đầu liên lạc với máy chủ chọn Bước 8: Nếu việc đặt chỗ tài nguyên bị lỗi trường hợp sử dụng route cache quay lại bước
Bước 9: Thơng tin máy chủ đường lấy lại từ tin nhắn trả lời lưu lại route cache E-BB
Việc mơ tả q trình đặt chỗ tài nguyên thể hình + Thuật tốn tìm máy chủ đường hiệu mạng DNS anycast
Ở đây, đề xuất sử dụng dạng thông tin máy chủ đường để lựa chọn máy chủ lộ trình tốt máy DNS nhóm anycast, là: 1- Tải máy chủ (server load); 2- Băng thông thấp lại; 3- Số lượng hop đường để đến máy chủ Các thông tin chứa Hình Mơ tả q trình đặt chỗ tài nguyên
(5)trong tin phản hồi đạt qua thủ tục tìm kiếm Resolver Như vậy, việc lựa chọn máy chủ đường đến máy chủ yêu cầu truy vấn DNS anycast dựa đánh giá đồng thời tải máy chủ tải mạng Trên sở này, thuật toán chọn máy chủ chọn đường mô tả sau:
Thông tin máy chủ đường dẫn đặt trạng thái bình thường để định giá loại thơng tin khác
Giả thiết giá trị tính thơng thường lấy từ đến 100 Khi tỷ lệ loại thơng tin tải máy chủ, băng thơng thấp cịn lại (Bandwidth) số lượng hop đường (Hop count) định nghĩa Điểm đánh giá tính tốn tổng giá trị đạt cách nhân giá trị thông thường với tỷ lệ Cuối cùng, máy chủ đường dẫn có điểm đánh giá cao chọn
Ta xét ví dụ trình bày bảng Giả sử tỷ lệ [Hop count : Server load : Bandwidth] chọn [30:60:10], giá trị điểm đánh giá đường số đề cập bảng tính tốn sau:
86*0.3 + 10*0.6 + 20*0.1 = 34
Giá trị điểm đánh giá tất đường tính tốn theo phương pháp tương tự để chọn máy chủ đường tốt Theo đó, đường số có giá trị điểm đánh giá cao việc đặt chỗ băng thông thành công đường theo thuật tốn đề xuất
Bảng Ví dụ tính tốn điểm đánh giá thuật tố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 lựa chọn máy chủ đường cách linh hoạt cách chọn tỷ lệ khác biệt từ loại thơng tin tình khác Để hiệu chỉnh kịp thời với điều chỉnh tải mạng đường đi, ta chuẩn bị tỷ lệ chuyển đổi tỷ lệ tùy theo tải mạng thời điểm
+ Kết thực nghiệm:
Để đánh giá kết giải pháp đề xuất, sử dụng phần mềm mã nguồn mở Quagga để cài đặt chạy thuật toán Hoạt động định tuyến mạng với router local, giao thức định tuyến sử dụng RIP Việc giám sát thử tải hệ thống thực công cụ dnspert resperf
Việc thử nghiệm đo trình thực 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 truy vấn (Query Respond Time-QRT), so sánh kết thu từ hệ thống thử nghiệm với kết tương tự thu truy vấn hệ thống thực với việc sử dụng anycast mặc định thuật toán round robin truy vấn đến cụm DNS anycast nước sử dụng round robin
Kết quả: Các hệ thống trả lời tối đa ~6000 query/giây, giới hạn phần mềm BIND phiên 9.9.1 có Việc mở rộng hệ thống phải thực cách tăng thêm số lượng máy chủ cụm anycast
Kết đo cho thấy: - Hoạt động hệ thống ổn định
- Thời gian thực truy vấn tên miền ".vn" đến hệ thống DNS Việt Nam sử dụng anycast mặc định (Round Robin) đo được:
(6)- Thời gian thực truy vấn tên miền ".vn" đến hệ thống DNS nướ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 thực nghiệm (hình 6), đánh giá: Với giải pháp cải tiến cài đặt, thời gian trả lời kết truy vấn tên miền qua hệ thống DNS anycast đạt ổn định cao hơn, biên độ dao động thấp so với giải pháp anycast mặc định có Thời gian trung bình để phản hồi kết truy vấn thấp không so với truy vấn đến hệ thống DNS “.vn” nước mà với hệ thống DNS “.vn” nước
Hình Biểu đồ mật độ truy vấn tên miền hệ thống DNS quốc gia “.vn” (nguồn VNNIC)
Hình Thời gian trả lời truy vấn DNS anycast
4 ỨNG DỤNG IPv6 CHO DNS ANYCAST
Về kiến trúc mạng, coi IPv6 DNS anycast chia thành hai phần: phần sở định tuyến BGP dịch vụ anycast, phần lại định tuyến IGP dịch vụ anycast Theo RFC 4291 [11], địa anycast đăng ký cho host IPv6 anycast, điều làm cho việc ứng dụng IPv6 anycast dịch vụ DNS khả thi
Kiến trúc mạng IPv6 anycast quan tâm để đảm bảo hoạt động ổn định bền vững cung cấp dịch vụ cho hệ thống DNS anycast Để đảm bảo đáp ứng yêu cầu đó, trình định tuyến IPv6 anycast cần chia thành phần: Trước hết, hệ thống kích hoạt/chờ thực thông qua việc sử dụng giao thức IGP bên trong, định tuyến BGP hệ thống anycast thực thông qua giao thức BGP bên ngồi Trên 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 vị trí địa lý khác nhau, sử dụng 01 số hiệu mạng ASN) sơ đồ sau Trong thiết bị mạng thiết kế theo mơ hình đối xứng gương để đảm bảo dự phòng, hỗ trợ hoạt động ổn định
Trong mơ hình này, phần định tuyến bên ngồi có kiến trúc dự phịng cách sử dụng BGP4+ Router_1 Router_A Router_2 Router_B Trong phần định tuyến bên trong, đường dẫn lưu lượng nhân đôi để đảm bảo bền vững dịch vụ DNS Router_A Router_B cấu hình việc cắt ngang dịch vụ DNS thơng qua Switch_A Switch_B, chia mạng thành phần phép lưu lượng DNS phân chia cho máy chủ DNS Kiến trúc cấu hình với xem xét, cân
(7)nhắc lực router máy chủ DNS sở gia tăng thông lượng thực tế sau vận hành
Phân tích chi tiết sau:
+ Định tuyến (Internal Routing):
Mạng IPv6 bên kết nối với mạng (Subnet1 Subnet2) máy chủ (DNS A DNS B) áp dụng với định tuyến IGP router (Router_A Router_B) IPv6 anycast prefix phân phát động đến bảng định tuyến IGP router (Router_A, Router_B) thông qua tin nhắn giao thức IGP phân mạng Cũng vậy, định tuyến IGP cấu hình DNS, việc cấu hình phản ánh lại prefix địa anycast tới bảng định tuyến router quan trọng Ở địa IPv6 áp dụng (FC00::/7) cho định tuyến IGP thiết bị Mặc dù vậy, địa không quảng bá giao thức IGP mạng Internet bên
+ Định tuyến BGP:
Địa anycast định tuyến IGP phân phát động tới bảng định tuyến Router_A Router_B Khi Router_A Router_B quảng bá địa IPv6 anycast router (Router_1 Router_2), chúng cấu hình để chuyển tải 01 anycast prefix phân mạng mở rộng (ASN X)
Nếu lỗi xuất máy chủ DNS nhóm máy chủ anycast (chẳng hạn chương trình thường trú DNS daemon không hoạt động được), lỗi giao diện DNS, đứt kết nối dịch vụ DNS địa anycast bị xóa khỏi bảng định tuyến giao thức định tuyến IGP Địa IPv6 anycast tự động xóa khỏi bảng định tuyến Router_A Router_B Trong trường hợp này, địa IPv6 anycast khơng cịn quảng bá mạng ngồi (ASN X) Trạng thái dịch vụ anycast DNS phản ánh trạm DNS bên truy vấn DNS chuyển tiếp tới trạm DNS gần thay chuyển đến máy DNS anycast bị lỗi
Để đánh giá hiệu thiết kế này, tiến hành thử nghiệm, đo kiểm thực tế mơ hình mạng DNS cấp quốc gia ".vn" cách:
- Sử dụng kết nối mạng IPv6 nước từ vùng mạng ISP nước sử dụng công cụ Tunnel Broker để lấy địa IPv6 từ quốc tế
- Việc kiểm tra thực qua tiêu chí:
+ Kiểm tra truy vấn đến hệ thống DNS IPv6 công cụ nslookup, telnet port 53 (DNS)
+ Kiểm tra với Website đo kiểm DNS IPv6
+ Kiểm tra thời gian đáp ứng truy vấn dịch vụ DNS mạng DNS anycast so sánh với thời gian đáp ứng truy vấn dịch vụ DNS mạng DNS anycast thử nghiệm theo mơ hình thiết kế
- Việc đo kiểm thực qua:
+ Công cụ gogoClient Utility để tạo kết nối Tunnel Broker, lấy địa IPv6 từ quốc tế thông qua kết nối tunnel