1 / 60

Resilient Packet Ring

Resilient Packet Ring. Chun-Hung Chen 2004.02.13 NTUT. Outline. RPR Introduction Key Features Structure MAC Bandwidth Allocation Fairness Queuing Protection Topology Discovery Transparent Bridging Conclusions. RPR Introduction.

leblancd
Download Presentation

Resilient Packet Ring

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Resilient Packet Ring Chun-Hung Chen 2004.02.13 NTUT

  2. Outline • RPR Introduction • Key Features • Structure • MAC • Bandwidth Allocation • Fairness • Queuing • Protection • Topology Discovery • Transparent Bridging • Conclusions

  3. RPR Introduction • Packet based ring network for Metropolitan Area Networks (MANs) • Towards to IEEE Standard, IEEE P802.17 • Based on Cisco Spatial Reuse Protocol • Support up to 255 station attachments • Optimized for rings with maximum circumference of 2000 kilometers

  4. SONET in MAN • SONET is designed for point-to-point, circuit-switched applications • Fixed Circuits • Wasted Bandwidth for Meshing • Multicast Traffic • Wasted Protected Bandwidth

  5. Ethernet in MAN • Ethernet over a ring • Make efficient use of available bandwidth • Far simpler and inexpensive solution for data • Optimized for point-to-point or meshed topologies • Disadvantage • Not take advantage of ring topology to implement fast protection mechanism • Spanning tree protocol runs comparatively slow • No global fairness policy

  6. Key Features • Addressing • Unicast, Multicast, Broadcast • Services • Committed • Ensured • Opportunistic • Efficient • Concurrence • Reallocated • Reclaimed • Reused

  7. Fairness • Weighted • Simple • Detailed • Plug-and-Play • Robust • Responsive • Lossless • Tolerant • OAM

  8. RPR Layer Model

  9. Ring Structure • Dual ringlets with unidirectional, counter-rotating • Connection between adjacent stations is a link • Composed of unidirectional links transmitting in opposite directions is a span • A set of contiguous stations affected by a common fairness choke point is a congestion domain

  10. Station Structure • Station is composed of one client entity, one MAC entity and two PHY entities • PHY is associated with a span shared with neighboring station • MAC entity contains one MAC control entity and two MAC datapath entities, each of which is associated with a ringlet • PHY transmitting on ringlet0 and receiving on ringlet1 is East PHY, reversely as West PHY

  11. Addressing • Unicast • Multicast • Broadcast

  12. Service • Committed • Guarantees bandwidth with a low circumference-independent jitter. Class A traffic has committed server qualities • Ensured • Guarantees bandwidth with a bounded circumference-dependent jitter. Class B committed information rate (CIR) traffic has ensured qualities • Opportunistic • Provides best-effort services. Class B excess information rate (EIR) and Class C traffic have opportunistic qualities

  13. Service Class • classA • Allocated, guaranteed data rate, low end-to-end delay, and jitter bound • subclassA0 for reserved bandwidth • subclassA1 for reclaimable bandwidth • The allocation, advertisement, and shaping of allocated bandwidth is done on a per-link, per-ringlet basis • classB • Allocated, guaranteed data rate, bounded end-to-end delay, jitter for the traffic within the allocated rate, access to additional best effort data transmission that is not allocated, guaranteed, or bounded • classC • Best-effort traffic service with no allocated or guaranteed data rate and no bounds on end-to-end delay or jitter

  14. Ring capacity has to be assured to support classA and in-profile classB service guarantees. The communication of allocation information must be phased so as to not to create a case where transitioning allocation levels temporarily cause cumulative allocations to exceed the link capacity. This service provisioning mechanism is not discussed in the standard

  15. subclassA0 & A1

  16. Efficient • Concurrent • Transmit on the same segment with different ringlet • Reallocated • Allocated bandwidth can be independently committed on non-overlapping segments • Reclaimed • Unused guaranteed bandwidth can be reclaimed by opportunistic services • Reused • Opportunistic bandwidths are reused on non-overlapping segments, by utilizing RPR’s concurrent transmission and destination stripping capabilities

  17. MAC Datapath • check is to determine when frames are to be stripped • transit queues hold frames received waiting to be transmitted on the same ringlet • Primary Transit Queue (PTQ) typically only a few MTUs in size • Secondary Transit Queue (STQ) is optional implementation and when it exists, it is typically much larger than PTQ

  18. Self-generated frames are transmitted from MAC-resident stage buffer to decouple MAC-to-client timings from the timings of the physical-layer interface • Flow control and prioritization protocols are applied when the frames are accepted into the stage buffer • All traffic is shaped before transmission.

  19. Traffic Shaper • Control frames are shaped to a low transmission rate to limit the jitter impact on client-supplied classA transmissions. • Client-supplied data frames are similarly shaped to ensure conformance with pre-negotiated bandwidth allocations. • Shaping involves monitoring transmitted frame bandwidths and sending {sendA, sendB, sendC} flow-control indication to the client • sendC indication provides a hop-count distance rather than start/stop indication to prevent HOL problem due to far-out congestion conditions

  20. *Shaper • a

  21. Queuing • Store-and-Forward

  22. Cut-through • NOTES: • Cut-through implementations also have to support store-and-forward, when transmission of the cut-through queue is temporarily by a conflicting transmission or blocking flow-control indication • If the output rate of the cut-through transit queue is faster than the input rate of this transit queue, then buffering of the header also provides buffering to avoid overrun conditions

  23. Single Queue

  24. *Frame Priority in Single Queue • Idle Frame • Transit Frame(PTQ) while PTQ is full • Control Frame • Transit Frame • Transmit Frame

  25. Double Queue

  26. *Frame Priority in Dual Queue • Idle Frame • Transit Frame(PTQ) while PTQ is full • Transit Frame(PTQ) while STQ is full • Transit Frame(STQ) • Control Frame • Transit Frame(PTQ) • Transit Frame(STQ) while STQ near full • Transmit Frame • Transit Frame(STQ)

  27. Fairness • Weighted • Weighted fair access to available ring capacity • Equaled-weighted • Unequaled-weighted • Simple • Point-of-congestion flow-control facilitates simplify per-destination queuing in client • Detailed • The (optional) multi-choke fairness allows the client to selectively throttle its transmission based on multiple congestion-point indications

  28. (un)Equal Weighted

  29. Each fairness procedures are performed independently on each ringlet. • A fairness instance is specified by the combination of the localMacAddress and the localRi • localMacAddress: Station identity • localRi: Ringlet identity • Provided information • Allowed rate • Policing indicator

  30. Allowed Rate Information

  31. A local station detecting congestion on the ringlet identifies a single downstream congestionPoint • The arc of the ringlet between the congestionPoint and the local station is fairness domain • Multiple pairs of congestionPoint and fairness domain can exist on the ringlet but any individual fairness instance has knowledge of at most a single congestionPoint.

  32. allowedRate • Local client-sourced fairness-eligible traffic can be added to the ringlet at allowedRate • Local client-sourced fairness-eligible traffic bound for destinations beyond the congestionPoint can be added to the ringlet at allowedRateCongested • Hops from local station to the congestedPoint is hopsToCongestion • If hopsToCongestion is MAX_STATIONS, it indicates the absence of downstream congestion

  33. Policing Indicator • addRateOK indicates whether the additional client-sourced fairness-eligible traffic can be accepted by the MAC • addRateCongestionOK indicates whether the additional client-sourced fairness-eligible traffic bound for destination beyond the congestionPoint can be accepted by the MAC

  34. Fairness Messaging • Single-Choke Fairness Message (SC-FCM) • Carry a rate advertisement transferred by a station to its upstream neighbor • Aware no more than one congestionPoint • Multi-Choke Fairness Message (MC-FCM) • Carry a rate report broadcast by a station to all station on the ringlet. • Aware multiple congestionPoint

  35. SC-FCM and Congestion Domain • SC-FCM carrying advertised rate information is transferred periodically from a station to its upstream neighbor • Received advertisedFairRate < FULL_RATE => downstream congestion • The set of contiguous links associated with a ringlet on which downstream congestion is detected, is known as a congestion domain

  36. Head • Receive absence of downstream congestion • Send presence of downstream congestion • Tail • Receive presence of downstream congestion • Send absence of downstream congestion • A local station within the congestion domain and lying upstream of the tail of the domain, identifies as its congestionPoint (?)

  37. Fairness Features • Independent operation of each ringlet • Control messages carried on the ringlet opposing that of the associated data flow • Control applied only to client-sourced fairness-eligible traffic (classB EIR, classC) • Fair rates associated with the source station • Ringlet capacity not explicitly allocated, treated as available capacity • Ringlet capacity explicitly allocated to subclassA1 or classB CIR, but not in use, treated as available capacity • Single transit queue and dual transit queue implementations supported

  38. Fairness Procedure • Fairness Procedure may be event-driven or performed periodically • Traffic statistic and policing • per-agingInterval (period is interval at which rates are locally computed) • per-advertismentInterval (period is interval at which rates are advertised upstream) • per-reportingInterval (period is interval at which rates are broadcast to all stations on the ringlet) • received fairness frame processing • agingInterval is not related to advertisement-Interval • reportingInterval is an integer multiple of the advertise-mentInterval • SC-FCM is saved for agingInterval and advertisement-Interval

  39. Traffic Statistic • addRate • Incremented when a fairness-eligible byte is transmitted to the ringlet from an add queue of the local station • addRateCongested • Incremented when a fairness-eligible byte bound for a station beyond congestionPoint, is transmitted to the ringlet from an add queue of the local station • fwRate • Similar to addRate but from a transit queue of the local station • fwRateCongested • Similar to addRateCongested but from a transit queue of the local station • nrXmitRate • Incremented when a byte of a frame not associated with subclassA0(i.e not-reserved) is transmitted to the ringlet from an add queue or transit queue of the local station

  40. Policing Indicator • addRateOK • addRate < allowedRate • nrXmitRate < unreservedRate • stqDepth = 0 • (fwRate > addRate) && (stqDepth < stqHighThreshold) • addRateCongestedOK • addRateOK • addRateCongested < allowedCongested

  41. Per-agingInterval • Interval Time • Rates of 622Mbps and higher • agingInterval = 100us • Rates of less than 622Mbps • agingInterval = 400us • Activities • Aging • Low-pass filter • Compute localFairRate • Compute allowed rate info

  42. Aging • addRate = (addRate * (ageCoef – 1)) / ageCoef • Low-pass filter • lpAddRate = ((lpCoef – 1) * lpAddRate + AddRate ) / lpCoef • Compute the localFairRate depending on • Configured method (CONSERVATIVE or AGGRESSIVE) • Local congestion state (CONGESTED or UNCONGESTED) • Current Local conditions associated with congestion • unreservedRate = LINK_RATE – reservedRate

  43. localFairRate CompuationAggressive • Currently congested • localFairRate = lpAddRate • Currently uncongested • UNCONGESTED • localFairRate = localFairRate • CONGESTED • localFairRate = unreservedRate

More Related