Tại sao ipv6 chỉ định địa chỉ 128 bit, khi chỉ có 48 bit trong địa chỉ MAC?


37

Vì vậy, tôi đang đọc một bài kiểm tra mạng, và tôi chỉ tự hỏi liệu tôi đã bỏ lỡ điều gì cơ bản. Có cần nhiều địa chỉ IP hơn địa chỉ MAC không và làm thế nào một nút có một bộ điều hợp mạng được gán nhiều địa chỉ IP trong trường hợp đó?


2
+1 mặc dù rõ ràng MAC phải là duy nhất cho các thiết bị trong một mạng cục bộ (được kết nối với cùng một bus) trong khi lớp Internet hợp nhất tất cả các mạng cục bộ thành một mạng toàn cầu, theo đó nguyên tắc thiết kế cơ bản, phân chia một chinh phục, quy định chính xác rằng cục bộ các mạng không biết các địa chỉ cục bộ trong các mạng cục bộ khác để liên lạc thành công thông qua sơ đồ IP toàn cầu và hơn nữa, bạn có thể đính kèm các mạng cục bộ không dựa trên Ethernet vào Internet. Vì vậy, tôi muốn biết câu trả lời sẽ là gì nếu IP chỉ yêu cầu Ethernet ở mức thấp nhất.
Val

1
Việc chuyển đổi từ IPv4 sang IPv6 là - và - chậm và tốn kém đến mức chúng tôi không muốn phải đối mặt với một quá trình chuyển đổi nữa. 128 bit có cơ hội hợp lý để đủ "mãi mãi". tools.ietf.org/html/rfc1606 là một sự hài hước tuyệt vời về điều đó ("Khi giao thức IP phiên bản 9 đi đến hết tuổi thọ, một lần nữa do cạn kiệt không gian, ...")
Beni Cherniavsky- Paskin

@ BeniCéciavsky-Paskin, quá trình chuyển đổi diễn ra chậm vì NAT giảm thiểu nhu cầu. Một lần nữa, điều này cho chúng ta thấy rằng chúng ta không cần không gian địa chỉ cục bộ để bao phủ không gian địa chỉ toàn cầu.
Val

Câu trả lời:


40

Địa chỉ MAC chỉ cần là duy nhất trong một miền quảng bá cục bộ, không phải trên toàn cầu, vì vậy việc sử dụng lại các địa chỉ MAC trong các mạng khác nhau thường không phải là vấn đề.

Internet không phải là một miền phát sóng toàn cầu và do đó cần được chia thành nhiều khối địa chỉ được gán cho các ISP khác nhau và mỗi ISP chia các khối của mình thành các khối nhỏ hơn cho các khách hàng / dịch vụ khác nhau. Để cho phép mỗi khối nhỏ hơn này chứa nhiều địa chỉ MAC, bạn cần có không gian IP lớn hơn nhiều so với không gian địa chỉ MAC.


8
Cũng vì tổng hợp. 48 bit sẽ là quá đủ địa chỉ IP (40k mỗi người), nhưng điều đó có nghĩa là mỗi bộ định tuyến cần xem xét bảng phẳng trên 2PB, công nghệ đó không tồn tại.
ytti

1
@ytti: Ít nhất cho đến khi tất cả chúng ta đều có các nanorobot kích hoạt ip trong dòng máu của chúng ta
BlueRaja - Danny Pflughoeft

1
Họ có thể có thể sử dụng linklocal vì chỉ một vài trong số họ sẽ giao diện bên ngoài mạng cục bộ.
ytti

1
Trên giấy tờ , chúng được cho là độc nhất toàn cầu. Tuy nhiên thực tế đã được biết đến khác nhau.
Ricky Beam

4
Điều này sẽ đảm bảo một câu hỏi khác. Nhưng địa chỉ MAC được thực hiện từ số OUI 24b hoặc 36b mà bạn mua từ IEEE, nên là duy nhất, nhưng trên thực tế để tiết kiệm 1300USD, một số người sử dụng OUI của người khác, hoặc một số người sản xuất NIC với MAC không phải là duy nhất. Mặc dù địa chỉ MAC là 48b, nhưng thực tế chỉ là 46b, vì 1 bit xác định nếu nó unicast / multicast và 1 bit nếu là toàn cục / cục bộ, nếu bit phạm vi cục bộ được bật, thì tất cả các cược đều bị tắt.
ytti

16

Không phải tất cả các loại giao diện mạng đều sử dụng địa chỉ MAC. Địa chỉ MAC chủ yếu được liên kết với Ethernet, mặc dù khá nhiều chuẩn mạng khác sử dụng nó. Tuy nhiên, địa chỉ IPv6 vẫn có thể được gán cho giao diện mạng không sử dụng địa chỉ MAC cho Lớp 2.

