Upload
dinhthuan
View
218
Download
3
Embed Size (px)
Citation preview
Rapid Spanning Tree Protocoland Ethernet applications development
Embedded switches, specific protocols, SW support
T3LAB Consortium, Via S. Bassanelli 9/11, Bologna Italy
Simone Cilli ([email protected])
Outline
13/12/2011Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy2
• Network topologies
• Spanning Tree Protocol (STP, RSTP, MSTP)
• Embedded switch
• TCP/IP protocol improvement
• Software package for embedded Ethernet switch
• Demo
Network Topologies
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy3
• Layout of computer cables and network devices
Physical Topology
• The way in which the devices see the network
Logical Topology
Network Topology
=
Physical Topology + Logical Topology
13/12/2011
Network Topologies
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy4
• Cheap and easy to implement
• Require less cable then other topologies
Advantages
• Disruption when device are added or removed
• Single break point
• Difficult to troubleshoot
Disadvantages
BUS LINE/CHAIN RING
• Easy to implement and to install
Advantages
• High delay for an high number of nodes
• Single point failure
Disadvantages
• Cable faults are easily located
• Easy to install
• Robustness
Advantages
• Loop
• High delay for an high number of nodes
Disadvantages
13/12/2011
Network Topologies
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy5
MESH TREE
• Easily expanded without disruption
• Easy to troubleshoot and isolate problem
Advantages
• Require more cable then other topologies
• Central node is a point of failure
• Difficult to implement
Disadvantages
• Redundant paths
• Easy to expand
Advantages
• High cable cost
• Complicated implementation and management
Disadvantages
• Easy to expand
• Allow an high number of nodes
• Fully connected but no loops
Advantages
• A node failure affects all the leaf nodes
• Difficult to manage
Disadvantages
STAR
13/12/2011
Network Topologies
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy6
NODE
NODE NODE
NODE• Easy to expand
• Allow an high number of nodes
• Fully connected but no loops
Advantages
• A node failure affects all the leaf nodes
• Difficult to manage
Disadvantages NODE NODE
NODE
Robustness?High
performace
TREE
13/12/2011
Network Topologies
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy7
NODE
NODE
NODE
NODE
NODE
NODE
NODE• Easy to expand
• Allow an high number of nodes
• Fully connected but no loops
Advantages
• A node failure affects all the leaf nodes
• Difficult to manage
• High delay for an high number of nodes
Disadvantages
Robustness?High
performace
CHAIN
13/12/2011
Network Topologies
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy8
NODE
NODE
NODE
NODE
NODE
NODE
NODE• Easy to expand
• Allow an high number of nodes
• Fully connected but no loops
• Cable faults are easily located
• Easy to install
• Robustness
Advantages
• A node failure affects all the leaf nodes
• Difficult to manage
• High delay for an high number of nodes
Disadvantages
Robustness!High
performace
RING
13/12/2011
NODE
NODE
NODE
NODE
Network Topologies
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy9
Physical
Topology
Logical
Topology
NODE
NODE NODETREERING
AVOID LOOP RSTP
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy10
“The Spanning Tree Protocol (STP)
is a network protocol that ensures
a loop-free topology for any
bridged Ethernet local area network”
Spanning tree protocol
•Standard IEEE 802.1D, IEEE 802.1W, IEEE 802.1D-2004
•Create spanning tree of connected layer 2 bridges
•Prevent loops and broadcast radiation
•Reconfiguration after a network fault
• Include spare (redundant) links to provide automatic backup paths if an active link fails
Rapid Spanning Tree Protocol
(RSTP) for a faster convergence
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy11
Port States
STP (802.1D) RSTP (802.1W) Is port included in active topology?
Is port learning MAC addresses?
Disabled Discarding No No
Blocking Discarding No No
Listening Discarding Yes No
Learning Learning Yes Yes
Forwarding Forwarding Yes Yes
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy12
Port Roles
Root
BA
RR
• This is the port closest tothe root bridgeRoot port
A
• It is designated if it can send the best BPDU on its segment
Designated port
DD
D • Alternate path to a designated port. It isblocked
Alternate port
• Alternative port to a bridge that is alreadyconnected
Backup portA R
D
B
The protocol electsa root node
(Root of logical tree)
D
13/12/2011
• Blocked portDisabled port
• Port not included in the topologyEdge port
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy13
STP BDPUProtocol Identifier [1:2]
Protocol Version
Identifier
[3]
BPDU Type [4]
Flags [5]
Root Identifier [6:13]
Path Cost [14:17]
Bridge Identifier [18:25]
Port Identifier [26:27]
Message Age [28:29]
Max Age [30:31]
Hello Time [32:33]
Forward Delay [34:35]
Message sent to the MAC01:80:C2:00:00:00
It is a multicast ethernet address
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy14
STP BDPUProtocol Identifier [1:2]
Protocol Version
Identifier
[3]
BPDU Type [4]
Flags [5]
Root Identifier [6:13]
Path Cost [14:17]
Bridge Identifier [18:25]
Port Identifier [26:27]
Message Age [28:29]
Max Age [30:31]
Hello Time [32:33]
Forward Delay [34:35]
0 1 2 3 4 5 6 7
Topologychange ACK
Agreement
Forwarding
Learning
Port role
Proposal
Topologychange
FLAGS
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy15
STP BDPUProtocol Identifier [1:2]
Protocol Version
Identifier
[3]
BPDU Type [4]
Flags [5]
Root Identifier [6:13]
Path Cost [14:17]
Bridge Identifier [18:25]
Port Identifier [26:27]
Message Age [28:29]
Max Age [30:31]
Hello Time [32:33]
Forward Delay [34:35]
•Current node identifier
Bridge Identifier
• Identifier of the port that generate the message
Port Identifier
•Network’s root identifier
Root Identifier
•Cost from the current node to the root
•Based on port’s speed
Path Cost
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy16
RSTP Protocol
Bridge 1
Bridge 4Bridge 2
Bridge 3
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy17
RSTP Protocol
Bridge 1
Bridge 4Bridge 2
Bridge 3
0. Disable all ports
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy18
BPDU Handling
Bridge 1
Bridge 4Bridge 2
Bridge 3
0. Disable all ports 1. Root election
1. PROPOSAL (2)
Priority:B1 > B2B2 > B3B3 > B4
13/12/2011
1. PROPOSAL (1)
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy19
RSTP Protocol
Bridge 1
Bridge 4Bridge 2
Bridge 3
0. Disable all ports 1. Root election
Priority:B1 > B2B2 > B3B3 > B4
STP send aproposal and wait
2 x FORWARD DELAY TIME for a
silence agreement
RSTP IMPROVEPERFORMANCE
13/12/2011
1. PROPOSAL (1)
2. AGREEMENT (1)
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy20
RSTP Protocol
Bridge 1
Bridge 4Bridge 2
Bridge 3
0. Disable all ports 1. Root election
2. AGREEMENT (1)
1. PROPOSAL (1)
Priority:B1 > B2B2 > B3B3 > B4
13/12/2011
2. AGREEMENT (3)
1. PROPOSAL (3)STP send aproposal and wait
2 x FORWARD DELAY TIME for a
silence agreement
RSTP IMPROVEPERFORMANCE
Only one root nodeis admitted
• Bridge 1 and 2:“Bridge 1 is root”• Bridge 3 and 4:“Bridge 3 is root”
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy21
RSTP Protocol
Bridge 1
Bridge 4Bridge 2
Bridge 3
0. Disable all ports 1. Root election
Priority:B1 > B2B2 > B3B3 > B4
Only one root nodeis admitted
• Bridge 1 and 2:“Bridge 1 is root”• Bridge 3 and 4:“Bridge 3 is root”
13/12/2011
Proposal (3)
Proposal (1)
Proposal (1)Proposal (3)
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy22
RSTP Protocol
Bridge 1
Bridge 4Bridge 2
Bridge 3
0. Disable all ports 1. Root election
Priority:B1 > B2B2 > B3B3 > B4
Bridge 1 is nowthe root bridge
of all the network
13/12/2011
Agreement (1)
Proposal (1)
Proposal (1)Agreement (1)
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy23
RSTP Protocol
Bridge 1
Bridge 4Bridge 2
Bridge 3
0. Disable all ports 1. Root election
BPDU 1
BPDU 1
2. Determineleast cost path(set RP and DP)
R R
DD
BPDU 1
BPDU 1D D
R
13/12/2011
Priority:B1 > B2B2 > B3B3 > B4
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy24
RSTP Protocol
Bridge 1
Bridge 4Bridge 2
Bridge 3
0. Disable all ports 1. Root election
BPDU 1
BPDU 1
2. Determineleast cost path(set RP and DP)
R R
DD
BPDU 1
D D
R A
3. Disable other ports
13/12/2011
Priority:B1 > B2B2 > B3B3 > B4
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy25
RSTP Protocol
Bridge 1
Bridge 4Bridge 2
Bridge 3
0. Disable all ports 1. Root election
BPDU 1
BPDU 1
2. Determineleast cost path(set RP and DP)
R R
DD
BPDU 1
D D
R A
3. Disable other ports
Root continues BPDU 1 generation
Bridge generate BPDU 1every HELLO TIME
13/12/2011
Priority:B1 > B2B2 > B3B3 > B4
RSTPimprovment
BPDU 1
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy26
RSTP Reconfiguration
Bridge 1
Bridge 4Bridge 2
Bridge 3
BPDU 1
R R
DD
BPDU 1
D D
R A
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy27
RSTP Reconfiguration
Bridge 1
Bridge 4Bridge 2
Bridge 3
BPDU 1
R
D
BPDU 1
D D
R A
LINK
FAILURE
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy28
RSTP Reconfiguration
Bridge 1
Bridge 4Bridge 2
Bridge 3
BPDU 1
R
D
D
R A
Bridge 2B1 is disconnected…
I’m thenew ROOT bridge!
13/12/2011
1. Proposal (2)
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy29
RSTP Reconfiguration
Bridge 1
Bridge 4Bridge 2
Bridge 3
BPDU 1
R
D
D
R A
Bridge 2B1 is disconnected…
I’m thenew ROOT bridge!
Bridge 3I have a secondarypath to the current
root Bridge.Try to re-open it…
13/12/2011
1. Proposal (2)
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy30
RSTP Reconfiguration
Bridge 1
Bridge 4Bridge 2
Bridge 3
BPDU 1
R
D
D
Bridge 2B1 is disconnected…
I’m thenew ROOT bridge!
Bridge 3I have a secondarypath to the current
root Bridge.Try to re-open it…
13/12/2011
2. Proposal (1)
RD2. TCN
3. TCACK
2. TCN
3. TCACK
1. Proposal (2)
Topology change notification (TCN) and Topology Change ACK
(TCACK) clear infosabout how to reach
B3. They are sent every time a port
switch to forwarding state
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy31
RSTP Reconfiguration
Bridge 1
Bridge 4Bridge 2
Bridge 3
BPDU 1
R
D
D3. Agreement (1)
R
STP use timer and slow transition between portstates and takes more
than 30 seconds.RSTP may take less than
a second…
RSTP IMPROVEPERFORMANCE
Bridge 3I have a secondarypath to the current
root Bridge.Try to re-open it…
13/12/2011
R
D
Topology change notification (TCN) and Topology Change ACK
(TCACK) clear infosabout how to reach
B3. They are sent every time a port
switch to forwarding state
2. Proposal (1)
BPDU 1
Where
N - Number of switches
TL - Time required by a switch to detect a link failure (Net. pkts, hw detection,…)
TPA - Time required by a pair of switches to perform RST Proposal-Agreement
handshaking
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy32
RSTP results
Protocol IEEE Standard
Max Bridge
Diameter
Topology Single ring link failover time(for different number of switches)
10 – 15 -20
STP 802.1D 40 Any > 30 seconds
RSTP 802.1W 40 Any Several seconds
RSTP 802.1D-2004 40 Any < 50 ms - < 75 ms - < 100ms
TL + (N – 3)*TPA, if N is even
TL + (N – 2)*TPA, if N is odd
Worst case ring network failover time (single link failure):
13/12/2011
T3LAB Software support
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy33
• Ethernet
• VLAN
• PTP
• RSTP
• …
What else?
13/12/2011
µSwitch
Embedded switch
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy34
NODE
Switch• Intelligence on the device• Protocol runs on the switch• High cost
µSwitch• Intelligence moved to controller• Support of protocols• Low cost
Switch
13/12/2011
Abstract node
Eth
Eth
Eth Eth
Host
Eth
Eth
Eth Eth
Host
Mngmnt
SPI
SPI
RSTP
RSTP
HOST PORT
Mngmnt
Embedded switch: Host port
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy35
Host communicates with the otherhosts via ethernet using a µswitch’s special port (Host Port) µSwitch has N other ports Host uses SPI to check/set switch registers.The distinction between host port and other ports allow to:• RSTP traffic management: TAIL TAG,
static MAC table…• PTP traffic management (If it’s
supported): check message, packetstimestamping…
13/12/2011
EthHost SPI SPI
HOST PORT
Eth
µSwitch
MAC MII Phy Phy MII MAC
SPI
SPI
EthµSwitch
MAC
MII
MII
MAC
Host
Eth
Embedded node
Embedded switch: Tail Tag
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy36
Host
µSwitch
Host
µSwitch
Start
VLAN Filtering
Tail Tagging
Static Table Search
Dynamic TableSearch
End
13/12/2011
RSTP BPDU
EXCHANGE
Host
µSwitch
Host
µSwitch
DATA
TRANSFER
Host to host communicastion
Switch to switch communicastion
The RSTP BPDU exchange is a point to point communicationHow host select the switch’s destination port? How hostknows the switch’s source
port?TAIL TAG
µSwitch
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy37
Embedded switch: TX Tail tag
EthernetNIC module
RSTP protocol
Host
RSTPBPDU
TAIL
RSTPBPDU
RSTP send its BPDUthrough specific switch’s ports
How controller routes the packetsinto the µswitch?
TAIL TAG
Tail Tag enabled
13/12/2011
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy38
Embedded switch: TX Tail tag
EthernetNIC module
Applications
µSwitch
OtherPKT
Where is theTAIL TAG?
Tail Tag enabled
13/12/2011
Host
OtherPKT
T3LABEthernet
NIC moduleµSwitch
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy39
Embedded switch: TX Tail tag
ApplicationsOtherPKT
OtherPKT
TAIL
OtherPKT
T3LAB Ethernet NIC module:
1. Forward RSTP BPDU packets2. Add Tail Tag byte to other packets
Tail Tag enabled
13/12/2011
Host
µSwitch
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy40
Embedded switch: RX Tail tag
Applications
EthernetNIC module
OtherPKT
Tail Tag disabled
13/12/2011
Host
OtherPKT
µSwitch
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy41
Embedded switch: RX Tail tag
RSTP Protocol
Where is theTAIL TAG?
orWhich is
the source port?
EthernetNIC module
RSTPBPDU
Tail Tag disabled
13/12/2011
Host
RSTPBPDU
T3LABEthernet
NIC module
RSTP Protocol
µSwitch
RSTP BPDU
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy42
Embedded switch: RX Tail tag
T3LAB Ethernet NIC module
3. Forward RSTP BPDU packets tothe controller
4. Remove Tail Tag byte to otherpackets received
Tail Tag enabled
13/12/2011
Host
RSTPBPDU
TAIL
RSTPBPDU
TAIL
µSwitchT3LAB
EthernetNIC module
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy43
Embedded switch: RX Tail tag
Applications
OtherPKT
OtherPKT
TAIL
OtherPKT
T3LAB Ethernet NIC module
3. Forward RSTP BPDU packets tothe controller
4. Remove Tail Tag byte to otherpackets received
Tail Tag enabled
13/12/2011
Host
TCP/IP Improvements
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy44
• VLAN• Priority Management
• VLAN priority mapping• Differentiated services (DS)
• Routing Rules (Static and dynamicMAC table management)
• PTP timestamp(ApplicationLayer Driver / HW)
• Tail Tagging• Ethernet port monitoring
Stack:• Linux• Texas NDK BIOS• NucleusChallenge:• Socket structures modification (Texas NDK BIOS, Nucleus)• Missing operation (recvmsg in Texas NDK BIOS, …)• Priority management (Nucleus)
• Association between VLAN and priority
Switch configurationProtocol challenge
Stack challenge
13/12/2011
T3LAB Software support
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy45
µSwitch
Hardware
PTP RSTPNET
CONTROLLER
Ethernet
IP
UDP TCP
Host Net Controlleris the demo
network monitor
13/12/2011
T3LAB Software support
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy46
µSwitch
13/12/2011
SPIETH CABLE
PTP RSTP
Host
What about an HW change?
Custom protocols foreach platform...
High porting cost!
T3LAB Software support
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy47
µSwitch
13/12/2011
PTP RSTP
Host
NETCONTROLLER
SPI
+ T3LAB Porting KIT
SPIETH CABLE
High costreduction!
TASK MEM NET TIME SWITCH
T3LAB Software support
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy48
• Clock synchronization via PTP
• Network management via RSTP
• VLAN support
• HW and OS isolation
• Fast porting to a new architecture
13/12/2011
Demo T3LAB
• BeagleBoard xM
• Texas InstrumentsDaVinci
Board
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy4913/12/2011
Other T3LAB boards:• Microcontroller STR9 Dongle• FPGA Spartan 6 (Micro Blaze
Softcore)• Zynq 7000
• Cisco 300 Series
• Marvell 88E7251Switch
• Micrel KS8895
• Micrel KSZ8463µSwitch
Demo T3LAB
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy50
Switch Cisco300 Series
Switch Marvell88E7251
13/12/2011
µSwitch MicrelKSZ8463
BeagleBoard xM
µSwitch MicrelKSZ8895
Texas DaVinci
µSwitch MicrelKSZ8463
PC Windows+
Browser connected to
Webserver+
VLC
PC Linux+
Webserver+
PTP Master
BeagleBoard xM
Demo T3LAB
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy5113/12/2011
Net Controllerretrieve infos fromall the monitorednodes and show
them in a web page
Demo T3LAB
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy5213/12/2011
ROOT nodePath cost is 0
Alternate portThe network break is
here becausethis BBxM has a lower
ID then the Cisco
Bridge50
Bridge100
Bridge32768
Bridge4096
Bridge32769
The monitorshows you the
current network topology and the
ports status
Demo T3LAB
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy5313/12/2011
The browser executes HTTP request to the webserver
for video and time(PHP service).
If there isn’t an answerstop the video and show a
message
A video is showed using VLCThe buffering is setted to 1
second but the video flow iscontinuos
Demo T3LAB
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy5413/12/2011
Bridge50
Bridge100
Bridge32768
Bridge4096
Bridge32769
Bridge 32769Port 1 from root to
designatedPort 2 from alternate
to root
After a network breakRSTP reconfigures the
network
Demo T3LAB
Standard Ethernet for Industrial
Applications - T3LAB Bologna - Italy5513/12/2011
PTP chartsAll the monitorednodes send ptp
information to the net controller
A special page shows a single chart and
compute statistics on PTP data
Standard Ethernet for Industrial Applications - T3LAB Bologna - Italy56
Simone Cilli
• +39 051 [email protected]
Claudio Salati
• +39 051 [email protected]
Thank you!Questions?
Contacts
13/12/2011
Bibliography• “Understanding Rapid Spanning Tree Protocol (802.1W)”, Cisco,
Document ID: 24062;
• “Rapid Spanning Tree Protocol: A new solution from an old technology”, Wald Wojdak, TELECOM, Reprinted from CompactPCI System / March 2003;
• “Performance of the Rapid Spanning Tree Protocol in Ring Network Topology”, Michael Pustylnik, Mira Zafirovic-Vukotic, Roger Moore, RuggedCom, Inc.
• IEEE 802.1D-2004
Standard Ethernet for Industrial Applications - T3LAB Bologna - Italy5713/12/2011