Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp

Có lẽ nhiều người đã nghe nói về Anycast. Trong phương pháp đánh địa chỉ và định tuyến mạng này, một địa chỉ IP duy nhất được gán cho nhiều máy chủ trên mạng. Những máy chủ này thậm chí có thể được đặt ở các trung tâm dữ liệu cách xa nhau. Ý tưởng của Anycast là tùy thuộc vào vị trí của nguồn yêu cầu, dữ liệu sẽ được gửi đến máy chủ gần nhất (theo cấu trúc liên kết mạng, chính xác hơn là giao thức định tuyến BGP). Bằng cách này, bạn có thể giảm số bước nhảy mạng và độ trễ.

Về cơ bản, cùng một tuyến đường được quảng cáo từ nhiều trung tâm dữ liệu trên khắp thế giới. Như vậy, client sẽ được gửi đến những nơi “tốt nhất” và “gần nhất” dựa trên các tuyến đường BGP, trung tâm dữ liệu. Tại sao Anycast? Tại sao nên sử dụng Anycast thay vì Unicast?

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Unicast thực sự phù hợp với một trang web có một máy chủ web và lượng truy cập vừa phải. Tuy nhiên, nếu một dịch vụ có hàng triệu người đăng ký thì dịch vụ đó thường sử dụng nhiều máy chủ web, mỗi máy chủ có cùng một địa chỉ IP. Các máy chủ này được phân bổ theo địa lý để phục vụ yêu cầu một cách tối ưu.

Trong kịch bản này, Anycast sẽ cải thiện hiệu suất (lưu lượng truy cập được gửi đến người dùng với độ trễ tối thiểu), đảm bảo độ tin cậy của dịch vụ (nhờ máy chủ dự phòng) và cân bằng tải - định tuyến đến một số máy chủ sẽ phân phối tải giữa chúng một cách hiệu quả, cải thiện tốc độ của trang web.

Các nhà khai thác cung cấp cho khách hàng nhiều loại cân bằng tải khác nhau dựa trên Anycast và DNS. Khách hàng có thể chỉ định địa chỉ IP mà yêu cầu sẽ được gửi dựa trên vị trí địa lý của trang web. Điều này giúp phân phối yêu cầu của người dùng linh hoạt hơn.

Giả sử có một số trang web mà bạn cần phân phối tải (người dùng), ví dụ: một cửa hàng trực tuyến với 100 yêu cầu mỗi ngày hoặc một blog phổ biến. Để giới hạn khu vực mà người dùng truy cập vào một trang web cụ thể, bạn có thể sử dụng tùy chọn Cộng đồng địa lý. Nó cho phép bạn giới hạn khu vực mà nhà điều hành sẽ quảng cáo tuyến đường.

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Anycast và Unicast: sự khác biệt

Anycast thường được sử dụng trong các ứng dụng như DNS (Hệ thống tên miền) và CDN (Mạng phân phối nội dung), cho phép đưa ra các quyết định định tuyến giúp cải thiện hiệu suất mạng. Mạng phân phối nội dung sử dụng Anycast vì chúng xử lý khối lượng lưu lượng truy cập lớn và Anycast cung cấp một số lợi thế trong trường hợp này (xem thêm về chúng bên dưới). Trong DNS, Anycast cho phép bạn tăng đáng kể mức độ tin cậy và khả năng chịu lỗi của dịch vụ.

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Trong Anycast IP, khi sử dụng BGP, có nhiều tuyến đến một máy chủ cụ thể. Đây thực sự là bản sao của các máy chủ trong nhiều trung tâm dữ liệu, được sử dụng để thiết lập các kết nối có độ trễ thấp hơn.

Vì vậy, trong mạng Anycast, cùng một địa chỉ IP được quảng cáo từ những nơi khác nhau và mạng quyết định nơi định tuyến yêu cầu của người dùng dựa trên "chi phí" của tuyến đường. Ví dụ: BGP thường được sử dụng để xác định tuyến đường ngắn nhất để truyền dữ liệu. Khi người dùng gửi yêu cầu Anycast, BGP sẽ xác định tuyến đường tốt nhất cho các máy chủ Anycast có sẵn trên mạng.

Lợi ích của Anycast

