Using SDN To Facilitate Precisely Timed Ac8ons On Real-Time - - PowerPoint PPT Presentation

using sdn to facilitate precisely timed ac8ons on real
SMART_READER_LITE
LIVE PREVIEW

Using SDN To Facilitate Precisely Timed Ac8ons On Real-Time - - PowerPoint PPT Presentation

Using SDN To Facilitate Precisely Timed Ac8ons On Real-Time Data Streams Thomas Edwards FOX Networks Engineering & Opera8ons, Advanced Tech.


slide-1
SLIDE 1

Using ¡SDN ¡To ¡Facilitate ¡Precisely ¡ Timed ¡Ac8ons ¡On ¡Real-­‑Time ¡Data ¡ Streams ¡

Thomas ¡Edwards ¡– ¡FOX ¡Networks ¡ Engineering ¡& ¡Opera8ons, ¡Advanced ¡Tech. ¡ Warren ¡Belkin ¡– ¡Arista ¡Networks ¡

slide-2
SLIDE 2
  • 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 ¡

slide-3
SLIDE 3

1 ¡video ¡signal ¡per ¡cable ¡in ¡one ¡direc8on ¡means ¡lots ¡of ¡cables… ¡

slide-4
SLIDE 4

“Video ¡Switching”: ¡Best ¡during ¡the ¡ Ver8cal ¡Interval… ¡

slide-5
SLIDE 5

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 ¡

slide-6
SLIDE 6

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? ¡
slide-7
SLIDE 7

“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 ¡

slide-8
SLIDE 8

It ¡worked… ¡

Perhaps ¡there ¡are ¡other ¡flows ¡that ¡need ¡precisely-­‑8med ¡changes ¡besides ¡video? ¡

slide-9
SLIDE 9

Ques8ons? ¡

HD-SDI Monitors 2022-6 GW 1 2022-6 GW 1 SSD Video Player

HD-SDI 10GbE [2 x video streams] 10GbE [switched stream #2] 10GbE [switched stream #1] 1GbE [control]

Switch Button

HD-SDI HD-SDI HD-SDI 10GbE [2 x video streams

  • w. source timing]

USB Blackburst Generator

Linux Server HD-SDI Camera 10 GbE Switch

Source-­‑Timed ¡Switching ¡PoC ¡Schema8c ¡

slide-10
SLIDE 10

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 ¡

slide-11
SLIDE 11

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) ¡

slide-12
SLIDE 12

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 ¡

slide-13
SLIDE 13

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 ¡

slide-14
SLIDE 14

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 ¡