On real-time delay monitoring in software-defined networks Victor S. Altukhov Lomonosov Moscow State University Moscow, Russia victoralt@lvk.cs.msu.su Eugene V. Chemeritskiy Applied Research Center for Computer Networks Moscow, Russia tyz@lvk.cs.msu.su Motivation VoIP • Huge number of network applications and services request advanced end-to-end requirements for the connection; • Network hardware doesn’t support necessary functionality to allow QoS issues; • Most QoS metrics can’t be easily calculated. IPTV Gaming File transfer Motivation VoIP Delay sensitive • Many network services and applications are delay sensitive; • Delay measurement in asynchronous distributed system is hard. Gaming Delay sensitive IPTV Delay sensitive Rationale Packet switch fabric F Output port queue Switch packet analyzer Π F Π Queuing delay can’t be accurately measured without a regard to network load Rationale Measured value consist of two parts: • Real end-to-end delay for target route (effective part); • Transmission delay between controller and switch (measurement overhead). Measurement will be accurate if: effective part β« overhead SDN Controller Target route Loop-based method SDN Controller • Allow to measure average target route RTT over n iterations; • Measurement results include switch to controller jitter. Problems: • Huge number of rules; • Measure RTT, not one-way delay. Target route Header loops • Use header fields to decrease number of rules; • Require to install modification rules; • 1000 iterations cycles and 3 header fields require 30 modification rules. Iteration First field Second field Third field 0 0 0 0 1 0 0 1 10 0 1 0 11 0 1 1 1 0 0 9 9 9 … … 100 … 999 Weighted method of RTT separation • Allow to derive one-way delay from RTT; • Can be used with one-hop RTT; • Requires switch statistics. For a given RTT and time interval T, one-way delay can be estimated as following: (π π π π π π + max πποΏ½πΆπΆ − ππ, 0 − max(πποΏ½πΆπΆ − ππ, 0) )/2 X, Y – number of bytes, transmitted through switches output queues. T – measurement time interval, C – link bandwidth. Delay map Network delay map – structure, that contains all one-hop delays. • Delay for a random route can be calculated as sum of one hop delays; • Delay map can be construct with weighted method of RTT separation, but this approach generates big controller load; Loops aggregation • Number of PacketIn messages depend on number of iterations and loop’s length; • Bigger loops decrease controller load. 2 3 2 1 3 1 4 2 loops – 2 PacketIn per 1 period 5 4 1 loop – 1 PacketIn per 2 periods 5 • Weighted method of RTT separation can be used only with one-hop loops How to obtain one-way delays without weighted method? Network delay map construction algorithm Idea: Construct a system of linear equations from a set of aggregated loops. Constraints: • Loops in the aggregated set must be independent; • Each one-way link must be include in at least one loop; • Number of loops must be equal to number of one-way links. Network delay map construction algorithm Start from basic set of network cycles. 2 3 1 4 5 1→2→1 2→3→2 2→4→2 3→5→3 4→5→4 2→3→5→4→2 • Number of cycles in basic is equal to cyclomatic number; • Basic set is linear independent; • Set of aggregated cycles from basic set is independent; But this is not enough Network delay map construction algorithm Extend set of aggregated cycles to number of one-way links • Find missing one-way links in set of aggregated cycles; • Use weighted method of RTT separation to obtain missing one-way delays. Use measurement results to solve system of linear equations and create network delay map 16 2 8 3 1 1 5 4 8 2 36 16 36 3 14 5 20 20 14 4 Experiments results • Tested on hybrid SDN switch NEC PF5200 • POX controller • User traffic generation delay vary from 0 to 10 µs • User traffic packet size vary from 64 to 1500 byte 2 3 1 5 4 Experiments results • User traffic generation delay vary from 1 to 10 µs • User traffic packet size vary from 64 to 250 bytes 16 8 1 8 2 36 16 36 3 14 5 20 20 14 4 Experiments results • User traffic generation delay vary from 100 ns to 1 µs • User traffic packet size vary from 250 to 750 bytes 63 24 1 24 2 36 37 36 3 61 5 41 57 56 4 Experiments results • User traffic generation delay less then 100 ns • User traffic packet size vary from 1000 bytes 91 1 35 118 83 2 98 3 70 31 5 80 30 86 4 Experiments results • Tested on network, simulated by Mininet • POX controller 2 With weighted method of RTT separation: • 5 one-hop loops • 5 PacketIn messages in a second 3 1 4 5 Experiments results • Tested on network, simulated by Mininet • POX controller 2 With set of aggregated cycles: • 7 cycles with 36 hops • 3,78 PacketIn messages in second. 3 1 4 5 Result Out method of end-to-end delay measurement has the following features: • Per-flow delay measurement; • Precise enough to cover the mutual flow influence; • Work in SDN with general switching hardware; • Update results up to several times in a second. Questions?