Có thể một tên miền có nhiều địa chỉ IP tương ứng?


87

Ví dụ: khi chúng tôi kết nối với www.example.com, lúc đầu chúng tôi cố gắng kết nối với 192.0.2.1. Và nếu lần thử đầu tiên không thành công, thì chúng tôi sẽ thử 192.0.2.222.

Nó có khả thi không? Chúng ta có thể đăng ký nhiều địa chỉ IP dự phòng cho một tên miền không?


Nó sẽ không chính xác hoạt động theo cách này (với Round-Robin). Nếu bạn truy vấn máy chủ nhiều lần, nó sẽ trả lại cho bạn các IP khác nhau mỗi khi bạn thực hiện truy vấn và không chỉ khi máy chủ bị lỗi.
karatedog

@karatedog, tôi đã giả định rằng kết nối ổ cắm sẽ cố gắng để kết nối với IP tiếp theo nếu nó không thể kết nối với một đầu tiên
Akash Kava

4
@AkashKava: Một kết nối có nhiều bước nội bộ. Đơn giản hóa: một ứng dụng truy vấn DNS và nhận địa chỉ IP. Sau đó, nó kết nối với địa chỉ IP đó. Nếu kết nối đó không thành công, ứng dụng sẽ không quay lại bước đầu tiên và truy vấn lại DNS, chỉ khi được mã hóa rõ ràng để thực hiện việc này. Và việc truy vấn máy chủ DNS nhiều lần không nhất thiết cung cấp cho bạn địa chỉ IP khác nhau. Vì vậy, trong ngắn hạn, DNS cổ phiếu không thể được sử dụng cho mục đích cân bằng tải.
karatedog

chúng ta có thể sử dụng kỹ thuật này để mở rộng nhiều bộ cân bằng tải không?
Vikas Verma

Câu trả lời:


63

Đây là DNS tổng hợp. Đây là một giải pháp khá đơn giản để cân bằng tải. Thông thường các máy chủ DNS xoay / xáo trộn các bản ghi DNS cho mỗi yêu cầu DNS đến. Thật không may, nó không phải là một giải pháp thực sự cho việc thất bại. Nếu một trong các máy chủ bị lỗi, một số khách truy cập sẽ vẫn được chuyển hướng đến máy chủ bị lỗi này.


3
Nó phụ thuộc vào mong đợi của bạn về thời gian phục hồi. Nếu dịch vụ được cung cấp có thể ngừng hoạt động trong vài giây hoặc vài phút, bạn có thể cập nhật DNS cho phù hợp (ví dụ: gỡ bỏ IP của hệ thống bị lỗi). Nếu điều này không được chấp nhận, DNS không thể giúp bạn và bạn phải sử dụng bộ cân bằng tải và cấu trúc mạng có tính khả dụng cao.
Jens Bradler

Bạn có biết cách khách hàng chọn ip của nó từ danh sách không? Là lựa chọn ngẫu nhiên hay khách hàng nên chọn người đầu tiên trong danh sách? Bởi vì trong trường hợp đầu tiên round / robin không hữu ích lắm.
Tobia 13/1218

Công việc của máy chủ DNS là xáo trộn hoặc xoay các bản ghi. Hầu hết khách hàng sẽ chỉ sử dụng bản ghi đầu tiên. Ví dụ: Bind9 có thể được định cấu hình để áp dụng các quy tắc khác nhau cho loại tập hợp bản ghi này: bind.isc.org/doc/arm/9.13/Bv9ARM.ch05.html#rrset_ordering
Jens Bradler

chúng ta có thể sử dụng kỹ thuật này để mở rộng nhiều bộ cân bằng tải không?
Vikas Verma

46

Bạn có thể làm được. Đó là điều mà các ông lớn cũng làm.

Truy vấn đầu tiên:

» host google.com 
google.com has address 74.125.232.230
google.com has address 74.125.232.231
google.com has address 74.125.232.232
google.com has address 74.125.232.233
google.com has address 74.125.232.238
google.com has address 74.125.232.224
google.com has address 74.125.232.225
google.com has address 74.125.232.226
google.com has address 74.125.232.227
google.com has address 74.125.232.228
google.com has address 74.125.232.229

Truy vấn tiếp theo:

» host google.com
google.com has address 74.125.232.224
google.com has address 74.125.232.225
google.com has address 74.125.232.226
google.com has address 74.125.232.227
google.com has address 74.125.232.228
google.com has address 74.125.232.229
google.com has address 74.125.232.230
google.com has address 74.125.232.231
google.com has address 74.125.232.232
google.com has address 74.125.232.233
google.com has address 74.125.232.238

