시간 민감성 네트워킹

**Time-Sensitive Networking (TSN)**은 IEEE 802.1 워킹 그룹 산하 Time-Sensitive Networking Task Group이 개발 중인 표준군이다. TSN 태스크 그룹은 기존 오디오·비디오용 저지연 이더넷 표준을 주도하던 Audio Video Bridging Task Group을 2012년 11월에 개명하고 오디오·비디오의 영역을 제어, 자동차, 산업 영역으로 확대해 왔다. 이로써, 기존 AVB 표준들을 품으며 추가 표준들이 계속 제정되어 왔다. 이 표준군은 결정론적(deteministic) 이더넷 네트워크에서 시간 민감(time-sensitive) 데이터의 전송 메커니즘을 정의한다.

표준군의 대부분은 가상 LAN과 네트워크 스위치를 설명하는 IEEE 802.1Q – Bridges and Bridged Networks에 대한 확장으로 정의된다. 이러한 확장은 매우 낮은 지연과 높은 가용성을 보장하는 전송을 목표로 한다. 응용 사례에는 실시간 오디오·비디오 스트리밍, 차량 내 네트워크(In-vehicle Network), 산업 제어 설비 등에서 사용되는 실시간 제어 스트림과 미디어 스트림이 섞인 네트워크 컨버전스가 있다.

## 배경
일반적으로 정보 기술(IT) 네트워크 장비는 “시간” 개념이 없어서 시간 동기화와 시간 정밀성을 제공하지 않는다. 또한 정보 기술은 데이터를 어떤 지정된 시간 안에 전달하는 것보다 신뢰성 있는 전달에 더 초점이 맞춰져 있으므로, 지연이나 시간 동기 정밀도에 대한 제약이 엄격하지 않다.

네트워크 혼잡은 전송 계층에서 혼잡 제어를 통해 전송 속도를 조절하거나 손실된 패킷을 재전송하여 해결하지만, 데이터 링크 계층에서는 혼잡을 예방하거나 대응할 방법이 없다. 버퍼가 너무 작거나 대역폭이 부족하면 데이터가 손실될 수 있으며, 버퍼를 과도하게 늘리면 지연이 증가해 낮은 결정론적(deteministic) 지연을 요구하는 환경에선 사용되기 어렵다. 여기서 결정론적 지연이란 지연의 최대 크기가 제한되어 있음을 의미한다. 홉 평균 지연은 매우 낮더라도 홉 개별 지연은 클 수 있기 때문에 기존 정보 기술은 결정론적 지연을 보장할 수 없다.

IEEE 802.1이 공개한 다양한 TSN 표준은 결정론적 QoS를 제공하는 스위치 기반 실시간 이더넷 통신을 위해 세 가지 기본 핵심 요소로 정리된다. 각 표준은 필요한 환경에 따라 단독으로 구현하여 사용할 수 있지만, 이들을 결합해 사용할 때에만 온전한 실시간 네트워크로서 완성된다. 세 가지 기본 구성 요소는 다음과 같다:

# 시간 동기화: 실시간 통신에 참여하는 **모든 장치**가 공통된 시간을 공유
# 스케줄링과 트래픽 셰이핑: 실시간 통신에 참여하는 **모든 장치**가 동일한 규칙으로 패킷을 처리·전달
# 통신 경로 선택, 경로 예약, 장애 허용: 실시간 통신에 참여하는 **모든 장치**가 통신 경로 선택·대역폭과 타임슬롯 예약에서 동일한 규칙을 따르고, 장애 허용(fault-tolerance)을 위해 두 개 이상의 경로를 활용

TSN은 각 스트림 별로 대역폭 제한된 트래픽과, 정해진 정확한 시각에 전송되는 time-trigger 트래픽을 모두 처리할 수 있다. 낮은 우선순위 트래픽은 타이밍과 보장된 전송 없이 Best-Effort 방식으로 전달된다.

### 결정론적 실시간 네트워크가 필요한 응용 예시

* 오디오 비디오 브릿징(AVB)에서 정의된 오디오·비디오 데이터의 실시간 전송 (대형 공연장 내 스피커 출력 사운드의 위상 일치, 라이브 공연 모니터링 등)
* 센서를 통해 동작을 수행하는 제어 네트워크 (공장자동화, 산업용 로봇 등)
* 안전-크리티컬(safety-critical) 네트워크 (항공기, 자동차, 철도 제어 등)
* 시간 민감도와 우선순위가 다른 데이터들이 혼합된 네트워크 (차량 내 공조 제어·인포테인먼트·전장 제어·ADAS 등)

## 시간 동기화
표준 IEEE 802.3 이더넷과 IEEE 802.1Q 기반 이더넷 브리징과 달리 TSN 네트워크에서는 "시간"이 핵심 요소다. 종단 간 전송 지연에 조정 불가능한 시간 한계성을 갖는 환경에서 실시간 통신을 달성하려면, 네트워크에 연결된 모든 장치가 공통된 시간 기준을 공유하고 서로의 시간을 정밀하게 동기화해야 한다. 이는 산업용 제어기와 제조 로봇 같은 통신 종단 장치뿐 아니라, 이더넷 스위치와 같은 네트워크 장치에도 적용된다. 시간이 일치해야 모든 장비가 발맞춰 동작해 정확히 요구되는 순간에 작업을 수행할 수 있다.

GPS 신호를 기반하여 TSN 네트워크의 시간을 광역적으로 맞추는 것은 한 방법이지만, 비용이 크고 GPS 수신기가 음영지역이나 위성 신호 품질에 따라 위성 신호를 정상적으로 수신할 수 없는 상황이 존재한다. 이런 제약으로 TSN에서는 보통 중앙 시간원 한 개를 기준으로 IEEE 1588 (PTP, 정밀 시각 프로토콜)을 이용해 시간이 배포한다. PTP는 이더넷 프레임을 통해 동기화 정보를 전달한다.

