ipv6 LAB: NDP = Neighbor Discovery Protocol (deel2)
voorbij je eigen netwerk
- schema
- address table
Address Table . Device Interface IPv6 Address / Prefix Default Gateway . R1(1941) G0/0 2001:db8:acad:1::1/64 not configured R1 G0/1 2001:db8:acad:2::1/64 not configured PCA1 FA0 2001:db8:acad:1::A/64 fe80::1 PCA2 FA0 2001:db8:acad:1::B/64 fe80::1 PCB1 FA0 2001:db8:acad:2::A/64 fe80::1
- download sjabloon: 9.3.4.lab-ipv6-ndp
-
inleiding
In deel 2 van dit NDP-lab, vind je heel wat stappen terug van deel 1, maar nu zit de destination host op een andere LAN.
Observeer zelf hoe Neighbor Discovery in dit geval verschillt van deel 1. Kijk naar de extra stappen die plaatsvinden als een host/device communiceert met een device/host op een ander netwerk.
Als je nog in de simulatie van deel 1 zit, klik dan op de Reset Simulation knop
Zoniet, download de sjabloon (zie punt 3) - Capture events voor remote communication
a. Display en Clear de IPv6 neighbor device table zoals in deel 1.
b. Ga naar simulation mode. Klik op de Show All/None knop beneden links in het Simulation Panel. Vergewis er u van dat de Event List Filters – Visible Events het woord “None” displayt.
c. In de command prompt op PCA1 tik je
ping –n 1 2001:db8:acad:2::a
om host PCB1 te pingen.
d. klik op de Play Capture forward knop.
De status bar boven de Play Controls staat op 150.
(het exacte getal kan anders zijn)
e. klik op de Edit Filters knop. selecteer de IPv6 tab bovenaan en klik de hokjes voor ICMPv6 en NDP. Klik opde rode X
rechts bovenaan van het venster Edit ACL Filters. Alle voorgaande events worden nu getoond. Je ziet dit keer meer data-verkeer in de lijst.
f. klik op hetvierkant
in de Type Column voor het eerste event, ICMPv6.
Omdat de message met dit event start is er alleen een Outbound PDU.
Merk op: er is geen Laag 2 informatie.
g. klik op de eerste NDP event op Device PCA1.
vraag: welk address is gebruikt voor de Source IP in de inbound PDU?
antwoord: (selecteer met de muis om het antwoord zichtbaar te maken)
de Link Local address voor PCA1 – fe80::201:42ff:fe7e:e8ed
IPv6 Neighbor Discovery zoekt nu de next-destination om het ICMPv6 frame te forwarden.
h. klik op het tweede ICMPv6 event voor PCA1. PCA1 heeft nu genoeg informatie om een ICMPv6 echo request te maken.
vraag: Welk MAC address wordt gebruikt voor de destination MAC?
antwoord: 0001.961d.6301, het MAC address van G0/0/0 op R1
i. klik op de volgende ICMPv6 event op R1.
Merk op dat de outbound PDU van R1 geen destination Layer 2 address heeft;
dit betekent dat R1 een Neighbor Discovery moet uitvoeren voor de interface met het2001:db8:acad:2::
network
want het MAC addresses van de hosts en devices op de G0/0/1 LAN zijn onbekend.
j. Ga nu naar het eersteICMPv6
event voor device PCB1.
vraag: wat ontbreekt in de outbound Layer 2 informatie?
antwoord: het destination MAC address moet gevonden worden voor het IPv6 destination adres.
k. de volgende NDP events linken de overige IPv6 addressen aan MAC-adressen.
de vorige NDP events koppelden MAC-adressen aan Link Local adressen.
l. Ga naar de laatste set van ICMPv6 events en stel vast dat alle adressen gevonden zijn.
Alle noodzakelijk info is nu gekend, dus PCB1 kanecho reply
messages sturen naar PCA1.
m. klik op de Reset Simulation knop in het Simulation Panel. vanaf de command propt van PCA1 herhaal je nu het commando om PCB1 te pingen.
n. klik op de Capture forward knop 9 keer (soms meer .. zelden minder) om de ping te beeindigen.
vraag: waren er NDP events? antwoord: Nee
o. klik op het enige PCB1 event in de nieuwe lijst.
vraag: Waarnaartoe verwijst het destination MAC-adres?
antwoord: de router interface G0/0/1 op R1
vraag: waarom gebruikt PCB1 het MAC address van de router interface om zijn ICMP PDUs te maken?
antwoord: Omdat de bestemming op een ander netwerk zit; PCB1 stuurt de PDU naar het MAC-adres van de default gateway. R1 gaat zelf onderzoeken hoe het de pdu naar de bestemming kan sturen.
- Bekijk de Router output
a. Ga terug naar Realtime modus.
b. klik op R1 en selecteer de CLI tab. aan de router prompt tik je
show ipv6 neighbors
.
vraag: hoeveel adressen zie je?
antwoord: ?? –>IPv6 global unicast
, enipv6 link local
addressen,
enMAC
addressen voor PCA1 en PCB1
vraag: Met welke devices zijn deze adressen geassocieerd
antwoord: PCA1 en PCB1
vraag: zijn er entries voor PCA2 (waarom / waarom niet)?
antwoord: NEE -- PCA2 is nog niet op het netwerk geweest.
Ping PCA2 vanaf de router.
c. Tik nu
show ipv6 neighbors
vraag: zijn er nu entries voor PCA2?
antwoord: ja, de IPv6 en MAC adressen voor PCA2.
Om over na te denken ...
-
Wanneer is het IPv6 Neighbor Discovery proces nodig?
Als het destination MAC address niet gekend is. Dit proces is gelijkaardig aan ARP in IPv4. -
Hoe zorgt een router voor minimaal ipv6 NDP verkeer?
De router houdt neighbor tables bij zo dat hij niet telkens opnieuw NDP moet gebruiken voor elke host. -
Hoe zorgt IPv6 voor minimale impact van NDP op netwerk hosts?
NDP gebruikt multicasts zodat alleen een klein aantal hosts naar de Neighbor Discovery messages hoeven te luisteren. IPv6 maakt bovendien speciale multicast destination MAC addressen met daaring een deel van het node address. - Welk verschil is er bij het Neighbor Discovery proces tussen een destination host op dezelfde LAN en die op een remote LAN?
Als een device zich voorbij een router bevindt, is het de router die zijn het MAC adres van zijn lokale interface aanbiedt aan de source, en die router zoekt dan zelf de MAC op het remote-net. De router plaatst dan het ipv6/MAC paar in de IPv6 Neighbor Table.
appendix (1): configuratie RTA
enable
conf t
!RTA config
!
hostname R1
!
ipv6 unicast-routing
!
no ipv6 cef
!
!
int Gi0/0
no ip address
no shut
duplex auto
speed auto
ipv6 address FE80::1 link-local
ipv6 address 2001:DB8:ACAD:1::1/64
!
int Gi0/1
no ip address
no shut
duplex auto
speed auto
ipv6 address FE80::1 link-local
ipv6 address 2001:DB8:ACAD:2::1/64
!
end
copy run start
!
!!
!! pc configs:
!! ===========
!! pca1 == 2001:DB8:ACAD:1::A/64
!! gateway: FE80::1
!!
!! pca2 == 2001:DB8:ACAD:1::B/64
!! gateway: FE80::1
!!
!! pcb1 == 2001:DB8:ACAD:2::A/64
!! gateway: FE80::1
!! ===========