2011-02-06 15 views
8

Tôi hiện đang cố gắng hiểu cách địa chỉ IPv6 hoạt động. Có các địa chỉ liên kết cục bộ và địa phương được sử dụng cho các mạng nhỏ và tổ chức tương ứng. Nhưng nếu một trong những khách hàng đó cũng có quyền truy cập internet, nó sẽ cần hai IP, đúng không? Một liên kết/trang web địa phương và một địa chỉ toàn cầu. Làm thế nào là được quản lý bởi giao diện và các bộ định tuyến? Một giao diện sẽ cần hai IP, vì không có NAT trong IPv6.IP liên kết cục bộ và toàn cầu trên giao diện IPv6

+2

Điều này thay vì thuộc về http://serverfault.com/; có thể người kiểm duyệt sẽ chuyển câu hỏi hoặc bạn có thể hỏi lại ở đó. – 9000

+1

Chắc chắn có những khía cạnh liên quan đến chương trình đối với câu hỏi. Một số ứng dụng có thể cần gấp danh sách các địa chỉ giao diện vào một số thuật toán và giúp bạn biết loại địa chỉ nào bạn đang làm việc khi bạn lấy lại chúng từ 'getifaddrs()'. –

+0

liên kết cục bộ không dành cho các mạng nhỏ, chúng dành cho các mạng chưa được định cấu hình. Thiếu hụt quan trọng không thể sử dụng địa chỉ liên kết cục bộ trong DNS. –

Trả lời

14

Nhìn chung, giao diện có một địa chỉ unicast phạm vi liên kết địa phương và không hoặc nhiều địa chỉ unicast phạm vi toàn cầu. (Họ cũng có thể là thành viên của một số nhóm multicast hữu hạn.) Địa chỉ có thể được gán thủ công hoặc bằng DHCPv6 như trong IPv4, nhưng đôi khi chúng cũng có thể được tạo tự động khi quảng cáo router cho phép. Một số triển khai máy chủ sẽ tự động tạo địa chỉ toàn cầu liên tục cho mỗi tiền tố mà bộ định tuyến quảng cáo và địa chỉ bảo mật phụ trợ đi cùng với nó, c.f. RFC 4191. Khi DHCPv6 được sử dụng để chỉ định địa chỉ, máy chủ có thể yêu cầu một hoặc nhiều địa chỉ tạm thời để sử dụng thay vì địa chỉ bảo mật.

Không sử dụng địa chỉ trang web địa phương. Chúng không được chấp nhận bởi RFC 3879, chủ yếu là do trường sin6_scope_id không được xác định rõ ràng cho địa chỉ trang web địa phương. Các ứng dụng nhìn thấy chúng trong danh sách được trả lại từ getifaddrs() có lẽ nên loại bỏ chúng bằng thông báo chẩn đoán cho luồng lỗi chuẩn. Ứng dụng sẽ trông đợi rằng quản trị viên mạng sẽ sử dụng Địa chỉ địa phương duy nhất (ULA) thay vì địa chỉ trang web cục bộ, c.f. RFC 4941.

Khả năng truy cập của địa chỉ ULA thường không thể giải quyết được bằng phần mềm ứng dụng. Điều duy nhất bạn biết chắc chắn về họ là họ không thể truy cập được bằng bất kỳ con đường nào đi qua khu vực không mặc định công cộng toàn cầu. Chúng có thể được truy cập từ bất cứ nơi nào trên Internet, nơi các tuyến đường đến tiền tố ULA được trao đổi trong các thỏa thuận song phương giữa các hệ thống tự trị. Mặt khác, chúng thường được quảng cáo bằng cổng IPv6 dành cho người đăng ký chỉ sử dụng tại địa phương và sẽ không thể truy cập được ở bất cứ nơi nào bên ngoài nhà, c.f. I-D.ietf-v6ops-ipv6-cpe-router.

9

Mọi giao diện đều có địa chỉ liên kết cục bộ và tùy chọn một hoặc nhiều địa chỉ công khai hoặc địa phương. Trông như thế này:

$ ip -o -6 addr show dev eth0 
eth0 inet6 2001:abcd:ef::1/64 scope global (..) 
eth0 inet6 fe80::1234:5678:2/64 scope link (...) 

Khi gửi một cái gì đó, tất cả mọi thứ được gửi đến một địa chỉ link-local (ví dụ: fe80::/64) được gửi từ địa chỉ link-local, mọi thứ khác khỏi khủng hoảng toàn cầu.

(Sự lựa chọn không phải lúc nào cũng có thể:. Ví dụ như nếu trả lời cho một ping, nguồn IP của câu trả lời sẽ là điểm đến IP của yêu cầu, cho dù địa chỉ)

+2

Được bỏ phiếu xuống vì địa chỉ trang web địa phương không được chấp nhận bởi [RFC 3879] (http://tools.ietf.org/html/rfc3879) và không nên được sử dụng. Hầu hết các triển khai máy chủ IPv6 không xử lý chúng đúng cách. –

+2

Tôi không đồng ý rằng điều này nên được giảm bớt, @phihag đang đề cập đến các địa chỉ liên kết địa phương không phải là trang web cục bộ. Nói cách khác, nếu tôi đang gửi đến một 'fe80 ::/64', điều đó là hợp lệ. – mateuscb

Các vấn đề liên quan