Giảm độ trễ
Các hệ thống có Anycast có thể giảm độ trễ khi xử lý yêu cầu của người dùng vì chúng cho phép bạn nhận dữ liệu từ máy chủ gần nhất. Nghĩa là, người dùng sẽ luôn kết nối với máy chủ DNS “gần nhất” (từ quan điểm giao thức định tuyến). Nhờ đó, Anycast giảm thời gian tương tác bằng cách giảm khoảng cách mạng giữa máy khách và máy chủ. Điều này không chỉ làm giảm độ trễ mà còn cung cấp khả năng cân bằng tải.

tốc độ

Vì lưu lượng truy cập được định tuyến đến nút gần nhất và độ trễ giữa máy khách và nút đó giảm xuống nên kết quả là tốc độ phân phối được tối ưu hóa, bất kể máy khách đang yêu cầu thông tin từ đâu.

Tăng tính ổn định và khả năng chịu lỗi

Nếu một số máy chủ trên khắp thế giới sử dụng cùng một IP thì nếu một trong các máy chủ bị lỗi hoặc bị ngắt kết nối, lưu lượng truy cập sẽ được chuyển hướng đến máy chủ gần nhất. Do đó, Anycast làm cho dịch vụ trở nên linh hoạt hơn và cung cấp khả năng truy cập/độ trễ/tốc độ mạng tốt hơn. 

Do đó, bằng cách cung cấp nhiều máy chủ liên tục cho người dùng, Anycast chẳng hạn sẽ cải thiện tính ổn định của DNS. Nếu một nút bị lỗi, yêu cầu của người dùng sẽ được chuyển hướng đến một máy chủ DNS khác mà không cần bất kỳ sự can thiệp hoặc cấu hình lại thủ công nào. Anycast cung cấp khả năng chuyển đổi gần như minh bạch sang các trang web khác bằng cách loại bỏ các tuyến đường của trang web có vấn đề. 

Cân bằng tải

Trong Anycast, lưu lượng mạng được phân phối trên các máy chủ khác nhau. Nghĩa là, nó hoạt động như một bộ cân bằng tải, ngăn không cho bất kỳ máy chủ nào nhận được phần lớn lưu lượng truy cập. Cân bằng tải có thể được sử dụng, chẳng hạn như khi có nhiều nút mạng ở cùng khoảng cách địa lý với nguồn yêu cầu. Trong trường hợp này, tải được phân phối giữa các nút.

Giảm tác động của các cuộc tấn công DoS 

Một tính năng khác của Anycast là khả năng chống DDoS. Các cuộc tấn công DDoS khó có thể đánh sập hệ thống Anycast vì chúng sẽ phải làm choáng ngợp tất cả các máy chủ trong mạng như vậy với hàng loạt yêu cầu. 

Các cuộc tấn công DDoS thường sử dụng botnet, chúng có thể tạo ra nhiều lưu lượng truy cập đến mức làm quá tải máy chủ bị tấn công. Ưu điểm của việc sử dụng Anycast trong tình huống này là mỗi máy chủ có thể “hấp thụ” một phần cuộc tấn công, giúp giảm tải cho máy chủ cụ thể đó. Một cuộc tấn công từ chối dịch vụ rất có thể sẽ được bản địa hóa vào máy chủ và sẽ không ảnh hưởng đến toàn bộ dịch vụ.

Khả năng mở rộng theo chiều ngang cao

Hệ thống Anycast rất phù hợp cho các dịch vụ có lưu lượng truy cập lớn. Nếu một dịch vụ sử dụng Anycast yêu cầu máy chủ mới xử lý lưu lượng truy cập tăng lên, thì các máy chủ mới có thể được thêm vào mạng để xử lý việc đó. Chúng có thể được đặt trên các trang web mới hoặc hiện có. 

Nếu một vị trí cụ thể đang có lưu lượng truy cập tăng mạnh thì việc thêm máy chủ sẽ giúp cân bằng tải cho trang web đó. Việc thêm máy chủ tại một địa điểm mới sẽ giúp giảm thời gian chờ đợi bằng cách tạo tuyến đường mới ngắn nhất cho một số người dùng. Cả hai phương pháp này cũng giúp cải thiện tính ổn định của dịch vụ khi có máy chủ mới trên mạng. Bằng cách này, nếu một máy chủ bị quá tải, bạn có thể chỉ cần triển khai một máy chủ khác ở vị trí cho phép nó chấp nhận một số phần yêu cầu của máy chủ bị quá tải. Điều này không yêu cầu bất kỳ cấu hình nào từ phía khách hàng. 

