Internet DRAFT - draft-guo-forces-routing
draft-guo-forces-routing
ForCES Xiaoyi Guo
draft-guo-forces-routing-02.txt Huawei Technologies
Expires: September 6 March 6, 2006
ForCES Intra-NE Routing Mechanism
draft-guo-forces-routing-02.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that
any applicable patent or other IPR claims of which he or she is
aware have been or will be disclosed, and any of which he or she
becomes aware will be disclosed, in accordance with Section 6 of
BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on September 6, 2006.
Abstract
This document describes a routing mechanism for intra-NE packet
transfer path and routing table maintenance. The routing mechanism
only operates during post-association phase of ForCES protocol.
Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119.
Xiaoyi September 6, 2006 [Page 1]
Internet-Draft ForCES routing Oct March 2006
Table of Contents
1. Definitions....................................................2
2. Introduction...................................................2
2.1 Motivation ................................................3
3. Routing Mechanism..............................................4
3.1.Minimum requirements.......................................5
3.2. Routing Mechanism.........................................5
3.2.1 Protocol Details....................................5
3.2.2 Update and Maintenance..............................6
3.2.3 Multi-Path Selection................................7
3.3. Routing Table Structures..................................7
3.4. Inter-FE Data Forwarding Examples.........................8
4. Routing path Security..........................................9
5. Security Considerations........................................9
6. References.....................................................9
6.1. Normative.................................................9
6.2. Informative...............................................10
7. Author's Addresses.............................................10
8. Intellectual Property Statement................................10
9. Copyright Statement............................................10
10.Acknowledgments................................................10
1. Definitions
Inter-FE topology maintenance: Once the inter-FE topology has been
discovered, it has to be continuously monitored to ensure that any
changes to the topology are reported to the corresponding CE. This
represents the steady state and final phase of the protocol.
Edge FE: edge FE which has a port connected to other NEs or routers
outside of this NE, and also connects to intra-NE FE port.
Intra-NE: It describes the connection and status in a NE, these
status do not contact with outside NEs or other routers.
Intra-NE routing table: It describes the table contains the routing
path information of Intra-NE.
2. Introduction
The ForCES architecture describes how a set of control elements (CEs)
and forwarding elements (FEs) interact with each other to form a
single network element (NE). It describes the ForCES post-association
phase protocol working across the Fp reference point between CE and
Xiaoyi September 6, 2006 [Page 2]
Internet-Draft ForCES routing Oct March 2006
FE. This document describes an important aspect of the ForCES
operational infrastructure - that of routing mechanism for forwarding
packets in the Intra-NE topology.
The mechanism is divided into two distinct operational pieces: The CE
side component that uses the Intra-NE/Inter-FE topology information
to compute the NE routing path and CE set the routing table to FE.
The FE side component receives the Inter-NE forwarding table and uses
it to forwarding data.
As noted above, both phases occur during the post-association phases
of the ForCES protocol. In other words, the ForCES protocol
association between the CEs and the FEs should already have taken
place. And the CE component side has computed the topology of the
Intra-NE.
2.1. Motivation
An NE may include many CEs and FEs, FEs may have many kinds of
topology, but all can be divided into two kinds of topology:
1) One hop forwarding: all the FEs only one nexthop to arrive the
edge FE, the figure is as below:
-----------------
| CE |
-----------------
A ^ C ^
-------B | |E -------
| FE1 |<-+ +->| FE2 |
| |<--------------->| |
------- C D -------
E ^ D| C ^ | B
| V | v
Figure(1)
If only one hop to the edge FE, we can use the normal routing table
instead of the Intra-NE routing table. In other words, we will
finish all the forwarding process even we just use the normal
routing table.
2) Multi hop forwarding
In this type of NE architecture, the NE will always contains more
than 2 FEs and maybe one of the forwarding paths will cross several
FEs. So as a multi-hop system, we need to calculate the correct
routing path for Intra-NE.
Xiaoyi September 6, 2006 [Page 3]
Internet-Draft ForCES routing Oct March 2006
3. Routing Mechanism
-----------------
| CE |
-----------------
A ^ B ^ C ^
/ | \
/ A v \
/ ------- B \
/ +->| FE3 |<-+ \
/ |C | | | \
A v | ------- | v A
-------B | |E -------
| FE1 |<-+ +->| FE2 |
| |<--------------->| |
------- C D -------
E ^ D| C ^ | B
| | | |
| v | v
Figure (2) illustrates the internal/external links and
topology within a NE.
We define the Intra-NE routing mechanism of ForCES system. This
mechanism can direct the packet to forwarding to the correct FEs. In
a ForCES NE system, when a packet enters into one of FE port and
forwarding out from another FE port, it must cross the NE intra-
topology, the path include one FE and sometime include many FEs.
An NE may include many CEs and FEs, but only one CE acts as master
CE. So we can only consider the table in main CE, other CE may
exchange the data with the main CE, it's out of our scope.
An NE can contain FEs that have zero or more internal/external links
e.g. in Fig. 2, FE3 has two internal links and no external links
while FE1 and FE2 have two internal links and one external link
each. It is important to note that the type definition for given for
a link is only logical, because a given physical link may be a
combination of more than one type - e.g. it could simultaneously be
a control link and an internal link at the same time. Based on this
link definition, an FE can be considered to be an internal FE if it
only contains internal links and an edge FE if it contains external
links (and may also contain internal links).
There are two kinds of tables: routing table and intra-NE routing
table in the NE. The two tables are all generated by the CE. The
intra-NE forwarding table is generated from the full topology
information of the FE, while the inter-NE forwarding table is
Xiaoyi September 6, 2006 [Page 4]
Internet-Draft ForCES routing Oct March 2006
constructed in the normal way by the routing protocols such as OSPF,
BGP etc. The CE publishes the two forwarding tables to the FEs
(depending on security and policy). The intra-FE only contains the
intra-NE forwarding table while the Edge-FE contains both the tables.
And it keeps update with other routers or NEs. This is out of our
scope.
3.1. Minimum requirements
In order for the protocol to work as described, the following
assumptions are made.
. Each element has been configured with their respective IDs
(CEID, FEID)
. Element binding's process has already taken place. In other words,
the CE know all the FEs it wants to control and each FE knows
which CE is allowed to control it.
. The ForCES protocol association has already taken place between
the CE and the FE in question.
. The discovery topology protocol has already taken place.
. The full topology had already computed by CE.
Note that these are configuration requirements and are satisfied by
the respective managers (CEM/FEM).
3.2. Routing mechanism
3.2.1. Protocol Details
From the topology discovery mechanism in Figure 2, the CE component
will get the full topology of the NE. About how to generate the full
topology of FEs will be found at the ForCES discovery draft [4]. It
will be shown as below:
CE Topology View
-----------------------------------
<Node> <Port> <Node> <Port>
FE1 B FE2 D
FE2 E FE3 D
FE1 B FE2 C
-----------------------------------
Xiaoyi September 6, 2006 [Page 5]
Internet-Draft ForCES routing Oct March 2006
After the CE computes the full topology, we can use this information
to generate the intra-NE forwarding table. The CE then publishes (or
notifies, if subscribed) this forwarding table information to the
FEs. Depending on the policy, only partial forwarding table needs to
be sent to any particular FE, rather than the full forwarding table
that consists of both intra-NE and inter-NE forwarding entries. When
all the FEs has received the inter-NE forwarding table, they can
forward data packets from the ingress to the egress FE.
The CE side component will calculate the routing table, as an
example, it's like the table as below:
FE1
---------------------------------------------------------------
<Node> <Port> <DstNode> <DstPort> <NextNode> <NextPort> <Cost>
* FE1 B FE2 E FE3 C 5
FE1 C FE2 D FE2 D 6
---------------------------------------------------------------
Note: there maybe have other structures in the table, but they are
not relevant to this discussion. The route which mark * is the
preferred route path for forwarding.
After the routing table has generated, it sends each of
corresponding table to separate FEs.
Note: when a packet enters one of the Edge-FE ports, the FE will
first search/lookup the external (inter-NE) forwarding table to
determine the nexthop and the nexthop port of the egress FE. When it
obtains the next FE/FEID and the destination port, it will now
consult the internal forwarding table to determine the path to reach
the destination FE/FEID. This mechanism is similar to the push/pop
label forwarding process in an MPLS network. Please refer section
3.4 for more details.
3.2.2. Update and Maintenance
The CE aggregates the partial topology information received from each
FE and generates the inter-FE topology. With this complete knowledge
of the inter-FE topology, it can now make appropriate updates to the
LFB tables and routing table on each FE to move packets inside the
NE from ingress FE to egress FE, assuming that the destination of
the packet is not the current NE itself. Any changes in the internal
link states (and hence the topology) requires that the CE
reconfigure the LFB tables on the FEs based on the most up-to-date
Xiaoyi September 6, 2006 [Page 6]
Internet-Draft ForCES routing Oct March 2006
information to ensure that the packets do not end up in a black hole
or enter a loop.
3.2.3 Multi-Path Selection
When multiple paths are available for traversing from the ingress to
the egress FE, an appropriate forwarding path needs to be selected.
Policies can be configured to perform appropriate path selection. An
attribute such as link cost or metric can be defined for the
internal links as in OSPF protocol. We can now calculate and select
the path with the lowest cost.
-----------------
| CE |
-----------------
A ^ B ^ C ^
/ | \
/ A v \
/ ------- B \
/ +->| FE3 |<-+ \
/ |C | | | \
A v 2| ------- |1 v A
-------B | |E -------
| FE1 |<-+ +->| FE2 |
| |<--------------->| |
------- C 5 D -------
E ^ D| C ^ | B
| | | |
| V | v
Figure (3) illustrates the two paths exist in one NE
From figure 3, just add all the data path metric together, we can
generate the first path FE1---FE2 metric is 5, and the path FE1---
FE3---FE2 metric equal 3, so the latter path is selected by CE.
3.3. Routing table structure
The intra-NE forwarding table contains the following types of
structures. Additional structures such as VlanID can be added in the
future.
Example:
-------------------------------------------------------------------
<Node> <Port> <DstNode> <DstPort> <NextNode> <NextPort>
FE1 B FE3 D FE2 D
Xiaoyi September 6, 2006 [Page 7]
Internet-Draft ForCES routing Oct March 2006
o Node is original FE Node ID of receive packet.
o Port is port which connect to other intra-NE 's FE.
o DstNode is the destination FE ID of data path.
o DstPort is the destination FE port should be forwarded
o NextNode is the Next hop FE ID that the packet should be
forwarding to.
o NextPort is the next port in Next hop FE.
3.4. Inter-FE Data Forwarding Examples
The following example illustrates packet forwarding within the NE.
We use figure 3 as the NE topology.
The topology provides the cost of traversing particular links as
well. Once the CE constructs the full topology, it needs to
construct the forwarding table based on the best available path for
a particular internal destination. In our example, two paths exist
from FE1 and FE2:
Path 1 => FE1---FE3---FE2 => Cost 3
Path 2 => FE1---FE2 => Cost 5
Based on the above information, it can be seen that the total path
cost for path 1 is better than that for path 2 and hence CE picks
the first path as the best path for forwarding and installs it into
the forwarding tables of the FEs.
In FE1 and FE2, partial forwarding table show as below:
FE1:
----------------------------------------------------------------
<Node> <Port> <DstNode> <DstPort> <NextNode> <NextPort>
FE1 B FE3 D FE2 D
-----------------------------------------------------------------
FE2
------------------------------------------------------------------
<Node> <Port> <DstNode> <DstPort> <NextNode> <NextPort>
FE3 E FE2 D FE2 D
------------------------------------------------------------------
Xiaoyi September 6, 2006 [Page 8]
Internet-Draft ForCES routing Oct March 2006
When a packet arrives at FE1 port E, FE1 will search in the routing
table or FIB table to find nexthop, FE1 can determine the packet
should forward to FE2 and nexthop is FE2 port B, now the packet
forwarding in the Intra-NE, FE1 then search the Internal FIB in FE1,
the destination is FE2, so the nexthop is FE3 port D, then this
packet forwarding to FE3 port D. In FE3, the destination is FE2, so
this packet is forwarding from FE3 port E to FE2 port D by using
Internal FIB nexthop FE2 and Next port D. When this packet arrives
at FE2, FE2 will search the FIB table of FE2, now this packet is
forwarding to the outside router or NE from FE2 port B, which is the
procedure of forwarding data mechanism in the NE.
Note in each edge FE, it must search internal and external
forwarding tables, but in internal FEs, it searches internal
forwarding table only. The TTL of the packet should be decremented
only once as it traverses the NE regardless of how many FEs through
which it passes.
4. Routing path Security
It is important to note that each FE only maintains partial topology
information. The partial topology view seen by each FE is only the
neighbor connectivity information. So the CE may not send the full
routing table to each FE, it may send a partial table to separate
FEs (its depend on policy)[1]
5. Security Considerations
The ForCES protocol should ensure the communication security between
CEs and FEs. FEs should ensure that only properly authenticated
ForCES protocol participants are performing such manipulations. The
security of neighbor discovery issues is defined in ForCES neighbor
discovery mechanism [4].
6. References
6.1. Normative
1, [RFC3746] Yang, L., Dantu, R., Anderson, T. and R. Gopal,
"Forwarding and Control Element Separation (ForCES)
Framework", RFC 3746, April 2004.
2, [RFC3654] Khosravi, H. and T. Anderson, "Requirements for
Separation of IP Control and Forwarding", RFC 3654,
November 2003.
Xiaoyi September 6, 2006 [Page 9]
Internet-Draft ForCES routing Oct March 2006
3, [ForCESP] F P Team, "ForCES protocol specification",
draft-ietf-forces-protocol-00.txt, Sept 2004.
4, [ForCES] "ForCES Intra-NE Topology Discovery ",
draft-ietf-forces-discovery-00.txt, October , 2004.
6.2. Informative
[OSPF] J. Moy, OSPF Version 2 1998, RFC 2328.
7. Author's Addresses
Xiaoyi Guo
Huawei Technologies Co., Ltd.
HuaWei Bld., No.3 Xinxi Rd.,
Shang-Di Information Industry Base,
Hai-Dian District Beijing P.R.China
Email: xiaotian@huawei.com
8. IANA Considerations
There are no IANA considerations at this point since the protocol
completely operates within an NE.
9. Full Copyright Notice
"Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights."
"This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIM 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."
10. Acknowledgments
Funding for the RFC Editor function is currently provided by the
Internet Society.
Xiaoyi September 6, 2006 [Page 10]