FRER(Frame Replication and Elimination for Reliability)는 IEEE 802.1CB가 규정하는 메커니즘으로, 스트림의 패킷마다 순서번호(sequence number)를 매겨 복제한 뒤 서로 다른 경로로 동시에 전송하고, 목적지에서 중복 패킷을 제거해 패킷 전달 확률을 높인다. 한 경로에 장애가 나도 다른 경로의 복제 패킷이 도착하면 데이터 손실 없이 전달이 이어지며, 이렇게 애플리케이션이 인지하지 못하는 사이 이뤄지는 이 이중화가 FRER의 목표다[1].
Member Stream과 Compound Stream
원본 스트림에 순서번호를 매겨 복제한 뒤 서로 다른 경로로 나눈 각 스트림을 Member Stream이라 하고, 이 Member Stream들이 이루는 원본 스트림 전체를 Compound Stream이라 한다. 목적지에서는 여러 Member Stream을 합쳐 순서번호가 같은 중복 패킷을 제거함으로써 원래의 단일 스트림을 복원한다[1].
복제·제거 지점의 유연한 배치
패킷을 복제하는 sequence generation 기능과 중복을 제거하는 sequence recovery 기능은 종단 장치(Talker·Listener)의 프로토콜 스택에 둘 수도 있고, 중계 장치(Bridge)의 프로토콜 스택에 둘 수도 있다 — 심지어 FRER를 지원하지 않는 인접 종단 장치를 대신해 Bridge가 그 장치를 대리(proxy)할 수도 있다. 이 유연성 덕분에 실제 배치는 Talker가 복제하고 Listener가 제거하는 종단 간 구성, Bridge가 복제하고 Listener가 제거하는 구성, Bridge가 복제하고 다른 Bridge가 제거하는 구성 등 다양하게 조합할 수 있다[1].
Redundancy Tag
복제된 패킷의 순서번호는 Redundancy Tag(R-TAG)라는 별도 태그에 실려 프레임에 삽입된다 — 목적지의 sequence recovery 기능은 이 순서번호로 이미 받은 패킷과 같은 번호를 가진 패킷을 중복으로 판정해 제거한다[1].
FRER는 경로 자체를 만드는 방법은 규정하지 않으며, 복제된 패킷이 지나는 서로 다른 경로는 VLAN이나 SRP 같은 별도 메커니즘으로 구성된다[1]. 스트림을 식별하는 stream_handle은 Per-Stream Filtering and Policing에서도 그대로 재사용된다[2].