Chỉ bằng cách này, lưu lượng truy cập hàng terabit và số lượng người dùng rất lớn mới có thể được phục vụ khi máy chủ chỉ có một vài cổng 10 hoặc 25 Gbps. 100 máy chủ có một địa chỉ IP sẽ có thể xử lý lưu lượng truy cập terabit.

Quản lý cấu hình dễ dàng

Như đã lưu ý ở trên, một công dụng thú vị của Anycast là DNS. Bạn có thể đặt nhiều máy chủ DNS khác nhau trên các nút mạng nhưng sử dụng một địa chỉ DNS. Tùy thuộc vào vị trí của nguồn, các yêu cầu sẽ được chuyển đến nút gần nhất. Điều này cung cấp một số cân bằng lưu lượng và dự phòng trong trường hợp máy chủ DNS bị lỗi. Bằng cách này, thay vì định cấu hình các máy chủ DNS khác nhau tùy thuộc vào vị trí của chúng, cấu hình của một máy chủ DNS có thể được phổ biến tới tất cả các nút.

Mạng Anycast có thể được cấu hình để định tuyến các yêu cầu không chỉ dựa trên khoảng cách mà còn dựa trên các tham số như sự hiện diện của máy chủ, số lượng kết nối được thiết lập. hoặc thời gian đáp ứng.

Phía máy khách không yêu cầu máy chủ, mạng hoặc thành phần đặc biệt nào để sử dụng công nghệ Anycast. Nhưng Anycast cũng có nhược điểm của nó. Người ta tin rằng việc thực hiện nó là một nhiệm vụ phức tạp, đòi hỏi phải có thêm thiết bị, nhà cung cấp đáng tin cậy và định tuyến lưu lượng thích hợp.

Xa nguồn thuần khiết đến vẻ đẹp

Mặc dù Anycast định tuyến người dùng dựa trên số bước nhảy ít nhất nhưng điều này không nhất thiết có nghĩa là độ trễ thấp nhất. Độ trễ là một số liệu phức tạp hơn vì nó có thể cao hơn trong một lần chuyển đổi so với mười lần chuyển đổi.

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Ví dụ: Truyền thông liên lục địa có thể bao gồm một bước nhảy duy nhất với độ trễ rất cao.

Anycast chủ yếu được sử dụng cho các dịch vụ dựa trên UDP như DNS. Yêu cầu của người dùng được định tuyến đến trung tâm dữ liệu “tốt nhất” và “gần nhất” dựa trên các tuyến BGP.

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Ví dụ: Máy trạm khách DNS có địa chỉ IP Anycast DNS là 123.10.10.10 thực hiện phân giải DNS tới máy chủ tên DNS gần nhất trong số ba máy chủ tên DNS được triển khai bằng cùng một địa chỉ IP Anycast. Nếu Bộ định tuyến R1 hoặc Máy chủ A bị lỗi, các gói máy khách DNS sẽ được tự động chuyển tiếp đến máy chủ DNS gần nhất tiếp theo thông qua Bộ định tuyến R2 và R3. Ngoài ra, tuyến đường đến máy chủ A của chúng tôi sẽ bị xóa khỏi bảng định tuyến, ngăn cản việc sử dụng thêm máy chủ tên đó.

Kịch bản triển khai

Có hai sơ đồ chung được sử dụng để xác định máy chủ nào người dùng kết nối với:

  • Lớp mạng Anycast. Kết nối người dùng với máy chủ gần nhất. Đường dẫn mạng từ người dùng đến máy chủ ở đây rất quan trọng.
  • Cấp độ ứng dụng Anycast. Lược đồ này có nhiều số liệu được tính toán hơn, bao gồm tính khả dụng của máy chủ, thời gian phản hồi, số lượng kết nối, v.v. Điều này phụ thuộc vào màn hình bên ngoài cung cấp số liệu thống kê mạng.

CDN dựa trên Anycast

Bây giờ chúng ta hãy quay lại sử dụng Anycast trong mạng phân phối nội dung. Anycast chắc chắn là một khái niệm mạng thú vị và đang ngày càng được các nhà cung cấp CDN thế hệ tiếp theo chấp nhận.

