IP Multicast Traffic Measurement Method with /PSAMP Atsushi Kobayashi Yutaka Hirokawa Haruhiko Nishida NTT 1
Outline Introduction Motivation Requirements Main requirements for measurement system in largescale network What is /PSAMP? Proposal of Measurement Method Effective measurement method and system architecture using /PSAMP Implementation of prototype Conclusion 2
Motivation Multicast service has started in several provider networks. Large amount of broadband users leads to heavy demand for IP multicast streaming services, such as IPTV. Existing multicast tools work, but not well enough to monitor streaming services in largescale networks. Multicast ping, trace route, and multicast MIB. Easy trouble shooting tools are required. /PSAMP seems helpful. 3
IP Multicast Streaming Traffic The traffic volume of an IPTV channel is 12 Mb/s and 1.2 Kp/s. Indicates maximum volume of H.264 codec. A lot of IP multicast stream traffic includes RTP headers. Easily detects packet loss by keeping track of RTP seq. number. More than 50 channels pass through the ISP networks. Mb/s 16 14 12 10 8 6 4 2 0 bits [Mb/s] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Elapsed Time [s] Kp/s 1.4 1.2 1 0.8 0.6 0.4 0.2 0 packets [Kp/s] FEC packet 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Elapsed Time [s] Media packet 4
Issues on Multicast Operation Difficult to see IPv4/6 multicast topology When a problem occurs, operators need topology information for troubleshooting and investigating the impact of the failure. Measure service quality Need to monitor service quality overview 5
Requirements Requirement #1: Visualizing multicast topologies Monitor multicast topology per {S,G} periodically Show traffic volume on each topology Requirement #2: Detecting service quality deterioration Detect packet loss and disorder within 1 minute, while there is continuous packet loss at 1/1000 Requirement #3: Showing failure point on multicast topology Need to gather whole traffic data on network 6
Difficult Requirements for NetFlow Current NetFlow implementation meets the requirement 1. Requirement #2: Detecting the service quality deterioration is impractical for current NetFlow implementation. Flow records in NetFlow cannot include packet loss and disorder. Generally, many operators adopt random sampling to introduce NetFlow. I focus on the /PSAMP. 7
Features Developed as extended NetFlow ver.9 Supports various kinds of packets, such as IPv6 or MPLS, by changing the template data structure. Reliable SCTP/TCP transport Enterprise-specific information elements as vendor-specific extensions Variable length information elements Packet-based data, such as IP headers, can be delivered through the protocol. Packet Exporter Template #400 Template #300 Header Collector 8
PSAMP Features Defines several sampling and filtering techniques to measure the packet-based traffic behavior Sampling: Systematic, Random Sampling Time-based selection interval or packet count-based selection interval Filtering: Property match, Hash-based Filtering Combination of sampling and filtering can be applied. Observation point Selector #1 Filtering Selector #2 Filtering Selector #3 Sampling Output 9
Multicast Flow in requirement RFC mentions: Multiple flow records per different output IF should be maintained to export output IF list IF#1 Packet Exporter IF#3 IF#2 IF#1 Collector IF#2 IF#3 Too many (+burst) multicast flow records When active timeout happens, an access router that has thousands of subscribers will export thousands of flow records at the same time. A more sophisticated way is needed. 10
Proposal of Measurement Method Explore measurement method based on the following requirements Requirement #1: Visualizing multicast path tree Requirement #2: Detecting service quality deterioration Detecting packet loss and disorder Requirement #3: Showing failure point on multicast path tree 11
How to Export Output IF List To visualize the multicast topology, exporting an input and output IF list is required. Use optional template in When specified egress interface is added to the topology or deleted, the optional data is updated. An eventidentifier field indicates added or deleted interfaces. 0 15 16 31 Set Id = 3 Template Id = 256 Scope Field Count = 6 Field length = 16 Field length = 16 Field length = 16 Field length = 16 Field length = 4 Field length = 4 Field length = 4 Enterprise Number 0 0 0 0 0 0 1 Length Field Count = 7 ExporterIPv6Address Id =130 DestinationIPv6Address Id = 27 SourceIPv6Address Id = 130 SourceIPv6PrefixLength Id = 27 ingressinterface Id = 27 egressinterface Id = 27 eventidentifier Id = 1 Enterprise Number Padding 12
Detecting Packet Loss and Disorder Combination of PSAMP techniques on Exporter Observe packets at input interface Select multicast packet by filtering Extract them using systematic time-based sampling All input packets during the interval period are selected. Observed packets IF Exporter Filter Samplers Start End Spacing Start End Spacing Start End Filter selects all multicast packets. Samplers do independent systematic time-based sampling. 13
Exporting Packet-based Data ipheaderpacketsection Includes IP/UDP header and a part of RTP header startmiliseconds and endmiliseconds Indicate the start point and end point of a sampling interval period collector can identify a series of packet data in the same sampling interval period Spacing Spacing 0 15 16 31 Set Id = 2 Length Template Id = 257 Field Count = 5 0 ipheaderpacketsection Id=313 Field Length = 65535 Start End Start End 0 ingressinterface Id = 27 Field Length = 4 0 datetimemiliseconds Id = 323 Field Length = 4 1 startmillisecond Id = 1 Field Length = 4 Enterprise Number 1 EndMillisecond Id = 2 Field Length = 4 Enterprise Number 14
System Architecture Huge amount of traffic data A collector needs to gather the whole traffic data from all exporters on networks. Collector Utilizes Mediator Exporter exports packet-based data records to mediator. Mediator counts packet-loss and then exports flow-based data records to collector Collector visualizes multicast topologies and shows traffic data 2500~3000 records/sec Exporter Exporter Exporter 15
System Architecture Huge amount of traffic data A collector needs to gather the whole traffic data from all exporters on networks. 50 records/sec Collector Utilizes Mediator Exporter exports packet-based data records to mediator. Mediator counts packet-loss and then exports flow-based data records to collector Collector visualizes multicast topologies and shows traffic data 2500~3000 records/sec Mediator Exporter Mediator Mediator Exporter Exporter 16
Mediator Receives packet-based data from Exporters Extracts RTP sequence number from ippacketsection and then counts packets loss Combines series of packet data of the same interval into one flow Exports flow-based data to a collector 0 15 16 31 Set Id = 2 Length Spacing Spacing Template Id = 258 Field Count = 13 0 Bytes Id = 1 Field Length =4 0 Packets Id = 2 Field Length = 4 0 protocolidentifier Id = 4 Field Length = 4 0 sourcetransportport Id = 1 Field Length = 2 0 ingressinterface Id = 10 Field Length = 4 Spacing Spacing 0 destinationtransportport Id = 11 Field Length = 2 0 sourceipv6address Id = 27 Field Length = 16 0 destinationipv6address Id = 28 Field Length = 16 0 ipversion Id = 60 Field Length = 1 Start End Start End 0 exporteripv4address Id = 130 Field Length = 4 0 droppedpacketdeltacount = 133 Field Length = 4 0 flowstartmilliseconds = 152 Field Length = 4 0 flowendmilliseconds = 153 Field Length = 4 17
Multicast Topology View A router in which packet loss occurs is indicated in red on the multicast topology map. Packet loss Selects {S,G} session, and then shows specified multicast path tree Bits, packets 18
Evaluation of Prototype System Experimental assumptions: The packets of 50 IPTV channels pass through an exporter at the same time. We evaluate the exporter by varying the sampling interval period. The sum of the sampling and spacing interval period is kept at a fixed value of 1,000 ms. 1,000 ms 1,000 ms 1,000 ms Spacing Spacing Spacing 19
Experimental Results of Exporter The volume of exported data obtained by changing the interval period from 10 to 100 ms. The performance limit seems to be 3,000 records/sec at the interval period of 50 ms. 7000 6000 Collector Record/second 5000 4000 3000 2000 1000 100ms 50ms 40ms 20ms 70ms 10ms Mediator Exporter 0 0 20 40 60 80 100 120 ElapsedTime[s] CPU: Quad Core 2.66GHz Memory: 4GB OS: FreeBSD 6.2 20
Evaluation of Accuracy We evaluate the detection probability for packet loss within the given monitoring interval (n) by changing packet loss rate (p) and the sampling interval time (d). On condition that n is 1 min and packet rate (r) is 1.2 kp/s, experimental result is shown. r n d 1000 1 (1 p) Detection probability is 80% if the sampling interval period is 40 ms and packet loss happens at 1/1000 for over 1 min. Loss Detection Rate[%] 100 90 80 70 60 50 40 30 20 10 1/100 1/1000 1/10000 0 1 10 100 1000 Time[ms] 21
Experimental Results of Mediator The performance limit is obtained by changing the received data volume from 100 to 5,000 records. The performance limit of received data volume seems to be 3,000 records/sec. In the current prototype version, a one-to-one assignment of the mediator to an exporter is needed. 6000 5000 1000 records/sec 2500 records/sec 4000 records/sec 5000 records/sec Collector Records/second 4000 3000 2000 1000 2500 3000 records/s 2500 3000 records/s Mediator 0 0 10 20 30 40 50 60 Elapsed Time[s] CPU: Core Duo 2.00 Hz Memory: 4GB OS: FreeBSD 6.2 Exporter 22
Conclusion We presented a new traffic measurement method of IP multicast streaming services, such as IPTV, and the system architecture using /PSAMP. We demonstrated the feasibility of the prototype. Toward introducing the method to actual networks, higher efficiency and accuracy would be required. The exporter components are preferably implemented in commercial routers, switches, or network appliance devices, which can handle the huge volume of traffic. 23