Tại sao Pi của tôi luôn có cùng địa chỉ IP?


22

Bộ định tuyến của tôi sử dụng DHCP và bất cứ khi nào tôi định dạng lại raspberry pi của mình, ngay cả khi sử dụng thẻ nhớ microSD khác, nó luôn có cùng một mạng LAN. Tôi không chắc chắn làm thế nào IP được chỉ định, nhưng tôi giả sử thiết bị có một id duy nhất trên mạng mà bộ định tuyến của tôi nhận ra?


Làm sao chuyện này lại xảy ra? Tôi hỏi một câu hỏi về SE và nó có số phiếu bầu tích cực! Và đó là rất nhiều upvote.

Câu trả lời:


36

Raspberry Pi của bạn có một ID duy nhất, được gọi là địa chỉ MAC, thực tế là hai địa chỉ chính xác. Mỗi bộ điều hợp mạng có một trong số đó. Vì vậy, bộ điều hợp Wi-Fi có một ID duy nhất và bộ điều hợp Ethernet cũng có.

Và đây là lý do tại sao Raspberry Pi của bạn có cùng IP. Đối với bộ định tuyến của bạn, điều quan trọng là bạn đang làm gì với thiết bị. Nó chỉ nhận ra MAC và cung cấp IP giống như trước đây.

Chỉnh sửa: Như Beege đã chỉ ra, IP vẫn có thể thay đổi khi 'D' trong DHCP là viết tắt của động. Nhưng nếu thiết bị của bạn nhận được IP giống như trước thông qua DHCP thì đó là do MAC được nhận dạng.


9
Lời giải thích hay. Tôi nghĩ rằng đáng để đề cập rằng cùng một địa chỉ MAC sẽ không nhận được cùng một IP từ máy chủ DHCP - đó vẫn là một dịch vụ "động", do đó, có thể IP bị một thiết bị khác lấy và Pi của bạn kết thúc bằng một thiết bị khác Giao IP.
Beege

3
@Beege oh vâng, hoàn toàn, cảm ơn! Người ta có thể chọn dự trữ một IP cụ thể cho Pi khi muốn có IP cố định, ví dụ như khi chạy máy chủ trên đó. Nhưng điều này sẽ được kích hoạt cụ thể với bộ định tuyến (hoặc bất kỳ thiết bị nào khác cung cấp dịch vụ DHCP trong mạng)
ItsKiddow

2
actually two to be precise- giả sử pi3b hoặc 3b +
Jaromanda X

7
Thực tế là IP giống nhau KHÔNG phải vì MAC. MAC là một định danh mà bộ định tuyến có quyền truy cập. Bộ định tuyến có thể được cấu hình để cố gắng cung cấp cho bạn cùng một IP khi hợp đồng thuê được gia hạn hoặc nó có thể ngẫu nhiên gán cho bạn một địa chỉ khác. Bộ định tuyến của bạn được cấu hình (bởi nhà sản xuất) để làm trước đây. Điều này thực sự ngăn chặn rất nhiều sự cố mạng do các sự cố liên quan đến IP động (các cổng in IP xuất hiện trong tâm trí). Khả năng có được cùng một IP là do MAC, nhưng tôi có thể dễ dàng thiết lập DHCP trên bộ định tuyến để cung cấp cho một đống các thiết bị khác nhau cùng một IP.
Nelson

1
Việc triển khai DHCP chất lượng sẽ lưu trữ các bài tập IP & địa chỉ MAC trước đó. Khi thấy địa chỉ MAC được lưu trong bộ nhớ cache, nó sẽ có xu hướng cung cấp cùng một IP (nếu có). Nó cũng sẽ chống lại việc cung cấp IP cho một địa chỉ MAC khác trừ khi nó không còn địa chỉ miễn phí. Vì điều này phụ thuộc vào việc triển khai cụ thể ... và chất lượng của các bộ định tuyến gia đình ở khắp mọi nơi ... hành vi sẽ không nhất thiết phải nhất quán tùy thuộc vào mô hình bộ định tuyến của bạn.
Tim Campbell