CDN là mạng phân tán gồm các máy chủ cung cấp nội dung cho người dùng cuối với tính sẵn sàng cao và độ trễ thấp. Mạng phân phối nội dung ngày nay đóng một vai trò quan trọng như là xương sống của nhiều dịch vụ truyền thông trực tuyến và người tiêu dùng ngày càng ít chấp nhận tốc độ tải xuống chậm. Các ứng dụng video và giọng nói đặc biệt nhạy cảm với hiện tượng giật mạng và độ trễ mạng.

CDN kết nối tất cả các máy chủ vào một mạng và đảm bảo tải nội dung nhanh hơn. Đôi khi có thể giảm thời gian chờ đợi của người dùng xuống 5-6 giây. Mục đích của CDN là tối ưu hóa việc phân phối bằng cách cung cấp nội dung từ máy chủ gần người dùng cuối nhất. Điều này rất giống với Anycast, trong đó máy chủ gần nhất được chọn dựa trên vị trí của người dùng cuối. Có vẻ như mọi nhà cung cấp dịch vụ CDN sẽ sử dụng Anycast theo mặc định, nhưng thực tế không phải vậy.

Các ứng dụng sử dụng các giao thức như HTTP/TCP dựa vào kết nối được thiết lập. Nếu chọn nút Anycast mới (ví dụ: do lỗi máy chủ), dịch vụ có thể bị gián đoạn. Đây là lý do tại sao Anycast trước đây được khuyên dùng cho các dịch vụ không kết nối như UDP và DNS. Tuy nhiên, Anycast cũng hoạt động tốt với các giao thức hướng kết nối, ví dụ TCP hoạt động tốt ở chế độ Anycast.

Một số nhà cung cấp CDN sử dụng định tuyến dựa trên Anycast, một số khác thích định tuyến dựa trên DNS: máy chủ gần nhất được chọn dựa trên vị trí đặt máy chủ DNS của người dùng.

Cơ sở hạ tầng trung tâm kết hợp và đa dữ liệu là một ví dụ khác về việc sử dụng Anycast. Địa chỉ IP Cân bằng tải nhận được từ nhà cung cấp cho phép bạn phân phối tải giữa các địa chỉ IP của các dịch vụ khách hàng khác nhau trong trung tâm dữ liệu của nhà cung cấp. Nhờ công nghệ dành cho mọi thiết bị, nó mang lại hiệu suất tốt hơn trong điều kiện lưu lượng truy cập lớn, khả năng chịu lỗi và giúp tối ưu hóa thời gian phản hồi khi xử lý một số lượng lớn người dùng.

Trong cơ sở hạ tầng trung tâm đa dữ liệu kết hợp, bạn có thể phân phối lưu lượng truy cập trên các máy chủ hoặc thậm chí cả máy ảo trên các máy chủ chuyên dụng.

Vì vậy, có rất nhiều lựa chọn về giải pháp kỹ thuật để xây dựng cơ sở hạ tầng. Bạn cũng có thể định cấu hình cân bằng tải trên các địa chỉ IP trên nhiều trung tâm dữ liệu, nhắm mục tiêu bất kỳ thiết bị nào trong nhóm để tối ưu hóa hiệu suất trang web.

Bạn có thể phân phối lưu lượng truy cập theo quy tắc của riêng mình, xác định “trọng lượng” của từng máy chủ phân tán trong mỗi trung tâm dữ liệu. Cấu hình này đặc biệt hữu ích khi có một bãi máy chủ phân tán và hiệu suất của các dịch vụ không đồng đều. Điều này sẽ cho phép lưu lượng truy cập được phân phối thường xuyên hơn để cải thiện hiệu suất máy chủ.

Để tạo một hệ thống giám sát bằng lệnh ping, có thể cấu hình các đầu dò. Điều này cho phép quản trị viên xác định quy trình giám sát của riêng họ và có được bức tranh rõ ràng hơn về trạng thái của từng thành phần trong cơ sở hạ tầng. Bằng cách này, tiêu chí tiếp cận có thể được xác định.

Có thể xây dựng cơ sở hạ tầng kết hợp: đôi khi thuận tiện là để lại văn phòng hỗ trợ trong mạng công ty và thuê ngoài phần giao diện cho nhà cung cấp.

