Docstoc

Abstract

Document Sample
Abstract Powered By Docstoc
					IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu




Abstract
The Internet was originally an experimental research network connecting a few dozen
universities, military installations and government contractors, but today the Internet has grown
to become the global information infrastructure. The Internet’s exponential and continual growth
consumes IPv4 addresses at an alarming rate. Because of the lack of IPv4 address space the next
generation Internet Protocol (IPv6) is being introduced. IPv6 has an enormous address space and
it also has optional security and other optional features built in to the protocol.

This thesis makes an attempt at prioritizing what intra-domain routing protocol will be used with
IPv6 and giving some requirements for an IPv6 router. It also introduces how IPv6 will be used
in the roll out of all IP 3G mobile networks and other applications such as virtual private
network, voice over IP and home broadband access.

The report includes a brieft description of IPv6 followed by a description of considered intra-
domain routing protocols and a study that shows the advantages and drawbacks of each routing
protocol. Also described are the enhancements and new features of using IPv6 in different
applications.

The practical part of this thesis is to test IPv6 capabilities for Ericsson's multi-service switch
forwarding engine (AXD301) in simulated environment and implement an Erlang version of
Routing Information Protocol for IPv4 (RIPv2) for AXD301. The implementation later can be
changed lightly to RIP for IPv6 so as to be used as a testbed for AXD301 in concerning IPv6
routing issues.




                                                                                                 1 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu




Acknowledgements
Without the following persons this thesis work would not have been possible:

Lars Ernström, advisor Ericsson AB
Jonas Willén, advisor KTH
Björn Pehrson, examiner KTH

We sincerely thank you!

Many thanks go out to the following people at Ericsson AB who provided immeasurable help
during our thesis work: Mattias Rimbark, Kjell Rask, Håkan Stenholm, Ola Samuelsson,
Zhen Sun, Andreas Töyrä for their patient support.

We would also like to thank all the helpful people at Ericsson AB, who most professionally
answered all our questions and helped us with every-day problems.




                                                                                             2 [74]
IPv6 forwarding engine and internetwork routing protocols                                                                   Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                                               Jianxin Wu




Table of Contents
ABSTRACT .................................................................................................................................................. 1
ACKNOWLEDGEMENTS ......................................................................................................................... 2
TABLE OF CONTENTS ............................................................................................................................. 3
1    INTRODUCTION ............................................................................................................................. 10
  1.1 REPORT STRUCTURE ......................................................................................................................... 10
  1.2 PROJECT BACKGROUND .................................................................................................................... 10
  1.3 PROJECT OBJECTIVES ....................................................................................................................... 11
2    THE IPV6 PROTOCOL ................................................................................................................... 12
  2.1 THE NEED AND FEATURES OF IPV6................................................................................................... 12
  2.2 THE DESIGN OF IPV6........................................................................................................................ 13
     2.2.1 The IPv6 Header Format........................................................................................................ 13
     2.2.2 Internet Control Message Protocol version 6......................................................................... 15
  2.3 ROUTING AND ADDRESSING ............................................................................................................. 16
     2.3.1 IPv6 Address Architecture...................................................................................................... 16
     2.3.2 IPv6 Routing........................................................................................................................... 22
  2.4 AUTO-CONFIGURATION .................................................................................................................... 22
     2.4.1 Mechanisms ............................................................................................................................ 22
     2.4.2 Procedure ............................................................................................................................... 23
  2.5 IPV6 QUALITY OF SERVICE CAPABILITIES ........................................................................................ 24
     2.5.1 Flow Labels ............................................................................................................................ 24
     2.5.2 Traffic Classes ........................................................................................................................ 24
     2.5.3 Jumbograms ........................................................................................................................... 24
  2.6 IPV6 SECURITY ................................................................................................................................ 24
  2.7 MOBILITY ......................................................................................................................................... 25
3    THE INTRA-DOMAIN ROUTING PROTOCOLS ....................................................................... 26
  3.1 ROUTING INFORMATION PROTOCOL ................................................................................................. 26
     3.1.1 Design Principles ................................................................................................................... 26
     3.1.2 Comparisons between RIPng and RIPv2................................................................................ 27
  3.2 OSPF ROUTING PROTOCOL............................................................................................................... 29
     3.2.1 Protocol Overview .................................................................................................................. 29
     3.2.2 Design Principles ................................................................................................................... 29
     3.2.3 Algorithms .............................................................................................................................. 30
     3.2.4 Protocol format....................................................................................................................... 30
     OSPF for IPv6 ..................................................................................................................................... 36
  3.3 IS-IS ROUTING PROTOCOL ............................................................................................................... 37
     3.3.1 Protocol Overview .................................................................................................................. 37
     3.3.2 Design Principles ................................................................................................................... 37
     3.3.3 Algorithms .............................................................................................................................. 37
     3.3.4 Protocol Format ..................................................................................................................... 38
     3.3.5 IS-IS for IPv6.......................................................................................................................... 39
  3.4 ADVANTAGES AND DRAWBACKS...................................................................................................... 40
     3.4.1 RIP.......................................................................................................................................... 40
     3.4.2 OSPF ...................................................................................................................................... 40
     3.4.3 IS-IS ........................................................................................................................................ 41
  3.5 CONCLUSIONS ABOUT THE ROUTING PROTOCOLS ............................................................................. 41
  3.6 REQUIREMENTS FOR AN IPV6 ROUTER............................................................................................. 41
     3.6.1 Protocol Transition Requirements.......................................................................................... 41
     3.6.2 Routing Protocol Requirements.............................................................................................. 42
4    AXD301............................................................................................................................................... 44
5    IPV6 AND THE 3G NETWORKS ................................................................................................... 46
  5.1 ALL-IP BASED UMTS NETWORKS .................................................................................................. 46



                                                                                                                                                     3 [74]
IPv6 forwarding engine and internetwork routing protocols                                                                Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                                            Jianxin Wu


  5.2 OVERVIEW OF UMTS NETWORKS.................................................................................................... 47
     5.2.1 UTRAN architecture basics .................................................................................................... 47
     5.2.2 CN architecture basics ........................................................................................................... 49
  5.3 THE USE OF IP AND IPV6 IN UMTS NETWORKS .............................................................................. 49
     5.3.1 Overview of IP in RANs.......................................................................................................... 49
     5.3.2 Overview of IP and IPv6 in Core Networks............................................................................ 50
  5.4 UMTS CONCLUSIONS ...................................................................................................................... 50
6    OTHER POSSIBLE APPLICATIONS............................................................................................ 52
  6.1 VIRTUAL PRIVATE NETWORK ........................................................................................................... 52
     6.1.1 Addressing and Routing in VPN with IPv6............................................................................. 52
     6.1.2 Security and QoS in VPN with IPv6 ....................................................................................... 52
     6.1.3 The role of AXD301 in VPN ................................................................................................... 53
  6.2 VOICE OVER IP................................................................................................................................. 53
     6.2.1 QoS provided by IPv6............................................................................................................. 54
     6.2.2 Secure end-to-end voice communication provided by IPv6.................................................... 54
     6.2.3 The role of AXD301 in VoIP................................................................................................... 55
  6.3 IPV6 AND HOME BROADBAND ACCESS ............................................................................................. 55
7    INTERNAL INFORMATION.......................................................................................................... 57
  7.1 IMPLEMENTATIONS OF ERLANG RIP PROTOTYPE FOR AXD301 ....................................................... 57
     7.1.1 AXD301 Software Structure ................................................................................................... 57
     7.1.2 Overview of Label Switching Subsystem................................................................................. 57
     7.1.3 Current implementation of RIP .............................................................................................. 60
     7.1.4 RIP Implementation Design.................................................................................................... 61
8    CONCLUSIONS ................................................................................................................................ 64
  8.1 SUMMARY OF THE RESULTS.............................................................................................................. 64
     8.1.1 IPv4 versus IPv6..................................................................................................................... 64
     8.1.2 IPv6 in 3G mobile networks and other applications .............................................................. 64
  8.2 FUTURE WORK.................................................................................................................................. 65
REFERENCES ........................................................................................................................................... 66
  8.3 LITERATURE ..................................................................................................................................... 66
  8.4 WEB RESOURCES ............................................................................................................................. 70
9    APPENDICES.................................................................................................................................... 71




                                                                                                                                                  4 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu



Abbreviations
IETF                Internet Engineering Task Force

IPv4                Internet Protocol version 4

IPv6                Internet Protocol version 6

3G                  3rd Generation Wireless Communication Systems

ATM                 Asynchronous Transfer Mode

IP                  Internet Protocol

FR                  Frame Relay

OSPF                Open Shortest Path First Protocol

IS-IS               Intermediate System to Intermediate System Protocol

RIP                 Routing Information Protocol

RIPng               Routing Information Protocol for IPv6

RIPv2               RIP version 2

BGP                 Border Gateway Protocol

VPN                 Virtual Private Network

RFC                 Request for Comments

NAT                 Network Address Translator

DHCP                Dynamic Host Configuration Protocol

IPSec               Internet Protocol Security

QoS                 Quality of Service

TOS                 Type of Service

UDP                 User Datagram Protocol

TCP                 Transmission Control Protocol

ICMP                Internet Control Message Protocol

ICMPv6              Internet Control Message Protocol version 6

IGMP                Internet Group Membership Protocol


                                                                                             5 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


CIDR                Classless Inter-Domain Routing

NSAP                Network Access Service Point

IPX                 Internet Packet Exchange

TLA ID              Top Level Aggregator Identifier

NLA ID              Next Level Aggregator Identifier

SLA ID              Site Level Aggregator Identifier

DNS                 Domain Name System

IDRP                Inter-Domain Routing Protocol

ND                  Neighbor Discovery

RSVP                Resource ReServation Protocol

MTU                 Maximum Transmission Unit

AH                  Authentication Header

ESP                 Encapsulated Security Payload

IGP                 Interior Gateway Protocol

RTE                 Route Table Entry

AFI                 Address Family Identifier

RT                  Route Tag

AS                  Autonomous System

SPF                 Shortest-Path-First algorithm

FDDI                Fiber Distributed Data Interface

LSA                 Link State Advertisement

DR                  Designated Router

DD                  Database Description

ISO                 International Organization for Standardization

OSI                 Open System Interconnection

CLNP                ISO Connectionless Network Protocol



                                                                                             6 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


IS                  Intermediate System

ES                  End Systems

SNP                 Sequence-Number Packet

TLV                 Type Length Value

NLRI                Network Layer Reachability Information

MPLS                Multi Protocol Label Switching

ITU                 International Telecommunication Union

OTP                 Open Telecom Platform

PBX                 Private Branch eXchange

UMTS                Universal Mobile Telecommunications System

WCDMA               Wideband Code Division Multiplexing Access

3GPP                3rd Generation Partnership Project

RAN                 Radio Access Network

CN                  Core Network

O&M                 Operational & Management

UE                  User Equipment

SIP                 Session Initiation Protocol

UTRAN               UMTS Terrestrial Radio Access Network

3GPP-UTRAN UMTS architecture developed by 3GPP

RNS                 Radio Network Subsystems

FDD                 Frequency Division Duplex

TDD                 Time Division Duplex

DRNC                Drift RNC

SRNC                Serving RNC

CRNC                Controlling part of RNC

RRC                 Radio Resource Control



                                                                                             7 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


RNS                 Radio Network Subsystem

RAB                 Radio Access Bearer

DRNS                Drift RNS

SRNS                Serving RNS

SND                 Serving Network Domain

HND                 Home Network Domain

TND                 Transit Network Domain

USIM                Universal Subscriber Identity Module

IP-RAN              IP enabled Radio Access Network

MWIF                Mobile Wireless Internet Forum

3GPP2               3rd Generation Partnership Project 2

CDMA2000            Code Division Multiple Access 2000

RNL                 Radio Network Layer

MIPv4               Mobile IPv4

MIPv6               Mobile IPv6

ISP                 Internet Service Provider

GPRS                General Packet Radio Service

HLR                 Home Location Register

GSN                 GPRS Support Node

ISDN                Integrated Services Digital Network

GSM                 Global System for Mobile Communications

MGW                 Media Gateway

TDM                 Time Division Multiplexing

PSTN                Public Switched Telephone Network

RAS                 Remote Access Server

ISAKMP              IP Security Association Key Management Protocol



                                                                                             8 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


CoS                 Class of Service

SP                  Service Provider

CE                  Customer edge

PE                  Provider edge

VRF                 VPN Routing Forwarding

VoIP                Voice over IP

RTP                 Real-Time Transport Protocol

PTB                 Packet Termination Board

LSS                 Label Switching Subsystem

LSR                 Label Switch Router

LER                 Label Edge Router

LSP                 Label Switched Path

CR-LSP              Constraint-based LSP

FIM                 Forwarding Information Manager

LDP                 Label Distribution Protocol

LIM                 Label Information Manager

MSF                 MPLS System Functions

TE                  Traffic Engineering

MHR                 MPLS Resource Handler

LSSD                Subsystem LSS on-line Documentation

NECM                Network Element Configuration Management and MSF




                                                                                             9 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu




1 Introduction
This document is the written account of a M. Sc. thesis project made at Ericsson AB, Stockholm,
in cooperation with The Royal Institute of Technology, the department of Microelectronics and
Information Technology. The project took place during six-month period from September 2001
to March 2002.


1.1 Report structure
To lay the foundations of this report we will introduce the project, a short background and the
project objectives in this chapter 1 - Introduction. The Internet Protocol version 6 (IPv6) is
presented in chapter 2 - The IPv6 Protocol. The following chapter, 3 - The Intra-Domain Routing
Protocols, further studies the IPv6 routing issues. Chapter 4 - AXD301, is a short presentation of
Ericsson's multi-service ATM switch. In the subsequent chapter 5 - IPv6 and the 3G Networks
and 6 - Other possible applications is an analysis of the use of IPv6 in different applications.
Chapter 7 - Internal Information is a description of our practical work at Ericsson AB.
Concluding the thesis, chapter 8 - Conclusions, states the authors' view as well as indicating
possible paths for future work.


1.2 Project background
The Internet was originally an experimental research network connecting a few dozen
universities, military installations and government contractors, but today the Internet has grown
to become the global information infrastructure. The Internet’s exponential and continual growth
consumes IPv4 addresses at an alarming rate. Investigation shows that Class B address space has
already been exhausted by 1994 and all the IPv4 classless addresses will be consumed between
2005 and 2011. Running out of IP addresses in turn will e.g. prevent use of the Internet for new
users, force users to use private addresses. Ironically IPv4 becomes a victim of its own success.
The Internet could not have been so successful in the past years if IPv4 had any major flaw. IPv4
was a very good design, and IPv6 is designed to keep most of its characteristics. In fact, it could
have been sufficient to simply increase the size of addresses and keep everything else unchanged.
However, years of internetworking experience brought lessons. IPv6 is built on this additional
knowledge. Therefore IPv6 is not a simple derivative of IPv4, but a definitive improvement.

IPv6 was designed by the Internet Engineering Task Force (IETF) and is intended to replace
IPv4. The new version promises to bring improvements for addressing, management, and security
as well as more support for mobile devices. The launch of 3G mobile communications will
multiply the number of devices requiring IP addresses. Thus 3G is a major driving factor for the
wide adoption of IPv6.

Ericsson's AXD301 is a multi service switch supporting ATM, IP, FR and circuit emulation.
Currently IPv4 protocol suit is supported, but IPv6 protocol suit will be added in the near future
so that AXD301 can support both intra-domain routing protocols e.g. OSPF, IS-IS, RIP and inter-
domain routing protocols e.g. BGP.




                                                                                             10 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu



1.3 Project objectives
·    Do some research work on IPv6 routing, on how IPv6 will be used in all IP 3G mobile
     networks as well as the roll of IPv6 when VPN, voice over IP and home broadband access
     are concerned.

