Cân bằng tải với LAN và Wi-Fi


8

Tôi có máy Mac chạy Mac OS X 10.6 hoặc Ubuntu 9.10 hoặc Windows XP (Multiboot). Giải pháp có thể cho bất kỳ hệ thống nào, bất cứ điều gì hoạt động tốt hơn.

Tôi có hai ISP , một có thể được truy cập qua Wi-Fi , một có thể được truy cập qua mạng LAN . Trong Mac OS XI có thể xác định mức độ ưu tiên, nên chọn mạng nào trước. Nhưng điều tôi muốn làm là cân bằng tải với cả hai mạng.

Tôi không muốn mua thêm phần cứng. Tôi có một số bộ định tuyến Wi-Fi không sử dụng nếu điều này sẽ giúp.

Biên dịch và cấu hình các chương trình trong Linux không phải là vấn đề đối với tôi.

Câu hỏi tương tự: Cân bằng tải với nhiều cổng


2
Bạn sẽ muốn kiểm tra xem bất kỳ giải pháp nào được đề xuất sẽ có các quy tắc để duy trì kết nối qua giao diện của nó. Nếu kết nối của bạn bị trả lại giữa các ISP, máy chủ ở đầu bên kia có thể bị nhầm lẫn. Tôi biết, ví dụ, Yahoo IM sẽ bỏ kết nối nếu bạn kết nối từ một địa chỉ IP khác.
Doug Harris

có vẻ như bạn cần một số loại bộ lặp Multi-WAN không dây để thu tín hiệu từ 2 bộ định tuyến WIFI khác nhau và đưa nó vào máy tính của bạn thông qua kết nối mạng LAN.
djangofan

LISP (Giao thức phân tách định vị / định danh) có thể là một giải pháp, nhưng điều này quá phức tạp đối với tôi. ;-)
Synox

Bạn muốn tải cân bằng gì?
David Schwartz

tải xuống tệp lớn, Video-Streams, youtube, v.v.
Synox

Câu trả lời:


1

Một chủ đề gần gũi, đối với linux, sẽ là cài đặt 'số liệu' cho các tuyến đường. Số thấp hơn được ưa thích hơn số cao hơn. Nếu bạn cho cả hai tuyến đường cùng một số liệu, thì tôi nghĩ họ sẽ được chọn với xác suất như nhau.

Tôi nghĩ rằng kỹ thuật bạn đang cố gắng đạt được được gọi là multihoming . Tôi không có bất kỳ kinh nghiệm trực tiếp với nó. Tuy nhiên, một vài điều có lẽ bạn cần ghi nhớ.

  • Theo mặc định, tôi nghĩ bạn sẽ chỉ có một tuyến mặc định. Điều này có nghĩa là tất cả lưu lượng truy cập đi sẽ thích một giao diện theo mặc định. Bạn cần xem xét việc có nhiều tuyến đường mặc định hoặc thay đổi tuyến đường đó theo thời gian.
  • Đối với tuổi thọ của một kết nối đến (TCP) riêng lẻ, nó sẽ nằm trên cùng một giao diện mà nó xuất hiện. Tôi nghĩ.

Dù sao đi nữa, đó là tất cả những gợi ý tôi có thể nghĩ ra vào lúc này.


metriccũng là một tham số cho các giao diện mạng trong Windows và OS X; bất kỳ HĐH nào hỗ trợ nhiều giao diện mạng sẽ yêu cầu phương tiện thiết lập quyền ưu tiên.
apraetor

1

Bạn có thể sử dụng hệ thống số liệu định tuyến nơi bạn cài đặt cả kết nối internet trong bảng định tuyến với số liệu bằng nhau. Sau đó, hệ điều hành nên sử dụng cả hai tuyến này như nhau, phân chia lưu lượng ra bên ngoài của bạn một cách hiệu quả trên cả hai liên kết.

Lưu lượng truy cập đến để trả lời các yêu cầu của bạn cũng nên được cân bằng vì nó sẽ trở lại giao diện (IP công cộng) mà yêu cầu được đưa ra.

Vấn đề với điều này sẽ là sự tồn tại của phiên, ví dụ: bạn xem một trang web thông qua một trong các liên kết của mình, nhưng chế độ xem trang tiếp theo được cân bằng với giao diện khác của bạn, điều này sẽ gây nhầm lẫn cho một số ứng dụng vì địa chỉ IP nguồn của bạn sẽ liên tục thay đổi.

