802.17 presentation - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jan2002/dvj... ·...
Transcript of 802.17 presentation - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jan2002/dvj... ·...
Data Communication DivisionCYPRESS
January 22, 2002, page 1dvj_ttl_04.pdf
802.17 presentationPrepared for 802.17, November 2001Dr. David V. JamesChief ArchitectNetwork Processing SolutionsData Communications Division110 Nortech ParkwaySan Jose, CA 95134-2307Tel: +1.408.942.2010Fax: +1.408.942.2099Base: [email protected]: [email protected]
Data Communication DivisionCYPRESS
January 22, 2002, page 2dvj_ttl_04.pdf
Frame formats
Data Communication DivisionCYPRESS
January 22, 2002, page 3dvj_ttl_04.pdf
check
payloadCRC
payload
RPR Frame Format
headerCRC
sourceMacAddressLo
sourceMacAddressHidestinationMacAddressLo
destinationMacAddressHi
wra
p
timeToLiveflo
od
ring
priorityclass depthBC format timeOfLife
Data Communication DivisionCYPRESS
January 22, 2002, page 4dvj_ttl_04.pdf
check
payloadCRC
payload
Ethernet Frame
headerCRC
sourceMacAddressLo
sourceMacAddressHidestinationMacAddressLo
destinationMacAddressHi
timeToLivepriorityclass depthBC format timeOfLife
lengthType
wra
pflo
od
ring
Data Communication DivisionCYPRESS
January 22, 2002, page 5dvj_ttl_04.pdf
check
payloadCRC
payload
Control Frame
headerCRC
sourceMacAddressLo
sourceMacAddressHidestinationMacAddressLo
destinationMacAddressHi
timeToLivepriorityclass depthBC format timeOfLife
wra
pflo
od
ring
Data Communication DivisionCYPRESS
January 22, 2002, page 6dvj_ttl_04.pdf
Control Field Functionality
Data Communication DivisionCYPRESS
January 22, 2002, page 7dvj_ttl_04.pdf
check
RPR Frame Format
headerCRC
sourceMacAddressLo
sourceMacAddressHidestinationMacAddressLo
destinationMacAddressHi
wra
p
timeToLiveflo
od
ring
priorityclass depthBC format timeOfLife
1) 32-bit aligned
(1)
2) 32-bit checksum
(2)
3) Global MAC addresses (not local)
(3)
Data Communication DivisionCYPRESS
January 22, 2002, page 8dvj_ttl_04.pdf
check
Ring&wrap flagsw
rap
timeToLiveflo
od priorityclass depthBC format timeOfLife
1a) ring=0
1b) ring=1 2a) wrap=02a) wrap=1
ring
Data Communication DivisionCYPRESS
January 22, 2002, page 9dvj_ttl_04.pdf
check
Global and local prioritiesw
rap
timeToLiveflo
od priorityclass depthBC format timeOfLifering
3) priority
4) class
Data Communication DivisionCYPRESS
January 22, 2002, page 10dvj_ttl_04.pdf
check
Robust TTL accountingw
rap
flood depthBC formatring
priorityclass
255 timeOfLife249
254253252251250
248
2 timeToLive
11111
timeOfLife timeToLive
Data Communication DivisionCYPRESS
January 22, 2002, page 11dvj_ttl_04.pdf
Source/Destination Coding
SMAC
SSID DSID
DMAC
(DSID, SSID, DMAC, SMAC)
TTL:8DMAC:48SMAC:48DSID:48SSID:48
TTL:8DSID:8SSID:8
DMAC:48SMAC:48
DSID:8SSID:8
DMAC:48SMAC:48
+12 bytes
Fixed
+2 bytes
Stable
(+1 byte)
Relative
Data Communication DivisionCYPRESS
January 22, 2002, page 12dvj_ttl_04.pdf
Ethernet Bridging
SMA
headerCRC
sourceMacAddressLo
sourceMacAddressLodestinationMacAddressLo
destinationMacAddressHi
timeToLivepriorityclass depthBC format timeOfLife
wra
pflo
od
ring
sourceMacAddressLo
sourceMacAddressHi
SSID
headerCRC
sourceMacAddressLo
sourceMacAddressHidestinationMacAddressLo
destinationMacAddressHi
timeToLivepriorityclass depthBC format timeOfLife
wra
pflo
od
ring
timeOfLife
DSID
headerCRC
sourceMacAddressLo
sourceMacAddressHidestinationMacAddressLo
destinationMacAddressHi
timeToLivepriorityclass depthBC format timeOfLife
wra
pflo
od
ring
timeToLive
DMA
headerCRC
sourceMacAddressLo
sourceMacAddressHidestinationMacAddressHi
destinationMacAddressHi
timeToLivepriorityclass depthBC format timeOfLife
wra
pflo
od
ring
destinationMacAddressLo
destinationMacAddressHi
Data Communication DivisionCYPRESS
January 22, 2002, page 13dvj_ttl_04.pdf
Control Frame Formats
Data Communication DivisionCYPRESS
January 22, 2002, page 14dvj_ttl_04.pdf
check
Discovery Frame Format
limitC
configInfostationMacAddressLo
stationMacAddressHi
entry[n+1]-to-entry[N-1]
checkC
entry[0]-to-entry[n-1]
Data Communication DivisionCYPRESS
January 22, 2002, page 15dvj_ttl_04.pdf
check
Survey Frame Format
fractionCfractionB
fractionA0
entry[n+1]-to-entry[N-1]
entry[0]-to-entry[n-1]
fractionA1
Data Communication DivisionCYPRESS
January 22, 2002, page 16dvj_ttl_04.pdf
Format Issues
Wrap: static versus dynamicStructural differences: ñ Alignment: 32-bit versus *16-bitñ CRC coverage: 32-bit versus *16-bit
Ethernet-type: payload vs *headerPriority and class: distinct vs *mergedLocal addressing:ñ SSID= TTL, destination= DSIDñ *DSID= TTL, SSID= ????
Class-A flow-control: embedded vs distinct
Data Communication DivisionCYPRESS
January 22, 2002, page 17dvj_ttl_04.pdf
Discovery Sequencing
Data Communication DivisionCYPRESS
January 22, 2002, page 18dvj_ttl_04.pdf
Supported topologies
A physical ring
Dual ringlets
Duplex ringlet
Data Communication DivisionCYPRESS
January 22, 2002, page 19dvj_ttl_04.pdf
Topology collection
ï Append your macAddress & info(no duplicate copies presentÖ )
Data Communication DivisionCYPRESS
January 22, 2002, page 20dvj_ttl_04.pdf
Topology Discovery
ï Strip up-to existing macAddress (inclusive)ï Postpend your macAddress & information
Data Communication DivisionCYPRESS
January 22, 2002, page 21dvj_ttl_04.pdf
Link failures: wrap & unwrap
Dual ringlets
Duplex ringlet
Dual ringlets
wrap
unwrap
Data Communication DivisionCYPRESS
January 22, 2002, page 22dvj_ttl_04.pdf
Link failures: split&join
One segment
Two segments
One segment
split
join
Data Communication DivisionCYPRESS
January 22, 2002, page 23dvj_ttl_04.pdf
Link failures: subtract & add
Basic ringlet
Basic ringlet
subtract
add
Reduced ringlet
Data Communication DivisionCYPRESS
January 22, 2002, page 24dvj_ttl_04.pdf
Discovery propertiesDuring topology changes, chaos is inevitableñ Cannot distinguish link failure or topology changeñ Periodicity with event-invoked trigger
Periodic transmission to neighbor :ñ broadcast relies on DSID, which is unknownñ broadcast implies ì ownerî , which is unknown ñ cumulative transmission is efficient & robust
Common features, sent every ~millisecond:ñ Heartbeatñ Discoveryñ Flow control
Data Communication DivisionCYPRESS
January 22, 2002, page 25dvj_ttl_04.pdf
Flow control
Data Communication DivisionCYPRESS
January 22, 2002, page 26dvj_ttl_04.pdf
nodeA
Opposing arbitration
ï Data packets flow in one directionï Arbitration control flows in the other*
nodeB nodeC packetcontrol
Data Communication DivisionCYPRESS
January 22, 2002, page 27dvj_ttl_04.pdf
data[n]unprovisioned orunused provisioned
Arbitration classes
Class-C
provisioned bandwidth,bounded latency Class-B
Class-A
guar
ante
ed provisioned bandwidth,low latency
A0reactive
A1proactive
Data Communication DivisionCYPRESS
January 22, 2002, page 28dvj_ttl_04.pdf
nodeA
Reactive class-A0 control
ï Transmission of packets causesï Backup of passBC FIFO thatï Returns flow-control information thatï Provides consumable idle packets
nodeB
(1)
(2)(3)
(4)
Data Communication DivisionCYPRESS
January 22, 2002, page 29dvj_ttl_04.pdf
nodeA
Proactive class-A1 partitions
ï Data packets go source-to-destinationï Residue returns destination-to-source
to provide subsistence for transmissions
nodeB nodeC
Data Communication DivisionCYPRESS
January 22, 2002, page 30dvj_ttl_04.pdf
gateD
Arbitration components
transitBC
transitA
idles
stage
policer
depthBC
client
MAC
queueCgateC
queueBgateB queueB
queueC
queueAgateA queueA
Data Communication DivisionCYPRESS
January 22, 2002, page 31dvj_ttl_04.pdf
gateDtransitBCtransitBC
2) Medium => mixed classA0/classA1
transitBC
3) Large => reactive classA0
Small-to-large transmitBC
transitA
idles
stage
policer
client
MAC
1) Small => proactive classA1
Data Communication DivisionCYPRESS
January 22, 2002, page 32dvj_ttl_04.pdf
MAC-Client interface signals
frames
client
MAC
queueCgateC
queueBgateB queueB
queueC
queueAgateA queueA
rang
eAra
ngeB
rang
eC
Data Communication DivisionCYPRESS
January 22, 2002, page 33dvj_ttl_04.pdf
gateD
Class-A precedence
transitBC
transitA
idles
stage
policer
depthBC
a) Stall B/C transmissions
b) Stall B/Cretransmissions
If (congested(depthBC0, depthBC1))rate < ratedA0+ratedA1
elserate < rateA0
Data Communication DivisionCYPRESS
January 22, 2002, page 34dvj_ttl_04.pdf
gateA1 2) Rate limit on class-A1
Class-A send-queue gating
clientqueueCgateC
queueBgateB queueB
queueC
queueAgateA queueA
gateA0 1) Rate limit on class-A0waitA
3) Stop when Full(stage)
Data Communication DivisionCYPRESS
January 22, 2002, page 35dvj_ttl_04.pdf
rateB
4) Provisioned class-B rate
ratioBC3) Avoid transitBC starvation
Class-B send-queue gating
clientqueueCgateC
queueBqueueB
queueC
queueA
gateB
queueA
2) Sustain class-A idleswaitD
1) Stop when Full(stage)
waitA
gateA
Data Communication DivisionCYPRESS
January 22, 2002, page 36dvj_ttl_04.pdf
rateC
5) Bounded class-C rate
fairC
4) Weighted class-C fairness
ratioBC3) Avoid transitBC starvation
queueC
queueB
queueC
Class-C send-queue gating
client
queueB
queueA
gateC
2) Sustain class-A idleswaitD
1) Stop when Full(stage)
waitA
gateB
queueAgateA
Data Communication DivisionCYPRESS
January 22, 2002, page 37dvj_ttl_04.pdf
Class-C principles
Data Communication DivisionCYPRESS
January 22, 2002, page 38dvj_ttl_04.pdf
Class-C fairness counts
More canbe sent
Moreis sent
leadingcount
trackingcount
Data Communication DivisionCYPRESS
January 22, 2002, page 39dvj_ttl_04.pdf
Internal MAC arbitration signals
ï Arbitration affects opposing run ï My congestion affects upstream nodeï Downstream congestion affects me
dataPaths
arbitration
arbitration
dataPaths
Data Communication DivisionCYPRESS
January 22, 2002, page 40dvj_ttl_04.pdf
Class-A flow control(proactive and reactive)
Data Communication DivisionCYPRESS
January 22, 2002, page 41dvj_ttl_04.pdf
Class-A flow controlProactiveMinimal (nonexistent?) passBC transit bufferLess available bandwidthEach station maintains constant classAp traffic
ReactiveSignificant passBC transit bufferFull bandwidth utilizationEach station responds/regenerates throttle messages
Interoperable?This is a bandwidth vs memory $$ tradeoff
Data Communication DivisionCYPRESS
January 22, 2002, page 42dvj_ttl_04.pdf
nodeA
Proactive class-Acompatibility options
ï Reactive node trickles class-A bandwidthï Reactive node recycles class-A bandwidth
class-A => class-Aí, thus preserving BW
nodeB Reactive
Data Communication DivisionCYPRESS
January 22, 2002, page 43dvj_ttl_04.pdf
nodeA
Reactive class-A compatibility
ï Flow control passes upstreamï Proactive stations pass these indications
nodeB
(1)
(2)(3)
(4)
Data Communication DivisionCYPRESS
January 22, 2002, page 44dvj_ttl_04.pdf
Topology discovery
Data Communication DivisionCYPRESS
January 22, 2002, page 45dvj_ttl_04.pdf
Frame interchanges
Triggered on state changeTriggered on state changeAlso sent periodicallyñ Automatic fault recoveryñ Piggyback on heartbeat
Also distributes stationID addressesñ Previous: derived from topology and EUI-48 infoñ Bit map supportive ì reclaimingî precedence
Robust!ñ Context-less behavior (update rate only)ñ No addressing or timeouts required
Data Communication DivisionCYPRESS
January 22, 2002, page 46dvj_ttl_04.pdf
CRC processing
Data Communication DivisionCYPRESS
January 22, 2002, page 47dvj_ttl_04.pdf
CRC processing
Store&forward/Cut-through agnosticInvalid data is effectively discardedñ store-and-forward discardsñ cut-through stomps the CRC
Maximize error-logging accuracyñ Separate header&data CRCsñ ì mostî corruptions hit the data
Data Communication DivisionCYPRESS
January 22, 2002, page 48dvj_ttl_04.pdf
payloadCRC
payload
Separate header and data CRCs
headerCRC
header
Data Communication DivisionCYPRESS
January 22, 2002, page 49dvj_ttl_04.pdf
crcA data[n]core
Cut-through CRCs
ï Corrupted packet remains corruptedï Error logged when first detected ï if (crcA!=crc) {
errorCount+= (crcA!=crc^STOMP);crcB= crc^STOMP;
}
node crcB data[n]core
Data Communication DivisionCYPRESS
January 22, 2002, page 50dvj_ttl_04.pdf
Distinct CRCs reduces discards
ï Discard the corrupted packet
data head node
X
data head node
X(nothing)
ï Discard the corrupted data
head
Data Communication DivisionCYPRESS
January 22, 2002, page 51dvj_ttl_04.pdf
??
End-to-end CRC protected TTL
CRC checkCRC generate
zero dt zero
EXOREXOR
crcB ttl' header
t+= 1
crcA ttl header
CRC checkCRC check/stomp
Data Communication DivisionCYPRESS
January 22, 2002, page 52dvj_ttl_04.pdf
Pre-emption(a physical layer decision)
Data Communication DivisionCYPRESS
January 22, 2002, page 53dvj_ttl_04.pdf
Pre-emption
Suspend class-B/C for class-A packetOnly one level is sufficientñ class-A is the latency critical trafficñ more levels complicate hardware
Physical layer dependentñ marginal for high BW & small packetsñ distinctive ì suspendî symbol required
Data Communication DivisionCYPRESS
January 22, 2002, page 54dvj_ttl_04.pdf
Pre-emption fragments
ï Packets can be suspendedï The class-A packet can be stripped
ï egress queues are store&forwardï distinctive idle markers needed
data[n]partB data[n]partA node data[n]partB classAdata[n]partA node data[n]partB Idle' data[n]partA
Data Communication DivisionCYPRESS
January 22, 2002, page 55dvj_ttl_04.pdf
Pre-emption compatibility
ï Pre-emption mandates egress S&Fï Simplistic node has no such S&Fï Interoperability burden on elegant
ï boundary node has S&F bypass ï cut-through in preemptive domain
preemptive domain
Data Communication DivisionCYPRESS
January 22, 2002, page 56dvj_ttl_04.pdf
Limits of scalability
The metro area
Terrestrial
Geosynchronous
To the curb
To the home
Data Communication DivisionCYPRESS
January 22, 2002, page 57dvj_ttl_04.pdf
Lessons of the pastÖFlow control mandates 2-out-of-3ñ Low latency transmissionsñ Fair bandwidth allocationñ High bandwidth utilization
Feedback control systemsñ Low latency signalingñ Control can pass class-B/C packetsñ Separate class-A queue is utilized
Other observationsñ Local control => global perversions ñ Fairness is inherently ì approximateîñ Strange beating sequences DO OCCUR
Data Communication DivisionCYPRESS
January 22, 2002, page 58dvj_ttl_04.pdf
Allowed transmissions
A,B,Cb,Cc,F----≥0
A,BA,B,Cb,F--pass≥1/4
AA,FA,Fpasssend≥1/2
A,FA,FA,Fsendsend≥3/4
HILOnoneHILO
transmissionswarnings
Data Communication DivisionCYPRESS
January 22, 2002, page 59dvj_ttl_04.pdf
Arbitration summaryDual levelsñ Class-A, pre-emptive low latency ñ Class-B, less latency sensitive
Jumbo framesñ Affect asynchronous latenciesñ NO IMPACT on synchronous latency
Cut-through vs store-and-forwardñ Either should be allowedñ Light-load latency DOES matter
Data Communication DivisionCYPRESS
January 22, 2002, page 60dvj_ttl_04.pdf
Common features
Data Communication DivisionCYPRESS
January 22, 2002, page 61dvj_ttl_04.pdf
Common features+Separate header and payload CRCs+Virtual output queues for efficient spatial reuse+Proactive&reactive class-A traffic options+Weighted fairness+Three fairness classes but distinct naming
high/medium/low vs A/B/C+Node count: >=63, with a desire for 256(TTL w/wrap is much simpler if <=127)
+Wrap and steering supported
Data Communication DivisionCYPRESS
January 22, 2002, page 62dvj_ttl_04.pdf
Similar themes+Duplex queues: Gandolf & DVJ+Cumulative discovery: Gandolf & DVJ+Steering/wrapping specified on per-packet basis#DVJ: Client-to-MAC physical interface#DVJ: Clock differences (elasticity buffer mgmnt)#DVJ: Time-of-day (stratum check)#DVJ: Brandwidth reservation management(for consistent provisioning)#DVJ: CRC-32 formats (MAC assumes only one?)
Data Communication DivisionCYPRESS
January 22, 2002, page 63dvj_ttl_04.pdf
Contending mechanisms
-More than duplex (x2) ringletsDVJ&Gandolf: x2 duplex ONLYAlladin: xN if not found to be ì overlyî complex
-Flow control (B and C)-Frame format fieldsñ Presence or absence of stationID fieldsñ "Questionable" value fieldsñ header vs payload, for type & CID
DiscoveryDVJ&Gandolf: Cumulative discoveryAlladin: Multistep