Jeremy’s IT Lab lecture video:

Day 33 - IPv6 (3)


Commands


IPv6 Information

IPv6 Header

The IPv6 header is much simpler than the IPv4 header.

  • Two of the biggest differences are
    • The amount of fields in the header, as it has less fields than the IPv4 header. This helps with performance.
    • The fixed header size of 40 bytes for IPv6.

IPv6 Header - Fields

The IPv6 header consists of 8 fields in total, being:

  1. Version (4 bits)
    • Indicates the version of IP that is used.
    • Fixed value of 6 (0b0110) to indicate IPv6
  2. Traffic Class (8 bits)
    • Used for QoS (Quality of Service) to indicate high-priority traffic
  3. Flow Label (20 bits)
  4. Payload Length (16 bits)
    • Indicates the length of the payload (the encapsulated Layer 4 segment) in bytes.
  5. Next Header (8 bits)
    • Indicates the type of the ‘next header’ (header of the encapsulated segment), for example TCP or UDP.
    • Same function as the IPv4 header’s ‘protocol’ field
  6. Hop Limit (8 bits)
    • Value is decremented by 1 for each router that forwards it. If it reaches 0, the packet is discarded.
  7. Source Address (128 bits)
  8. Destination Address (128 bits)

Solicited-Node Multicast Address

An IPv6 solicited-node multicast address is calculated from a unicast address through the following calculation:

  • ff02::1:ff + the last 6 hex digits from a unicast address

Example of the solicited-node multicast address calculation

  • Example 1:
    • Unicast address: 2001 : 0db8 : 0000 : 0001 : 0f2a : 4fff : fea3 : 00b1
    • We take the last 6 hex digits and add them onto ff02::1:ff and get:
    • ff02 :: 1 : ffa3 : 00b1
  • Example 2:
    • Unicast address: 2001 : 0db8 : 0000 : 0001 : 0489 : 4eda : 073a : 12b8
    • We take the last 6 hex digits and add them onto ff02::1:ff and get:
    • ff02 :: 1: ff3a : 12b8

Neighbor Discovery Protocol (NDP)

Neighbor Discovery Protocol (NDP) is a protocol used with IPv6. It was made to replace ARP which is no longer used in IPv6.

  • It uses ICMPv6 and solicited-node multicast addresses to learn the MAC address of other hosts.
  • Two message types are used:
    1. Neighbor Solicitation (NS) = ICMPv6 Type 135
    2. Neighbor Advertisement (NA) = ICMPv6 Type 136

  • Another function of NDP is that it allows hosts to automatically discover routers on the local network.
    1. Router Solicitation (NS) = ICMPv6 Type 133
    2. Router Advertisement (NA) = ICMPv6 Type 134

IPv6 Neighbor Table

IPv6 doesn’t have an ARP Table as it doesn’t use ARP. However, it does have a neighbor table that is accessible through the command show ipv6 neighbor

Neighbor Solicitation (NS)

When an NS is sent, it uses a few different addresses:

  • The source IP is set as the sending interface’s IP
  • The destination IP is the destination’s solicited-node multicast address.
  • The source MAC is the sending interface’s MAC
  • The destination MAC is the destination’s multicast MAC address, based on the destination’s solicited-node multicast address.

Neighbor Advertisement (NA)

When an NA is sent, it uses normal address values:

  • The source IP is set as the sending interface’s IP
  • The destination IP is the destination’s IP address
  • The source MAC is the sending interface’s MAC
  • The destination MAC is the destination’s MAC address

Router Solicitation (RS)

Sent when an interface is enabled or when a host connects to a network.

  • Sent to multicast address FF02::2 (all routers).
  • Asks all routers on the local link to identify themselves.

Router Advertisement (RA)

Theses messages are sent in response to RS messages, and sometimes periodically.

  • Sent to multicast address FF02::1 (all nodes).
  • The router announces its presence, as well as other information about the network.
  • They are also sent periodically, even if the router hasn’t received an RS.

Stateless Address Auto-Configuration (SLAAC)

