Làm thế nào thậm chí là phân phối các chữ số trong phần cuối của địa chỉ IPv4?


9

Tôi có một kịch bản chuyển hướng hoạt động trên một trang web tôi tạo ra. Nó gửi 1/3 khách truy cập đến trang A, 1/3 khách truy cập đến trang B và 1/3 đến trang C.

Nó hoạt động bằng cách chia phần cuối của địa chỉ IPv4 của người dùng (0-255) cho 3 và chúng được chuyển hướng đến trang A, B hoặc C tùy thuộc vào phần còn lại. Cho đến nay trang A đã có 109 khách, trang B đã có 85 và trang C đã có 101.

Tôi có đúng không khi cho rằng phân đoạn cuối cùng của địa chỉ IPv4 được gán hoàn toàn ngẫu nhiên?

Ngoài ra, phân phối số cho phân khúc cuối có bằng nhau không?


Điều gì khiến bạn nghĩ rằng phân khúc cuối cùng được "gán hoàn toàn ngẫu nhiên"?
MrWhite

1
Đó là một phỏng đoán. Tôi không chắc chắn nếu dự đoán này là chính xác. Đó là nội dung câu hỏi của tôi.
Adjam

Tại sao không chỉ làm vòng tròn?
Bigbio2002

@ Bigbio2002 Vì người dùng có thể quay lại. Tôi không muốn người dùng được gửi đến phiên bản tốt, sau đó là phiên bản kém, vì điều này sẽ ảnh hưởng đến hành vi của người dùng.
Adjam

Câu trả lời:


14

Địa chỉ IPv4 không quá vụng về và ngẫu nhiên như bạn nghĩ.

Đầu tiên, một địa chỉ IPv4 được tách thành 4 octet, mỗi oct từ 0 đến 255. Tuy nhiên, đây không hoàn toàn là trường hợp vì 0 là số dành riêng cho mạng và 255 được dành riêng để phát, điều này thực sự giới hạn bạn đến 1-254 .

Thứ hai, bạn phải xem xét rằng các địa chỉ IPv4 được gán theo khối cho các tổ chức và ISP sau đó chia nhỏ chúng dựa trên địa chỉ mạng con để phân định các bit nào trong octet đại diện cho mạng và bit nào đại diện cho máy chủ riêng lẻ. Vì thế:

Network: 11.12.0.0
CIDR: 11.12.0.0/16
Subnet: 255.255.0.0
Hosts provided: 65534

Có nghĩa là bạn có thể có địa chỉ từ 11.12.0.1 đến 11.12.255.254. Vì điều này:

Three separate hosts, same network, but same last octet:
11.12.10.20
11.12.20.20
11.12.30.20

Điều này có nghĩa là bạn không thể luôn tin vào octet cuối cùng là 'ngẫu nhiên'.

Thứ ba, phương tiện gán địa chỉ IP không phải lúc nào cũng ngẫu nhiên. Hầu hết người dùng gia đình sẽ nhận được một địa chỉ IP công cộng được chỉ định bởi ISP của họ thông qua DHCP, trong đó điểm cuối của họ sẽ nhận được một địa chỉ được chọn bởi một máy tính (thường là tuần tự, đến trước được phục vụ từ một nhóm có sẵn) mà họ giữ hợp đồng thuê trước lượng thời gian (thường là một vài ngày) trước khi chúng được gán một số khác. Các tổ chức lớn (doanh nghiệp, chính phủ) thường sẽ có một bộ địa chỉ mà họ luôn đến và những địa chỉ này là tĩnh và sẽ không thay đổi.

Để trả lời câu hỏi của bạn, đưa ra các thông tin trên:

1) Địa chỉ IP không được chỉ định ngẫu nhiên. Thường có một số phương pháp logic để gán địa chỉ IP để cho phép định tuyến chính xác và kịp thời lưu lượng truy cập qua mạng và internet.

2) Việc phân phối octet cuối cùng của địa chỉ IPv4 phụ thuộc vào một số yếu tố liên quan đến thông tin trên (và tâm trạng của quản trị viên mạng, trong một số trường hợp) và do đó, không bằng nhau. Bạn không thể chỉ dựa vào octet cuối cùng để cung cấp 'tính duy nhất'.

Come on IPv6!


5

Octet cuối cùng có khả năng bị lệch về phía dưới, bởi vì các mạng có xu hướng được đánh số từ phía dưới. Một lược đồ tốt hơn sẽ là coi toàn bộ địa chỉ IP là số nguyên không dấu 32 bit và sử dụng thao tác modulo để lấy phần còn lại khi lặn theo số lượng xô bạn muốn. Điều này sẽ chỉ định từng địa chỉ (số) tiếp theo cho một nhóm khác nhau (bao quanh khi đạt đến nhóm cuối cùng).

Ví dụ:

1.2.3.4 = 16909060
16909060 % 3 = 1

Vì vậy, điều này sẽ đặt 1.2.3.4 vào thùng 1 (trong đó các thùng được đánh số 0, 1 và 2). 1.2.3.5 sẽ chuyển sang nhóm 2 và 1.2.3.6 sẽ chuyển sang nhóm 0.

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.