La surveillance du réseau est dédiée à une (ou plusieurs) station(s) moniteur. N'importe quelle station peut être moniteur soit dans l'état actif soit dans l'état passif (standby). Un seule station est moniteur actif à un instant donné.
La détection d'une défaillance sur le réseau est basée sur la notion de "notification de voisinage" (Neighbor Notification). Ce mécanisme utilise les bits A et C de l'octet d'état de chaque trame. Quand une trame est diffusée à toutes les stations du réseau, la première qui reconnaît l'adresse de diffusion passe les bits A à 1 et la première qui peut la copier (la même souvent) passe les bits C à 1. Ainsi pour une trame diffusée une station quelconque trouve le plus souvent ces bits à 1. Seul un moniteur actif peut les remettre à 0.
Le moniteur actif commence une "notification de voisinage" en diffusant une trame AMP (moniteur actif présent). La station immédiatement en aval met les bits A et C (si possible) à 1 et essaie de copier la trame . L'analyse de l'adresse lui donne son "voisin amont".
Dès que possible, un moniteur passif (standby) diffuse une trame SMP (moniteur passif présent) qui permet de proche en proche à chaque station d'identifier son voisin amont.
Chaque station passive a une temporisation "chien de garde" remise à zéro au passage d'une trame AMP. Si cette temporisation expire une station active commence la transmission d'une trame "claim_token" pour tenter de devenir moniteur actif.
En cas de défaut (coupure de l'anneau) celui-ci est détecté par la station en aval du défaut qui devient " station balise " (beacon DTE) et permet d'identifier la station en amont du défaut comme son voisin amont et ainsi de pouvoir notifier correctement ce défaut par une trame "balise".