Stateless Address Auto-Configuration (SLAAC) is a new functionality of IPv6 that allows hosts to use the RS/RA messages to learn the IPv6 prefix of the local link, and then automatically generate an IPv6 address.

  • When you use the ipv6 address PREFIX/PREFIX-LENGTH eui-64 command, you need to manually specify the prefix.
  • However, using the ipv6 address autoconfig command, the device uses NDP to learn the prefix on the local link, and will automatically generate an IPv6 address. (The device will use EUI-64 to generate the interface identifier, or it will be randomly generated.)

Duplicate Address Detection (DAD)

Duplicate Address Detection (DAD) allows hosts to check if other devices on the local link are using the same IPv6 address

  • DAD uses to messages to perform this check:
    1. NS
    2. NA
  • Anytime an IPv6-enabled interface initializes, or an IPv6 address is configured on an interface through any method, it performs DAD
  • The host will send an NS to its own solicited-node multicast IPv6 address. If it doesn’t get a reply, it knows the address is unique.
  • However, if it gets a reply, it means the address is already in use by another host on the network.

IPv6 Routing

The way that IPv6 routing functions is the same as IPv4.

However, the two processes are separate on the router and have their own separate routing tables as well.

  • IPv4 routing is enabled by default
  • IPv6 routing is disabled by default, and must be enabled through ipv6 unicast-routing
    • If IPv6 routing is disabled, that means the router will be able to send and receive IPv6 traffic, but will not be able to route/forward IPv6 traffic.

Definitions reminder:

  • Connected network route: A route that is automatically added for each connected network.
  • Local host route: A route that is automatically added for each address configured on the router.

IPv6 route tables and Link-local addresses

Routes for link-local addresses are not added to the routing table.


IPv6 Static Routing

In IPv6 static routes are setup through this command:

ipv6 route DESTINATION/PREFIX-LENGTH {NEXT-HOP | EXIT-INTERFACE [NEXT-HOP]} [AD]

There are also three different types of static routes that are used in both IPv4 and IPv6:

  1. Directly attached
    • Only the exit-interface is specified
  2. Recursive
    • Only the next-hop is specified
  3. Fully specified
    • Both the exit-interface and next-hop are specified

IPv6 Ethernet Directly Attached routes

In IPv6, you cannot use directly attached static routes if the interface is an Ethernet interface.

  • The router will let you enter the command and it’ll look like it worked, but it will not be active and won’t be used for routing.
  • You’d have to use a recursive or fully specified route instead.

For a link-local address to be used as a next-hop, you have to also specify the exit-interface or it’ll not work.

The command would be:

ipv6 route PREFIX/PREFIX-LENGTH EXIT-INTERFACE NEXT-HOP-IP

Jeremy’s IT Lab előadásvideó:

33. Nap - IPv6 (3)


Parancsok


IPv6 Információk

IPv6 Fejléc

Az IPv6 fejléc sokkal egyszerűbb felépítésű, mint az IPv4 fejléc.

  • A két legfontosabb különbség:
    • A fejlécmezők száma: kevesebb mezőt tartalmaz, mint az IPv4 fejléc, ami javítja a feldolgozási teljesítményt.
    • A fix fejlécméret: az IPv6 fejléce mindig fixen 40 byte hosszúságú.

IPv6 Fejléc Mezői

Az IPv6 fejléc összesen 8 mezőből áll:

  1. Version (4 bit)
    • A használt IP verzióját jelzi.
    • Fix értéke 6 (0b0110), jelezve az IPv6-ot.
  2. Traffic Class (8 bit)
    • A QoS (Quality of Service) mechanizmushoz használatos a kiemelt prioritású forgalom megjelölésére.
  3. Flow Label (20 bit)
  4. Payload Length (16 bit)
    • A hasznos teher (payload, vagyis a beágyazott Layer 4 segment) hosszát adja meg byte-ban.
  5. Next Header (8 bit)
    • A következő fejléc típusát jelzi (a beágyazott segment fejlécét), pl. TCP vagy UDP.
    • Ugyanazt a szerepet tölti be, mint az IPv4 fejléc 'protocol' mezője.
  6. Hop Limit (8 bit)
    • Értéke 1-gyel csökken minden továbbító routernél. Ha eléri a 0 értéket, a csomag eldobásra kerül (az IPv4 TTL megfelelője).
  7. Source Address (128 bit) - Forrás IPv6 cím
  8. Destination Address (128 bit) - Cél IPv6 cím

