draft-ietf-forces-discovery-00.txt   draft-ietf-forces-discovery-01.txt 
Furquan Ansari Furquan Ansari
Internet Draft Lucent Tech. Internet Draft Lucent Tech.
Document: draft-ietf-forces-discovery-00.txt Hormuzd Khosravi Document: draft-ansari-forces-discovery-01.txt Hormuzd Khosravi
Expires: April 24, 2005 Intel Corp. Expires: April 18, 2006 Intel Corp.
Working Group: ForCES Jamal Hadi Salim Working Group: ForCES Jamal Hadi Salim
Znyx Znyx Networks
October 25, 2004 Joel M. Halpern
Megisto Systems
October 19, 2005
ForCES Intra-NE Topology Discovery ForCES Intra-NE Topology Discovery
draft-ietf-forces-discovery-00.txt draft-ietf-forces-discovery-01.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, I certify that any applicable By submitting this Internet-Draft, each author represents that any
patent or other IPR claims of which I am aware have been disclosed, applicable patent or other IPR claims of which he or she is aware
and any of which I become aware will be disclosed, in accordance have been or will be disclosed, and any of which he or she becomes
with RFC 3668. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as ``work in reference material or to cite them other than as "work in
progress.'' progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.html.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire in April 24, 2005. This Internet-Draft will expire in April 18, 2006.
Conventions used in this document Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in [RFC-2119]. this document are to be interpreted as described in [RFC-2119].
Abstract Abstract
Ansari et al. Expires: Jan 2005 [Page 1]
This document describes a mechanism for discovering inter-FE This document describes a mechanism for discovering inter-FE
topology and topology maintenance. Such a mechanism is essential for topology and topology maintenance. Such a mechanism is essential for
all these elements in the set to behave as a single Network Element, all these elements in the set to behave as a single Network Element,
as required by the ForCES architecture as well as to perform certain as required by the ForCES architecture as well as to perform certain
optimizations at the FE by making use of the topology. The discovery optimizations at the FE by making use of the topology. The discovery
mechanism only operates during post-association phase of ForCES mechanism only operates during post-association phase of ForCES
protocol. protocol.
Table of Contents Table of Contents
1. Definitions........................................................2 1. Definitions........................................................2
2. Introduction.......................................................2 2. Introduction.......................................................3
2.1. Motivation....................................................4 2.1. Motivation....................................................3
3. Topology Discovery Mechanism.......................................5 3. Topology Discovery Mechanism.......................................5
3.1. Minimum requirements..........................................6 3.1. Minimum requirements..........................................6
3.2. Protocol Details..............................................6 3.2. Protocol Details..............................................6
3.2.1. Topology Discovery and Maintenance.......................7 3.2.1. Neighbor Finite State Machine............................7
3.2.2. Full topology computation at the CE from partial 3.2.2. Topology Discovery and Maintenance.......................8
topologies......................................................8 3.2.3. Full topology computation at the CE from partial
3.3. Protocol and Message Headers.................................98 topologies......................................................9
3.3. Protocol and Message Headers..................................9
3.3.1. TLV definitions.........................................10 3.3.1. TLV definitions.........................................10
3.4. Inter-FE Topology Discovery Examples.........................10 3.4. Inter-FE Topology Discovery Examples.........................10
3.4.1. Forwarding Elements connected in a daisy chain..........11 3.4.1. Forwarding Elements connected in a daisy chain..........12
3.4.2. Forwarding Elements connected in a ring.................12 3.4.2. Forwarding Elements connected in a ring.................13
4. Security Considerations...........................................13 4. Security Considerations...........................................14
5. References........................................................13 5. References........................................................14
5.1. Normative....................................................13 5.1. Normative....................................................14
5.2. Informative..................................................14 5.2. Informative..................................................14
6. Authors' Addresses................................................14 6. Authors' Addresses................................................14
7. Full Copyright Notice.............................................14 7. IANA Considerations...............................................15
8. Acknowledgements..................................................15 8. Full Copyright Notice.............................................15
9. Acknowledgements..................................................16
1. Definitions 1. Definitions
Inter-FE topology discovery: Topology discovery relates to how the Inter-FE topology discovery: Topology discovery relates to how the
FEs are interconnected with each other with respect to packet FEs are interconnected with each other with respect to packet
forwarding. This is the complete view of the intra-NE network as forwarding. This is the complete view of the intra-NE network as
seen by the CE. seen by the CE.
Inter-FE topology maintenance: Once the inter-FE topology has been Inter-FE topology maintenance: Once the inter-FE topology has been
discovered, it has to be continuously monitored to ensure that any discovered, it has to be continuously monitored to ensure that any
Ansari et al. Expires: Jan 2005 [Page 2]
changes to the topology are reported to the corresponding CE. This changes to the topology are reported to the corresponding CE. This
represents the steady state and final phase of the protocol. represents the steady state and final phase of the protocol.
2. Introduction 2. Introduction
The ForCES framework document [RFC 3746] describes how a set of The ForCES framework document [RFC 3746] describes how a set of
control elements (CEs) and forwarding elements (FEs) interact with control elements (CEs) and forwarding elements (FEs) interact with
each other to form a single network element (NE). It describes the each other to form a single network element (NE). It describes the
ForCES post-association phase protocol working across the Fp ForCES post-association phase protocol working across the Fp
reference point between CE and FE. This document describes an reference point between CE and FE. This document describes an
important aspect of the ForCES operational infrastructure, that of important aspect of the ForCES operational infrastructure- that of
discovering the layout of the different elements within an NE. discovering the layout of the different elements within an NE.
We describe a mechanism for obtaining the Intra-NE/Inter-FE The Inter-FE/Intra-NE topology discovery protocol module may be
topology. implemented as a separate LFB on the FE. The protocol runs in an
The mechanism is divided into two distinct operational pieces: ongoing discovery and maintenance mode wherein the LFB maintains
. The FE side component that collects FE neighbor information. information about the known adjacencies per interface it is operated
. The CE side component that uses the neighbor information to on. Each FE simply maintains its own adjacency tables and notifies
compute the NE topology. the CE of any changes to the adjacency table based on the ForCES
Given the above split, we believe that this mechanism fits well notification mechanism or if the CE explicitly requests an update.
within a description of Topology Discovery LFB. It is up to the CE to construct the full topology based on the
information received from individual FEs within the NE. Given that
The mechanism at the FE can be divided into two modes or phases. the CE can request and the FEs should report back the topology
updates using ForCES protocol, it is implicit that the topology
. Phase I corresponds to the actual discovery process wherein each discovery and maintenance operation occurs in the ForCES post-
element discovers its neighbor and maintains a neighbor association phase.
relationship. Upon Joining an NE, the CE will instruct the FE to
start collecting this information. This happens when the FE is
administratively up and the associated neighbor links are deemed
to be provisioned and operationally up.
. Phase II corresponds to the topology maintenance phase, wherein
any changes to the inter-FE topology during normal operation is
reported to the corresponding CE so that an updated view is
available. The CE then makes all services it is controlling aware
of such details. As an example, based on policy, in a basic IPV4
service, the tables of associated FEs will need to be updated.
As noted above, both phases occur during the post-association phases
of the ForCES protocol. In other words, the ForCES protocol
association between the CE and the FEs should already have taken
place for the discovery mechanism to kick in. This is required
because the neighbor relationships maintained by the FEs are
reported back to the CE (or queried by the CE) over the ForCES
protocol.
The proposed discovery mechanism is required to scale to a very The proposed discovery mechanism is required to scale to a very
large number of forwarding elements in the NE, with minimal impact large number of forwarding elements in the NE, with minimal impact
on the resources. The following list provides some of the features on the resources. The following list provides some of the features
and goals of the discovery mechanism. and goals of the discovery mechanism.
. Determine connectivity between elements . Determine connectivity between elements
. React to changes in link connectivity . React to changes in link connectivity
. Construct topology information from the collected partial topology . Construct topology information from the collected partial topology
information information
skipping to change at page 4, line 17 skipping to change at line 141
. Applicable to all inter-FE network topologies such as ring, mesh, . Applicable to all inter-FE network topologies such as ring, mesh,
star etc. star etc.
. Cause minimal overhead . Cause minimal overhead
. Agnostic of the network interconnect technology . Agnostic of the network interconnect technology
2.1. Motivation 2.1. Motivation
The ForCES architecture defines a network element (NE) as a single The ForCES architecture defines a network element (NE) as a single
managed entity made up of a collection of FEs and CEs and is managed entity made up of a collection of FEs and CEs and is
indistinguishable from other network elements in the network. This indistinguishable from other network elements in the network. This
NE model definition leads to three types of links from the networkÆs Ansari et al. Expires: Jan 2005 [Page 3]
NE model definition leads to three types of links from the network’s
perspective: internal (or intra-NE) links and external (or inter-NE) perspective: internal (or intra-NE) links and external (or inter-NE)
links and control links. Intra-NE links are purely internal to the links and control links. Intra-NE links are purely internal to the
NE and are not exposed to the external world; whereas, inter-NE (or NE and are not exposed to the external world; whereas, inter-NE (or
external) links are exposed to the external world and over which external) links are exposed to the external world and over which
routing adjacencies (such as OSPF, IS-IS, BGP etc.) can be formed. routing adjacencies (such as OSPF, IS-IS, BGP etc.) can be formed.
An NE can contain FEs that have zero or more internal/external links An NE can contain FEs that have zero or more internal/external links
¡ e.g. in Fig. 1, FE3 has two internal links and no external links e.g. in Fig. 1, FE3 has two internal links and no external links
while FE1 and FE2 have two internal links and one external link while FE1 and FE2 have two internal links and one external link
each. Control links are those links that are used for communication each. Control links are those links that are used for communication
between the CE and FE. If the CE and FE are a single Layer 3 hop between the CE and FE. If the CE and FE are a single Layer 3 hop
away as in Fig.1, the control link is typically a physical link e.g. apart as in Fig.1, the control link is typically a physical link
link A of FE1 in the figure. Control links can be logical as well. e.g. link A of FE1 in the figure. Control links can be logical as
well. 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.
A packet entering a ForCES NE may travel multiple FEs within the NE A packet entering a ForCES NE may travel multiple FEs within the NE
before it exits onto the output link. This requires that the packet before it exits onto the output link. This requires that the packet
be correctly forwarded from the ingress FE to the egress FE. This be correctly forwarded from the ingress FE to the egress FE. This
internal forwarding requires knowledge of the physical FE inter- internal forwarding requires knowledge of the physical FE inter-
connection topology so that the CE can appropriately setup internal connection topology so that the CE can appropriately setup internal
LFB tables at each FE to handle packet traversal in a sane manner. LFB tables at each FE to handle packet traversal in a sane manner.
We use a simple topology discovery mechanism that only operates on We use a simple topology discovery mechanism that only operates on
internal links and provides the necessary routing information to internal links and provides the necessary routing information to
forward the packets from the ingress FE to the egress FE. Further, forward the packets from the ingress FE to the egress FE. Further,
skipping to change at page 5, line 15 skipping to change at line 191
. / ------- B \ . ^ ^ . / ------- B \ . ^ ^
. / +->| FE3 |<-+ \ . <====> / \ . / +->| FE3 |<-+ \ . <====> / \
. / |C | | | \ . / \ . / |C | | | \ . / \
. A v | ------- | v A . v v . A v | ------- | v A . v v
. -------B | |D ------- . -------- --------- . -------B | |D ------- . -------- ---------
. | FE1 |<-+ +->| FE2 | . | NE 2 |<---->| NE 3 | . | FE1 |<-+ +->| FE2 | . | NE 2 |<---->| NE 3 |
. | |<--------------->| | . | | | | . | |<--------------->| | . | | | |
. ------- C C ------- . -------- --------- . ------- C C ------- . -------- ---------
. D^ ^B . . D^ ^B .
.....|.......................|........ .....|.......................|........
Ansari et al. Expires: Jan 2005 [Page 4]
| | | |
V v V v
-------- -------- -------- --------
| NE 2 |<--------------->| NE 3 | | NE 2 |<--------------->| NE 3 |
| | | | | | | |
-------- -------- -------- --------
(a) (b) (a) (b)
Figure 1:(a) illustrates the internal/external links and topology Figure 1:(a) illustrates the internal/external links and topology
within a NE. (b) Shows the network topology as seen by external within a NE. (b) Shows the network topology as seen by external
routing protocols routing protocols
3. Topology Discovery Mechanism 3. Topology Discovery Mechanism
The topology discovery mechanism described here will be restricted Since the topology discovery protocol described here operates in the
to the case where the control and the forwarding elements are a ForCES post-association phase, it is independent of whether the CE
single layer 3 hop away. However, there is no restriction on the and the FE are a single or multiple hops (layer 2 or layer 3) apart
number of layer 2 hops between the CE and the FEs. Although, the from each other. It is up to the ForCES association protocol to
mechanism can be extended to the multi-hop scenario, it is determine how to setup the ForCES channel between the CE and FE if
considered beyond the scope of this document to describe it. The they are multiple hops away. The topology discovery protocol is
mechanism is expected to work on point-to-point as well as multi- expected to work on all types of media and interfaces – such as
access links. point-to-point as well as multi-access links.
In order to keep the discovery and maintenance mechanism as simple In order to keep the discovery and maintenance mechanism as simple
as possible, the FEs only maintain relationships with the respective as possible, the FEs only maintain relationships with their
neighbors to determine the status of the neighbors. No databases are respective neighbors to determine the status of the neighbors. No
exchanged between the neighbors. This implies that the topology view databases are exchanged between the neighbors. This implies that the
for each FE is only limited to the adjacent elements. This partial topology view for each FE is only limited to the adjacent elements.
topology information is reported back to the CE (or queried by the This partial topology information may be reported back to the CE (or
CE) over the ForCES protocol. Since the CE receives such information queried by the CE) over the ForCES protocol using the ForCES
from all the FEs, it can easily construct the full topology from notification mechanism. Since the CE receives such information from
all the FEs, it can easily construct the full topology from
individual partial topologies reported by each FE. Once the CE individual partial topologies reported by each FE. Once the CE
constructs the full topology, such information can be passed to the constructs the full topology, such information can be passed to the
FEs, if needed (depending on policy). FEs, if needed (depending on policy). The FEs may use such
information for dynamic intra-NE route calculation or certain other
optimizations.
Topology information is needed by a lot of LFBs and associated Topology information is needed by a lot of LFBs and associated
services that span multiple FEs within a NE. In the case where the services that span multiple FEs within a NE. In the case where the
FE aids the CE in offloading the table updates, then it makes sense FE aids the CE in offloading the table updates, then it makes sense
for the FE to be topology aware. It is sometimes also helpful to for the FE to be topology aware. It is sometimes also helpful to
keep full topology information at the FEs for cases such as ômessage keep full topology information at the FEs for cases such as “message
snoopingö optimizations. For example, if an FE is aware of the snooping” optimizations. For example, if an FE is aware of the
topology, it could snoop on messages sent to other FEs (e.g. topology, it could snoop on messages sent to other FEs (e.g.
broadcasts, multicasts) and update its own tables dynamically broadcasts, multicasts) and update its own tables dynamically
without involving the CE. Another example would be FE-FE primary- without involving the CE. Another example would be FE-FE primary-
Ansari et al. Expires: Jan 2005 [Page 5]
backup handover scenario. With each FE being fully aware of the backup handover scenario. With each FE being fully aware of the
complete topology, the backup FE can take over the responsibilities complete topology, the backup FE can take over the responsibilities
of the primary without involving the CE for such a handover. of the primary without involving the CE for such a handover.
3.1. Minimum requirements 3.1. Minimum requirements
In order for the protocol to work as described, the following In order for the protocol to work as described, the following
assumptions are made. assumptions are made.
. Each element has been configured with their respective IDs . Each element has been configured with their respective IDs
(CEID, FEID) (CEID, FEID)
skipping to change at page 6, line 37 skipping to change at line 264
. The ForCES protocol association has already taken place between . The ForCES protocol association has already taken place between
the CE and the FE in question. the CE and the FE in question.
. The protocol is enabled on the required interfaces. . The protocol is enabled on the required interfaces.
Note that these are configuration requirements and are satisfied by Note that these are configuration requirements and are satisfied by
the respective managers (CEM/FEM). the respective managers (CEM/FEM).
3.2. Protocol Details 3.2. Protocol Details
Once the ForCES protocol association has been established between a Once the ForCES protocol association has been established between a
CE and a given FE ¡ i.e. it is in post-association phase, the CE CE and a given FE i.e. it is in post-association phase, the CE
starts sending/advertising Hello/Probe messages to the FEÆs starts sending/advertising Hello/Probe messages to the FE’s
neighbors such that the messages go through the given FE. In other neighbors such that the messages go through the given FE. In other
words, it looks like the given FE is generating probe messages to words, it looks like the given FE is generating probe messages to
the neighbor (except that these messages are coming from the CE over the neighbor (except that these messages are coming from the CE over
the ForCES protocol first). However, this functionality of the ForCES protocol first). However, this functionality of
generating probe messages by the CE can be offloaded to the FE generating probe messages by the CE can be offloaded to the FE
itself (to be more precise, to an FE LFB) ¡ so that the FE can itself (to be more precise, to an FE LFB) so that the FE can
originate and terminate the probe messages. This provides better originate and terminate the probe messages. This provides better
scalability of the CE and itÆs resources. The CE can now simply scalability of the CE and it’s resources. The CE can now simply
query each FEÆs neighbor relationship database and register for any query each FE’s neighbor relationship database and register for any
events related to topology changes. events related to topology changes.
All Hello/Probe messages travel a single PE hop and are not routed All Hello/Probe messages travel a single PE hop and are not routed
to other elements beyond the first hop. This is ensured by using a to other elements beyond the first hop. An on-link IP multicast
TTL of one on all Hello/Probe packets. The messages are sent as IP address is used for sending all Hello packets. The packets should be
datagrams (multicast/broadcast, where applicable, or unicast in sent with a TTL of 255 and ignored on receipt if the TTL is not 254
general) to the neighboring elements over configured interfaces. (based on some of the recommendations from the generalized TTL
Each FE topology LFB component maintains the neighbor relationships security mechanism to use TTL 255 rather than TTL 1). Hello packets
as long as the Hello messages are received from the neighbor. If it are only sent on interfaces configured for topology discovery
does not receive a pre-determined number (configured) of back-to- protocol operation. Further, the Hello messages will be multicast on
back Hello messages from a given neighbor, it deletes the entry from multicast capable links. Each FE topology LFB component maintains
the database and reports this change to the CE in the form of an the neighbor relationships as long as the Hello messages are
event-driven message over the ForCES protocol. This ensures that the received from the neighbor. If it does not receive Hello messages
CE has the complete and up-to-date information of the underlying after a given (configured) period of time (called FE Neighbor dead
topology of the Inter-FE network. interval), it deletes the entry from the database and reports this
Ansari et al. Expires: Jan 2005 [Page 6]
change to the CE in the form of an event-notification message over
the ForCES protocol. This ensures that the CE has the complete and
up-to-date information of the underlying topology of the Inter-FE
network.
The Hello message contains information necessary for discovering and The Hello message contains information necessary for discovering and
maintaining neighbor relationships. It contains the PE ID, type of maintaining neighbor relationships. It contains the PE ID, type of
protocol element (i.e. CE or FE), interval between any two messages, protocol element (i.e. CE or FE), interval between any two messages,
interval for deeming a neighbor inactive, capability information interval for deeming a neighbor inactive, capability information
etc. This is, in some ways, similar to the capabilities of the OSPF etc. This is, in some ways, similar to the capabilities of the OSPF
Hello protocol. Hello protocol.
On receiving the Hello messages from a neighbor, the FE responds On receiving the Hello messages from a neighbor, the FE responds
back with its own Hello message in a packet format similar to the back with its own Hello message in a packet format similar to the
skipping to change at page 7, line 37 skipping to change at line 319
between any two neighbors. between any two neighbors.
The operation is concisely described by the following steps: The operation is concisely described by the following steps:
. CE activates the topology LFB/component on the FE to initialize on . CE activates the topology LFB/component on the FE to initialize on
specific ports specific ports
. FE topology LFB/component sends neighbor probes/hellos . FE topology LFB/component sends neighbor probes/hellos
. CE queries FE for its neighbors . CE queries FE for its neighbors
. FE continues to send these probes afterwards (maintenance) and . FE continues to send these probes afterwards (maintenance) and
updates asynchronously any new updates updates asynchronously any new updates
3.2.1. Topology Discovery and Maintenance Note: We would like to point out here that the Hello messaging
mechanism can very well be replaced by the BFD (Bi-Directional
Forwarding Detection) protocol in the future since it performs
similar task of detecting bi-directional faults between two
forwarding engines. Further, BFD protocol has the ability to be
bootstrapped by any other protocol that automatically forms peer,
neighbor or adjacency relationships to seed BFD endpoint discovery.
3.2.1. Neighbor Finite State Machine
In order to obtain bi-directionality verification of the links, and
to make the protocol more robust, a neighbor finite state machine is
needed. It consists of the following three states:
Neighbor-down: This is the initial state of the neighbor
conversation. It indicates that there has been no recent information
received from the neighbor
Ansari et al. Expires: Jan 2005 [Page 7]
Neighbor-heard: In this state, a Hello packet was recently seen from
the neighbor. However, bi-directional communication has not been
fully established with the neighbor (i.e. the PE itself was not
listed in the neighbor’s Hello packet – which is the check for bi-
directionality). All neighbors in this state (or higher) are listed
in the Hello packets sent from the associated interface.
Neighbor-adjacent: In this state, the communication between the two
neighbors is bi-directional. This has been assured by the Hello
protocol operation. This state corresponds to the final steady state
of the protocol.
3.2.2. Topology Discovery and Maintenance
Since the CE needs to maintain consistent and up-to-date view of the Since the CE needs to maintain consistent and up-to-date view of the
inter-FE topology, it needs to obtain real-time information of the inter-FE topology, it needs to obtain real-time information of the
status of the internal links connecting the FEs. Since the topology status of the internal links connecting the FEs. Since the topology
discovery and maintenance occurs during the post-association phase, discovery and maintenance occurs during the post-association phase,
we make use of the event-notification and query/response messages we make use of the event-notification and query/response messages
[ForCESP] of the ForCES protocol to provide this information to the [ForCESP] of the ForCES protocol to provide this information to the
CE. It is important to note that each FE only maintains partial CE. It is important to note that each FE only maintains partial
topology information obtained through neighbor relationship topology information obtained through neighbor relationship
maintenance through Hello messages. The partial topology view seen maintenance through Hello messages. The partial topology view seen
skipping to change at page 8, line 26 skipping to change at line 385
The periodic Hello messages maintain PE neighbor relationships. The periodic Hello messages maintain PE neighbor relationships.
Any change in the link or neighbor status causes the FE to generate Any change in the link or neighbor status causes the FE to generate
an asynchronous/event-driven message to the CE indicating this an asynchronous/event-driven message to the CE indicating this
change. The mechanism defined in [ForCESP] is used for delivering change. The mechanism defined in [ForCESP] is used for delivering
event-driven messages from the FE to the CE. This involves the CE event-driven messages from the FE to the CE. This involves the CE
subscribing to such event-driven messages from the FE. subscribing to such event-driven messages from the FE.
The CE aggregates the partial topology information received from The CE aggregates the partial topology information received from
each FE and generates the inter-FE topology. With this complete each FE and generates the inter-FE topology. With this complete
knowledge of the inter-FE topology, it can now make appropriate knowledge of the inter-FE topology, it can now make appropriate
updates to the LFB tables on each FE to move packets inside the NE ¡ Ansari et al. Expires: Jan 2005 [Page 8]
updates to the LFB tables on each FE to move packets inside the NE
from ingress FE to egress FE, assuming that the destination of the from ingress FE to egress FE, assuming that the destination of the
packet is not the current NE itself. Any changes in the internal packet is not the current NE itself. Any changes in the internal
link states (and hence the topology) requires that the CE link states (and hence the topology) requires that the CE
reconfigure the LFB tables on the FEs based on the most up-to-date reconfigure the LFB tables on the FEs based on the most up-to-date
information to ensure that the packets do not end up in a black hole information to ensure that the packets do not end up in a black hole
or enter a loop. or enter a loop.
3.2.2. Full topology computation at the CE from partial topologies 3.2.3. Full topology computation at the CE from partial topologies
The CE receives neighbor relationships information from each FE that The CE receives neighbor relationships information from each FE that
it uses to construct the full topology of the internal network. Each it uses to construct the full topology of the internal network. Each
FEÆs neighbor relationship table contains information regarding the FE’s neighbor relationship table contains information regarding the
local element ID, local port connecting the neighbor, the neighborÆs local element ID, local port connecting the neighbor, the neighbor’s
ID, the neighborÆs port and any optional additional information. ID, the neighbor’s port and any optional additional information.
Note that the fact that the FE already knows the neighborÆs port Note that the fact that the FE already knows the neighbor’s port
information implies that it received the probe/hello messages from information implies that it received the probe/hello messages from
the neighbor on that port in response to the hello sent and was, the neighbor on that port in response to the hello sent and was,
therefore, able to establish bi-directionality of the link. If all therefore, able to establish bi-directionality of the link. If all
the links in the internal network are point-to-point links, the CE the links in the internal network are point-to-point links, the CE
simply has to aggregate all the neighbor relationship tables simply has to aggregate all the neighbor relationship tables
obtained from all the FEs to generate the full topology. If we obtained from all the FEs to generate the full topology. If we
assume the topology to be a graph, each edge of the graph will be assume the topology to be a graph, each edge of the graph will be
present twice ¡ essentially providing the same information from the present twice essentially providing the same information from the
two endpoints of the graph. After deleting all the duplicate entries two endpoints of the graph. After deleting all the duplicate entries
(and thus reducing the table size by half), the CE now has accurate (and thus reducing the table size by half), the CE now has accurate
view of the full topology. Please refer section 3.4 [Fig. 3(b)] for view of the full topology. Please refer section 3.4 [Fig. 3(b)] for
more details. more details.
[Sub-section on generating full topology from partial topology [Sub-section on generating full topology from partial topology
information for broadcast/multi-access, point-to-multipoint etc. information for broadcast/multi-access, point-to-multipoint etc.
type of links] type of links]
3.3. Protocol and Message Headers 3.3. Protocol and Message Headers
skipping to change at page 9, line 25 skipping to change at line 433
as follows. as follows.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version | Flags | Packet Length | | Version | Flags | Packet Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Port ID | | Checksum | Port ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PE ID | | PE ID |
Ansari et al. Expires: Jan 2005 [Page 9]
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TLV-Type | TLV-Length | | TLV-Type | TLV-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TLV-Value ... | | TLV-Value ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... | | ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure (2) Figure (2)
skipping to change at page 9, line 48 skipping to change at line 457
Flags: These indicate whether the message is sent by a FE, (0x01) or Flags: These indicate whether the message is sent by a FE, (0x01) or
CE (0x02). More options may be defined in the future. CE (0x02). More options may be defined in the future.
Packet Length: The length of the protocol message in bytes, Packet Length: The length of the protocol message in bytes,
including the header and the following TLVs. including the header and the following TLVs.
Checksum: 16-bit checksum for the protocol message. The checksum Checksum: 16-bit checksum for the protocol message. The checksum
calculation does not include the IP header. calculation does not include the IP header.
Port ID: This indicates the port on which this packet was sent out Port ID: This indicates the port on which this packet was sent out
by the sender ¡ useful for topology construction. by the sender useful for topology construction.
PE ID: This is the 32-bit identifier of the sender. It could either PE ID: This is the 32-bit identifier of the sender. It could either
be CE ID or FE ID, depending on the sender. be CE ID or FE ID, depending on the sender.
The protocol header is followed by one or many TLVs. The following The protocol header is followed by one or many TLVs. The following
TLVs types are defined: TLVs types are defined:
Hello TLV: Indicates the Hello message as exchanged by the Hello TLV: Indicates the Hello message as exchanged by the
neighbors. The TLV defines the common hello parameters such as the neighbors. The TLV defines the common hello parameters such as the
Hello Interval, Hold time, Uni-directional targeted Hellos, Sequence Hello Interval, Hold time, Uni-directional targeted Hellos, Sequence
skipping to change at page 10, line 26 skipping to change at line 480
Capabilities TLV: Provides the capabilities information - TBD Capabilities TLV: Provides the capabilities information - TBD
Vendor specific TLV: TBD Vendor specific TLV: TBD
3.3.1. TLV definitions 3.3.1. TLV definitions
TBD TBD
3.4. Inter-FE Topology Discovery Examples 3.4. Inter-FE Topology Discovery Examples
The following examples illustrate the topology discovery mechanism. The following examples illustrate the topology discovery mechanism.
Ansari et al. Expires: Jan 2005 [Page 10]
For sake of simplicity, we assume that there is only one CE per NE. For sake of simplicity, we assume that there is only one CE per NE.
The FEIDs of the FEs in the topologies below are FE1, FE2, FE3, and The FEIDs of the FEs in the topologies below are FE1, FE2, FE3, and
FE4. Each FE has port IDs labeled alphabetically. This is also the FE4. Each FE has port IDs labeled alphabetically. This is also the
case with the CE. case with the CE.
----------------- -----------------
| CE | | CE |
----------------- -----------------
A ^ B ^ C ^ A ^ B ^ C ^
/ | \ / | \
skipping to change at page 11, line 24 skipping to change at line 524
C FE1 B C FE1 B
---------------------------------------------- ----------------------------------------------
Figure 3. (a) Full mesh among FE1, FE2, and FE3 Figure 3. (a) Full mesh among FE1, FE2, and FE3
During the element-binding phase, each FE sends out hello messages During the element-binding phase, each FE sends out hello messages
with its FEID and Port ID (as outlined earlier) to all of its with its FEID and Port ID (as outlined earlier) to all of its
neighbors. Since each neighboring FE also listens to such messages, neighbors. Since each neighboring FE also listens to such messages,
it receives the hello message and adds it to the neighbor it receives the hello message and adds it to the neighbor
association table, which may look like that shown in Fig.4(a). In association table, which may look like that shown in Fig.4(a). In
Ansari et al. Expires: Jan 2005 [Page 11]
the topology discovery phase, which is post ForCES association the topology discovery phase, which is post ForCES association
stage, the CE queries each FE about its neighbor table. The FE stage, the CE queries each FE about its neighbor table. The FE
responds back with the partial topology information available responds back with the partial topology information available
through its neighbor relationships. Both the query and the response through its neighbor relationships. Both the query and the response
are carried by the ForCES protocol. The CE collects the partial are carried by the ForCES protocol. The CE collects the partial
topology information from all the FEs in the NE and aggregates this topology information from all the FEs in the NE and aggregates this
information to fully construct the inter-FE topology. Any changes to information to fully construct the inter-FE topology. Any changes to
the FE neighbor table, e.g. when a link state changes, generates a the FE neighbor table, e.g. when a link state changes, generates a
trigger/update message to the CE. The new information is used to trigger/update message to the CE. The new information is used to
recalculate the new topology and subsequently the CE takes recalculate the new topology and subsequently the CE takes
appropriate actions based on the new topology ¡ such as updating the appropriate actions based on the new topology such as updating the
packet forwarding tables on the FEs. packet forwarding tables on the FEs.
The following examples show the neighbor association tables. The following examples show the neighbor association tables.
3.4.1. Forwarding Elements connected in a daisy chain 3.4.1. Forwarding Elements connected in a daisy chain
-------------- --------------
| CE | | CE |
-------------- --------------
A ^ ^ B ^ ^ D A ^ ^ B ^ ^ D
skipping to change at page 12, line 23 skipping to change at line 568
<locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port>
B FE2 E E FE1 B B FE2 E E FE1 B
B FE3 E B FE3 E
FE3 NBR ASSOCIATION TABLE FE4 NBR ASSOCIATION TABLE FE3 NBR ASSOCIATION TABLE FE4 NBR ASSOCIATION TABLE
-------------------------------- ----------------------------- -------------------------------- -----------------------------
<locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port>
B FE4 D D FE3 B B FE4 D D FE3 B
E FE2 B E FE2 B
Ansari et al. Expires: Jan 2005 [Page 12]
CE Topology (Aggregate)View CE Topology View CE Topology (Aggregate)View CE Topology View
-------------------------------- ------------------------------ -------------------------------- ------------------------------
<Node> <Port> <Node> <Port> <Node> <Port> <Node> <Port> <Node> <Port> <Node> <Port> <Node> <Port> <Node> <Port>
FE1 B FE2 E\ FE1 B FE2 E FE1 B FE2 E\ FE1 B FE2 E
FE2 E FE1 B/ => FE2 B FE3 E FE2 E FE1 B/ => FE2 B FE3 E
FE2 B FE3 E\ FE3 B FE4 D FE2 B FE3 E\ FE3 B FE4 D
FE3 E FE2 B/ ------------------------------ FE3 E FE2 B/ ------------------------------
FE3 B FE4 D\ FE3 B FE4 D\
FE4 D FE3 B/ FE4 D FE3 B/
-------------------------------- --------------------------------
skipping to change at page 13, line 25 skipping to change at line 608
| \ / | | | \ / | |
| D v E v | | | D v E v | |
| ----------- A | | | ----------- A | |
| | FE4 |<----------------------| | | | FE4 |<----------------------| |
| ----------- | | ----------- |
| C | ^ B | | C | ^ B |
| v | | | v | |
| | | |
|----------------------------------------| |----------------------------------------|
Ansari et al. Expires: Jan 2005 [Page 13]
FE1 NBR ASSOCIATION TABLE FE2 NBR ASSOCIATION TABLE FE1 NBR ASSOCIATION TABLE FE2 NBR ASSOCIATION TABLE
-------------------------------- ----------------------------- -------------------------------- -----------------------------
<locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port>
B FE3 C E FE4 D B FE3 C E FE4 D
C FE2 D D FE1 C C FE2 D D FE1 C
FE3 NBR ASSOCIATION TABLE FE4 NBR ASSOCIATION TABLE FE3 NBR ASSOCIATION TABLE FE4 NBR ASSOCIATION TABLE
-------------------------------- ----------------------------- -------------------------------- -----------------------------
<locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port> <locl intf> <nbr_FEID> <nbr_port>
B FE4 E D FE2 E B FE4 E D FE2 E
skipping to change at page 14, line 15 skipping to change at line 643
"Forwarding and Control Element Separation (ForCES) "Forwarding and Control Element Separation (ForCES)
Framework", RFC 3746, April 2004. Framework", RFC 3746, April 2004.
[RFC3654] Khosravi, H. and T. Anderson, "Requirements for [RFC3654] Khosravi, H. and T. Anderson, "Requirements for
Separation of IP Control and Forwarding", RFC 3654, Separation of IP Control and Forwarding", RFC 3654,
November 2003. November 2003.
[ForCESP] F P Team, "ForCES protocol specification", [ForCESP] F P Team, "ForCES protocol specification",
draft-ietf-forces-protocol-00.txt, Sept 2004. draft-ietf-forces-protocol-00.txt, Sept 2004.
5.2. Informative 5.2. Informative
[OSPF] J. Moy, ôOSPF Version 2ö, 1998, RFC 2328. [OSPF] J. Moy, “OSPF Version 2”, 1998, RFC 2328.
[BGP] Y. Rekhter, T. Li, ôA Border Gateway Protocol 4 (BGP-4)ö, [BGP] Y. Rekhter, T. Li, “A Border Gateway Protocol 4 (BGP-4)”,
1995, RFC 1771. 1995, RFC 1771.
[IS-IS] R. Collela et al., ôGuidelines for OSI NSAP Allocation in [IS-IS] R. Collela et al., “Guidelines for OSI NSAP Allocation in
the Internetö, 1994, RFC 1629. the Internet”, 1994, RFC 1629.
6. Authors' Addresses 6. Authors' Addresses
Furquan Ansari Furquan Ansari
Bell Labs Research, Lucent Tech. Bell Labs Research, Lucent Tech.
Ansari et al. Expires: Jan 2005 [Page 14]
101 Crawfords Corner Road 101 Crawfords Corner Road
Holmdel, NJ 07733 Holmdel, NJ 07733
USA USA
Phone: +1 732-949-5249 Phone: +1 732-949-5249
Email: furquan@lucent.com Email: furquan@lucent.com
Hormuzd Khosravi Hormuzd Khosravi
Intel Intel
2111 N.E. 25th Avenue JF3-206 2111 N.E. 25th Avenue JF3-206
Hillsboro, OR 97124-5961 Hillsboro, OR 97124-5961
USA USA
Phone: +1 503 264 0334 Phone: +1 503 264 0334
Email: hormuzd.m.khosravi@intel.com Email: hormuzd.m.khosravi@intel.com
Jamal Hadi Salim Jamal Hadi Salim
ZNYX Networks ZNYX Networks
Ottawa, Ontario, Canada Ottawa, Ontario, Canada
Email: hadi@znyx.com Email: hadi@znyx.com
7. Full Copyright Notice Joel M. Halpern
"Copyright (C) The Internet Society (year). This document is subject Megisto systems, Inc.
20251 Century Blvd.
Germantown, MD, 20874-1162, USA
Phone: +1 301 444 17
Email: jhalpern@megisto.com
7. IANA Considerations
There are no IANA considerations at this point since the protocol completely
operates within an NE.
8. Full Copyright Notice
"Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights." except as set forth therein, the authors retain all their rights."
"This document and the information contained herein are provided on an "This document and the information contained herein are provided on
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
8. Acknowledgements Ansari et al. Expires: Jan 2005 [Page 15]
9. Acknowledgements
We would like to thank Thyaga Nandagopal of Lucent Technologies for We would like to thank Thyaga Nandagopal of Lucent Technologies for
his thoughts and contributions to the initial draft. his thoughts and contributions to the initial draft.
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
Ansari et al. Expires: Jan 2005 [Page 16]
 End of changes. 48 change blocks. 
120 lines changed or deleted 175 lines changed or added

This html diff was produced by rfcdiff 1.27, available from http://www.levkowetz.com/ietf/tools/rfcdiff/