IEEE 802.1D 2004
$58.50
IEEE Standard for Local and metropolitan area networks: Media Access Control (MAC) Bridges
Published By | Publication Date | Number of Pages |
IEEE | 2004 | 281 |
Revision Standard – Active. IEEE Std 802.1D-2004, IEEE Standard for Local and Metropolitan Area Networks: Media Access Control (MAC) Bridges. The PDF of this standard is available at no charge compliments of the IEEE 802 Working group. Visit http://standards.ieee.org/about/get/index.html for details.
PDF Catalog
PDF Pages | PDF Title |
---|---|
1 | Cover page |
3 | Title page |
5 | Introduction |
6 | Participants |
8 | CONTENTS |
13 | 1. Overview 1.1 Introduction 1.2 Scope |
15 | 2. References |
17 | 3. Definitions 3.1 Bridged Local Area Network 3.2 Expedited traffic 3.3 Group 3.4 IEEE 802 Local Area Network (LAN) |
19 | 4. Abbreviations |
21 | 5. Conformance 5.1 Required capabilities 5.2 Optional capabilities |
22 | 5.3 Protocol Implementation Conformance Statement 5.4 Recommendations 5.5 MAC-specific bridging methods |
23 | 6. Support of the MAC Service 6.1 Support of the MAC Service |
24 | 6.2 Preservation of the MAC Service 6.3 Quality of Service maintenance 6.3.1 Service availability |
25 | 6.3.2 Frame loss 6.3.3 Frame misordering 6.3.4 Frame duplication |
26 | 6.3.5 Frame transit delay 6.3.6 Frame lifetime 6.3.7 Undetected frame error rate 6.3.8 Maximum Service Data Unit Size |
27 | 6.3.9 Frame priority 6.3.10 Throughput |
28 | 6.4 Internal Sublayer Service provided within the MAC Bridge 6.4.1 Service primitives |
30 | 6.4.2 MAC status parameters 6.4.3 Point-to-Point MAC parameters |
31 | 6.5 Support of the Internal Sublayer Service by specific MAC procedures 6.5.1 Support by IEEE Std 802.3 (CSMA/CD) |
32 | 6.5.2 Support by IEEE Std 802.5 (token-passing ring) |
33 | 6.5.3 Support by fibre distributed data interface (FDDI) |
35 | 6.5.4 Support by IEEE Std 802.11 (Wireless LANs) |
36 | 6.6 Filtering services in Bridged Local Area Networks 6.6.1 Purpose(s) of filtering service provision 6.6.1.1 Administrative control 6.6.1.2 Throughput and end station load 6.6.2 Goals of filtering service provision 6.6.3 Users of filtering services |
37 | 6.6.4 Basis of service 6.6.5 Categories of service 6.6.6 Service configuration |
38 | 6.6.7 Service definition for Extended Filtering Services 6.6.7.1 Dynamic registration and de-registration services |
41 | 7. Principles of Bridge operation 7.1 Bridge operation 7.1.1 Relay 7.1.2 Filtering and relaying information |
42 | 7.1.3 Bridge management |
43 | 7.2 Bridge architecture |
44 | 7.3 Model of operation |
47 | 7.4 Port States and the active topology 7.5 Frame reception |
48 | 7.5.1 Regenerating user priority |
49 | 7.6 Frame transmission 7.7 The Forwarding Process |
50 | 7.7.1 Active topology enforcement |
51 | 7.7.2 Frame filtering 7.7.3 Queuing frames |
52 | 7.7.4 Transmission selection 7.7.5 Priority mapping |
53 | 7.7.6 FCS recalculation 7.8 The Learning Process |
54 | 7.9 The Filtering Database |
55 | 7.9.1 Static Filtering Entries |
56 | 7.9.2 Dynamic Filtering Entries |
57 | 7.9.3 Group Registration Entries |
58 | 7.9.4 Default Group filtering behavior |
59 | 7.9.5 Querying the Filtering Database |
60 | 7.9.6 Permanent Database |
61 | 7.10 Spanning Tree Protocol Entity and GARP Entities 7.11 Bridge management 7.12 Addressing 7.12.1 End stations 7.12.2 Bridge Ports |
62 | 7.12.3 Spanning Tree Protocol Entities and GARP Entities |
64 | 7.12.4 Bridge Management Entities 7.12.5 Unique identification of a bridge 7.12.6 Reserved addresses |
65 | 7.12.7 Points of attachment and connectivity for Higher-Layer Entities |
69 | 8. Spanning tree algorithm and protocol |
71 | 9. Encoding of bridge protocol data units 9.1 Structure 9.1.1 Transmission and representation of octets 9.1.2 Components 9.2 Encoding of parameter types 9.2.1 Encoding of protocol identifiers 9.2.2 Encoding of protocol version identifiers 9.2.3 Encoding of BPDU types 9.2.4 Encoding of flags 9.2.5 Encoding of Bridge Identifiers |
72 | 9.2.6 Encoding of Root Path Cost 9.2.7 Encoding of Port Identifiers 9.2.8 Encoding of Timer Values |
73 | 9.2.9 Encoding of Port Role values 9.2.10 Encoding of Length Values 9.3 BPDU formats and parameters 9.3.1 Configuration BPDUs |
74 | 9.3.2 Topology Change Notification BPDUs |
75 | 9.3.3 Rapid Spanning Tree BPDUs (RST BPDUs) 9.3.4 Validation of received BPDUs |
79 | 10. GARP Multicast Registration Protocol (GMRP) 10.1 Purpose 10.2 Model of operation |
80 | 10.2.1 Propagation of Group Membership information |
81 | 10.2.2 Propagation of Group service requirement information 10.2.3 Source pruning 10.2.4 Use of Group service requirement registration by end stations |
82 | 10.3 Definition of the GMRP Application 10.3.1 Definition of GARP protocol elements 10.3.1.1 Use of GIP Contexts by GMRP 10.3.1.2 GMRP Application address 10.3.1.3 Encoding of GMRP Attribute Types 10.3.1.4 Encoding of GMRP Attribute Values |
83 | 10.3.2 Provision and support of Extended Filtering Services 10.3.2.1 End system registration and de-registration 10.3.2.2 Registration and de-registration events |
84 | 10.3.2.3 Administrative controls 10.4 Conformance to GMRP 10.4.1 Conformance to GMRP in MAC Bridges |
85 | 10.4.2 Conformance to GMRP in end stations |
87 | 11. Example “C” code implementation of GMRP |
89 | 12. Generic Attribute Registration Protocol (GARP) 12.1 GARP overview |
91 | 12.2 GARP architecture |
92 | 12.2.1 GARP Applications 12.2.2 GID |
93 | 12.2.2.1 Declarations 12.2.2.2 Registration 12.2.3 GIP |
94 | 12.2.4 GARP Information Propagation Context 12.3 Requirements to be met by GARP |
95 | 12.4 Requirements for interoperability between GARP Participants 12.5 Conformance to GARP Applications |
96 | 12.6 Protocol Operation 12.6.1 Basic notions 12.6.2 GARP Messages |
97 | 12.6.3 Applicant and Registrar |
98 | 12.6.4 Registrar behavior 12.6.5 Applicant behavior 12.6.5.1 Anxious Applicants |
99 | 12.6.5.2 Members and Observers 12.6.5.3 Active and Passive Members 12.6.5.4 Receiving a Leave |
100 | 12.6.5.5 Leaving 12.6.5.6 Applicant State Summary 12.6.6 The Leave All protocol component 12.6.7 Applicant-Only Participants |
101 | 12.6.8 Simple-Applicant Participants 12.6.9 Choice of Applicant-Only Participant or Simple-Applicant Participant 12.6.10 Use of GARP in point-to-point LANs |
102 | 12.7 State machine descriptions |
103 | 12.7.1 Applicant state machine |
104 | 12.7.2 Registrar state machine 12.7.3 Leave All state machine 12.7.4 Combined Applicant and Registrar state machine |
105 | 12.7.5 Applicant Only GARP Participant |
107 | 12.7.6 Simple-Applicant Participant 12.8 Administrative controls 12.8.1 Registrar Administrative Control values |
108 | 12.8.2 Applicant Administrative Control values 12.9 Procedures |
109 | 12.9.1 Discarding badly formed GARP PDUs 12.9.2 Protocol parameters and timers 12.9.2.1 jointimer 12.9.2.2 leavetimer 12.9.2.3 leavealltimer 12.9.3 Protocol event definitions 12.9.3.1 Initialize 12.9.3.2 ReqJoin 12.9.3.3 ReqLeave |
110 | 12.9.3.4 rJoinIn 12.9.3.5 rJoinEmpty 12.9.3.6 rEmpty 12.9.3.7 rLeaveIn |
111 | 12.9.3.8 rLeaveEmpty 12.9.3.9 LeaveAll 12.9.3.10 leavetimer! 12.9.3.11 leavealltimer! 12.9.3.12 transmitPDU! |
112 | 12.9.4 Action definitions 12.9.4.1 -x- 12.9.4.2 sJ[E, I], sJ[I] 12.9.4.3 sE 12.9.4.4 sLE |
113 | 12.9.4.5 sLeaveAll 12.9.4.6 Start leavetimer 12.9.4.7 Stop leavetimer 12.9.4.8 Start leavealltimer 12.9.4.9 IndJoin 12.9.4.10 IndLeave 12.9.4.11 Failure to register 12.10 Structure and encoding of GARP Protocol Data Units |
114 | 12.10.1 Structure 12.10.1.1 Transmission and representation of octets 12.10.1.2 Structure definition |
115 | 12.10.2 Encoding of GARP PDU parameters 12.10.2.1 Encoding of Protocol Identifier 12.10.2.2 Encoding of Attribute Type |
116 | 12.10.2.3 Encoding of Attribute Length 12.10.2.4 Encoding of Attribute Event 12.10.2.5 Encoding of LeaveAll Event 12.10.2.6 Encoding of Attribute Value 12.10.2.7 Encoding of End Mark |
117 | 12.10.3 Packing and parsing GARP PDUs 12.10.3.1 Packing 12.10.3.2 Parsing 12.10.3.3 Discarding unrecognized information |
118 | 12.11 Timer values, granularity and relationships 12.11.1 Timer values 12.11.2 Timer resolution 12.11.3 Timing relationships 12.12 Interoperability considerations |
121 | 13. Example “C” code implementation of GARP |
123 | 14. Bridge management 14.1 Management functions 14.1.1 Configuration Management 14.1.2 Fault Management 14.1.3 Performance Management |
124 | 14.1.4 Security Management 14.1.5 Accounting Management 14.2 Managed objects 14.3 Data types |
125 | 14.4 Bridge Management Entity 14.4.1 Bridge Configuration 14.4.1.1 Discover Bridge |
126 | 14.4.1.2 Read Bridge 14.4.1.3 Set Bridge Name 14.4.1.4 Reset Bridge |
127 | 14.4.2 Port Configuration 14.4.2.1 Read Port 14.4.2.2 Set port name |
128 | 14.5 MAC Entities 14.6 Forwarding Process 14.6.1 The Port Counters 14.6.1.1 Read Forwarding Port Counters |
129 | 14.6.2 Priority Handling 14.6.2.1 Read Port Default User Priority 14.6.2.2 Set Port Default User Priority 14.6.2.3 Read Port User Priority Regeneration Table |
130 | 14.6.2.4 Set Port User Priority Regeneration Table 14.6.3 Traffic Class Table 14.6.3.1 Read Port Traffic Class Table 14.6.3.2 Set Port Traffic Class Table |
131 | 14.6.3.3 Read Outbound Access Priority Table 14.7 Filtering Database 14.7.1 The Filtering Database |
132 | 14.7.1.1 Read Filtering Database 14.7.1.2 Set Filtering Database ageing time 14.7.2 A Static Filtering Entry 14.7.3 A Dynamic Filtering Entry |
133 | 14.7.4 A Group Registration Entry 14.7.5 Permanent Database 14.7.5.1 Read Permanent Database 14.7.6 General Filtering Database operations 14.7.6.1 Create Filtering Entry |
134 | 14.7.6.2 Delete Filtering Entry 14.7.6.3 Read filtering entry |
135 | 14.7.6.4 Read Filtering Entry range 14.8 Spanning Tree Protocol Entity |
136 | 14.8.1 The Protocol Entity 14.8.1.1 Read Spanning Tree Protocol parameters 14.8.1.2 Set Spanning Tree Protocol parameters |
137 | 14.8.2 Bridge Port 14.8.2.1 Read Port Parameters |
138 | 14.8.2.2 Force port state 14.8.2.3 Set Port Parameters |
139 | 14.8.2.4 Force BPDU Migration Check 14.9 GARP Entities 14.9.1 The GARP Timers object 14.9.1.1 Read GARP Timers |
140 | 14.9.1.2 Set GARP Timers 14.9.2 The GARP Attribute Type object 14.9.2.1 Read GARP Applicant controls 14.9.2.2 Set GARP Applicant controls |
141 | 14.9.3 The GARP State Machine object 14.9.3.1 Read GARP State 14.10 GMRP entities 14.10.1 GMRP Configuration managed object |
142 | 14.10.1.1 Read GMRP Configuration 14.10.1.2 Notify Group registration failure 14.10.1.3 Configure Restricted_Group_Registration parameters |
145 | 15. Management protocol |
147 | 16. Bridge performance 16.1 Guaranteed Port Filtering Rate 16.2 Guaranteed Bridge Relaying Rate |
149 | 17. Rapid Spanning Tree Protocol (RSTP) 17.1 Protocol design requirements |
150 | 17.2 Protocol support requirements 17.3 RSTP overview |
151 | 17.3.1 Computation of the active topology |
152 | 17.3.2 Example topologies |
155 | 17.4 STP compatibility 17.5 Spanning tree priority vectors 17.6 Priority vector calculations |
157 | 17.7 Port Role assignments 17.8 Communicating spanning tree information 17.9 Changing spanning tree information |
158 | 17.10 Changing Port States |
160 | 17.11 Updating learned station location information |
163 | 17.12 RSTP and point-to-point links 17.13 RSTP performance parameters |
164 | 17.13.1 Admin Edge Port 17.13.2 Ageing Time 17.13.3 AutoEdge 17.13.4 Force Protocol Version 17.13.5 Bridge Forward Delay 17.13.6 Bridge Hello Time 17.13.7 Bridge Identifier Priority 17.13.8 Bridge Max Age 17.13.9 Migrate Time 17.13.10 Port Identifier Priority 17.13.11 PortPathCost |
165 | 17.13.12 Transmit Hold Count 17.14 Performance parameter management |
167 | 17.15 Rapid Spanning Tree state machines 17.16 Notational conventions used in state diagrams |
169 | 17.17 State machine timers |
170 | 17.17.1 edgeDelayWhile 17.17.2 fdWhile 17.17.3 helloWhen 17.17.4 mdelayWhile 17.17.5 rbWhile 17.17.6 rcvdInfoWhile 17.17.7 rrWhile 17.17.8 tcWhile 17.18 Per-Bridge variables 17.18.1 BEGIN |
171 | 17.18.2 BridgeIdentifier 17.18.3 BridgePriority 17.18.4 BridgeTimes 17.18.5 rootPortId 17.18.6 rootPriority 17.18.7 rootTimes 17.19 Per-Port variables 17.19.1 ageingTime 17.19.2 agree 17.19.3 agreed |
172 | 17.19.4 designatedPriority 17.19.5 designatedTimes 17.19.6 disputed 17.19.7 fdbFlush 17.19.8 forward 17.19.9 forwarding 17.19.10 infoIs 17.19.11 learn 17.19.12 learning |
173 | 17.19.13 mcheck 17.19.14 msgPriority 17.19.15 msgTimes 17.19.16 newInfo 17.19.17 operEdge 17.19.18 portEnabled 17.19.19 portId 17.19.20 PortPathCost 17.19.21 portPriority 17.19.22 portTimes |
174 | 17.19.23 proposed 17.19.24 proposing 17.19.25 rcvdBPDU 17.19.26 rcvdInfo 17.19.27 rcvdMsg 17.19.28 rcvdRSTP 17.19.29 rcvdSTP 17.19.30 rcvdTc 17.19.31 rcvdTcAck 17.19.32 rcvdTcn 17.19.33 reRoot 17.19.34 reselect 17.19.35 role |
175 | 17.19.36 selected 17.19.37 selectedRole 17.19.38 sendRSTP 17.19.39 sync 17.19.40 synced 17.19.41 tcAck 17.19.42 tcProp 17.19.43 tick 17.19.44 txCount 17.19.45 updtInfo |
176 | 17.20 State machine conditions and parameters 17.20.1 AdminEdge 17.20.2 AutoEdge 17.20.3 allSynced 17.20.4 EdgeDelay 17.20.5 forwardDelay 17.20.6 FwdDelay 17.20.7 HelloTime 17.20.8 MaxAge 17.20.9 MigrateTime 17.20.10 reRooted 17.20.11 rstpVersion |
177 | 17.20.12 stpVersion 17.20.13 TxHoldCount 17.21 State machine procedures 17.21.1 betterorsameinfo(newInfoIs) 17.21.2 clearReselectTree() 17.21.3 disableForwarding() 17.21.4 disableLearning() 17.21.5 enableForwarding() |
178 | 17.21.6 enableLearning() 17.21.7 newTcWhile() 17.21.8 rcvInfo() 17.21.9 recordAgreement() |
179 | 17.21.10 recordDispute() 17.21.11 recordProposal() 17.21.12 recordPriority() 17.21.13 recordTimes() 17.21.14 setSyncTree() 17.21.15 setReRootTree() 17.21.16 setSelectedTree() 17.21.17 setTcFlags() 17.21.18 setTcPropTree() 17.21.19 txConfig() |
180 | 17.21.20 txRstp() 17.21.21 txTcn() 17.21.22 updtBPDUVersion() 17.21.23 updtRcvdInfoWhile() 17.21.24 updtRoleDisabledTree() |
181 | 17.21.25 updtRolesTree() |
182 | 17.22 Port Timers state machine 17.23 Port Receive state machine |
183 | 17.24 Port Protocol Migration state machine 17.25 Bridge Detection state machine |
184 | 17.26 Port Transmit state machine |
185 | 17.27 Port Information state machine |
186 | 17.28 Port Role Selection state machine 17.29 Port Role Transitions state machine |
187 | 17.29.1 Disabled Port states 17.29.2 Root Port states |
188 | 17.29.3 Designated Port states |
189 | 17.29.4 Alternate and Backup Port states 17.30 Port State Transition state machine |
190 | 17.31 Topology Change state machine |
191 | 17.32 RSTP performance requirements |
193 | 18. Bridge Detection state machine |
195 | Annex A—PICS Proforma A.1 Introduction A.2 Abbreviations and special symbols A.2.1 Status symbols A.2.2 General abbreviations |
196 | A.3 Instructions for completing the PICS proforma A.3.1 General structure of the PICS proforma A.3.2 Additional information A.3.3 Exception information |
197 | A.3.4 Conditional status A.3.4.1 Conditional items A.3.4.2 Predicates |
198 | A.4 PICS proforma for IEEE Std 802.1D A.4.1 Implementation identification A.4.2 Protocol summary, IEEE Std 802.1D |
199 | A.5 Major Capabilities |
200 | A.6 Media Access Control Methods |
201 | A.7 Relay and filtering of frames |
202 | A.8 Basic Filtering Services |
203 | A.9 Addressing |
204 | A.10 Rapid Spanning Tree Protocol |
205 | A.11 BPDU Encoding A.12 Implementation Parameters |
206 | A.13 Performance |
207 | A.14 Bridge management |
208 | A.15 Remote Management A.16 Expedited Traffic Classes A.17 Extended Filtering Services |
209 | A.18 GMRP |
210 | A.19 GARP |
211 | Annex B—Calculating spanning tree parameters |
213 | Annex C—Source-routing transparent bridge operation C.1 Overview C.1.1 Scope |
214 | C.1.2 Definitions C.1.2.1 ARE Rd limit C.1.2.2 Explorer frame C.1.2.3 LAN-in ID (LIN) C.1.2.4 LAN-out ID (LOUT) C.1.2.5 parallel bridges C.1.2.6 route C.1.2.7 route control C.1.2.8 route descriptor C.1.2.9 route discovery C.1.2.10 routing information C.1.2.11 source routing |
215 | C.1.2.12 spanning tree C.1.2.13 STE Rd Limit C.1.2.14 Transparent Bridging C.1.2.15 Abbreviations C.1.3 Conformance |
216 | C.1.3.1 Static conformance requirements C.1.3.2 Dynamic conformance requirements C.2 Support of the MAC Service C.2.1 Support of the MAC Service C.2.2 Preservation of the MAC Service C.2.3 Quality of service maintenance C.2.3.1 Frame misordering |
217 | C.2.3.2 Frame duplication C.2.3.3 Undetected frame error rate C.2.3.4 Maximum service data unit size supported C.2.4 Internal sublayer service |
218 | C.2.4.1 Interactions C.2.4.2 Detailed service specification |
219 | C.2.5 Support of the internal sublayer service C.2.5.1 Support of token ring |
220 | C.2.5.2 Support of FDDI C.3 Principles of operation C.3.1 Source-routing bridge operation C.3.1.1 Relay of data frames C.3.1.2 Dissemination of routing information |
221 | C.3.1.3 Bridge management C.3.2 Bridge architecture |
222 | C.3.3 Bridge operation C.3.3.1 Source-routing function overview C.3.3.2 Source-routing information field |
226 | C.3.3.3 Source-routing frame types |
227 | C.3.3.4 Bridge processing of source-routed frames C.3.4 Port state information C.3.5 Frame reception C.3.6 Frame transmission C.3.7 Frame forwarding |
228 | C.3.7.1 Specifically routed data frames (RT=0XX) C.3.7.2 All Routes Explorer frames (RT=10X) |
231 | C.3.7.3 Spanning Tree Explorer (STE) frames |
233 | C.3.7.4 Duplicate Bridge number test C.3.7.5 Queued frames |
234 | C.3.7.6 Selecting frames for transmission C.3.7.7 Priority mapping C.3.8 Addressing C.3.8.1 LAN ID C.3.8.2 Bridge number C.3.8.3 Route descriptor |
235 | C.4 Bridge management C.4.1 Bridge management entity C.4.1.1 Bridge configuration |
236 | C.4.2 Forwarding process C.4.2.1 The port counters C.4.3 SRT Bridge management entity C.4.3.1 SRT Bridge configuration |
237 | C.4.3.2 SRT Port configuration |
238 | C.4.4 SRT Bridge port pair database |
239 | C.4.4.1 SRT bridge port pair configuration C.5 Management protocol |
241 | Annex D—PICS Proforma for source-routing transparent bridge operation D.1 Introduction D.2 Relay and filtering of frames |
242 | D.3 Bridge numbers and LAN IDs D.4 Bridge management |
243 | Annex E—Allocation of Object Identifier values |
245 | Annex F—Preserving the integrity of FCS fields in MAC Bridges F.1 Background F.2 Basic mathematical ideas behind CRC and FCS |
247 | F.3 Detection Lossless Circuit approach |
248 | F.4 Algorithmic modification of an FCS F.4.1 Data changed, length unchanged |
249 | F.4.2 Length changed, original data unchanged |
250 | F.4.3 Preservation of detectability |
251 | F.5 Conclusions |
253 | Annex G—User priorities and traffic classes G.1 Traffic types G.2 What are we managing? |
254 | G.3 Traffic type to traffic class mapping |
256 | G.3.1 Traffic types and user priority values |
257 | Annex H—Generic Attribute Registration Protocol Design H.1 Use of an unconfirmed protocol H.2 Design of the Applicant state machine |
258 | H.3 Design of the Registrar state machine H.4 Analysis of GARP State Machine Operation |
259 | H.4.1 Initial Join Scenarios |
261 | H.4.2 Last to Leave Scenarios |
263 | H.4.3 Leave/Rejoin Scenarios-Single Member |
266 | H.4.4 Backbone LAN Initial Join Scenarios |
269 | H.4.5 Shared media LAN scenarios |
273 | Annex I—Introduction of GARP, GMRP, and Extended Filtering Services I.1 Migration considerations I.1.1 Heterogeneous Bridge environments I.1.2 Heterogeneous end station environments I.1.2.1 Use of Basic Filtering Mode and legacy bridges |
274 | I.1.2.2 Use of Forward All Groups I.1.2.3 Use of Forward Unregistered Groups I.1.2.4 Use of Filter Unregistered Groups |
275 | I.1.2.5 Use of a common set of addresses I.2 Interoperability with higher-layer multicast protocols and related issues I.2.1 IP multicast |
276 | I.2.2 Monitoring multicast traffic |
277 | Annex J—RSTP Migration J.1 Overview of protocol changes J.2 BPDU formats |
279 | Annex K—Frame duplication and misordering K.1 Background K.2 Frame duplication |
280 | K.3 Frame misordering |
281 | K.4 Other considerations |