IS-IS for IPv6 Technology White Paper(GRE not Supported)

Keywords: IS-IS, IS-ISv6, IPv4, IPv6

Abstract: IS-ISv6 was developed based on IS-IS to route packets in IPv6 networks. This document describes the IS-ISv6 implementation and configuration examples.

Acronyms:

Acronyms

Full spelling

CLNS

Connectionless-mode Network Service

CONS

Connection Oriented Network Service

CLNP

Connectionless-mode Network Protocol

CONP

Connection Oriented Network Protocol

IS-IS

Intermediate System-to-Intermediate System intra-domain routing information exchange protocol

IS-ISv6

Intermediate System to Intermediate System Routing Protocol support for IPv6

ES-IS

End System to Intermediate System Routing Exchange Protocol

IS

Intermediate System

ES

End System

NLPID

Network Layer Protocol Identifier

 



Introduction

IS-IS is a link state dynamic routing protocol originally designed for OSI networks. IS-IS was later extended to Integrated IS-IS that can be applied in IPv4 networks.

To route packets in IPv6 networks, IS-IS was extended to IS-ISv6.

Implementation

2.1  New TLVs in IS-ISv6

As specified in IETF draft-ietf-isis-ipv6-05, two Type Length Values (TLVs) are added and an NLPID field with a value of 0x81 is added to the protocol TLV to support IPv6

2.1.1  IPv6 Reachability TLV

IPv6 reachability TLV in IS-ISv6 corresponds directly to common reachability TLV (type-length-value) and extended reachability TLV in IS-IS. The following figure shows the IPv6 reachability TLV format.

Figure 1  IPv6 reachability TLV format

The significant fields are described as follows:

l              Type: A value of 236 indicates that this TLV is an IPv6 reachability TLV.

l              Length: TLV length.

l              Metric: Extended metric, in the range 0 to 4261412864. If the metric value is greater than 4261412864, the IPv6 reachability information will be ignored.

l              U: Up/Down bit, used to prevent routing loops. When a route is advertised from a Level-2 router to a Level-1 router, this field is set to 1 to prevent the route from being looped back.

l              X: Route redistribution bit. A value of 1 means the route is redistributed from another protocol.

l              S: If a TLV carries no sub-TLVs, this field is set to 0; otherwise, it is set to 1, meaning the IPv6 prefix is followed by sub-TLV information.

l              Reserve: This field is reserved.

l              Prefix Length: IPv6 route prefix length.

l              Prefix: IPv6 route prefix.

l              Sub-TLV/Sub-TLV Length: Sub-TLV and its length, optional.

2.1.2  IPv6 Interface Address TLV

IPv6 interface address TLV maps directly to IPv4 interface address TLV in IS-IS. The following figure shows the IPv6 interface address TLV format:

Figure 2  IPv6 interface address TLV format

The significant fields are described as follows:

l              Type: A value of 232 indicates that this TLV is an IPv6 interface address TLV.

l              Length: TLV length.

l              Interface Address: IPv6 address of the interface. For Hello PDUs the "Interfaces Address" TLV must contain only the link-local IPv6 addresses assigned to the interface which is sending the Hello. For LSPs, the "Interfaces Address" TLVs must contain only the non-link-local IPv6 addresses assigned to the IS, namely, the IPv6 global unicast addresses assigned to the interface.

l              *: It means this is optional.

2.1.3  Protocol TLV

A protocol TLV specifies the protocol supported on the router originating the PDU. A protocol TLV has an NLPID corresponding to each protocol supported. For a router supporting IS-ISv6, an NLPID field with a value of 0x81 needs to be added to the TLV.

Figure 3  Protocol TLV

2.2  IS-ISv6 Adjacency

IS-IS uses Hello packets to discover neighbor routers and establish adjacencies with them. After an adjacency is established between two routers, they periodically send Hello packets to each other to maintain the adjacency. In IS-ISv6, the Hello packet is extended to support IPv6:

l              An 8-bit NLPID is added to the protocol TLV. A value of 0x81 for this NLPID means the current router supports IS-ISv6.

l              In the Hello packets, the IPv6 interface address TLV is added and is filled with the IPv6 link-local address.

IS-ISv6 Configuration Examples

3.1  Pure IS-ISv6 Networking

1. Network Diagram

Figure 4  A typical IPv6 IS-IS network

2. Network Requirements

It is required to achieve interoperability in IPv6 networks through IS-ISv6. As shown in Figure 4 , routing domain 1 is an IPv6 routing domain. The core area and Level-1 areas all use IPv6. IS-ISv6 is enabled on all the ISs in the areas.

3.2  IS-ISv4/v6 Networking

3.2.1  IS-ISv4/v6 Networking over an IPv4/v6 Backbone

1. Network Diagram

Figure 5  ISISv4/v6 network