Có thể thêm chứng chỉ SSL để cân bằng tải, mã hóa dữ liệu được truyền và bảo mật liên lạc giữa khách truy cập trang web và cơ sở hạ tầng của công ty. Trong trường hợp cân bằng tải giữa các trung tâm dữ liệu, SSL cũng có thể được sử dụng.

Dịch vụ Anycast với cân bằng tải địa chỉ có thể được lấy từ nhà cung cấp của bạn. Tính năng này sẽ giúp cải thiện cách người dùng tương tác với ứng dụng dựa trên vị trí. Chỉ cần thông báo những dịch vụ nào có sẵn trong trung tâm dữ liệu là đủ và lưu lượng truy cập sẽ được chuyển hướng đến cơ sở hạ tầng gần nhất. Nếu có máy chủ chuyên dụng, chẳng hạn như ở Pháp hoặc Bắc Mỹ, thì khách hàng sẽ được chuyển hướng đến máy chủ gần nhất trên mạng.

Một trong những phương án sử dụng Anycast là lựa chọn tối ưu điểm hiện diện (PoP) của nhà điều hành. Hãy cung cấp cho Ví dụ. LinkedIn (bị chặn ở Nga) không chỉ nỗ lực cải thiện hiệu suất và tốc độ của các sản phẩm của mình - ứng dụng web và di động mà còn cải thiện cơ sở hạ tầng mạng để phân phối nội dung nhanh hơn. Để phân phối nội dung động này, LinkedIn tích cực sử dụng PoP - điểm hiện diện. Anycast được sử dụng để hướng người dùng đến PoP gần nhất.

Lý do là trong trường hợp của Unycast, mỗi LinkedIn PoP có một địa chỉ IP duy nhất. Sau đó, người dùng được chỉ định vào PoP dựa trên vị trí địa lý của họ bằng DNS. Vấn đề là khi sử dụng DNS, khoảng 30% người dùng ở Hoa Kỳ đã được chuyển hướng đến PoP dưới mức tối ưu. Với việc triển khai Anycast theo từng giai đoạn, tỷ lệ phân bổ PoP dưới mức tối ưu đã giảm từ 31% xuống 10%.

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Kết quả của thử nghiệm thí điểm được hiển thị trong biểu đồ, trong đó trục Y là tỷ lệ phần trăm phân bổ PoP tối ưu. Khi Anycast phát triển mạnh mẽ, nhiều tiểu bang của Hoa Kỳ đã nhận thấy sự cải thiện về tỷ lệ lưu lượng truy cập hướng tới PoP tối ưu.

Giám sát mạng Anycast

Về mặt lý thuyết, mạng Anycast rất đơn giản: nhiều máy chủ vật lý được gán cùng một địa chỉ IP mà BGP sử dụng để xác định tuyến đường. Nhưng việc triển khai và thiết kế nền tảng Anycast rất phức tạp và mạng Anycast có khả năng chịu lỗi đặc biệt nổi tiếng về vấn đề này. Khó khăn hơn nữa là việc giám sát hiệu quả mạng Anycast để nhanh chóng xác định và cách ly các lỗi.

Nếu các dịch vụ sử dụng nhà cung cấp CDN bên thứ ba để phân phát nội dung của họ thì việc giám sát và xác minh hiệu suất mạng là rất quan trọng. Giám sát CDN dựa trên Anycast tập trung vào việc đo độ trễ từ đầu đến cuối và hiệu suất chặng áp chót để hiểu trung tâm dữ liệu nào đang phục vụ nội dung. Phân tích tiêu đề máy chủ HTTP là một cách khác để xác định dữ liệu đến từ đâu.

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Ví dụ: Tiêu đề phản hồi HTTP cho biết vị trí của máy chủ CDN.

Ví dụ: CloudFlare sử dụng tiêu đề CF-Ray của riêng mình trong các thông báo Phản hồi HTTP, bao gồm chỉ báo về trung tâm dữ liệu nơi yêu cầu được thực hiện. Trong trường hợp của Zendesk, tiêu đề CF-Ray cho khu vực Seattle là CF-RAY: 2a21675e65fd2a3d-SEA và đối với Amsterdam đó là CF-RAY: 2a216896b93a0c71-AMS. Bạn cũng có thể sử dụng tiêu đề HTTP-X từ phản hồi HTTP để xác định vị trí của nội dung.