·    Test IPv6 capabilities for AXD301 forwarding engine.

·    Implement an Erlang version of Routing Information Protocol (RIP) for AXD301 so that a
     performance comparison between RIP implemented in C++ and its Erlang version can be
     made. Future implementation of RIPng in Erlang version would rely on this RIP Erlang
     version.




                                                                                             11 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu




2 The IPv6 Protocol
This chapter will give a short description about the limitations of current Internet Protocol (IP
version 4) and an overview of version 6 of the Internet Protocol.


2.1 The need and features of IPv6
The current version Internet Protocol, IP Version 4 (IPv4) [6] has its roots in early military
networks of the 1970s, but it's been within the past decade that IP has made its unstoppable
conquest of the world's networks. IPv4 has proven to be robust, easily implemented and
interoperable, and has stood the test of scaling an internetwork to a global utility the size of
today’s Internet. This is a tribute to its initial design. However, it is beginning to have problems
that are stated below:

·    Most importantly, the recent exponential growth of the Internet and the impending
     exhaustion of the IPv4 address space, which are needed by all new machines added to the
     Internet. IPv4 addresses have become a relatively limited asset, forcing the usage of Network
     Address Translator (NAT) [54] to map multiple private addresses to a single public IP
     address. But NAT does not support applications that rely on end-to-end IP addressing; it
     causes single point of failure, network performance penalty and can create problems when
     connecting two or more networks that use the private address space.

·    The growth of the Internet and the ability of Internet backbone routers to maintain large
     routing tables. Because of the way that IPv4 network IDs have been and are currently
     allocated, there are routinely over 70,000 routes in the routing table of the Internet backbone
     routers. The current IPv4 Internet routing infrastructure is a combination of both flat and
     hierarchical routing.

·    The need for simpler configuration: existing IPv4 implementations must be either manually
     configured or use a stateful address configuration protocol such as Dynamic Host
     Configuration Protocol (DHCP) [7]. There is a need for a simpler and more automatic
     configuration of addresses and other configuration settings so that a machine, a computer,
     will automatically discover and register the parameters that it needs to use to connect to the
     Internet without relying on the administration of a DHCP infrastructure.

·    The requirement for security at the IP level: There is a great demand for security. Private
     communication over a public medium like the Internet requires encryption service that
     protects the data being sent from being viewed or modified in transit. Although standard IP-
     level authentication and encryption procedures are defined to provide security for IPv4
     packets (known as Internet Protocol security or IPSec [8]), this standard is optional and
     proprietary solutions are prevalent.

·    The need for better support for real-time delivery of data, also called quality of service
     (QoS): Real-time traffic support relies on the IPv4 Type of Service (TOS) field and the
     identification of the payload by using a UDP or TCP port. The TOS field has limited
     functionality and payload identification using a TCP and UDP port is not possible when the
     IPv4 packet payload is encrypted.




                                                                                                12 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


To address these concerns, the IETF has developed a suite of protocols and standards known as
IP version 6 (IPv6). The new IP protocol keeps most of IPv4:s characteristics because of its very
good design but there are some changes in the header format (see section 2.2) which provide the
following features of the IPv6 protocol:

·    New header format

·    Increase address space

·    Efficient and hierarchical addressing and routing infrastructure

·    Efficient and extensible IP datagram

·    Plug and play

·    Built-in security

·    Better support for QoS

·    Improved host and router discovery

·    Extensibility of the Architecture

The following sections will discuss each of the new features of IPv6 in detail.


2.2 The Design of IPv6
This section introduces briefly the reader to the IPv6 header format and Internet Control Message
Protocol version 6 (ICMPv6). For more information about this topic, please refer to the
referenced sources.

2.2.1 The IPv6 Header Format
IPv6 keeps most of IPv4’s characteristics. However by the long experiences of IPv4, additional
knowledge is acquired which is reflected in many improvements of the new IP protocol – IPv6.
First take a look at the IPv6 header format and a brief comparison with IPv4 header.

The IPv6 header has a new format that is designed to keep header overhead to a minimum which
contains eight fields with a fixed size of 40-byte as shown in Figure 2-2 (compared with IPv4
header with a variable size with 12 fields and options in Figure 2-1). This is achieved by moving
both non-essential fields and option fields to extension headers that are placed after the IPv6
header. The streamlined IPv6 header provides higher performance in intermediate routers.

Following changes has been made in IPv6 header format:

The Type of Service field (ToS) has been replaced by the Traffic Class field, which together with
the new Flow Label field provides support of different classes of services such as real-time
traffic. Flow label is used to set apart packets, which require the same treatment. More details are
described in section 2.4




                                                                                              13 [74]
IPv6 forwarding engine and internetwork routing protocols                                      Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                  Jianxin Wu




                   Ver         H.L               TOS                            Total Length


                                Identifier                       Flags            Fragment Offset


                         TTL                 Protocol                      Header Checksum


                                                  Source IP address


                                               Destination IP address


                                                 Options and Padding


                                             Figure 2-1: IPv4 Header Format




Time to Live (TTL) has been replaced by the Hop Limit field, which more correctly states its
meaning, since most routers simply decrement the TTL by one at each relay.

                  Ver              Class                                 Flow Label


                            Payload Length                        Next Header             Hop Limit


                                             128 bit Source IP address




                                         128 bit Destination IP address




                                              Figure 2-2: IPv6 Header Format



The header checksum in IPv4 has been completely removed since error checking in most cases
still is performed in the other network layers. This gives a major performance boost for routers
and firewalls since they don’t have to recalculate a checksum when one or more fields in the
header are changed. Table 1 shows the typical values of the Next Header field for an IPv6 header
or an IPv6 extension header.




                                                                                                            14 [74]
IPv6 forwarding engine and internetwork routing protocols                               Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH           Jianxin Wu


                                        Table 1: Values of the Next Header Field


                   Value (in decimal)           Header
                   0                            Hop-by-Hop Options Header

                   6                            TCP

                   17                           UDP
                   41                           Encapsulated IPv6 Header

                   43                           Routing Header
                   44                           Fragmentation Header
                   46                           Resource ReSerVation Protocol

                   50                           Encapsulating Security Payload
                   51                           Authentication Header

                   58                           ICMPv6
                   59                           No next header
                   60                           Destination Options Header


Fragmentation Offset and the Options fields have been completely removed from the IPv6
header. In IPv6, it is possible to insert an arbitrary number of extension headers between IPv6
header and the payload in a daisy-chain fashion as shown in Figure 2-3. Each header is identified
by a header type and contains the header type of the following header in the chain. The technique
makes the handling of extra options and special delivery cases more slimmed, and provides for
easy future expansions with new header types.


                      IPv6 Header                                               TCP
                    Next Header = 6
                         (TCP)



                       IPv6 Header                        Routing Header               TCP
                     Next Header = 43                    Next Header = 6
                        (Routing)                              (TCP)


                                           Figure 2-3: Examples of Chains of Headers




2.2.2 Internet Control Message Protocol version 6
IPv6 uses an updated version of the Internet Control Message Protocol (ICMP) named ICMPv6
defined in [53]. The new version followed the same guideline as the IPv6 design. The protocol
was streamlined. ICMPv6 has the common IPv4 ICMP functions of reporting delivery or
forwarding errors and providing a simple echo service for troubleshooting, but with some
modifications such as removal of unused functionalities and the introduction of Internet Group
Membership Protocol (IGMP) messages used for joining and leaving multicast groups. All
ICMPv6 messages have the same general format, a Type, Code and Checksum field and a
variable length of Message Body.


                                                                                                     15 [74]
IPv6 forwarding engine and internetwork routing protocols                         Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH     Jianxin Wu


                                          Table 2: Current Defined ICMPv6 Types


                                    Type        Message
                                    1           Destination Unreachable
                                    2           Packet Too Big
                                    3           Time Exceeded
                                    4           Parameter Problem
                                    128         Echo Request
                                    129         Echo Reply
                                    130         Group Membership Query
                                    131         Group Membership Report
                                    132         Group Membership Reduction
                                    133         Router Solicitation
                                    134         Router Advertisement
                                    135         Neighbor Solicitation
                                    136         Neighbor Advertisement
                                    137         Redirect



2.3 Routing and Addressing
In this section the reader is introduced to the address architecture of IPv6 and IPv6 routing. More
detail about intra-domain routing will be specifically described in section 3.

2.3.1 IPv6 Address Architecture
The most important reason of introducing IPv6 protocol is the number of addresses that IPv6
brings with its 128-bit wide addresses. However, the enormous number of addresses will also
provide room to insert many more degrees of hierarchical address layers than the basic three
layers of network, subnet and host that exists IPv4 networks. The new hierarchical structure will
improve the performance of routing in the network since routers need only examine a part of the
address in order to determine the next hop.

2.3.1.1 Notation of IPv6 addresses
The IPv6 address is 128 bits and written as eight 16-bit integers separated by colons as in:

          FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

Hexadecimal notation is relatively short but it is a little difficult to manipulate. In order to reduce
the notation further, the specification introduces some simplifications by allowing abbreviations.
Some of the abbreviated rules are:

·    Remove the leading zeros in the words for example 0400 will be 400

·    Words consisting of a continuous set of null 16-bit numbers can be replaced by two colons
     such as FEDC:0:0:0:0:BA98:7654:3210 will be FEDC::BA98:7654:3210, the
     double colons can only be used once inside an address.

·    An IPv4 address 127.0.0.1 can be written in compressed IPv6 form: ::127.0.0.1




                                                                                                 16 [74]
IPv6 forwarding engine and internetwork routing protocols                                          Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                      Jianxin Wu


The specification for notation of IPv6 addresses also contains a notation for prefixes, which is an
equivalence to network prefixes used in IPv4. Prefixes for IPv6 are expressed in the same way as
Classless Inter-Domain Routing (CIDR) [25] notation for IPv4. An IPv6 prefix is written in
address/prefix-length notation. For example, FEDC:BA98::/48 is a route prefix and
FEDC:BA98:7654:3210::/64 is a subnet prefix.

2.3.1.2 Address Assignment
In IPv4 networks, a single network adapter has only one IPv4 address assigned to it but multiple
IPv6 addresses of any type can be assigned to a single interface. This is a smooth way of
separating different networks over the same interface.

Current allocation of addresses in IPv6 is performed in the same way in which the IPv4 address
space is allocated; the IPv6 address space is allocated based on the value of high order bits. The
high order bits and their fixed value are known as a Prefix. Table 3 shows the allocation of the
IPv6 address space by prefix according to [11].

                                 Table 3: Initial Address Allocation of IPv6 addresses


                Allocation                                    Prefix (Binary)   Fraction of the Address Space

                Reserved                                      0000 0000         1/256

                Unassigned                                    0000 0001         1/256

                Reserved for NSAP Allocation                  0000 001          1/128

                Reserved for IPX Allocation                   0000 010          1/128

                Unassigned                                    0000 011          1/128

                Unassigned                                    0000 1            1/32

                Unassigned                                    0001              1/16

                Aggregatable Global Unicast Addresses         001               1/8

                Unassigned                                    010               1/8

                Unassigned                                    011               1/8

                Unassigned                                    100               1/8

                Unassigned                                    101               1/8

                Unassigned                                    110               1/8

                Unassigned                                    1110              1/16

                Unassigned                                    1111 0            1/32

                Unassigned                                    1111 10           1/64

                Unassigned                                    1111 110          1/128

                Unassigned                                    1111 1110 0       1/512

                Link Local Unicast Addresses                  1111 1110 10      1/1024

                Site-local Unicast Addresses                  1111 1110 11      1/1024

                Multicast Addresses                           1111 1111         1/256




                                                                                                                17 [74]
IPv6 forwarding engine and internetwork routing protocols                                Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH            Jianxin Wu


This allocation supports the direct allocation of provider addresses, local use addresses, and
multicast addresses. Space is reserved for NSAP addresses, IPX addresses, and neutral-
interconnect addresses. The current sets of addresses that are assigned represent only 15 percent
of the entire IPv6 address space. The remainder of the address space is unassigned for future use
such as expansion of existing use or new address types.

2.3.1.3 Unicast Addresses
A unicast address identifies a single interface within the scope of the type of unicast address.
Packets addressed to a unicast address are delivered to a single interface identified by that
address. There are several forms of unicast address assignment in IPv6. There are the global
provider-based unicast address, the geographic-based unicast address, the NSAP address, the IPX
hierarchical address, the site local address, the link local address and the IPv4 capable host
address.

Aggregatable Global Unicast Addresses: are identified by the prefix of 001 (see Table 3), are
equivalent to public IPv4 addresses. The unicast addresses are designed to be aggregated or
summarized to produce an efficient routing infrastructure because of its hierarchical addressing
and routing.

      3          13              8             24                  16                64 bits


   001        TLA ID           RES           NLA ID             SLA ID             Interface ID



                             Figure 2-4: Format of aggregatable global unicast address



The address format of this address is shown in Figure 2-4. TLA ID indicates Top Level
Aggregator Identifiers, which identifies the highest level in the routing hierarchy. RES is a
reserved field for future use. NLA ID (Next Level Aggregator Identifiers) is used to identify a
specific customer site. SLA ID (Site Level Aggregator Identifiers) corresponds to the current
IPv4’s subnets. Interface ID indicates the interface on a specific subnet.

The local-use address is unicast that has only local routability scope (within the subnet or within
a subscriber network), and may have local or global uniqueness scope. They are intended for use
inside of a site for “plug and play” local communication and for bootstrapping up to use as global
addresses. There are two types of local-use unicast addresses defined: Link Local Addresses and
Site Local Addresses.

Link Local Addresses: are for use on a single link. Figure 2-5 shows the structure of the link
local address. The addresses are designed to be used for addressing on a single link for purposes
such as auto address configuration, neighbor discovery, routing protocol neighbor adjacencies or
when no routers are present.




                                                                                                      18 [74]
IPv6 forwarding engine and internetwork routing protocols                                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                   Jianxin Wu



                    10                         54                                 64 bits

                1111111010                     0                                Interface ID


                                    Figure 2-5: Format of Link Local Address




Site Local Addresses: are used between nodes communicating with other nodes in the same site.
Addresses are equivalent to the IPv4 private addresses. The format of site local address is shown
in Figure 2-6


                  10                  38               16                          64 bits

             1111111011               0             SubnetID                     Interface ID


                                      Figure 2-6: Format of Site Local Address




Loopback addresses: The loopback address 0:0:0:0:0:0:0:1 is used by a node to send
IPv6 packets to itself. It is equivalent to the IPv4 loopback address of 127.0.0.1.

IPv4 based addresses: The migration from IPv4 to IPv6 and the coexistence of both types of
hosts require this type of addresses. Dynamic tunnelling of IPv6 packet over IPv4 routing
structure will require an “IPv4 compatible IPv6” address and has 96 most significant bits equal
zero. These addressses are used by IPv6/IPv4 nodes that are communicating using IPv6.
IPv6/IPv4 nodes are nodes with both IPv4 and IPv6 protocols. When the IPv4-compatible address
is used as an IPv6 destination, the IPv6 traffic is automatically encapsulated with an IPv4 header
and sent to the destination using the IPv4 infrastructure.
Another type of IPv6 address is addresses that hold an embedded IPv4 addresses. These
addresses are used to represent the addresses of IPv4-only nodes as IPv6 addresses. It is used
only for internal representation. The IPv4-mapped address is never used as a source or
destination address of an IPv6 packet. This type of address is “IPv4 mapped IPv6” address and
has the format as shown in Figure 2-7

                                      80                              16                 32 bits

                                      0                               FFFF             IPv4 Address


                                   Figure 2-7: Format of IPv4 mapped IPv6 Address




Unspecified addresses: The address is 0:0:0:0:0:0:0:0 and it used to indicate the absence
of an address. It is equivalent to the IPv4 unspecified address of 0.0.0.0.




                                                                                                             19 [74]
