This continues the discussion I had the other day on ring technologies. My first set of comments on this technology was generic. I’m now going to talk in more detail about how ring technologies are implemented in EtherNet/IP.
A couple of ground rules for this game. One, every node in the network is assumed to have two Ethernet ports and some sort of embedded switch. The switch itself doesn’t matter. Managed, unmanaged, (managed badly like the Detroit lions?), it doesn’t matter. As long as every node is capable of receiving a message on one port and either consuming it because it has a destination IP Address matching it’s IP or passing it out the other port. On your scorecard, note that these nodes are called ring nodes [No, it doesn’t stand for redundant insertable network gizmos]. And Two, by definition ring nodes are not switches and routers though these devices can be in the ring. They’ll just mess up the timing on fault conditions.
Ring nodes can be connected linearly and operated just like a bunch of nodes connected by switches. In fact, that’s what they really are. And if you think you’d like to get cute and connect one end of this linear ring to the other end and make it a real ring, you’re in for some fun. Nothing’s going to work. Any message (like an arp) that is transmitted by a ring node will be passed on and passed on and passed on. Soon every slot in the Ethernet link will be filled because there’s no one to remove messages that have traveled around the ring.
That’s the job of the Ring Supervisor. He’s the king of the ring (note the rhyming)! His job is to stop and discard messages that have traveled all through the ring and free up those slots. Even more importantly, he has the job of transmitting the Beacon and Announce frames.
The Beacon and Announce frames announce to the ring nodes that they are no longer in linear mode and that a ring supervisor is now controlling ring operation. Beacon frames are sent out both ports of the ring supervisor while announce frames are only sent out of one.
Beacon frames are used to select one ring supervisor when there are several applying for the job. A precedence value in the frame gives the job to the first (oldest) ring supervisor. Beacon frames that don’t return to the ring supervisor after touring the ring alert the ring supervisor of a ring failure.
Announce frames are frames that announce network ring status. Announce frames are sent less often than the Beacon Frames.