Các phương pháp đánh địa chỉ khác

Có các phương pháp đánh địa chỉ khác để định tuyến các yêu cầu của người dùng đến điểm cuối mạng cụ thể:

đơn hướng

Hầu hết Internet ngày nay đều sử dụng phương pháp này. Unicast - truyền unicast, địa chỉ IP chỉ được liên kết với một nút cụ thể trên mạng. Điều này được gọi là kết hợp một-một. 

multicast

Multicast sử dụng mối quan hệ một-nhiều hoặc nhiều-nhiều. Multicast cho phép một yêu cầu từ người gửi được gửi đồng thời đến các điểm cuối được chọn khác nhau. Điều này mang lại cho khách hàng khả năng tải xuống một tệp theo từng đoạn từ nhiều máy chủ cùng một lúc (rất hữu ích để truyền phát âm thanh hoặc video). Multicast thường bị nhầm lẫn với Anycast, tuy nhiên, điểm khác biệt chính là Anycast hướng người gửi đến một nút cụ thể, ngay cả khi có sẵn nhiều nút.

Phát sóng

Một datagram từ một người gửi sẽ được chuyển tiếp đến tất cả các điểm cuối được liên kết với địa chỉ quảng bá. Mạng tự động sao chép các datagram để có thể tiếp cận tất cả người nhận trong chương trình phát sóng (thường trên cùng một mạng con).

Geocast

Geocast có phần giống với Multicast: các yêu cầu từ người gửi được gửi đồng thời đến nhiều điểm cuối. Tuy nhiên, điểm khác biệt là người nhận được xác định bởi vị trí địa lý của nó. Đây là một dạng multicast chuyên dụng được sử dụng bởi một số giao thức định tuyến cho mạng ad hoc di động.

Một bộ định tuyến địa lý sẽ tính toán vùng dịch vụ của nó và ước tính nó. Georouters, trao đổi vùng dịch vụ, xây dựng bảng định tuyến. Hệ thống georouter có cấu trúc phân cấp.

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Unicast, Multicast và phát sóng.

Sử dụng công nghệ Anycast làm tăng mức độ tin cậy, khả năng chịu lỗi và bảo mật của DNS. Sử dụng công nghệ này, các nhà khai thác cung cấp cho khách hàng các dịch vụ cân bằng tải khác nhau dựa trên DNS. Trong bảng điều khiển, bạn có thể chỉ định địa chỉ IP sẽ gửi yêu cầu tùy thuộc vào vị trí địa lý. Điều này sẽ mang đến cho khách hàng cơ hội phân phối yêu cầu của người dùng linh hoạt hơn.

Một số nhà khai thác triển khai khả năng giám sát tuyến đường tại mỗi điểm hiện diện (POP): hệ thống tự động phân tích các tuyến đường địa phương và toàn cầu ngắn nhất cho các điểm hiện diện và định tuyến chúng qua các vị trí địa lý có độ trễ thấp nhất với thời gian ngừng hoạt động bằng không.

Hiện tại, Anycast là giải pháp ổn định và đáng tin cậy nhất để xây dựng các dịch vụ DNS tải cao, có yêu cầu cao về tính ổn định và độ tin cậy.

Miền .ru hỗ trợ 35 máy chủ DNS Anycast, được nhóm thành 20 nút, phân bổ trên năm đám mây Anycast. Trong trường hợp này, nguyên tắc xây dựng dựa trên đặc điểm địa lý được sử dụng, tức là. Geocast. Khi đặt các nút DNS, người ta dự tính rằng chúng sẽ được di chuyển đến các vị trí phân tán về mặt địa lý gần với những người dùng tích cực nhất, nơi tập trung tối đa các nhà cung cấp Nga tại điểm đặt nút, cũng như tính sẵn có của dung lượng miễn phí và khả năng dễ dàng sử dụng. tương tác với trang web.

Làm cách nào để xây dựng CDN?

CDN là mạng lưới các máy chủ giúp tăng tốc độ cung cấp nội dung cho người dùng. Mạng phân phối nội dung hợp nhất tất cả các máy chủ vào một mạng và đảm bảo tải nội dung nhanh hơn. Khoảng cách từ máy chủ đến người dùng đóng vai trò quan trọng trong tốc độ tải.

