Network Working Group B. Jamoussi
Request for Comments: 2340 D. Jamieson
Category: Informational D. Williston
S. Gabe
Nortel (Northern Telecom) Ltd.
May 1998
Nortel's Virtual Network Switching (VNS) Overview
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved.
Abstract
This document provides an overview of Virtual Network Switching
(VNS).
VNS is a multi-protocol switching architecture that provides COS-
sensitive packet switching, redUCes the complexity of operating
protocols like PPP and frame relay, provides logical networks and
traffic segregation for Virtual Private Networks (VPNs), security and
traffic engineering, enables efficient WAN broadcasting and
multicasting, and reduces address space requirements. VNS reduces the
number of routing hops over the WAN by switching packets based on
labels.
VNS has been proven in production networks for several years.
Table of Contents
1 Introduction ............................................ 2
2 What is VNS? ............................................ 3
3 VNS Header ............................................. 5
4 VNS Label Distribution .................................. 7
5 Logical Networks (LNs) .................................... 7
6 VNS Routing ............................................. 8
7 VNS Forwarding .......................................... 9
7.1 Unicast ................................................ 9
7.2 Multicast .............................................. 9
8 Traffic Engineering ..................................... 10
8.1 Equal Cost Multipaths .................................. 10
8.2 Trunk Load Spreading ................................... 10
9 Class of Service ........................................ 11
10 VNS Migration Strategies ................................ 11
11 Summary ................................................. 11
12 Security Considerations ................................. 12
13 Acknowledgments ......................................... 12
14 Authors' Addresses ...................................... 13
15 Full Copyright Statement ................................ 14
1. Introduction
There are several key problem areas with today's wide area backbone
networks that carry LAN traffic: scalability, service
differentiation, redundancy, administration, and traffic containment.
First, scalability is becoming a major concern because of the rapid
growth in bandwidth demand and geographical reach. As the size of the
WAN network grows traditional point-to-point and NBMA topologies or
network models lose their performance.
Second, the need to provide several Classes of Service (CoS) has
never been greater. The days of a single "best effort" service are
over and service providers demand ways to differentiate the quality
of the service offered to their clients based on several policies.
Third, the WAN is often carrying mission-critical traffic and loss of
service is not acceptable. So far, path redundancy has been addressed
inefficiently by requiring additional links or VCs.
Fourth, network operators demand easy and simplified network
administration. Large NBMA topologies require extensive PVC
provisioning until SVC deployment becomes more ubiquitous. For
Point-to-point models, IP address space may be used inefficiently and
non-trivial network schemas are required to contain reserved address
space.
Finally, proper segregation of traffic is becoming a must. This
requirement is being addressed today by adding leased lines or VCs
used to separate traffic flows based on regions or interest or
protocol.
Nortel's Virtual Network Switching (VNS) is a technology that
provides efficient solutions to these challenges.
Section 2 provides an overview of VNS. The VNS header is specified in
Section 3. Section 4 describes the VNS label distribution mechanism.
Section 5 defines how a VNS network can be partitioned into Logical
Networks (LN). Section 6 outlines VNS routing. Section 7 defines both
unicast and multicast forwarding. Section 8 describes the mechanisms
used to engineer the traffic. Section 9 defines the COS based
switching of VNS. Section 10 provides network migration scenarios
using VNS. A summary of VNS is provided in Section 11.
2. What is VNS?
Virtual Network Switching (VNS) is a CoS-sensitive multi-protocol
label switching architecture that reduces or eliminates the number of
layer 3 hops over the WAN by switching traffic based on labels.
VNS makes a network of point to point links appear to be a single
LAN (broadcast, multiple Access) media. The network used by a
particular instance of VNS is called a Logical Network (LN) which is
described in more detail in Section 5.
In reference to the ISO Network Layering Model, the Data Link Layer
is eXPanded to include VNS network layer. To the ISO Network Layer,
(e.g., IP), VNS is treated as a Data Link Layer.
------------------------
Application
------------------------
Presentation
------------------------
Session
------------------------
Transport
------------------------ -------------------------
Network (e.g., IP) / Network VNS
-----------------------------
Data Link --------------------------
-----------------------------
Physical \ data link (e.g., ATM)
------------------------ -------------------------
Figure 1. ISO Network Layering Model for VNS
In a VNS Network, three separate nodal functions are defined. An
ingress node, an egress node, and a tandem node. The ingress and
egress nodes define the boundary between an IP network and the VNS
network. Therefore, these nodes run both IP routing and VNS routing.
However, tandem nodes need only run VNS routing.
A LAN packet is encapsulated in a VNS header as it enters the LN. The
label in the header is used to switch the packet across the LN. The
encapsulation header contains the identifier of the last node (or
egress node) that processes the packet as it traverses the LN. It is
the first node (or ingress node) that decides to which egress node
the packet is sent. All nodes between the ingress and egress nodes
(known as tandem nodes) decide independently the best packet
forwarding route to the egress node identified in the packet.
The network layer protocols view VNS as a shared broadcast media,
where the speed to reach any node on the media is the same for all
nodes. VNS ensures that traffic destined to other nodes is forwarded
optimally. This transparent view of the VNS means that all the
details of the network (for example, topology and link states) can be
hidden from the Upper Layer Protocols (e.g. Layer 3 routing
protocols) and their applications. VNS also ensures that changes to
topology and link state are hidden.
The network layer protocol on the ingress node views the network
layer protocol on the egress node as its logical and directly
connected neighbor. This is significant because the network layer
protocols always decide which directly connected neighbor should
receive a forwarded packet. The details of the actual topology
supporting the connectionless network are managed entirely by the
Virtual Network Switching and are hidden from the network layer
protocols. To the network layer, VNS simply appears to be another
Data Link Layer (or media), even though VNS is a network layer itself
running on top of the actual Data Link Layer (for example, ATM
trunks).
For the ingress node to choose the egress node that provides the best
path to the packet's final destination, it must have knowledge of the
following:
- the nodes that can be reached in the network
- the topology of the network that is using the VNS services for
transport across the network (but not necessarily the topology
of the full network)
This knowledge is oBTained through the network layer routing
mechanisms such as, IP's Open Shortest Path First (OSPF) and Address
Resolution Protocol (ARP).
Once the network layer protocol on the ingress node has decided which
neighbor to transmit the packet to, it is the responsibility of VNS
forwarding, a part of VNS, to deliver the packet to that node. Once
the packet arrives at the egress node, the packet is delivered to the
network layer protocol, which then forwards it to its ultimate
destination.
Tandem nodes have no interaction with the network layer protocols.
They only require knowledge of the VNS network topology. They make
their packet forwarding decision on the egress node identifier and
LN identifier carried in the VNS header of the packet.
3. VNS Header
VNS defines a unicast header shown in Figure 2 and a multicast header
shown in Figure 3.
3 2 1 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TTL LNN xLS-Key xDP CmnHdr
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Protocol Type Destination Node Identifier
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
COS x x x x Source Node Identifier
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Network Layer Header (e.g. IP)
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2. Unicast VNS Header
The unicast header includes the following fields:
- Common Header (CmnHdr): The common header identifies the packet to
be a VNS encapsulated packet.
- Discard Priority: Indicates the level of congestion at which the
packet should be discarded. The value of this field is assigned on
the originating node based on policy information (see Section 9).
- Load Spreading Key: indicates the stream to which the packet
belongs for the purposes of equal cost multipath and trunk load
spreading (see Section 8).
- LNN: The Logical Network Number defines the logical network the
packet belongs to. This field in is used in conjunction with the
destination node identifier as the VNS switching label (see Section
5).
- TTL: The Time To Live field is used to detect and discard packets
caught in temporary routing loops.
- Destination Node Identifier: This field contains an ID which
uniquely identifies the destination node. This ID is unique to the
physical network not just the LN. In conjunction with the LNN, this
forms a global VNS switching label.
- Protocol Type: indicates the type of Network layer protocol being
carried in the packet. Examples include IP, IPX, and Bridging. If the
packet is a multicast packet then this is indicated in this field.
- Source Node Identifier: This field contains an ID which uniquely
identifies the source node (ingress node).
- CoS: The Class of Service field is used to provide routing class of
service. The COS field also affects the Emission Priority of the
packet in the scheduler (see Section 9).
- Reserved Fields: All the fields marked with "x" are Reserved.
3 2 1 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TTL LNN xLS-Key xDP CmnHdr
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PT = Multicast Destination Node Identifier
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
COS x x x x Source Node Identifier
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Protocol Type x x x x x x x x Multicast Group
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Network Layer Header (e.g. IP)
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3. Multicast VNS Header
The multicast header shown in Figure 3, includes all the fields of
the unicast header. In addition, the multicast header includes the
following fields:
- Multicast Group: this field is used to identify a sub-group within
the logical network that receives the multicast packets.
- Protocol Type: indicates the type of Network layer protocol being
carried in the packet. Examples include IP, IPX, and Bridging.
4. VNS Label Distribution
Label distribution in VNS is based on a distributed serverless
topology driven approach. Standard ARP or address gleaning is used to
distribute and map network layer addresses to VNS addresses.
A VNS Label is an 6 byte encoding of the LNN and the node ID. VNS
Labels are treated as MAC addresses by the network layer. This means
that labels are distributed by the same means network layers use to
distribute MAC addresses. Thus, VNS leverages existing L2/L3 mapping
techniques and doesn't require a separate Label Distribution
Protocol.
5. Logical Networks (LNs)
A logical network consists of a subset of the nodes in a network
together with a subset of the trunking facilities that link those
nodes. Logical networks partition the network into subnetworks that
serve a subset of the overall topology.
Each of the logical networks supported on any given node has a
separate routing and forwarding table (built by VNS). Therefore,
routing decisions are based on the resources available to the logical
network, not the entire network.
Each instance of VNS will discover all the trunks which are connected
to neighbors which support a matching LNN. This provides a huge
administrative saving, since VNS provisioning is on a per-node basis,
not on a per-link basis. VNS provisioning requires only a unique
node ID and an LNN. Discovery of which trunks support which LNNs is
done at run time, relieving administrative effort, and allowing the
LN to dynamically adapt to topology changes.
Multiple Logical Networks provide the following benefits to the
network system:
- Logical networks allow service providers to service multiple
private networks or (Virtual Private Internets) easily over one
network.
- Logical networks can be used to limit the impact of one network
layer protocol on the others. This is particularly true for
protocols that broadcast or multicast a large percentage of either
their control or data packets. This increases the effective
bandwidth of the trunks and allows the overall network to scale
better.
- Logical networks allow for the configuration of the network to
meet individual community of interest and geographical
subnetworking needs.
- Routing control traffic has significance only in the local
subnetwork that is isolated to that subnetwork.
- Logical networks allow different instances of the same protocol
to share trunk facilities.
6. VNS Routing
VNS routing is a link state routing system which uses many concepts
similar to OSPF and PNNI. One of the most significant departures from
the others is its ability to calculate shortest path trees for
routing unicast traffic and spanning trees for routing multicast
traffic within a Logical Network.
There is only one type of interface that VNS routing supports and
this is known as a VNS link. A link is a set of trunks that join two
VNS neighbor nodes. Each node in a VNS network maintains information
about the state of locally attached links. This information is
flooded throughout the network whenever there is a significant change
to the link's state or attributes (i.e. up/down, speed change,
available bandwidth change).
Each node stores and forwards the link state information received
from all other nodes. This allows each node to have the same view of
all of the nodes in the network together with all of their link state
information. This data is used to compute both the shortest path to
reach each node in the Logical Network and a spanning tree for the
Logical Network.
Logical networks are not bound to a particular trunk or link. They
are configured on a node. By default, a link will support a specific
logical network if the two nodes which it connects both are
configured to support the logical network number. This provides a
significant savings in operations over having to configure logical
networks on links or trunks.
When a link first comes into service, a protocol is run which allows
the two neighboring nodes to exchange information about the logical
networks they support. This allows the two nodes to determine if the
links are to be considered as a locally attached link for a logical
network.
7. VNS Forwarding
VNS supports two types of forwarding: unicasting and multicasting. In
the first type, the data packet arrives on the ingress node and
unicasting forwards the data packet to a single destination (egress
node). In the second type, the data packet arrives on the ingress
node and multicasting forwards the data packet to all other nodes in
the logical network.
7.1 Unicast
When a packet first enters the LAN internetwork, the network layer
routing protocol determines the next hop of the best route for the
packet to reach its final destination. If the best route is through a
VNS Logical Network, the network layer routing protocol relies on VNS
forwarding to get the packet to the egress node. A VNS packet header
containing the node ID (the unique ID assigned to each node) of the
egress node is added to the front of the packet and VNS forwarding is
invoked to deliver the packet. The network layer routing protocol
learns the egress node ID through an Address Resolution Protocol
(ARP) for IP and Source Address learning for bridging.
As the packet traverses the LN, routing decisions are made to
determine the next hop in the route to reach the destination node ID
specified in the VNS header. A forwarding table is built on each node
that assists in making the routing decision.
Each VNS instance on each node builds and maintains a forwarding
table for its LN. Each forwarding table has an entry for every node
that is a member of the logical network.
7.2 Multicast
In addition to the unicast forwarding function, VNS also supports a
multicast forwarding service for traffic within an LN at the VNS
layer. Multicast packets are delivered to all nodes supporting the
logical network to which the multicast packet belongs. The packets
are sent along the branches of a spanning tree that is built by each
node supporting the logical network and is based on a common root
node (so that each node's view of the tree is the same as other
nodes). In other Words, multicast packets are sent intelligently,
consuming a minimum of network bandwidth. If the network topology is
stable, each node receives each multicast packet only once.
Multicast packets received at any node are not acknowledged. They are
simply forwarded to the specified network layer interface and sent to
any other neighbor nodes on the spanning tree.
8. Traffic Engineering
VNS forwarding supports two types of traffic engineering mechanisms:
equal cost multipaths and trunk load spreading.
Equal cost multipaths allows different streams (unique network layer
source and destination address pairings) to be load spread between
multiple relatively equal cost paths, through the Logical Network to
the egress node.
Trunk load spreading between two neighbors can take place when
multiple VNS trunks are defined between neighbors. Again, the load
spreading is based on network layer streams.
8.1 Equal Cost Multipaths
From any point in a logical network, there may be multiple paths to
reach a specific egress node. If VNS routing determines that more
than one of these paths are of equal cost, VNS packets will be load
spread between two of them.
Equal cost multipath forwarding is supported not only on ingress
nodes but on tandem nodes as well. Each packet on an ingress node is
tagged with an equal cost multipath key. This key is acted upon at
the ingress node and stored in the VNS header to be used on tandem
nodes.
The equal cost multipath key is calculated by running an algorithm
over the source and destination network layer addresses. This means
that, in a stable network, any given stream will always take the same
path through a Logical Network avoiding the problems that misordering
would otherwise cause.
8.2 Trunk Load Spreading Between Neighbors
VNS allows multiple trunks to be configured between neighboring VNS
nodes. VNS routing considers the aggregate bandwidth of those trunks
to determine the metric between the nodes. Also, VNS load spreads its
traffic amongst those trunks.
As is the case with equal cost multipaths, the trunk load spreading
key is calculated on the ingress node from an algorithm run over the
source and destination network layer addresses. The key is then
stored in the VNS header to be used on all tandem nodes through the
Logical Network.
9. Class of Service
At the ingress to a VNS Network, packets are classified according to
the Class of Service (Cos) policy settings. The CoS differentiation
is achieved through different Emission and Discard priorities. The
semantics of the classification is carried in the VNS label (DP and
COS Fields described in Section 3) to be used at the ingress node as
well as all tandem points in the VNS network to affect queuing and
scheduling decisions.
10. VNS Migration Strategies
VNS supports several upper layer protocols such as IP, IPX, and
Bridging. Therefore, it is a multiprotocol label switching
architecture. In addition, VNS is not tied to a particular L2
technology. It runs on cell (e.g., ATM) trunks, frame trunks, or a
mixture of both.
VNS can be gradually introduced in a network. It can be implemented
between switching elements interconnected by point to point links.
Each of the switching nodes can run layer 3 routing simultaneously
with packet switching. VNS also allows for the interconnection of VNS
clouds through an ATM VC.
Since VNS can run on a mixture of Frame and Cell trunks, it allows
for the graceful migration of the frame links to ATM without
requiring a complete immediate overhaul.
11. Summary
VNS addresses scalability problems in several ways:
1. By a generally distributed design which doesn't
require a Label Distribution Protocol, or servers of any kind.
2. By providing an efficient, distributed multicast mechanism.
3. By allowing administrators to control the size of a
Logical Network, limiting traffic to a subset of the physical
topology.
4. By reducing layer 3 address space/subnet requirements in the
WAN which reduces the routing table size.
VNS provides redundancy transparent to the network layer protocol by
managing the network of trunks independently of the network layer.
VNS will automatically discover any topology changes and re-route
traffic accordingly.
VNS eases network administration by dynamically keeping track of
which trunks are available for each LNN. Network administrators
don't have to configure VNS or network layer addresses on a per link
basis. Network layer addresses only have to be assigned on a per
Logical Network basis. For nodes which will only be tandem VNS
nodes, network layer addresses aren't required at all.
Since VNS traffic is constrained within an LNN, administrators have
control of where VNS traffic is allowed to flow.
Finally, VNS supports switching of several Upper Layer Protocols and
supports several media (cell and Frame) or a mixture thereof.
Switching in the core of the WAN removes the need for routers and
improves the performance due to a reduction in the number of fields
that need to processed.
12. Security Considerations
Logical networks provide a means of restricting traffic flow for
security purposes. VNS also relies on the inherent security of the L2
media such as an ATM Virtual Circuit.
13. Acknowledgments
The authors would like to acknowledge the valuable comments of Terry
Boland, Pierre Cousineau, Robert Eros, Robert Tomkins, and John
Whatman.
14. Authors' Addresses
Bilel Jamoussi
Nortel (Northern Telecom), Ltd.
PO Box 3511 Station C
Ottawa ON K1Y 4H7
Canada
EMail: jamoussi@Nortel.ca
Dwight Jamieson
Nortel (Northern Telecom), Ltd.
PO Box 3511 Station C
Ottawa ON K1Y 4H7
Canada
EMail: djamies@Nortel.ca
Dan Williston
Nortel (Northern Telecom), Ltd.
PO Box 3511 Station C
Ottawa ON K1Y 4H7
Canada
EMail: danwil@Nortel.ca
Stephen Gabe
Nortel (Northern Telecom), Ltd.
PO Box 3511 Station C
Ottawa ON K1Y 4H7
Canada
EMail: spgabe@Nortel.ca
15. Full Copyright Statement
Copyright (C) The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.