Internet Draft
Internet Draft
Expiration Date: June 1998 Ken-ichi Nagami
Yasuhiro Katsube
Shigeo Matsuzawa
Akiyoshi Mogi
Koutarou Ise
Toshiba
Flow Attribute Notification Protocol Version 2 (FANPv2)
Distributed Control Mode
<draft-nagami-csr-fanpv2-dcmode-00.txt>
Status of this memo
This document is an Internet-Draft. 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".
To learn the current status of any Internet-Draft, please check the
"1id-abstract.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
Abstract
This memo describes the specification of FANPv2 (Flow Attribute
Notification Protocol version 2) distributed control mode (DC-mode).
The FANPv2 is a protocol used by Cell Switch Routers (CSRs) to
communicate mapping information between a specific packet flow and a
virtual connection that conveys the packet flow. In the DC-mode,
the control message exchange for a packet flow between each pair of
neighboring CSRs is initiated independently from the message
exchange for the same flow between any other pair of CSRs. The
DC-mode is applicable to the control of both unicast and multicast
cut-through paths.
1. Introduction
The FANPv2 is a protocol used by Cell Switch Routers (CSRs)[1] to
Nagami, et al. [Page 1]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
communicate mapping information between a specific packet flow and a
virtual connection that conveys the packet flow. This draft
describes the specification of FANPv2 distributed control mode
(DC-mode), which is one of the two modes provided by the FANPv2 as
described in [2].
In the DC-mode, the control message exchange for a packet flow
between each pair of neighboring CSRs is initiated independently
from the message exchanges for the same flow between any other pair
of CSRs. The DC-mode is applicable to the control of both unicast
and multicast cut-through paths.
The following descriptions assume ATM as a cut-through switching
technology although the protocol mechanism can be applied to the
other switching technologies such as frame-relay.
2. Terminology and Definitions
o VCID (Virtual Connection IDentifier) [8]
An identifier of a virtual connection (ATM VC or VP) that
is uniquely recognized by neighboring nodes.
In the case that the VPI/VCI values at both endpoints of the
VC are not the same, the VCID value is composed of the ESI
(End System Identifier) of either of the neighboring nodes
and the unique identifier within the node. In the case that
the VPI/VCI value at one endpoint of a VC is maintained at
another endpoint, the VPI/VCI value can be used as a VCID.
o Cut-through forwarding
Packet forwarding based on VPI/VCI values without layer 3
processing at the CSR.
Layer 3 information (e.g., destination IP address) is
associated with the corresponding VPI/VCI by using FANP.
o Hop-by-Hop forwarding
Packet forwarding based on layer 3 information like that of
conventional routers. In ATM, cells are re-assembled into
packets at the router, whose layer 3 headers are analyzed for
making a forwarding decision.
o Default-VC
A VC that is used for hop-by-hop forwarding. Cells received
from the Default-VC are reassembled into packets.
Conventional layer 3 processing is performed for these packets.
Control packets such as routing messages and FANP messages
are also transmitted over this VC.
o Dedicated-VC
Nagami, et al. [Page 2]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
A VC that is used for a specific packet flow. When the
FlowID for an incoming VC and that for an outgoing VC are the
same at a CSR, it can forward the packets belonging to the
flow with the cut-through forwarding.
o Cut-through path
A sequence of dedicated-VCs which transmit packets belonging
to the same FlowID with the cut-through forwarding.
o FlowID (Flow IDentifier)
A set of parameters that identify a specific packet flow.
For example, an end-to-end layer 3 flow is identified by the
FlowID that contains a source IP address and a destination
IP address.
3. Cut-through Path Control Procedure
3.1 Overview of the Distributed Control Mode (DC-mode)
In the DC-mode, the cut-through path establishment procedure for a
packet flow is initiated at individual nodes on its path in a
distributed manner. Each of them transmits FANP control messages to
its downstream neighbor in order to notify the mapping relationship
between the packet flow and the outgoing dedicated-VC that will
convey the flow. The downstream node that has received the control
message from its upstream neighbor memorizes the received mapping
information at its incoming interface, and transmits an
acknowledgment to its upstream neighbor.
This message exchange with an upstream neighbor at the node does not
initiate the exchange of any control messages with its downstream
neighbor. A control message exchange for a flow between a pair of
CSRs is initiated and carried out independently from the message
exchange for the same flow between any other pair of nodes.
As a result of control message exchanges performed at individual
pairs of nodes, a node can perform cut-through packet forwarding
when it realizes that both the incoming dedicated-VC and the
outgoing dedicated-VC are associated with the same FlowID.
The cut-through path release procedure is also initiated at
individual nodes on the path. A node that has detected the trigger
to release the cut-through path transmits FANP control messages to
its downstream neighbor in order to cancel the mapping relationship
between the packet flow and the outgoing dedicated-VC that conveys
the flow. The reception of the control messages from the upstream
neighbor and the cancellation of the mapping relationship at an
incoming interface of a node do not become the trigger for the
Nagami, et al. [Page 3]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
control message transmission toward its downstream neighbor.
Although concrete parameters for the cut-through establishment or
release trigger are not specified in this document, generic control
procedures in the case of two typical types of trigger
(traffic-driven and request-driven control) are described below.
This subsection describes cut-through path control procedure for the
case that neighboring nodes are interconnected by the point-to-point
link for simplicity. Procedures in the case that the neighboring
nodes are interconnected over other types of ATM datalink are
described in 3.2.
3.1.1 Traffic-driven Operation
3.1.1.1 Path Establishment / Release
Figure 1 shows a traffic-driven path establishment procedure for
unicast packet transmission from a sender H1 to a receiver H2.
Ingress edge router R1, CSR core router R2, and egress edge router
R3 are assumed to speak FANPv2 protocol.
Ingress edge router R1 transmits packets toward its downstream
neighbor R2 over a default-VC as a default behavior. When R1 decides
that a packet flow satisfies specific conditions for cut-through
path establishment, it initiates the path establishment
procedure. It selects a dedicated-VC for the packet flow, then
transmits a NOTIFY message, that notifies its downstream neighbor R2
of the mapping relationship between the packet flow and the selected
dedicated-VC, to R2. The identifier of the packet flow (FlowID) is
assumed to be source IP address H1 and destination IP address H2
(H1, H2). When R2 accepts the NOTIFY message sent by R1, it
transmits a NOTIFY ACK message to R1, which concludes a flow
notification step between R1 and R2.
Similarly, when R2 decides that the same packet flow as above
satisfies specific conditions for cut-through path establishment, it
selects a dedicated-VC that conveys the flow, then transmits a
NOTIFY message, that notifies its downstream neighbor R3 of the
mapping relationship between the flow and selected dedicated-VC, to
R3. When R3 accepts the NOTIFY message sent by R2, it transmits
NOTIFY ACK message to R2, which concludes a flow notification step
between R2 and R3. When R2 realizes that both the incoming
dedicated-VC from R1 and the outgoing dedicated-VC to R3 are
associated with the same flow, it can begin cut-through packet
transmission by concatenating the incoming and the outgoing
dedicated-VC at ATM level.
Nagami, et al. [Page 4]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
Release of the cut-through paths is also performed by individual
nodes that have detected triggers to release the path. Each of them
transmits a REMOVE message, that notifies its downstream neighbor of
removal of the mapping relationship between the packet flow and the
dedicated-VC. The downstream node transmits a REMOVE ACK message to
the upstream node, which concludes a flow removal step between
neighboring nodes. Note that the removal of the mapping
relationship for a packet flow at an incoming interface of a node
does not initiate the flow removal step for the same flow at its
outgoing interface.
Examples of the trigger for cut-through path establishment and
release are shown below. One or several of them could be selected as
well as other triggers that are not itemized below. It is desirable
that the common triggers are adopted in a domain.
Establishment Trigger:
- Transmission of a packet with specific upper layer protocols
defined by the port-ID of TCP/UDP.
(ex. http, ftp, and nntp)
- Transmission of a TCP SYN packet.
- Transmission of a packet with specific source/destination
IP addresses.
- Transmission of more than a certain amount of packets in a
predetermined period.
Release Trigger:
- Decrease of the packet activity (no packet or less than a
certain amount of packets in a predetermined period).
- Change of a next-hop entry in a routing table related to
an active cut-through path.
- Recognition that a neighbor node isn't running through the
neighbor discovery protocol [4].
A similar procedure is applicable to a traffic-driven multicast
case. When establishing a multicast cut-through path, each node on
the multicast tree selects a dedicated-VC toward each of its
downstream neighbors, and then transmits a NOTIFY message, that
conveys a mapping relationship between the multicast packet flow and
the selected dedicated-VC, to each neighbors. The identifier of the
multicast packet flow (FlowID) would be source IP address and
multicast group address in the case that the source tree-based
multicast routing (e.g., DVMRP) is applied, while it would be IP
address of the core node and multicast group address in the case
that the core-based multicast routing (e.g., PIM-SM) is applied.
Trigger for cut-through establishment, e.g., transmission of
multicast packet, is detected by each node in a manner similar to
the unicast case. When a node has found a new multicast group member
Nagami, et al. [Page 5]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
at one of its outgoing interfaces that was not the leaf of the tree,
it performs the same procedure as the initial establishment toward
the downstream neighbor at the interface. When a node, on the
contrary, has recognized that a multicast group member has left the
group at one of its outgoing interface, it performs the same
procedure as the release of the cut-through toward the downstream
neighbor at the interface.
3.1.1.2 Operation for Route Changes
When a node has recognized a change of the next-hop (downstream
neighbor) node for an active cut-through path, it stops cut-through
forwarding and transmits a REMOVE message to cancel the mapping
relationship for the related packet flow. The downstream node that
has received the REMOVE message sends back a REMOVE ACK message, but
does not perform the flow removal action toward its downstream
neighbor unless its own next-hop entry for the packet flow has been
changed. It will perform the flow removal action toward the
downstream neighbor if there is no packet activity from the upstream
neighbor.
The node that has completed the flow removal action toward the old
downstream neighbor performs the path establishment procedure toward
the new downstream neighbor by one of the establishment triggers
(e.g., transmission of a packet with specific upper layer
protocols).
+--+ Ethernet +--+ +-----+ +--+ +-----+ +--+ Ethernet +--+
|H1|----------|R1|---| ATM |---|R2|---| ATM |---|R3|----------|H2|
+--+ +--+ +-----+ +--+ +-----+ +--+ +--+
trigger pkt
|----------> trigger packet
|-------------> trigger packet
NOTIFY |--------------> trigger pkt
==============> NOTIFY |----------->
NOTIFY ACK ===============>
<============== NOTIFY ACK
<===============
|=============|
Dedicated-VC |==============|
Dedicated-VC
Figure 1.
3.1.2 Request-driven Operation
Nagami, et al. [Page 6]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
3.1.2.1 Path Establishment/Release
Figure 2 shows a request-driven path establishment procedure for
packet transmission from a sender H1 to a receiver H2. The procedure
between neighboring nodes is the same as in the traffic-driven case.
The difference is that the trigger for the path establishment or
release is not related to the data packets but to the control
packets such as the RSVP messages[7].
In the case that the path establishment or release is triggered by
the RSVP messages, a cut-through path is established from downstream
to upstream along with the RSVP reservation (Resv) messages. R2
that has received a Resv message from R3 performs the flow
notification procedure by selecting a dedicated-VC for the requested
flow and transmitting a NOTIFY message to R3. R2 realizes that the
flow notification procedure has succeeded when it receives a
NOTIFY ACK message from R3, and then transmits a Resv message to its
upstream neighbor R1. R1 that has received Resv message from R2
performs the flow notification procedure between R2 similarly. R2,
as a result, realizes that both the incoming dedicated-VC from R1
and the outgoing dedicated-VC toward R3 are associated with the same
packet flow, and then is able to begin cut-through forwarding.
Release of the cut-through paths is also performed by individual
nodes that have recognized expiration of RSVP's reservation state.
Each of them transmits a REMOVE message, that notifies its
downstream neighbor of removal of the mapping relationship. The
expiration of the RSVP reservation state is detected by either
the reception of RSVP reservation tear message or the timeout of the
state refresh period.
Examples of the trigger for cut-through path establishment and
release in the request-driven case are shown below.
Establishment Trigger:
- Establishment of the RSVP reservation state.
Release Trigger:
- Expiration of the RSVP reservation state.
- Recognition that a neighbor node isn't running through the
neighbor discovery protocol.
Nagami, et al. [Page 7]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
+--+ Ethernet +--+ +-----+ +--+ +-----+ +--+ Ethernet +--+
|H1|----------|R1|---| ATM |---|R2|---| ATM |---|R3|----------|H2|
+--+ +--+ +-----+ +--+ +-----+ +--+ +--+
Resv
<----------|
Resv
Resv <--------------|
Resv <-------------| NOTIFY
<----------| NOTIFY ===============>
==============> NOTIFY ACK
NOTIFY ACK <===============
<=============|
|==============|
|=============| Dedicated-VC
Dedicated-VC
Figure 2.
3.1.2.2 Operation for Route Changes
In the operation driven by RSVP, unlike the case of the
traffic-driven operation, a change of the next-hop node for the
packet flow with cut-through forwarding does not initiate the
procedure for changing the route of the cut-through path. Since the
RSVP process itself has a functionality to determine the reservation
path, e.g., route pinning, it is desirable that the route of the
RSVP flow is controlled by the RSVP process rather than the native
routing process.
3.2 Procedure Dependent on Datalink Type
A previous subsection described the cut-through path control
procedure for the case that neighboring FANP-capable nodes are
interconnected by the point-to-point link for simplicity. In
addition to the point-to-point link, it should be possible for the
nodes to be interconnected over various types of datalink such as
ATM networks that provide SVC services.
This subsection describes FANP procedures between neighboring nodes
which are interconnected over various types of ATM network as well
as by the point-to-point link.
3.2.1 Operational Overview
The FANP procedure between neighboring nodes is composed of :
(1)Dedicated-VC setup, (2)VCID notification, and (3)Flow
Nagami, et al. [Page 8]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
notification for cut-through establishment, and (4)Flow removal,
(5)VCID removal, and (6)Dedicated-VC release for cut-through
teardown.
(1) Dedicated-VC setup :
It is performed only when the neighboring nodes are
interconnected over an ATM SVC network. An upstream node
establishes a dedicated-VC, by using ATM signaling procedure, so
as to be used as a cut-through path.
(2) VCID notification :
It is performed in the case that the VPI/VCI value of the cell
transmitted by the upstream node and that of the cell received
by the downstream node are not the same. Association between a
dedicated-VC and "VCID", which is being commonly recognized by
the neighboring nodes terminating the VC, is established at this
step. One of the following two types of procedure is performed
depending on the types of ATM network: i)use of an inband
message (PROPOSE message) that is transmitted over the
dedicated-VC being used, ii)use of a message (NOTIFY message)
that associates an Information Element (IE) conveyed by an ATM
signaling with a VCID value.
(3) Flow notification :
It is the core procedure that lets the neighboring nodes share
the common knowledge about mapping relationship between a packet
flow (FlowID) and a VCID. An upstream node notifies a
downstream node of the mapping relationship (NOTIFY message),
which is acknowledged by the downstream node (NOTIFY ACK
message). VCID notification and flow notification can be merged
into a single message when the two actions are performed
consecutively (see 3.2.5.1).
(4) Flow removal :
It is performed to cancel the registered mapping relationship
between a packet flow and a VCID. An upstream node transmits a
REMOVE_FLOW or REMOVE_ALL message to a downstream node, which is
acknowledged by the downstream node. The latter message is used
to perform the flow removal and the VCID removal (described
below) at once.
(5) VCID removal :
It is performed to cancel the association between the
dedicated-VC and the VCID allocated at the VCID notification
step.
(6) Dedicated-VC release :
It is performed only when the neighboring nodes are
interconnected over an ATM SVC network. An upstream node
Nagami, et al. [Page 9]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
releases a dedicated-VC, by using ATM signaling procedure.
The following four types of datalink which interconnect neighboring
FANP-capable nodes are possible:
(a) Point-to-point link that interconnects neighboring nodes directly
(b) PVC-based ATM network
(c) VP-based ATM network that provides logical point-to-point link
(d) SVC-based ATM network
Some of the above-mentioned procedural steps (e.g., dedicated-VC
setup and VCID notification) could be omitted in the case of certain
datalink types, while all of the steps should be executed in the
case of other datalink types. Detailed procedures for individual
datalinks are described from 3.2.2 to 3.2.5.
Note that the FANP procedure will not work until each node
recognizes its neighbor nodes as FANP-capable through the neighbor
discovery protocol specified in [4]. Any messages received from an
unrecognized neighbor node must be discarded.
All the messages described in this section have a Sender ID and a
Receiver ID field except for a PROPOSE message. Each node should
fill in each of these fields with a Local ID and a Peer ID in its
neighbor table[4], respectively. If a Sender ID or a Receiver ID in
the received message is different from the Peer ID or the Local ID
in the neighbor table, the message must be discarded. All the FANP
messages except for a PROPOSE message are conveyed over a
default-VC.
3.2.2 Operation over Point-to-point Link
In the operation over the point-to-point link, neither the
dedicated-VC setup nor the dedicated-VC release is necessary since
there is no conventional ATM switch between neighboring
nodes. Neither the VCID notification nor the VCID removal is
necessary since the VPI/VCI value of an outgoing cell at an upstream
node and that of an incoming cell at a downstream node are the same
in this case.
When an upstream node has detected cut-through establishment trigger
for a packet flow, it determines VPI/VCI value of an available
dedicated-VC, and then transmits a NOTIFY[VCID, FlowID] message,
that conveys the VPI/VCI value as a VCID and the FlowID of the
packet flow, to its downstream neighbor node. The downstream node
sends back either an NOTIFY ACK or an ERROR message to the upstream
node.
Nagami, et al. [Page 10]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
The upstream node periodically retransmits the NOTIFY[VCID, FlowID]
message when it has received neither a NOTIFY ACK nor an ERROR
message in a certain period of time. When it has not received any
response after a number of retransmissions, it proceeds to a flow
removal procedure described below. Default value of the
retransmission interval and the number of retransmissions are
described in Appendix C.
When an upstream node has detected cut-through release trigger for a
cut-through packet flow, it transmits a REMOVE_FLOW message, that
includes a VCID value, to the downstream node. The downstream node
sends back a REMOVE_FLOW ACK message to the upstream node. The
upstream node periodically retransmits the REMOVE_FLOW message when
it has not received REMOVE_FLOW ACK message in a certain period of
time. Default value of the retransmission interval is described in
Appendix C.
3.2.3 Operation over ATM PVC
In the operation over ATM PVC network, a certain amount of PVCs is
provided between neighboring nodes as an initialization procedure.
One of the unused PVCs is picked up as a dedicated-VC when a node
detects cut-through establishment trigger. As the VPI/VCI value of
an outgoing cell at an upstream node and that of an incoming cell at
a downstream node are not the same in general, it is necessary that
the dedicated-VC is given a VCID which can be uniquely identified by
both endpoints of the VC (VCID notification).
An upstream side of the PVC transmits a PROPOSE message to a
downstream side over the selected PVC itself, which conveys the VCID
value being allocated to the PVC. The downstream node sends back a
PROPOSE ACK message to the upstream node over a default-VC, which
concludes the VCID notification step.
The upstream node periodically retransmits the PROPOSE message when
it has received neither a PROPOSE ACK nor a PROPOSE NACK message in
a certain period of time. When it has not received any response
after a number of retransmissions, it proceeds to a VCID removal
procedure described below. Default value of the retransmission
interval and the number of retransmissions are described in Appendix
C.
After the VCID notification procedure has been successfully
completed, the flow notification and removal can be performed with
the same procedure as the point-to-point link case described in
3.2.2. The VCID notification procedure can be performed immediately
after the setup of the PVCs at the initialization phase, or when the
cut-through establishment trigger is detected.
Nagami, et al. [Page 11]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
The VCID value allocated to the PVC at the VCID notification step
can be released by the VCID removal procedure. The upstream node
transmits a REMOVE_ALL message to the downstream node, which is
acknowledged by the downstream node with a REMOVE_ALL ACK message.
The upstream node periodically retransmits the REMOVE_ALL message
when it has not received REMOVE_ALL ACK message in a certain period
of time. Default value of the retransmission interval is described
in Appendix C.
3.2.4 Operation over ATM VP
In the operation over ATM VP network, one or several ATM VPs are
provided between neighboring nodes as an initialization procedure.
One of the unused VCIs is picked up as a dedicated-VC when a node
detects cut-through establishment trigger.
When a single VP is provided between neighboring nodes, all the
procedures are the same as in the case of the point-to-point link
operation described in 3.2.2 since the VCI value of an outgoing cell
at an upstream node and that of an incoming cell at a downstream
node are the same. When multiple VPs are provided between
neighboring nodes, on the other hand, the VCID notification step is
necessary in order that both nodes recognize which VPI as well as
VCI is going to be used as a dedicated-VC.
3.2.5 Operation over ATM SVC
In the operation over ATM SVC network, dedicated-VCs as well as
default-VCs are provided through the ATM signaling. Procedures for
cut-through establishment and release differ depending on,
(i)whether the BLLI(Broadband Low Layer Information) IE is available
in the underlying ATM signaling, and (ii)whether the SVC for a
dedicated-VC is set up each time the cut-through establishment
trigger is detected or a number of surplus SVCs are prepared (VC
pool[9]), one of which is picked up when the cut-through
establishment trigger is detected.
3.2.5.1 On-demand SVC Setup with BLLI IE
When an upstream node detects the cut-through establishment trigger,
it selects an available temporal ID value called LLID (Low Layer ID)
and an available VCID value, both of which are identifiers of a
dedicated-VC to be set up, and then sets up a dedicated-VC by ATM
signaling. The upstream node conveys the selected 7-bit LLID value
in the "user specified layer 3 protocol information field" of the
Nagami, et al. [Page 12]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
BLLI IE of a SETUP message. When the SVC setup has been completed,
both the upstream and the downstream node memorize the LLID value as
an identifier of the SVC.
Then the upstream node transmits a NOTIFY[LLID, VCID, FlowID]
message to the downstream node, which functions as a VCID
notification and flow notification at the same time. At the time
that the NOTIFY[LLID, VCID, FlowID] message is acknowledged by the
downstream node, both nodes share the common knowledge about the
identifier "VCID" of the dedicated-VC and about the association
between the VCID and the "FlowID" that is the identifier of the
packet flow transmitted over the dedicated-VC. The LLID value can be
released at both nodes at this stage, and can be recycled for other
SVCs that are being set up.
When the upstream node detects the cut-through release trigger, it
transmits a REMOVE_ALL message to the downstream node, which
functions as a flow removal and VCID removal at the same time. Then
the SVC is released by the ATM signaling.
3.2.5.2 On-demand SVC Setup without BLLI IE
When the upstream node detects the cut-through establishment
trigger, it selects an available VCID value as an identifier of a
dedicated-VC to be set up, and then sets up a dedicated-VC by ATM
signaling. The temporal ID of the SVC, that is commonly recognized
by both nodes, is not able to be conveyed by the ATM signaling
message in this case.
When the SVC setup has been completed, the upstream node proceeds to
a VCID notification step and a flow notification step that are the
same as in the case of PVC described in 3.2.3.
The flow removal, VCID removal, and dedicated-VC release procedure
are the same as 3.2.5.1.
3.2.5.3 Operation with VC Pool
In the case that a number of surplus unused SVCs are prepared as a
pool, neighboring nodes do not have to perform the dedicated-VC
setup/release procedure nor the VCID notification/removal procedure
each time a specific cut-through establishment/release trigger is
detected. When the upstream node detects the trigger to prepare an
additional dedicated-VC as a pool, it initiates a dedicated-VC setup
procedure and a VCID notification procedure.
When the BLLI IE is supported by the ATM signaling, a temporal
Nagami, et al. [Page 13]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
identifier of the SVC is selected by the upstream node and is
conveyed by the SVC SETUP message as described in 3.2.5.1. Then the
upstream node transmits a NOTIFY[LLID, VCID] message to the
downstream node, which functions as a VCID notification. At the time
that the NOTIFY[LLID, VCID] message is acknowledged by the
downstream node, both nodes recognize that the new SVC, which is
identified by the VCID, is registered into a "VC pool" for future
use as a dedicated-VC.
When the BLLI IE is not supported by the ATM signaling, the upstream
node sets up an SVC without conveying its temporal identifier, and
then proceeds to a VCID notification step that uses an inband
PROPOSE message as described in 3.2.3. At the time that the PROPOSE
message is acknowledged by the downstream node, both nodes
recognize that the new SVC, which is identified by the VCID, is
registered into a "VC pool" for future use as a dedicated-VC.
One of the available SVCs in a VC pool is picked up as a
dedicated-VC when a cut-through path is being set up. The flow
notification and the flow removal procedures are the same as the
procedure for the point-to-point link described in 3.2.2. When the
association with a specific flow is canceled by the flow removal
procedure, the SVC is returned to a VC pool for future use.
4. Message Format
FANP control messages are encapsulated in IP packets except for VCID
notification messages. The protocol ID for these messages is
110(decimal). They are transfered through default-VC. They consist
of a common header and object fields.
VCID notification messages(PROPOSE, PROPOSE ACK, PROPOSE NACK) are
carried in the extended ATM-ARP messages defined in RFC1577[6]. A
PROPOSE message is transferred from the upstream node to the
downstream node through the dedicated-VC. PROPOSE ACK and PROPOSE
NACK messages are transferred from the downstream node to the
upstream node through the default-VC.
The reserved field in the following packet format MUST be zero.
4.1 VCID Notification Message
PROPOSE, PROPOSE ACK and PROPOSE NACK messages are used for VCID
notification procedure. They use the extended ATM-ARP message
format [6] to which the VCID type and the VCID field are added.
Type & Length fields are set to zero, because the messages don't
need sender/target ATM address.
Nagami, et al. [Page 14]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
PROPOSE message is transferred from the upstream node to the
downstream node through the dedicated-VC. PROPOSE ACK and PROPOSE
NACK messages are transferred from the downstream node to the
upstream node through the default-VC.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Hardware Type = 0x13 | Protocol Type = 0x0800 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type&Length 1 | Type&Length 2 | Operation Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length 1 | Type&Length 3 | Type&Length 4 | Length 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Target IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VCID Type |VCID Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VCID |
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type&Length 1 ; Type & Length of sender ATM number = 0
Type&Length 2 ; Type & Length of sender ATM subnumber = 0
Type&Length 3 ; Type & Length of sender ATM number = 0
Type&Length 4 ; Type & Length of sender ATM subnumber = 0
Length 1 ; Source IP address length
Length 2 ; Target IP address length
Operation code
0x10 = PROPOSE
0x11 = PROPOSE ACK
0x12 = PROPOSE NACK
VCID Type: VCID Type field as described later
VCID Length: Length of VCID field (Byte)
VCID : VCID field as described later
4.2 FANP Common Header
FANP control messages except for VCID notification messages(PROPOSE,
PROPOSE ACK,PROPOSE NACK) consist of a FANP common header and FANP
objects described in section 4.3 .
Nagami, et al. [Page 15]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version |I| Op Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receiver ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ /
/ Object /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Version : The protocol version of FANP. This protocol version is 2.
I Flag :
This flag is zero if this message is for the DC-Mode.
This flag is one if this message is for the IC-Mode[3].
This flag is zero in HELLO,INIT,RECOGNIZE and KEEP_ALIVE messages.
Operation Code:
This field indicates the operation code of the message.
The value of operation code is as follows.
operation code = 1 : HELLO message
operation code = 2 : INIT message
operation code = 3 : RECOGNIZE message
operation code = 4 : KEEP_ALIVE message
operation code = 5 : ERROR message
operation code = 6 : NOTIFY message
operation code = 7 : NOTIFY ACK message
operation code = 8 : REMOVE_FLOW message
operation code = 9 : REMOVE_FLOW ACK message
operation code = 10 : REMOVE_ALL message
operation code = 11 : REMOVE_ALL ACK message
operation code = 12 : UPDATE message
(used by IC-mode)
operation code = 13 : UPDATE ACK message
(used by IC-mode)
Checksum
This field is the 16 bits checksum for the whole body of the
FANP message. The checksum algorithm is the same as that used
for the IP header.
Sender ID
The Local ID of the sender of the message. This field is zero
for HELLO messages.
Nagami, et al. [Page 16]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
Receiver ID
The Local ID of the receiver of the message. This field is zero
for HELLO and INIT messages.
4.3 FANP Objects
4.3.1 Object Header
The FANP object header format is as follows.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Object Type | Object Flags | Object Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Object Type : The type of this object.
Object Flags : The flag of this object. The semantics of this field
depends on the object types.
Object Length : The length of the object (in bytes) includes the
object header.
4.3.2 Map Object
A format of MAP OBJECT, which maps VCID, FlowID and LLID, is as
follows. This object type is 1.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Object Type = 1| Reserved | Object Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VCID Type | FlowID Type | Error Code | LLID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VCID |
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FlowID |
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Object Type : Set to 1 for Map Object
Object Length : The length of the object (in bytes) includes the
object header.
Nagami, et al. [Page 17]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
VCID Type : The type of VCID. It is zero if no VCID field.
FlowID Type : The type of FlowID. It is zero if no FlowID field.
Error Code : If this message is ERROR message, the following
error code is put into this field.
Error Code = 1: unknown VCID Type
Error Code = 2: unknown VCID
Error Code = 3: unknown FlowID Type
Error Code = 4: unknown FlowID
Error Code = 5: resource unavailable
Error Code = 6: refuse as a matter of policy
Error Code = 7: hop count threshold exceeded
(used by IC-mode)
Error Code = 8: same FlowID received on different interface
(used by IC-mode)
Error Code = 9: unknown LLID
LLID : The Low Layer ID (LLID) field. If LLID isn't needed,
this field is zero.
VCID : The VCID field as described latter.
FlowID : The FlowID field as described latter.
4.3.2.1 VCID Field Format
VCID type value decides VCID field format. Currently, only type "1"
and "2" are defined. The VCID field format 1 is shown below.
VCID Type = 1:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ESI of upstream node |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
ESI : IEEE 802 MAC address (ESI:End System Identifier [10])
of the upstream node.
ID : A unique identifier allocated by the upstream node.
Nagami, et al. [Page 18]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
VCID Type = 2: Explicit ATM Label (4 bytes)
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Reservd| VPI | VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.3.2.2 FlowID field
FlowID type value decides FlowID field format. Currently, FlowID
type "1", "2" and "3" are defined. The format is shown below.
FlowID Type = 1:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Source IP address : source IP address of a flow
Destination IP address : destination IP address of a flow
FlowID Type = 2:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Protocol ID : protocol ID of a flow
Source IP address : source IP address of a flow
Destination IP address : destination IP address of a flow
Source port : source port of a flow. If a flow doesn't
have it, this field is zero.
Destination port : destination port of a flow. If a flow
doesn't have it, this field is zero.
Nagami, et al. [Page 19]
Internet Draft draft-nagami-csr-fanpv2-dcmode-00.txt December 1997
FlowID Type = 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination network mask |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Destination IP address : destination IP address of a flow
Destination network mask : netmask of a flow
4.3.3 Capability Object
This object is only used by FANPv2-ND. The value of this object type
is 2. Details are described in [4].
4.3.4 VCID Range Object
This object is only used by FANPv2-ND. The value of this object type
is 3. Details are described in [4].
4.3.5 Hop Count Object
This object is only used by IC-Mode. The value of this object type
is 4. Details are described in [3].
4.3.6 Ingress Object
This object is only used by IC-Mode. The value of this object type
is 4. Details are described in [3].
4.4 Examples of Message
ERROR,NOTIFY,NOTIFY_ACK,REMOVE_FLOW,REMOVE_FLOW ACK,REMOVE_ALL and
REMOVE_ALL ACK messages have a common header and one or more than
one map objects.