Solicited-Node Multicast Cím

Az IPv6 solicited-node multicast cím egy adott unicast címből kerül kiszámításra az alábbi módszerrel:

  • ff02::1:ff + az unicast cím utolsó 6 hexadecimális számjegye

Példa a solicited-node multicast cím számítására

  • 1. Példa:
    • Unicast cím: 2001 : 0db8 : 0000 : 0001 : 0f2a : 4fff : fea3 : 00b1
    • Vesszük az utolsó 6 hex számjegyet, és hozzáfűzzük az ff02::1:ff prefixhez:
    • ff02 :: 1 : ffa3 : 00b1
  • 2. Példa:
    • Unicast cím: 2001 : 0db8 : 0000 : 0001 : 0489 : 4eda : 073a : 12b8
    • Vesszük az utolsó 6 hex számjegyet, és hozzáfűzzük az ff02::1:ff prefixhez:
    • ff02 :: 1: ff3a : 12b8

Neighbor Discovery Protocol (NDP)

A Neighbor Discovery Protocol (NDP) az IPv6 hálózatok kulcsfontosságú protokollja. Az ARP leváltására hozták létre, amely az IPv6-ban már nem létezik.

  • Az ICMPv6 protokollt és a solicited-node multicast címeket használja más hosztok MAC címének felderítésére.
  • Két fő üzenettípust használ:
    1. Neighbor Solicitation (NS) = ICMPv6 Type 135
    2. Neighbor Advertisement (NA) = ICMPv6 Type 136

  • Az NDP egy másik fontos feladata, hogy lehetővé teszi a hosztok számára a helyi routerek automatikus felderítését:
    1. Router Solicitation (RS) = ICMPv6 Type 133
    2. Router Advertisement (RA) = ICMPv6 Type 134

IPv6 Neighbor Tábla

Az IPv6 nem rendelkezik ARP táblával, mivel nem használ ARP-t. Ehelyett neighbor táblát (szomszédsági táblát) tart fenn, amely a show ipv6 neighbor paranccsal tekinthető meg.

Neighbor Solicitation (NS)

Amikor egy NS üzenet elküldésre kerül, a következő címzési mezőket használja:

  • A forrás IP a küldő interfész IP címe
  • A cél IP a céleszköz solicited-node multicast címe
  • A forrás MAC a küldő interfész MAC címe
  • A cél MAC a céleszköz multicast MAC címe, amely a cél solicited-node multicast címéből képződik

Neighbor Advertisement (NA)

Amikor egy NA üzenet elküldésre kerül válaszként, normál unicast címzést használ:

  • A forrás IP a válaszoló interfész IP címe
  • A cél IP a kérelmező IP címe
  • A forrás MAC a válaszoló interfész MAC címe
  • A cél MAC a kérelmező MAC címe

Router Solicitation (RS)

Akkor kerül elküldésre, amikor egy interfész feláll vagy egy hoszt csatlakozik a hálózathoz.

  • A cél az FF02::2 multicast cím (minden router).
  • Kéri a helyi linken lévő összes routert, hogy azonosítsák magukat.

Router Advertisement (RA)

Ezeket az üzeneteket a routerek küldik az RS üzenetekre válaszul, illetve rendszeres időközönként.

  • A cél az FF02::1 multicast cím (minden csomópont).
  • A router meghirdeti a jelenlétét, valamint a hálózatra vonatkozó beállítási információkat (pl. hálózati prefix).
  • Periodikusan is kiküldésre kerülnek, még akkor is, ha nem érkezett RS kérés.

Stateless Address Auto-Configuration (SLAAC)

