Làm thế nào 8.8.8.8 được giữ * luôn * sống?


9

Tôi biết làm thế nào bạn có thể quản lý dự phòng trung tâm dữ liệu nếu máy chủ DNS đang hoạt động có thể trỏ đến bất kỳ trang web hoạt động nào của công ty bạn - có VRRP, đa mạng, v.v. Nhưng làm thế nào để máy chủ DNS được giữ trực tuyến? Đó là lần đầu tiên khi ai đó kết nối với dịch vụ và nó thực sự không được cung cấp. Ý tôi là ví dụ 8.8.8.8hay 8.8.4.4. Tôi không thể nhớ họ đã xuống. Không bao giờ. Làm thế nào để các ISP quản lý để giữ các IP như vậy luôn trực tuyến?

Tôi biết đó có thể là câu hỏi thực sự rộng nhưng tôi chỉ muốn nghe tên của các giao thức / kỹ thuật có thể được sử dụng cho điều đó. Tôi có thể tự đọc chi tiết về chúng.


3
Đọc trên Anycast. Ngắn gọn: có nhiều máy chủ có cùng địa chỉ IP. Đó là cách CloudFlare, Google, YouTube và các mạng lớn khác hoạt động.
GiantTree

google.com và cloudflare có nhiều IP. Các IP khác nhau được trả về trong truy vấn DNS tùy thuộc vào vị trí, v.v. Nhưng 8.8.8.8 thực sự là IP đơn. Và nó không thể sử dụng "nhiều bản ghi A" hoặc phần mềm dựa trên DNS khác vì bản thân nó là DNS. Bạn có thể có nhiều trang web / máy chủ dưới một IP không? Họ sử dụng một cái gì đó như nhiều ISP BGP?
Lapsio

2
Đó là Anycast, như GiantTree đã viết. Anycast không liên quan đến DNS.
Daniel B

IPv4 không hỗ trợ anycast nguyên bản. Theo wikipedia dường như được nhận ra bằng cách sử dụng BGP nếu tôi hiểu đúng. vi.wikipedia.org/wiki/Anycast
Lapsio

Đối với các dịch vụ datagram, không cần hỗ trợ đặc biệt cho anycast - điều này chỉ xảy ra do mỗi bộ định tuyến thực hiện các tính toán tuyến đường ngắn nhất của riêng mình. BGP cũng không "hỗ trợ" anycast nguyên bản (nó xem đó là các tuyến unicast), và đây là cách phổ biến để thực hiện trên Internet.
dùng1686

Câu trả lời:


10

Trước hết, VRRP không phụ thuộc vào DNS dưới bất kỳ hình thức nào. Để dự phòng trong một trang web, bạn có thể chạy các máy chủ DNS trên địa chỉ VRRP được chia sẻ.

Nhưng như những người khác đã đề cập trong các bình luận, các dịch vụ cũng sử dụng định tuyến anycast , điều đó có nghĩa là cùng một địa chỉ IP tồn tại ở nhiều nơi trên thế giới. Khi toàn bộ trang web ngừng hoạt động, các tuyến đường trên toàn thế giới được tính toán lại để các gói của bạn kết thúc đến một trang web làm việc khác.

Một ví dụ tốt hơn so với DNS công cộng của Google sẽ là gốc máy chủ DNS - những người mà phục vụ .con trỏ khu vực và giữ để com, org, eu, và vân vân - bởi vì họ có một bản đồ của tất cả các thể hiện của 13 địa chỉ logic. "L" của ICANN được phục vụ bởi 160 trang web khác nhau!

Lưu ý rằng anycast không liên quan gì đến các vòng tròn dựa trên DNS (trong đó cùng tên có nhiều địa chỉ). Anycast được thực hiện chủ yếu bằng cách nói dối với giao thức định tuyến.


Internet sử dụng BGP để trao đổi thông tin định tuyến giữa các tổ chức.

BGP vốn đã hỗ trợ lựa chọn một trong những tuyến tốt nhất trong cùng một mạng, dựa trên các tiêu chí khác nhau. Ví dụ: cùng một khách hàng có thể có các liên kết dự phòng đến cùng một ISP (thông báo hai tuyến chỉ khác nhau về trọng lượng / sở thích). Hoặc khách hàng có thể có liên kết thông qua một số ISP và mọi người sẽ chọn tuyến ưa thích của họ (chủ yếu là đường AS ngắn nhất) - đó là ý chính của đa mạng "thực".

Multihoming

                  ┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter--+            │
             ¦    │             ¦--DNSserver │
client 2 ---ISP---│--BGProuter--+            │
                  └──────────────────────────┘

Tuy nhiên, BGP chỉ dẫn lưu lượng truy cập đến cửa ra vào của bạn nhưng không quan tâm những gì xảy ra ngoài đó. Vì vậy, nếu bạn thiết lập nội bộ cả hai tuyến tới cùng một máy chủ, bạn sẽ nhận được nhiều lượt truy cập. Nhưng nếu mỗi "lối vào" dẫn đến một máy chủ khác nhau (được định cấu hình cho cùng một IP), bạn sẽ nhận được bất kỳ thông tin nào.

Anycast... kind of?

                  ┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
             ¦    │                          │
client 2 ---ISP---│--BGProuter-----DNSserver │
                  └──────────────────────────┘

Điều quan trọng, điều này cũng có nghĩa là BGP không quan tâm nếu AS không tiếp giáp nhau. Để có được sự dư thừa trên toàn thế giới, chỉ cần thông báo cùng một mạng từ nhiều vị trí thực tế - nếu bạn kết nối các vị trí đó với nhau (để chúng định tuyến mạng đó đến một nơi), bạn sẽ nhận được nhiều lần; nếu chúng là đảo, bạn sẽ nhận được bất cứ điều gì.