Do đó, tôi có thể chỉ phân chia một số lưu lượng truy cập của bạn sang giao diện khác bằng cách sử dụng các tuyến không có chi phí bằng nhau, có thể theo ứng dụng, đích hoặc giao thức. Chỉ cần một cái gì đó sẽ giữ cho đường dẫn giao thông của bạn nhất quán.


1

Connectify Dispatch có một giải pháp sẽ làm đúng những gì bạn cần. Hiện tại chỉ dành cho Windows, nhưng mọi người đã ảo hóa thành công và sử dụng phần mềm của họ trên OS X.

Vì bạn đã chạy (đang chạy) Windows XP, tôi cho rằng bạn có thể tự mình tìm ra phần đó.


Vấn đề lớn nhất với điều này là Windows dễ dàng cung cấp hỗ trợ cho nhiều NIC, trong khi trên OS X, nó gần như không dễ thực hiện.


0

Có một cách giải quyết: Ứng dụng của tôi có thể cân bằng tải, tôi có thể xác định 2 kết nối được sử dụng cả hai.

Sau đó tôi định tuyến một trong các IP máy chủ đến một trong các IPS.

trên mac os 10.6:

định tuyến thêm -host XXX.XXX.XXX.XXX 192.168.1.1

Tôi biết, điều này rất cụ thể và chỉ hoạt động nếu máy chủ-ips luôn giống nhau. Và nếu ứng dụng có thể cân bằng tải theo bất kỳ cách nào.


0

Tôi không nghĩ rằng điều này sẽ có thể thực hiện được nếu không làm điều gì đó giống như tất cả lưu lượng truy cập đi ra là một ISP và lưu lượng truy cập đến là một ISP khác.

Lý do là chia cả hai lưu lượng trên 2 mạng riêng biệt có vẻ như họ sẽ không quay lại. Nếu bạn có 2 đường ống từ 1 ISP, điều đó có thể thực hiện được.

Giống như người đã nói trước đó, tôi nghĩ rằng bạn sẽ cần một đường dẫn mặc định và có thể hạn chế lưu lượng truy cập nhất định qua một tuyến đường và phần còn lại qua tuyến đường khác. Đừng nghĩ rằng cân bằng tải như bạn làm trên mạng LAN sẽ hoạt động ở đây.

Ví dụ: chạy các bản cập nhật bằng 192.168.2. * Wi-Fi ISP chạy nửa đời bằng 192.168.1. * LAN ISP.


0

Các url được đề cập dưới đây đặc biệt có nghĩa là cho win 7 nhưng bạn sẽ có một ý tưởng từ nó. Nó thay đổi số liệu của cổng mặc định tùy thuộc vào tải trên giao diện, do đó dẫn đến chia sẻ tải.

http://www.youtube.com/watch?v=Qh5Eb8sXvuk


0