Như bạn thấy, danh sách các IP đã xoay vòng, nhưng thứ tự tương đối giữa hai IP vẫn giữ nguyên.

Cập nhật: Tôi thấy một số bình luận khoe khoang về cách DNS round-robin không thuận tiện cho việc fail-over, vì vậy đây là tóm tắt: DNS không dành cho việc chuyển lỗi. Vì vậy, nó rõ ràng là không tốt cho fail-over. Nó không bao giờ được thiết kế để trở thành một giải pháp cho sự thất bại.


1
Chúng ta phải kích hoạt thứ gì đó để Round Robin này hoạt động hay nó được thực hiện tự động bởi mọi Máy chủ DNS? Tôi có một linux và một MS DNS.
Akash Kava

3
Tại sao google sẽ làm điều này nếu nó không bao gồm chuyển đổi dự phòng?
Joseph Persie

12
@JosephPersie: vì DNS không được sử dụng nên không thành công. Bằng cách cấp nhiều IP cho cùng một tên miền, các yêu cầu đến chỉ đơn giản là được phân chia giữa các máy chủ lắng nghe các địa chỉ IP đó. Hãy coi nó như một cân bằng tải cấp độ đầu tiên, không cần kiểm tra sức khỏe phụ trợ. Bạn không cần điều này, nếu bạn không có hàng ngàn máy chủ :-)
karatedog

Điều gì sẽ xảy ra khi bộ cân bằng tải không hoạt động và yêu cầu được chuyển tiếp đến cùng một bộ cân bằng?
Jitendra Vispute

1
@JitendraVispute: DNS không biết về dịch vụ đằng sau địa chỉ IP mà nó trả về. Nói tóm lại, nếu có một máy chủ bị hỏng hoặc một dịch vụ bị hỏng đằng sau một địa chỉ IP vừa được máy chủ DNS trả về, thì yêu cầu đến IP đó sẽ không thành công.
karatedog

2

Có, điều này là có thể, tuy nhiên không thuận tiện như Jens đã nói. Sử dụng các bộ cân bằng tải thế hệ tiếp theo như Alteon, sử dụng giao thức độc quyền được gọi là DSSP (Giao thức trạng thái trang web phân tán) thực hiện kiểm tra trang web thường xuyên để đảm bảo rằng dịch vụ có sẵn ở cả Địa phương hoặc Toàn cầu, tức là các khu vực địa lý khác nhau. Tuy nhiên, bạn cần phải ủy quyền URL hoặc Dịch vụ trong DNS chính cho thiết bị bằng cách định cấu hình nó làm Máy chủ định danh ủy quyền cho IP hoặc Dịch vụ đó. Bằng cách này, thiết bị sẽ trả lời các truy vấn DNS, nơi nó sẽ giải quyết IP có dịch vụ của Round-Robin hoặc không bị tắc nghẽn theo cách bạn đã chọn từ một số chỉ số.


1
Điều này nghe có vẻ giống như quảng cáo hơn bất cứ điều gì và các bộ cân bằng tải không phải là những người hoạt động xuất sắc trong thế giới DNS (về mặt đặc điểm kỹ thuật). Và nói chính xác: "trong Master DNS của bạn để ủy quyền URL hoặc Dịch vụ" không có khái niệm URL hoặc dịch vụ trong máy chủ định danh / DNS, khi bạn ủy quyền, bạn ủy quyền một vùng (miền) cho máy chủ tên khác. "với tư cách là Máy chủ định danh được ủy quyền cho IP hoặc Dịch vụ đó." do đó, máy chủ định danh có thẩm quyền cho các vùng / miền không phải cho địa chỉ IP hoặc dịch vụ.
Patrick Mevzek

Từ điểm làm việc của nó, chúng hoạt động, nó đã là tiêu chuẩn thực tế cho tất cả CDN sử dụng bộ cân bằng tải để xử lý việc này một cách hiệu quả vì chúng có thể kết hợp các tính năng nâng cao như GEO-LOCATION để cung cấp địa chỉ IP thậm chí gần hoặc cho máy chủ có độ phản hồi cao trong số các chỉ số khác.
Ezra A.Mosomi

1
Và họ đưa ra nhiều vấn đề cùng một lúc. Không có viên đạn bạc, mọi thứ đều có tính năng và nhược điểm. Bất kỳ máy chủ định danh nào cũng có thể xác định vị trí địa lý và trả lời với IP khác nhau dựa trên máy khách, không cần bộ cân bằng tải cho việc đó. Thậm chí còn có một tiêu chuẩn giúp: EDNS Client Subnet.
Patrick Mevzek
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.