using&sdn&to&facilitate&precisely& …
TRANSCRIPT
Using SDN To Facilitate Precisely Timed Ac8ons On Real-‐Time Data
Streams
Thomas Edwards – FOX Networks Engineering & Opera8ons, Advanced Tech.
Warren Belkin – Arista Networks
• HD-‐SDI (HD Serial Digital Interface) – 1.5 Gbps Uncompressed HD digital video – On 75Ω coax (best solu)on in 1996) – 1 HD video signal per cable, unidirec8onal
• Could it be on Ethernet? – SMPTE 2022-‐6 carries HD-‐SDI bit stream on mul8cast RTP
– 6 HD signals on 10 GbE, 66 HD signals on 100 GbE – Mul8cast because we need point-‐to-‐mul8point
Live Professional Video
1 video signal per cable in one direc8on means lots of cables…
“Video Switching”: Best during the Ver8cal Interval…
Use IGMP for “Des8na8on-‐Timed” Video Switching? • Receiving exis8ng video flow
• IGMP join new video flow • Wait for Switch Point… • Switch Video (internally)
• IGMP Leave old video flow
RX 1
IGMP Join 2, RX 1+2
IGMP Leave 2, RX 2
Use SDN for “Switch-‐Timed Video Switching”?
• Need 8ming accuracy ~10 µs to synchronously switch video in ver8cal interval (SMPTE RP 168)
• 1-‐10 ms to update flow rules on switches • No guarantees on flow rule update latency • Other solu8ons?
“Source-‐Timed SDN Flow Switching”
• Before video switch (~100 ms), add new flow rule that matches packet header value not being sent yet
• At precise =me of video switch, all video sources update packet header value to match new rule [sources are “video aware”]
• Video flows over new flow rules • Old rules can idle_8meout, etc. • Live PoC used UDP SRC port (header field) & DirectFlow (SDN API) on Arista switch
It worked…
Perhaps there are other flows that need precisely-‐8med changes besides video?
Ques8ons?
HD-SDI Monitors
2022-6GW 1
2022-6GW 1
SSD Video Player
HD-SDI
10GbE[2 x video streams]
10GbE [switched stream #2]
10GbE [switched stream #1]
1GbE[control]
Switch Button
HD-SDIHD-SDI
HD-SDI
10GbE[2 x video streamsw. source timing] USB
Blackburst Generator
Linux Server
HD-SDI Camera
10 GbE Switch
Source-‐Timed Switching PoC Schema8c
Source-‐Timed Video Switching: Ini8al Condi8ons
Controller
Source A Switch port 1 SRC IP 10.0.0.1 UDP SRC 10001
Source B Switch port 2 SRC IP 10.0.0.2 UDP SRC 10001
Des8na8on A Switch port 3
Des8na8on B Switch port 4
VRT #10001 Source A Source B
Des8na8on A X
Des8na8on B X
Ini8al SDN switch flow table:
Video flows
Ini8al Video Rou8ng Table (VRT):
UDP SRC port used as “)ming header” to signal VRT Version
IP SRC UDP SRC port Ac=on
10.0.0.1 10001 Forward Port 3
10.0.0.2 10001 Forward Port 4
Switching Request
Controller
Source A Switch port 1 SRC IP 10.0.0.1 UDP SRC 10001
Source B Switch port 2 SRC IP 10.0.0.2 UDP SRC 10001
Des8na8on A Switch port 3
Des8na8on B Switch port 4
VRT #10002 Source A Source B
Des8na8on A X
Des8na8on B X
IP SRC UDP SRC port Ac=on
10.0.0.1 10001 Forward Port 3
10.0.0.2 10001 Forward Port 4
10.0.0.1 10002 Forward Port 4
10.0.0.2 10002 Forward Port 3
3) New entries added to SDN switch flow table:
1) VRT Updated & VRT Version # incremented:
Video flows
SDN Flow table update
2) Controller sends SDN flow table update to switches (~1 ms)
Upda8ng Source VRT Version
Controller
Source A Switch port 1 SRC IP 10.0.0.1 UDP SRC 10001
Source B Switch port 2 SRC IP 10.0.0.2 UDP SRC 10001
Des8na8on A Switch port 3
Des8na8on B Switch port 4
VRT #10002 Source A Source B
Des8na8on A X
Des8na8on B X
SDN switch flow table:
Video Rou8ng Table:
Video flows
Source VRT Version Number Update
Controller sends new VRT Version # to Sources
IP SRC UDP SRC port Ac=on
10.0.0.1 10001 Forward Port 3
10.0.0.2 10001 Forward Port 4
10.0.0.1 10002 Forward Port 4
10.0.0.2 10002 Forward Port 3
Sources Switch VRT Version at appropriate )me (e.g. SMPTE RP 168)
Controller
Source A Switch port 1 SRC IP 10.0.0.1 UDP SRC 10002
Source B Switch port 2 SRC IP 10.0.0.2 UDP SRC 10002
Des8na8on A Switch port 3
Des8na8on B Switch port 4
VRT #10002 Source A Source B
Des8na8on A X
Des8na8on B X
SDN switch flow table:
Video Rou8ng Table:
Video flows
Source switches VRT version # in HDR
Source switches VRT version # in HDR
IP SRC UDP SRC port Ac=on
10.0.0.1 10001 Forward Port 3
10.0.0.2 10001 Forward Port 4
10.0.0.1 10002 Forward Port 4
10.0.0.2 10002 Forward Port 3
Old Flow Rules Removed
Controller
Source A Switch port 1 SRC IP 10.0.0.1 UDP SRC 10002
Source B Switch port 2 SRC IP 10.0.0.2 UDP SRC 10002
Des8na8on A Switch port 3
Des8na8on B Switch port 4
VRT #10002 Source A Source B
Des8na8on A X
Des8na8on B X
Old rules are specifically removed or idle_8meout:
Video Rou8ng Table:
Video flows
IP SRC UDP SRC port Ac=on
10.0.0.1 10002 Forward Port 4
10.0.0.2 10002 Forward Port 3