IPv6 forwarding engine and internetwork routing protocols                                  Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH              Jianxin Wu


2.3.1.4 Multicast IPv6 Addresses

An IPv6 multicast address is an identifier for a group of interfaces. IPv6 nodes can listen for
multicast traffic on an IPv6 multicast address and it also can listen to multiple multicast
addresses at the same time. Nodes can join or leave a multicast group at any time. IPv6 multicast
addresses have the prefix of 11111111 (FF::/8) according to the allocation in Table 3.
Multicast addresses include additional structure to identify their flags, scope, and multicast
group. Figure 2-8 shows the format of IPv6 multicast address.

                   8                 4              4                       112 bits

                 11111111          Flags         Scope                          Group ID


                                         Figure 2-8: Format of Multicast Addresses



The flags field indicates flags set on the multicast address with 4 bits. The only flag defined is
the transient flag [11] which indicates that the multicast address is permanent (in the case that
Transient bit is set to 0) multicast address or it indicates that the multicast address is a non
permanent (transient bit is set to 1) multicast address.

The scope also uses 4 bit, which is used to limit the scope of the multicast group. With
information provided by multicast routing protocols, routers use the multicast scope to determine
whether multicast traffic can be forwarded. Table 4 lists the assigned values of Scope field:

                                      Table 4: Defined values of the Scope fields


                       Value             Scope
                       0                 Reserved

                       1                 Node-local scope

                       2                 Link-local scope

                       5                 Site-local scope

                       8                 Organization-local scope

                       E                 Global scope

                       F                 Reserved


Group ID is an identity for the multicast group and is unique within the scope. Permanent
assigned group IDs are independent of the scope while transient group IDs are only relevant to a
specific scope.

2.3.1.5 Anycast IPv6 Addresses
Anycast address is new type of address in IPv6, which is assigned to multiple interfaces,
typically belonging to different nodes. The anycast addresses are indistinguishable from unicast
address and may use any unicast address assignment scheme. Packets addressed to an anycast
address are forwarded by the routing infrastructure to the nearest interface to which the anycast
address is assigned. In order to facilitate delivery, the routing infrastructure must be aware of the
interfaces assigned anycast addresses and their distance in terms of routing metrics. At present,


                                                                                                        20 [74]
IPv6 forwarding engine and internetwork routing protocols                                      Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                  Jianxin Wu


anycast addresses are only used as destination addresses and are only assigned to routers.
Anycast addresses are assigned out of the unicast address space and the scope of an anycast
address is the scope of the type of unicast address from which the anycast address is assigned.


Figure 2-9 shows a simple example with two hosts (A and C) both specifying B as their
destination address. The actual server requested depends on the network topology since the
shortest route is chosen.


                                                          B


                                 A                                               C



                                                          B

                                           Figure 2-9: Anycast in IPv6



The uses of anycast addresses are still evolving, but such addresses offer the potential for a
number of important services. For example, an anycast address may be used to allow nodes to
access one of a collection of servers providing a well-known service, without manual
configuration in each node of the list of servers; or an anycast address may be used in a source
route to force routing through a specific internet service provider, without limiting routing to a
single specific router providing access to that ISP. Figure 2-10 shows the format of subnet
anycast address.

                                               n                                128 - n bits


                                       Subnet Prefix                             00000000000


                                Figure 2-10: Format of Subnet Anycast Addresses




2.3.1.6 Domain Name System
Domain Name System (DNS) extensions to support IPv6 have been defined in [12]. To support
the storage of IPv6 addresses the following extensions are defined:

·    A new resource record type is defined to map a domain name to an IPv6 address called A6

·    A new DNS domain is defined to support lookups based on IPv6 addresses rooted as
     IP6.ARPA. For example the IPv6 address :
     FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 will have the lookup address :
     0.1.2.3.4.5.6.7.8.9.a.b.c.d.e.f.0.1.2.3.4.5.6.7.8.9.a.b.c.d.e.f.IP6.ARPA

·    Existing queries that perform additional section processing to locate IPv4 addresses are
     redefined to perform additional section processing on both IPv4 and IPv6 addresses.




                                                                                                            21 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


2.3.2 IPv6 Routing
One of the problems with IPv4 is the explosion in the size of routing tables inside the Internet. In
many cases, routers can only maintain precise routing information for a subset of the Internet,
and use default routes for the remainder. IPv6 attempts to solve this explosion in routing table
sizes by aggregating routing entries (by introducing hierarchy in the addressing scheme). These
routing entries will be exchanged through the Inter-Domain Routing Protocol (IDRP) such as the
Border Gateway Protocol (BGP).

IPv6 also includes simple routing extensions that support powerful new routing functionality.
These capabilities include:

·    Provider selection (based on policy, performance, cost, etc.)

·    Host mobility (route to current location)

·    Auto readdressing (route to new address)

The new routing functionality is obtained by creating sequences of IPv6 addresses using IPv6
Routing option. The routing option is used by an IPv6 source to list one or more intermediate
nodes (or topological group) to be visited on the way to a packet's destination. This function is
very similar in function to IPv4's Loose Source and Record Route option.

For intra-domain routing, IPv6 uses the same protocols as IPv4. The current interior routing
protocols such as OSPF, RIP and IS-IS are simply updated, making changes to accommodate the
new address format. Section 3 will describe more in details about IPv6’s intra-domain routing
protocols.


2.4 Auto-configuration
One of the most important new capabilities provided by IPv6 is that the ability of automatically
configuring the network addresses of equipment that are newly added to a network. The Internet
explosion because of the attachment of Internet-capable equipments by non-computer
professionals. Therefore the end-user does not know the internals of the Internet Protocol needed
to configure his system; in the latter, there is simply not sufficient staff to accomplish the
configuration steps manually in reasonable time. IPv6 resolves this by making auto-configuration
capability part of the basic protocol. The addressing scheme, by including link-local addresses
and multicasting addresses, provides the tools for allowing a node to configure itself

2.4.1 Mechanisms
IPv6 delivers the auto-configuration functionality using three mechanisms:

·    Neighbor Discovery (ND) [55] is actually a set of ICMPv6 messages, which replaces the
     services provided by ARP and Router Discovery defined in IPv4. IPv6 nodes on the same
     link use ND to discover each other's presence, to determine each other's link-layer addresses,
     to find routers and to maintain reachability information about the paths to active neighbors.

·    Stateless auto-configuration [56] assigns a globally valid address to a host's interface by
     combining its link-local address with address prefix information advertised by routers. In the
     absence of routers, a host can only generate link-local addresses, which are sufficient for


                                                                                               22 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


     allowing communication among nodes attached to the same link. Stateless auto-configuration
     requires no manual configuration of hosts, minimal configuration of routers, and no
     additional servers.

·    Stateful auto-configuration provides additional auto-configuration parameters such as DNS
     servers by using the Dynamic Host Configuration Protocol for IPv6 [13]. DHCPv6 is the
     preferred method since it reduces the cost of ownership by centralizing the management of
     network resources such as IP addresses, routing information, directory service information,
     and other such information on a few DHCP servers, rather than distributing such information
     in local configuration files among all network nodes. However, DHCPv6 is still a work in
     progress and has not been fully implemented or tested yet.

These mechanisms may be used together or separately, leveraging the strengths of both
mechanisms in order to reduce the cost of ownership and management of network nodes.

2.4.2 Procedure
Automatic configuration of a node is a process which a host uses to decide how to auto-configure
its interfaces in IP version 6. The process is divided in several steps. The typical steps that take
place when an interface auto-configures itself as follows:

1)    The interface is enable through, for example at system startup

2)    Creation of Link-Local Addresses: link-local address is generated (but not assigned to the
      interface) by prepending the well-known link- local prefix FE80::0 (of appropriate length) to
      the interface identifier. The interface identifier can typically be the IEEE-802 address of the
      interface card or another unique number taken from other parts in the node

3)    Neighbor discovery is used to perform duplicate address detection e.g. it checks if the newly
      constructed address is unique on the link. This is done by sending ND neighbor solicitation
      messages with the destination address set to the address being tested, and source address set
      to the unspecified address. If a ND advertisement message is received, the address is not
      unique and has to be recreated either manually or randomly. Once the link-local address is
      known to be unique, the address is assigned to the interface being configured

4)    Using the new link-local address as a source address, a ND router solicitation message is
      sent to the all-routers multicast group. In response to the ND router solicitations, routers
      send a unicast ND router advertisement message back to the node. The advertisement
      specifies if the node should use stateless or stateful auto-configuration by setting the
      managed configuration flag accordingly. If stateless auto-configuration is to be used, a site-
      local or global address is constructed using an address prefix included in the advertisement
      and the current link-local address. The new address is then assigned to the interface (which
      now has two addresses namely link local and global addresses). The host is now configured
      for communication within local network as well as global network such as Internet

5)    If there is no response from a router, or the advertisement specifies managed addressing,
      stateful auto-configuration should be used. This is handled by DHCPv6, which defines
      message types for configuring all necessary parameters




                                                                                               23 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu



2.5 IPv6 Quality of Service Capabilities
This section describes how the design of IPv6 in order to support multimedia, real-time and other
applications that require some degree of consistent throughput, delay and/or jitter.

2.5.1 Flow Labels
A flow is a sequence of packets sent from a particular source to a particular (unicast or multicast)
destination and uniquely identified by the combination of a source address and a non-zero flow
label. Packets that do not belong to a flow carry a label of zero. The 20-bit Flow Label field in
IPv6 header may be used to identify flows for which a host specifies special handling by IPv6
routers, such as non-default quality of service, real-time service (voice and video). New flow
labels must be chosen randomly and uniformly from the range 1 to FFFFF hex while using Flow
Label field.

Flows can be used in combination with routing header [10] to allow routers to identify and
provide special handling for packets belonging to a flow, a series of packets between a source
and destination. Because the traffic is identified in the IPv6 header, support for QoS can be
achieved even when the packet payload is encrypted through IPsec. The Resource ReServation
Protocol (RSVP) [28] can be used to solve the problem with resource allocation that is detailed
described in [14].

2.5.2 Traffic Classes
The 8-bit Traffic Class field in IPv6 header is available for use by originating nodes and/or
forwarding routers to identify and distinguish between different classes or priorities of IPv6
packets, relative to the other packets from the same source. The Traffic Class field in the IPv6
header is intended to allow similar functionality to the IPv4 Type of Service field, which provides
various forms of differentiated services for IP packets, other than through the use of explicit flow
set-up.

The values of the Traffic Class field are defined in [64]. However, an IPv6 implementation is
required to provide a means for an application layer protocol to specify the value of the Traffic
Class field for experimentation.

2.5.3 Jumbograms
To support extreme high-speed traffic in real-time, IPv6 provides a possibility of sending very
big packets; so called jumbograms [57]. A "jumbogram" is an IPv6 packet containing a payload
longer than 65,535 octets, which is the limitation of the 16-bit Payload length field in the IPv6
header. Using the Jumbo Payload option in a hop-by-hop extension header [10], the maximum
length is extended to 4,294,967,295 octets by using a 32-bit length field. The Jumbo Payload
option is relevant only for IPv6 nodes that may be attached to links with a link MTU greater than
65,575 octets (that is, 65,535 + 40, where 40 octets is the size of the IPv6 header).


2.6 IPv6 Security
The current Internet has a number of security problems and lacks effective privacy and
authentication mechanisms below the application layer. IPv6 solves these problems by offering
two integrated options that provide security services [58]. These two options may be used by it or




                                                                                              24 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


together to provide differing levels of security to different users. This capability is very important
because different user communities have different security needs.

The first mechanism, called the Authentication Header (AH) is an extension header that provides
authentication and integrity to IPv6 packet [52]. The IPv6 AH can be used against network
attacks such as host masquerading attacks.

IPv6’s second security extension is the Encapsulated Security Payload (ESP) header provides
integrity and confidentiality to IPv6 packet [59]. The IPv6 ESP header can be used against
snooping attacks where the intruder monitors the traffic between sender and receiver in order to
reveal sensitive information.

The main difference between IPv4's security and IPv6's security is that IPSec support is optional
in IPv4 but is required in IPv6.


2.7 Mobility
Mobility support has been considered as an integral part of the next generation Internet protocol,
IPv6. The main goal is to provide a transparent transfer between mobile and common network
nodes. Through this system a mobile terminal can be linked with Internet without having to
change the existing network characteristics. IPv6 will have built in mobility support [15] and the
definitions are quite similar to Mobile IPv4 [60] with some improvements:

·    Route Optimization is now built in as a fundamental part of the protocol, rather than being
     added on as an optional set of extensions that may not be supported by all nodes as in Mobile
     IPv4. It eliminates the problem of triangle routing present in the base Mobile IPv4 protocol.

·    Mobile node in IPv6 uses its care-of address as the source address in the IP header of packets
     it sends instead of home address.

·    Simplified routing of multicast packets sent by a mobile node by using care-of address as the
     source address.

·    There is no need to deploy special routers as foreign agents as are used in Mobile IPv4 by the
     use of IPv6 features, such as Neighbor Discovery [55] and Address Auto-configuration.

·    Most packets sent to a mobile node while away from home in Mobile IPv6 are sent using an
     IPv6 Routing header rather than IP encapsulation in order to minimize overhead.

·    The use of IPv6 Neighbor Discovery rather than ARP improves the robustness of the
     protocol and simplifies implementation of Mobile IP because particular link layer
     considerations are not concerned.

·    The use of tunnel soft state is no longer required in IPv6 for correctly relaying ICMP error.

·    The dynamic home agent address discovery mechanism in Mobile IPv6 uses IPv6 anycast
     and returns a single reply to the mobile node. The mechanism is more efficient and more
     reliable.




                                                                                                25 [74]
IPv6 forwarding engine and internetwork routing protocols                        Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH    Jianxin Wu




3 The Intra-Domain Routing Protocols
In an international network, such as Internet, it is very unlikely that a single routing protocol will
be used for the entire network. The Internet is a collection of Autonomous Systems (AS) that
defines the administrative authority and routing policies of different organisations. Each AS run
its own Interior Gateway Protocols (IGP) such as Routing Information Protocol (RIP), Open
Shortest Path First Protocol (OSPF) and Intermediate System to Intermediate System Protocol
(IS-IS) within their boundaries and interconnect via an Exterior Gateway Protocol (EGP) called
Border Gateway Protocol (BGP). This chapter describes briefly IGP for IPv6 and tries to
prioritize which routing protocols are more important with regards to IPv6 functionality. It also
gives a comparison with corresponding routing protocols for IPv4.


3.1 Routing Information Protocol
This section gives an overview of Routing Information Protocol for IPv6 (RIPng) and a
comparison with RIP version 2 (RIPv2) for IPv4.

3.1.1 Design Principles
Routing Information Protocol for IPv6 (RIPng) [61] is intended to allow routers to exchange
information for computing route through an IPv6 network. RIPng is based on RIP version 2
(RIPv2) [41]. It is an old IGP and mainly designed for network topology of moderate size. It uses
distance vector metrics for routing which means the cost of route in RIP is measured by the
number of hops in the route, regardless of the state of the specific hops.

3.1.1.1 Routing Updates
RIPng sends routing update messages at regular intervals, when the network topology changes.
When a router receives a routing update that includes changes to an entry, it updates its routing
table to reflect the new route. The metric value for the path is increased by one, and the sender is
indicated as the next hop. RIP routers maintain only the best route (the route with the lowest
metric value) to a destination. After updating its routing table, the router immediately begins
transmitting routing updates to inform other network routers of the change. These updates are
sent independently of the regularly scheduled updates that RIP routers send.