Cũng cần lưu ý, một địa chỉ MAC có thể được chuyển đổi thành phần máy chủ IPv6 thông qua chuyển đổi EUI-64 (chủ yếu được sử dụng cho cấu hình tự động không trạng thái), bằng cách chèn các giá trị thập lục phân FFFE giữa 24 bit ngoài cùng bên phải và 24 bit của địa chỉ MAC 48 bit, và bit thứ bảy được đảo ngược.

Vì vậy, ví dụ, 0c: 3a: bb: 2a: cd: 23 có thể được chuyển đổi thành phần máy chủ của địa chỉ IPv6 tự động cấu hình không trạng thái. 0c trong các địa chỉ MAC ở trên, được biểu thị là 0000 1100 ở dạng nhị phân, sẽ trở thành 0000 1110 ở dạng nhị phân hoặc 0e ở dạng thập lục phân. Do đó, phần máy chủ EUI-64 cuối cùng của địa chỉ IPv6, được chuyển đổi từ địa chỉ MAC, sẽ là 0e: 3a: bb: ff: fe: 2a: cd: 23.


1
Bạn cũng cần lật địa chỉ MAC 'bit cục bộ'
ytti

Tôi quên mất phần đó - Tôi đã chỉnh sửa câu trả lời của mình để phản ánh thông tin. Cảm ơn bạn đã nắm bắt được điều đó :-)
WaxTrax

Kịch bản ngớ ngẩn để thực hiện tự động: ruby ​​-e'EUI = (ARGV [1]); k = ARGV [0] .delete (":."). Quét (/. {6} /). Tham gia ("fffe" ) .scan (/../); k [0] = "% 02x"% (k [0] .hex ^ 0b10); p EUI + ":" + k.join.scan (/..../) .join (":") '74: 66: 30: 42: 42: 42 2001: 67c: 17a0: 0
ytti

Việc dịch địa chỉ MAC sang EUI-64 để sử dụng trong phân bổ IP dường như là một điều sau này, IPv6 ban đầu qua chuẩn Ethernet (RFC 2464) được chỉ định địa chỉ MAC không có tiền tố.
Peter Green

6

Ngoài ra, có một số giao thức lớp 2 có hơn 48 bit trong MAC của họ, ví dụ, Kênh sợi quang có 64 bit (hoặc 128 bit rõ ràng theo Wikipedia) cũng như FireWire (tốt, loại), vì vậy chúng có thể phù hợp với / 64 mà không có khả năng chồng chéo.


4

IPv6 SLAAC chỉ có thể tạo một địa chỉ trên mỗi tiền tố vì nó sử dụng MAC để tạo một địa chỉ duy nhất hợp lý . Tiện ích mở rộng quyền riêng tư có thể tạo một hoặc nhiều địa chỉ giả ngẫu nhiên sau đó được kiểm tra xem có bất kỳ sự trùng lặp nào trên phân khúc cục bộ không. Tất nhiên, quản trị viên cục bộ có thể gán nhiều địa chỉ tĩnh như họ muốn - đó là công việc của họ để đảm bảo không có sự trùng lặp.

[Bởi hợp lý duy nhất tôi có nghĩa là khả năng va chạm là không. Và nếu có, bạn sẽ gặp vấn đề ở lớp 2 trước! (hai máy trên cùng phân khúc có cùng MAC)]


Phần mở rộng quyền riêng tư của Afaict là một suy nghĩ khi mọi người nhận ra rằng autoconfig dựa trên MAC là một cơn ác mộng về quyền riêng tư. Không phải là một trong những động lực trong thiết kế IPv6
Peter Green

Hầu hết IPv6 là một suy nghĩ lại ... Những người không học từ lịch sử sẽ cam chịu lặp lại nó.
Ricky Beam

2

Tôi nghĩ về cơ bản nó đi xuống hai điểm chính.

  1. Địa chỉ Internet không cần phải là duy nhất trên toàn cầu, chúng cần phải được định tuyến toàn cầu. Định tuyến riêng từng địa chỉ của máy sẽ dẫn đến các bảng định tuyến quá lớn. Các nhà thiết kế IPv6 có một giấc mơ về một hệ thống định tuyến phân cấp * để giữ cho các bảng định tuyến nhỏ.
  2. Các nhà thiết kế của IPv6 muốn tự động cấu hình không trạng thái. Cấu hình tự động không trạng thái yêu cầu phần "máy chủ" của địa chỉ phải lớn, để chứa một địa chỉ liên kết hiện có hoặc để chứa một số ngẫu nhiên đủ lớn để va chạm rất khó xảy ra.

Đặt các điểm này lại với nhau và bạn cần cả phần "máy chủ" và "mạng" của một địa chỉ phải lớn. Chắc chắn hơn 32 bit mỗi. Mỗi bit 64 bit có thể là quá mức cần thiết nhưng quá mức tốt hơn là hết.

* Giấc mơ không thực sự thành hiện thực vì Internet không phải là một hệ thống phân cấp cố định nhưng đây không phải là về những gì thực sự đã xảy ra trong 20 năm kể từ khi IPv6 được giới thiệu, đó là về những gì đã thúc đẩy thiết kế.

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.