Post on 20-Dec-2015
Spatial Reuse Ring Spatial Reuse Ring NetworksNetworks
Chun-Hung ChenChun-Hung ChenDepartment of Computer Science and Information Department of Computer Science and Information
EngineeringEngineeringNational Taipei University of TechnologyNational Taipei University of Technology
2003.10.242003.10.24
OutlinesOutlines
Ring NetworksRing Networks Spatial ReuseSpatial Reuse Spatial Reuse ProtocolSpatial Reuse Protocol Resilient Packet RingResilient Packet Ring
Ring NetworksRing Networks
All nodes chained in a loop is called a ringAll nodes chained in a loop is called a ring Data flow in one directionData flow in one direction Suitable for Backbone ConnectionSuitable for Backbone Connection Bandwidth is increased with more ringsBandwidth is increased with more rings Two types of ringTwo types of ring
Token ringToken ring Slotted ringSlotted ring
Token RingToken Ring1
2
3
4
Slotted RingSlotted Ring
Sense
Spatial ReuseSpatial Reuse
Destination Stripping MechanismDestination Stripping Mechanism Node B has the right to transmit dataNode B has the right to transmit data Node B transmits data to Node DNode B transmits data to Node D Node D receives data and strip dataNode D receives data and strip data If Node D has data to send out, Node D sends it If Node D has data to send out, Node D sends it
immediately or Node D will leave it free for other immediately or Node D will leave it free for other nodes to send data, ex: Node E-> Node A-> …nodes to send data, ex: Node E-> Node A-> …
While multicast, packets are source strippedWhile multicast, packets are source stripped ProblemsProblems
Fairness issueFairness issue StarvationStarvation
Fairness IssueFairness Issue
If Node C is the hot switch in the If Node C is the hot switch in the networks and Node A, D both networks and Node A, D both have lots of packets to Node Chave lots of packets to Node C
1.1. Node A sends a packet to Node CNode A sends a packet to Node C
2.2. Node C strips a packet and has Node C strips a packet and has no packet to sendno packet to send
3.3. Node D has a packet for Node C, Node D has a packet for Node C, and once Node D senses free and once Node D senses free media, it sends it out immediatelymedia, it sends it out immediately
4.4. Node C strips a packet and has Node C strips a packet and has no packet to sendno packet to send
5.5. Node D has no packet to send at Node D has no packet to send at the timethe time
6.6. Node A has a packet for Node C, Node A has a packet for Node C, and once Node A senses free and once Node A senses free media, it sends it out immediatelymedia, it sends it out immediately
Node B
Node C
Node A
Node D
Spatial Reuse Protocol (SRP)Spatial Reuse Protocol (SRP)
Developed by CiscoDeveloped by Cisco SRP is the underlying technology used in SRP is the underlying technology used in
Cisco Dynamic Packet Transport (DPT) Cisco Dynamic Packet Transport (DPT) which is optimized for packet-based which is optimized for packet-based optical transportoptical transport
SRP BackgroundSRP Background
Bidirectional Dual Counter-rotation ringBidirectional Dual Counter-rotation ring ““Inner” and “Outer” RingsInner” and “Outer” Rings
Both rings are utilized for transporting data Both rings are utilized for transporting data and SRP control packetsand SRP control packets
SRP control packets:SRP control packets: Topology DiscoveryTopology Discovery Protection SwitchingProtection Switching Bandwidth ControlBandwidth Control
Spatial ReuseSpatial Reuse
Node C has full bandwidth access to Node D, while Node B to Node A and Node C to Node A are sharing the bandwidth
Receive-Side Packet HandlingReceive-Side Packet Handling
StrippedStripped Received and StrippedReceived and Stripped Received and ForwardedReceived and Forwarded Forwarded (data packets)Forwarded (data packets) WrappedWrapped Pass Through (control packets)Pass Through (control packets)
SRP Fairness Algorithm (SRP-fa)SRP Fairness Algorithm (SRP-fa)
Global FairnessGlobal Fairness Each node controls the rate of forwarding Each node controls the rate of forwarding
packets for upstream or downstream nodes in packets for upstream or downstream nodes in relations to packets sourced by itselfrelations to packets sourced by itself
Local OptimizationLocal Optimization Maximally leverage spatial reuse properties to Maximally leverage spatial reuse properties to
utilize more than their fair share utilize more than their fair share ScalabilityScalability
Rapidly adapt to changing traffic conditionsRapidly adapt to changing traffic conditions
For each node, there are three types of packet:For each node, there are three types of packet: High-Priority PacketsHigh-Priority Packets
Put in High-Priority Transit BufferPut in High-Priority Transit Buffer Low-Priority PacketsLow-Priority Packets
Put in Low-Priority Transit Buffer (LPTB)Put in Low-Priority Transit Buffer (LPTB) Self-Generated PacketsSelf-Generated Packets
Put in High (Low)-Priority Transmit QueuePut in High (Low)-Priority Transmit Queue
Packet Priority in NodesPacket Priority in Nodes High-Priority Transit BufferHigh-Priority Transit Buffer High-Priority Transmit QueueHigh-Priority Transmit Queue Low-Priority Transit BufferLow-Priority Transit Buffer Low-Priority Transmit QueueLow-Priority Transmit Queue
Packet delivery orderPacket delivery order High-Priority Forwarded Packets are sent firstHigh-Priority Forwarded Packets are sent first High-Priority Generated Packets are sent if thHigh-Priority Generated Packets are sent if th
e LPTB is not fulle LPTB is not full Low-Priority Forwarded Packets are sent with Low-Priority Forwarded Packets are sent with
Forward RateForward Rate Low-Priority Generated Packets are sent if LPLow-Priority Generated Packets are sent if LP
TB is not crossed the low-priority threshold anTB is not crossed the low-priority threshold and SRP-fa rules allow itd SRP-fa rules allow it my_usage < allow_usagemy_usage < allow_usage
Updated every clock cycleUpdated every clock cycle
my_usage (bytes) is increased as the generated low-priomy_usage (bytes) is increased as the generated low-priority packet inserted in the ringrity packet inserted in the ring
fwd_rate (bytes) is increased as the forwarded low-prioritfwd_rate (bytes) is increased as the forwarded low-priority packet inserted in the ringy packet inserted in the ring
my_usage should be smaller than allow_usage & MAX_my_usage should be smaller than allow_usage & MAX_USAGE and fwd_rate is larger than my_usage or LPTB iUSAGE and fwd_rate is larger than my_usage or LPTB is empty, the host is permitted to send its packetss empty, the host is permitted to send its packets
Calculated every Calculated every DECAY_INTERVALDECAY_INTERVAL
DECAY_INTERVAL = 8000 bytes for OC-12s/STM-4; 32000 bytes for OC-48s/STM-16DECAY_INTERVAL = 8000 bytes for OC-12s/STM-4; 32000 bytes for OC-48s/STM-16 AGECOEFF = 4AGECOEFF = 4 LP_MY_USAGE = 512LP_MY_USAGE = 512 LP_FWD_RATE = 64LP_FWD_RATE = 64 LP_ALLOW = 64LP_ALLOW = 64 MAX_LINE_RATE = AGECOEFF * DECAY_INTERVALMAX_LINE_RATE = AGECOEFF * DECAY_INTERVAL
If LPTB is larger than ½ THRESHOLD, then it is congested
If receiving not NULL usage packet, allow_usage is set to usage packet, otherwise, allow_usage is increased
8000 bytes * 8 = 64000 bits = 6.4 MbOC-12 = 51.84*12 = 622.08 (Mbps) => (6.4) / (622.08) = 0.0103 (sec)32000 bytes * 8 = 256000 bits = 25.6 MbOC-48 = 51.84*48 = 2488.32 (Mbps) => (25.6) / (2488.32) = 0.0103 (sec)
When congestedWhen congested
If lp_my_usage > received_usage (smaller is set to advertise usage packet)If lp_my_usage > received_usage (smaller is set to advertise usage packet) advertise usage packet is set to received_usageadvertise usage packet is set to received_usage
If not congestedIf not congested
If received_usage is not NULLIf received_usage is not NULL Advertise usage packet is set to received_usageAdvertise usage packet is set to received_usage
OtherwiseOtherwise Advertise usage packet is NULLAdvertise usage packet is NULL
SRP-fa ProcedureSRP-fa Procedure
Extract usage information from incoming packetsExtract usage information from incoming packets Periodically update the allow_usage threshold bPeriodically update the allow_usage threshold b
ased on the received fairness value as well as pased on the received fairness value as well as parameter agingarameter aging
Calculate the SRP-fa signaling information to seCalculate the SRP-fa signaling information to send in the usage field by using the values of the and in the usage field by using the values of the allow_usage, fwd_rate and my_usage parameter.llow_usage, fwd_rate and my_usage parameter.
Send fairness message to upstream neighborSend fairness message to upstream neighbor
SRP-fa SimulationSRP-fa Simulation
Node 4 starts to send packets Node 4 starts to send packets to Node 1 via outer ring at 1 to Node 1 via outer ring at 1 secondsecond
Node 3 starts to send packets Node 3 starts to send packets to Node 1 via outer ring at 2 to Node 1 via outer ring at 2 secondsecond
Node 2 starts to send packets Node 2 starts to send packets to Node 1 via outer ring at 3 to Node 1 via outer ring at 3 secondsecond
SRP-fa SimulationSRP-fa Simulation Node 4 sends traffic at full speed Node 4 sends traffic at full speed
during 1~2 secondsduring 1~2 seconds Node 3 wants to send traffic at 2 Node 3 wants to send traffic at 2
second, then Node 3 sends a fairness second, then Node 3 sends a fairness (usage) packet to Node 4(usage) packet to Node 4
Node 4 slows down its transmitting Node 4 slows down its transmitting raterate
Node 3 starts to send traffic and the Node 3 starts to send traffic and the bandwidth is shared by Node 3 and bandwidth is shared by Node 3 and Node 4Node 4
Node 2 wants to send traffic at 3 Node 2 wants to send traffic at 3 second, then Node 2 sends a fairness second, then Node 2 sends a fairness (usage) packet to Node 3 and Node 4(usage) packet to Node 3 and Node 4
Node 3 and Node 4 slow down its Node 3 and Node 4 slow down its transmitting ratetransmitting rate
Node 2 starts to send traffic and the Node 2 starts to send traffic and the bandwidth is shared by Node 2, Node bandwidth is shared by Node 2, Node 3 and Node 43 and Node 4
Intelligent Protection Switching Intelligent Protection Switching (IPS)(IPS)
IPS provides SRP rings with powerful self-healing IPS provides SRP rings with powerful self-healing capabilities that allow them to automatically recover from capabilities that allow them to automatically recover from fiber facility or node failure by wrapping the traffic on the fiber facility or node failure by wrapping the traffic on the failed spanfailed span Proactive fault and performance monitoring, and event detection Proactive fault and performance monitoring, and event detection
and reportingand reporting Signal processing and propagation to communicate information Signal processing and propagation to communicate information
on detected faults and fault clearanceson detected faults and fault clearances Topological knowledge independenceTopological knowledge independence
Network operator may add or remover nodes from the ringsNetwork operator may add or remover nodes from the rings Ring wrapping to by-pass failed fiber facility or nodes while Ring wrapping to by-pass failed fiber facility or nodes while
delivering packets to the intended destinationdelivering packets to the intended destination Protection switching is transparent to Layer 3Protection switching is transparent to Layer 3
Protection switching event hierarchyProtection switching event hierarchy Handling of concurrent multiple eventsHandling of concurrent multiple events
Procedures which minimize IPS-related signaling traffic under Procedures which minimize IPS-related signaling traffic under normal conditionsnormal conditions
IPS Request TypeIPS Request Type
Automatic requestAutomatic request Signal Fail (SF) 2Signal Fail (SF) 2 Signal Degrade (SD) 3Signal Degrade (SD) 3 Wait-to-Restore (WTR) 5Wait-to-Restore (WTR) 5
Manual requestManual request Forced Switch (FS) 1Forced Switch (FS) 1 Manual Switch (MS) 4Manual Switch (MS) 4
Path IndicatorPath Indicator Short Path IPS Messages: one-hop awayShort Path IPS Messages: one-hop away Long Path IPS Messages: sent around the ringLong Path IPS Messages: sent around the ring
Thank youThank you