Anycast

                  ┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
             ¦    └──────────────────────────┘
             ¦
             ¦    ┌────────[AS 65535]────────┐
client 2 ---ISP---│--BGProuter-----DNSserver │
                  └──────────────────────────┘

(Đối với vấn đề đó, nó thậm chí không cần phải giống AS - ví dụ: rơle 6to4 được điều hành bởi nhiều tổ chức độc lập, mỗi tổ chức đều thông báo lộ trình của riêng mình 192.88.99.0/24.)

Hãy cẩn thận:

  • Anycast cung cấp dự phòng, nhưng không cân bằng tải. Khi BGP hội tụ, mỗi bộ định tuyến sẽ chọn một tuyến ưa thích duy nhất (hoặc đôi khi là một vài) và sẽ tiếp tục sử dụng nó cho đến khi mạng thay đổi.

  • Tuy nhiên, bạn không thể dự đoán thời gian các tuyến sẽ duy trì ổn định, do đó, bất kỳ dịch vụ trạng thái nào có thể gây khó khăn. DNS bị loại bỏ do không trạng thái và sử dụng chủ yếu UDP (EDNS giảm nhu cầu kết nối TCP).

  • Phải có sự phối hợp giữa dịch vụ thực tế và bộ định tuyến BGP, để tuyến đường được rút nếu dịch vụ gặp sự cố.

Xem thêm "Lịch sử 4.2.2.2. Câu chuyện là gì?" trên danh sách gửi thư của NANOG: bài 1 , bài 2 .


"Làm thế nào để câu trả lời của bạn được chấp nhận trong vòng chưa đầy 60 giây với một mẹo kỳ lạ này"
user1686

"Đảo" mà bạn đề cập đến trong đoạn trước-cuối là gì? Chỉ là các trang web không được kết nối?
Lapsio

Có - các phần trong mạng của bạn không được kết nối với nhau hoặc phần còn lại. (Mặc dù đó chỉ là một ví dụ. Bạn cũng có thể thực hiện bất kỳ nội bộ nào trong một mạng được kết nối lớn - một lần nữa bằng cách đánh lừa các giao thức định tuyến.)
user1686

0

Một cách để đạt được điều đó là sử dụng bộ cân bằng phía máy chủ . Khi bạn kết nối với cổng tại IP 8.8.8.8, nó sẽ phân phối yêu cầu đến một máy chủ miễn phí trong hệ thống. Kết quả là khi một máy chủ chết, nó không làm sập toàn bộ hệ thống.

Đối với các dịch vụ Internet, bộ cân bằng tải phía máy chủ thường là một chương trình phần mềm đang lắng nghe trên cổng nơi các máy khách bên ngoài kết nối với các dịch vụ truy cập. Bộ cân bằng tải chuyển tiếp yêu cầu đến một trong các máy chủ "phụ trợ", thường trả lời cho bộ cân bằng tải. Điều này cho phép bộ cân bằng tải trả lời máy khách mà không cần máy khách biết về sự phân tách chức năng bên trong. Nó cũng ngăn khách hàng liên hệ trực tiếp với các máy chủ back-end, điều này có thể có lợi ích bảo mật bằng cách ẩn cấu trúc của mạng bên trong và ngăn chặn các cuộc tấn công vào ngăn xếp mạng của kernel hoặc các dịch vụ không liên quan chạy trên các cổng khác.

Một số bộ cân bằng tải cung cấp một cơ chế để làm một cái gì đó đặc biệt trong trường hợp tất cả các máy chủ phụ trợ không có sẵn. Điều này có thể bao gồm chuyển tiếp đến bộ cân bằng tải dự phòng hoặc hiển thị thông báo liên quan đến việc ngừng hoạt động.

Điều quan trọng nữa là bản thân bộ cân bằng tải không trở thành một điểm thất bại duy nhất. Thông thường các bộ cân bằng tải được triển khai theo các cặp có tính sẵn sàng cao, cũng có thể sao chép dữ liệu lưu giữ lâu của phiên nếu được yêu cầu bởi ứng dụng cụ thể. [5]


Vâng, nhưng bộ cân bằng tải không phải là điểm thất bại duy nhất nếu chúng sử dụng một số kỹ thuật có tính sẵn sàng cao khác như ví dụ VRRP, giao thức định tuyến, v.v. Nhưng sau đó, VRRP hoặc IGP lại là các giải pháp LAN. Vì vậy, ý tôi là hãy nói rằng ISP kết nối mạng WAN với trung tâm dữ liệu không thành công. Công ty tất nhiên có nhiều mạng WAN, miễn là cổng trang web có thể chuyển sang liên kết WAN khác thì không sao nhưng việc sử dụng cùng một IP vẫn là vấn đề. Trong trường hợp khi DNS khả dụng thì không sao - nhiều A hoặc AAAA recods và thực hiện. Nhưng khi đó chính là máy chủ DNS thì chỉ có giải pháp là anycast / BGP giữa nhiều ISP.
Lapsio

Tôi đã khá đề cập đến các giải pháp khả dụng cao của mạng WAN sau cổng. Khi toàn bộ trang web của công ty không thể truy cập được từ thế giới do thảm họa ISP. 8.8.8.8 không thể cho rằng ISP sẽ hoạt động. Bạn không thể tin tưởng vào một công ty duy nhất khi cả thế giới thực sự dựa vào dịch vụ của bạn
Lapsio
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.