SRP(Stream Reservation Protocol)는 Ethernet AVB 네트워크에서 스트림을 보내는 쪽인 Talker부터 받는 쪽인 Listener까지, 경로상의 모든 브리지에 그 스트림이 필요로 하는 자원을 예약하는 프로토콜이다 — 데이터링크 계층(L2)에서 동작하며 IEEE 802.1Qat로 표준화되어 있다[1].

MRP 기반의 세 응용

SRP는 MRP(Multiple Registration Protocol, IEEE 802.1ak)를 기반으로 하는 세 응용의 조합이다[1].

프로토콜EtherType역할
MMRP(Multiple MAC Registration Protocol)0x88F6그룹 MAC 주소 등록
MVRP(Multiple VLAN Registration Protocol)0x88F5VLAN ID 등록
MSRP(Multiple Stream Registration Protocol)0x22EA스트림 자원 예약·해제

MMRP와 MVRP는 각각 멀티캐스트 전달에 필요한 그룹 MAC 주소와 VLAN 멤버십을 브리지 사이에 전파해, 스트림 프레임이 등록된 목적지로만 전달되도록 준비한다. 이 위에서 실제 대역폭 예약을 수행하는 것이 MSRP다[1].

MSRP 선언과 예약 절차

MSRP는 선언(declaration)이라는 속성 등록으로 예약 상태를 표현한다. Talker와 Listener가 보내는 선언은 다섯 가지로 나뉜다[1].

Source선언의미
TalkerAdvertise제공 가능한 스트림을 알림
TalkerFailed스트림 제공을 중단함(자원 해제)
ListenerReady스트림을 요청하며, 경로상 대역폭이 충분함
ListenerReady Failed스트림을 요청하나, 일부 리스너 경로의 대역폭이 부족함
ListenerAsking Failed스트림을 요청하나, 리스너 쪽 대역폭이 부족함

정상적인 예약은 Talker Advertise 선언의 전파로 시작된다. Talker가 Advertise를 브로드캐스트하면 각 브리지 포트가 이를 수신해 자신의 가용 대역폭을 확인하고, 충분하면 다음 홉으로 전파한다 — 이 과정에서 선언에 실린 누적 지연(accumulated latency) 값도 홉마다 갱신된다. Listener가 Advertise를 수신하면 Ready 선언을 Talker 방향으로 유니캐스트해 돌려보내고, 경로상의 각 브리지는 이를 받아 실제 대역폭을 예약한다. Talker는 자신의 Advertise와 일치하는 Ready를 받으면 데이터 스트림 전송을 시작한다[1].

Talker Bridge Listener Talker Advertise Talker Advertise Listener Ready Listener Ready Data Transmission

Listener가 먼저 스트림을 원하지만 아직 어떤 Talker가 그 스트림을 제공하는지 모를 때는 역순으로 시작할 수도 있다 — Listener가 Asking Failed 선언을 브로드캐스트하면, 그 스트림을 제공할 수 있는 Talker가 이를 수신해 Advertise로 응답하고, 이후 절차는 Talker 주도 흐름과 같다[1].

서비스가 끝나면 Talker는 Talker Failed 선언을 보내 예약된 대역폭을 해제한다[1].

Example

예약이 실패하는 경우는 세 갈래로 나뉜다: Listener가 이미 다른 Talker의 동일 종류 스트림을 받고 있어 새 스트림을 받을 수 없는 경우, Talker Advertise가 전파되는 도중 어느 브리지의 대역폭이 부족한 경우, Listener Ready가 전파되는 도중 실제 예약 단계에서 대역폭이 부족한 경우다. 세 경우 모두 실패가 발생한 지점에서 Asking Failed 또는 Failed 선언이 반대 방향으로 전파돼 양쪽에 통보된다[1].

Talker Advertise가 싣는 정보

Talker Advertise 선언에는 스트림을 식별하고 필요한 자원을 산정하는 데 쓰이는 필드들이 실린다 — Talker의 48비트 MAC 주소와 16비트 고유 ID를 조합한 StreamID, 목적지 MAC 주소·VLAN ID, 대역폭과 프레임 레이트로 구성되는 TSpec, SR Class 우선순위, 예약의 긴급도를 나타내는 rank, 홉마다 갱신되는 accumulated latency가 그것이다[1].

이렇게 예약된 스트림을 브리지가 실제로 어떤 순서로 내보낼지는 Credit-Based Shaper가 규정한다.

참고문헌

[1]
IEEE, “IEEE 802.1Qat-2010 — IEEE Standard for Local and Metropolitan Area Networks — Virtual Bridged Local Area Networks Amendment 14: Stream Reservation Protocol (SRP)”, 2010.