16

Ngoài các câu trả lời đã được đưa ra, tôi sẽ cung cấp thêm một số thông tin cơ bản.

Nói chung, giao thức DHCP được thực hiện để giảm các thay đổi động càng nhiều càng tốt. Đó là một khía cạnh của sự ổn định. Nó không quan trọng lắm trên các mạng gia đình nhỏ nhưng các mạng lớn có bộ chuyển mạch và bộ định tuyến cần một chút thời gian để đi vào trạng thái tối ưu hóa. Công tắc phải học hàng xóm của nó và bộ định tuyến phải tìm hiểu các tuyến đường. Thay đổi nặng nề của địa chỉ IP là không tốt cho trạng thái này.

Hầu hết mọi người có thể nghĩ rằng máy chủ DHCP chỉ cung cấp địa chỉ IP cho khách hàng và đó là địa chỉ đó. Nhưng đó chỉ là một nửa sự thật. Đây là một cái bắt tay DHCP điển hình:

(client) DHCPREQUEST for 192.168.10.75 from b8:27:eb:0e:3c:6f (raspi3) via wlan0
(server) DHCPACK on 192.168.10.75 to b8:27:eb:0e:3c:6f (raspi3) via wlan0

Như bạn có thể thấy ứng dụng khách được xác định với địa chỉ mac của nó b8: 27: eb: 0e: 3c: 6f yêu cầu một địa chỉ IP cụ thể mà nó thích. Nó biết địa chỉ IP nào có trước, cũng như sau khi khởi động mới. Máy chủ DHCP chỉ xác nhận nó. Rằng những gì nó mang lại cho khách hàng được gọi là hợp đồng thuê . Nó chứa thời gian chờ (cùng với nhiều tùy chọn quan trọng khác) khách hàng có thể sử dụng địa chỉ IP trong bao lâu mà không yêu cầu lại. Thời gian chờ phụ thuộc vào thiết lập và chủ yếu được đặt thành một số giờ. Máy chủ DHCP lưu trữ hợp đồng thuê trong bộ đệm của nó và sẽ bảo lưu nó càng lâu càng tốt cho cùng một máy khách, nếu nó bị tắt. Vì vậy, nó sẽ chỉ xác nhận khách hàng cho thuê của nó khi nó khởi động lại. Chỉ khi máy chủ không có các hợp đồng thuê không sử dụng khác để cung cấp cho khách hàng thì nó mới lấy cái đã sử dụng. Cái bắt tay sau đó sẽ như thế này:

(client) DHCPREQUEST for 192.168.10.75 from b8:27:eb:0e:3c:6f (raspi3) via wlan0
(server) DHCPNAK on 192.168.10.75 to b8:27:eb:0e:3c:6f via wlan0
(client) DHCPDISCOVER from b8:27:eb:0e:3c:6f via wlan0
(server) DHCPOFFER on 192.168.10.99 to b8:27:eb:0e:3c:6f via wlan0
(client) DHCPREQUEST for 192.168.10.99 from b8:27:eb:0e:3c:6f (raspi3) via wlan0
(server) DHCPACK on 192.168.10.99 to b8:27:eb:0e:3c:6f (raspi3) via wlan0

Như bạn có thể thấy máy chủ DHCP từ chối (DHCPNAK) yêu cầu và cung cấp một địa chỉ IP mới mà sau đó trong bước tiếp theo được khách hàng yêu cầu. Bước bổ sung này được thực hiện để cung cấp cho khách hàng khả năng không chấp nhận địa chỉ IP được cung cấp ...


4
+1 IMHO đây là câu trả lời đúng. Nó chỉ đơn giản là cách giao thức DHCP hoạt động.
Jos
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.