Các ký tự sau% (có thể là số trong ví dụ của bạn) là Mã định danh giao diện. Những ký tự này được sử dụng để xác định "giao diện mạng" mà mọi người thường gọi là "card mạng". Chẳng hạn, nó có thể giúp xác định xem một gói sẽ sử dụng thẻ Ethernet có dây hay bộ điều hợp Wi-Fi không dây.
Tôi đoán rằng bạn đang sử dụng Microsoft Windows. Nó sử dụng số làm định danh giao diện.
Để so sánh, các hệ thống giống Unix có thể sử dụng các chữ cái sau dấu%. ví dụ:fe80::71a3:2b00:ddd3:753f%eth0
Trong trường hợp đó, số nhận dạng Giao diện eth0
, khớp với tên của card mạng.
Trong Microsoft Windows, bạn có thể nhận danh sách các số nhận dạng giao diện (số) bằng cách sử dụng một trong các dòng lệnh kiểm tra bảng định tuyến. Tôi thích " netstat -nr
" vì nó cũng hoạt động trên các hệ điều hành khác, nhưng Microsoft Windows cũng hỗ trợ " route print
". Đầu ra kết quả, được báo cáo, có thể sẽ dài trên một màn hình, vì vậy hãy chuẩn bị cuộn lại, trừ khi bạn chuyển sang nhiều hơn.
ví dụ: trên hệ thống của tôi:
===========================================================================
Interface List
14...5c f9 dd 6d 98 b8 ......Realtek PCIe GBE Family Controller
12...e0 06 e6 7e fc 4e ......Bluetooth Device (Personal Area Network)
1...........................Software Loopback Interface 1
13...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
15...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
===========================================================================
Trong trường hợp này, một địa chỉ như fe80 :: 71a3: 2b00: ddd3: 753f% 14 sẽ đề cập đến Bộ điều khiển gia đình Realtek PCIe GBE của tôi. "GBE" dùng để chỉ Gigabit Ethernet.
Bây giờ, đây là phần khó khăn: Nếu bạn muốn ping một địa chỉ từ xa, bạn có thể cần sử dụng địa chỉ IPv6 của hệ thống từ xa, nhưng Định danh giao diện của hệ thống cục bộ. Vì vậy, ví dụ, nếu tôi đang sử dụng Máy tính A và tôi có địa chỉ IPv6 cục bộ là fe80 :: 1 được đính kèm với Giao diện số 14 và tôi muốn ping Máy tính B và nó có địa chỉ IPv6 cục bộ là fe80 :: 2 được đính kèm Giao diện số 16 của nó, đây là những gì tôi sẽ sử dụng:
ping fe80::2%14
Vì vậy, ping
lệnh sẽ gửi gói ICMPv6 đến địa chỉ IPv6 từ xa (fd80 :: 2), thuộc về máy tính từ xa và sẽ sử dụng Giao diện với Mã định danh 14 để thực hiện. Mã định danh giao diện 14 là một số trong hệ thống tôi đang sử dụng, không phải hệ thống từ xa.
Bây giờ, hãy xem tại sao điều này có thể cần thiết.
Nếu tôi muốn ping địa chỉ IPv6 của Google (đó là 2607: f8b0: 400a: 802 :: 200e tại thời điểm tôi viết câu trả lời này), thì bảng định tuyến sẽ kiểm tra địa chỉ thẻ mạng nào xử lý các địa chỉ bắt đầu bằng 2607: f8b0: 400a: 802. Bảng định tuyến sẽ chỉ ra rằng không có thẻ mạng nào của tôi được kết nối trực tiếp với mạng bằng các địa chỉ bắt đầu bằng 2607: f8b0: 400a: 802, vì vậy máy tính của tôi sẽ kết thúc bằng địa chỉ "cổng". Nếu tôi đang kết nối với một mạng khác là một phần của tổ chức tôi đang làm việc, tôi có thể có một địa chỉ "cổng" đặc biệt định tuyến lưu lượng truy cập đến một mạng riêng. Trong trường hợp này, tôi không có cổng cụ thể hơn, vì vậy tôi sẽ sử dụng "cổng mặc định" IPv6. Đó là cách IPv6 hoạt động hầu hết thời gian, ngoại trừ các địa chỉ liên kết cục bộ. Đây cũng là cách mà IPv4 hoạt động hầu hết thời gian.
Theo RFC 4291, phần 2.8 , mọi máy tính sử dụng IPv6 nên gán địa chỉ liên kết cục bộ cho mọi giao diện mạng. RFC 4291, phần 2.5.6 cho thấy các bit mà các địa chỉ liên kết cục bộ phải bắt đầu bằng, điều này khiến các địa chỉ liên kết cục bộ bắt đầu bằng "fe80: 0000: 0000: 0000:" (mặc dù nhiều số không trong số đó bị thu gọn thành dấu hai chấm ). Thực tế là những địa chỉ đó bắt đầu bằng "fe80:" cũng được mô tả bởi RFC 4291 phần 2.4 .
Nếu bạn cố gắng ping một hệ thống từ xa (ví dụ: "2607: f8b0: 400a: 802"), quy trình chung thường là tìm ra một mạng hoặc mạng con mà địa chỉ là một phần của, được thực hiện bằng cách xem các bit ở đầu địa chỉ Sau đó, các bit đó được sử dụng để xác định cách định tuyến lưu lượng.
Tuy nhiên, quá trình đó không hoạt động đối với địa chỉ liên kết cục bộ IPv6, bởi vì mọi giao diện mạng (hoạt động, hoạt động) đều có một địa chỉ liên kết cục bộ bắt đầu bằng "fe80:" trên mạng con sử dụng tiền tố / kích thước của mạng con "/ 64 ". Nếu bạn đang sử dụng máy tính xách tay, bạn có thể thấy rằng cả thẻ Ethernet và bộ điều hợp Wi-Fi của bạn đều có một địa chỉ IPv6 như vậy.
Bây giờ, khi bạn gửi ping của mình tới fe80 :: 2, bạn muốn máy tính của mình gửi gói tin đó ra đúng card mạng. Nếu bạn có một máy in được kết nối với mạng có dây, bạn không muốn gửi lưu lượng ra khỏi thẻ Wi-Fi của mình, sử dụng đường dẫn / tuyến mạng sẽ không dẫn đến lưu lượng truy cập đến máy in. Và nếu bạn đang cố gắng liên lạc với thiết bị không dây bằng thẻ Wi-Fi của mình, bạn không muốn lưu lượng truy cập của mình đi ra ngoài thẻ Ethernet.
Giải pháp là yêu cầu bạn chỉ định thiết bị mạng nào bạn muốn lưu lượng sử dụng. Vì vậy, đó là mục đích của định danh mạng.