As per Relevance of the word information, we have this rfc below:
Network Working Group D.
Request for Comments: 2892 G.
Category: Informational Cisco
August 2000
The Cisco SRP MAC Layer
Status of this
This memo provides information for the Internet community. It
not specify an Internet standard of any kind. Distribution of
memo is unlimited
Copyright
Copyright (C) The Internet Society (2000). All Rights Reserved
This document specifies the MAC layer protocol, "Spatial
Protocol" (SRP) for use with ring based media. This is a
version of the protocol (V2).
The primary requirements for SRP are as follows
- Efficient use of bandwidth using
spatial reuse of
local reuse of
minimal protocol
- Support for priority
- Scalability across a large number of nodes or stations attached
a
- "Plug and play" design without a software based station
transfer (SMT) protocol or ring master negotiation as seen
other ring based MAC protocols [1][2]
- Fairness among nodes using the
- Support for ring based redundancy (error detection, ring wrap
etc.) similar to that found in SONET BLSR specifications
- Independence of physical layer (layer 1) media type
This document defines the terminology used with SRP, packet formats
the protocol format, protocol operation and associated
finite state machines
Tsiang & Suwala Informational [Page 1]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
Table of
1. Differences between SRP V1 and V2 ....................... 3
2. Terms and Taxonomy ...................................... 4
2.1. Ring Terminology .................................. 4
2.2. Spatial Reuse ..................................... 5
2.3. Fairness .......................................... 6
2.4. Transit Buffer .................................... 7
3. SRP Overview ............................................ 8
3.1. Receive Operation Overview ........................ 8
3.2. Transmit Operation Overview ....................... 8
3.3. SRP Fairness Algorithm (SRP-fa) Overview .......... 9
3.4. Intelligent Protection Switching (IPS)
Overview .......................................... 9
4. Packet Formats .......................................... 13
4.1. Overall Packet Format ............................. 13
4.2. Generic Packet Header Format ...................... 14
4.2.1. Time To Live (TTL) ......................... 14
4.2.2. Ring Identifier (R) ........................ 15
4.2.3. Priority Field (PRI) ....................... 15
4.2.4. MODE ....................................... 15
4.2.5. Parity Bit (P-bit) ......................... 16
4.2.6. Destination Address ........................ 16
4.2.7. Source Address ............................. 16
4.2.8. Protocol Type .............................. 16
4.3. SRP Cell Format ................................... 16
4.4. SRP Usage Packet Format ........................... 17
4.5. SRP Control Packet Format ......................... 18
4.5.1. Control Ver ................................ 19
4.5.2. Control Type ............................... 19
4.5.3. Control TTL ................................ 19
4.5.4. Control Checksum ........................... 19
4.5.5. Payload .................................... 20
4.5.6. Addressing ................................. 20
4.6. Topology Discovery ................................ 20
4.6.1. Topology Length ............................ 22
4.6.2. Topology Originator ........................ 22
4.6.3. MAC bindings ............................... 22
4.6.4. MAC Type Format ............................ 22
4.7. Intelligent Protection Switching (IPS) ............ 23
4.7.1. Originator MAC Address ..................... 23
4.7.2. IPS Octet .................................. 24
4.8. Circulating packet detection (stripping) .......... 24
5. Packet acceptance and stripping ......................... 25
5.1. Transmission and forwarding with priority ......... 27
5.2. Wrapping of Data .................................. 28
6. SRP-fa Rules Of Operation ............................... 28
6.1. SRP-fa pseudo-code ................................ 30
Tsiang & Suwala Informational [Page 2]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
6.2. Threshold settings ................................ 32
7. SRP Synchronization ..................................... 32
7.1. SRP Synchronization Examples ...................... 33
8. IPS Protocol Description ................................ 34
8.1. The IPS Request Types ............................. 35
8.2. SRP IPS Protocol States ........................... 36
8.2.1. Idle ....................................... 36
8.2.2. Pass-through ............................... 36
8.2.3. Wrapped .................................... 36
8.3. IPS Protocol Rules ................................ 36
8.3.1. SRP IPS Packet Transfer Mechanism .......... 36
8.3.2. SRP IPS Signaling and Wrapping Mechanism ... 37
8.4. SRP IPS Protocol Rules ............................ 38
8.5. State Transitions ................................. 41
8.6. Failure Examples .................................. 41
8.6.1. Signal Failure - Single Fiber Cut Scenario . 41
8.6.2. Signal Failure - Bidirectional Fiber
Scenario ................................... 43
8.6.3. Failed Node Scenario ....................... 45
8.6.4. Bidirectional Fiber Cut and Node
Scenarios .......................................... 47
9. SRP over SONET/SDH ...................................... 48
10. Pass-thru mode .......................................... 49
11. References .............................................. 50
12. Security Considerations ................................. 50
13. IPR Notice .. ........................................... 50
14. Acknowledgments ......................................... 50
15. Authors' Addresses ...................................... 51
16. Full Copyright Statement ................................ 52
1. Differences between SRP V1 and V
This document pertains to SRP V2. SRP V1 was a previously
draft specification. The following lists V2 feature differences
V1:
- Reduction of the header format from 4 bytes to 2 bytes
- Replacement of the keepalive packet with a new control packet
carries usage information in addition to providing a
function
- Change bit value of inner ring to be 1 and outer to be 0.
- Reduction in the number of TTL bits from 11 to 8.
- Removal of the DS bit
Tsiang & Suwala Informational [Page 3]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
- Change ordering of CRC transmission to be most significant
first (was least significant octet in V1). The SRP CRC is now
same as in [5].
- Addition of the SRP cell mode to carry ATM cells over SRP
- Changes to the SRP-fa to increase the usage field width and
remove the necessity of adding a fixed constant when
usage messages
2. Terms and
2.1. Ring
SRP uses a bidirectional ring. This can be seen as two
counter-rotating rings. Most of the protocol finite state
(FSMs) are duplicated for the two rings
The bidirectional ring allows for ring-wrapping in case of media
station failure, as in FDDI [1] or SONET/SDH [3]. The wrapping
controlled by the Intelligent Protection Switching (IPS) protocol
To distinguish between the two rings, one is referred to as
"inner" ring, the other the "outer" ring. The SRP protocol
by sending data traffic in one direction (known as "downstream")
it's corresponding control information in the opposite
(known as "upstream") on the opposite ring. Figure 1 highlights
graphically
Tsiang & Suwala Informational [Page 4]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 1. Ring
{outer_
----- inner_ctl
---------------->| N |-----------------
| ---------------| 1 |<-------------- |
| | {inner_data ----- | |
| | outer_ctl} | |
----- -----
| N | | N |
| 6 | | 2 |
----- -----
^ | ^ |
o | | i | |
u | | n | |
t | | n | |
e | | e | |
r | | r | |
| v |
----- -----
| N | | N |
| 5 | | 3 |
----- -----
| | | |
| | ----- | |
| -------------->| N |--------------- |
-----------------| 4 |<----------------
-----
2.2. Spatial
Spatial Reuse is a concept used in rings to increase the
aggregate bandwidth of the ring. This is possible because
traffic is only passed along ring spans between source
destination nodes rather than the whole ring as in earlier ring
protocols such as token ring and FDDI
Figure 2 below outlines how spatial reuse works. In this example
node 1 is sending traffic to node 4, node 2 to node 3 and node 5
node 6. Having the destination node strip unicast data from the
allows other nodes on the ring who are downstream to have full
to the ring bandwidth. In the example given this means node 5
full bandwidth access to node 6 while other traffic is
simultaneously transmitted on other parts of the ring
Tsiang & Suwala Informational [Page 5]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
2.3.
Since the ring is a shared media, some sort of access control
necessary to ensure fairness and to bound latency. Access control
be broken into two types which can operate in tandem
Global access control - controls access so that everyone gets
fair share of the global bandwidth of the ring
Local access control - grants additional access beyond
allocated globally to take advantage of segments of the ring
are less than fully utilized
As an example of a case where both global and local access
required, refer again to Figure 2. Nodes 1, 2, and 5 will get 1/2
the bandwidth on a global allocation basis. But from a
perspective, node 5 should be able to get all of the bandwidth
its bandwidth does not interfere with the fair shares of nodes 1
2.
Tsiang & Suwala Informational [Page 6]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 2. Global and Local Re-
. . . . . . . . . . . . . . . . .
. .
----- .
---------------->| N |----------------- .
| ---------------| 1 |<-------------- | .
| | ----- | | .
| | | | .
----- ----- .
. .>| N | | N |. .. .
. | 6 | | 2 | . .
. ----- ----- . .
. ^ | ^ | . .
. o | | i | | . .
. u | | n | | . .
. t | | n | | . .
. e | | e | | . .
. r | | r | | . .
. | v | v . .
. ----- ----- . .
. . | N | | N |<. . .
| 5 | | 3 | .
----- ----- .
| | | | .
| | ----- | | .
| -------------->| N |--------------- | .
-----------------| 4 |<---------------- .
----- .
^ .
. .
. . . . .<. . . . . . . . . . . .
2.4. Transit
To be able to detect when to transmit and receive packets from
ring, SRP makes use of a transit (sometimes referred as insertion
buffer as shown in Figure 3 below. High priority packets and
priority packets can be placed into separate fifo queues
Tsiang & Suwala Informational [Page 7]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 3. Transit
^^ ||
||
|----| |----|
| | | |
|----|Rx |----|
| |Buffer | |
|----| |----|
| | | |
|----| |----|
| | | |
|----| |----|
| | | |
|----| |----|
^^ Transit ||
|| Buffer ||
|| |------|
| H |
===========>|------|==========>
| L |
|------|
3. SRP
3.1. Receive Operation
Receive Packets entering a node are copied to the receive buffer if
Destination Address (DA) match is made. If a DA matched packet
also a unicast, then the packet will be stripped. If a packet
not DA match or is a multicast and the packet does not Source
(SA) match, then the packet is placed into the Transit Buffer (TB
for forwarding to the next node if the packet passes Time To Live
Cyclic Redundancy Check (CRC) tests
3.2. Transmit Operation
Data sent from the node is either forwarded data from the TB
transmit data originating from the node via the Tx Buffer.
priority forwarded data always gets sent first. High
transmit data may be sent as long as the Low Priority Transit
(LPTB) is not full
A set of usage counters monitor the rate at which low
transmit data and forwarded data are sent. Low priority data may
sent as long as the usage counter does not exceed an allowed
governed by the SRP-fa rules and the LPTB has not exceeded the
priority threshold
Tsiang & Suwala Informational [Page 8]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
3.3. SRP Fairness Algorithm (SRP-fa)
If a node experiences congestion, then it will advertise to
nodes via the opposite ring the value of its transmit usage counter
The usage counter is run through a low pass filter function
stabilize the feedback. Upstream nodes will adjust their
rates so as not to exceed the advertised values. Nodes
propagate the advertised value received to their immediate
neighbor. Nodes receiving advertised values who are also
propagate the minimum of their transmit usage and the
usage
Congestion is detected when the depth of the low priority
buffer reaches a congestion threshold
Usage messages are generated periodically and also act as
informing the upstream station that a valid data link exists
3.4. Intelligent Protection Switching (IPS) Protocol
An SRP Ring is composed of two counter-rotating, single fiber rings
If an equipment or fiber facility failure is detected, traffic
towards and from the failure direction is wrapped (looped) back to
in the opposite direction on the other ring (subject to
protection hierarchy). The wrap around takes place on the
adjacent to the failure, under control of the IPS protocol. The
re-routes the traffic away from the failed span
An example of the data paths taken before and after a wrap are
in Figures 4 and 5. Before the fiber cut, N4 sends to N1 via
path N4->N5->N6->N1.
If there is a fiber cut between N5 and N6, N5 and N6 will wrap
inner ring to the outer ring. After the wraps have been set up
traffic from N4 to N1 initially goes through the non-optimal
N4->N5->N4->N3->N2->N1->N6->N1.
Subsequently a new ring topology is discovered and a new optimal
is used N4->N3->N2-N1 as shown in Figure 6. Note that the
discovery and the subsequent optimal path selection are not part
the IPS protocol
Tsiang & Suwala Informational [Page 9]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 4. Data path before wrap, N4 -> N
-----
################>| N |-----------------
# ---------------| 1 |<-------------- |
# | ----- | |
# | | |
----- -----
| N | | N |
| 6 | | 2 |
----- -----
^ | ^ |
# | | |
# | | |
# | | |
# | | |
# | | |
# v |
----- -----
| N | | N |
| 5 | | 3 |
----- -----
# | | |
# | ----- | |
# -------------->| N |--------------- |
#################| 4 |<----------------
-----
The ring wrap is controlled through SONET BLSR [3][4] style
signaling. It is an objective to perform the wrapping as fast as
the SONET equipment or faster
The IPS protocol processes the following request types (in the
of priority, from highest to lowest):
1. Forced Switch (FS): operator originated, performs a
switch on a requested span (wraps at both ends of the span
2. Signal Fail (SF): automatic, caused by a media Signal
or SRP keep-alive failure - performs a protection switch on
requested
Tsiang & Suwala Informational [Page 10]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 5. Data path after the wrap, N4 -> N
-----
################>| N |-----------------
# ###############| 1 |<############## |
# # ----- # |
# v # |
----- -----
| N | | N |
| 6 | | 2 |
----- -----
^ # wrap ^ |
### # |
_________ # |
fiber cut # |
--------- # |
### # |
# v wrap #
----- -----
| N | | N |
| 5 | | 3 |
----- -----
# # # |
# # ----- # |
# ##############>| N |############### |
#################| 4 |<----------------
3. Signal Degrade (SD): automatic, caused by a media
Degrade (e.g. excessive Bit Error Rate) - performs a
switch on a requested
4. Manual Switch (MS): operator originated, like Forced
but of a lower
5. Wait to Restore (WTR): automatic, entered after the
channel meets the restoration criteria after SF or SD
disappears. IPS waits WTR period before restoring traffic
order to prevent protection switch
If a protection (either automatic or operator originated)
requested for a given span, the node on which the protection has
requested issues a protection request to the node on the other end
the span using both the short path (over the failed span, as
failure may be unidirectional) and the long path (around the ring).
Tsiang & Suwala Informational [Page 11]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 6. Data path after the new topology is
-----
-----------------| N |-----------------
| ---------------| 1 |<############## |
| | ----- # |
| v # |
----- -----
| N | | N |
| 6 | | 2 |
----- -----
^ | wrap ^ |
-- # |
_________ # |
fiber cut # |
--------- # |
-- # |
| v wrap #
----- -----
| N | | N |
| 5 | | 3 |
----- -----
| | # |
| | ----- # |
| -------------->| N |############### |
-----------------| 4 |<----------------
-----
As the protection requests travel around the ring, the
hierarchy is applied. If the requested protection switch is of
highest priority e.g. Signal Fail request is of higher priority
the Signal Degrade than this protection switch takes place and
lower priority switches elsewhere in the ring are taken down,
appropriate. If a lower priority request is requested, it is
allowed if a higher priority request is present in the ring. The
exception is multiple SF and FS switches, which can coexist in
ring
All protection switches are performed bidirectionally (wraps at
ends of a span for both transmit and receive directions, even if
failure is only unidirectional).
Tsiang & Suwala Informational [Page 12]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4. Packet
This section describes the packet formats used by SRP. Packets can
sent over any point to point link layer (e.g. SONET/SDH, ATM,
to point ETHERNET connections). The maximum transfer unit (MTU)
9216 octets. The minimum transfer unit for data packets is 55
octets. The maximum limit was designed to accommodate the large
MTUs of IP over AAL5. SRP also supports ATM cells. ATM cells
SRP are 55 octets. The minimum limit corresponds to ATM
transported over SRP. The minimum limit does not apply to
packets which may be smaller
These limits include everything listed in Figure 7: but are
of the frame delineation (e.g. for SRP over SONET/SDH, the flags
for frame delineation are not included in the size limits).
The following packet and cell formats do not include any layer 1
frame delineation. For SRP over POS, there will be an
flag that delineates start and end of frame
4.1. Overall Packet
The overall packet format is show below in Figure 7:
FIGURE 7. Overall Packet
---------------------------------
| SRP Header |
---------------------------------
| Dest. Addr. |
---------------------------------
| Source Addr. |
---------------------------------
| Protocol Type |
---------------------------------
| Payload |
| |
| |
| |
---------------------------------
| FCS |
---------------------------------
The frame check sequence (FCS) is a 32-bit cyclic redundancy
(CRC) as specified in RFC-1662 and is the same CRC as used in
Over SONET (POS - specified in RFC-2615). The generator
is
Tsiang & Suwala Informational [Page 13]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
CRC-32:
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 +
x2 + x + 1
The FCS is computed over the destination address, source address
protocol type and payload. It does not include the SRP header
Note that the packet format after the SRP header is identical
Ethernet Version 2.
4.2. Generic Packet Header
Each packet has a fixed-sized header. The packet header format
shown in Figure 8.
FIGURE 8. Detailed Packet Header
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Protocol Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Payload |
. .
. .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The fields are described below
4.2.1. Time To Live (TTL
This 8 bit field is a hop-count that must be decremented every time
node forwards a packet. If the TTL reaches zero it is stripped
the ring. This allows for a total node space of 256 nodes on a ring
However, due to certain failure conditions (e.g. when the ring
Tsiang & Suwala Informational [Page 14]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
wrapped) the total number of nodes that are supported by SRP is 128.
When a packet is first sent onto the ring the TTL should be set to
least twice the total number of nodes on the ring
4.2.2. Ring Identifier (R
This single bit field is used to identify which ring this packet
designated for. The designation is as follows
TABLE 1. Ring Indicator
Outer Ring 0
Inner Ring 1
4.2.3. Priority Field (PRI
This three bit field indicates the priority level of the SRP
(0 through 7). The higher the value the higher the priority.
there are only two queues in the transit buffer (HPTB and LPTB)
packet is treated as either low or high priority once it is on
ring. Each node determines the threshold value for determining
is considered a high priority packet and what is considered a
priority packet. However, the full 8 levels of priority in the
header can be used prior to transmission onto the ring (
queues) as well as after reception from the ring (receive queues).
4.2.4.
This three bit field is used to identify the mode of the packet.
following modes are defined in Table 2 below
TABLE 2. MODE
Value
000
001
010
011 ATM
100 Control Message (Pass to host
101 Control Message (Locally Buffered for host
110 Usage
111 Packet
These modes will be further explained in later sections
Tsiang & Suwala Informational [Page 15]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.2.5. Parity Bit (P-bit
The parity bit is used to indicate the parity value over the 15
of the SRP header to provide additional data integrity over
header. Odd parity is used (i.e. the number of ones including
parity bit shall be an odd number).
4.2.6. Destination
The destination address is a globally unique 48 bit address
by the IEEE
4.2.7. Source
The source address is a globally unique 48 bit address assigned
the IEEE
4.2.8. Protocol
The protocol type is a two octet field like that used in
representation. Current defined values relevant to SRP are defined
Table 3 below
TABLE 3. Defined Protocol
Value Protocol
0x2007 SRP
0x0800 IP version 4
0x0806
4.3. SRP Cell
SRP also supports the sending of ATM cells. The detailed cell
is shown below
Tsiang & Suwala Informational [Page 16]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 9. SRP Cell
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| VPI/VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VCI | PTI |C| HEC | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| |
. .
. ATM Payload .
. ( 48 Bytes ) +-+-+-+-+-+-+-+-+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Packet nodes would typically ignore (never receive or strip)
always forward ATM-cells. The idea is that ATM switches and
could coexist in a ring. Note that SRP cells do not contain an FCS
Data integrity is handled at the AAL layer
4.4. SRP Usage Packet
SRP usage packets are sent out periodically to propagate
usage information to upstream nodes. SRP usage packets also
a keepalive function. SRP usage packets should be sent
every 106 usec
If a receive interface has not seen a usage packet within
keepalive timeout interval it will trigger an L2 keepalive
interrupt/event. The IPS software will subsequently mark
interface as faulty and initiate a protection switch around
interface. The keepalive timeout interval should be set to 16
the SRP usage packet transmission interval
FIGURE 10. Usage Packet
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Originator MAC Address +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Usage |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A USAGE of all ones indicates a value of NULL
Tsiang & Suwala Informational [Page 17]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.5. SRP Control Packet
If the MODE bits are set to 10X (SRP control) then this indicates
control message. Control messages are always received and stripped
the adjacent node. They are by definition unicast, and do not
any addressing information. The destination address field
control packets should be set to 0's. The source address field for
control packet should be set to the source address of
transmitting node
Two types of controls messages are defined : Pass to host and
buffered. Pass to host messages can be passed to the host software
whatever means is convenient. This is most often the same path
to transfer data packets to the host. Locally buffered
messages are usually reserved for protection messages. These
normally buffered locally in order to not contend for resources
data packets. The actual method of handling these messages is up
the implementor
The control packet format is shown in Figure 11.
FIGURE 11. Control Packet
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Protocol Type = 0x2007 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Ver | Control Type | Control Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control TTL | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
. .
. Payload .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The priority (PRI) value should be set to 0x7 (all one's)
sending control packets and should be queued to the highest
transmit queue available. The Time to Live is not relevant since
Tsiang & Suwala Informational [Page 18]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
packets will be received and stripped by the nearest
neighbor and can be set to any value (preferably this should be
to 001).
4.5.1. Control
This one octet field is the version number associated with
control type field. Initially, all control types will be version 0.
4.5.2. Control
This one octet field represents the control message type. Table 4
contains the currently defined control types
TABLE 4. Control
Control Type
0x01 Topology
0x02 IPS
0x03-
0xFF
4.5.3. Control
The Control TTL is a control layer hop-count that must be
every time a node forwards a control packet. If a node receives
control packet with a control TTL <= 1, then it should accept
packet but not forward it
Note that the control layer hop count is separate from the SRP L2
which is always set to 1 for control messages
The originator of the control message should set the initial value
the control TTL to the SRP L2 TTL normally used for data packets
4.5.4. Control
The checksum field is the 16 bit one's complement of the one'
complement sum of all 16 bit words starting with the control version
If there are an odd number of octets to be checksummed, the
octet is padded on the right with zeros to form a 16 bit word
checksum purposes. The pad is not transmitted as part of
segment. While computing the checksum, the checksum field itself
replaced with zeros. This is the same checksum algorithm as
used for TCP. The checksum does not cover the 32 bit SRP FCS
Tsiang & Suwala Informational [Page 19]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.5.5.
The payload is a variable length field dependent on the control type
4.5.6.
All nodes must have a globally unique IEEE 48 bit MAC address.
multicast bit is defined using canonical addressing conventions i.e
the multicast bit is the least significant bit of the
significant octet in the destination address. It is acceptable
not advisable to change a node's MAC address to one that is known
be unique within the administrative layer 2 domain (that is the
ring itself along with any networks connected to the SRP ring via
layer 2 transparent bridge).
FIGURE 12. Multicast bit
Destination
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |M| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
^
|----Multicast
Note that for SONET media, the network order is MSB of each
first, so that as viewed on the line, the multicast bit will be
8th bit of the destination address sent. (For SRP on Ethernet media
the multicast bit would be sent first).
4.6. Topology
Each node performs topology discovery by sending out
discovery packets on one or both rings. The node originating
topology packet marks the packet with the egressing ring id,
the node's mac binding to the packet and sets the length field in
packet before sending out the packet. This packet is a point-to-
packet which hops around the ring from node to node. Each
appends its mac address binding, updates the length field and
it to the next hop on the ring. If there is a wrap on the ring,
wrapped node will indicate a wrap when appending its mac binding
wrap the packet. When the topology packets travel on the
section with the ring identifier being different from that of
topology packet itself, the mac address bindings are not added to
packet
Tsiang & Suwala Informational [Page 20]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
Eventually the node that generated the topology discovery packet
back the packet. The node makes sure that the packet has the
ingress and egress ring id before excepting the packet. A
map is changed only after receiving two topology packets
indicate the same new topology (to prevent topology changes
transient conditions).
Note that the topology map only contains the reachable nodes. It
not correspond to the failure-free ring in case of wraps and
segmentations
FIGURE 13. Topology Packet
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Protocol Type = 0x2007 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Ver=0 | Control Type=1| Control Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control TTL | Topology Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Originator's Globally Unique |
+ MAC Address (48 bits) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | MAC Type | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| MAC Address (48 bits) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Other MAC bindings |
+-+-+-+-+-+-+-+-+ +
| |
+ +
Note that the Source address should be set to the source address
the TRANSMITTING node (which is not necessarily the
node).
Tsiang & Suwala Informational [Page 21]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.6.1. Topology
This two octet field represents the length of the topology message
octets starting with the first MAC Type/MAC Address binding
4.6.2. Topology
A topology discovery packet is determined to have been originated
a node if the originator's globally unique MAC address of the
is that node's globally unique MAC address (assigned by the IEEE).
Because the mac addresses could be changed at a node, the IEEE
address ensures that a unique identifier is used to determine
the topology packet has gone around the ring and is to be consumed
4.6.3. MAC
Each MAC binding shall consist of a MAC Type field followed by
node's 48 bit MAC address. The first MAC binding shall be the
binding of the originator. Usually the originator's MAC address
be it's globally unique MAC Address but some implementations
allow this value to be overridden by the network administrator
4.6.4. MAC Type
This 8 bit field is encoded as follows
TABLE 5. MAC Type
Bit
0
1 Ring ID (1 or 0)
2 Wrapped Node (1) / Unwrapped Node (0)
3-7
Determination of whether a packet's egress and ingress ring ID's
a match should be done by using the Ring ID found in the MAC
field of the last MAC binding as the ingress ring ID rather than
R bit found in the SRP header. Although they should be the same,
is better to separate the two functions as some implementations
not provide the SRP header to upper layer protocols
The topology information is not required for the IPS
mechanism. This information can be used to calculate the number
nodes in the ring as well as to calculate hop distances to nodes
determine the shortest path to a node (since there are two counter
rotating rings).
Tsiang & Suwala Informational [Page 22]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
The implementation of the topology discovery mechanism could be
periodic activity or on "a need to discover" basis. In the
implementation, each node generates the topology packet
and uses the cached topology map until it gets a new one. In the
to discover implementation, each node generates a topology
packet whenever they need one e.g., on first entering a ring
detecting a wrap
4.7. Intelligent Protection Switching (IPS
IPS is a method for automatically recovering from various
failures and line degradation scenarios. The IPS packet format
outlined in Figure 14 below
FIGURE 14. IPS Packet
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |R| MOD | PRI |P| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Protocol Type = 0x2007 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Ver=0 | Control Type=2| Control Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control TTL | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| Originator MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ips Octet | Rsvd Octet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPS specific fields are detailed below
4.7.1. Originator MAC
This is the MAC address of the originator of the IPS message. It
not necessarily the same as the SRP Header Source Address as a
may be simply propagating an IPS message (see the section "SRP
Protocol Rules" Rule P.8 as an example).
Tsiang & Suwala Informational [Page 23]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
4.7.2. IPS
The IPS octet contains specific protection information. The format
the IPS octet is as follows
FIGURE 15. IPS Octet Format
Bits Values (values not listed are reserved
0-3 IPS Request
1101 - Forced Switch (FS
1011 - Signal Fail (SF
1000 - Signal Degrade (SD
0110 - Manual Switch (MS
0101 - Wait to Restore (WTR
0000 - No Request (IDLE
4 Path
0 - short (S
1 - long (L
5-7 Status
010 - Protection Switch Completed - traffic Wrapped (W
000 - Idle (I
The currently defined request types with values, hierarchy
interpretation are as used in SONET BLSR [3], [4], except as noted
4.8. Circulating packet detection (stripping
Packets continue to circulate when transmitted packets fail to
stripped. Unicast packets are normally stripped by the
station or by the source station if the destination station
failed. Multicast packets are only stripped by the source station.
both the source and destination stations drop out of the ring while
unicast packet is in flight, or if the source node drops out
its multicast packet is in flight, the packet will rotate around
ring continuously
The solution to this problem is to have a TTL or Time To Live
in each packet that is set to at least twice the number of nodes
the ring. As each node forwards the packet, it decrements the TTL.
the TTL reaches zero it is stripped off of the ring
Tsiang & Suwala Informational [Page 24]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
The ring ID is used to qualify all stripping and receive decisions
This is necessary to handle the case where packets are being
by some node in the ring. The sending node may see its packet on
reverse ring prior to reaching its destination so must not
strip it. The exception is if a node is in wrap. Logically, a
in wrap "sees" the packet on both rings. However the
implementation is to receive the packet on one ring and to
it on the other ring. Therefore, a node that is in the wrap
ignores the ring ID when making stripping and receiving decisions
A potential optimization would be to allow ring ID
destination stripping of unicast packets. One problem with this
that packets may be delivered out of order during a transition to
wrap condition. For this reason, the ring ID should always be used
a qualifier for all strip and receive decisions
5. Packet acceptance and
A series of decisions based on the type of packet (mode), source
destination addresses are made on the MAC incoming packets.
can either be control or data packets. Control packets are
once the information is extracted. The source and
addresses are checked in the case of data packets. The rules
reception and stripping are given below as well as in the flow
in Figure 16.
1. Decrement TTL on receipt of a packet, discard if it gets
zero; do not forward
2. Strip unicast packets at the destination station. Accept
strip "control" packets
3. Do not process packets other than for TTL and forwarding
they have the "wrong" ring_id for the direction in which
are received unless the node is in wrap. If the node is
wrap then ignore the ring_id
4. Do not process packets other than for TTL and forwarding if
mode is not supported by the node (e.g. reserved modes, or
cell mode for packet nodes).
5. Packets accepted by the host because of the destination
should be discarded at the upper level if there is CRC error
6. Control messages are point to point between neighbors
should always be accepted and stripped
Tsiang & Suwala Informational [Page 25]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
7. Packets whose source address is that of the receiving
and whose ring_id matches should be stripped. If a node is
wrap then ignore the ring_id
FIGURE 16. SRP Receive Flowchart (Packet node
if (MODE == 4,5)-------------------------------->[to host]--->|
| |
v |
if (MODE == 6)---------------------------------->[strip]----->|
| |
v |
if (!WRAPPED |
& WRONG_RING_ID)-------------------------------------------|--->|
| | |
v | |
if (MODE == 0,1,2,3)------------------------------------------|--->|
| | |
v | |
if (DA MATCH)--------------->if !(SA MATCH)----->[to host]--->| |
| | | |
| v | |
| if (unicast)------->[to host]--->| |
| | | |
| v | |
if (SA MATCH)-------------------->[strip]-------------------->| |
| | |
| |
|--------------------------->|<-----------------------|----|
| |
v |
if (ttl < 2)------->[strip]----->|
| |
v |
[decrement ttl] |
| |
[fwd pkt to tb] |
|
|<-----------------------|
[back to top
Notes: Host is responsible for discarding CRC errored packets
Conditionals (if statements) branch to the right if
and branch down if false
Tsiang & Suwala Informational [Page 26]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
5.1. Transmission and forwarding with
A node can transmit four types of packets
1. High priority packets from the high priority
buffer
2. Low priority packets from the low priority transit buffer
3. High priority packets from the host Tx high priority fifo
4. Low priority packets from the host Tx low priority fifo
High priority packets from the transit buffer are always sent first
High priority packets from the host are sent as long as the
priority transit buffer is not full. Low priority packets are
as long as the transit buffer has not crossed the low
threshold and the SRP-fa rules allow it (my_usage < allowed_usage).
If nothing else can be sent, low priority packets from the
priority transit buffer are sent
This decision tree is shown in Figure 17.
Tsiang & Suwala Informational [Page 27]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
FIGURE 17. SRP transmit
if (TB_High has pkt)----------->[send pkt from TB_high]-->|
| |
v |
if (TB_Low full)------------------------------------------|---->|
| | |
v | |
if (Tx_High has pkt)----------->[send pkt from Tx_high]-->| |
| | |
v | |
if (TB_Low > Hi threshold)--------------------------------|---->|
| | |
v | |
if (my_usage >= allowed_usage)----------------------------|---->|
| | |
v | |
if (Tx_Low has pkt)------------>[send pkt from Tx_low]--->| |
| | |
| |
|<------------------------------------------------|-----|
| |
v |
if (TB_Low has pkt)------------>[send pkt from TB_low]--->|
|
|<------------------------------------------------|
|
[Go to Top
Notes: Conditionals (if statements) branch to the right if
and branch down if false
5.2. Wrapping of
Normally, transmitted data is sent on the same ring to the
neighbor. However, if a node is in the wrapped state,
data is sent on the opposite ring to the upstream neighbor
6. SRP-fa Rules Of
The SRP-fa governs access to the ring. The SRP-fa only applies
low priority traffic. High priority traffic does not follow SRP-
rules and may be transmitted at any time as long as there
sufficient transit buffer space
Tsiang & Suwala Informational [Page 28]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
The SRP-fa requires three counters which control the
forwarded and sourced on the SRP ring. The counters are my_
(tracks the amount of traffic sourced on the ring), forward_
(amount of traffic forwarded on to the ring from sources other
the host) and allowed_usage (the current maximum transmit usage
that node).
With no congestion all nodes build up allowed usage periodically
Each node can send up to max_usage. Max_usage is a per
parameter than limits the maximum amount of low priority traffic
node can send
When a node sees congestion it starts to advertise its my_usage
has been low pass filtered (lp_my_usage).
Congestion is measured by the transit buffer depth crossing
congestion threshold
A node that receives a non-null usage message (rcvd_usage) will
its allowed usage to the value advertised. However, if the source
the rcvd_usage is the same node that received it then the rcvd_
shall be treated as a null value. When comparing the rcvd_
source address the ring ID of the usage packet must match
receiver's ring ID in order to qualify as a valid compare.
exception is if the receive node is in the wrap state in which
the usage packet's ring ID is ignored
Nodes that are not congested and that receive a non-null rcvd_
generally propagate rcvd_usage to their upstream neighbor
propagate a null value of usage (all 1's). The exception is when
opportunity for local reuse is detected. Additional spatial
(local reuse) is achieved by comparing the forwarded rate (low
filtered) to allow_usage. If the forwarded rate is less than
allowed usage, then a null value is propagated to the
neighbor
Nodes that are congested propagate the smaller of lp_my_usage
rcvd_usage
Convergence is dependent upon number of nodes and distance
Simulation has shown simulation convergence within 100 msec for
of several hundred miles
Tsiang & Suwala Informational [Page 29]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
6.1. SRP-fa pseudo-
A more precise definition of the fairness algorithm is shown below
Variables
lo_tb_depth low priority transit buffer
my_usage count of octets transmitted by
lp_my_usage my_usage run through a low pass
my_usage_ok flag indicating that host is allowed to
allow_usage the fair amount each node is allowed to
fwd_rate count of octets forwarded from
lp_fwd_rate fwd_rate run through a low pass
congested node cannot transmit host traffic without the TB
filling beyond its congestion threshold point
rev_usage the usage value passed along to the upstream
Constants
MAX_ALLOWANCE = configurable value for max allowed usage for this
DECAY_INTERVAL = 8000 octet times @ OC-12, 32,000 octet times @ OC-48
AGECOEFF = 4 // Aging coeff for my_usage and fwd_
LP_FWD = 64 // Low pass filter for fwd_
LP_MU = 512 // Low pass filter for my
LP_ALLOW = 64 // Low pass filter for allow usage auto
NULL_RCVD_INFO = All 1's in rcvd_usage
TB_LO_THRESHOLD // TB depth at which no more lo-prio host
// can be
MAX_LRATE = AGECOEFF * DECAY_INTERVAL = 128,000 for OC-48, 32000
OC-12
Tsiang & Suwala Informational [Page 30]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
THESE ARE UPDATED EVERY CLOCK CYCLE
=====================================
my_usage is incremented by 1 for every octet that
transmitted by the host (does not include
transmitted from the Transit Buffer).
fwd_rate is incremented by 1 for every octet that enters
Transit
if ((my_usage < allow_usage) &&
!((lo_tb_depth > 0) && (fwd_rate < my_usage)) &&
(my_usage < MAX_ALLOWANCE))
// true means OK to send host
my_usage_ok = true
UPDATED WHEN USAGE_PKT IS RECEIVED
===================================
if (usage_pkt.SA == my_SA) &&
[(usage_pkt.RI == my_RingID) || (node_state == wrapped)]
rcvd_usage = NULL_RCVD_INFO
rcvd_usage = usage_pkt.usage
THE FOLLOWING IS CALCULATED EVERY DECAY_INTERVAL
==================================================
congested = (lo_tb_depth > TB_LO_THRESHOLD/2)
lp_my_usage = ((LP_MU-1) * lp_my_usage + my_usage) / LP_
my_usage is decremented by min(allow_usage/AGECOEFF, my_usage/AGECOEFF
lp_fwd_rate = ((LP_FWD-1) * lp_fwd_rate + fwd_rate) / LP_
fwd_rate is decremented by fwd_rate/
(Note: lp values must be calculated prior to decrement of non-
values).
if (rcvd_usage != NULL_RCVD_INFO
allow_usage = rcvd_usage
allow_usage += (MAX_LRATE - allow_usage) / (LP_ALLOW);
Tsiang & Suwala Informational [Page 31]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
if (congested
{
if (lp_my_usage < rcvd_usage
rev_usage = lp_my_usage
rev_usage = rcvd_usage
}
else if ((rcvd_usage != NULL_RCVD_INFO) &&
(lp_fwd_rate > allow_usage
rev_usage = rcvd_usage
rev_usage = NULL_RCVD_
if (rev_usage > MAX_LRATE
rev_usage = NULL_RCVD_INFO
6.2. Threshold
The low priority transit buffer (TB_LO_THRESHOLD) is currently
to about 4.4 msec or 320 KB at OC12 rates. The TB_HI_THRESHOLD
set to about 870 usec higher than the TB_LO_THRESHOLD or at 458 KB
OC12 rates
The high priority transit buffer needs to hold 2 to 3 MTUs or
30KB
7. SRP
Each node operates in "free-run" mode. That is, the receive clock
derived from the incoming receive stream while the transmit clock
derived from a local oscillator. This eliminates the need
expensive clock synchronization as required in existing
networks. Differences in clock frequency are accommodated
inserting a small amount of idle bandwidth at each nodes output
The clock source for the transmit clock shall be selected to
by no more than 20 ppm from the center frequency. The
outgoing rate of the node shall be rate shaped to accommodate
worst case difference between receive and transmit clocks of
nodes. This works as follows
A transit buffer slip count (tb_cnt) keeps track of the amount
octets inserted into the TB minus the amount of octets
and is a positive integer
Tsiang & Suwala Informational [Page 32]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
To account for a startup condition where a packet is being
into an empty TB and the node was otherwise idle the tb_cnt is
if the transmit interface is idle. Idle is defined as no data
sent even though there is opportunity to send (i.e. the
interface is not prohibited from transmitting by the physical layer).
An interval counter defines the sample period over which rate
is performed. This number should be sufficiently large to get
accurate rate shaping
A token_bucket counter implements the rate shaping and is a
integer. We increment this counter by one of two fixed values
quantums each sample period. Quantum1 sets the rate at (Line_rate -
Delta) where delta is the clock inaccuracy we want to accommodate
Quantum2 sets the rate at (Line_rate + Delta). If at the
of a sample period, tb_cnt >= sync_threshold, then we set the rate
Quantum2. This will allow us to catch up and causes the TB slip
to eventually go < sync_threshold. If tb_cnt is < sync_
then we set the rate to Quantum1.
When the input rate and output rates are exactly equal, the tb_
will vary between sync_threshold > tb_cnt >= 0. This will vary
each implementation dependent upon the burst latencies of the design
The sync_threshold value should be set so that for equal transmit
receive clock rates, the transmit data rate is always Line_rate-
and will be implementation dependent
The token_bucket is decremented each time data is transmitted.
token_bucket reaches a value <= 0, a halt_transmit flag is
which halts further transmission of data (halting occurs on a
boundary of course which can cause token_bucket to become a
number).
7.1. SRP Synchronization
Assume an interval of 2^^18 or 262144 clock cycles. A Quantum1
must be picked such that the data rate will = (LINE_RATE - DELTA).
Quantum2 value must be picked and used if the tb_cnt shows that
incoming rate is greater than the outgoing rate and is = (LINE_RATE +
DELTA). Assume that the source of the incoming and outgoing
clocks are +/- 100 ppm
For an OC12c SPE rate of 600 Mbps and a system clock rate of 800
(16 bits @ 50 Mhz). The system clock rate is the rate at which
system transmits bytes to the framer (in most cases the
transmit rate is asynchronous from the rate at which the
transfers data to the framer).
Tsiang & Suwala Informational [Page 33]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
Quantum1/Interval * 800 Mbps = 600 Mbps(1 - Delta
Quantum1 = Interval * (600/800) * (1 - Delta
Quantum1 = Interval * (600/800) * (1 - 1e-4) = 196588
Quantum2/Interval * 800 Mbps = 600 Mbps(1 + Delta
Quantum2 = Interval * (600/800) * (1 + Delta
Quantum2 = Interval * (600/800) * (1 + 1e-4) = 196628
Note: The actual data rate for OC-12c is 599.04 Mbps
8. IPS Protocol
An SRP ring is composed of two counter-rotating, single fiber rings
If an equipment or fiber facility failure is detected, traffic
towards and from the failure direction is wrapped (looped) back to
in the opposite direction on the other ring. The wrap around
place on the nodes adjacent to the failure, under software control
This way the traffic is re-routed from the failed span
Nodes communicate between themselves using IPS signaling on
inner and outer ring
The IPS octet contains specific protection information. The format
the IPS octet is as follows
FIGURE 18. IPS Octet format
0-3 IPS Request
1101 - Forced Switch (FS
1011 - Signal Fail (SF
1000 - Signal Degrade (SD
0110 - Manual Switch (MS
0101 - Wait to Restore (WTR
0000 - No Request (IDLE
4 Path
0 - short (S
1 - long (L
5-7 Status
010 - Protection Switch Completed -traffic Wrapped (W
000 - Idle (I
Tsiang & Suwala Informational [Page 34]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
The IPS control messages are shown in this document as
{REQUEST_TYPE, SOURCE_ADDRESS, WRAP_STATUS, PATH_INDICATOR
8.1. The IPS Request
The following is a list of the request types, from the highest to
lowest priority. All requests are signaled using IPS
messages
1. Forced Switch (FS - operator originated
This command performs the ring switch from the working
to the protection, wrapping the traffic on the node at
the command is issued and at the adjacent node to which
command is destined. Used for example to add another node
the ring in a controlled fashion
2. Signal Fail (SF - automatic
Protection caused by a media "hard failure" or SRP keep-
failure. SONET examples of SF triggers are: Loss of
(LOS), Loss of Frame (LOF), Line Bit Error Rate (BER) above
preselected SF threshold, Line Alarm Indication Signal (AIS).
Note that the SRP keep-alive failure provides end-to-
coverage and as a result SONET Path triggers are not necessary
3. Signal Degrade (SD - automatic
Protection caused by a media "soft failure". SONET example of
SD is Line BER or Path BER above a preselected SD threshold
4. Manual Switch (MS - operator originated
Like the FS, but of lower priority. Can be used for example
take down the WTR
5. Wait to Restore (WTR - automatic
Entered after the working channel meets the
threshold after an SD or SF condition disappears. IPS waits
timeout before restoring traffic in order to prevent
switch oscillations
Tsiang & Suwala Informational [Page 35]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
8.2. SRP IPS Protocol
Each node in the IPS protocol is in one of the following states
each of the rings
8.2.1.
In this mode the node is ready to perform the protection switches
it sends to both neighboring nodes "idle" IPS messages, which
"self" in the source address field {IDLE, SELF, I, S
8.2.2. Pass-
Node participates in a protection switch by passing the
traffic and long path signaling through itself. This state is
based on received IPS messages. If a long path message with not
request is received and if the node does not strip the message (
Protocol Rules for stripping conditions) the node decrements the
and retransmits the message without modification. Sending of
Idle messages is stopped in the direction in which the message
not null request is forwarded
8.2.3.
Node participates in a protection switch with a wrap present.
state is entered based on a protection request issued locally
based on received IPS messages
8.3. IPS Protocol
8.3.1. SRP IPS Packet Transfer
R T.1:
IPS packets are transferred in a store and forward mode
adjacent nodes (packets do not travel more than 1 hop between
at a time). Received packet (payload portion) is passed to
based on interrupts
R T.2:
All IPS messages are sent to the neighboring nodes periodically
both inner and outer rings. The timeout period is configurable 1-600
sec (default 1 sec). It is desirable (but not required) that
timeout is automatically decreased by a factor of 10 for the
path protection requests
Tsiang & Suwala Informational [Page 36]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
8.3.2. SRP IPS Signaling and Wrapping
R S.1:
IPS signaling is performed using IPS control packets as defined
Figure 14 "IPS Packet Format".
R S.2:
Node executing a local request signals the protection request on
short (across the failed span) and long (around the ring) paths
performing the wrap
R S.3:
Node executing a short path protection request signals an
request with wrapped status on the short (across the failed span
path and a protection request on the long (around the ring)
after performing the wrap
R S.4:
A node which is neither executing a local request nor executing
short path request signals IDLE messages to its neighbors on the
if there is no long path message passing through the node on
ring
R S.5:
Protection IPS packets are never wrapped
R S.6:
If the protocol calls for sending both short and long path
on the same span (for example if a node has all fibers disconnected),
only the short path request should be sent
R S.7:
A node wraps and unwraps only on a local request or on a short
request. A node never wraps or unwraps as a result of a long
request. Long path requests are used only to maintain
hierarchy. (Since the long path requests do not trigger protection
there is no need for destination addresses and no need for
maps
Tsiang & Suwala Informational [Page 37]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
In Figure 19, Node A detects SF (local request/ self-
request) on the span between Node A and Node B and starts
{SF, A, W, S} on the outer ring and {SF, A, W, L} on the inner ring
Node B receives the protection request from Node A (short
request) and starts sourcing {IDLE, B, W, S} on the inner ring
{SF, B, W, L} on the outer ring
FIGURE 19. SRP IPS
{SF,A,W,S
-------------------------------
| -----X--------------------- |
| | fiber | |
| v cut {IDLE,B,W,S}|
----- -----
| A | | B |
| | | |
----- -----
^ | {SF,A,W,L} i ^ | o {SF,B,W,L
| | n | |
| | n | |
| | e | |
| v r | v
8.4. SRP IPS Protocol
R P.1:
Protection Request Hierarchy is as follows (Highest priority to
lowest priority). In general a higher priority request preempts
lower priority request within the ring with exceptions noted
rules. The 4 bit values below correspond to the REQUEST_TYPE field
the IPS packet
1101 - Forced Switch (FS
1011 - Signal Fail (SF
1000 - Signal Degrade (SD
0110 - Manual Switch (MS
0101 - Wait to Restore (WTR
0000 - No Request (IDLE): Lowest
R P.2:
Requests >= SF can coexist
Tsiang & Suwala Informational [Page 38]
RFC 2892 The Cisco SRP MAC Layer Protocol August 2000
R P.3:
Requests < SF can not coexist with other requests
R P.4:
A node always honors the highest of {short path request,
detected request} if there is no higher long path message
through the node
R P.5:
When there are more requests of priority < SF, the first request
complete long path signaling will take priority
R P.6:
A Node never forwards an IPS packet received by it which
originally generated by the node itself (it has the node's
address).
R P.7:
Nodes never forward packets with the PATH_INDICATOR set to SHORT
R P.8:
When a node receives a long path request and the request is >= to
highest of {short path request, self detected request}, the
checks the message to determine if the message is coming from
neighbor on the short path. If that is the case then it does
enter pass-thru and it strips the message
R P.9:
When a node receives a long path request, it strips (terminates)
request if it is a wrapped node with a request >= than that in
request; otherwise it passes it through and unwraps
R P.10:
Each node keeps track of the