(a residential ethernet sg presentation) david v james jgg
TRANSCRIPT
IEEE 802.3 RE Study GroupAtlanta
1March 2005
Clock synchronizationClock synchronization(a Residential Ethernet SG presentation)(a Residential Ethernet SG presentation)
David V JamesDavid V James JGGJGGAlexei Alexei BeliaevBeliaev GibsonGibsonGeorge George ClasemanClaseman MicrelMicrelGeoff GarnerGeoff Garner SamsungSamsung
IEEE 802.3 RE Study GroupAtlanta
2March 2005
Categories of workCategories of work
– Service discovery (out of scope)• Identify/control “talkers” and their available “plugs”
– Subscription (802.1 centric)• Establish conversation between talker and listener(s)• Reject unless: linkBandwidth < linkCapacity
– Clock synchronization• Synchronous reception, forwarding, and presentation
– Prioritized queues• Talkers and 100Mb bridge ports must be gated
– Formats• Frame formats and content (stream IDs, time stamps)• Time aware service interfaces
IEEE 802.3 RE Study GroupAtlanta
3March 2005
OverviewOverview
• What?– The clock slaves time-of-day tracks the grand master– No requirement for slaves to be clock-synchronous
• How?– Periodic exchanges of small messages
• Why?– Bridges: synchronized 125us cycles– Applications: accurate presentation times
IEEE 802.3 RE Study GroupAtlanta
4March 2005
Leveraged protocolsLeveraged protocols
• Spanning tree protocol (STP)– Defines the grand-master precedence format– But, we use a distinct value and distribution protocol
(The STP root and grand master could be distinct!)
• NTP (RFC-1305) and SNTP (RFC-2030)– Definition of the 64-bit time-of-day value
• IEEE 1588-2002– Techniques for delayed-sampling synchronization
IEEE 802.3 RE Study GroupAtlanta
5March 2005
Clock synchronizationClock synchronization
What?What?
IEEE 802.3 RE Study GroupAtlanta
6March 2005
House reference clockHouse reference clock
802.11e
Ethernet
802.11e
1394 1394
Room #1 Room #2
Ethernet
IEEE 802.3 RE Study GroupAtlanta
7March 2005
Legend:clock masterclock slave
Cascaded TOD synchronizationCascaded TOD synchronization
bridge[0]
bridge[1]
bridge[2]
Physical topology constraints
IEEE 802.3 RE Study GroupAtlanta
8March 2005
Cascaded TOD synchronizationCascaded TOD synchronization
bridge[0]
bridge[1]
bridge[2]
Wall-clock distribution model
IEEE 802.3 RE Study GroupAtlanta
9March 2005
Cascaded TOD synchronizationCascaded TOD synchronization
bridge[0]
bridge[1]
bridge[2]
Cascaded adjacent-synchronization hierarchy
IEEE 802.3 RE Study GroupAtlanta
10March 2005
TimeTime--ofof--day format optionsday format options
fractionsseconds
nanosecondsseconds
>150 years <250 ps
(IEEE 1588)
OR(…)
ticks
(EPON)
16 ns
(NTP RFC-1305, SNTP RFC-2030)
(+epoc)
IEEE 802.3 RE Study GroupAtlanta
11March 2005
Format selection criteriaFormat selection criteria
– Highest possible precision• Binary number (not BCD)
– Complete solution• 64-bit number
– Consistent with 1588, etc.• 32-bit seconds component
– Simple computations• 64-bit: seconds and fractions-of-second
– Client interface? • A logical interface (doesn’t really matter)
IEEE 802.3 RE Study GroupAtlanta
12March 2005
TimeTime--ofof--day rate adjustmentsday rate adjustments
fractionsseconds
delayed carry
add6 add26
rate
carry56
rate
IEEE 802.3 RE Study GroupAtlanta
13March 2005
systemID portNumbsp
TimeTime--ofof--day precedenceday precedence
stationID (byte swapped EUI-64)
1394 precedence
preferred
stationID (MAC-48)
802.1 STP precedence(IEEE Std 802.1D-2004)
pp
larger
smaller
IEEE 802.3 RE Study GroupAtlanta
14March 2005
Synchronized timeSynchronized time--ofof--day clocksday clocks
How?How?
IEEE 802.3 RE Study GroupAtlanta
15March 2005
local offset
add
global
AdjacentAdjacent--station synchronizationstation synchronization
aTx
local offset
add
global aRx
bRx
bTx
Station A Station B
Timing snapshots
IEEE 802.3 RE Study GroupAtlanta
16March 2005
local offset
add
global
AdjacentAdjacent--station synchronizationstation synchronization
aTx
local offset
add
global aRx
bRx
bTx
(aTx,aRx,bTx)
StationA StationB
Snapshot value distribution(information for stationB)
IEEE 802.3 RE Study GroupAtlanta
17March 2005
local offset
add
global
AdjacentAdjacent--station synchronizationstation synchronization
aTx
local offset
add
global aRx
bRx
bTx(bTx,bRx,aTx)
Station A Station B
Snapshot value distribution(information for stationA)
IEEE 802.3 RE Study GroupAtlanta
18March 2005
local offset
add
global
AdjacentAdjacent--station synchronizationstation synchronization
• rxDelta = (bRx – aTx); • txDelta = (bTx – aRx);• clockDelta = (rxDelta – txDelta) / 2; • cableDelay = (rxDelta + txDelta) / 2;• offsetB = offsetA – clockDelta;
aTx
local offset
add
global aRx
bRx
bTx
Station A Station BStationB offset adjustments
IEEE 802.3 RE Study GroupAtlanta
19March 2005
local offset
add
global
Adjacent station synchronizationAdjacent station synchronization
local offset
add
global
Station A Station B
8 kHz
…
125µs
…
clockSync
IEEE 802.3 RE Study GroupAtlanta
20March 2005
clockSyncclockSync frame format…frame format…
cycle[n-1]header
syncInfoselectInfo
trailer
cycleStartisoch0isoch1isoch2
isoch
async1async2
asyncN
asynch
async0cycle
increasingtime
(cycleCount)thisOffset
thisTxTimethatRxTimethatTxTime
IEEE 802.3 RE Study GroupAtlanta
21March 2005
Why synchronous clockWhy synchronous clock--syncs?syncs?
– Simple• Uses existing isochronous transmission state machine
• Like IEEE 1588, requires only frame-sent snapshots
– Timely• Quasi-periodic transmissions
– Responsive• Sampling-to-adjustment delays are minimized
– Efficient• sequenceNumber is the cycleCount
– Consistent• Just another isochronous frame…
IEEE 802.3 RE Study GroupAtlanta
22March 2005
rxInfo
Clock slave details (1)Clock slave details (1)
Rx
Tx
StationB
rxInfo
txInfo txInfo
cycle[n-1] cycle[n-0]
IEEE 802.3 RE Study GroupAtlanta
23March 2005
ClockClock--slave details (2)slave details (2)
cycle[n-1] cycle[n-0]
TX
RX
headeroffsetTime
myRxTimer
thisTxTimethatRxTimethatTxTime
trailer
headeroffsetB
myTxTimer
thisTxTimethatTxTimethatRxTime
trailer
headeroffsetB
myTxTimer
thisTxTimethatRxTimethatTxTime
trailer
headeroffsetTime
myRxTimer
thisTxTimethatRxTimethatTxTime
trailer
rxDeltasubtracttxDeltasubtract
+−
globalTimer.offset+−
addition1/2
myOffset
IEEE 802.3 RE Study GroupAtlanta
24March 2005
Timing specifics…Timing specifics…
(from IEEE 1588-2002, subclause D.1.1, page 127)
IEEE 802.3 RE Study GroupAtlanta
25March 2005
A viable design modelA viable design model
PHY
globallocaloffset
MACclientglobalTime
rxStrobe txStrobe
txrxFIFOFIFO
convert
Notes:Rate matching FIFOsare not within our scope.
IEEE 802.3 RE Study GroupAtlanta
26March 2005
fractions
offset
Conversion example: 1394Conversion example: 1394
fractionsseconds
cycle
(NTP RFC-1305, SNTP RFC-2030)
sec
b = (a*125)>>7
a
b
cycles
d = (c*3)>>6
c
d
Notes:Two 32-bit additions for b:
b= ((a<<7) - (a<<2) + a) >> 7;One 16-bit addition for d:
d = ((c<<2) + c) >> 6;
(IEEE 1394 CYCLE_TIME)
IEEE 802.3 RE Study GroupAtlanta
27March 2005
Conversion example: EPONConversion example: EPON
fractionsseconds
(NTP RFC-1305, SNTP RFC-2030)
b = (a*193125)>>24
a
b
Notes:Thus, eight 36-bit additions compute a very precise b value:b= ((a<<17)+(a<<16)-(a<<12)+(a<<9)+(a<<6)+(a<<5)+(a<<2)+a) >>24;
(nanoTick = 16ns)
nanoTicks
IEEE 802.3 RE Study GroupAtlanta
28March 2005
PassbyPassby PLLs PLLs (proposal 1)(proposal 1)
slave
PLL
clock
master
clock
master
clock
master
clock
gate gate gate gate
IEEE 802.3 RE Study GroupAtlanta
29March 2005
Passthrough PLLs Passthrough PLLs (option 2)(option 2)
slave
PLL
clock
master
clock
master
clock
master
clock
gate gate gate gate
IEEE 802.3 RE Study GroupAtlanta
30March 2005
Synchronized timeSynchronized time--ofof--day clocksday clocks
Why?Why?
IEEE 802.3 RE Study GroupAtlanta
31March 2005
Consider possible congestion…Consider possible congestion…
rx0 rx1 rx2 rx3 tx4
IEEE 802.3 RE Study GroupAtlanta
32March 2005
delay
Bursting causes jitterBursting causes jitter
rx38 kHz
time
tx4
rx21 kHz
rx11 kHz
rx01 kHz
IEEE 802.3 RE Study GroupAtlanta
33March 2005
delay
Bunching causes jitterBunching causes jitter
time
rx0
time
rx1
time
rx2
time
rx3
time
tx4
IEEE 802.3 RE Study GroupAtlanta
34March 2005
Bridge reBridge re--clocking contains jitterclocking contains jitter
bridge
… gate
cycleCount
high
low
isochronous
…asynchronous
transmit
receivecycle-stamp(etc.)
IEEE 802.3 RE Study GroupAtlanta
35March 2005
100Mb
Frame transmission timingsFrame transmission timings
time
Concept
1Gb
isochronouscycleStart asynchronous
10Mb
120µs
1200µs = 9.6 cycles
…
…
…
…
n-1 n-0 n+1 n+2 … n+9 n+10cycle:
IEEE 802.3 RE Study GroupAtlanta
36March 2005
Synchronized reception/presentationSynchronized reception/presentation
clockA clockB clockC
No long-term drift: clockA, clockB, clockCClock jitter: sub nanosecond (after PLL)
IEEE 802.3 RE Study GroupAtlanta
37March 2005
In summaryIn summary
– Time-of-day synchronization (house clock)• Global synchronization is required• Implemented as cascaded adjacent synchronizations
– Time synchronization formats• Binary time is accurate with simple add/subtract• Clock-master voting: 48+ or 64+ selection priorities
– Time-of-day applications• Synchronous reception and presentation, within applications• Synchronous re-clocking within bridges
– Time-of-day distribution• Pipelined sampling for highest accuracies• Cable delays can be derived, based on the same information
IEEE 802.3 RE Study GroupAtlanta
38March 2005
Synchronized timeSynchronized time--ofof--day clocksday clocks
Questions?Questions?
IEEE 802.3 RE Study GroupAtlanta
39March 2005
SubscriptionSubscription(some possibilities)(some possibilities)
IEEE 802.3 RE Study GroupAtlanta
40March 2005
Vocabulary terms (1)Vocabulary terms (1)
talker
audience
listener listener
IEEE 802.3 RE Study GroupAtlanta
41March 2005
Vocabulary terms (2)Vocabulary terms (2)
– audience• The set of listeners associated with a talker
– clock master• A bridge or end station that provides a link clock reference
– clock slave• A bridge or end station that tracks the clock reference
– grand clock master (grand master)• The clock master that provides the network time reference
– listener• A sink of a stream, such as a television or acoustic speaker
– path• A logical concatenation of links and bridges for a stream
IEEE 802.3 RE Study GroupAtlanta
42March 2005
Vocabulary terms (3)Vocabulary terms (3)
– service discovery*• The process used to identify/control/configure talkers
– stream• An RE frame sequence with a distinct streamID
– subscription**• Establishing committed paths between talker and listener(s)
– talker• A source of a stream, such as a cable box or microphone
* A complete solution/vocabulary includes out-of-802 scope activities** A complete solution/vocabulary includes out-of-802.3 scope activities
IEEE 802.3 RE Study GroupAtlanta
43March 2005
FIFO
DelayDelay--matching matching listenerlistener FIFOsFIFOs
talker FIFO
IEEE 802.3 RE Study GroupAtlanta
44March 2005
Multicast addresses!Multicast addresses!
– Multicasts are 1-to-N, not N-to-N• However, listener stations can listen to more than
one talker – Unicast
• Unicast is just a special case of 1-to-N (N is 1)• 1-to-N is an architectural/temporal extension
– Allocation of multicast addresses?• Multicasts addresses come from a server• Multicast address assignments are “distributed”• Multicast addresses == streamId == {source, plug}
IEEE 802.3 RE Study GroupAtlanta
45March 2005
First access requestFirst access request
talker
listener
subscription request
IEEE 802.3 RE Study GroupAtlanta
46March 2005
First access responseFirst access response
talker
listener
subscription response
IEEE 802.3 RE Study GroupAtlanta
47March 2005
Second access requestSecond access request
talker
listener
subscriptionrequest
listener
IEEE 802.3 RE Study GroupAtlanta
48March 2005
Second access responseSecond access response
talker
subscriptionresponse
listenerlistener
IEEE 802.3 RE Study GroupAtlanta
49March 2005
Established pathsEstablished paths
talker
paths
audience
listenerlistener
IEEE 802.3 RE Study GroupAtlanta
50March 2005
Teardown: talkerTeardown: talker audienceaudience
talker
teardown
audience
listenerlistener
IEEE 802.3 RE Study GroupAtlanta
51March 2005
Teardown completedTeardown completed
talker
listenerlistener
IEEE 802.3 RE Study GroupAtlanta
52March 2005
ThirdThird--party activationsparty activations
talker
Legend:Third-party activates the listener, provides talker’s streamIDListener subscribes to the talker’s streamID
IEEE 802.3 RE Study GroupAtlanta
53March 2005
ListenerListener--initiated heartbeats (RSVP)initiated heartbeats (RSVP)
– RSVP based timeout strategy• Periodic local listener confirmations • Confirmations are really just subscription requests• Tolerate single-frame losses• Tolerates configuration changes
– Talker “leaves” if no requests observed– Listener “leaves” if no responses returns– Talker “responses”
• Is the flow of isochronous traffic sufficient?
IEEE 802.3 RE Study GroupAtlanta
54March 2005
otherInfo
type/length
Subscription requestsSubscription requests
destinationAddress
sourceAddress
Frame format
FCS
Endpoint talker
Local listener
Endpoint listenerTalker’s plugRequired bandwidth
IEEE 802.3 RE Study GroupAtlanta
55March 2005
Stream addressing?Stream addressing?
• A New Resource ReSerVation Protocol (RSVP)
(Again, in the Internet context a data source can be specified by the source host address plus source port number. We only refer to the source host address here.)
IEEE 802.3 RE Study GroupAtlanta
56March 2005
What is a What is a streamIDstreamID??pl
ug[0
]
plug
[1]
plug
[2]
plug
[3]
plug
[4]
plug
[5]
plug
[6]
plug
[7]
plug
[8]
plug
[9]
plug
[10]
…pl
ug[6
5525
]
plug
[655
26]
plug
[655
27]
plug
[655
28]
plug
[655
29]
plug
[655
30]
plug
[655
31]
plug
[655
32]
plug
[655
33]
plug
[655
34]
plug
[655
35]
EUI-48
IEEE 802.3 RE Study GroupAtlanta
57March 2005
What is the talker’s What is the talker’s streamIDstreamID??
plugIDOUIDA: 1 tag
payload
RE_STREAM
!STREAM_ID!
dependentOUISA: 0
EUI-48
IEEE 802.3 RE Study GroupAtlanta
58March 2005
Are bridge changes necessary?Are bridge changes necessary?
– End-station throttling (assuming highest priority)• With 1Gb/s switches, this may be sufficient
– Source device spreads transmissions evenly• Bunching may be tolerable within the home (needs study)• Must ensure that nothing else uses the highest priority
– But, some access control changes needed anyway• Bridges are naturally encountered along the path• Central topology database is thus unnecessary
IEEE 802.3 RE Study GroupAtlanta
59March 2005
SummarySummary
• We need an RSVP-like lower level protocol– Restricted to 1-to-N traffic– Restricted to “no-filter” streams
• The IP admission control alternative– Out of scope– Layering violations (non-IP synchronous traffic?)– Not generally supported by residential bridges– Multiple components (and synchronized use) required:
• A multicast address server?• IGMP/snooping for multicast setup?
• RSVP/snooping for bandwidth negotiation?
IEEE 802.3 RE Study GroupAtlanta
60March 2005
Synchronized timeSynchronized time--ofof--day clocksday clocks
Questions?Questions?
IEEE 802.3 RE Study GroupAtlanta
61March 2005
Service discoveryService discovery(some possibilities)(some possibilities)
IEEE 802.3 RE Study GroupAtlanta
62March 2005
DisclaimerDisclaimer
– “Service discovery” email has been “vocal”.• But, what is service discovery at Layer 2?
– This presentation clarifies a possible meaning• To stimulate and/or resolved internal discussions
– This is _not_ an advocated position!• Service discovery is not normally an L2 protocol• Higher level protocols have better flexibility&consensus
IEEE 802.3 RE Study GroupAtlanta
63March 2005
What is service data?What is service data?
directoryleaf
directoryleaf
leaf
IEEE 802.3 RE Study GroupAtlanta
64March 2005
What is service data?What is service data?
directoryleaf
directoryleaf
leaf
leafID
leafID-dependent
base length
DIRECTORY_ID
base length
base length
leafId
base length
…
base length
IEEE 802.3 RE Study GroupAtlanta
65March 2005
SummarySummary
– Service discovery could be simple• Single frame of information keeps protocol simple
– Service discovery could be elegant• Directory structure supports organized data
– Service discovery could be flexible• 64-bit identifiers are easily self administered!• proprietary information well supported.• stealth protocols are easily defined.
IEEE 802.3 RE Study GroupAtlanta
66March 2005
Synchronized timeSynchronized time--ofof--day clocksday clocks
Questions?Questions?
IEEE 802.3 RE Study GroupAtlanta
67March 2005
Synchronized timeSynchronized time--ofof--day clocksday clocks
Backup slides…Backup slides…
IEEE 802.3 RE Study GroupAtlanta
68March 2005
Residential EthernetResidential Ethernet(an unofficial cumulative slide set; 2005Mar11)(an unofficial cumulative slide set; 2005Mar11)
Maintained by David V James
For most recent copy:
http://groups.yahoo.com/group/REInterestGroup
IEEE 802.3 RE Study GroupAtlanta
69March 2005
Categories of workCategories of work
– Service discovery (out of scope)• Identify/control “talkers” and their available “plugs”
– Subscription (802.1 centric)• Establish conversation between talker and listener(s)• Reject unless: linkBandwidth < linkCapacity
– Clock synchronization• Synchronous reception, forwarding, and presentation
– Prioritized queues• Talkers and 100Mb bridge ports must be gated
– Formats• Frame formats and content (stream IDs, time stamps)• Time aware service interfaces
IEEE 802.3 RE Study GroupAtlanta
70March 2005
Ethernet compatibility (yes!)Ethernet compatibility (yes!)
legacy bridge
Legend:legacy bridgelegacy endpoint
IEEE 802.3 RE Study GroupAtlanta
71March 2005
otherInfo
type/length
Isochronous addressing?Isochronous addressing?
destinationAddress
sourceAddress
Frame
FCS
sourceAddress plugID stream
static assignments dynamicvs