Tôi đã nghe câu hỏi tương tự hàng chục lần một chục cách khác nhau. Đầu tiên, phiên nội bộ và phiên bên ngoài được xử lý tương tự, nhưng không giống nhau. Đối với mỗi phiên nội bộ, có thể có nhiều bên ngoài và ngược lại. Những gì bạn đang nói về không phải là không thể, nhưng đòi hỏi một chút về lập trình và chuẩn bị. Một số thiết bị đang được xây dựng với khả năng tổng hợp các kết nối ethernet hoặc wifi để có tốc độ mạng nhanh hơn trong mạng, nhưng đối với mạng bên ngoài, tôi chỉ tìm thấy các thiết bị có FAILOVER, có nghĩa là chúng chỉ chuyển đổi khi chúng phải. Tuy nhiên, bạn có thể sử dụng chuyển đổi cơ bản (nếu các câu lệnh có 0 hoặc 1) trong giao thức kết nối chuyển hướng lưu lượng truy cập qua một cổng khác nhau cho mỗi phiên EXTERNAL. Sau đó, bạn sẽ phải theo dõi từng PHẦN BÊN NGOÀI được gửi đến từng PHẦN NỘI BỘ, bằng cách gói một phiên phụ bên trong một phiên chính với một phiên làm việc. Sau đó, bạn sẽ phải có cách kiểm tra tên miền trang web hoặc sử dụng sessionID để hoàn thành định tuyến nội bộ (nói cách khác, bạn cần có khả năng phân biệt các thông báo từ máy khách cho mỗi phiên bên ngoài \ kết nối dựa trên đó trang web họ đã yêu cầu dữ liệu từ hoặc gửi dữ liệu đến để đường ống cho mỗi trang web sẽ được đặt, giữ cho trang web không từ chối đường ống). Điều này có nghĩa là bạn phải xây dựng một giao thức mạng mới vào bộ định tuyến của mình và quyết định cách phân biệt các kết nối (nếu chỉ được thực hiện bởi tên miền trang web, có thể thực hiện được từ bộ định tuyến, nhưng khách hàng có thể thử sử dụng ipaddress của cổng bên ngoài cho trang web, trong đó phủ nhận điều này; nếu được thực hiện ở cả hai đầu, máy khách cần theo dõi một số định danh, điển hình là giá trị số của mặt nạ nhị phân, cho phép gửi nhận được khớp với phiên bên ngoài được định tuyến trên cổng chính). Nói cách khác, bạn phải lập trình giao thức của riêng mình để xử lý kết nối mạng và bạn phải quyết định xem bạn có muốn tự xây dựng nó không (sử dụng cả chương trình máy khách và máy chủ) hoặc nếu bạn muốn xây dựng một cái gì đó tương thích với lập trình cũ hơn (cần phải được ràng buộc bởi tin nhắn giữa máy chủ và máy khách, khiến máy chủ bị hao mòn nhiều hơn nhưng không có gì mới đối với máy khách). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. khách hàng cần theo dõi một số định danh, điển hình là giá trị số của mặt nạ nhị phân, cho phép nhận được gửi trùng khớp với phiên bên ngoài được định tuyến trên cổng chính). Nói cách khác, bạn phải lập trình giao thức của riêng mình để xử lý mạng và bạn phải quyết định xem bạn có muốn tự xây dựng nó không (sử dụng cả chương trình máy khách và máy chủ) hoặc nếu bạn muốn xây dựng một cái gì đó tương thích với lập trình cũ hơn (cần phải được ràng buộc bởi tin nhắn giữa máy chủ và máy khách, khiến máy chủ bị hao mòn nhiều hơn nhưng không có gì mới đối với máy khách). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. khách hàng cần theo dõi một số định danh, điển hình là giá trị số của mặt nạ nhị phân, cho phép nhận được gửi trùng khớp với phiên bên ngoài được định tuyến trên cổng chính). Nói cách khác, bạn phải lập trình giao thức của riêng mình để xử lý mạng và bạn phải quyết định xem bạn có muốn tự xây dựng nó không (sử dụng cả chương trình máy khách và máy chủ) hoặc nếu bạn muốn xây dựng một cái gì đó tương thích với lập trình cũ hơn (cần phải được ràng buộc bởi tin nhắn giữa máy chủ và máy khách, khiến máy chủ bị hao mòn nhiều hơn nhưng không có gì mới đối với máy khách). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. thường là một giá trị số của mặt nạ nhị phân, cho phép gửi nhận được khớp với phiên bên ngoài được định tuyến trên cổng chính). Nói cách khác, bạn phải lập trình giao thức của riêng mình để xử lý mạng và bạn phải quyết định xem bạn có muốn tự xây dựng nó không (sử dụng cả chương trình máy khách và máy chủ) hoặc nếu bạn muốn xây dựng một cái gì đó tương thích với lập trình cũ hơn (cần phải được ràng buộc bởi tin nhắn giữa máy chủ và máy khách, khiến máy chủ bị hao mòn nhiều hơn nhưng không có gì mới đối với máy khách). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. thường là một giá trị số của mặt nạ nhị phân, cho phép gửi nhận được khớp với phiên bên ngoài được định tuyến trên cổng chính). Nói cách khác, bạn phải lập trình giao thức của riêng mình để xử lý mạng và bạn phải quyết định xem bạn có muốn tự xây dựng nó không (sử dụng cả chương trình máy khách và máy chủ) hoặc nếu bạn muốn xây dựng một cái gì đó tương thích với lập trình cũ hơn (cần phải được ràng buộc bởi tin nhắn giữa máy chủ và máy khách, khiến máy chủ bị hao mòn nhiều hơn nhưng không có gì mới đối với máy khách). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. cho phép gửi nhận được khớp với phiên bên ngoài được định tuyến trên cổng chính). Nói cách khác, bạn phải lập trình giao thức của riêng mình để xử lý mạng và bạn phải quyết định xem bạn có muốn tự xây dựng nó không (sử dụng cả chương trình máy khách và máy chủ) hoặc nếu bạn muốn xây dựng một cái gì đó tương thích với lập trình cũ hơn (cần phải được ràng buộc bởi tin nhắn giữa máy chủ và máy khách, khiến máy chủ bị hao mòn nhiều hơn nhưng không có gì mới đối với máy khách). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. cho phép gửi nhận được khớp với phiên bên ngoài được định tuyến trên cổng chính). Nói cách khác, bạn phải lập trình giao thức của riêng mình để xử lý kết nối mạng và bạn phải quyết định xem bạn có muốn tự xây dựng nó không (sử dụng cả chương trình máy khách và máy chủ) hoặc nếu bạn muốn xây dựng một cái gì đó tương thích với lập trình cũ hơn (cần phải được ràng buộc bởi tin nhắn giữa máy chủ và máy khách, khiến máy chủ bị hao mòn nhiều hơn nhưng không có gì mới đối với máy khách). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. và bạn phải quyết định xem bạn có muốn tự xây dựng nó hay không (sử dụng cả chương trình máy khách và máy chủ) hoặc nếu bạn muốn xây dựng một cái gì đó tương thích với chương trình cũ hơn (cần phải được ràng buộc bởi tin nhắn giữa máy chủ và khách hàng, mặc nhiều hơn trên máy chủ nhưng không có gì mới cho khách hàng). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. và bạn phải quyết định xem bạn có muốn tự xây dựng nó hay không (sử dụng cả chương trình máy khách và máy chủ) hoặc nếu bạn muốn xây dựng một cái gì đó tương thích với chương trình cũ hơn (cần phải được ràng buộc bởi tin nhắn giữa máy chủ và khách hàng, mặc nhiều hơn trên máy chủ nhưng không có gì mới cho khách hàng). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. mặc nhiều hơn trên máy chủ nhưng không có gì mới cho khách hàng). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng. mặc nhiều hơn trên máy chủ nhưng không có gì mới cho khách hàng). Nếu bạn biết unix của bạn hoặc bạn biết lập trình winerver của mình, việc này có thể được thực hiện chỉ với một chút thời gian, nhưng nó đòi hỏi một lượng tài nguyên lớn hơn được phân bổ cho mỗi thiết bị được cân bằng.