**IEEE 802.1AS**는 IEEE 1588의 많은 옵션들을 엄격히 제한한 서브셋 개념의 표준으로, 서브 마이크로초 수준의 정밀도를 제공하며 Wi-Fi(IEEE 802.11) 망으로의 확장도 지원한다. 홈네트워크, 자동차, 산업 자동화 네트워크 등에서 필요한 몇 가지 핵심 옵션만 남기는 것이 이 표준의 취지다. **IEEE 802.1AS-2011**은 **gPTP(Generalized Precision Time Protocol)** 프로파일을 정의한다. gPTP는 IEEE 1588의 모든 프로파일처럼 1588의 여러 옵션 중 일부를 선택하는 동시에, PTP 아키텍처를 이더넷 네트워크 너머의 다른 네트워크에도 적용할 수 있도록 일반화한다.

### IEEE 802.1AS - Timing and Synchronization for Time-Sensitive Applications
없음|섬네일|600x600픽셀|그림 1 – 802.1AS 시간 동기화 네트워크 구성 예
gPTP는 데이터 경로 지연을 보정하기 위해 각 스위치에서 프레임 거주 시간(수신 포트에서 송신 포트까지 타이밍 정보를 수신·처리·큐잉·전송하는 데 걸리는 시간)과 각 홉의 링크 지연(인접 스위치 간 전파 지연)을 측정한다. 이렇게 측정된 지연은 Best Master Clock Algorithm(BMCA)으로 선출된 스위치의 그랜드마스터(GM)에게 참조된다. BMCA는 모든 클록 마스터(CM)와 종단 장치가 동기화하려고 시도하는 클록 스패닝 트리 프로토콜이다.
없음|섬네일|600x600픽셀|그림 2 - 시간동기화가 이뤄지는 TSN(구 AVB) 네트워크 도메인과 그렇지 않은 네트워크의 구분
타이밍 메시지에 동기화하지 못한 장치는 타이밍 도메인 경계 밖에 존재하게 된다 (그림 2).

시간 동기화 정확도는 링크 지연과 프레임 거주 시간을 얼마나 정밀하게 측정하느냐에 달려 있다. 802.1AS는 ‘논리적 주파수 동조(logical syntonization)’ 방식을 활용해, 로컬 클록과 GM 클록 주파수의 비율을 사용하여 동기화된 시각을 계산하고 같은 비율로 전파 지연도 산출한다.

**IEEE 802.1AS-2020** 개정 표준에서 시간 측정 정확도를 더욱 높였으며, 중복성을 위한 **다중 타이밍 도메인** 지원을 도입하였다.

## 트래픽 셰이핑(traffic shaping)과 트래픽 클래스
스케줄링과 트래픽 셰이핑은 서로 다른 우선순위를 지닌 여러 종류의 트래픽 클래스가 하나의 네트워크에서 공존할 수 있게 한다. 각 트래픽 클래스는 서로 다른 대역폭과 종단 간 지연 요구사항을 갖는다.

### 트래픽 셰이핑
트래픽 셰이핑은 프레임(또는 패킷)을 시간상 고르게 분배해 트래픽을 평탄화하는 과정이다. 송신 단말이나 스위치에서 셰이핑이 이뤄지지 않으면 패킷이 한꺼번에 몰려(burst) 이후 경로에 따른 스위치 버퍼를 초과하게 된다.

### IEEE 802.1Q 표준의 시간 결정성 한계와 TSN을 통한 개선
802.1Q는 8단계 우선순위로 나눈 엄격한 우선순위 방식(strict priority scheme)을 사용한다. 프로토콜 차원에서는 이 우선순위가 802.1Q VLAN 태그의 PCP(Priority Code Point) 필드에 기록되어 중요도를 구분할 수 있으나, 가장 높은 우선순위라도 스위치 내부 버퍼링 때문에 종단 간 전달 시간이 절대적으로 보장되지는 않는다. 한 포트에서 프레임 전송이 시작되면 해당 전송이 끝날 때까지, 버퍼에 도착한 더 높은 우선순위 프레임도 대기해야 한다. 따라서 표준 이더넷 스위칭만으로는 이러한 비결정성을 제거할 수 없다. 일반적인 정보 기술(IT) 환경처럼 전송 지연이 치명적인 요소가 아닌 경우에는 문제가 되지 않지만, 산업 자동화(PLC–로봇 폐루프 제어)나 차량 네트워크 등에서는 신뢰성과 시간 결정성이 필수적이다.

TSN은 표준 이더넷에 여러 트래픽 클래스를 위한 별도 시간 슬롯을 부여해, 제어 시스템 애플리케이션의 경성(hard)·연성(soft) 실시간 컴퓨팅 요구를 충족한다. 레거시 장비와의 호환성을 위해 우선순위 8단계 체계를 그대로 사용한다. 종단 간 지연 보장을 위해, 이 8단계 우선순위를 다음과 같은 스케줄링·셰이핑 방식 중 하나 이상에 지정해 사용할 수 있다.

* IEEE 802.1Q 엄격 우선순위 스케줄러
* IEEE 802.1Qav 크레딧 기반 셰이퍼
* IEEE 802.1Qbv 시간 인지(time-aware) 셰이퍼
* IEEE 802.1Qcr 비동기(asynchronous) 셰이퍼

### 트래픽 클래스별 특성

* 802.1Qav 크레딧 기반 셰이퍼
** Class A: 최상위 우선순위, 전송 주기 125 μs
** Class B: 차상위 우선순위, 전송 주기 250 μs
** 두 클래스 모두 사전 설정 최대 대역폭(오디오·비디오의 경우 75 %)을 초과할 수 없으며, 홉 수는 최대 7개
** 최악의 지연 한도는 Class A가 2 ms, Class B가 50 ms로 규정돼 있으나 신뢰성이 낮다는 보고가 존재
** gPTP가 제공하는 포트 간 peer delay 및 스우치 거주 지연을 합산해 누적 지연을 계산, 지연 요구 충족 여부를 확인

* 제어 트래픽(Control traffic): 세 번째 우선순위. gPTP와 SRP 메시지가 포함

* 802.1Qbv 시간 인지 스케줄러
** Class CDT(Control Data Traffic): 센서에서 전송되는 실시간 제어 데이터와 액추에이터 명령 스트림을 위한 클래스
** 최악의 지연 100 μs(5 홉 기준), 최대 전송 주기 0.5 ms
** CDT가 Class A·B 및 제어 트래픽보다 더 높은 우선순위를 가짐

