mirror of
https://github.com/rtbrick/bngblaster.git
synced 2024-05-06 15:54:57 +00:00
476 lines
34 KiB
HTML
476 lines
34 KiB
HTML
<!DOCTYPE html>
|
|
<html class="writer-html5" lang="en" >
|
|
<head>
|
|
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Multicast and IPTV — BNG Blaster 0.8 documentation</title>
|
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/tabs.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
|
|
|
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
|
<script src="../_static/jquery.js"></script>
|
|
<script src="../_static/underscore.js"></script>
|
|
<script src="../_static/doctools.js"></script>
|
|
<script src="../_static/js/theme.js"></script>
|
|
<link rel="index" title="Index" href="../genindex.html" />
|
|
<link rel="search" title="Search" href="../search.html" />
|
|
<link rel="next" title="Legal Interception (LI)" href="li.html" />
|
|
<link rel="prev" title="Session Traffic" href="traffic.html" />
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav">
|
|
<div class="wy-grid-for-nav">
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-scroll">
|
|
<div class="wy-side-nav-search" >
|
|
<a href="../index.html" class="icon icon-home"> BNG Blaster
|
|
<img src="../_static/rtbrick_logo.png" class="logo" alt="Logo"/>
|
|
</a>
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="../install.html">Installation</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">Quickstart Guide</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../interfaces.html">Interfaces</a></li>
|
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Access Protocols</a><ul class="current">
|
|
<li class="toctree-l2"><a class="reference internal" href="pppoe.html">PPPoE</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="ipoe.html">IPoE</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="l2tp.html">L2TP</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="l2bsa.html">L2BSA</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="traffic.html">Session Traffic</a></li>
|
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">Multicast and IPTV</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#generate-multicast-traffic">Generate Multicast Traffic</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#manual-join-leave-testing">Manual Join/Leave Testing</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#iptv-zapping-test">IPTV Zapping Test</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#multicast-limitations">Multicast Limitations</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="li.html">Legal Interception (LI)</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="monkey.html">Monkey</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../routing/index.html">Routing Protocols</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../streams.html">Traffic Streams</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../http.html">HTTP Emulation</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../nat.html">NAT / CGNAT</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../reports.html">Reports</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuration</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../api/index.html">API/CLI</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../controller.html">Controller</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../performance.html">Performance Guide</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting.html">Troubleshooting</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../faq.html">Frequently Asked Questions</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="../index.html">BNG Blaster</a>
|
|
</nav>
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="Page navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="../index.html" class="icon icon-home"></a> »</li>
|
|
<li><a href="index.html">Access Protocols</a> »</li>
|
|
<li>Multicast and IPTV</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
<a href="../_sources/access/multicast.rst.txt" rel="nofollow"> View page source</a>
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div itemprop="articleBody">
|
|
|
|
<section id="multicast-and-iptv">
|
|
<span id="multicast"></span><h1>Multicast and IPTV<a class="headerlink" href="#multicast-and-iptv" title="Permalink to this headline"></a></h1>
|
|
<p>The BNG Blaster provides advanced functionalities for testing multicast
|
|
over PPPoE sessions with a focus on IPTV. Therefore IGMP versions 1, 2 and 3
|
|
are implemented with support for up to 12 group records per session and 3
|
|
sources per group.</p>
|
|
<p>Multicast testing is supported using external multicast traffic like real
|
|
world IPTV traffic or by generating multicast traffic on one of the network
|
|
interface functions.</p>
|
|
<section id="generate-multicast-traffic">
|
|
<h2>Generate Multicast Traffic<a class="headerlink" href="#generate-multicast-traffic" title="Permalink to this headline"></a></h2>
|
|
<p>The BNG Blaster supports different ways to generate multicast traffic
|
|
using autogenerated traffic enabled in the igmp configuration section
|
|
or by manually defined RAW traffic streams.</p>
|
|
<p>The following example shows how to generate traffic for 100 multicast groups
|
|
with one packet per millisecond (1000 PPS) for every group.</p>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"interfaces"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"interface"</span><span class="p">:</span><span class="w"> </span><span class="s2">"eth2"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100.0.0.10"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"gateway"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100.0.0.2"</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">},</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"igmp"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"group"</span><span class="p">:</span><span class="w"> </span><span class="s2">"239.0.0.1"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"group-iter"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0.0.1"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"group-count"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"source"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100.0.0.10"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"send-multicast-traffic"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
|
<span class="p">}</span><span class="w"></span>
|
|
</pre></div>
|
|
</div>
|
|
<p>It is recommended to send multicast traffic with 1000 PPS (default)
|
|
per group to measure the join and leave delay in milliseconds.</p>
|
|
<p>It is also possible to generate multicast traffic using RAW streams as shown in the
|
|
example below:</p>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"streams"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"MC1"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ipv4"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"direction"</span><span class="p">:</span><span class="w"> </span><span class="s2">"downstream"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"priority"</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"network-ipv4-address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.1.1.1"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"destination-ipv4-address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"239.0.0.1"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"length"</span><span class="p">:</span><span class="w"> </span><span class="mi">256</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"pps"</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"network-interface"</span><span class="p">:</span><span class="w"> </span><span class="s2">"eth1"</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">},</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"MC2"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ipv4"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"direction"</span><span class="p">:</span><span class="w"> </span><span class="s2">"downstream"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"priority"</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"network-ipv4-address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.2.2.2"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"destination-ipv4-address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"239.0.0.2"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"length"</span><span class="p">:</span><span class="w"> </span><span class="mi">256</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"pps"</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"network-interface"</span><span class="p">:</span><span class="w"> </span><span class="s2">"eth2"</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">]</span><span class="w"></span>
|
|
<span class="p">}</span><span class="w"></span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Using RAW streams allows generating streams distributed over multiple network interfaces
|
|
with more options to modify the traffic.</p>
|
|
<p>Setting the <code class="docutils literal notranslate"><span class="pre">destination-ipv4-address</span></code> of a stream to a multicast IPv4 address is enough
|
|
to generate proper multicast streams. All headers including the BNG Blaster header will be
|
|
automatically set for multicast. Therefore such streams can be also used to measure the IGMP
|
|
join and leave delay.</p>
|
|
<p>The BNG Blaster is recognizing loss using the <a class="reference internal" href="../streams.html#bbl-header"><span class="std std-ref">BNG Blaster header</span></a>
|
|
sequence numbers. After the first multicast traffic is received for a particular group,
|
|
for every further packet it checks if there is a gap between the last and new sequence number
|
|
which would be reported as a loss. The argument option <code class="docutils literal notranslate"><span class="pre">-l</span> <span class="pre">loss</span></code> enables loss logging which
|
|
helps to search for the missing packets in the corresponding capture files.</p>
|
|
<div class="admonition tip">
|
|
<p class="admonition-title">Tip</p>
|
|
<p>It is also possible to start a dedicated BNG Blaster instance to generate multicast
|
|
traffic only. This traffic can be consumed by multiple different BNG Blaster instances.
|
|
The BNG Blaster header allows doing the same measurements on traffic generated from the
|
|
same or different BNG Blaster instances.</p>
|
|
</div>
|
|
</section>
|
|
<section id="manual-join-leave-testing">
|
|
<h2>Manual Join/Leave Testing<a class="headerlink" href="#manual-join-leave-testing" title="Permalink to this headline"></a></h2>
|
|
<p>It is possible to join and leave multicast groups manually using the <a class="reference internal" href="../api/index.html#api"><span class="std std-ref">command</span></a>
|
|
<code class="docutils literal notranslate"><span class="pre">igmp-join</span></code>.</p>
|
|
<p><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">sudo</span> <span class="pre">bngblaster-cli</span> <span class="pre">run.sock</span> <span class="pre">igmp-join</span> <span class="pre">session-id</span> <span class="pre">1</span> <span class="pre">group</span> <span class="pre">232.1.1.1</span> <span class="pre">source1</span> <span class="pre">202.11.23.101</span> <span class="pre">source2</span> <span class="pre">202.11.23.102</span> <span class="pre">source3</span> <span class="pre">202.11.23.103</span></code></p>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ok"</span><span class="w"></span>
|
|
<span class="p">}</span><span class="w"></span>
|
|
</pre></div>
|
|
</div>
|
|
<p><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">sudo</span> <span class="pre">bngblaster-cli</span> <span class="pre">run.sock</span> <span class="pre">igmp-info</span> <span class="pre">session-id</span> <span class="pre">1</span></code></p>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ok"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"igmp-groups"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"group"</span><span class="p">:</span><span class="w"> </span><span class="s2">"232.1.1.1"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"igmp-sources"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
|
<span class="w"> </span><span class="s2">"202.11.23.101"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="s2">"202.11.23.102"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="s2">"202.11.23.103"</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"packets"</span><span class="p">:</span><span class="w"> </span><span class="mi">1291</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"loss"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"active"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"join-delay-ms"</span><span class="p">:</span><span class="w"> </span><span class="mi">139</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">]</span><span class="w"></span>
|
|
<span class="p">}</span><span class="w"></span>
|
|
</pre></div>
|
|
</div>
|
|
<p><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">sudo</span> <span class="pre">bngblaster-cli</span> <span class="pre">run.sock</span> <span class="pre">igmp-leave</span> <span class="pre">session-id</span> <span class="pre">1</span> <span class="pre">group</span> <span class="pre">232.1.1.1</span></code></p>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ok"</span><span class="w"></span>
|
|
<span class="p">}</span><span class="w"></span>
|
|
</pre></div>
|
|
</div>
|
|
<p><code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">sudo</span> <span class="pre">bngblaster-cli</span> <span class="pre">run.sock</span> <span class="pre">igmp-info</span> <span class="pre">session-id</span> <span class="pre">1</span></code></p>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ok"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"igmp-groups"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"group"</span><span class="p">:</span><span class="w"> </span><span class="s2">"232.1.1.1"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"igmp-sources"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
|
<span class="w"> </span><span class="s2">"202.11.23.101"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="s2">"202.11.23.102"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="s2">"202.11.23.103"</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">],</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"packets"</span><span class="p">:</span><span class="w"> </span><span class="mi">7456</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"loss"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"idle"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"leave-delay-ms"</span><span class="p">:</span><span class="w"> </span><span class="mi">114</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">]</span><span class="w"></span>
|
|
<span class="p">}</span><span class="w"></span>
|
|
</pre></div>
|
|
</div>
|
|
</section>
|
|
<section id="iptv-zapping-test">
|
|
<h2>IPTV Zapping Test<a class="headerlink" href="#iptv-zapping-test" title="Permalink to this headline"></a></h2>
|
|
<p>A key element of IPTV services is the delay in changing channels.
|
|
How long does it take to change from one channel to another, is
|
|
the right channel received and the old channel stopped without overlap
|
|
between the old and new channel? Overlapping channels may lead to traffic
|
|
congestion if both channels are sent at the same time.</p>
|
|
<p>Verify that fast channel changes (zapping) work reliably as well.</p>
|
|
<p>The BNG Blaster can emulate different client zapping behaviors and
|
|
measure the resulting join/leave delays and possible multicast traffic loss.</p>
|
|
<p>The join delay is the time in milliseconds between sending join and receiving
|
|
the first multicast packet of the requested group. The leave delay is the time between
|
|
sending leave and the last multicast packet received for this group. Multicast packets
|
|
received for the leaved group after the first packet of the joined group is received
|
|
are counted as overlap.</p>
|
|
<p>The following configuration shows an example of the <code class="docutils literal notranslate"><span class="pre">igmp</span></code> section
|
|
for a typical zapping test.</p>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"igmp"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"start-delay"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"group"</span><span class="p">:</span><span class="w"> </span><span class="s2">"239.0.0.1"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"group-iter"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0.0.1"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"group-count"</span><span class="p">:</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"source"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100.0.0.10"</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"zapping-interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"zapping-count"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"zapping-view-duration"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"zapping-wait"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"combined-leave-join"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">"send-multicast-traffic"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w"></span>
|
|
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
|
<span class="p">}</span><span class="w"></span>
|
|
</pre></div>
|
|
</div>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"> </span><span class="nt">"igmp"</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
|
|
</pre></div>
|
|
</div>
|
|
<table class="docutils align-default">
|
|
<colgroup>
|
|
<col style="width: 33%" />
|
|
<col style="width: 67%" />
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="row-odd"><th class="head"><p>Attribute</p></th>
|
|
<th class="head"><p>Description</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td><p><strong>autostart</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Automatically join after the session is established.</div>
|
|
<div class="line">Default: true</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p><strong>start-delay</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Delay between session established and initial IGMP join in seconds.</div>
|
|
<div class="line">Default: 1</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-even"><td><p><strong>version</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">IGMP protocol version (1, 2, or 3).</div>
|
|
<div class="line">Default: 3</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p><strong>combined-leave-join</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Per default, join and leave requests are sent using dedicated</div>
|
|
<div class="line">reports. This option allows the combination of leave and join</div>
|
|
<div class="line">records within a single IGMPv3 report using multiple group records.</div>
|
|
<div class="line">This option applies to the IGMP version 3 only!</div>
|
|
<div class="line">Default: true</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-even"><td><p><strong>group</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Multicast group base address (e.g. 239.0.0.1).</div>
|
|
<div class="line">If group is set to 293.0.0.1 with group-iter of 0.0.0.2,</div>
|
|
<div class="line">source 1.1.1.1 and group-count 3, the result are the following</div>
|
|
<div class="line">three groups (S.G):</div>
|
|
<div class="line"><cite>1.1.1.1,239.0.0.1, 1.1.1.1,239.0.0.3, 1.1.1.1,239.0.0.5</cite></div>
|
|
<div class="line">Default: 0.0.0.0 (disabled)</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p><strong>group-iter</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Multicast group iterator.</div>
|
|
<div class="line">Default: 0.0.0.1</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-even"><td><p><strong>group-count</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Multicast group count.</div>
|
|
<div class="line">Default: 1</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p><strong>source</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Multicast source address (e.g. 1.1.1.1).</div>
|
|
<div class="line">Default: 0.0.0.0 (ASM)</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-even"><td><p><strong>zapping-interval</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">IGMP channel zapping interval in seconds.</div>
|
|
<div class="line">Default: 0 (disabled)</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p><strong>zapping-count</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Define the number of channel changes before starting</div>
|
|
<div class="line">the view duration.</div>
|
|
<div class="line">Default: 0 (disabled)</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-even"><td><p><strong>zapping-wait</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Wait for multicast traffic before zapping to the next channel.</div>
|
|
<div class="line">Default: false</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p><strong>view-duration</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Define the view duration in seconds.</div>
|
|
<div class="line">Default: 0 (disabled)</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-even"><td><p><strong>max-join-delay</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Maximum join delay in milliseconds.</div>
|
|
<div class="line">If configured, the final report includes how often</div>
|
|
<div class="line">the measured join delay is above this threshold.</div>
|
|
<div class="line">Default: 0 (disabled)</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p><strong>send-multicast-traffic</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">If enabled, the BNG Blaster generates multicast traffic on the</div>
|
|
<div class="line">network interface based on the specified group and source</div>
|
|
<div class="line">attributes mentioned before. This traffic includes some special</div>
|
|
<div class="line">signatures for faster processing and more detailed analysis.</div>
|
|
<div class="line">Default: false</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-even"><td><p><strong>multicast-traffic-length</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Multicast traffic IP length.</div>
|
|
<div class="line">Only applicable with <strong>send-multicast-traffic</strong> enabled!</div>
|
|
<div class="line">Default: 76</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p><strong>multicast-traffic-tos</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Multicast traffic TOS priority.</div>
|
|
<div class="line">Only applicable with <strong>send-multicast-traffic</strong> enabled!</div>
|
|
<div class="line">Default: 0</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-even"><td><p><strong>multicast-traffic-pps</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Multicast traffic PPS (packets-per-second) per group.</div>
|
|
<div class="line">Only applicable with <strong>send-multicast-traffic</strong> enabled!</div>
|
|
<div class="line">Default: 1000</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p><strong>network-interface</strong></p></td>
|
|
<td><div class="line-block">
|
|
<div class="line">Multicast traffic source interface.</div>
|
|
<div class="line">Only applicable with <strong>send-multicast-traffic</strong> enabled!</div>
|
|
<div class="line">Default: <cite>first network interface from configuration</cite></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
<section id="multicast-limitations">
|
|
<h2>Multicast Limitations<a class="headerlink" href="#multicast-limitations" title="Permalink to this headline"></a></h2>
|
|
<p>The BNG Blaster IGMP implementation supports up to 3 sources per group record
|
|
and 12 group records per session.</p>
|
|
<p>The check for overlapping multicast traffic is supported for zapping tests only.</p>
|
|
<p>Multicast tests should be done without RX threads enabled for correct measurements!</p>
|
|
</section>
|
|
</section>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
|
<a href="traffic.html" class="btn btn-neutral float-left" title="Session Traffic" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
|
<a href="li.html" class="btn btn-neutral float-right" title="Legal Interception (LI)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
|
</div>
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>© Copyright 2020-2024, RtBrick, Inc..</p>
|
|
</div>
|
|
|
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<script>
|
|
jQuery(function () {
|
|
SphinxRtdTheme.Navigation.enable(true);
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html> |