Đối với các mạng kiểu công ty lớn hơn, bạn có thể kết nối mạng và cung cấp cho mỗi tầng hoặc bộ phận một cổng riêng, cho phép nhiều ISP và không bao giờ đặt quá nhiều vào bất kỳ mạng nào trong số đó. Bạn cũng có thể xử lý Failover bởi một trung tâm gửi các thay đổi hoặc chuyển hướng đến một cổng khác khi một trong số chúng gặp sự cố. Điều này cung cấp một số khả năng chịu lỗi.


2
Câu trả lời của bạn có nhiều khả năng được đọc nếu nó không phải là một bức tường văn bản. Hãy dành một phút để chia nó thành các đoạn văn.
fixer1234

Tôi đã làm. Nhưng giao diện đăng nó như một bức tường của văn bản nào.
Htd Tech

Chỉ để tham khảo, câu trả lời cho việc cân bằng tải một kết nối là nó thực sự không khả thi nếu bạn không làm việc trên cả hai đầu. Nhưng với mục đích tăng tốc truy cập web, có một số thẻ đa NIC của bên thứ ba sẽ truy cập mạng nội bộ cùng một lúc. Nếu bạn có nhiều dịch vụ isp, bạn có thể cho phép hệ thống của bạn xử lý cân bằng băng thông. Điều này không thực sự áp dụng cho chơi game hoặc cho video không nén, vì cả hai đầu đều thương lượng về kích thước gói, nhưng nếu bạn trực tuyến nhiều cho công việc, điều đó là khả thi và sẽ tăng hiệu suất.
Htd Tech

Tôi chỉ tìm thấy một đoạn ngắt và sửa nó. "Bí mật" là bạn cần trả lại gấp đôi (một dòng trống) giữa các đoạn. Nếu không, hệ thống sẽ chạy nó với nhau để thuận tiện cho bạn.
fixer1234
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.