2. Network Requirements

It is required to achieve interoperability in an IPv4/IPv6 network by using IS-IS and IS-ISv6. As shown in Figure 5 , routing domain 1 is an IPv4/IPv6 routing domain.

l              Construct an IPv4/IPv6 backbone, namely, Area 49, where all the ISs are enabled with both IS-IS and IS-ISv6.

l              Configure the area type of Level-1 areas as IPv4, IPv6, or IPv4/IPv6 based on user requirements: configure Area 49.01 as an IPv6 area, Area 49.02 as an IPv4 area, and Area 49.03 and Area 49.04 as IPv4/IPv6 areas.

l              In this IPv4/IPv6 internet, IPv4 interoperability can be implemented between Area 49.02, Area 49.03, Area 49.04, and Area 49; IPv6 interoperability can be implemented between Area 49.01, Area 49.03, Area 49.04, and Area 49.

This IPv4/IPv6 network configuration scheme is simple, featuring clear networking framework and good scalability. You can add or remove Level-1 areas as needed to implement gradual transition from IPv4 networks to IPv6 networks.

3.2.2  IS-ISv6 Over IPv4 Through GRE

1. Network Diagram

Figure 6  Network diagram for IS-ISv6 over IPv4 through GRE

2. Network Requirements

IS-ISv6 can implement interoperability between isolated IPv6 networks over an IPv4 network. The solution is as follows:

Configure an IPv6 GRE tunnel on two IS-ISv6 neighboring routers so that the two routers are logically interconnected over an IPv4 network.

As shown in Figure 6 , create and configure Tunnel 0 on Router A and Router B, and enable IS-ISv6 on Tunnel 0. Router A and Router B establish an adjacency with each other by sending IS-IS packets through Tunnel 0.

The advantages of using GRE tunnels to interconnect IPv6 networks over an IPv4 network are as follows:

l              Only the routers in IPv6 networks need to run IS-ISv6.

l              Within the IPv4 network, you can choose routing protocols as needed.

The configuration, however, is quite complex and requires good network planning.

Guidelines

Figure 7  Network diagram for typical IS-ISv6 networking

Currently, the H3C implementation of IS-ISv6 supports only single-topology structures, where IS-ISv4 and IS-ISv6 share the same topological information. For IS-ISv6 to operate normally on IPv4, IPv6, or IPv4/IPv6 networks, for generation of correct and contiguous IPv4 and IPv6 routing information and for avoidance of interference between IPv4 and IPv6 routing information, the following restrictions need to be followed (take Figure 7  as an example).

(1)          All the ISs in an area must be enabled with IS-IS, IS-ISv6 or both. All the IS-IS interfaces on a router must be enabled with IS-IS, IS-ISv6 or both.
(2)          Based on whether IS-ISv4 or IS-ISv6 is enabled on the routers in areas, the areas fall into three categories:

l              IPv4 area, for example, Area 49.0001 and Area 49.0004 shown in Figure 7 . All the ISs in an IPv4 area are enabled with IS-IS only and forward IPv4 packets only.

l              IPv6 area, for example, Area 49.0002 shown in Figure 7 . All the ISs in an IPv6 area are enabled with IS-ISv6 only and forward IPv6 packets only.

l              IPv4/IPv6 area, for example, Area 49.0003 shown in Figure 7 . In this area, all the ISs are enabled with both IS-IS and IS-ISv6 and forward both IPv4 and IPv6 packets.

(3)          Routing domains also fall into three categories: IPv4, IPv6, and IPv4/IPv6.

l              IPv4 routing domain: The core area and Level-1 areas are IPv4 areas and forward IPv4 packets only.

l              IPv6 routing domain: The core area and Level-1 areas are IPv6 areas and forward IPv6 packets only.

l              IPv4/IPv6 routing domain: The core area must be an IPv4/IPv6 area, and Level-1 areas can be IPv4, IPv6, or IPv4/IPv6. Figure 7 depicts a IPv4/IPv6 routing domain. In this routing domain, IPv4 interoperability can be implemented between IPv4 areas (Level-1) and Dual IP areas (Level-1) through the core area; IPv6 interoperability can be implemented between IPv6 areas (Level-1) and Dual IP areas (Level-1) through the core area.

(4)          A routing domain cannot contain an IPv4 core and an IPv6 core. For a core area to be capable of routing both IPv4 and IPv6 packets, you have to configure the core area as an IPv4/IPv6 area.

References

l              ISO10589: ISO IS-IS Routing Protocol

l              RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual Environments

l              draft-ietf-isis-ipv6-05

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2008 Hangzhou H3C Technologies Co., Ltd. All rights reserved.

No part of this document may be reproduced or transmitted in any form or by any means without prior written consent of H3C Technologies Co., Ltd.

This document is subject to change without notice.