# Spatial Reuse Protocol

Spatial Reuse Protocol is a networking protocol developed by Cisco. It is a link layer protocol for ring-based packet internetworking that is commonly used in optical fiber ring networks. Ideas from the protocol are reflected in parts of the IEEE 802.17 Resilient Packet Ring (RPR) standard.

## Introduction

SRP was first developed as a data-link layer protocol to link Cisco's Dynamic Packet Transport (DPT) protocol (a method of delivering packet-based traffic over a SONET/SDH infrastructure) to the physical SONET/SDH layer. DPT cannot communicate directly with the physical layer, therefore it was necessary to develop an intermediate layer between DPT and SONET/SDH, SRP filled this role.

## Analogy to POS

SRP behaves quite like the Point-to-Point Protocol (PPP) does in a Packet Over SONET (POS) environment. PPP acts as an abstraction layer between a higher level layer 2 technology such as POS and a layer 1 technology such as SONET/SDH. Layer 1 and high level layer 2 protocols cannot interact directly without having an intermediate low level layer 2 protocol, in the case of DPT the layer 2 protocol is SRP.

## Spatial reuse capability

DPT environments contain dual, counter-rotating rings, somewhat like FDDI. SRP has a unique bandwidth efficiency mechanism which allows multiple nodes on the ring to utilize the entirety of its bandwidth, this mechanism is called the Spatial Reuse Capability. Nodes in an SRP environment can send data directly from source to destination. Consider the following environment: a ring with 6 routers (A through F sequentially) operating at OC-48c speed (2.5 Gbit/s). Routers A and D are sending data back and forth at 1.5 Gbit/s while routers B and C are sending data at 1 Gbit/s, this utilizes the entire 2.5 Gbit/s across routers A through D but still leaves routers F and E untouched. This means that routers F and E can be sending data at 2.5 Gbit/s between each other concurrently, resulting in the total throughput of the ring being 5 Gbit/s. The reason for this is the implementation of a method called "destination stripping". Destination stripping means that the destination of the data removes it from the ring network, this differs from "source stripping" in that the data is only present on the section of network between the source and destination nodes. In source stripping, the data is present all the way around the ring and is removed by the source node. FDDI and Token Ring networks use source stripping, whereas DPT and SRP use destination stripping. Again, consider the previous example of the OC-48c ring. In a source stripping (FDDI or Token Ring) environment, in the event that router A wanted to communicate with router D, the entire network would be taken up while the data was being transmitted because it would have to wait until it completed the loop and got back to router A before it was eliminated. In a destination stripping (DPT and SRP) environment, the data would only be present between router A and Router D and the rest of the network would be free to communicate.

## SRP header

The SRP header is 16 bits (2 bytes) total. It contains 5 fields. These fields are as follows: Time to Live (TTL), Ring Identifier (R), Priority (PRI), Mode, and Parity (P). The TTL field is 8 bits, its only metric is hop count. The R field is 1 bit (either 0 or 1 designating the inner or outer ring). The PRI field is 3 bits designating the packet priority. The Mode field is 3 bits designating what type of data is contained in the payload. The P field is 1 bit.
SRP header :
| Offsets | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 0 | TTL | TTL | TTL | TTL | TTL | TTL | TTL | TTL | R | PRI | PRI | PRI | Mode | Mode | Mode | P |