A Stateless Address Auto-Configuration (SLAAC) az IPv6 olyan mechanizmusa, amely lehetővé teszi a hosztok számára, hogy az RS/RA üzenetekből megtanulják a helyi hálózati IPv6 prefixet, majd automatikusan előállítsák a saját IPv6 címüket.

  • Amikor az ipv6 address PREFIX/PREFIX-LENGTH eui-64 parancsot használod, a prefixet manuálisan kell megadnod.
  • Az ipv6 address autoconfig parancs kiadásakor azonban az eszköz az NDP segítségével deríti fel a helyi prefixet, és teljesen automatikusan generálja le a teljes IPv6 címet (az interface identifiert EUI-64 vagy véletlenszerű eljárással képezve).

Duplicate Address Detection (DAD)

A Duplicate Address Detection (DAD) mechanizmussal a hosztok ellenőrzik, hogy a helyi hálózaton más eszközök használják-e már ugyanazt az IPv6 címet.

  • A DAD az alábbi üzeneteket használja az ellenőrzéshez:
    1. NS
    2. NA
  • Minden alkalommal, amikor egy IPv6-képes interfész feláll, vagy bármilyen módszerrel IPv6 címet konfigurálnak rajta, a folyamat automatikusan lefutatja a DAD vizsgálatot.
  • A hoszt egy NS üzenetet küld a saját leendő solicited-node multicast címére. Ha nem érkezik válasz, az eszköz biztos benne, hogy a cím egyedi.
  • Ha viszont érkezik válasz (NA), az azt jelenti, hogy a cím már használatban van a helyi linken, így az interfész tiltásra kerül erre a címre vonatkozóan.

IPv6 Routing

Az IPv6 routing működési elve teljesen azonos az IPv4 routinggal.

Azonban a két folyamat logikailag elkülönül a routeren, és teljesen különálló routing táblákat kezelnek.

  • Az IPv4 routing alapértelmezetten engedélyezve van.
  • Az IPv6 routing alapértelmezetten le van tiltva, és külön engedélyezni kell az ipv6 unicast-routing paranccsal.
    • Ha az IPv6 routing le van tiltva, a router képes küldeni és fogadni a saját IPv6 forgalmát, de nem fog IPv6 csomagokat átirányítani / továbbítani más hálózatok között.

Fogalom-emlékeztető:

  • Connected network route: Automatikusan bekerülő útvonal minden közvetlenül csatlakoztatott hálózathoz.
  • Local host route: Automatikusan bekerülő /128-as útvonal a router interfészére konfigurált címekhez.

IPv6 routing táblák és Link-local címek

A link-local címekhez tartozó útvonalak nem kerülnek be a routing táblába.


IPv6 Statikus Útválasztás (Static Routing)

Az IPv6 statikus útvonalak az alábbi paranccsal adhatók meg:

ipv6 route DESTINATION/PREFIX-LENGTH {NEXT-HOP | EXIT-INTERFACE [NEXT-HOP]} [AD]

Ugyanaz a három static route típus létezik mind IPv4-ben, mind IPv6-ban:

  1. Directly attached
    • Csak az exit-interface kerül megadásra
  2. Recursive
    • Csak a next-hop kerül megadásra
  3. Fully specified
    • Mind az exit-interface, mind a next-hop meg van határozva

IPv6 Ethernet Directly Attached útvonalak

Az IPv6-ban nem használhatók directly attached statikus útvonalak, ha a kimenő interfész egy Ethernet interfész.

  • A router engedi a parancs beírását, és úgy tűnik, mintha működne, de valójában nem válik aktívvá, és nem fogja használni csomagtovábbításra.
  • Helyette recursive vagy fully specified statikus útvonalat kell használni.

Ahhoz, hogy egy link-local címet használhass next-hop címként, kötelező megadni a kimenő exit-interface-t is, különben nem fog működni.

A parancs formátuma:

ipv6 route PREFIX/PREFIX-LENGTH EXIT-INTERFACE NEXT-HOP-IP