はじめに
このドキュメントでは、IPv6 リンクローカルアドレスがネットワーク内でどのように機能するのかについて説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
使用するコンポーネント
このドキュメントの情報は、Cisco IOS®ソフトウェアリリース12.4(15)T1を搭載したCisco 3700シリーズルータに基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
背景説明
リンクローカルアドレスは、リンクローカルプレフィクスFE80::/10(1111 1110 10)とインターフェイスIDを修正EUI-64形式で使用するインターフェイスに自動的に設定できるIPv6ユニキャストアドレスです。リンクローカルアドレスはMACアドレスに必ずしもバインドされませんが、(MACアドレスがIPv6アドレスに埋め込まれる)EUI-64方式を使用してリンクローカルアドレスを設定することは一般的です。リンクローカルアドレスは、ipv6 address <address> link-localコマンドを使用してFE80::/10形式で手動で設定することもできます。
注:EUI-64形式のインターフェイス識別子の詳細については、IPバージョン6アドレッシングアーキテクチャRFC4291を参照してください
IPv6のリンクローカルアドレスは、特定の物理リンク(デバイス間のローカルネットワーク接続)でのみ使用されます。これらのアドレスは、自動アドレス設定などのタスクや、同じリンク上のデバイスが互いを見つけて通信できるようにするネイバー探索プロトコル(NDP)にとって非常に重要です。リンクローカルアドレスを使用すると、グローバルに一意なアドレスを必要とせずに、隣接ノード間の通信が可能になります。重要なのは、IPv6ルータはローカルネットワークを越えてリンクローカルアドレスを持つデータを転送しないという点です。すべてのIPv6対応インターフェイスには、リンクローカルユニキャストアドレスが自動的に設定されます。
コンフィギュレーション
この例では、ルータR1、R2、およびR3はシリアルインターフェイスを介して接続され、ネットワークダイアグラムに示すように設定されたIPv6アドレスを持っています。ループバック アドレスがルータ R1 および R3 に設定され、ルータは OSPFv3 を使用して互いに通信します。この例では、pingコマンドを使用して、リンクローカルアドレスを持つルータ間の接続を確認します。ルータR1とR3は、IPv6ローカルユニキャストアドレスを使用して互いにpingできますが、リンクローカルアドレスは使用できません。ただし、ルータR2はR1とR3に直接接続されているため、リンクローカルアドレスを使用して両方のルータと通信できます。これは、リンクローカルアドレスが、物理インターフェイスに固有のそのローカルネットワーク内でのみ使用されるためです。
ネットワーク図
このドキュメントでは、次のネットワーク セットアップを使用します。
使用する設定
このドキュメントでは、次のコンフィギュレーションを使用します。
このビデオは、Cisco IOSルータのIPv6リンクローカルアドレスとグローバルユニキャストアドレスの主な違いを示しています。
ルータ R1 |
hostname R1
!
ipv6 cef
!
ipv6 unicast-routing
!
interface Loopback10
no ip address
ipv6 address FD10::/64 eui-64
!--- Assigned a IPv6 unicast address in EUI-64 format.
ipv6 ospf 1 area 1
!--- Enables OSPFv3 on the interface and associates the interface looback10 to area 1.
!
interface Loopback20
no ip address
ipv6 address FD20::/64 eui-64
ipv6 ospf 1 area 2
!--- Associates the Interface loopback20 to area 2.
!
interface Serial0/0
no ip address
ipv6 address 2001::1/124
ipv6 ospf 1 area 0
!--- Associates the Interface serial0/0 to area 0.
clock rate 2000000
!
ipv6 router ospf 1
router-id 10.1.1.1
!--- Router R1 uses 10.1.1.1 as router id.
log-adjacency-changes
!
end |
ルータ R2 |
ルータ R3 |
hostname R2
!
ipv6 cef
!
ipv6 unicast-routing
!
!
!
interface Serial0/0
no ip address
ipv6 address 2001::2/124
ipv6 ospf 1 area 0
clock rate 2000000
!
!
interface Serial0/1
no ip address
ipv6 address 2002::1/124
ipv6 ospf 1 area 0
clock rate 2000000
!
!
!
ipv6 router ospf 1
router-id 10.2.2.2
log-adjacency-changes
!
end |
hostname R3
!
ipv6 cef
!
ipv6 unicast-routing
! ! !
interface Loopback10
no ip address
ipv6 address FD01::/64 eui-64
ipv6 ospf 1 area 1
! !
interface Loopback20
no ip address
ipv6 address FD20::/64 eui-64
ipv6 ospf 1 area 2
! !
interface Serial0/0
no ip address
ipv6 address FE80::AB8 link-local
ipv6 address 2002::2/124
ipv6 ospf 1 area 0
clock rate 2000000
! ! !
ipv6 router ospf 1
router-id 10.3.3.3
log-adjacency-changes
!
end
|
検証
OSPF設定の確認
OSPFが正しく設定されていることを確認するには、 show ipv6 route ospf
コマンドをルータR1とR3で発行します。
show ipv6 route ospf |
ルータ R1 R1#show ipv6 route ospf
IPv6 Routing Table - 10 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route, M - MIPv6
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
D - EIGRP, EX - EIGRP external
OI FD01::C002:1DFF:FEE0:0/128 [110/128]
via FE80::C001:1DFF:FEE0:0, Serial0/0
O 2002::/124 [110/128]
via FE80::C001:1DFF:FEE0:0, Serial0/0
OI FD20::C002:1DFF:FEE0:0/128 [110/128]
via FE80::C001:1DFF:FEE0:0, Serial0/0 ルータ R3 R3#show ipv6 route ospf
IPv6 Routing Table - 10 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route, M - MIPv6
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
D - EIGRP, EX - EIGRP external
O 2001::/124 [110/128]
via FE80::C001:1DFF:FEE0:0, Serial0/0
OI FD10::C000:1DFF:FEE0:0/128 [110/128]
via FE80::C001:1DFF:FEE0:0, Serial0/0
OI FD20::C000:1DFF:FEE0:0/128 [110/128]
via FE80::C001:1DFF:FEE0:0, Serial0/0 |
リンクローカルアドレスの到達可能性の確認
ルータは、グローバル ユニキャスト アドレスを使用して互いに ping を実行できます。ルータがリンクローカルアドレスのみを使用する場合、直接接続されたネットワークは通信できます。たとえば、R1はグローバルユニキャストアドレスを使用してR3にpingを実行できますが、2台のルータはリンクローカルアドレスを使用して通信できません。これは、ルータR1およびR3の pingコマンドとdebug ipv6 icmpコマンドで示されます。
リモートネットワークからリンクローカルアドレスへのPing
ルータR1がリンクローカルアドレスを使用してルータR3と通信しようとすると、ルータR1はICMPタイムアウトメッセージを返します。このメッセージは、リンクローカルアドレスがローカル固有であり、直接接続されたネットワークの外部にあるリンクローカルアドレスと通信できないことを示しています。
ルータR1からR3のリンクローカルアドレスへのping |
ルータ R1 内 R1#ping FE80::AB8
Output Interface: serial0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::AB8, timeout is 2 seconds:
Packet sent with a source address of FE80::C000:1DFF:FEE0:0
.....
Success rate is 0 percent (0/5)
!--- Pinging Link-Local Address of router R3.
!--- The ping is unsuccessful and the ICMP packet cannot reach the destination through serial0/0.
!--- This timeout indicates that R1 has not received any replies from the router R3.
|
直接接続されたネットワークからリンクローカルアドレスにPingを実行
ルータR2については、ルータR1とR3が直接接続されており、ルータに接続されている関連インターフェイスと通信する際に、ルータR1とR2の両方のリンクローカルアドレスにpingを実行できます。次に出力例を示します。
ルータR2からR1リンクローカルアドレスへのping |
ルータ R2 内 R2#ping FE80::C000:1DFF:FEE0:0
Output Interface: serial0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::C000:1DFF:FEE0:0, timeout is 2 seconds:
Packet sent with a source address of FE80::C001:1DFF:FEE0:0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/19/56 ms
!--- Pinging Link-Local Address of router R1, R2 connects to R1 via serial0/0. R1からのデバッグ出力 R1#
*Mar 1 03:59:53.367: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 03:59:53.371: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 03:59:53.423: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 03:59:53.427: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 03:59:53.463: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 03:59:53.463: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 03:59:53.467: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 03:59:53.467: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 03:59:53.471: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 03:59:53.471: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
!--- The debug output shows that the router R2 can ping router R1's Link-Local address.
|
ルータR2からR3リンクローカルアドレスへのping |
ルータ R2 内 R2#ping FE80::AB8
Output Interface: serial0/1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::AB8, timeout is 2 seconds:
Packet sent with a source address of FE80::C001:1DFF:FEE0:0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/18/60 ms
!--- Note that, to ping the Link-Local address, output interface is needed. In our case, R2 connects to R3 throught serial0/1. R3からのデバッグ出力 R3#
*Mar 1 04:12:11.518: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 04:12:11.522: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 04:12:11.594: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 04:12:11.598: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 04:12:11.618: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 04:12:11.618: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 04:12:11.622: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 04:12:11.622: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 04:12:11.626: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 04:12:11.630: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
!--- The debug output shows that the router R2 can ping router R3's Link-Local address.
|
リンクローカルアドレスは、そのローカルネットワーク専用です。ルータは同じリンクローカルアドレスを持つことができ、直接接続されたネットワークは競合することなく互いに通信できます。これは、グローバルユニキャストアドレスの場合とは異なります。ルーティング可能なグローバルユニキャストアドレスは、ネットワーク内で一意である必要があります。show ipv6 interface briefコマンドを使用すると、インターフェイス上のリンクローカルアドレスに関する情報が表示されます。
show ipv6 interface brief |
ルータ R1 内 R1#show ipv6 interface brief
Serial0/0 [up/up]
FE80::AB8
2001::1
Loopback10 [up/up]
FE80::C000:1DFF:FEE0:0
FD10::C000:1DFF:FEE0:0
Loopback20 [up/up]
FE80::C000:1DFF:FEE0:0
FD20::C000:1DFF:FEE0:0 ルータ R3 内 R3#show ipv6 interface brief
Serial0/0 [up/up]
FE80::AB8
2002::2
Loopback10 [up/up]
FE80::C002:1DFF:FEE0:0
FD01::C002:1DFF:FEE0:0
Loopback20 [up/up]
FE80::C002:1DFF:FEE0:0
FD20::C002:1DFF:FEE0:0
!--- Shows that R1 and R3's serial interface has same Link-Local address FE80::AB8.
|
この例では、R1とR3に同じリンクローカルアドレスが割り当てられており、R2は関連する出力インターフェイスを指定する際に両方のルータに到達できます。
R2からR1とR3のリンクローカルアドレスにpingを実行 |
R2からR1リンクローカルアドレスへのping R2#ping FE80::AB8
Output Interface: serial0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::AB8, timeout is 2 seconds:
Packet sent with a source address of FE80::C001:1DFF:FEE0:0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/26/92 ms
!--- R2 is connected to R1 through serial0/0. R1からのデバッグ出力 R1#
*Mar 1 19:51:31.855: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:51:31.859: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 19:51:31.915: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:51:31.919: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 19:51:31.947: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:51:31.947: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 19:51:31.955: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:51:31.955: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 19:51:31.955: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:51:31.955: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 R2からR3リンクローカルアドレスへのping R2#ping FE80::AB8
Output Interface: serial0/1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::AB8, timeout is 2 seconds:
Packet sent with a source address of FE80::C001:1DFF:FEE0:0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/28/76 ms
!--- R2 is connected to R1 through serial0/1. R3からのデバッグ出力 R3#
*Mar 1 19:53:38.815: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:53:38.819: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 19:53:38.911: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:53:38.915: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 19:53:38.923: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:53:38.927: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 19:53:38.955: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:53:38.955: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
*Mar 1 19:53:38.963: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0
*Mar 1 19:53:38.963: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 |
注:R2は、直接接続されているR1とR3のリンクローカルアドレスにのみpingを実行できます。ルータR1とR3は直接接続されていないため、R2はループバックインターフェイスのリンクローカルアドレスにpingを実行できません。直接接続されているネットワークの場合のみ、ping はリンクローカル アドレスに対して正常に動作します。
注:リンクローカルアドレスの場合、トレースルートは機能せず、「% No valid source address for destination」というエラーメッセージが返されます。これは、IPv6ルータは、送信元または宛先がリンクローカルアドレスであるパケットを他のリンクに転送できないためです。
関連情報