3.1.1.2 RIPng Routing Metric
RIPng uses a single routing metric to measure the distance between the source and a destination
network. Each hop in a path from source to destination is assigned a hop count value, which is
typically 1. When a router receives a routing update that contains a new or changed destination
network entry, the router adds one to the metric value indicated in the update and enters the
network in the routing table. The IP address of the sender is used as the next hop. RIPng prevents
routing loops from continuing indefinitely by implementing a limit on the number of hops
allowed in a path from the source to a destination. The maximum number of hops in a path is 15.
If a router receives a routing update that contains a new or changed entry, and if increasing the
metric value by one causes the metric to be infinity (that is, 16), the network destination is
considered unreachable.




                                                                                                 26 [74]
IPv6 forwarding engine and internetwork routing protocols                           Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH       Jianxin Wu


3.1.1.3 RIPng Timers
RIPng uses numerous timers to regulate its performance. These include a triggered-update timer,
a route timeout timer, and a garbage-collection timer. A clock whose rate is not affected by
system load triggers the triggered-update timer or the time required servicing the previous update
timer. Generally, it is set to 30 seconds; with a small random number of seconds added each time
the timer is reset to prevent the update messages to become synchronized, since it can lead to
unnecessary collisions on broadcast networks. Each routing table entry has a route timeout timer
associated with it. When the route timeout timer expires, the route is marked invalid but is
retained in the table until the garbage-collection timer expires. The tables are then updated and
this information is further broadcasted to neighbors by sending advertisements.

3.1.2 Comparisons between RIPng and RIPv2

3.1.2.1 Packet Format
Similar with RIPv2 [41], RIPng packets are carried over UDP (port 521 instead of port 520 in
RIPv2 case) and IP, for both emissions as well as reception. The RIPng packet format is shown in
Figure 3-1


                             Command          Version                Must be zero

                                        Route Table Entry (20 octets)




                                                        -----




                                        Route Table Entry (20 octets)




                                        Figure 3-1: The RIPng Packet Format



There are no differences between RIPng’s header and RIPv2’s header [41]. They both have a 1-
octet command field and version field and 2-octet unused field whose value is set to zero. The
following descriptions summarize the RIP 2 packet format fields illustrated in Figure 3-1:

Command: Indicates whether the packet is a request or a response. The request asks a router
sends all or a part of its routing table. The response can be an unsolicited regular routing update
or a reply to a request. Responses contain routing-table entries. Multiple RIP packets are used to
convey information from large routing tables.

Version: Specifies the RIP version used.

Unused: Value set to zero.



                                                                                                 27 [74]
IPv6 forwarding engine and internetwork routing protocols                                Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH            Jianxin Wu


The main differences between RIPng and RIPv2 are the format of each entry in their Route Table
Entry (RTE). RTE format for RIPng is shown in Figure 3-2 and for RIPv2 in Figure 3-3


                                            IPv6 Prefix (16 octets)




                                    Route Tag                Prefix Len         Metric



                                  Figure 3-2: RIPng Route Table Entry Format



Address Family Identifier (AFI) field in RIPv2 is absents in RIPng. Its function in RIPv2 is to
specify the address family used because RIPv2 is designed to carry routing information for
several different protocols and each entry has an address family identifier to indicate the type of
address specified. RIPng is only intended for IP protocol therefore there is no needs of this field
in RIPng.

Route Tag field provides a method for distinguishing between internal routes (learned by RIP)
and external routes which may be imported from an EGP or another IGP.

The distinction between network, subnet and host does not need to be made for RIPng because an
IPv6 address prefix is unambiguous (the system administrator sets the metric, IPv6 destination
address prefix and prefix length associated with it for each network). Therefore the IP Address
and Subnet Mask fields in RIPv2 do not exist in RIPng’s RTE.


                                 Address Family ID                         Route Tag

                                                        IP Address

                                                       Subnet Mask

                                                         Next Hop

                                                           Metric


                                       Figure 3-3: RIPv2 Route Table Entry Format



Next Hop field: In RIPv2, each RTE has a next hop field. Including a next hop field for each RTE
in RIPng would nearly double the size of the RTE. Therefore, in RIPng, the next hop is specified
by a special RTE, Next Hop RTE (Figure 3-4), and applies to all of the address RTEs following
the next hop RTE until the end of the message or until another next hop RTE is encountered. The
purpose of the next hop RTE like next hop field in RIPv2 is to eliminate packets being routed
through extra hops in the system. It is particularly useful when RIPng and RIPv2 are not being
run on all of the routers on a network.



                                                                                                      28 [74]
IPv6 forwarding engine and internetwork routing protocols                              Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH          Jianxin Wu


Metric field indicates how many routers have been traversed in the trip to the destination. This
value is between 1 and 15 for a valid route, or 16 for an unreachable route.


                                           IPv6 Prefix (16 octets)




                                         Must be zero                           0xFF


                              Figure 3-4: RIPng Next Hop Route Table Entry Format




3.1.2.2 Security Considerations
The main security difference RIPng vs. RIPv2 is the usage of IPv6 security instead of RIPv2
authentication entry [41]. RIPv2 security mechanisms currently relies only on plain text
password which can be vulnerable for attacks where attackers can pretend to be legitimate source
in order to give a router incorrect information. RIPng instead relies on the AH [52] and the ESP
[59] to ensure integrity, authentication and confidentiality of routing exchanges.


3.2 OSPF routing protocol
As the size and speed of the Internet have increased dramatically, the limitations of RIP have
lowered its popularity. OSPF, on the other hand, is both very powerful and somewhat complex.
OSPF is specially designed to operate within larger networks. It does not impose a hop-count
restriction and OSPF does permit its domain to be subdivided for easier management.
Accordingly OSPF is considered now the preferred intra-domain routing protocol. The IETF
recommends OSPF as the replacement for RIP. The most recent version of OSPF is defined in
[62] and OSPF for IPv6 is defined in [63].

3.2.1 Protocol Overview
OSPF stands for Open Shortest Path First. It is a link-state routing protocol with a complex set
of options and features. OSPF is designed to be used within a single AS. Each OSPF router
maintains an identical database describing the topology of the AS. From this database, a routing
table is computed by using Shortest-Path-First algorithm (SPF). OSPF recalculates routes quickly
in case that any topological change occurs, while only utilizing a minimum of routing protocol
traffic.

3.2.2 Design Principles
OSPF is a link state protocol, and its design follows the general theory of such protocol. There is
a distributed database, a flooding procedure, a definition of adjacency, and special records for
external routes. Since modern IP networks are built on different type of physical link
technologies, OSPF has been designed with special support for

·    Separating hosts and routers




                                                                                                    29 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


·    Broadcast networks, e.g. Ethernet or FDDI

·    Non-broadcast networks, such as X.25 or ATM

·    Splitting large networks in areas


3.2.3 Algorithms
Two algorithms are adopted in OSPF, namely Link-State algorithm and Shortest-Path-First
algorithm.

3.2.3.1 Link-State algorithm
Every router in the AS uses the Link-State algorithm to determine the current network topology
and the cost associated with each link as well. This algorithm is implemented as a link-state
protocol that uses flooding of link-state information. The link-state routing protocol requires each
router to maintain a topological map of the network. When a network link changes state (e.g. up
to down or vice versa), a notification, called a Link State Advertisement (LSA) is flooded
throughout the network. All the routers note the change and re-compute their routes. The result is
that every router constructs a complete topological map of the entire AS.

3.2.3.2 Shortest-Path-First algorithm
The Shortest-Path-First algorithm is used by every router to determine the shortest path from
itself to the rest of the routers in the AS. The computation is based on the information provided
by the Link-State algorithm. Dijkstra’s SPF algorithm is adopted by routers to determine a
shortest path tree to all the networks with itself as a root node. The routing table is obtained from
the shortest path tree.

3.2.4 Protocol format
OSPF routers communicate through the OSPF protocol. This protocol runs directly on top of IP
and it is composed of three sub-protocols. They are Hello, Exchange, and Flooding protocols.

3.2.4.1 The Common Header
All OSPF packets start with a common header:

·    Version: indicates current version of OSFP in use

·    Type: OSPF packet type. There are five types, which are illustrated in the table below.

     Type           Description

     1.   Hello
     2.   Database Description
     3.   Link State Request
     4.   Link State Update
     5.   Link State Acknowledgement

·    Packet length: number of bytes in the packet



                                                                                               30 [74]
IPv6 forwarding engine and internetwork routing protocols                            Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH        Jianxin Wu


·    Router ID: the IP address for identifying the router

·    Area ID: the identification of the area. Value 0 is reserved for the backbone area

·    Checksum: is computed on the whole OSPF packet, excluding the 8-octet authentication
     field.

·    Autype: this field identifies the authentication algorithm. Two values are defined. 0 for No
     authentication and 1 for simple authentication

                                     Ver            Type             Packet length

                                                        Router ID

                                                           Area ID

                                           Checksum                       Autype

                                                      Authentication

                                                      Authentication


                                            Figure 3-5: OSPF common header




3.2.4.2 The Hello Protocol
The Hello protocol is used for two purposes. One is to check if links are in function, the other is
to elect the designated router (DR) and backup designated router.

·    Network mask: is the subnet mask associated with the interface. In case of no subnetting, this
     field will be set to FF000000 for a class A network, FFFF0000 for class B, FFFFFF00 for
     class C network.

·    Hello Interval: indicates the interval seconds that the hello packets are sent by the router

·    Options: The optional capabilities supported by the router

·    Priority: router's Router Priority. Used in (Backup) Designated Router election. Routers with
     Priority equal to 00000000 will never be selected as designated routers.

·    Dead Interval: The number of seconds before declaring a silent router down

·    Designated router: The identity of the Designated Router for this network, in the view of the
     sending router. The Designated Router is identified here by its IP interface address on the
     network. Set to 0.0.0.0 if there is no Designated Router.

·    Backup Designated Router: The identity of the Backup Designated Router for this network,
     in the view of the sending router. The Backup Designated Router is identified here by its IP
     interface address on the network. Set to 0.0.0.0 if there is no Backup Designated Router.


                                                                                                  31 [74]
IPv6 forwarding engine and internetwork routing protocols                                  Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH              Jianxin Wu


·    Neighbour: The Router IDs of each router from whom valid Hello packets have been seen
     recently on the network. Recently means in the last Router’s “Dead Interval” seconds.


                                    Ver            Type             Packet length

                                                       Router ID

                                                          Area ID

                                          Checksum                      Autype

                                                     Authentication

                                                     Authentication

                                                     Network mask

                                           Hello                Options         Priority

                                                     Dead Interval

                                                   Designated Router

                                                   Backup Designated

                                                       Neighbour

                                                     -------------

                                                       Neighbour


                                             Figure 3-6: The Hello Protocol




3.2.4.3 The Exchange Protocol
When routers have established the two-way connectivity, they must synchronize their database.
This is done by OSPF exchange protocol. Two types of OSPF packets are used, which are type 2
(Database Description) and type 3 (Link State Request). The exchange process is asymmetric.
The first step is to select a master and a slave. After agreeing on these roles, the two routers will
exchange the description of their database, and each will list the records that will be requested at
a later stage. OSPF DD (Database Description) packets have the following format:

·    Interface MTU: The size in bytes of the largest IP datagram that can be sent out via the
     associated interface, without fragmentation.

·    Options: used by the router for supporting optional capabilities

·    I-bit: The Init bit. When set to 1, this packet is the first in the sequence of Database
     Description Packets.

·    M-bit: The More bit. When set to 1, it indicates that more Database Description Packets are
     to follow.




                                                                                                        32 [74]
IPv6 forwarding engine and internetwork routing protocols                                 Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH             Jianxin Wu


·    Ms-bit: The Master/Slave bit. When set to 1, it indicates that the router is the master during
     the Database Exchange process. Otherwise, the router is the slave.

·    DD sequence number: to sequence the DD packets. The initial value should be unique. The
     DD sequence number then increments until the complete database description has been sent


                                    Ver            Type             Packet length

                                                       Router ID

                                                          Area ID

                                          Checksum                       Autype

                                                     Authentication

                                                     Authentication

                                    Interface MTU               Options         00000IM

                                                     Dead Interval

                                              An 20 bytes LSA Header




                                           Figure 3-7: The Exchange Protocol



The rest of the packets consist of a list of the link state database’s pieces. Each LSA in the
database is described by its LSA header, which are 20 bytes long and common for all LSAs. LSA
header contains enough information to uniquely identify the LSA. Multiple instances of the LSA
may exist in the routing domain at the same time. It is then necessary to determine which
instance is more recent. This is accomplished by examining the LS age, LS sequence number.
Details for LSA header can be found in [62] A.4.1.

After exchanging Database Description packets with a neighbouring router, a router may find
that parts of its link-state database are out of date. The OSPF packet type 3, namely Link State
Request packet is used to request the pieces of the neighbour’s database that are more up to date.
The packet has the following format:

·    LS: indicates the link state type




                                                                                                       33 [74]
IPv6 forwarding engine and internetwork routing protocols                              Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH          Jianxin Wu


·    Link State ID: This field identifies the piece of the routing domain that is being described by
     the LSA. Depending on the LSA's LS type, the Link State ID takes on different values. For
     more detailed information refer to [62] 12.1.4

·    Advertising Router: the IP address of the router that issues this advertisement


                                      Ver              3               Packet length


                                                           Router ID


                                                            Area ID


                                            Checksum                       Autype


                                                       Authentication


                                                       Authentication


                                                           Link State


                                                       Link State ID


                                                   Advertising router


                                                       -------------


                                            Figure 3-8: Link State Request Packet




3.2.4.4 The Flooding Protocol
When a link changes state, the router that is responsible for that link will issue a new version of
the link state to advertise link-state changes. These updates are carried in OSPF packet type 4,
namely Link State Update packet. These packets implement the flooding of LSAs. Each Link
State Update packet carries a collection of LSAs one hop further from their origin. Several LSAs
may be included in a single packet. Link State Update packet has the following format:

·    Number of advertisements: the number of LSAs included in this updating.

·    LSAs: The body of the Link State Update packet consists of a list of LSAs. Each LSA begins
     with a common 20-byte header. For detailed information about the formats of different types
     of LSAs refer to [62] A.4 and A4.4.1




                                                                                                    34 [74]
IPv6 forwarding engine and internetwork routing protocols                              Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH          Jianxin Wu




                                      Ver              4               Packet length


                                                           Router ID


                                                           Area ID


                                            Checksum                       Autype


                                                       Authentication


                                                       Authentication


                                                       Number of LSAs


                                              Link State advertisements
                                                      ----------




                                            Figure 3-9: Link State Update Packet




The LSAs should always be acknowledged by the receiving router to the sending router that
transmitted the update packet. In order to make the flooding procedure reliable, the sending
router will retransmit its updates at regular intervals until it receives the acknowledgement. The
acknowledgement information is carried in the OSPF packet of type 5, namely Link State
Acknowledgement. The packet has the following format

·    LSA headers: Link State Advertisement headers. Each acknowledgement packet may contain
     a number of LSA headers, since one acknowledgement packet may acknowledge several
     advertisements.




                                                                                                    35 [74]
IPv6 forwarding engine and internetwork routing protocols                              Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH          Jianxin Wu




                                   Version             5               Packet length


                                                           Router ID


                                                           Area ID


                                          Checksum                         Autype


                                                     Authentication


                                                     Authentication


                                        Link State advertisements headers
                                                    ----------




                                        Figure 3-10: Link State Acknowledgement




3.2.5 OSPF for IPv6
OSPF for IPv6 is a modification to OSPF for IPv4 with minimal changes. The fundamental
mechanisms of OSPF remain unchanged. However some changes have been necessary due to
changes in protocol semantics between IPv4 and IPv6 or simply due to handle the increased
address size of IPv6.

These changes include the following:

·    Addressing semantics have been removed from OSPF packets.

·    New LSAs have been created to carry IPv6 addresses and prefixes.

