scaling csma/cd to 1000 mb/s an update · 1997. 12. 2. · mod to nextbit (4.2.8) procedure...
TRANSCRIPT
![Page 1: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/1.jpg)
1
Mb/s
802.3z TF
Scaling CSMA/CD to 1000 An Update
Howard M. Frazier, Jr.Sun Microsystems Computer Company
Internet and Networking Products Group9-July-1996
IEEE 802.3z TF
![Page 2: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/2.jpg)
2
802.3z TF
Outline
■ Introduction
■ Topologies
■ Bit Budget
■ Issues
■ Solution
■ Impact on MAC
■ MAC Parameters
■ Performance
■ Possible refinements
■ Conclusions
![Page 3: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/3.jpg)
3
b/s switched
omplicated
b/s
iculously
essential
802.3z TF
Introduction
■ Scaling CSMA/CD to 1000 Mb/s is a good idea
■ Widely implemented, well understood protocol
■ Demonstrated low cost at 10 and 100 Mb/s
■ Cost benefit of 1000 Mb/s shared versus 1000 M
■ Scaling CSMA/CD to 1000 Mb/s is slightly more cthan scaling it to 100 Mb/s
■ Wire delays are 10x larger (in BT) than at 100 M
■ “shift the decimal point” approach results in a ridsmall collision domain diameter
■ Backwards compatibility with 10 and 100 Mb/s is
![Page 4: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/4.jpg)
4
ne repeater
domain
desktops
desktops
802.3z TF
Topologies
■ Most useful CSMA/CD topologies have at least o
CSMA/CD used in a single repeater collision within a server room
1000 Mb/s repeater
100/1000 switches
10/1000 switches
high end
low end
servers
1000
1000
1000
1000
1000
100
10
![Page 5: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/5.jpg)
5
omains
esktops
sktops
desktops
802.3z TF
Topologies (cont)
CSMA/CD used in single repeater collision dwith 1000 Mb/s horizontal runs
1000 Mb/s switch
1000 Mb/s repeaters
100/1000 switches
higher end d
high end de
servers &ultra high end
1000
1000
1000
1000
1000
1000
100
![Page 6: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/6.jpg)
6
esktops must
802.3z TF
Topologies (cont)
■ Horizontal runs are 100 meters maximum
■ A CSMA/CD topology with horizontal runs out to dsupport a diameter of at least 200 meters
100 m100 m
200 m
![Page 7: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/7.jpg)
7
ted bit budget
802.3z TF
Bit Budgets
■ Bit budget calculations are highly dependent on:
■ Physical layer signalling method and architecture
■ MAC <=> PHY data path width
■ MAC state machine frequency
■ Repeater data path width
■ Repeater state machine frequency
■ Fairness issues
■ See Stephen Haddock’s presentation for an updaanalysis
![Page 8: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/8.jpg)
8
es,
istic
512 bits
ytes
802.3z TF
Bit Budgets (cont)
■ Conclusions from bit budget analysis
■ Cable delay dominates, but even with short cablthe bit budget exceeds 512 BT
■ DTE and repeater delay estimates may be optim
■ The minimum frame size must be increased fromto achieve useful topologies at 1000 Mb/s
■ Recommend a new minimum frame size of 512 B
■ Simply change bits to bytes!
![Page 9: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/9.jpg)
9
FrameSize
plex linksum size
s or 10 Mb/ss
the 802.3 MACet frame format
e only onether Ethernet
802.3z TF
Issues
■ It’s not that simple
■ Trying to solve the problem by increasing the minto 512 Bytes has harmful side effects
■ Degrades maximum small packet rate on full duwhere it is not necessary to use the larger minim
■ Can’t propagate the inflated packets to 100 Mb/networks, the performance loss would be hideou
■ Can’t rely on the padding/stripping mechanism inwhen using protocol stacks which use the Ethern
■ Must find a way to extend the minimum frame siz1000 Mb/s, CSMA/CD networks, regardless of whor 802.3 frame format is used
![Page 10: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/10.jpg)
10
vent without
bols
ulation
nd passing
802.3z TF
Solution
■ Conceptually, extend the duration of the carrier eextending the data field, or altering the FCS field
■ Introduce a new mechanism which appendsnon-data symbols to the end of short frames
■ Extend the collision window to include these sym
■ Include the extension in the fragment discard calc
■ Remove the extension before checking the FCS athe frame to LLC
![Page 11: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/11.jpg)
11
d are
an integer
FCS Extension
802.3z TF
Solution (cont)
■ Frame extension
■ The extension symbols are non-data symbols, anrecognized as such by the MAC and the PHY
■ The extension starts on an octet boundary, and isnumber of octets in length
Preamble SFD DA SAType/Length
Data
64 bytes min
512 bytes min
FCS Coverage
Duration of Carrier Event
![Page 12: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/12.jpg)
12
, see 4.4}
at end of frame}
802.3z TF
Impact on MAC
■ New const (4.2.7.1)const
extendSize = ...; {in bits, implementation-dependentextensionBit = ...; {a new type of non-data bit}
■ New Transmit State Variable (4.2.7.2)var
extension:0..extendSize; {length of extension}
■ New Receive State Variable (4.2.7.3)var
extendCount: 0..extendSize; {count of extension bits
![Page 13: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/13.jpg)
13
802.3z TF
Impact on MAC
■ Mod to StartTransmit (4.2.8)procedure StartTransmit;begin
extension := 0;currentTransmitBit := 1;lastTransmitBit := frameSize;transmitSucceeding := true;transmitting := true;lastHeaderBit := headerSize
end; {StartTransmit}
■ Mod to StartReceive (4.2.9)procedure StartReceive;
begincurrentReceiveBit :=1;extendCount := 0;receiving := true
end; {StartReceive}
![Page 14: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/14.jpg)
14
ize + extendSize);}
n
smitBit]);
802.3z TF
Impact on MAC (Transmitter)
■ Mod to BitTransmitter (4.2.8)process BitTransmitter;begin
cycle {outer loop}if transmitting thenbegin {inner loop}
if halfDuplex then (extension : = minFrameSPhysicalSignalEncap; {send preamble and sfdwhile transmitting dobegin
if currentTransmitBit > lastTransmitBit theTransmitBit(extensionBit)
elseTransmitBit(outgoingFrame[currentTran
if newCollision then StartJam else NextBitend;
end; {inner loop}end; {outer loop}
end; {BitTransmitter}
![Page 15: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/15.jpg)
15
tBit)))
802.3z TF
Impact on MAC (Transmitter)
■ Mod to NextBit (4.2.8)procedure NextBit;
begincurrentTransmitBit := currentTransmitBit + 1;transmitting := ((currentTransmitBit ≤ lastTransmi
or (currentTransmitBit ≤ extensionend; {NextBit}
■ Mod to StartJam (4.2.8)procedure StartJam;
begincurrentTransmitBit := 1;lastTransmitBit := jamSize;extension := 0;newCollision := false
end; {StartJam}
![Page 16: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/16.jpg)
16
e + extendSize) then
802.3z TF
Impact on MAC (Transmitter)
■ Mod to WatchForCollision (4.2.8)procedure WatchForCollision;begin
if transmitSucceeding and collisionDetect thenbegin
if currentTransmitBit > (minFrameSize - headerSizlateCollisionError := true;
newCollision:= true;transmitSucceeding := false
endend {WatchForCollision}
![Page 17: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/17.jpg)
17
nd sfd}dia Access}
; 1
802.3z TF
Impact on MAC (Receiver)
■ Mod to BitReceiver (4.2.9)process BitReceiver;
var b: Bit;begin
cycle {outer loop}while receiving dobegin {inner loop}if currentReceiveBit = 1 then
PhysicalSignalDecap; {strip off the preamble ab := ReceiveBit; {get next bit from physical Meif receiveDataValid then
if b = extensionBit thenextendCount := extendCount + 1elsebegin {append bit to frame}
incomingFrame[currentReceiveBit] := bcurrentReceiveBit := currentReceiveBit +
endreceiving := receiveDataValidend {inner loop}frameSize := currentReceiveBit - 1 + extendCount
end {outerloop}end; {BitReceiver}
![Page 18: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/18.jpg)
18
arriving}
tet boundary}
eSize + extendSize));
ize);
802.3z TF
Impact on MAC (Receiver)
■ Mod to ReceiveLinkMgmt (4.2.9)procedure ReceiveLinkMgmt;begin
repeatStartReceive;while receiving do nothing; {wait for frame to finishexcessBits := frameSize mod 8;frameSize := frameSize - excessBits; {truncate to ocif halfDuplex thenbegin
receiveSucceeding :=((frameSize ≥ ³(minFramframeSize := frameSize - extendCount
endelse
receiveSucceeding := (frameSize ≥ minFrameSuntil receiveSucceeding
end;
![Page 19: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/19.jpg)
19
802.3z TF
MAC Parameters
■ New Parameter Table 4.4.2.4
Parameters Values
slotTime 4096 bit timesinterFrameGap 96 nsattemptLimit 16backoffLimit 10jamSize 32 bitsmaxFrameSize 1518 octetsminFrameSize 512 bits (64 octets)addressSize 48 bitsextendSize 448 octets
![Page 20: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/20.jpg)
20
La JollaP packets)
2000512
7440.007440.00
800.0015.00
0.91420.0340
802.3z TF
Performance
■ Experimental and simulation results presented in (4 node scaled 100BASE-FX using 1500 byte UD
diameter 200 800 1200 1600slottime 64 128 174 256txpps 7805.66 7681.15 7626.95 7560.00rxpps 7803.63 7691.94 7634.31 7560.00colps 4835.01 2641.13 1940.92 1420.00oerrps 123.45 61.25 46.08 30.00udput 0.9592 0.9439 0.9372 0.9289colut 0.0325 0.0313 0.0301 0.0313
0 64 128 192 256 320 384 448 512
0.9000
0.9200
0.9400
0.9600
0.9800
1.0000
![Page 21: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/21.jpg)
21
P
cket size
simulationtion
802.3z TF
erformance (cont)
■ Subsequent simulations used “workgroup average” padistribution derived from some “real world” sampling
■ See Mohan Kalkunte’s presentation from Wakefield forresults using “workgroup average” packet size distribu
![Page 22: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/22.jpg)
22
802.3z TF
![Page 23: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/23.jpg)
23
field
omain
mount of
field
time
802.3z TF
Possible refinements
■ Reduce backoffLimit to 9, 8, or 7
■ See Stephen Haddock’s presentation from Wake
■ Assume smaller number of nodes per collision d
■ ?Should mitigate “Capture Effect”?
■ ?May increase aggressiveness, and hence the abandwidth consumed by collision events?
■ Packet Packing
■ See Stephen Haddock’s presentation from Wake
■ Stations send several small packets in one slot
■ ?Should improve utilization?
■ ?May complicate receiver and transmitter?
■ “Virtual Collisions”
■ See Moti Weizman’s presentation
■ ?Would reduce extendSize and slotTime?
■ ?May hurt fairness?
![Page 24: Scaling CSMA/CD to 1000 Mb/s An Update · 1997. 12. 2. · Mod to NextBit (4.2.8) procedure NextBit; begin currentTransmitBit := currentTransmitBit + 1; transmitting := ((currentTransmitBit](https://reader035.vdocument.in/reader035/viewer/2022071418/611669a3f3a8be547720eaf4/html5/thumbnails/24.jpg)
24
b/s
uate for
evaluated
802.3z TF
Conclusions
■ Useful CSMA/CD networks can be built at 1000 M
■ The performance of the baseline proposal is adeqworkgroup applications
■ Several proposals for possible refinements can be