CDN cho phép bạn sử dụng các máy chủ gần nhất với đối tượng mục tiêu. Điều này giúp giảm thời gian chờ đợi và giúp tăng tốc độ tải nội dung trang web cho tất cả khách truy cập, điều này đặc biệt quan trọng đối với các trang web có tệp lớn hoặc dịch vụ đa phương tiện. Các ứng dụng điển hình của CDN là thương mại điện tử và giải trí.

Mạng lưới các máy chủ bổ sung được tạo trong cơ sở hạ tầng CDN, được đặt càng gần người dùng càng tốt, góp phần cung cấp dữ liệu ổn định hơn và nhanh hơn. Theo thống kê, sử dụng CDN giúp giảm độ trễ khi truy cập một trang web tới hơn 70% so với các trang không có CDN.

làm sao tạo CDN bằng DNS? Thiết lập CDN bằng giải pháp riêng của Anycast có thể là một dự án khá tốn kém nhưng vẫn có những lựa chọn rẻ hơn. Ví dụ: bạn có thể sử dụng GeoDNS và các máy chủ thông thường có địa chỉ IP duy nhất. Sử dụng dịch vụ GeoDNS, bạn có thể tạo CDN với khả năng định vị địa lý, trong đó các quyết định được đưa ra dựa trên vị trí thực tế của khách truy cập, thay vì vị trí của trình phân giải DNS. Bạn có thể định cấu hình vùng DNS của mình để hiển thị địa chỉ IP máy chủ Hoa Kỳ cho khách truy cập Hoa Kỳ, nhưng khách truy cập Châu Âu sẽ thấy địa chỉ IP Châu Âu.

Với GeoDNS, bạn có thể trả về các phản hồi DNS khác nhau tùy thuộc vào địa chỉ IP của người dùng. Để thực hiện việc này, máy chủ DNS được cấu hình để trả về các địa chỉ IP khác nhau tùy thuộc vào địa chỉ IP nguồn trong yêu cầu. Thông thường, cơ sở dữ liệu GeoIP được sử dụng để xác định khu vực đưa ra yêu cầu. Định vị địa lý bằng DNS cho phép bạn gửi nội dung cho người dùng từ một trang web lân cận.

GeoDNS xác định địa chỉ IP của máy khách đã gửi yêu cầu DNS hoặc địa chỉ IP của máy chủ DNS đệ quy của nhà cung cấp, địa chỉ này được sử dụng khi xử lý yêu cầu của máy khách. Quốc gia/khu vực được xác định bởi cơ sở dữ liệu IP và GeoIP của khách hàng. Sau đó, máy khách sẽ lấy địa chỉ IP của máy chủ CDN gần nhất. Bạn có thể đọc thêm về cách thiết lập GeoDNS đây.

Anycast hay GeoDNS?

Mặc dù Anycast là một cách tuyệt vời để cung cấp nội dung trên quy mô toàn cầu nhưng nó lại thiếu tính cụ thể. Đây là lúc GeoDNS ra tay giải cứu. Dịch vụ này cho phép bạn tạo các quy tắc đưa người dùng đến các điểm cuối duy nhất dựa trên vị trí của họ.

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp
Ví dụ: Người dùng từ Châu Âu được chuyển hướng đến một điểm cuối khác.

Bạn cũng có thể từ chối quyền truy cập vào miền bằng cách loại bỏ tất cả các yêu cầu. Đặc biệt, đây là một cách nhanh chóng để ngăn chặn những kẻ xâm nhập.

GeoDNS cho câu trả lời chính xác hơn Anycast. Nếu trong trường hợp Anycast, tuyến đường ngắn nhất được xác định bằng số bước nhảy thì trong GeoDNS, việc định tuyến cho người dùng cuối sẽ diễn ra tùy thuộc vào vị trí thực tế của họ. Điều này làm giảm độ trễ và cải thiện độ chính xác khi tạo quy tắc định tuyến chi tiết.