·    OSPF for IPv6 runs on per-link basis instead of on a per IP subnet basis.

·    Flooding scope for LSAs has been generalized.

·    Authentication has been removed from the OSPF protocol; instead it relies on IPv6’s
     Authentication Header and Encapsulating Security Payload.

·    Option handling has been made more flexible.

For detailed information about OSPF for IPv6, please turn to [63]. Since OSPF is a very
complicated routing protocol, the modifications take time. OSPF for IPv6 is still under
development and testing phase




                                                                                                    36 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu



3.3 IS-IS Routing Protocol
This section provides an overview of IS-IS routing protocol and the usage of IS-IS routing
protocol to exchange IPv6 routing information.

3.3.1 Protocol Overview
The International Organization for Standardization (ISO) developed a complete suite of routing
protocols for use in the Open System Interconnection (OSI) protocol suite. These include
Intermediate System-to-Intermediate System (IS-IS) [16]. It is a link-state routing protocol with a
complex set of options and features. The Integrated IS-IS is a modified version from the original
version, which was developed to route in ISO Connectionless Network Protocol (CLNP)
networks, that supports both CLNP and IP networks [17].

3.3.2 Design Principles
Intermediate System-to-Intermediate System (IS-IS) is an OSI link-state hierarchical routing.
Link-state update messages help ISs learn about the network topology. First, each IS generates an
update specifying the End Systems (ESs) and ISs to which it is connected, as well as the
associated metrics. The update then is sent to all neighboring ISs, which forward (flood) it to
their neighbors, and so on. (Sequence numbers terminate the flood and distinguish old updates
from new ones.) Using these updates, each IS can build a complete topology of the network.
When the topology changes, new updates are sent.

To simplify router design and operation, IS-IS distinguishes between Level 1 and Level 2 ISs.
Level 1 ISs communicate with other Level 1 ISs in the same area. Level 2 ISs route between
Level 1 areas and form an intra-domain routing backbone. Hierarchical routing simplifies
backbone design because Level 1 ISs need to know only how to get to the nearest Level 2 IS. The
backbone routing protocol also can change without impacting the intra-area routing protocol.

IS-IS has been designed with special support for:

·    Large routing domains consisting of combinations of many types of sub networks

·    Broadcast networks, e.g. Ethernet or FDDI

·    Point-to-point links, multi-point links, X.25 and ATM sub networks

·    Large domains may be administratively divided into areas

3.3.3 Algorithms
Shortest-Path-First algorithm is used as routing algorithm (see section 3.2.3.2). Instances of the
algorithm are run independently and concurrently by all ISs in the routing domain. Intra-Domain
routing of a data packet occurs on a hop-by-hop basis: that is, the algorithm determines only the
next hop, not the complete path that a data packet will take to reach its destination. The routing
table is obtained from the shortest path tree.




                                                                                              37 [74]
IPv6 forwarding engine and internetwork routing protocols                                        Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                    Jianxin Wu


3.3.4 Protocol Format

3.3.4.1 IS-IS Metrics
IS-IS uses a single required default metric with a maximum path value of 1024. The metric is
arbitrary and typically is assigned by a network administrator. Any single link can have a
maximum value of 64, and path links are calculated by summing link values. Maximum metric
values were set at these levels to provide the granularity to support various link types while at the
same time ensuring that the shortest-path algorithm used for route computation will be
reasonably efficient. IS-IS also defines three optional metrics: delay, expense, and error. The
delay cost metric reflects the amount of delay on the link. The expense cost metric reflects the
communications cost associated with using the link.
The error cost metric reflects the error rate of the link. IS-IS maintains a mapping of these four
metrics to the quality of service (QoS) option in the CLNP packet header. IS-IS uses these
mappings to compute routes through the internetwork.

3.3.4.2 IS-IS Packet Formats
IS-IS uses three basic packet formats: IS-IS hello packets, link-state packets (LSPs), and
sequence-number packets (SNPs). Each of the three IS-IS packets has a complex format with the
following three different logical parts. The first part consists of an 8-byte fixed header shared by
all three packet types. The second part is a packet type-specific portion with a fixed format. The
third part is also packet type-specific but of variable length. Figures below show the common
header fields of the IS-IS packets.


             Common Header               Packet Type specific                    Packet Type specific
                                                Header                          Variable-length Header




                          Figure 3-11: IS-IS Packets Consist of Three Logical Headers




           ProtID          Header         Ver          ID            Packet         Ver    Res          Max
                           length                    length           type                             area
                                                                                                        add


                                 Figure 3-12: IS-IS Packets Consist of Eight Fields



The following descriptions summarize the fields illustrated in Figure 3-11 and 3-12:

·    Protocol identifier: Identifies the IS-IS protocol and contains the constant 131.

·    Header length: Contains the fixed header length. The length always is equal to 8 bytes but is
     included so that IS-IS packet does not differ significantly from CLNP packets.

·    Version: Contains a value of 1 in the current IS-IS specification.

·    ID length: Specifies the size of the ID portion of an NSAP address. If the field contains a
     value between 1 and 8 inclusive, the ID portion of an NSAP address has that size in bytes. If


                                                                                                              38 [74]
IPv6 forwarding engine and internetwork routing protocols                        Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH    Jianxin Wu


     the field contains a value of zero, the ID portion of an NSAP address is 6 bytes. If the field
     contains a value of 255 (all ones), the ID portion of an NSAP address is zero bytes.

·    Packet type: Specifies the type of IS-IS packet (hello, LSP, or SNP).

·    Version: Repeats after the Packet Type field.

·    Reserved: Is ignored by the receiver and is equal to 0.

·    Maximum area addresses: Specifies the number of addresses permitted in this area.

Following the common header, each packet type has a different additional fixed portion,
followed by a variable portion.

3.3.4.3 Integrated IS-IS
As mentioned earlier, integrated IS-IS is an integrated routing protocol, based on the OSI Intra-
Domain IS-IS Routing Protocol, which may be used as an interior gateway protocol (IGP) to
support TCP/IP as well as OSI. This allows a single routing protocol to be used to support pure
IP environments, pure OSI environments, and dual environments.

Several fields are added to an IS-IS packet to allow IS-IS to support additional network layers.
These fields inform routers about the reachability of network addresses from other protocol
suites and other information required by a specific protocol suite. Integrated IS-IS
implementations send only one set of routing updates, which is more efficient than two separate
implementations.

Integrated IS-IS represents one of two ways of supporting multiple network layer protocols in a
router; the other is the ships-in-the-night approach. Ships-in-the-night routing advocates the use
of a completely separate and distinct routing protocol for each network protocol so that the
multiple routing protocols essentially exist independently. The different types of routing
information basically pass like ships in the night. Integrated routing has the capability to route
multiple network layer protocols through tables calculated by a single routing protocol, thus
saving some router resources. Integrated IS-IS uses this approach. For detailed information about
IS-IS and integrated IS-IS to [16] and [17].

3.3.5 IS-IS for IPv6
Since IS-IS is a very complicated routing protocol, the modifications take time. IS-IS for IPv6 is
still under development and testing phase. In [18], the author suggests IS-IS for IPv6 is a
modification to IS-IS for IPv4 with minimal changes. The fundamental mechanisms of IS-IS
remain unchanged. However some changes have been necessary due to changes in protocol
semantics between IPv4 and IPv6 or simply due to handling of the increased address size of IPv6.
The method allows one to route IPv4, IPv6 and OSI using a single intra-domain routing protocol.

These changes include the following:

·    The first new type-length-values (TLVs) is IPv6 Reachability TLV which describes network
     reachability through the specification of a routing prefix, metric information, a bit to indicate
     if the prefix is being advertised down from a higher level, a bit to indicate if the prefix is




                                                                                                39 [74]
IPv6 forwarding engine and internetwork routing protocols                          Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH      Jianxin Wu


     being distributed from another routing protocol and optionally the existence of sub-TLVs to
     allow for later extension.

·    The second new type-length-values (TLVs) is IPv6 Interface Address TLV which maps
     directly to "IP Interface Address" TLV in [17].

·    Redefinition of the value max-path-metric in [17] which has value 1023 to the new max-v6-
     path-metric which the value 0xFE000000.


3.4 Advantages and Drawbacks

3.4.1 RIP
Although RIP did its job for many years, modern networks have simply outgrown it. It's still
around in a surprising number of installations. The advantages and limitations of the protocol
are:

3.4.1.1 Advantages
+                   The scheme is simple and easy to implement making useful for small network
                    nodes

+                   The memory space is small

+                   RIP efficiently supports topologies which change frequently because routing
                    table changes are made incrementally and do not require the computation which
                    link-state protocols require to rebuild their maps.

3.4.1.2 Limitations of RIP
-                   Incredibly inefficient on a large network

-                   Take a very long time for the protocol to converge in large networks

-                   It is still subject to loops involving three or more routers

-                   Unable to dynamically choose paths based on factors such as latency,
                    bandwidths, cost, or load.

3.4.2 OSPF
The advantages and limitations of OSPF are:

3.4.2.1 Advantages
+                   Scalability and full subnetting support

+                   Fast, loopless convergence

+                   Support of precise metrics and if needed, multiple metrics

+                   Support of multiple paths to a destination


                                                                                                40 [74]
IPv6 forwarding engine and internetwork routing protocols                        Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH    Jianxin Wu


+                   Separate representation of external routes

+                   Security facilities: all exchange among OSPF routers are authenticated

3.4.2.2 Disadvantages
-                   Complexity in implementation and configuration
-                   High memory requirement and intensive computation
-                   OSPF muddles the picture of link-state protocols by plenty of options and
                    features

3.4.3 IS-IS
The advantages and limitations of IS-IS are:

3.4.3.1 Advantages
+                   The IS-IS is a link-state routing protocol and has all the advantages as OSPF has
+                   The protocol supports TCP/IP as well as OSI. This allows a single routing
                    protocol to be used to support pure IP environments, pure OSI environments and
                    dual environments.

3.4.3.2 Disadvantages
-                   The protocol has the same disadvantages as OSPF.
-                   Another problem is that the ISO/OSI standard model for networking protocols is
                    not as widespread as the TCP/IP network model.


3.5 Conclusions about the routing protocols
The initial intra-domain routing protocols for IPv6 focuses on RIP for IPv6, OSPF for IPv6 and
IS-IS for IPv6. As mentioned earlier, RIP is only a suitable routing protocol for small networks.
With the continuous growth of the global Internet today, the networks become more and more
complex which will limit the use of RIP.