## 크레딧 기반 스케줄러와 스트림 예약 프로토콜
본 문단에선 AVB 표준의 핵심 구성 표준이었던 IEEE 802.1Qav와 IEEE 802.1Qat에 대해 설명한다.

### IEEE 802.1Qav - Forwarding and queuing enhancements for time-sensitive streams (FQTSS)
802.1Qav는 우선순위 클래스를 이용한 트래픽 셰이핑을 정의한다. 이는 단순한 누수 버킷(leaky bucket) 모델의 크레딧 기반 공정 큐잉(credit-based fair queuing) 방식을 이용한다. 본 표준의 목표는 수신 측 스위치와 종단 장치에서 발생하는 버퍼링의 최소화와 트래픽의 대역폭의 조정이다.
없음|섬네일|600x600픽셀|그림 4 – IEEE 802.1Qav 트래픽 셰이핑 예시

#### 크레딧 기반 셰이퍼(Credit-Based Shaper)의 동작

* Class A와 Class B 전용으로 각각 하나씩, 두 개의 큐에 대해 크레딧(credit) 값(비트 단위)을 관리함
* 프레임 전송은 크레디트가 0 이상일 때만 허용. 전송 중에는 크레딧이 *sendSlope*비율로 감소: \text{sendSlope} = \text{idleSlope} - \text{portTransmitRate}
** *idleSlope*: 브리지가 해당 큐에 예약한 대역폭
** *sendSlope*: 포트 MAC 서비스의 실제 전송 속도

* 다른 큐의 프레임이 먼저 전송되는 동안에는 대기 중인 큐의 크레딧이 *idleSlope* 비율로 증가:  \text{idleSlope} = \frac{\text{reservedBytes}}{\text{divFrameIntervalTime}}

크레딧이 음수인 상태에서 프레임이 전송되지 않으면, 0에 도달할 때까지 *idleSlope* 속도로 크레딧이 회복된다. 만약 비-AVB(비예약) 프레임 전송 때문에 AVB 프레임을 전송할 수 없으면, *idleSlope* 속도로 크레디트가 계속 누적되며 양수 값을 가질 수도 있다.