Khi điều hướng đến một miền, trình duyệt sẽ liên hệ với máy chủ DNS gần nhất, tùy thuộc vào miền, máy chủ này sẽ cấp địa chỉ IP để tải trang web. Giả sử rằng một cửa hàng trực tuyến phổ biến ở Hoa Kỳ và Châu Âu, nhưng máy chủ DNS của cửa hàng đó chỉ có ở Châu Âu. Khi đó, người dùng Hoa Kỳ muốn sử dụng dịch vụ của cửa hàng sẽ buộc phải gửi yêu cầu đến máy chủ gần nhất và vì nó ở rất xa nên họ sẽ phải đợi rất lâu để nhận được phản hồi - trang web sẽ không tải nhanh.

Khi máy chủ GeoDNS được đặt tại Hoa Kỳ, người dùng sẽ truy cập được vào nó. Phản hồi sẽ nhanh chóng, điều này sẽ ảnh hưởng đến tốc độ tải của trang web.

Trong tình huống với máy chủ DNS hiện có ở Hoa Kỳ, khi người dùng từ Hoa Kỳ điều hướng đến một tên miền nhất định, anh ta sẽ liên hệ với máy chủ gần nhất sẽ cung cấp IP được yêu cầu. Người dùng sẽ được dẫn đến máy chủ chứa nội dung của trang web, nhưng vì các máy chủ có nội dung ở xa nên sẽ không nhận được nhanh chóng.

Nếu bạn lưu trữ máy chủ CDN ở Hoa Kỳ với dữ liệu được lưu trong bộ nhớ cache thì khi tải trình duyệt máy khách sẽ gửi yêu cầu đến máy chủ DNS gần nhất, máy chủ này sẽ gửi lại địa chỉ IP được yêu cầu. Trình duyệt có IP nhận được sẽ liên hệ với máy chủ CDN gần nhất và máy chủ chính, đồng thời máy chủ CDN cung cấp nội dung được lưu trong bộ nhớ cache cho trình duyệt. Trong khi nội dung được lưu trong bộ nhớ đệm đang được tải, các tệp bị thiếu để tải toàn bộ trang web sẽ được nhận từ máy chủ chính. Kết quả là thời gian tải trang web giảm đi vì có ít tệp được gửi từ máy chủ chính hơn.

Xác định vị trí chính xác của một địa chỉ IP cụ thể không phải lúc nào cũng là một nhiệm vụ dễ dàng: có nhiều yếu tố ảnh hưởng và chủ sở hữu của một loạt địa chỉ IP có thể quyết định quảng cáo địa chỉ đó ở bên kia thế giới (khi đó bạn sẽ phải đợi cơ sở dữ liệu cập nhật để có được vị trí chính xác). Đôi khi các nhà cung cấp VPS chỉ định địa chỉ được cho là ở Hoa Kỳ cho VPS ở Singapore.

Không giống như sử dụng địa chỉ Anycast, việc phân phối được thực hiện trong quá trình phân giải tên thay vì khi kết nối với máy chủ bộ nhớ đệm. Nếu máy chủ đệ quy không hỗ trợ mạng con máy khách EDNS thì vị trí của máy chủ đệ quy đó sẽ được sử dụng thay vì người dùng sẽ kết nối với máy chủ bộ nhớ đệm.

Mạng con máy khách trong DNS là phần mở rộng của DNS (RFC7871) xác định cách máy chủ DNS đệ quy có thể gửi thông tin máy khách đến máy chủ DNS, đặc biệt là thông tin mạng mà máy chủ GeoDNS có thể sử dụng để xác định chính xác hơn vị trí của máy khách.

Hầu hết đều sử dụng máy chủ DNS của ISP hoặc máy chủ DNS gần họ về mặt địa lý, nhưng nếu ai đó ở Hoa Kỳ vì lý do nào đó quyết định sử dụng trình phân giải DNS ở Úc, họ có thể sẽ có địa chỉ máy chủ IP gần Úc nhất.

Nếu bạn muốn sử dụng GeoDNS, điều quan trọng là phải biết các tính năng này, vì trong một số trường hợp, nó có thể làm tăng khoảng cách giữa máy chủ bộ nhớ đệm và máy khách.

Tóm tắt: nếu bạn muốn kết hợp nhiều VPS thành CDN thì tùy chọn triển khai tốt nhất là sử dụng gói máy chủ DNS có sẵn chức năng GeoDNS + Anycast.

Anycast vs Unicast: nên chọn cái nào tốt hơn trong từng trường hợp

Nguồn: www.habr.com

Thêm một lời nhận xét