IPv6: From JUNOS

  • IPv6 – 128 bits and represented in hexa decimal format.
  • Each IPv6 packet has 40-byte header. Following fields are available:
    • Version – 4 bits – set to 0x6
    • Class – 1 octet – Used for class of service
    • Flow label – 20 bits – Used for maintaining a flow of traffic. Sending host place a unique value. Routers that do not support will ignore or reset to 0x00000.
    • Payload length – 2 octets – set the max IPv6 packet size to 65,575 bytes
    • Next header – 1 octet –encodes the value of header that follows this header. If there is no other header, it is replaced by protocol field as in IPv4 packet. 6 for TCP. 17 for UDP etc.
    • Hop Limit – 1 octet – Same as TTL.
    • Source address and destination address– 16 octets each.
  • Typically used next-headers:
    • Hop-by-hop options header – value 0
    • Routing header – value 43
    • Fragment header – value 44
    • Destination options header – value 60
  • Hop-by-hop header:
    • Used to notify other routers along the path about special handling requirement of packet.
    • Will be processed by all routers in the path.
    • Have next-header, length field and data in TLV format.
    • Used for padding the entire packet to 64-bit, router-alert as for RSVP path message.
  • Routing header:
    • Source routing in IPv6 is implemented using this header. Contains list of nodes packet must pass on its way to destination.
    • Have next-header, length field, Routing type (0-loose source routing, 1-strict SRC routing), segments left (address left in header) and all intermediate routers address for routing.
  • Fragment Header:
    • In IPv6, routers will not perform fragmentation. SRC host will determine the maximum MTU it can use to communicate with destination.
    • If the packets are larger than path MTU, SRC will fragment the packets and send as multiple packets each containing fragment header.
    • It contains fragment offset field – 2 octets – [13 bits is fragment offset : xx : M bit]. If M =0 implies last fragment, and identification field.
  • Destination options header:
    • Used to notify destination about packet-handling.
    • Currently used for 64-bit boundary.

IPv6 routing protocols:

  • New protocol for RIP and OSPF is used. And ISIS and BGP are extended to support IPv6.
  • IPv6 routes are stored in ‘inet6.0’ route table.
  • RIPng:
    • Configure ‘neighbor <interface>’ and ‘export’ policy under [edit protocols ripng].
  • OSPFv3:
    • Same configuration as for OSPFv3. Configure area, interfaces under [edit protocols ospf3]
  • ISIS:
    • No Special configuration required. TLV used to advertise IPv6 prefix, when the interface configured with IPv6 address is included in ISIS configuration.
  • BGP:
    • IPv6 are advertised using Multiprotocol BGP (MBGP).
    • Enable ‘family inet6 unicast’ command inside group/neighbor to advertise/receive IPv6.

Sample IPv6 BGP configuration:

root@Juniper> show configuration interfaces em0

unit 0 {

family inet6 {

address FEC0:0:0:1111::2/64;

}

}

root@Juniper> show configuration interfaces lo0

unit 0 {

family inet {

address 1.1.1.1/32;

}

}

root@Juniper> show configuration protocols bgp

group ipv6-external {

type external;

family inet6 {

unicast;

}

peer-as 65020;

neighbor FEC0:0:0:1111::1;

}

root@Juniper> show bgp summary

Groups: 1 Peers: 1 Down peers: 0

Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending

inet6.0 2          1          0          0          0          0

Peer               AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Damped…

fec0:0:0:1111::1 65020         16         17       0       1        5:16 Establ

inet6.0: 1/2/0

root@Juniper> show route table inet6.0 protocol bgp

fec0:0:0:1111::/64

[BGP/170] 00:03:31, MED 0, localpref 100

AS path: 65020 ?

> to fec0:0:0:1111::1 via em0.0

fec0:5:5:5555::5/128

*[BGP/170] 00:03:31, MED 0, localpref 100

AS path: 65020 ?

> to fec0:0:0:1111::1 via em0.0

root@Juniper> show bgp neighbor

Peer: fec0:0:0:1111::1+179 AS 65020 Local: fec0:0:0:1111::2+63092 AS 65010

Type: External    State: Established    Flags: <Sync>

Last State: OpenConfirm   Last Event: RecvKeepAlive

Last Error: None

Options: <Preference AddressFamily PeerAS Refresh>

Address families configured: inet6-unicast

Holdtime: 90 Preference: 170

Number of flaps: 1

Last flap event: Closed

Error: ‘Open Message Error’ Sent: 0 Recv: 1

Peer ID: 100.100.100.100  Local ID: 1.1.1.1          Active Holdtime: 90

Keepalive Interval: 30         Peer index: 0

BFD: disabled, down

Local Interface: em0.0

NLRI advertised by peer: inet6-unicast

NLRI for this session: inet6-unicast

Peer supports Refresh capability (2)

Table inet6.0 Bit: 10000

RIB State: BGP restart is complete

Send state: in sync

Active prefixes:              1

Received prefixes:            2

Suppressed due to damping:    0

Advertised prefixes:          0

Last traffic (seconds): Received 7    Sent 7    Checked 7

Input messages:  Total 19     Updates 1       Refreshes 0     Octets 475

Output messages: Total 20     Updates 0       Refreshes 0     Octets 432

Output Queue[0]: 0

<Other end cisco config>

R0#show run | sec bgp

router bgp 65020

no synchronization

bgp log-neighbor-changes

neighbor FEC0:0:0:1111::2 remote-as 65010

no neighbor FEC0:0:0:1111::2 activate

no auto-summary

!

address-family ipv6

neighbor FEC0:0:0:1111::2 activate

redistribute connected

no synchronization

exit-address-family

R0#show run int fa 0/1

interface FastEthernet0/1

ip address 10.1.2.1 255.255.255.0

duplex auto

speed auto

ipv6 address FEC0:0:0:1111::1/64

end

R0#show run int lo0

interface Loopback0

ip address 2.2.2.2 255.255.255.255

ipv6 address FEC0:5:5:5555::5/128

end

Advertisements
This entry was posted in IPv6, jncis, Junos and tagged , , . Bookmark the permalink.

One Response to IPv6: From JUNOS

  1. Pingback: IPv6: From JUNOS | Macro 32 Ramblings

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s