TSN 표준 분석 — IEEE 802.1 Time-Sensitive Networking 개요
#한 줄 요약
“TSN은 하나의 프로토콜이 아니라 IEEE 802.1이 모은 toolkit입니다.” — 시간 동기는 802.1AS, 게이트는 Qbv, 선점은 Qbu, 필터링은 Qci, redundancy는 CB, 설정은 Qcc가 맡습니다. 이 6개를 알면 TSN 시스템이 보입니다.
EtherCAT·PROFINET·POWERLINK는 모두 각자의 방식으로 표준 Ethernet에 결정성을 만들었습니다. TSN의 출발은 “이걸 벤더 중립으로 표준화하자”입니다. IEEE 802.1 working group이 2016년부터 약 9개의 부속 표준으로 쪼개서 발표해 왔습니다.
이 장은 그 표준들을 기능 단위로 묶어 한 번에 정리합니다. 다음 장(Ch 9)이 어떻게 스케줄을 짜는지의 깊이 있는 이야기로 들어가므로, 여기서는 각 표준이 무엇을 책임지는지에 집중합니다.
#왜 TSN인가 — 표준화의 가치
EtherCAT은 daisy-chain + on-the-fly, PROFINET IRT는 IRT slot, POWERLINK는 polling. 각 프로토콜이 수십 µs jitter를 만드는 방법은 다 다릅니다.
이게 공장에서는 견딜만 합니다. 한 라인 안에서는 한 프로토콜만 쓰니까요. 문제는 공장과 IT가 만날 때입니다.
- 데이터 수집 — 모든 PLC가 다른 프로토콜이라 게이트웨이가 9개 필요.
- 카메라·AI 추론 — 비결정적 트래픽과 결정적 트래픽이 같은 망에 섞이지 않음.
- Industry 4.0 — OPC UA Pub/Sub이 결정적 채널을 요구함.
TSN은 이 분리된 두 세계를 같은 케이블에 결정적·비결정적이 공존하는 한 네트워크로 묶습니다. 자동차의 AVB(Audio Video Bridging)에서 시작된 시리즈가 산업·5G fronthaul로 확장된 결과입니다.
#TSN 표준 한눈 매핑
| 표준 | 별명 | 기능 |
|---|---|---|
| 802.1AS | gPTP | 시간 동기 (sub-µs) |
| 802.1AS-2020 | gPTP-Rev | redundant grandmaster·hot standby |
| 802.1Qbv | TAS | Time-Aware Shaper — gate control list |
| 802.1Qbu | Preemption | 프레임 선점 (큰 BE 프레임 중단) |
| 802.3br | (Qbu 짝꿍) | MAC 레벨 preemption signaling |
| 802.1Qci | PSFP | Per-Stream Filtering & Policing |
| 802.1CB | FRER | Frame Replication and Elimination for Reliability |
| 802.1Qcc | (관리) | Stream Reservation + YANG model |
| 802.1Qch | CQF | Cyclic Queuing & Forwarding |
| 802.1Qbz | (브리지 확장) | (less relevant for industrial) |
산업용 TSN에서 반드시 보는 다섯은 AS·Qbv·Qbu·Qci·CB입니다. Qcc는 어떻게 설정하느냐입니다.
#802.1AS — 시간 동기의 토대
TSN의 모든 결정성은 시간이 맞아 있다는 가정 위에 섭니다. 802.1AS는 IEEE 1588 PTP의 Ethernet-only profile입니다. *gPTP(generalized PTP)*라고 부릅니다.
핵심 메시지 4개입니다.
Grandmaster Slave | | |--- Sync (T1) -------------> | T2에 도착 |--- Follow_Up (T1 exact) --> | | | | <-- Pdelay_Req (T3) -------- | |--- Pdelay_Resp (T4) ------> | T5에 도착 |--- Pdelay_Resp_Follow_Up -->|Sync/Follow_Up이 마스터 시간을 알리고, Pdelay_*가 직접 연결된 두 노드 사이의 link delay를 측정합니다. PTP의 일반 Delay_Req 대신 peer-to-peer delay를 쓰는 게 gPTP의 특징입니다. 매 hop마다 그 link만의 delay를 알면 경로 전체를 누적할 수 있습니다.
802.1AS-2020은 복수 도메인과 hot-standby grandmaster를 추가했습니다. grandmaster가 고장 나면 backup이 즉시 인계받습니다. 산업·자동차에 필수입니다.
Domain 0: 절대 시간 (산업 PLC)Domain 1: 미디어 시간 (차량 카메라/디스플레이)Domain 2: 5G fronthaul한 네트워크에 복수 도메인이 공존합니다.
#802.1Qbv — TAS, 게이트의 시간 분할
TSN의 간판 표준입니다. Time-Aware Shaper(TAS)는 큐별 게이트를 시간에 따라 열고 닫습니다.
이더넷 스위치의 출력 포트에는 8개의 priority queue(QoS 큐)가 있습니다. Qbv는 그 8개 각각에 게이트 G0~G7을 답니다. 게이트가 열린 큐만 그 시각에 송신할 수 있습니다.
Time: 0µs 100µs 200µs 300µs 400µs 500µsQ7: [OPEN ][CLOSED][CLOSED][OPEN ][CLOSED] ← critical (시간 슬롯)Q6: [CLOSED][CLOSED][OPEN ][CLOSED][CLOSED] ← motionQ0~5: [CLOSED][OPEN ][CLOSED][CLOSED][OPEN ] ← best-effort*Gate Control List(GCL)*가 이 패턴을 정의합니다. cycle time마다 같은 패턴이 반복됩니다.
cycle_time = 500 µsgcl = [ { offset=0, duration=100µs, gates=0b10000000 }, # Q7 only { offset=100, duration=100µs, gates=0b00111111 }, # BE { offset=200, duration=100µs, gates=0b01000000 }, # Q6 { offset=300, duration=100µs, gates=0b10000000 }, # Q7 only { offset=400, duration=100µs, gates=0b00111111 }, # BE]100µs의 critical 슬롯 동안 다른 트래픽은 기다립니다. critical 프레임은 정확한 시간에 경합 없이 빠져나갑니다. 이게 sub-100µs jitter의 핵심입니다.
문제는 슬롯 경계에서 송신 중인 큰 프레임입니다. 1538바이트 프레임이 1Gbps에서 약 12µs입니다. critical 슬롯이 시작될 때 그 프레임이 방해합니다. 이걸 해결하는 게 다음 표준입니다.
#802.1Qbu / 802.3br — 프레임 선점
Qbu는 송신 중인 best-effort 프레임을 일시 중단하고, critical 프레임을 먼저 보낸 다음 나중에 이어 보내는 메커니즘입니다.
MAC 계층이 두 개로 분리됩니다.
| 계층 | 역할 |
|---|---|
| eMAC (express MAC) | critical 트래픽 전용 |
| pMAC (preemptable MAC) | BE 트래픽, 중단 가능 |
| PHY layer multiplexer | 두 MAC의 출력을 합쳐 PHY로 |
송신 중인 pMAC 프레임을 어디서 자를 수 있는지가 fragment 단위로 정의됩니다. 최소 64바이트(+ 4 mCRC) 단위로 자릅니다. 자른 조각에는 mCRC가 붙고, 마지막 조각에는 일반 CRC가 붙습니다.
Qbu가 있으면 critical 프레임이 최대 1µs 이내(64B fragment 시간)에 송신을 시작할 수 있습니다. Qbv 단독으로는 최악 12µs 대기인 것을 1µs 이하로 줄입니다.
802.3br은 MAC merge sublayer를 정의합니다. PHY 위에서 두 MAC 출력을 fragment 단위로 섞는 물리적 메커니즘입니다. Qbu(상위 사용)와 802.3br(하위 메커니즘)이 짝을 이룹니다.
#802.1Qci — Per-Stream 필터링·정책
Qbv가 송신 측의 시간을 잡는다면, Qci는 수신 측에서 스트림 단위로 받을지 말지를 결정합니다.
세 단계입니다.
- Stream Identification (802.1CB-2018) — 들어오는 프레임을 stream으로 분류. MAC+VLAN, 또는 IP 5-tuple 기반.
- Stream Filter — 해당 stream이 허용된 priority인지 검증.
- Stream Gate / Meter — 해당 stream의 도착 시각이 예상 윈도우인지, 대역폭이 예약치 이내인지 확인.
위 단계 중 하나라도 실패하면 프레임을 drop하고 카운터를 올립니다. 공격적인 트래픽(예: 잘못 동작하는 IoT 디바이스가 critical 슬롯에 끼어들기)이 critical 망을 오염시키는 것을 막습니다.
Qci는 수신 측의 면역계입니다. 보낸 쪽이 약속을 지키지 않으면 받는 쪽이 적극적으로 차단합니다.
#802.1CB — FRER, 프레임 복제
*FRER(Frame Replication and Elimination for Reliability)*은 같은 프레임을 두 경로로 동시에 보내서, 도착하는 쪽이 중복을 제거하는 redundancy 메커니즘입니다.
Talker가 같은 seq=42 프레임을 두 경로로 동시에 보내고, Listener는 먼저 도착한 것만 받고 나중 것은 버린다.
핵심은 sequence number입니다. R-TAG(Redundancy Tag, EtherType 0xF1C1) 안에 16bit sequence가 들어갑니다. 수신 측의 *Sequence Recovery Function(SRF)*이 history window를 보고 중복은 drop, 새 것만 통과시킵니다.
전통적 redundancy(MRP·RSTP)는 링이 끊긴 뒤 복구합니다. FRER은 끊김이 일어나기 전부터 두 경로로 동시에 보내므로 복구 시간이 0입니다. 산업 안전·항공 전자에 적합합니다.
비용은 대역폭 2배와 경로가 분리된 토폴로지가 필요합니다. 링 + cross link나 이중 mesh를 씁니다.
#802.1Qcc — 설정의 표준화
Qcc는 어떻게 위 모든 것을 설정하느냐입니다. *CNC(Centralized Network Configuration)*라는 중앙 관리자가 YANG model로 모든 스위치·엔드 스테이션을 설정합니다.
# YANG model example (simplified)tsn-stream: stream-id: "00-1B-1B-AA-BB-CC:5" # MAC + VLAN talker: end-station-interfaces: ["sw1/port1"] data-frame-spec: ieee802-mac-addresses: destination-mac-address: "01-80-C2-00-00-0E" ieee802-vlan-tag: priority-code-point: 7 vlan-id: 100 traffic-specification: interval: { numerator: 1, denominator: 1000 } # 1ms max-frames-per-interval: 1 max-frame-size: 256 listeners: - end-station-interfaces: ["sw3/port2"] group-status-stream: status-info: talker-status: ready listener-status: ready failure-code: 0세 가지 설정 모델이 있습니다.
| 모델 | 누가 결정 | 사용처 |
|---|---|---|
| Fully distributed | 모든 노드가 분산 협상 | (사실상 미사용) |
| Centralized network, distributed user | CNC가 네트워크, 엔드는 분산 | 산업용 표준 |
| Fully centralized | CNC + CUC(Centralized User Configuration) | 자동차·5G |
CNC는 NETCONF·RESTCONF로 스위치 fleet에 YANG payload를 push합니다. 벤더 중립이 핵심입니다.
#실제 TSN 스위치·NIC
표준이 있어도 지원하는 하드웨어가 없으면 의미가 없습니다. 2024~2026년 기준 주요 제품군입니다.
| 제품 | 종류 | TSN 지원 | 가격대 |
|---|---|---|---|
| Intel I225/I226 | NIC | 802.1AS, Qbv, Qbu (LaunchTime) | $20 |
| Intel I210 | NIC | 802.1AS만 | $15 |
| NXP LS1028A | SoC + 4-port switch | AS, Qbv, Qbu, Qci, CB | 평가보드 $300 |
| TI AM6442 | SoC, PRU-ICSS | AS, Qbv, Qbu | 평가보드 $500 |
| Cisco IE 4000 | 산업 스위치 | AS, Qbv, Qbu, Qci | $$$ (PLC급) |
| Marvell Prestera | switch ASIC | Full TSN | 산업 OEM |
| Hirschmann BOBCAT | 산업 스위치 | AS, Qbv | mid |
I225는 PC에 꽂는 가장 저렴한 TSN NIC입니다. Linux 6+에서 tc-taprio로 Qbv를 설정할 수 있어 실험·교육에 자주 쓰입니다.
NXP LS1028A는 Arm Cortex-A72 + 내장 TSN 스위치입니다. 완성된 TSN 엔드포인트를 한 칩으로 만들 수 있어 산업 게이트웨이의 표준에 가깝습니다.
#OPC UA over TSN
산업 4.0 메시지 표준인 OPC UA가 Pub/Sub over UDP over TSN으로 진화 중입니다. *OPC UA Companion Spec for Field Level Communications(FLC)*가 이걸 정의합니다.
Application: OPC UA Pub/Sub (binary encoding)Transport: UDP multicastNetwork: IP + VLAN priorityLink: Ethernet + TSN (Qbv slot, AS sync)motion 사이클 1ms에 OPC UA 메시지를 결정적 슬롯에 실어 PLC↔드라이브·PLC↔PLC를 모두 OPC UA 하나로 통일하는 그림입니다. EtherCAT·PROFINET을 완전히 대체하지는 않고, 공장 전체의 통합 계층으로 자리잡고 있습니다.
#자주 하는 실수
#”Intel I210에 Qbv를 설정하려 한다”
I210은 802.1AS만 지원합니다. Qbv는 I225/I226부터입니다. 사양서를 보지 않고 TSN-capable이라고 적힌 것만 보고 사면 실험이 멈춥니다.
#”한 도메인에 grandmaster가 두 개 보인다”
BMCA(Best Master Clock Algorithm)가 결정 안 됨입니다. 두 후보의 priority1·clockClass가 같으면 MAC tiebreaker로 갑니다. 의도적인 redundant 구성이 아니면 한쪽의 priority1을 명시적으로 낮춰 한 grandmaster만 유효하게 만듭니다.
#”Qbv 슬롯을 정확히 잡았는데 jitter가 나온다”
대부분 Qbu를 안 켠 경우입니다. BE 프레임이 슬롯 경계에서 blocking합니다. Qbu(802.3br MAC merge)를 양쪽 모두 활성화합니다. 또는 BE를 Qbv guard band 안에 가둡니다(guard band = 최대 BE 프레임 시간).
#”FRER이 켜져 있는데 한 경로가 끊어져도 listener가 잠시 못 받는다”
history window 설정이 너무 작거나, sequence reset 조건이 잘못된 경우입니다. window는 경로 간 max delta + 여유로 잡습니다.
#정리
- TSN은 하나의 프로토콜이 아니라 IEEE 802.1 toolkit입니다.
- 802.1AS(gPTP)가 시간 동기의 토대를 만듭니다. sub-µs 정확도가 모든 결정성의 출발입니다.
- Qbv(TAS)는 큐별 게이트로 시간 슬롯을 만들고, Qbu가 선점으로 슬롯 진입 지연을 1µs 이하로 줄입니다.
- Qci(PSFP)는 수신 측에서 예상 윈도우 밖의 stream을 차단해 결정성을 지킵니다.
- CB(FRER)는 동시 이중 경로 + 중복 제거로 복구 시간 0의 redundancy를 만듭니다.
- Qcc는 YANG model 기반 CNC로 fleet 설정을 표준화합니다.
- 실용 NIC: Intel I225/I226, SoC: NXP LS1028A·TI AM64x, 스위치: Cisco IE 4000·Hirschmann BOBCAT.
- OPC UA over TSN이 공장 통합 계층의 차세대 표준입니다.
다음 편은 Ch 9: TSN 스케줄링 — Qbv·Qbu·gPTP 깊이 있는 설정입니다.
#관련 항목
Industrial Ethernet 심화 · 8 of 12
- 1산업용 이더넷 분석 — 일반 이더넷과 결정성 요구의 차이
- 2산업용 통신 실시간 요구사항 — Determinism·Jitter·Cycle Time
- 3EtherCAT 아키텍처 분해 — Processing on the Fly 메커니즘
- 4EtherCAT 프레임 구조 분석 — Datagram·WKC·Address 모드
- 5EtherCAT Master 구현 비교 — SOEM·IgH·TwinCAT 분석
- 6PROFINET 개요 분석 — RT·IRT 클래스와 실시간 등급
- 7PROFINET IO 모델 — Controller·Device·Supervisor 역할 추적
- 8TSN 표준 분석 — IEEE 802.1 Time-Sensitive Networking 개요
- 9TSN 스케줄링 메커니즘 — Qbv·Qbu·gPTP 동기화 분석
- 10POWERLINK과 OpenSAFETY 분석 — 산업 안전 통신 프로토콜
- 11리눅스 실시간 산업 통신 — PREEMPT_RT·EtherCAT Master 운영
- 12산업용 이더넷 프로토콜 비교 — EtherCAT·PROFINET·POWERLINK·TSN 선택
관련 글
TSN 스케줄링 메커니즘 — Qbv·Qbu·gPTP 동기화 분석
Gate Control List 설계부터 ILP 기반 스케줄 합성·실제 도구·CNC YANG까지.
산업용 이더넷 프로토콜 비교 — EtherCAT·PROFINET·POWERLINK·TSN 선택
EtherCAT·PROFINET·EtherNet/IP·POWERLINK·SERCOS III·TSN — 시나리오별 선택 가이드와 한국 산업 현장 적용 사례.
산업용 이더넷 분석 — 일반 이더넷과 결정성 요구의 차이
왜 표준 Ethernet으로 부족한가 — 실시간성·결정성.