Our conclusion is OSPF and IS-IS due to their advantages (see sections 3.4.2.1 and 3.4.3.1) will
be the most possible intra-domain routing protocols that will be used in IPv6 networks. During
the extended IPv4-to-IPv6 transition period where the IPv6-based networks must coexist with the
installed base of IPv4 networks, the link-state databases for each protocol will not be shared with
an existing IPv4 database. The two versions of the protocols will operate in parallel (the "two
ships in the nights" mode) and this mode is preferable to an implementation that handles both
IPv4 and IPv6.


3.6 Requirements for an IPv6 Router
This section tries to describe the requirements for an IPv6 router.

3.6.1 Protocol Transition Requirements
Protocol transitions are not easy and the transition from IPv4 to IPv6 is no exception.
Additionally, given the scope of the Internet, rapid protocol transition becomes an impossible
task. The designers of IPv6 recognize that the transition from IPv4 to IPv6 will take years.



                                                                                                41 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


Therefore, while migration is the long-term goal, equal consideration must be given to the
interim coexistence of IPv4 and IPv6 nodes. The key to a successful IPv6 transition is
compatibility with the large installed base of IPv4 hosts and routers. Maintaining compatibility
with IPv4 while deploying IPv6 will streamline the task of transitioning the Internet to IPv6. This
section describes a set of mechanisms that IPv6 hosts and routers may implement in order to be
compatible with IPv4 hosts and routers.

[42] defines the following node types:

·     IPv4-only node: A node that implements only IPv4 (and has only IPv4 addresses). This node
      does not support IPv6. Most hosts and routers installed today are IPv4-only nodes.

·     IPv6-only node: A node that implements only IPv6 (and has only IPv6 addresses). This node
      is only able to communicate with IPv6 nodes and applications. This type of node is not
      common today, but may become more prevalent as smaller devices such as cellular phones
      and handheld computing devices include IPv6 stacks.

·     IPv6/IPv4 node: A node that has both IPv4 and IPv6 implemented. This node is IPv6-
      enabled if it has an IPv6 interface configured.

·     IPv4 node: A node that implements IPv4 (it can send and receive IPv4 packets). An IPv4
      node can be an IPv4-only node or an IPv6/IPv4 node.

·     IPv6 node: A node that implements IPv6 (it can send and receive IPv6 packets). An IPv6
      node can be an IPv6-only node or an IPv6/IPv4 node.

To coexist with an IPv4 infrastructure and to provide eventual migration to an IPv6-only
infrastructure, the routers will use the following mechanisms:

·     Dual IP layer: the IPv6 routers will have an implementation of the TCP/IP suite of protocols
      that includes both an IPv4 Internet layer and an IPv6 Internet layer. This is the mechanism
      used by IPv6/IPv4 nodes so that communication with both IPv4 and IPv6 nodes can occur. A
      dual IP layer contains a single implementation of Host-to-Host layer protocols such as TCP
      and UDP. All upper layer protocols in a dual IP layer implementation can communicate over
      IPv4, IPv6, or IPv6 tunneled in IPv4.

·     IPv6 over IPv4 tunneling: the IPv6 router will be able to encapsulate of IPv6 packets with an
      IPv4 header so that IPv6 packets can be sent over an IPv4 infrastructure

Detailed descriptions of the routing aspects of the IPv6 transition are presented in [43].

3.6.2 Routing Protocol Requirements
The routing protocols that support by an IPv6 router initially focuses on:

·     RIP for IPv6 [61]: functions in the same way and offers the same benefits as RIP in IPv4.
      IPv6 enhancements to RIP include support for IPv6 addresses and prefixes, and the use of
      the RIP router multicast group address FF02::9 as the destination address for RIP update
      messages.




                                                                                             42 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


·     OSPF for IPv6 (OSPFv3) [63]: has the same fundamental mechanisms of the OSPFv2
      implementation (for example: flooding, area support, SPF calculations, and so on). Changes
      are necessary for OSPFv3 either because of changes in the protocol semantics between IPv4
      and IPv6, or simply to handle the increased address size of IPv6. Refer to section 2 of [63]
      for a detailed explanation of the protocol modifications.

·     IS-IS for IPv6 [18]: supports IS-IS for IPv6 as currently defined in [18]. IS-IS in IPv6
      utilizes the same mechanisms described in [17] to add support for a new address family.
      This support is accomplished by adding two new types, length, and value (TLV) objects,
      and defining their use. Both IPv4 and IPv6 can be routed using a single intra-domain routing
      protocol over the same topology (IPv4 and IPv6 links can coexist within a single physical
      link).

·     Multi-protocol extensions for BGP-4 with support for IPv6 are based on [31] and [32].
      Multi-protocol BGP in IPv6 functions and offers the same benefits as multi-protocol BGP in
      IPv4. IPv6 enhancements to multi-protocol BGP include support for an IPv6 address family,
      Network Layer Reachability Information (NLRI) and next hop (the next router in the path to
      the destination) attributes that use IPv6 address and scoped addresses (the next hop attribute
      uses a global IPv6 addresses and potentially also a link-local address, when a peer is
      reachable on the local link).




                                                                                              43 [74]
IPv6 forwarding engine and internetwork routing protocols                                Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH            Jianxin Wu




4 AXD301
The AXD301 is a new, multi-service, carrier-class ATM switch from Ericsson that can be used in
several positions in a network. AXD301 system can carry multiple services and large amounts of
traffic. Services supported include ATM, IP over Multi Protocol Label Switching (MPLS),
Frame Relay, circuit emulation, and voice services. The system scales from 10 Gbit/s, in one
subrack, up to 160 Gbit/s. The architecture allows for further expansion up to 2.5 Tbit/s. An
advanced buffering mechanism allows services to be mixed without compromising quality.
Designed for non-stop operation, the AXD301 incorporates duplicate hardware and software
modularity, which enables individual modules to be upgraded without disturbing traffic. The
switching system, which supports both ATM Forum and ITU-T signaling, is easily managed
using an embedded Web-based management system.

The software used in AXD301 is modular, can be scaled over many control processors, and is
prepared for easy addition of new service modules. Sourced application software, for instance
programs written in C, C++ or Java, can be integrated with the AXD301 software modules.
Software can be upgraded on-the-fly, with no or minimal disruption to traffic handling.

The AXD301 software uses Ericsson's Erlang System/OTP (Open Telecom Platform). The
technology enables very high programmer productivity, with a design library containing
powerful general system building blocks, and the high-level telecom programming language [64].
In the current release, IPv4 is supported in hardware and software but IPv6 will be supported in
the near future.




                              Figure 4-1: Main components of Ericsson's multi-service network




Figure 4-1 shows the main components of Ericsson’s multi-service network, and their typical
applications. The core network consists of AXD301 high-performance multi-service switches. At
the edge, AXD301, or the smaller multi-service edge switch AXD311, is used. IP routers such as
AXI540 can be connected to the core network using MPLS, which provides service quality for
real-time services and large volumes of data.



                                                                                                      44 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


PBXs can be connected to the network using circuit emulation. Alternatively, PBX and data
traffic can be combined in the AXD321 integrated access device (IAD). For detailed information
about AXD301 system, please turn to [65] and [44].




                                                                                             45 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu




5 IPv6 and the 3G Networks
UMTS (3G) stands for Universal Mobile Telecommunications System and it is developed within
the framework defined by the ITU and known as IMT-2000. The UMTS networks will play a key
role in creating the mass market for high-quality wireless multimedia communications that is
estimated to exceed two billion users worldwide by the year 2010. It will deliver broadband
information, commerce and entertainment services to mobile users at low-cost, high data rate
(2Mbit/sec under stationary conditions) with global roaming and other advanced capabilities.

To meet the growth in cellular communication and increasing demand for mobile multimedia
services, Wideband Code Division Multiplexing Access (WCDMA) has been chosen as the
technology to be used on the air interface in 3G networks defined by 3GPP (3rd Generation
Partnership Project). At the moment ATM is a strong candidate for the Radio Access Network
(RAN) because of its nature of heterogeneous traffic types, Quality of Service (QoS) guarantee
and its widespread deployment in public networks. IP protocol will be used in Core Network
(CN) according to 3GPP specifications. However, the popularity of IP protocol has paved the
way for extensive studies on using IP as a general transport protocol in 3G cellular networks.
Additionally, there will be an explosive growth of Internet traffic in mobile networks favoring IP
based transport architecture for future wireless networks. This section presents an overview of
3G networks and discusses the role of IP, in particular IPv6 in 3G networks and tries to suggest
how IPv6 will be used in the 3G networks.


5.1 All-IP Based UMTS Networks
At the current time, 3GPP are working with release 4 (Rel-4) and release 5 (Rel-5) of the
specifications. Rel-4 will be released in 2002 and Rel-5 in the middle of 2003. The 3GPP Rel-4
specification states the possible use of IP on all interfaces in their reference architecture. That
means mixing all different traffic types (voice and data), signaling and Operational &
Management (O&M) on the same network using the same standardized IP protocol. In Rel-4 the
IP backbones will run IPv4 and all User Equipments (UEs) will run IPv6. The IPv6 traffic will be
tunneled over IPv4 backbone. Rel-5 will enable the All-IP network; including Session Initiation
Protocol (SIP) [22] based multimedia services. Figure 5-1 shows an All-IP system, which
includes 3G architecture.

Evolving into an IP based UMTS network will provide enormous benefits for 3G operators,
service providers and end users. These are:

·    Rich services: voice, multimedia call can be integrated with other services, providing a
     powerful and flexible platform for service creation. All services are based on IP protocol,
     which means the cost on service creation, provisioning and maintenance can be reduced.

·    Easier for operators to offer the same services to subscribers accessing through different
     access networks.

·    Cost saving on ownership and management: operators need to own and manage one single
     core network infrastructure, instead of two

·    Cost saving on transport: the cost to provide IP transport is lower



                                                                                              46 [74]
IPv6 forwarding engine and internetwork routing protocols                                     Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                 Jianxin Wu


·    Future proof: it is a general trend that the future of backbone network (voice and data) would
     be IP based. An IP-based UMTS core network allows smooth interworking with an IP
     backbone and efficient usage of network resources.

·    Capacity increase: the capacity enhancement of IP based transport network is easier and
     cheaper. The same is also true to service capacity, thanks to the distributed nature of the
     service architecture.

UMTS network can be considered as consisting of two major parts: the CN and the RAN. More
description of RAN and CN will be described in section 4.2




                                                                                           IPv4
                        WLAN RAS                                                ER/FW


                         DSL        RAS
                                                            IPv6                            IPv6
                                                                                 ER/F
                                                          between                                 MG
                                    RAS                access systems
                        Cable
                                                                            GW
      3G RAN      3G-      IPv6      3G-                                                          PSTN
                 SGSN      all-IP   GGSN
                          Packet
                  3G-      C
      3G RAN     SGSN      3G-
                          SGSN
                    3G RAN


                                       Figure 5-1: IPv6 - The Basis of the All-IP System




5.2 Overview of UMTS Networks
This section describes briefly the UMTS architecture developed by 3GPP (UTRAN) and how IP
and especially IPv6 can be applied within RANs and CNs. It also suggests some scenarios where
IPv6 can be used in UMTS networks.

5.2.1 UTRAN architecture basics
[19] describes the UTRAN specified by 3GPP (3GPP-UTRAN). Figure 5-2 shows the UTRAN
architecture

The UTRAN consists of a set of Radio Network Subsystems (RNS) connected to the Core
Network (CN) through the Iu interface. If the CN is split into separate domains for circuit and
packet switched core networks, then there is one Iu interface (Iu-CS) to the circuit switched CN
and one Iu interface (Iu-PS) to the packet switched CN for that RNS.

A RNS consists of a Radio Network Controller (RNC) one or more Node Bs. A Node B is
connected to the RNC through the Iub interface. Inside the UTRAN, the RNCs in the RNSs can



                                                                                                           47 [74]
IPv6 forwarding engine and internetwork routing protocols                                                             Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                                         Jianxin Wu


be interconnected together through the Iur interface. The Iu and Iur are logical interfaces and can
be provided via any suitable transport network.




                                                                   Core Network

                                             Iu                                                         Iu

                      RNS                                                       RNS
          UTRAN
                                                                       Iur
                                       RNC                                                        RNC


                               Iub                  Iub                                 Iub                  Iub

                            Node B                Node B                              Node B                 Node B




                                      Figure 5-2: UTRAN Architecture from 3GPP TS 25.401




A node B can support one or more radio cells but the interface between a node B and its radio
cells is not being standardized within 3GPP. A node B may support User Equipments (UE) based
on Frequency Division Duplex (FDD), Time Division Duplex (TDD) or dual mode operation.
During soft handover a UE may be connected to a number of radio cells of different node Bs
and/or RNSs. Combining or splitting for soft handover may be supported within node B, Drift
RNC (DRNC), and/or Serving RNC (SRNC). Figure 5-3 shows DRNSs support the SRNS by
providing radio resources.


                                                              Core Network


                                                                                                                          Iu

       DRNS                                                                                    SRNS
                                                                          Iur

                                                           Cells



                                                                     UE



                                     Figure 5-3: Serving and Drift RNS from 3GPP TS 25.401




Each RNS is responsible for the resources of its set of cells. The controlling part of each RNC
(CRNC) is responsible for controlling resources allocated within node Bs connected to that RNC.
For each connection between a UE and the UTRAN, one RNS is the Serving RNS. When
required, Drift RNS supports the Serving RNS by providing radio resources, within radio cells
connected to that Drift RNS.

Any RNC can take the role SRNC or DRNC, on a per connection basis between a UE and the
UTRAN. This feature supports soft handover when UE roams into another RNS. Relocation
process may be used to reroute the Iu connection to the new RNS after that DRNS becomes
SRNS for that UE. Radio Access Bearers (RABs) are provided between the UE and CN (via Uu
radio interface, UTRAN internal interfaces and Iu interface) for the transport of user data.



                                                                                                                                   48 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


Control plane protocols over Uu would be carried between Radio Resource Control (RRC)
entities in the UE and UTRAN, via an RRC connection over Uu [20].

5.2.2 CN architecture basics
The CN Domain consists of the physical entities, which provide support for the network features
and telecommunication services. The support provided includes functionality such as the
management of user location information, control of network features and services, the transfer
(switching and transmission) mechanisms for signaling and for user generated information. The
CN domain is sub-divided into the Serving Network Domain (SND), the Home Network Domain
(HND) and the Transit Network Domain (TND).

5.2.2.1 Serving Network Domain
The SND is the part of the core network domain to which the access network domain that
provides the user’s access is connected. It represents the core network functions that are local to
the user’s access point and thus their location changes when the user moves. The SND is
responsible for routing calls and transport user data/information from source to destination. It has
the ability to interact with the home domain to cater for user specific data/services and with the
transit domain for non-user specific data/services purposes.

5.2.2.2 Home Network Domain
The HND represents the core network functions that are conducted at a permanent location
regardless of the location of the user’s access point. The USIM is related by subscription to the
HND. The HND therefore contains at least permanently user specific data and is responsible for
management of subscription information. It may also handle home specific services, potentially
not offered by the serving network domain.

5.2.2.3 Transit Network Domain
The TND is the core network part located on the communication path between the SND and the
remote party. If, for a given call, the remote party is located inside the same network as the
originating UE, then no particular instance of the transit domain is activated.


5.3 The use of IP and IPv6 in UMTS Networks
As the Internet has grown in popularity and mobile Internet for text based information and
picture messaging is already a reality, the industry has turned its focus on engineering the most
cost efficient network for more demanding multimedia services. IP based networks are
considered by many the best way forward and networking technology research and development
is by and large centred on IP technologies. In short, the future for IP technologies seems the
brightest among today’s alternatives.

5.3.1 Overview of IP in RANs
This sections introduces the benefits of IP, IP enabled Radio Access Network (IP-RAN) in RANs
as transport protocol and the mobility support which is provided by IPv6.

5.3.1.1 IP transport in RANs
The Mobile Wireless Internet Forum (MWIF) is an international non-profit industry association.
Its mission is to drive acceptance and adoption of a single mobile wireless and Internet


                                                                                              49 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


architecture that is independent of the access technology. MWIF has produced a technical report
[21] which purpose is to consider the way in which IP can be applied in RANs within 3GPP-
UTRAN for both FDD and TDD modes and the RAN being developed by 3GPP2 for
CDMA2000 (3GPP2-RAN). The report only consideres implementation of IP as transport option
on all RAN internal interfaces and RAN interfaces to the core networks without any changes to
the RAN architecture or Radio Network Layer (RNL). The benefits of IP, and IP-RAN, can be
summarized as follows:

·    The primary driver for increased usage is derived from operators’ abilities to create new and
     easily customizable services over the de-facto service creation environment, the Internet.

·    As the content is expressed in IP, native support for IP makes networks more optimal for this
     form of traffic native support for IP makes networks more optimal for this form of traffic and
     operational and capital expenditure savings over the whole network are significant.

·    IP integrates various access and transport technologies and standards, including fixed,
     wireless and mobile, into common service creation and delivery networks.

5.3.1.2 IPv6 and mobility support in RANs
An extremely important aspect of 3G is the support of mobility. Mobile IPv4 (MIPv4) [33] is
considered as network layer solution for the node mobility. However, IPv6 adds some features to
MIPv4. This is expected since one of the problems IPv6 was designed to solve were those of the
nomadic user. Although Mobile IPv6 (MIPv6) supports smooth handoff [33], packets will still be
dropped when mobile nodes move quickly. Within the radio access network, further
enhancements are required for MIPv6 [34]. There are still a number of problems associated with
the various handover techniques within the 3G radio access network that need to be solved
before IP can be used extensively here. Within the core network it is likely that MIPv6 has a role
to play, particularly between RAN to RAN handover and for IP roaming.

5.3.2 Overview of IP and IPv6 in Core Networks
This sections introduces the benefits of IP in CNs and the use of IPv6 in Core Network 3.0 and a
short description of CN 4.0 and 5.0.

5.3.2.1 IP transport in CNs
An IP based UMTS core network means that all UMTS core network elements use the
connectivity services of a common IP infrastructure to interconnect, both for user traffic flows
and for internal signaling purposes.

A key component of this IP infrastructure is an IP backbone network, which is used as a common
backbone for many services, provided by the UMTS or by other service providers, such as ISP or
fixed network multi-service providers.


5.4 UMTS Conclusions
The Internet is the way forward as the medium for all future mobile communications. The
versatility of IP makes it easy for operators to provide a wealth of customized services over the
Internet and it is clearly the best way to transport everything from voice to broadband data.




                                                                                               50 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


IPv6 offers a number of enhancements over IPv4 that assist in its introduction to 3G networks.
The most obvious of these is the IPv6 extended address space. There are also enhancements that
allow for mobility.

Within the RAN, the prospects for IP becoming the transport protocol for voice and data are
good. In CN, it is likely that this will be the first phase of all IP implementation. Although there
is still much work to do, it is likely that network operators will implement IPv6 within CN
because with IPv6, it is easy to incorporate fixed, wireless and mobile technology into common
networks.




                                                                                                51 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu




6 Other possible applications
This section describes the possible use of IPv6 in other applications such as Virtual Private
Network (VPN), voice over IP (VoIP) and home broadband access. It also suggests the role of
AXD301 in these applications.


6.1 Virtual Private Network
Traditionally, companies with branch-offices situated at different locations use dedicated
connections between them, like leased lines, X25, Frame Relay or ATM networks. The price of
these solutions is usually a lot higher than a simple connection to the Internet offered by a local
ISP. If a company wants to connect every branch-office to a local ISP, instead of using leased
lines, all the traffic between the offices has to be secure and unreadable for others. The way to
include security is to employ VPNs. The VPN solution, with a connection to a local ISP, also
removes the network complexity. The company does not need anyone managing all the leased
connections, often negotiated with different service providers. Only the VPN gateways need
some configuration and maintenance.

The usage of VPN solutions also lets the company avoid the management of the Remote Access
Servers (RAS). There are no problems with dial-up the RAS anymore and mobile workers do not
need to make long distance calls to the company's server. The cost of the VPN solution is only
about 25 to 50% of the cost of the classical RAS solution. Frost and Sullivan predict that the
revenue from IP-based VPN services will exceed $18 billion by 2004 in the United States alone.

Four steps are involved in implementing a VPN. The first is selecting the security technology
that will make the network private. Next is developing the discipline to manage the privacy
tunnels. Then the addressing and routing issues within each network in the VPN must be
rationalized. Finally, DNS methodologies to support the actual use of the VPN must be
developed.

6.1.1 Addressing and Routing in VPN with IPv6
In [26], the Internet is poorly divided in connected networks, where packets will not move from
one area to another without major changes like NAT [54], would make for serious routing
fragmentation. This fragmentation has a detrimental impact on the ability for one part of the VPN
to route packets from another part that could be using the same addressing range. Even in cases
where global routable addresses are used, the VPN tunnel end point may not be the normal route
path for packets that need to return through the tunnel. IPv6 is attractive in this case because of
its multiple addresses support can make it fairly easy to support the public DNS alongside any
tricks that are needed inside the local networks. IPv6 reduces the complexity of the networks
because of the absence of private address ranges, routable domains and DNS trees. It also
reduces the amount of time that is spent on maintaining the networks and supporting the users.

6.1.2 Security and QoS in VPN with IPv6
IPv6 mandates the inclusion of IPSec and Oakley/ISAKMP (this is a packet level security
protocol and a protocol for negotiating security keys) by all stack vendors. In IPv6 products, this
is rudimentary at best because IPSec is still evolving. But most of the IPSec participants
recognize that host level IPSec is inherently sounder than gateway level IPSec; the trust model is
more clearly delineated, and routing and naming need not be kludged together, which is what we


                                                                                               52 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


do today. Clearly, this is the way to go. It holds true to the Internet model of keeping the
complexity at the end points instead of within the network. Complexity within the network is
difficult to scale, let alone keep working. But complexity at the end points can be upgraded on a
case-by-case basis, though it can be challenging to manage.

Interestingly, IPv6 will deliver differentiated service classes which can be used more effectively
by the networks. Also, when the data is encrypted, it will be difficult for the network to make
class of service (CoS) decisions based on packet content. As CoS increases in importance in the
networks, so too will the advantage of end point VPN where CoS can be stated outside the VPN
envelope of the IP packet.

6.1.3 The role of AXD301 in VPN
[29] describes a method by which a Service Provider (SP) may use an MPLS enabled IPv4
backbone to provide Virtual Private Networks for its IPv6 customers. The requirements for a
Provider Edge device (PE) are:

·    PE is dual stack which has full IPv4 capabilities

·    PE must maintain IPv6 VRFs for its IPv6 sites

·    PE must be able to encapsulate IPv6 datagrams in MPLS frames to be sent into the MPLS
     core network

·    PE must use BGP [30] and its extensions [32] to cause routes from IPv6 VPN sites to be
     distributed over the backbone to each other PE router connected to a site of the same IPv6
     VPN.

The current release of AXD301 has support for IPv4 and MPLS; support IPv6 will be added in
the near future. AXD301 will not have problem to support VPN functionality over IPv6 by using
the method that is described in [29].


6.2 Voice over IP
Voice over IP technology refers to the concept of using the well-established IP networks (e.g.
Internet), as a backbone network for carrying real time voice communications. The paradigm
shift of IP networks from a pure data network, to a unified data and voice (in fact multimedia)
network was fueled by the presage of an estimated 80% reduction in voice communications
costs.

On the Internet, three new services are, or will soon be available:

·    The ability to make a normal voice phone call

·    The ability to send faxes at very low cost through a gateway point on the Internet in major
     cities.

·    The ability to leave voice mail to a called number.




                                                                                              53 [74]
IPv6 forwarding engine and internetwork routing protocols                         Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH     Jianxin Wu


6.2.1 QoS provided by IPv6
Since IP packets carrying voice are treated just like IP packets carrying any other type of data,
they are subjected to delays, loss, and retransmissions. This is especially true when the network
is congested which means that the quality of service becomes a very important issue. Four
different types of problems can be identified:

·    Delay: the time it takes for a voice signal to be digitized, packetized, transmitted, routed and
     buffered. This delay can interfere with normal conversation. It causes two problems: echo
     and talker overlap.

·    Echo is caused by the signal reflections of the speaker’s voice from the far-end telephone
     equipment back into the speaker ear (happens when the round-trip delay is greater or equal to
     50ms). Talker overlap becomes significant when the one-way delay becomes greater than
     250ms.

·    Jitter : It is a variable interpacket timing caused by the network a packet traverses

·    Packet Loss: It is part of the protocol. Indeed, concerning Voice over IP, the transport
     protocol is UDP, which means that the transmission is unconnected. Therefore, a packet can
     be lost and it can affect the voice quality received.

To solve the delay problem associated with VoIP, solutions are double. It is necessary at the
same time to dimension the bandwidth but also to improve the transfer. IPv6 is designed to
supplant IPv4 weaknesses; IPv6 is conceived to function as well on high-speed networks such as
ATM, as on networks with weak bandwidth such as wireless networks. It provides many new
features [10] more precisely concerning QoS:

·    The flow label field in the IPv6 header [10] can be used to label certain packets requiring a
     particular processing from IPv6 routers in order, for example, to ensure highly reliable
     qualities of service or real-time services such as VoIP traffic.

·    The traffic class field enables to identify the desired dispatching priority of its packets. IPv6
     will enable to ensure a minimum quality of service while preserving the independent aspect
     associated with its primary objectives.

This protocol is a first step towards an advanced network strategy. Even though it will be very
convenient for real time application, it will still need protocols from higher layers such as Real-
Time Transport Protocol (RTP) [27]. RTP is used on top of UDP in order to transmit data with
real time characteristics. Resource ReSerVation Protocol (RSVP) [28] can also be used to
reserve carrying capacity for video and audio streams and prevent unpredictable delays that
would interfere with the transmission.

6.2.2 Secure end-to-end voice communication provided by IPv6
In VoIP, given that packets are not encrypted, all that an attacker needs is to pick up appropriate
packets with a packet sniffer. This packet sniffer can be a general-purpose computer attached, for
example, to corporate’s local area network. In traditional telephony, mobile telephony excluded,
attacker instead needs to have special device, which further needs to be physically connected to a
wire, which is used during a call.



                                                                                                 54 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


Below are the functional security requirements for VoIP:

·    Information exchanged among the participants of a call should be kept confidential, and
     access to such information should be impossible to any third party. Motivation for this clause
     is easy to see: without confidentiality, third parties may misuse the information, which they
     were able to eavesdrop during a conversation.

·    Only service provider should have access to statistical information and such information
     should be safeguarded against attacks from third parties.

It would be convenient to notice that security in VoIP can be implemented and therefore exist at
many levels. Three different levels can be identified: link-level security, secured packets and
chosen fields in a packet. And in each of these levels, the choice can be all information or part of
the information depending on the sensitivity of the information transferred.

IPv6 has built in security in the link-level (see section 2.6), the security is transparent for users
and applications since either of them have zero knowledge on what happens to packets when they
pass the IP-layer and enter to link layer. All information that goes through certain link is secured.
Not every packet contains information having high sensitivity and therefore also high priority to
be secured. If the security is implemented at the packet level, the security is not anymore as
transparent, for instance to network infrastructure devices, as it is at the link level. Sometimes
only certain fields of packets are secured. This, of course, gives the weakest level of protection
when compared to two previously mentioned methods. However, if fields chosen include all the
fields containing sensitive information, this method may turn out to be adequate and secure
enough.

6.2.3 The role of AXD301 in VoIP
In order to achieve the functional requirements for VoIP, AXD301 could be used as MGW (see
section 5.1.3). AXD301 in the current release can also be used for VoIP with ATM as link-level
protocol.


6.3 IPv6 and home broadband access
In less than five years, price wars among providers and greater demand will create an
international home broadband access market worth $80 billion, and the number of high-speed
Internet connections will overtake slower dial-up connections.

The emerging IPv6, a main Internet communications protocol, is an important enabler as it
allows for vastly more IP addresses compared to the current IPv4. IPv6 will enable a broad range
of consumer products, including refrigerators and bathtubs, to be connected to the Internet.

In briefs, the benefits of IPv6 compared with IPv4 in home broadband access are:

·    Better addressing and routing using larger address space and flexible header structure. The
     new large address space also eliminates the use of NAT.

·    Built-in auto-configuration of hosts for easier installation and administration

·    Low-level authentication and encryption security for safe transactions



                                                                                               55 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


·    Mobility support for use of future devices which most likely will be portable

·    Real-time traffic support with multicasting for broadcasting media etc.

·    Choice of service provider: The Global Aggregatable Unicast addressing scheme described
     in section 2.3.1.3 was known as provider based addressing. The reason for this is that the
     address hierarchy defined in the scheme permits a site, or residence, to change service
     provider easily. It is also possible to have multiple providers at the same time since each IPv6
     interface may be assigned multiple addresses with different prefixes. The user may then
     choose the source address for outgoing packets depending on the application.




                                                                                               56 [74]
IPv6 forwarding engine and internetwork routing protocols                                     Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                 Jianxin Wu




7 Internal Information
This section describes our practical works, which are:

·    Implement an Erlang version of Routing Information Protocol (RIP) for AXD301


7.1 Implementations of Erlang RIP prototype for AXD301
Routing Information Protocol version 2 (RIPv2) is one of two dynamic routing protocols that are
provided by the Label Switching Subsystem (LSS). LSS provides the label switching application
part of the AXD301 IP&ATM Switching System. This section describes our design of the Erlang
version of RIPv2 for AXD301.

7.1.1 AXD301 Software Structure
The AXD301 software is divided into a number of subsystems, each one focusing on functions
within a specific technical area of competence. See the figure 7-1.
The software of each subsystem is internally subdivided into blocks. The block structure has
been designed to make each block functionally cohesive; to minimize dependencies between
blocks, and to make interfaces between blocks as simple as possible. The goal is to make each
block suitable to be specified, designed, developed, maintained, and evolved fairly independently
from other blocks.

                            ATS                      LSS               FRS
                                                                                       Subsystems
                              ATM Signalling         Label               Frame         that are not
              Add-on          and SVC                Switching           Relay         part of the
              Services        Call Control           Service             Service       AXD 301
                                                     Control             Control       product


              Basic          Basic Connection
                             Control Support         Hardware              Control       General
              Functions                                                                  Operation &
                             ATM Resource            Operation,            Processor
                                                     Control &             Platform      Management
                             Management                                                  Support
                                                     Management            Services
                             PVC Call Control
                                                    SWS                  CPS            OMS
               ATS - ATM Services Subsystem
               SWS - Switching Subsystem
               CPS - Control Processor Subsystem
               OMS - Operation & Management Subsystem
               AVS - AXE VoATM Subsystem
               LSS - Label Switching Subsystem

                                   Figure 7-1: Overview of subsystems and major blocks




7.1.2 Overview of Label Switching Subsystem
The section gives an overview of LSS subsystem implementation structure and the functional
content




                                                                                                           57 [74]
IPv6 forwarding engine and internetwork routing protocols                                         Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH                     Jianxin Wu


7.1.2.1 LSS Functions
When used for MPLS, AXD301 is primarily a core Multi Protocol Label Switching (MPLS) [39]
node (also known as Label Switch Router - LSR). LSR is used mainly for transit functionality.
However, the LSR [39] does originate and terminate IP traffic for its internal communication, but
expects the Label Edge Router (LER) [39] to label all other traffic.

The nodes participate in the establishment of Label Switched Paths (LSPs) [39] from the ingress
edge to the egress edge of an MPLS network. The path selection can either be solely based on
topology (by using a dynamic routing protocol provides all information necessary for the LSP
establishment) or the path can be completely or partially specified in the label request message.

                                                                          LSR                          IP
                  IP
                                                                                          LER
                           LER                       LSR
                                                                     AXD 301
                                                                                LSR
                             IP                                                                             IP
                                      LER AXD 301
                                                                                                 LER
                LER: Label Edge Router
                LSR: Label Switching Router                                     AXD 301

                                      Figure 7-2 Multi Protocol Label Switching network




When establishing a constraint-based LSP (CR-LSP) [40], it is possible to specify the expected
type of traffic and bandwidth needed for the LSP. It is also possible to specify resource classes,
which make it possible to prevent certain types of traffic over individual links. LSPs can also be
statically configured, thus eliminating the need for signaling and routing protocols.

A core MPLS node consists of a control component and an L2 forwarding component. The
control component runs the signaling and routing protocols, while the L2 forwarding component
consists of the ATM switch capabilities, e.g. resource handling and forwarding. The AXD301 is
able to accommodate both MPLS as well as ATM signaling on a per link basis in a ships-in-the-
night fashion.
The Label Switching Subsystem (LSS) provides the functions for IP routing and MPLS
signalling. The internal structure of LSS is shown in Figure 7-3. The lines show dependencies
between blocks.

                              LSS
                                                                                          MSF
                                     RIP
                                                                        LSP
                                  OSPF                                                    LSSD
                              ISIS
                                                       FIM
                                                                                          NECM
                                                                       LDP
                                           IPS
                          to
                          L3F                                   TE              LIM


                                                                       MRH
                                                                             to REH

                                      Figure 7-3: LSS internal software block structure                          58 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


7.1.2.2 LSS Block Description
The following blocks are included in LSS:

7.1.2.2.1     Routing Support
·    TCPIP (IP Services): traffic terminating in the node. Also handles control signalling toward
     Layer 3 Forwarding board (L3F) for route updates, LSP establishment, interface activation
     etc.

·    OSPF (OSPF Routing): link-state routing protocol to achieve layer 3 reachability within an
     MPLS domain

·    RIP (RIP Routing): distance vector routing protocol to achieve layer 3 reachability within an
     MPLS domain.

·    ISIS (ISIS Routing): link-state routing protocol to achieve layer 3 reachability within an
     MPLS domain. ISIS also contains Traffic Engineering extensions.

·    FIM (Forwarding Information Manager): manages the Forwarding Information Base learning
     the routes from the routing protocols, triggering route change events, and maintaining the
     total routing table


7.1.2.2.2     Signalling Support
·    LDP (Label Distribution Protocol): handles distribution of label bindings between peers of
     MPLS nodes.

·    LSP (Label Switched Path): Responsible for establishing originating topology driven LSPs
     as well as constraint-based CR-LSP’s. Also handles Static LSPs.

·    Resource Reservation Protocol (RSVP): Signalling protocol for establishing LSPs.

·    LIM (Label Information Manager): manages the label spaces and label bindings. The block
     offers a generic interface for allocation of labels, establishment of label bindings, and
     through-connection of the switch.

·    TE (Traffic Engineering): handles the route decision when there is more than one destination
     that is involved, for example, traffic class or interface load. TE also provides the routing
     protocols with TE info to distribute.

·    MRH (MPLS Resource Handler): handles differentiated service reservations etc. Also
     interface to the distributed REH.


7.1.2.2.3     Subsystem Support
·    LSSD (Subsystem LSS on-line Documentation): provides on-line customer documentation
     relating to LSS.




                                                                                                  59 [74]
IPv6 forwarding engine and internetwork routing protocols                         Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH     Jianxin Wu


·    NECM (Network Element Configuration Management and MSF): provides the configuration
     and management capabilities to all LSS blocks. MSF also provides common implementation
     functions such as subscription service etc.


7.1.3 Current implementation of RIP
The current implementation of RIP block implements the dynamic routing protocol RIPv2 [41].
The AXD301 RIP implementation is based on RIPv2, without any backward compatibility
towards RIPv1. It is implemented as a port-program that is mainly implemented in C++ (Solaris
process) and is supervised by Erlang code (ripSup is a port supervisor), which also supplies the
interface towards FIM. When RIP starts up, it contacts MSF. MSF will then inform RIP about
interfaces in the system. RIP informs FIM that it is now ready to receive and send routes.

                          C/UNIX                                            rip

                         Erlang/OTP
                                                         ripSup




                                Figure 7-4: The current execution structure




                                                                                               60 [74]
IPv6 forwarding engine and internetwork routing protocols                          Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH      Jianxin Wu


Figure 7-5 shows the external block structure of current RIPv2 implementation



                                                        FIM




                                         ripSup                      TCPIP




                 Erlang



                                                              PIPE
                 C


                             RIP Routing




                                                              Solaris
                  ctrl        tcpipStack




                                                               eadrv




                               L3F



                  Figure 7-5: External block structure in current implementation




7.1.4 RIP Implementation Design

7.1.4.1 Execution Structure
RIP sends and receives protocol messages to and from tcpipStack in block TCPIP using
tcpipSocket and tcp_uds modules.

The block MSF performs interface creation and deletion. The block FIM functions as a central
administrator through which all routing information flows. FIM is the only process that may



                                                                                                61 [74]
IPv6 forwarding engine and internetwork routing protocols                             Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH         Jianxin Wu


update routing table. RIP uses the FIM interface to communicate with FIM (by sending
messages).

RIP is implemented in one single Erlang process that handles all RIP interfaces in the node.


                                                  MSF                           FIM




                                                                RIP




                                                          tcpipSocket




                                                          tcpip_uds


           Erlang



           C

                           tcpipStack
                                                         Solaris




                                                           eadrv



                        Figure 7-6: External block structure for new implementation




7.1.4.2 Module Structure
All external interface functions are located in the module ripI.erl. In order to integrate the RIP
block with other blocks in LSS, the module ripI.erl will be renamed to ripSup.erl. The ripI.erl
calls the function gen_server:cast and these calls are handled by handle_cast in rip.erl. The
rip.erl is implemented as gen_server [64] which receive all parameters from external blocks and
handle the requests in its handle_cast and handle_call functions.

Calls from RIP to external functions in other blocks are made directly from each RIP module.

Packets from line are received in the handle_info function and passed to ripLink.erl and decoded
by ripMsg.erl. The ripProt.erl module handle the RIP protocol according to [41] which also has
the responsibility to update RIP's routing table and create RIP packets. Packets are sent through
ripLink.erl and encoded by ripMsg.erl.




                                                                                                   62 [74]
IPv6 forwarding engine and internetwork routing protocols                                 Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH             Jianxin Wu




Figure 7-7 shows the internal structure and flow for the implementation

                     ripI.erl                                   ripPages.erl              ripDataInit
        External Interface functions




                      rip.erl                                    ripMgmt.erl                 Mnesia
                                                                                            IF-table
                handle_call(...)
                handle_cast(...)
                handle_info(...)




                         ripProt.erl                             ripLink.erl              ripMsg.erl
                   handle_inc_msg(...)                            recv(...)               decode(...)
                   output_process(...)                            send(...)               encode(...)




            receive packet                                                  send packet

                                         tcpipSocket.erl/tcpip_uds.erl




                               Figure 7-7: RIP internal structure and flow




The implemented modules have the functionalities as described below:

·         ripI.erl: this module is an interface, which makes a gen_server:cast, or calls a passing
         action and all parameters into the rip.erl module.

·         rip.erl: the handle_cast and handle_call function in rip.erl has a clause for each action
         and calls the ripModule:function. Calls from RIP to external functions in other blocks are
         made directly from each rip module. Packets from line are received in the handle_info
         function and passed to ripLink.erl and decode by ripMsg.erl

·         ripProt.erl: implementation of RIPv2 protocol. The module receives rip packets, extracts
         the routing information and update RIP routing table. The module is also responsible for
         creating rip packets and sends them through ripLink module.

·         ripLink.erl: packets are sent through this module

·         ripMsg.erl: encode and decode messages which are received respectively sent to
         ripLink.erl




                                                                                                        63 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu




8 Conclusions
This section summarizes this thesis' results, presents possible paths for future works and the
lessons we've learned.


8.1 Summary of the results
The thesis' results are summarized in the following sections.

8.1.1 IPv4 versus IPv6
There are a number of reasons why IPv6 is appropriate for the next generation of the Internet
Protocol. Throughout this report, many improvements to IPv4 have already been revealed:

·    IPv6 supports more levels of address hierarchy. The address space has increased from 32 bits
     to 128 bits to support a much greater number of nodes.

·    Supports a new type of address called “anycast addresses” in which a packet is delivered to
     the nearest interface identified by the anycast address.

·    A new QoS feature has been added to label packets belonging to particular traffic-flow
     requiring special handling, such as “real-time” service.

·    Simplified header format to lower overhead and packet processing costs.

·    IPSec for providing security.

·    Auto-configuration with neighbor discovery and mobility support

·    IPv6 assigns addresses of other Internet protocol suites such as IPX and NSAP addresses.

IPv6 is an evolutionary step from IPv4. It builds upon the architecture that made IPv4 successful
in the Internet. It is designed to solve the growth problems the Internet encountering including
the direct issues of addressing and routing, as well as dealing with long-term growth issues such
as security, auto-configuration, real-time service.

8.1.2 IPv6 in 3G mobile networks and other applications
IPv6 is designed to meet the needs of new emerging markets such as nomadic personal
computing devices and IP-enabled devices. The benefits that IPv6 brings into 3G networks can
be summarized as followed:

·    Address space problem: There will be billions of mobile terminals when the first IP based 3G
     networks are deployed and since these terminals should have an unique IP addresses, the
     address space for IPv4 is not sufficient.

·    Auto-configuration: IPv6 includes address auto-configuration, which can help network
     administrators in configuring the networks.




                                                                                                 64 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


·    Security and mobility built-in: the unique global address will facilitate end-to-end security.
     IPv6 includes packet encryption, source authentication and support real- time traffic.

The improvements in IPv6 also bring many benefits (address space, QoS feature etc.) for other
applications like VPN, VoIP and home broadband access.


8.2 Future work
This thesis has dealt with the next generation Internet Protocol, IPv6 and the intra-domain
routing protocols, which will be used within IPv6 networks. We have implemented an Erlang
version of IPv4 routing protocol, namely RIPv2, for AXD301. This Erlang version RIPv2 can be
changed lightly to RIP for IPv6 (RIPng) so as to be used as a testbed for AXD301 in concerning
IPv6 routing issues.

Further extending the timeframe, our implementation should be tried with real AXD301. It would
be interesting to see if the implementation works in real-life system.

A list of items for future work is summarized below:

·    Test our RIPv2 implementation on real AXD301

·    Change our implementation to RIPng and test it on the simulated environment and real
     AXD301

·    Verify result of the tests of IPv6 capabilities for AXD301 forwarding engine with real traffic
     on real Packet Termination Board on the AXD301

·    Further investigate the possibility of using IPv6 for new services, applications and the role of
     AXD301 in these applications

·    Further investigate the requirements for an IPv6 router




                                                                                                65 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu




References

Literature

[1]            C. Huitema, "IPv6, The New Internet Protocol", Second edition, Prentice-Hall 1998

[2]            W. Stallings, "Data and Computer Communication", Fifth edition, Prentice-Hall
               1997

[3]            W. Richard Stevens, "TCP/IP Illustrated, Volume 1: The Protocols", Addison-
               Wesley 1994

[4]            W. Richard Stevens, "TCP/IP Illustrated, Volume 2: The Implementation", Addison-
               Wesley 1995

[5]            J. Armstrong, "Concurrent Programming in Erlang", Second edition, Prentice-Hall
               1996

[6]            Information Sciences Institute, University of Southern California, "Internet Protocol
               Specification", RFC 791, September 1981

[7]            R. Droms, "Dynamic Host Configuration Protocol", RFC 2131, March 1997

[8]            S. Kent, R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401,
               November 1998

[9]            D. Johnson, S. Deering, "Reserved IPv6 Subnet Anycast Addresses", RFC 2526,
               March 1999

[10]           S. Deering, R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC
               2460, December 1998

[11]           R. Hinden, S. Deering, "IP Version 6 Addressing Architecture", RFC 2373, July
               1998

[12]           M. Crawford, C. Huitema, "DNS Extensions to Support IPv6 Address Aggregation
               and Renumbering", RFC 2874, July 2000

[13]           J. Bound, M. Carney, C. Perkins, "Dynamic Host Configuration Protocol for IPv6
               (DHCPv6)" , draft-ietf-dhc-dhcpv6-23.txt, Feb 2002

[14]           S. Berson, "RSVP and Integrated Services with IPv6 Flow Labels", draft-berson-
               rsvp-ipv6-fl-00.txt, June 1999

[15]           D. Johnson, C. Perkins, “Mobility Support in IPv6”, draft-ietf-mobileip-ipv6-15.txt,
               July 2001

[16]           D. Oran, "IS-IS Intra-domain Routing Protocol", RFC 1192, February 1990


                                                                                               66 [74]
IPv6 forwarding engine and internetwork routing protocols                        Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH    Jianxin Wu


[17]           R. Callon, "Use of OSI IS-IS for Routing in TCP/IP and Dual Environments", RFC
               1195, December 1990

[18]           E. Hopps, "Routing IPv6 with IS-IS", draft-ietf-isis-ipv6-02.txt, April 2001

[19]           Technical Specification 3rd Generation Partnership Project, Technical Specification
               Group Radio Access Network, "UTRAN Overall Description", December 2000

[20]           Technical Specification 3rd Generation Partnership Project, Technical Specification
               Group Radio Access Network, "RRC protocol specification", March 2001

[21]           Mobile Wireless Internet Forum, "IP in the RAN as a Transport Option in 3rd
               Generation Mobile Systems Technical Report", June 2001

[22]           M. Handley, H. Schulzrinne, E. Schooler, J. Rosenberg, "SIP: Session Initiation
               Protocol", RFC 2543, March 1999

[25]           Y. Rekhter, T. Li, "An Architecture for IP Address Allocation with CIDR", RFC
               1518, September 1993

[26]           Y. Rekhter, B. Moskowitz, D. Karrenberg, G. J. de Groot, E. Lear, "Address
               Allocation for Private Internets", RFC 1918, February 1996

[27]           H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson, "RTP: A Transport Protocol
               for Real-Time Applications", RFC 1889, January 1996

[28]           R. Braden, L. Zhang, S. Berson, S. Herzog, S. Jamin , "Resource ReSerVation
               Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, September 1997

[29]           Nguyen, Tri T. "BGP-MPLS VPN extension for IPv6 VPN over an IPv4
               infrastructure", draft-ietf-ppvpn-bgp-ipv6-vpn-01.txt, November 2001

[30]           Y. Rekhter, T. Li, "A Border Gateway Protocol 4 (BGP-4)", RFC 1771, March 1995

[31]           P. Marques, F. Dupont, "Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-
               Domain Routing", RFC 2545, March 1999

[32]           T. Bates, Y. Rekhter, R. Chandra, D. Katz, "Multiprotocol Extensions for BGP-4",
               RFC 2858, June 2000

[33]           C. Perkins, "Mobile IP, Design Principles and Practices",Addison Wesley, US, 1998

[34]           K. Worrall, "The impact of IPv6 on the wireless networks", Crown Castle
               International, UK, March 2001

[39]           E. Rosen, A. Viswanathan, R. Callon, "Multiprotocol Label Switching Architecture",
               RFC 3031, January 2001

[40]           L. Andersson, "Constraint-Based LSP Setup using LDP", draft-ietf-mpls-cr-ldp-
               05.txt, November 2001



                                                                                              67 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


[41]           G. Malkin, "RIP Version 2", RFC 2453, November 1998

[42]           R. Gilligan, E. Nordmark, "Transition Mechanisms for IPv6 Hosts and Routers",
               RFC 2453, August 2000

[43]           R. Callon, D. Haskin, "Routing Aspects Of IPv6 Transition", RFC 2185, September
               1997

[44]           AXD301/305 System Description, General Description, June 2001

[45]           Label Switching Subsystem documents: LSS Description, LSS Function Description,
               Function Specification

[46]           Routing Information Protocol block documents: RIP Block Description, RIP Module
               Interface Description, RIP Source Code (Erlang and C codes)

[47]           MPLS System Functions block documents: MSF Block Description, MSF Module
               Interface Description

[48]           Forwarding Information Manager block documents: FIM Block Description, FIM
               Sequence Diagrams, FIM Module Interface Description

[49]           Transmission Control Protocol Internet Protocol block documents: TCPIP Block
               Description, TCPIP Module Interface Description

[50]           Resource Reservation Protocol block documents: RSVP Block Description, RSVP
               Interface Description, RSVP Source Code

[51]           Label Distribution Protocol block documents: RSVP Block Description, RSVP
               Module Interface Description

[52]           S. Kent, R. Atkinson, "IP Authentication Header", RFC 2402, November 1998

[53]           A. Conta, S. Deering, "Internet Control Message Protocol (ICMPv6) for the Internet
               Protocol Version 6 (IPv6) Specification", RFC 2463, December 1998

[54]           P. Srisuresh, M. Holdrege, "IP Network Address Translator (NAT) Terminology and
               Considerations", RFC 2663, August 1999

[55]           T. Narten, E.Nordmark, W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)",
               RFC 2461, December 1998

