Tìm hiểu về Anycast DNS ?
Anycast DNS là một thuật toán định tuyến lưu lượng được sử dụng để phân phối nhanh chóng nội dung trang web đến các địa chỉ IP riêng lẻ trên nhiều nút mạng khác nhau. Yêu cầu của người dùng hướng đến các nút mạng cụ thể dựa trên các yếu tố như: hệ thống các cụm máy chủ DNS của bạn, cũng như khoảng cách giữa nó và khách truy cập trang web.
Mạng Anycast được sử dụng rộng rãi cho các sản phẩm mạng phân phối nội dung (CDN) để đưa nội dung của chúng đến gần hơn với người dùng cuối.
Có một số lợi thế cho định tuyến tên miền bằng công nghệ anycast:
- Kết nối nhanh hơn: Định tuyến người dùng thông qua nút mạng trung gian gần nhất giúp giảm thiểu thời gian trễ (Round-trip time - RTT), do đó giảm số bước nhảy và giảm độ trễ.
- Cấu hình máy chủ được đơn giản hóa: Anycast cho phép một cấu hình máy chủ DNS duy nhất phân phối cho tất cả các nút mạng của bạn.
- Tính sẵn sàng cao: Phân phối một địa chỉ IP trên nhiều nút mạng sẽ gây lãng phí không đáng có, Anycast luôn sẵn có 1 bản sao lưu trong trường hợp một nút bị quá tải hoặc truy cập thất bại.
- Giảm thiểu DDoS: Anycast giúp giảm thiểu DDoS nội tại bằng cách cung cấp các lựa chọn thay thế dự phòng nếu một nút mạng bị tấn công hoặc máy chủ vật lý down.
Anycast hoạt động như thế nào?
Định tuyến mạng Anycast có thể định tuyến các yêu cầu kết nối đến nhiều trung tâm dữ liệu. Khi các yêu cầu đến một địa chỉ IP duy nhất được liên kết với mạng Anycast, mạng Anycast sẽ phân phối dữ liệu dựa trên một số phương pháp ưu tiên. Quá trình lựa chọn sẽ chọn một trung tâm dữ liệu cụ thể tối ưu hóa nhất để giảm độ trễ bằng cách chọn trung tâm dữ liệu với khoảng cách ngắn nhất từ người yêu cầu. Anycast được đặc trưng bởi 1 đến nhiều liên kết và là 1 trong 5 giao thức mạng chính được sử dụng trong giao thức Internet.
Tại sao nên sử dụng mạng Anycast?
Nếu nhiều yêu cầu được thực hiện đồng thời đến cùng một máy chủ gốc, máy chủ có thể bị quá tải lưu lượng và không thể đáp ứng hiệu quả với các yêu cầu đến bổ sung. Với mạng Anycast, thay vì một máy chủ gốc chiếm ưu thế về lưu lượng. Khả năng tải cũng có thể được trải trên các trung tâm dữ liệu có sẵn khác, mỗi máy chủ sẽ có các khả năng xử lý và đáp ứng yêu cầu đến. Phương pháp định tuyến này có thể giúp máy chủ gốc mở rộng dung lượng và tránh gián đoạn dịch vụ cho các máy khách yêu cầu nội dung từ máy chủ gốc.
Sự khác biệt giữa Anycast và Unicast là gì?
Hầu hết Internet hoạt động thông qua sơ đồ định tuyến gọi là Unicast. Trong Unicast, mỗi nút mạng là một địa chỉ IP duy nhất. Mạng gia đình và văn phòng sử dụng Unicast; khi một máy tính được kết nối với mạng không dây và nhận được thông báo cho biết địa chỉ IP đã được sử dụng, đã xảy ra xung đột địa chỉ IP do một máy tính khác trên cùng mạng Unicast đã sử dụng cùng một IP. Trong hầu hết các trường hợp, điều đó không được phép.
Khi CDN đang sử dụng địa chỉ unicast, lưu lượng được định tuyến trực tiếp đến nút mạng cụ thể. Điều này tạo ra một lỗ hổng khi mạng gặp phải lưu lượng truy cập lớn bất thường như một cuộc tấn công DDoS. Vì lưu lượng được định tuyến trực tiếp đến một trung tâm dữ liệu cụ thể, vị trí hoặc cơ sở hạ tầng xung quanh có thể bị quá tải lưu lượng, có thể dẫn đến việc từ chối dịch vụ đối với các yêu cầu hợp pháp.
Sử dụng Anycast có nghĩa là mạng có khả năng đàn hồi. Vì lưu lượng truy cập sẽ tìm đường dẫn tốt nhất, toàn bộ trung tâm dữ liệu có thể hoạt động ngoại tuyến và lưu lượng sẽ tự động chuyển sang trung tâm dữ liệu gần.
Làm thế nào để mạng Anycast có thể giảm thiểu các cuộc tấn công DDoS?
Các công cụ giảm thiểu DDoS khác lọc ra một số lưu lượng tấn công, Anycast lại phân phối lưu lượng tấn công còn lại trên nhiều trung tâm dữ liệu, ngăn không cho bất kỳ vị trí nào bị ngập yêu cầu. Nếu dung lượng của mạng Anycast lớn hơn lưu lượng tấn công ddos, thì cuộc tấn công được giảm đi một cách hiệu quả. Trong hầu hết các cuộc tấn công DDoS, nhiều máy tính "zombie" được sử dụng để tạo ra công cụ được gọi là botnet. Các máy này nằm rải rác trên web và tạo ra nhiều lưu lượng truy cập đến mức chúng có thể làm xập một máy chủ kết nối Unicast cổ điển.
Một CDN Anyciled hoạt động đúng cách làm tăng diện tích bề mặt của mạng để lưu lượng các cuộc tấn công từ chối dịch vụ ddos chưa được lọc từ botnet phân tán sẽ được hấp thụ bởi mỗi trung tâm dữ liệu CDN. Kết quả là, khi một mạng tiếp tục phát triển về kích thước và dung lượng, việc khởi chạy một hệ thống phòng ngừa DDoS hiệu quả đối với bất kỳ ai sử dụng CDN.
Thực tế không hề dễ dàng để thiết lập một mạng Anycazed thực sự. Việc triển khai đúng cách yêu cầu từ nhà cung cấp CDN nhằm duy trì phần cứng mạng riêng của họ, xây dựng quan hệ trực tiếp với các nhà mạng cấp cao và điều chỉnh các tuyến mạng của họ để đảm bảo lưu lượng truy cập không ngắt quãng giữa nhiều địa điểm.
Tìm hiểu thêm về định tuyến Unicast và Multicast
Cả unicast và multicast đều là các giải pháp định tuyến lưu lượng truy cập hiệu quả, mặc dù có những hạn chế khiến chúng trở thành những lựa chọn ít thực tế hơn so với anycast.
Unicast
Unicast chỉ định một nút mạng cho các địa chỉ IP riêng lẻ và sau đó kết nối người gửi và người nhận bằng các định tuyến tĩnh. Bất kể nguồn gốc yêu cầu là gì, nó luôn đi theo cùng một đường dẫn định tuyến.
Anycast and Unicast routing
Đây là một giải pháp có vấn đề vì nhiều lý do, nếu một nút đường dẫn định tuyến quá tải hoặc down, các kênh dịch vụ sẽ bị ngắt và làm gián đoạn các dịch vụ trực tuyến.
Ngoài ra, các kết nối riêng lẻ giữa các nút mạng và máy chủ lưu trữ có thể tốn nhiều tài nguyên, đặc biệt là khi các tệp hoặc các ứng dụng ngày càng lớn hơn (ví dụ: video và phần mềm) đang được phân phối trên quy mô lớn.
Multicast
Trong định tuyến phát đa hướng (Multicast routing), một IP nguồn gửi dữ liệu đến một nút mạng phát đa hướng trung gian, sau đó xác định và phân phối dữ liệu cho một nhóm người nhận.
Trái ngược với unicast, multicast có khả năng mở rộng, IP nguồn chỉ cần gửi một gói dữ liệu để nó được phân phối tới đông đảo người dùng. Điều này làm cho nó trở thành một giải pháp khả thi cho các luồng dữ liệu lớn hơn như các trang web phát trực tuyến video, chứng khoán trực tuyến và trò chơi.
Nhưng nó vẫn tồn tại một số nhược điểm liên quan đến định tuyến phát đa hướng. Trong trường hợp một nút mạng bị quá tải hoặc down, luồng dữ liệu phải được chuyển hướng có khả năng dẫn đến độ trễ đáng kể. Hơn nữa, chi phí vận hành các nút mạng multicast là rất cao.
Tìm hiểu về CDN Perspective
Ta thường hay nghe các mạng phân phối CDN phân phối các nội dung media hoặc các file javascript, css... CDN sử dụng định tuyến anycast để phân phối nội dung trang web trên quy mô lớn. Các điểm mạng phổ biến trên từng khu vực lãnh thổ sẽ được đặt (PoP) quảng bá các dải địa chỉ IP tương tự. Nó ghép nối các gateway protocol (BGP) nó phát hiện và duy trì đường dẫn đến các máy chủ khác nhau.
Ngoài định tuyến yêu cầu HTTP anycast, CDN cung cấp độ phân giải DNS anycast. Bằng cách thiết lập một loạt các name servers và cung cấp khả năng tra cứu tên miền có độ trễ thấp cho các ISP-resolving host names. Điều này giúp người truy cập sẽ được đưa đến máy chủ mục tiêu nhanh hơn.
Sau đó, các nhà cung cấp dịch vụ internet (ISP) địa phương như Viettel, FPT ... có thể chọn từ nhiều điểm truy cập và xác định đường dẫn được tối ưu nhất để định tuyến lưu lượng. Do đó, ứng dụng web của bạn kết nối nhanh hơn, tăng cường bảo mật và chuyển đổi dự phòng khẩn cấp trong trường hợp máy chủ quá tải.