또한, *hiCredit·loCredit* 한계값은 최대 프레임 크기, 최대 간섭 프레임 크기, *idleSlope*/*sendSlope* 비율, 포트 최대 전송률 등을 이용해 계산된다.

#### 예약 스트림과 비예약(best-effort) 트래픽
예약된 AV(오디오·비디오) 스트림 프레임은 크레딧 기반 셰이핑 규칙을 따르면서도 비예약(best-effort) 트래픽보다 높은 우선순위로 포워딩된다. 이는 AV 스트림의 최대 버스트 길이를 제한해, 비예약 트래픽을 보호하고, 트래픽을 균등하게 분포시켜 버퍼 오버플로와 재전송을 유발하는 혼잡(버스팅·뭉침)을 완화한다. 재전송으로 지연이 늘어나면 도착 시점에 프레임이 무의미해지고 품질이 저하될 수 있다.

#### 지연 한계와 한계점
크레딧 기반 셰이퍼는 낮은 우선순위 패킷에도 공정한 스케줄링을 제공하고 혼잡을 줄여 주지만, 홉당 평균 지연이 **최대 250 μs**까지 증가할 수 있어 이는 제어 응용에는 적합하지 않다. 반면 IEEE 802.1Qbv(시간 인지 셰이퍼)는 **30 μs ~ 수 ms** 사이 고정 주기로 동작하며, 일반적으로 **125 μs** 수준이다. TSN에서 지연의 상한을 엄밀히 보장하는 일은 쉽지 않으며, 네트워크 계산(Network Calculus) 등의 수학적 프레임워크로 연구 중이다.

### IEEE 802.1Qat - Stream Reservation Protocol (SRP)
802.1Qat는 분산 피어-투-피어 방식으로 동작하는 프로토콜로서, 데이터 흐름(flow)이 요구하는 자원과 네트워크에서 가용한 자원을 바탕으로 허가 제어(admission control)를 수행한다.

SRP는 송신자(talker)에서 수신자(listener)로 향하는 스트림에 대해 네트워크 경로 전체에 걸쳐 자원을 예약하고 스트림(stream)을 광고(announce)하여, 각 스트림의 QoS 요구 사항을 충족하고 충분한 네트워크 자원이 확보되었음을 보장한다.

스트림은 64비트 *StreamID*로 식별·등록된다. 이는 48비트 MAC 주소(EUI)와 16비트 *UniqueID*를 결합해 한 송신자에서 나오는 여러 스트림을 구분한다.

SRP는 스위치·브리지·장치에서 스트림을 등록·해제하기 위해 다음의 다중 등록 프로토콜(MRP)의 변형을 활용한다.

* MMRP(Multiple MAC Registration Protocol)
* MVRP(Multiple VLAN Registration Protocol)
* MSRP(Multiple Stream Registration Protocol)

SRP는 다음 단계에 따라 동작한다.

# 송신자가 스트림 광고
# 데이터 흐름 경로 등록
# 최악의 경우에서 발생하는 지연 시간 계산
# AVB 도메인 생성
# 대역폭 예약

자원의 할당과 설정은 데이터 스트림이 관여하는 종단 노드들과 경로상의 전송 노드 모두에 이뤄지며, 종단 간 신호를 보냄으로써 성공·실패를 감지한다. 최악의 경우에서 발생되는 지연 시간은 모든 스위치에 질의하여 계산한다.

#### 예약 요청 전파
예약 요청은 일반 MRP 애플리케이션과 그의 MRP 속성 전파 메커니즘을 이용한다. 경로상의 모든 노드는 MRP Attribute Declaration(MAD) 요구사항을 전달하며, 이 선언이 스트림 특성을 서술해 스위치가 필요한 자원을 할당할 수 있게 한다.
없음|섬네일|600x600픽셀|그림 5 – 성공한 예약 (송신자의 광고)
없음|섬네일|600x600픽셀|그림 6 – 예약 준비 완료 응답 (수신자의 준비 상태 전달)

스위치가 자원을 예약할 수 있으면 광고를 다음 스위치로 전파한다. 자원을 확보하지 못하면 **‘***talker failed***’** 메시지를 발생시킨다. 광고가 수신자에 도달하면 수신자는 **‘***listener ready***’** 메시지로 응답하며, 이 메시지는 송신자 쪽으로 되돌아간다. 송신자의 광고 메시지와 수신자의 ready 메시지는 해제할 수 있으며, 해제되면 스트림이 종료된다.

#### 자원 예약 성공 조건과 한계
자원 예약이 성공하려면 중간 노드 모두가 SRP를 지원하고 광고·ready 메시지에 응답해야만 한다. 위 그림 Figure 2 예에서 TSN(구 AVB) 도메인 1은 TSN(구 AVB) 도메인 2와 연결되지 못하는 경우가 이에 해당한다.

SRP는 TSN 표준에서 프레임 우선순위, 프레임 스케줄링, 트래픽 셰이핑 기능을 위해 함께 사용된다.

## AVB 스케줄링의 확장

### IEEE 802.1Qcc - Stream Reservation Protocol (SRP) Enhancements and Performance Improvements
SRP이 예약과 등록을 위해 분산된 처리를 하므로 다수의 요청이 생성되면 이들이 지연시간을 만들어 중요한 트래픽이 원하는 시간 내 도착하지 못할 가능성이 있다. IEEE 802.1Qcc-2018 표준은 분산형 SRP의 한계를 보완하기 위해 다음과 같은 기능을 추가한다.

* 예약 메시지 경량화: 메시지 크기를 줄이고, 링크 상태나 예약 정보가 실제로 변할 때만 타이머가 동작하도록 재설계하여 지연을 최소화
* 중앙 집중식 네트워크 구성 (CNC): 각 사용자 네트워크 인터페이스(User Network Interface, UNI)가 데이터 링크 계층 서비스를 요청하는 인터페이스를 제공하고, CNC(Centralized Network Configuration)이 네트워크 전체의 예약과 스케줄링을 중앙에서 통제할 수 있도록 함
* 원격 관리 표준화: NETCONF/RESTCONF 프로토콜과 IETF YANG 모델을 통해 TSN 장비를 원격으로 관리

CNC는 스트림별 요청-응답 모델을 구현하며, 이때 SR 클래스는 명시적으로 사용되지 않는다. 종단 장치들은 네트워크 구성을 알 필요 없이 엣지 포트를 통해 특정 스트림에 대한 요청을 보내고, CNC가 중앙에서 스트림 예약을 수행한다. MSRP는 스트림 예약 용도가 아니라 CNC와 종단 장치 간 정보 전달자 역할로 종단 장치 링크에서만 실행된다.

Centralized User Configuration(CUC) 은 선택적 노드로, 종단 장치를 탐지해 그들의 기능과 사용자 요구 사항을 파악하고, 산업자동화와 제어 시스템 같은 응용을 위한 지연 최적화 TSN 기능을 구성한다. 또한 Resource Reservation Protocol(RSVP) 전송과의 매끄러운 상호 운용성을 제공한다. 802.1Qcc는 중앙 집중형 구성 관리가 SRP 프로토콜의 분산·완전 분배형 구성과 공존하도록 허용하며, 레거시 AVB 장치를 위한 하이브리드 구성도 지원한다.

802.1Qcc는 802.1Qca 경로 제어 및 예약(PCR)과 다른 TSN 트래픽 셰이퍼와 결합해 사용할 수 있다.

### IEEE 802.1Qch - Cyclic Queuing and Forwarding (CQF)
802.1Qav는 연성 실시간 트래픽에 효과적이지만, 최악 지연이 홉 수뿐 아니라 네트워크 토폴로지에 의존한다. 802.1Qch는 이중 버퍼링을 도입해, 스위치가 주기적으로 동기화된 enqueue/dequeue를 수행한다. 지연 한계는 *홉 수 × 사이클 시간*으로만 결정돼 토폴로지와 무관하며, 완전히 유계(bounded)된다.

802.1Qch는 802.1Qbv(시간 인지 스케줄러), 802.1Qbu(프레임 선점), 802.1Qci(진입 트래픽 정책)과 함께 사용될 수 있다.

### IEEE 802.1Qci - Per-Stream Filtering and Policing (PSFP)
802.1Qci는 스트림 단위 규칙 매칭과 대역폭 프로필을 적용해 개별 트래픽을 필터링·제어함으로써, 오작동이나 DoS 공격으로 인한 과부하가 스위치와 종단 장치를 마비시키는 상황을 방지한다. 필터 게이트 동작은 802.1Qch와 유사하게 전체 스트림을 조정하며, 사전 정의된 프로파일로 데이터 흐름을 수행한다.

## TSN 스케줄링과 트래픽 셰이핑

### IEEE 802.1Qbv - Enhancements to Traffic Scheduling: Time-Aware Shaper (TAS)
802.1Qbv 시간 인지 스케줄러(time-aware scheduler)의 기본 개념은 시분할 다중 접속(TDMA) 방식으로 이더넷 통신을 고정 길이의 반복된 시간 주기로 분리한다. 이 주기 내에서는 여러 개의 시간 슬라이스(time slice)를 구성할 수 있으며, 8개 이더넷 우선순위를 하나 이상 할당할 수 있다. 이렇게 하면 전송 보장이 필요하거나 연속적이어야 하는 트래픽에 대해, 제한된 시간 동안 독점적으로 이더넷 전송을 할 수 있다. 특정 시간 구간에 가상 통신 채널을 설정함으로써, 시간에 민감한 트래픽과 긴급하지 않은 트래픽을 분리할 수 있다.
없음|섬네일|957x957픽셀|그림 7: IEEE 802.1Qbv 스케줄링 예시
802.1Qbv는 802.1Qav에 규정된 Class A·B에 더하여, 5홉 구간에서 최악 지연 100 μs, 최대 전송 주기 0.5 ms를 갖는 시간-중요 제어 데이터용 Class CDT(Control Data Traffic)를 도입한다. 시간에 민감한 트래픽 클래스가 전송 매체와 장치에 대한 독점적 접근권을 부여 받음으로써, 이더넷 스위치의 전송 버퍼에서 발생하는 버퍼링 효과를 피하고 시간에 민감한 트래픽을 중단 없이 전송할 수 있다. 802.1Qbv 스케줄러 구성의 예는 그림 7에 나타나 있다.

이 예시에서 각 사이클은 두 개의 시간 슬라이스로 구성된다. 시간 슬라이스 1에서는 VLAN 우선순위 3으로 태그된 트래픽만 전송할 수 있고, 각 사이클의 시간 슬라이스 2에서는 나머지 우선순위 트래픽을 전송할 수 있다. 802.1Qbv 스케줄러는 **모든 네트워크 장치**(이더넷 스위치 및 종단 장치)의 시간을 동기화하고 동일한 스케줄을 설정하도록 요구하므로, 모든 장치는 특정 시점에 어떤 우선순위가 네트워크에 전송될 수 있는지 알고있다. 시간 슬라이스 2에는 둘 이상의 우선순위가 할당되어 있으므로, 이 슬라이스 내에서는 표준 IEEE 802.1Q 엄격 우선순위 스케줄링에 따라 우선순위가 처리된다.

이처럼 이더넷 전송을 사이클과 시간 슬라이스로 분리하는 방식은 802.1Qav 크레딧 기반 트래픽 셰이퍼와 같은 다른 스케줄링·트래픽 셰이핑 알고리즘을 추가해 더욱 향상시킬 수 있다. 802.1Qav는 연성 실시간을 지원한다. 본 예에서 802.1Qav를 시간 슬라이스 2에서 사용되는 우선순위 중 하나 또는 두 개에 할당하면 오디오/비디오 트래픽과 백그라운드 파일 전송을 추가로 구분할 수 있다. Time-Sensitive Networking Task Group은 동일한 이더넷 인프라에서 경성 실시간, 연성 실시간, 백그라운드 트래픽이 상호 간섭 없이 공존할 수 있도록 여러 스케줄러와 트래픽 셰이퍼를 조합하여 사용할 수 있도록 규정한다.

#### 시간 슬라이스와 가드 밴드(guard band)
없음|섬네일|957x957픽셀|그림 8: Best-effort 시간 슬라이스에서 너무 늦게 전송된 프레임이 고우선순위 시간 슬라이스를 침범한 모습
이더넷 인터페이스가 프레임을 전송 매체로 보내기 시작하면, 그 전송이 **완전히 끝날 때까지** 다른 전송을 시작할 수 없다. 여기에는 신뢰성 있는 무결점 전송을 위해 프레임 끝에 포함되는 CRC-32 체크섬 정보도 있다. 이더넷의 이러한 고유 특성은 그림 8와 같이 802.1Qbv 스케줄러의 TDMA 방식에 또 하나의 문제점이 나타난다.

사이클 *n*의 시간 슬라이스 2가 거의 끝나갈 무렵, 새 프레임 전송이 시작된다. 그러나 이 프레임은 남아있는 시간 슬라이스에 비해 너무 커서 해당 슬라이스에 다 담기지 못한다. 전송을 중단할 수 없으므로, 프레임은 다음 사이클 *n + 1*의 시간 슬라이스 1을 침범한다. 이렇게 시간 슬라이스를 부분적으로나 완전히 막아 버리면, 실시간 프레임이 지연되어 결국 애플리케이션 요구 조건을 충족하지 못할 수 있다. 이는 TSN 기능이 없는 일반 이더넷 스위치에서 발생하는 버퍼링 지연과 유사하므로, TSN은 이를 방지할 메커니즘을 규정해야 한다.

802.1Qbv는 한 슬라이스에서 다음 슬라이스로 넘어갈 때 인터페이스가 프레임 전송으로 바쁘지 않도록 보장해야 한다. 이를 위해 각 시간 슬라이스 앞에 가드 밴드(guard band)를 설정한다. 가드 밴드 동안에는 새 프레임 전송을 시작할 수 없고, 이미 진행 중이던 전송만 마칠 수 있다. 가드 밴드 길이는 최대 프레임 크기를 안전하게 전송하는 데 필요한 시간과 같거나 그보다 길어야 한다.

IEEE 802.3 규격 이더넷 프레임(단일 IEEE 802.1Q VLAN 태그 포함, 프레임 간 간격 포함)의 전체 길이는 다음과 같다:

1542 바이트 = 1500 바이트 (프레임 페이로드) + 18 바이트 (목적지/출발지 MAC, EtherType, CRC) + 4 바이트 (VLAN 태그) + 12 바이트 (프레임 간 간격) + 8 바이트 (프리앰블과 SFD)

이 프레임을 송신하는 데 걸리는 실제 시간은 네트워크 링크 속도에 좌우되며, Fast Ethernet(100 Mbit/s) 환경에서는 전송 시간이 다음과 같다:

: t_\text{maxframe} = \frac{1542\text{ byte}}{12.5 \cdot 10^6\text{ byte} \cdot \frac{1}{s}} = 123.36 \cdot 10^{-6} s

이 경우 가드 밴드의 길이는 최소 **123.36 μs**가 되어야 한다.
없음|섬네일|957x957픽셀|그림 9: 중요 트래픽이 할당된 시간 슬라이스가 침범되는 것을 방지하는 가드 밴드
가드 밴드가 삽입되면 해당 시간 슬라이스에서 실제로 사용할 수 있는 대역폭(또는 시간)은 가드 밴드 길이만큼 줄어들며, 그림 9에 나타냈다. 참고로 설명의 편의를 위해 그림 9에 나타난 가드 밴드의 크기는 실제 비율과 다르며, 그림 8에 표시된 프레임보다 훨씬 작게 그려져 있다.

이 예에서 시간 슬라이스 1은 항상 고우선순위 데이터(예: 제어 데이터)를 포함하고, 시간 슬라이스 2는 항상 best-effort 데이터를 포함한다. 따라서 중요한 데이터 스트림을 보호하려면 시간 슬라이스 1로 전환되는 모든 지점에 가드 밴드를 배치해야 한다.

가드 밴드는 고우선순위·시간 민감 트래픽을 보호하지만, 다음과 같은 단점도 크다.

* **대역폭 손실:** 가드 밴드 동안에는 이더넷 포트가 어떤 데이터도 전송할 수 없다. 즉, 가드 밴드 시간만큼 백그라운드 트래픽에 할당할 수 있는 대역폭이 사라짐
* **최소 슬라이스 길이 제약:** 단일 시간 슬라이스는 가드 밴드보다 작을 수 없다. 특히 저속 이더넷 링크에서는 가드 밴드가 길어지므로, 설정할 수 있는 최소 시간 슬라이스 길이와 주기(cycle time)에 부정적 영향을 줌

이러한 대역폭 손실을 부분적으로 완화하기 위해 802.1Qbv 표준에는 **길이 인식(length-aware) 스케줄링** 메커니즘이 포함돼 있다. 스토어-앤드-포워드(store-and-forward) 스위칭을 사용하는 경우, 가드 밴드가 적용된 포트로 전송해야 하는 프레임을 완전히 수신한 뒤 스케줄러가 프레임 전체 길이를 확인한다. 프레임이 가드 밴드 내에 완전히 들어가고 다음 고우선 슬라이스를 침범하지 않는다면, 가드 밴드 중에도 해당 프레임을 전송해 대역폭 낭비를 줄일 수 있다.

그러나 컷-스루(cut-through) 스위칭이 활성화되어 있을 때는 프레임 전체 길이를 미리 알 수 없으므로 이 메커니즘을 사용할 수 없다. 따라서 종단 간 지연을 최소화하기 위해 컷-스루를 사용할 경우, 대역폭 낭비는 여전히 발생한다. 또한 길이 인식 스케줄링은 최소 주기(cycle time)에 대한 제약을 해결하지 못한다. 결국 이 방법은 개선책이긴 하지만, 가드 밴드가 초래하는 모든 단점을 없앨 수는 없다.

### IEEE 802.3br와 802.1Qbu - Interspersing Express Traffic (IET) and Frame Preemption
가드 밴드의 부정적 효과를 더 줄이기 위해 IEEE 802.1 및 802.3 워킹 그룹은 **프레임** **선점(frame pre-emption)** 기술을 명세했다. 이 기술은 이더넷 MAC(Media Access Control) 구조(IEEE 802.3 관할)와 브리지 관리 메커니즘(IEEE 802.1 관할) 양쪽에 변경사항이 필요하므로 두 그룹이 공동으로 작업했으며, 두 개의 표준 문서로 나뉘어 있다. 802.1Qbu는 브리지 관리 부분을, 802.3br은 이더넷 MAC 부분을 다룬다.
없음|섬네일|957x957픽셀|그림 10: 프레임 선점의 예시

#### 프레임 선점의 동작 원리
하나의 진출(egrass) 포트에 pMAC(preemtable MAC)과 eMAC(express MAC) 서비스가 정의된다. Express 프레임은 preemptable 프레임의 전송을 중단할 수 있다. 전송이 재개되면 MAC merge 서브레이어가 다음 스위치에서 프레임 조각(fragment)를 재조립한다. 선점 과정 중 작동 컨텍스트가 express 프레임으로 전환됨에 따라 링크 인터페이스에서 계산에 따른 오버헤드가 발생한다

그림 10 예시는 프레임 선점의 예시를 나타낸다. Best-effort 프레임을 전송하던 중, MAC은 가드 밴드가 시작되기 직전에 프레임 전송을 중단한다. 잘린 프레임 조각에는 CRC가 추가되며, 다음 스위치에 저장돼 두 번째 조각이 도착하기를 기다린다. 시간 슬라이스 1의 고우선 트래픽이 끝나고 주기가 다시 시간 슬라이스 2로 넘어가면, 중단됐던 프레임 전송이 재개된다.

종단에서 프레임 단편화와 재조립의 이뤄지는 IP 프로토콜과는 달리 프레임 선점은 링크 단위(link-by-link) 로만 동작하며, 한 스위치에서 다음 스위치까지의 구간에서만 프레임을 분할한다.

#### 프레임 형식 변경
각 프레임 조각에는 오류 검출용 CRC-32가 첨가된다. 일반 이더넷의 CRC-32와 달리 마지막 16비트를 반전해, 부분 프레임을 정상 프레임과 구별하며 SFD(Start-of-Frame Delimiter) 도 변경된다.

#### 링크별 기능 활성화
프레임 선점 지원 여부는 링크마다 개별적으로 활성화해야 한다. 스위치는 LLDP(Link Layer Discovery Protocol) 를 통해 해당 포트가 선점을 지원함을 알린다. 장치가 LLDP 광고를 수신하고 자신도 지원할 때 기능을 활성화할 수 있다. 인접 장치 간에 별도의 협상·인증 과정은 없으며, LLDP 광고를 받으면 상대가 변경된 프레임 형식(CRC, SFD)을 이해할 수 있다고 가정한다.

#### 가드 밴드 최소화
프레임 선점 기능이 활성화된 후 가드 밴드 길이는 선점 가능 최소 프레임 길이에 달려 있게 된다. 802.3br는 이 값의 최적 한계를 64바이트로 규정한다(이더넷의 최소 프레임 길이). 따라서 최소 프레임인 64 바이트와 남은 선점 불가 구간 길이인 63 바이트의 합 127 바이트로 최소화 될 수 있다. 이보다 큰 프레임은 모두 선점할 수 있으므로, 더 긴 가드 밴드로 슬라이스를 보호할 필요가 없다.

이로써 손실되는 best-effort 대역폭을 크게 줄일 수 있고, 100 Mbit/s 이하의 저속 링크에서도 훨씬 짧은 사이클 타임을 설정할 수 있다. 선점은 MAC 하드웨어 내부에서 실시간으로 수행되므로, 컷-스루 스위칭과도 양립한다(프레임 전체 길이를 미리 알 필요가 없음). MAC은 64 바이트 간격으로 프레임을 점검해 선점 여부를 판단한다.

#### 결론
802.1AS(시간 동기화), 802.1Qbv(시간 인지 스케줄러) 그리고 프레임 선점(802.1Qbu/802.3br)의 조합만으로도, 서로 다른 트래픽 부류가 한 네트워크에서 공존하면서 종단 간 지연을 보장할 수 있는 강력한 표준 세트가 된다. 여기에 순환적 큐잉과 포워딩(802.1Qch) 표준과 함께 기능이 확장될 수 있다.

### IEEE 802.1Qbv/bu의 한계
802.1Qbv는 구현 복잡도가 높으며 대역폭 활용 효율이 떨어진다. 지연을 최소화하려면 종단 장치의 태스크·이벤트 스케줄링을 트래픽 셰이퍼의 게이트 스케줄링과 연동해야 한다. 다른 치명적인 단점은, 종단 장치가 동기화되지 않은 데이터를 스트리밍할 때 다음 시간 트리거 창(window)을 기다림으로써 발생하는 지연이다.

802.1Qbv는 이러한 시간 트리거 창이 정밀하게 동기화되어야 하므로, 스트림 경로상의 **모든** **스위치**가 동일 시각에 맞춰져 있어야 한다. 그러나 TSN 브리지 간 프레임 선택 및 전송 시점을 동기화하는 일은 중간 규모 네트워크에서도 간단하지 않으며, 완전한 관리 솔루션이 요구된다.

프레임 프리임션(IEEE 802.1Qbu/802.3br) 역시 구현이 어렵고, 산업에서 널리 채택되지 못하고 있다.

### IEEE 802.1Qcr - Asynchronous Traffic Shaping (ATS)
802.1Qav, 802.1Qbv, 802.1Qch는 주기적 사이클마다 패킷 전송을 강제하므로 네트워크 전반의 시간 동기화를 요구하고, 대역폭을 비효율적으로 사용한다. 802.1Qcr은 각 스위치 별로 로컬 시간에 기반해 비동기적으로 동작하며, 임의 주기의 주기성 트래픽·이벤트 주도 트래픽·속도 제한 트래픽 등 혼합 유형에서 링크 이용률을 향상시킨다.

ATS는 UBS(urgency-based scheduler)를 사용해 클래스별 큐잉과 스트림별 리셰이핑으로 긴급 트래픽에 우선순위를 부여한다. 비동기성은 토큰 버킷 에뮬레이션(Token Bucket Emulation, TBE) 모델 기반의 교차(interleaved) 셰이핑 및 트래픽 특성화로 구현되어, 클래스별 셰이핑이 유발하는 버스트 케스케이드(burst cascade) 현상을 제거한다. TBE 셰이퍼는 평균 전송률로 트래픽을 제어하지만 일정 수준의 버스트를 허용한다. 버킷에 토큰이 충분하면 즉시 전송하고, 부족하면 필요한 토큰이 쌓일 때까지 큐의 게이트를 닫는다.

UBS는 RCSD(rate-controlled service disciplines)를 개선하여 홉마다 개별 프레임의 선택과 전송을 제어하고, 속도 제어와 패킷 스케줄링을 분리해 스트림 대역폭을 지연 한계로부터 분리한다. 또한 정적 우선순위, 선입선출(FCFS), 가장 빠른 마감 기한 우선(EDF) 큐잉을 사용한다.

UBS 큐잉은 두 계층 구조를 갖는다.

* 흐름별 셰이핑 큐**:** 상위 소스가 애플리케이션 정의 전송 시각에 따라 고정 우선순위를 부여하며, 각 스트림에 임의 전송 주기를 허용
* 공유 큐: 여러 셰이퍼에서 나온 동일 내부 우선순위 스트림을 병합

이 분리 방식은 구현이 단순하고 높은 우선순위 프레임이 낮은 우선순위 프레임을 우회하도록 보장한다. 공유 큐는 서로 다른 송신자, 같은 송신자지만 우선순위가 다른 경우와 같은 송신자·우선순위이지만 수신 측에서 다른 우선순위를 갖는 경우로 강력히 격리되어 별도의 큐 정책을 적용할 수 있다. 이는 악의적 데이터 전파를 막아 일반 스트림이 간섭받지 않도록 하고, 관리자가 스트림 또는 송신자를 유연하게 차단할 수 있게 해준다. 공유 큐의 최소 개수는 *(포트 수 – 1)*이며, 추가 격리 정책으로 더 늘어날 수 있다. 공유 큐는 스케줄러 내부 고정 우선순위를 가지며 선입선출을 원칙으로 전송한다.

최악의 시간 동기 오차가 발생해도, 802.1Qbv나 802.1Qch 같은 시간 트리거 방식과 달리 링크 활용도가 감소하지 않는다.

## 통신 경로 선택과 장애 허용

### IEEE 802.1Qca - Path Control and Reservation (PCR)
IEEE 802.1Qca는 스위치 기반 네트워크에서 여러 경로를 설정하기 위해 IS-IS(Intermediate System to Intermediate System) 프로토콜을 확장한 표준이다. 802.1Qca는 Shortest Path Bridging(SPB)을 기반으로 하면서 SDN(Software-Defined Networking) 하이브리드 모드를 채택한다. 기본 기능은 IS-IS가 담당하고, SDN 컨트롤러는 전용 서버 노드에 위치한 PCE(Path Computation Element)를 통해 명시적 경로를 관리한다.

이 표준은 여러 토폴로지 관리, 명시적 포워딩 경로(스트림마다 사전에 정의된 경로) 설정, 대역폭 예약, 데이터 보호 및 중복성 확보, 그리고 데이터 흐름 동기화·제어 메시지 분배를 위한 제어 프로토콜을 통합한다. 이러한 기능은 ECT(Equal Cost Tree), MSTI(Multiple Spanning Tree Instance) 및 IST(Internal Spanning Tree), ET(Explicit Tree) 프로토콜에서 파생되었다.

### IEEE 802.1CB - Frame Replication and Elimination for Reliability (FRER)
802.1CB은 패킷 손실이 허용될 수 없는 제어 애플리케이션에 대해 이중화를 제공하기 위해, 하나의 프레임을 서로 겹치지 않는 여러 경로로 중복 전송한다. 패킷 복제는 트래픽 클래스와 경로 정보를 활용해 네트워크 혼잡을 최소화할 수 있다. 복제된 각 프레임에는 순서 식별 번호(sequence identification number) 가 부여되어, 수신 측에서 프레임을 올바른 순서대로 재정렬·병합하고 중복 프레임을 폐기한다.

FRER은 중앙 집중식 구성 관리가 필요하며, 802.1Qcc와 IEEE 802.1Qca를 함께 사용해야 한다. 또한 IEC 62439-3에서 정의한 산업용 고가용성 기술인 HSR(High-availability Seamless Redundancy) 및 PRP(Parallel Redundancy Protocol)를 지원한다.

## 현재 프로젝트

### IEEE 802.1CS - Link-Local Registration Protocol
스트림 하나에 대한 MRP(Multiple Registration Protocol) 상태 데이터는 1500바이트를 차지한다. 트래픽 스트림이 늘어나고 네트워크 규모가 커질수록 데이터베이스 크기가 비례하여 증가하며, 스위치 간 MRP 업데이트 속도가 크게 느려진다. 링크 로컬 등록 프로토콜(Link-Local Registration Protocol, LRP) 은 약 1메가바이트 규모의 대형 데이터베이스를 효율적으로 다룰 수 있도록 최적화돼 있으며, 증분 업데이트를 허용하는 효율적인 복제 메커니즘을 제공한다. 응답하지 않는 노드와 오래된 데이터를 가진 노드는 자동으로 제거된다. MRP가 애플리케이션별로 등록된 각 애플리케이션이 고유의 연산 집합을 정의해야 하는 것과 달리, LRP는 애플리케이션 중립적이다.

### IEEE 802.1Qdd - Resource Allocation Protocol
SRP 및 MSRP는 본래 오디오·비디오(AV) 애플리케이션을 겨냥해 설계되었다. 그 분산형 구성 모델은 802.1Qav의 크레딧 기반 셰이퍼(CBS)가 정의한 스트림 예약(SR) 클래스 A와 B까지만 지원한다. 반면 802.1Qcc는 중앙집중식 CNC(Centralized Network Configuration) 모델을 도입해 추가 셰이퍼, 프레임 프리임션, 경로 이중화 등 모든 최신 TSN 기능을 지원한다.

P802.1Qdd는 P802.1CS 링크 로컬 등록 프로토콜(LRP) 위에 구축된 peer-to-peer 자원 할당 프로토콜(RAP) 신호 체계를 정의해 기존 분산 구성 모델을 개선한다. RAP는 대규모 스트림 수를 위한 동적 예약과 802.1CB FRER 다중 경로 중복 전송, 시퀀스 복구 자동 설정을 지원하여 확장성을 높인다. 또한 802.1Qch CQF와 P802.1Qcr ATS 같은 TSN 셰이퍼의 ‘토폴로지 독립적 홉별 지연 계산’ 기능을 활용하며, 고부하 상황에서도 성능을 향상하고 프록시·진단 기능을 강화한다. 그럼에도 기존 MSRP와의 호환성과 상호 운용성은 유지된다.

### IEEE 802.1ABdh - LLDPv2 for Multiframe Data Units
P802.1ABdh는 LLDP를 개정한 LLDPv2로 IETF의 링크 상태 벡터 라우팅(Link State Vector Routing) 프로토콜을 지원하고 프로토콜 메시지 효율을 향상시킨다.

### '''IEEE 802.1Qcp''' '''-''' YANG data model
802.1Qcp는 YANG 데이터 모델을 적용해 MAC 브리지, TPMR(2-포트 MAC 릴레이), 고객/사업자 VLAN 브리지 등 장비의 상태 보고 및 구성을 위한 UPnP 프레임워크를 제공하고, 802.1X 보안·802.1AX 데이터센터 브리징을 지원한다.

*YANG*은 구성·상태 데이터, 알림, 원격 프로시저 호출을 기술하기 위한 UML 기반 모델링 언어로, NETCONF/RESTCONF 같은 네트워크 관리 프로토콜을 통해 장비 설정을 자동화한다.

### DetNet

IETF DetNet(Deterministic Networking) WG는 오디오·비디오 스트리밍, 산업 자동화, 차량 제어처럼 고신뢰·저지연·저지터가 요구되는 트래픽을 대상으로 결정적 데이터 경로를 정의한다. 목표는 필드버스 같은 특수 네트워크를 IP 패킷 네트워크로 이전하는 것이다. 이를 위해 DetNet은 버퍼 크기·전송률 자원 할당으로 종단 간 지연 요구를 만족하고, 다중 경로·명시적 경로를 통한 서비스 보호로 패킷 손실·재정렬을 줄인다. 동일 물리망에서 시간-중요 예약 트래픽과 일반 베스트-에포트 트래픽을 모두 처리하며, 사용되지 않는 예약 대역폭은 베스트-에포트 트래픽에 재할당한다.

DetNet은 IP 3계층 라우팅 세그먼트에서 동작하며, SDN 계층으로 IntServ·DiffServ를 통합하고, MPLS·IEEE 802.1 TSN 등 2계층 브리지 세그먼트 위에서 서비스를 전달한다.

트래픽 엔지니어링(TE) 라우팅 프로토콜은 DetNet 흐름 사양을 TSN의 큐잉·셰이핑·스케줄링 제어(예: 802.1Qav, 802.1Qbv, 802.1Qch, 802.1Qbu/802.3br, 802.1CB)로 변환한다. 또한 802.1CB가 정의한 프로토콜 상호 운용성을 이용해 액티브 목적지 MAC·VLAN 스트림 식별 기능으로 TSN 서브네트워크 능력을 DetNet 흐름에 광고한다. DetNet 흐름은 목적지 MAC 주소, VLAN ID, 우선순위 값을 기준으로 TSN 서브네트워크의 스트림 ID 및 QoS 요구(송·수신자)에 매칭된다.

## 각주

## 외부 링크
* IEEE 802.1 Time-Sensitive Networking Task Group
* IEEE 802.1 public document archive
* Specification for IEEE TSN Standards from Avnu Alliance
* Real-time Ethernetredefined 
* Time Sensitive Networking (TSN) Vision: Unifying Business & Industrial Automation
* Is TSN Activity Igniting Another Fieldbus WAR?
* research project related to TSN applications in aircraft
* TSN Training, Marc Boyer (ONERA), Pierre Julien Chaine (Airbus Defence and Space)

분류:IEEE 표준
분류:이더넷
분류:산업용 이더넷
분류:제어공학
분류:네트워크 프로토콜