[56]           S. Thomson, T. Narten, "IPv6 Stateless Address Auto-configuration", RFC 2462,
               December 1998

[57]           D. Borman, S. Deering, R. Hinden, "IPv6 Jumbograms", RFC 2675, August 1999

[58]           R. Atkinson, "Security Architecture for the Internet Protocol", RFC 1825, August
               1995




                                                                                             68 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


[59]           S. Kent, R. Atkinson, "IP Encapsulating Security Payload (ESP)", RFC 2406,
               November 1998

[60]           C. Perkins, "IP Mobility Support", RFC 2002, October 1996

[61]           G. Malkin, R. Minnear, "RIPng for IPv6", RFC 2080, January 1997

[62]           J. Moy, "OSPF Version 2", RFC 2328, April 1998

[63]           R. Coltun, D. Ferguson, J. Moy, "OSPF for IPv6", RFC 2740, December 1999

[64]           K. Nichols, S. Blake, F. Baker, D. Black, "Definition of the Differentiated Services
               Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998




                                                                                                69 [74]
IPv6 forwarding engine and internetwork routing protocols                            Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH        Jianxin Wu




Web Resources

[65]           Products: AXD301, <http://www.ericsson.com/datacom/products/wan_core/axd301/index.shtml>

[66]           IPv6 Information Page, <http://www.ipv6.org>

[67]           IPv6 Forum, <http://www.ipv6forum.com>

[68]           IETF Home Page, <http://www.ietf.org/>

[69]           6bone Home Page <http://www.6bone.net/>

[70]           IPv6 news & links <http://www.hs247.com/>

[71]           Cisco Home Page <http://www.cisco.com>

[72]           3GPP-Third Generation Partnership Project <http://www.3gpp.org/>

[73]           3GPP-Third Generation Partnership Project 2 <http://www.3gpp2.org/>

[74]           3G.IP Home Page <http://www.3gip.org/>

[75]           Mobile Wireless Internet Forum Home Page <http://mwif.org/>

[76]           IEEE Home Page <http://www.ieee.org/>

[77]           Home of Erlang/OTP, <http://www.erlang.se>




                                                                                                     70 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu




Appendices
Appendix B - SSIT in Visual AXD301 configuration interface

Appendix C - RIPv2 Source Code in Erlang for AXD301 (can be acquired in paper form)




                                                                                             71 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu



B SSIT Simulator
The simulation starts with three MPLS nodes, which have all LSS's functionalities. The nodes
are named as node number 1, 2, etc.

B.1 Create a RIP interface
The figure shows the available interfaces (node number 1) for assigning as RIP interfaces




                                                                                             72 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


Two interfaces are assigned as RIP interfaces in node 1




                                                                                             73 [74]
IPv6 forwarding engine and internetwork routing protocols                       Minh Tham
M. Sc. Thesis, Department of Microelectronics and Information Technology, KTH   Jianxin Wu


One interface remains for other routing protocols in node 1




                                                                                             74 [74]

				
DOCUMENT INFO
Shared By:
Tags: RIPng
Stats:
views:19
posted:6/24/2011
language:English
pages:74
Description: Routing Information Protocol next generation (RIPng, used in IPv6) is an IPv6 network protocols and algorithms based on the agreement. In international networks, such as the Internet, has applied to the entire network, many routing protocols. The formation of an autonomous system for each network (AS), has its own routing technology, different autonomous systems, routing technology is different. Within the autonomous system routing protocol known as Interior Gateway Protocol (IGP). Exterior Gateway Protocol (EGP) is an autonomous system for the transmission between the routing information protocol. AS in the medium-sized RIPng is used as the IGP. For more complex network environment, RIPng does not apply.