<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ntop</title>
	<atom:link href="http://www.ntop.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ntop.org</link>
	<description>High Performance Network Monitoring Solutions based on Open Source and Commodity Hardware.</description>
	<lastBuildDate>Wed, 22 May 2013 09:33:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>PF_RING 5.5.3 Released</title>
		<link>http://www.ntop.org/uncategorized/pf_ring-5-5-3-released/</link>
		<comments>http://www.ntop.org/uncategorized/pf_ring-5-5-3-released/#comments</comments>
		<pubDate>Wed, 22 May 2013 09:33:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2627</guid>
		<description><![CDATA[      
      <p>Today we have released a new maintenance version of PF_RING. We suggest all users to update if possible.</p> PF_RING Kernel module - Support for injecting packets to the stack - Added ability to balance tunneled/fragmented packets with the cluster - &#8230; <a href="http://www.ntop.org/uncategorized/pf_ring-5-5-3-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<p>Today we have released a new maintenance version of PF_RING. We suggest all users to update if possible.</p>
<ul>
<li><span style="line-height: 1.6em;">PF_RING Kernel module</span>
<ul>
<li><span style="line-height: 1.6em;">- Support for injecting packets to the stack</span></li>
<li><span style="line-height: 1.6em;">- Added ability to balance tunneled/fragmented packets with the cluster</span></li>
<li><span style="line-height: 1.6em;">- Improved init.d script</span></li>
<li><span style="line-height: 1.6em;">- Packet len fix with GSO enabled, caplen fix with multiple clusters</span></li>
<li><span style="line-height: 1.6em;">- Bug fixes for race condition with rss rehash, memory corruption, transparent mode and tx capture, kernels &gt;= 3.7.</span></li>
</ul>
</li>
<li><span style="line-height: 1.6em;">Drivers</span>
<ul>
<li><span style="line-height: 1.6em;">- Added PF_RING-aware driver for Chelsio cards (cxgb3-2.0.0.1)</span></li>
<li><span style="line-height: 1.6em;">- New release for PF_RING-aware igb (igb-4.1.2)</span></li>
</ul>
</li>
<li><span style="line-height: 1.6em;">DNA</span>
<ul>
<li><span style="line-height: 1.6em;">- Added support for Silicom 10 Gbit hw timestamping commodity NIC card</span></li>
<li><span style="line-height: 1.6em;">- Added pfring_flush_tx_packets() for flushing queued tx packets</span></li>
<li><span style="line-height: 1.6em;">- Fixes for cutting packets to snaplen, e1000-dna rx</span></li>
</ul>
</li>
<li><span style="line-height: 1.6em;">Libzero</span>
<ul>
<li><span style="line-height: 1.6em;">- pfdnacluster_master support for multiple instances of multiple applications</span></li>
<li><span style="line-height: 1.6em;">- Added dna_cluster_set_thread_name() to name the master rx/tx threads</span></li>
<li><span style="line-height: 1.6em;">- Fix for direct forwarding with the DNA Cluster</span></li>
<li><span style="line-height: 1.6em;">- Changed len to a ptr in DNA Bouncer decision function to allow user change forwarded packet content and lenght</span></li>
</ul>
</li>
<li><span style="line-height: 1.6em;">Examples</span>
<ul>
<li><span style="line-height: 1.6em;">- Added ability to replay a packet with pfsend passing hex from stdin</span></li>
<li><span style="line-height: 1.6em;">- Added pfwrite to the package</span></li>
<li><span style="line-height: 1.6em;">- Fix for rate control with huge files in pfsend</span></li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/uncategorized/pf_ring-5-5-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s time for a completely new ntop. Say hello to ntopng.</title>
		<link>http://www.ntop.org/ntop/its-time-for-a-completely-new-ntop-say-hello-to-ntopng/</link>
		<comments>http://www.ntop.org/ntop/its-time-for-a-completely-new-ntop-say-hello-to-ntopng/#comments</comments>
		<pubDate>Wed, 01 May 2013 08:37:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ntop]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2606</guid>
		<description><![CDATA[      
      <p style="text-align: left;">15 years are past since the first version of ntop. In 1998 network monitoring requirements were very different from today: few protocols (mostly in plain text) to monitor, IP was not yet &#8220;the only protocol&#8221;, low network speed, &#8230; <a href="http://www.ntop.org/ntop/its-time-for-a-completely-new-ntop-say-hello-to-ntopng/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<p style="text-align: left;">15 years are past since the first version of ntop. In 1998 network monitoring requirements were very different from today: few protocols (mostly in plain text) to monitor, IP was not yet &#8220;the only protocol&#8221;, low network speed, very few connected hosts, no iPhones yet, <a href="http://www.raspberrypi.org">raspberry</a> was still a fruit, Linux was still for <a href="http://linuxgazette.net/165/laycock.html">geeks</a>. In 2013 the whole picture is very different. One gigabit links are now commodity (10 Gbit is around the corner), (too?) many hosts interconnected and mobile, application protocols (e.g. Spotify or Skype) are &#8220;the&#8221; protocols (TCP is a generic protocol) so we need nDPI to figure out what is happening on the network.</p>
<p style="text-align: left;">The way the original ntop was designed was IMHO very advanced for that time, but today is no longer so for many reasons. Today people want to have a flexible network monitoring engine able to scale at multi-Gbit, using limited memory, immune to crashes &#8220;no matters what&#8221;, scriptable and extensible, able to see what&#8217;s happening in realtime with 1-second accuracy, capable of characterising hosts (call it host reputation if you wish) and storing monitoring data on the cloud for (de-)centralised monitoring even of those devices that have no disk space. Over the past years we have tried to address ntop open issues, but the code base was too old, complicated, bug-prone. In essence it was time to start over, preserve the good things of ntop, and learn from mistakes. So basically looking forward by creating a new ntop, able to survive (hopefully) 15 more years and set new monitoring standards.</p>
<p style="text-align: left;">This has the motivation behind what I temporarily call ntopng (ntop next generation). The work to do is huge but as you can see many things are already working.</p>
<p style="text-align: left;"><a href="http://www.ntop.org/wp-content/uploads/2013/05/ntopng_work_in_progress.png"><img class="aligncenter  wp-image-2607" alt="ntopng_work_in_progress" src="http://www.ntop.org/wp-content/uploads/2013/05/ntopng_work_in_progress-853x1024.png" width="512" height="614" /></a></p>
<p style="text-align: left;">The main design principles are:</p>
<ul>
<li>Open source, self-contained with zero configuration, just like the original ntop.</li>
<li><span style="line-height: 14px;">ntopng is a cache, just like the original ntop, but contrary to its predecessor we leverage on <a href="http://redis.io">Redis</a> for implementing multi-level caching:</span>
<ul>
<li>ntopng keeps in memory the current network traffic</li>
<li>Redis keep the &#8220;recent network history&#8221;</li>
<li>(Optionally) Persistently dump traffic history on disk for long term traffic analysis.</li>
</ul>
</li>
<li><a href="http://www.ntop.org/products/ndpi/">nDPI</a> centric: ports are no longer enough, as we want to identify application protocols even on non standard ports.</li>
<li>Ability to leverage on <a href="http://www.ntop.org/products/pf_ring/">PF_RING</a> for monitoring million packets/second with no drops.</li>
<li>Written in C++, with clean code layout. Occasionally some routines from the original ntop will be ported to ntopng, but the idea is to write everything from scratch on a clean room. The ntop code didn&#8217;t have a real API and it was so complicated after years of patches, that people were scared of touching me.</li>
<li>The web GUI is based on <a href="http://twitter.github.io/bootstrap/">Twitter Bootstrap</a> for modern, consistent, and mobile-friendly GUI.</li>
<li>The ntopng engine is scriptable in <a href="http://luajit.org">LuaJIT</a>.</li>
<li>Web pages are written in <a href="http://www.lua.org">Lua</a>: everyone can write its on pages without having to code in C.</li>
<li>ntopng, as well nProbe, leverage on the <a href="http://www.ntop.org/nprobe/monitoring-on-the-microcloud/">MicroCloud</a> for creating a comprehensive network view.</li>
</ul>
<p>This said, the work to do is huge and it will take some time before ntopng will be completed. This means that if you want, we need your help to expedite its development. You can access the ntopng code here:</p>
<pre class="brush: plain; title: ; notranslate">svn co https://svn.ntop.org/svn/ntop/trunk/ntopng/</pre>
<p>The core is stable (we have tested on Linux and OSX, but it will soon be tested/compiled on Windows) although it is still missing some pieces such as IPv6 support, historical charts, NetFlow/sFlow support and more reports. We encourage you to download and test it. Likely you can help us developing it, or at least testing it. As you can imagine, we have no time to support the original ntop, as we are focusing on this new release. We plan to have an initial release by late May: time is limited, but we&#8217;re confident to include all the core features on this release then refine it through the rest of the year.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/ntop/its-time-for-a-completely-new-ntop-say-hello-to-ntopng/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who (Really) Needs Sub-microsecond Packet Timestamps?</title>
		<link>http://www.ntop.org/pf_ring/who-really-needs-sub-microsecond-packet-timestamps/</link>
		<comments>http://www.ntop.org/pf_ring/who-really-needs-sub-microsecond-packet-timestamps/#comments</comments>
		<pubDate>Thu, 25 Apr 2013 08:39:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DNA]]></category>
		<category><![CDATA[PF_RING]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2601</guid>
		<description><![CDATA[      
      Introduction <p>For years network adapter manufacturer companies have educated their customers that network monitoring applications can&#8217;t live without <a href="http://www.ntop.org/pf_ring/hardware-timestamps-with-pf_ring/">hardware packet timestamps</a> (i.e. the ability for the network adapter to report to the driver the time a given packet was &#8230; <a href="http://www.ntop.org/pf_ring/who-really-needs-sub-microsecond-packet-timestamps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<h3>Introduction</h3>
<p>For years network adapter manufacturer companies have educated their customers that network monitoring applications can&#8217;t live without <a href="http://www.ntop.org/pf_ring/hardware-timestamps-with-pf_ring/">hardware packet timestamps</a> (i.e. the ability for the network adapter to report to the driver the time a given packet was sent or received). State of the art FPGA-based network adapters [<a href="http://www.endace.com/systems-capabilities.html">1</a>, <a href="http://www.napatech.com/products/capture_adapters/2x10g_pcie__nt20e2.html">2</a>, <a href="http://www.intel.ie/content/dam/www/public/us/en/documents/faqs/ieee1588-faq.pdf">3</a>] have hardware timestamps with a resolution of +/- ~10 nsec and accuracy of +/- ~50 nsec so that monitoring applications can safely assume an accuracy of  100 nsec in measurements, for sub-usec measurements. Commodity adapters such as Intel 1 Gbit provide both RX and TX timestamps out of the box with IEEE 1588 time synchronisation, so the problem is on 10 Gbit (this until Intel comes us with a 10G adapter with hardware timestamps).</p>
<p>&nbsp;</p>
<h3>Who Really Needs Sub-microsecond Packet Timestamps?</h3>
<p>This is a good question. Everyone seems to want it, but they in practice they might not need it. Let&#8217;s clarify this point a bit more in detail. For RTT (Round-Trip Time) measurements (i.e. I want to see how long a packet takes from location X to location Y) measurements on long-distance (e.g. Italy to USA and back) the order of magnitude is msec (actually tenth/hundred of msec) so usec are not needed, for a LAN is not needed either because if the probe packet used to monitor RTT is originated/received on the same adapter, 1 Gbit commodity adapters can do the trick and PF_RING supports them. For one-way delay (i.e. how to measure the time from A-&gt;B) on a WAN, 1G adapters+IEEE 1588 can do the trick (the delay is in msec), on a LAN same as above.</p>
<p>So who needs really sub-microsecond hardware timestamps at 10 Gbit (at 1 Gbit we have the solution as explained until now)? Reading on the Internet, it seems that one of the few markets where they are needed is in <a href="http://en.wikipedia.org/wiki/Micro-bursting_(networking)">microburst detection</a> [<a href="http://blog.endace.com/2012/01/what-is-a-microburst-really/">1</a>, <a href="http://www.vssmonitoring.com/solutions/microburst_detection.asp">2</a>] in particular on critical networks such as high-frequency trading and industrial plants.</p>
<p>&nbsp;</p>
<h3>Can ntop Provide Sub-microsecond Timestamps in Software at 10 Gbit?</h3>
<p>In short: yes we can. When we developed our <a href="http://www.ntop.org/products/n2disk/">n2disk</a> application at 10 Gbit, we have faced with the problem of  timestamps as no commodity adapter supported them. We have spent quite some time to optimise this application and these are our findings:</p>
<ul>
<li><span style="line-height: 14px;">We suppose to use a server machine with a good motherboard (i.e. Dell, Supermicro, HP), no toy PCs. This guarantees that the clock on the board is of good quality.</span></li>
<li>The call to <a href="http://linux.die.net/man/3/clock_gettime">clock_gettime()</a> used to read the timestamp in software takes ~30 nsec in our tests. As at 10 Gbit the max packet ingress rate is (14.88 Mpps) is 67 nsec, reading the timestamp once the packet is received it overkilling (not to mention that the reported time will be shifted in the future with respect to real packet arrive).</li>
<li>We decided to create a thread (we called it pulse thread) that calls clock_gettime() at full speed and shares the time with the capture thread.</li>
</ul>
<p>On our E3-1230 (CPU cost ~200 USD) starting n2disk as follows</p>
<pre>n2disk10g -o /tmp/ -p 1024 -b 2048 -i dna0 --active-wait -C 1024 -w 0 -S 2 -c 4  -v -R 6 --nanoseconds</pre>
<p>we can achieve both 10 Gbit to disk</p>
<pre>25/Apr/2013 10:20:37 [n2disk.c:576] [PF_RING] Total stats: 90843997 pkts rcvd/90843997 pkts filtered/0 pkts dropped [0.0%]
25/Apr/2013 10:20:37 [n2disk.c:592] Capture Duration: 00:00:06
25/Apr/2013 10:20:37 [n2disk.c:594] Average Capture Throughout: 10.00 Gbit / 14.88 Mpps
25/Apr/2013 10:20:37 [n2disk.c:1593] [writer] Thread terminated
25/Apr/2013 10:20:37 [n2disk.c:3664] Writer thread terminated
25/Apr/2013 10:20:37 [n2disk.c:2805] Packet capture thread terminated
25/Apr/2013 10:20:37 [n2disk.c:3668] Reader thread terminated
25/Apr/2013 10:20:37 [n2disk.c:3673] Time thread terminated</pre>
<p>and high-accuracy timestamps. In fact this is what happens:</p>
<h4>&lt; 30 nsec timestamps (as in the above test)</h4>
<pre>60 1366418032.342040270 6726 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342040355 6727 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342040430 6728 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342040502 6729 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342040613 6730 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342040728 6731 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342040767 6732 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342040890 6733 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342041036 6734 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342041238 6735 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342041427 6736 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342041610 6737 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342041685 6738 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342041835 6739 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342041982 6740 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342042056 6741 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342042167 6742 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342042327 6743 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342042441 6744 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366418032.342042515 6745 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</pre>
<p>As you can see all packets have different timestamps</p>
<h4>100 nsec timestamps</h4>
<pre>60 1366417070.119899160 5183 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119899386 5184 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119899501 5185 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
<span style="color: #ff6600;">60 1366417070.119899615 5186 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff6600;">60 1366417070.119899615 5187 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
60 1366417070.119899731 5188 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119899846 5189 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119899960 5190 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119900073 5191 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119900187 5192 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119900301 5193 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119900417 5194 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119900532 5195 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
<span style="color: #ff6600;">60 1366417070.119900646 5196 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff6600;">60 1366417070.119900646 5197 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
60 1366417070.119900762 5198 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119900877 5199 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119900989 5200 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119901104 5201 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
60 1366417070.119901218 5202 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</pre>
<p>Bad: some packets have the same timestamp.</p>
<h4>500 nsec timestamps</h4>
<pre>60 1366417709.563877691 3466 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)
<span style="color: #ff6600;">60 1366417709.563878226 3467 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff6600;">60 1366417709.563878226 3468 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff6600;">60 1366417709.563878226 3469 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff6600;">60 1366417709.563878226 3470 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff6600;">60 1366417709.563878226 3471 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff6600;">60 1366417709.563878226 3472 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #99cc00;">60 1366417709.563878763 3473 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #99cc00;">60 1366417709.563878763 3474 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #99cc00;">60 1366417709.563878763 3475 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #99cc00;">60 1366417709.563878763 3476 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #99cc00;">60 1366417709.563878763 3477 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #99cc00;">60 1366417709.563878763 3478 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff9900;">60 1366417709.563879297 3479 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff9900;">60 1366417709.563879297 3480 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff9900;">60 1366417709.563879297 3481 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff9900;">60 1366417709.563879297 3482 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff9900;">60 1366417709.563879297 3483 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
<span style="color: #ff9900;">60 1366417709.563879297 3484 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</span>
60 1366417709.563879832 3485 192.85.1.2 -&gt; 192.0.0.1 IP Unknown (0xfd)</pre>
<p>Very bad: too many packets have the same timestamp.</p>
<p>&nbsp;</p>
<h3>Conclusion</h3>
<p>Using software timestamps and our &#8220;timestamp trick&#8221; you can achieve ~30 nsec timestamp precision, so that at 10 Gbit line rate all packets have a different timestamp (so we&#8217;re below 67 nsec timestamp resolution). This means that you can use n2disk for detecting microbursts at 10 Gbit line rate as:</p>
<ol>
<li>It can handle 14.88 Mpps with no drops when dumping them to disk with nsec timestamps</li>
<li>You can avoid using hardware timestamps for sub-usec precision and leave them only for specific tasks where you need very accurate ~100 nsec timestamps. At this point in time however, we have not received any request from people who really need them, so we&#8217;re confident that our approach can be enough for most people.</li>
<li>Hardware timestamps still make sense in those cases where you need a NIC with a GPS signal ingress, so that you can accurately sync the time over long distance with an accuracy better than what IEEE 1588 can offer you.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/pf_ring/who-really-needs-sub-microsecond-packet-timestamps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning The ntop World of Apps</title>
		<link>http://www.ntop.org/pf_ring/learning-the-ntop-world-of-apps/</link>
		<comments>http://www.ntop.org/pf_ring/learning-the-ntop-world-of-apps/#comments</comments>
		<pubDate>Sun, 24 Mar 2013 11:54:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[n2disk]]></category>
		<category><![CDATA[nbox]]></category>
		<category><![CDATA[nProbe]]></category>
		<category><![CDATA[PF_RING]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2588</guid>
		<description><![CDATA[      
      <p>The main criticism to ntop is the lack of documentation. This is because we have to maintain many projects, have little time, and also because we prefer coding to documentation. We decided to fill this gap and give a positive &#8230; <a href="http://www.ntop.org/pf_ring/learning-the-ntop-world-of-apps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<p>The main criticism to ntop is the lack of documentation. This is because we have to maintain many projects, have little time, and also because we prefer coding to documentation. We decided to fill this gap and give a positive answer to your requests:</p>
<ul>
<li><span style="line-height: 14px;">We have created the <a title="Introducing nBox 2.0 (aka how to use/configure ntop apps using a web GUI)" href="http://www.ntop.org/pf_ring/introducing-nbox-2-0-aka-how-to-useconfigure-ntop-apps-using-a-web-gui/">nBox</a> GUI to enable you to use all our applications without the pain of compiling and configuring them. This is a free product that everyone can use to build their own measurement gear or just to start ntop using a web browser.</span></li>
<li>We have refreshed all manuals and tried to include all your comments.</li>
</ul>
<p>You can find all the documentation in the section <a href="http://www.ntop.org/support/documentation/">Documentation</a> of this web site and in particular:</p>
<ul>
<li><a href="https://svn.ntop.org/svn/ntop/trunk/PF_RING/doc/UsersGuide.pdf">PF_RING User&#8217;s Guide</a></li>
<li><a href="https://svn.ntop.org/svn/ntop/trunk/PF_RING/vPF_RING/doc/vPF_RING-UsersGuide.pdf">vPF_RING User&#8217;s Guide</a></li>
<li><a href="http://www.ntop.org/wp-content/uploads/2013/03/nProbe_UserGuide.pdf">nProbe User&#8217;s Guide</a></li>
<li><a href="http://www.ntop.org/wp-content/uploads/2011/08/n2disk-UsersGuide.pdf" target="blank">n2disk User&#8217;s Guide</a></li>
<li><a href="http://www.ntop.org/wp-content/uploads/2011/08/QuickStartGuide.pdf" target="blank">nBox 2.0 QuickStart Guide</a></li>
<li><a href="http://www.ntop.org/wp-content/uploads/2011/08/nbox-2.0.pdf" target="blank">nBox 2.0 Manual</a></li>
</ul>
<p>We plan to soon write the nDPI manual and start working at ntop. Be patient.</p>
<p>As usual we await your comments and <a href="http://www.ntop.org/support/contact-us/">feedback</a>. We apologise once again for you waiting so long.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/pf_ring/learning-the-ntop-world-of-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to build yourself a nBox Probe and Packet Recorder</title>
		<link>http://www.ntop.org/nprobe/how-to-built-yourself-a-nbox-probe-and-packet-recorder/</link>
		<comments>http://www.ntop.org/nprobe/how-to-built-yourself-a-nbox-probe-and-packet-recorder/#comments</comments>
		<pubDate>Thu, 14 Mar 2013 07:57:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[n2disk]]></category>
		<category><![CDATA[nbox]]></category>
		<category><![CDATA[nProbe]]></category>
		<category><![CDATA[ntop]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2564</guid>
		<description><![CDATA[      
      <p>If you need a network probe or a packet recorder you have two options. Grab a turn-key <a href="http://www.ntop.org/products/nbox-2/">nBox</a> or built it yourself using our software. In the first case you will receive a optimised system, with the right motherboard/CPU/NIC for &#8230; <a href="http://www.ntop.org/nprobe/how-to-built-yourself-a-nbox-probe-and-packet-recorder/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<p>If you need a network probe or a packet recorder you have two options. Grab a turn-key <a href="http://www.ntop.org/products/nbox-2/">nBox</a> or built it yourself using our software. In the first case you will receive a optimised system, with the right motherboard/CPU/NIC for your monitoring tasks and all software preinstalled/configured. However if you want to build yourself your nBox (e.g. you can reuse an old/spare server or get a new one if you plan to address 10 Gbit monitoring) you can now do it. Below we will describe how to build it step by step:</p>
<p>Hardware</p>
<ul>
<li><span style="line-height: 14px;"><a href="http://en.wikipedia.org/wiki/Sandy_Bridge_(microarchitecture)">Sandy-Bridge</a> (or better)-based motherboard such as <a href="http://www.supermicro.com/products/motherboard/Xeon/C202_C204/X9SCL-F.cfm">X9SLC</a>.</span></li>
<li>Intel <a href="http://ark.intel.com/products/52271/">E3</a> or <a href="http://ark.intel.com/products/64587/Intel-Xeon-Processor-E5-2643-10M-Cache-3_30-GHz-8_00-GTs-Intel-QPI">E5</a> CPU (both CPUs with the above motherboard can do 10 Gbit NetFlow and packet-to-disk).</li>
<li>At least 4 GB of RAM.</li>
<li>A <a title="DNA (Direct NIC Access)" href="http://www.ntop.org/products/pf_ring/dna/">DNA-aware card</a>.</li>
<li>RAID controller and at least 8 x 10k RPM drives (for packet to disk only, not needed for flow monitoring).</li>
</ul>
<p>Software</p>
<ul>
<li><span style="line-height: 14px;">Ubuntu <a href="http://www.ubuntu.com/download/server">Server x64 LTS</a>. This is our favourite distribution.</span></li>
<li>If you prefer CentOS/RedHat you can also use <a href="http://www.centos.org">CentOS</a> Server 6.x x64. We also support CentOS but to date we have not yet ported the nBox package to CentOS and thus you need to use it from the command line.</li>
</ul>
<p>Once you have configured the machine and installed the base operating system, depending on your OS go to:</p>
<ul>
<li><span style="line-height: 14px;">Ubuntu Server: <a href="http://apt.ntop.org">http://apt.ntop.org</a></span>
<ul>
<li>apt-get install pfring nprobe n2disk ntop5 nbox</li>
</ul>
</li>
<li>CentOS: <a href="http://rpm.ntop.org">http://rpm.ntop.org</a>
<ul>
<li>yum install pfring n2disk nProbe ntop5</li>
</ul>
</li>
</ul>
<p>and follow the instructions. In essence we have created an APT and YUM repository so you can use it in your favourite distro.</p>
<p>At this point your nbox in configured and you can point your browser to http://&lt;your nbox IP&gt; for accessing the <a href="http://www.ntop.org/pf_ring/introducing-nbox-2-0-aka-how-to-useconfigure-ntop-apps-using-a-web-gui/">nBox management interface</a>.</p>
<p>For more information please refer to the <a href="http://www.ntop.org/support/documentation/">nBox documentation</a> and in particular:</p>
<ul>
<li><span style="line-height: 14px;"><a href="http://www.ntop.org/wp-content/uploads/2011/08/QuickStartGuide.pdf">nBox QuickStart Guide</a></span></li>
<li><a href="http://www.ntop.org/wp-content/uploads/2011/08/nbox-2.0.pdf">nBox Manual</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/nprobe/how-to-built-yourself-a-nbox-probe-and-packet-recorder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring nDPI for Custom Protocol Detection</title>
		<link>http://www.ntop.org/ndpi/configuring-ndpi-for-custom-protocol-detection/</link>
		<comments>http://www.ntop.org/ndpi/configuring-ndpi-for-custom-protocol-detection/#comments</comments>
		<pubDate>Mon, 04 Mar 2013 21:24:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[nDPI]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2522</guid>
		<description><![CDATA[      
      <p>The first release of nDPI was basically a refresh of the OpenDPI library on which nDPI is built. Over the past few months we have made many changes including:</p> Port to various platforms including Linux, MacOSX, Windows and FreeBSD. Enhancement &#8230; <a href="http://www.ntop.org/ndpi/configuring-ndpi-for-custom-protocol-detection/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<p>The first release of nDPI was basically a refresh of the OpenDPI library on which nDPI is built. Over the past few months we have made many changes including:</p>
<ul>
<li><span style="line-height: 14px;">Port to various platforms including Linux, MacOSX, Windows and FreeBSD.</span></li>
<li>Enhancement of the demo <a href="https://svn.ntop.org/svn/ntop/trunk/nDPI/example/pcapReader.c">pcapReader</a> application both in terms of speed/features and encapsulations supported (for instance you can now analyse GTP-tunneled traffic).</li>
<li>Ability to compile nDPI for the Linux kernel so that you can use it for developing efficient kernel-based modules.</li>
<li>Various speed enhancements so that nDPI is now faster than its predecessor.</li>
<li>Added many protocols (we not support almost 160 protocols) ranging from &#8220;business&#8221; protocols such as SAP and Citrix, as well as &#8220;desktop&#8221; protocols such as Dropbox and Spotify.</li>
<li>Ability to define port (and port range)-based protocol detection, so that you can complement protocol detection with classic port-based detection.</li>
</ul>
<p>In addition to all this, we have recently added in nDPI the ability to support sub-protocols using string-based matching. This is because many new sub-protocols such as Apple iCloud/iMessage, WhatsApp and many others use HTTP(S) can be detected by decoding the SSL certificate host or the HTTP &#8220;Host:&#8221;. Thus we have decided to embed in nDPI an <a href="http://multifast.sourceforge.net">efficient string-matching library</a> based on the popular <a href="http://en.wikipedia.org/wiki/Aho–Corasick_string_matching_algorithm">Aho-Corasick</a> algorithm for matching hundred of thousand sub-strings efficiently (i.e. fast enough to sustain 10 Gbit traffic on commodity hardware). You can now specify sub-protocols at runtime  using a configuration file with the following format:</p>
<pre># Subprotocols
# Format:
# host:"&lt;value&gt;",host:"&lt;value&gt;",.....@&lt;subproto&gt;
host:"googlesyndacation.com"@Google
host:"venere.com"@Venere</pre>
<p>in addition to port-based protocol detection using the following format:</p>
<pre>#  Format:
#  &lt;tcp|udp&gt;:,&lt;tcp|udp&gt;:,.....@
tcp:81,tcp:8181@HTTP
udp:5061-5062@SIP
tcp:860,udp:860,tcp:3260,udp:3260@iSCSI
tcp:3000@ntop</pre>
<p>You can test your custom configuration using the pcapReader (use -p option)  application or enhance your application using the <code>ndpi_load_protocols_file()</code> nDPI API call.</p>
<p>This said, every month new protocol are introduced and become popular, thus nDPI needs constant maintenance and enhancement. We need your help for developing new protocol dissectors. Please <a href="http://www.ntop.org/support/contact-us/">contact us</a> if you want to join the nDPI team.</p>
<p>
See also:</p>
<ul>
<li><A HREF="http://broabandtrafficmanagement.blogspot.it/2012/05/ndpi-supports-skype-whatsapp-and.html">nDPI Supports Skype, Whatsapp and Netflix</A>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/ndpi/configuring-ndpi-for-custom-protocol-detection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filtering n2disk-captured Packets and Replaying them at 10 Gbit using the nBox</title>
		<link>http://www.ntop.org/n2disk/filtering-n2disk-captured-packets-and-replying-them-at-10-gbit-using-the-nbox/</link>
		<comments>http://www.ntop.org/n2disk/filtering-n2disk-captured-packets-and-replying-them-at-10-gbit-using-the-nbox/#comments</comments>
		<pubDate>Wed, 30 Jan 2013 23:02:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[n2disk]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2475</guid>
		<description><![CDATA[      
      <p>The nBox is not just a no-cost web GUI for ntop products, but it&#8217;s a totally new experience for dealing with pcap files. n2disk is able to index packets while capturing and then filter captured packets. Once you have filtered &#8230; <a href="http://www.ntop.org/n2disk/filtering-n2disk-captured-packets-and-replying-them-at-10-gbit-using-the-nbox/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<p>The nBox is not just a no-cost web GUI for ntop products, but it&#8217;s a totally new experience for dealing with pcap files. n2disk is able to index packets while capturing and then filter captured packets. Once you have filtered your favourite packets (based on a BPF filter and a time span) you can then download them to your PC or reproduce them at line rate (or at any speed you like). Even BPF filters are simplified with the nBox thanks to the ability to drag and drop filtering expressions for error-free filters.</p>
<p>In essence as you will see from the screenshots below, using the nBox you forget the command line, and easily accomplish your tasks with a few mouse clicks.</p>
<a href="http://www.ntop.org/n2disk/filtering-n2disk-captured-packets-and-replying-them-at-10-gbit-using-the-nbox/#gallery-2475-1-slideshow">Click to view slideshow.</a>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/n2disk/filtering-n2disk-captured-packets-and-replying-them-at-10-gbit-using-the-nbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing nBox 2.0 (aka how to use/configure ntop apps using a web GUI)</title>
		<link>http://www.ntop.org/pf_ring/introducing-nbox-2-0-aka-how-to-useconfigure-ntop-apps-using-a-web-gui/</link>
		<comments>http://www.ntop.org/pf_ring/introducing-nbox-2-0-aka-how-to-useconfigure-ntop-apps-using-a-web-gui/#comments</comments>
		<pubDate>Sun, 20 Jan 2013 22:50:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Announce]]></category>
		<category><![CDATA[nbox]]></category>
		<category><![CDATA[nProbe]]></category>
		<category><![CDATA[ntop]]></category>
		<category><![CDATA[PF_RING]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2439</guid>
		<description><![CDATA[      
      <p>Years ago we decided to create the <a href="http://www.ntop.org/products/nbox-2/">nBox appliance</a> as turn-key solution for those that were not fans of the command line. Then we decided to rewrite the nBox GUI to make it simpler, more modern, and usable by &#8230; <a href="http://www.ntop.org/pf_ring/introducing-nbox-2-0-aka-how-to-useconfigure-ntop-apps-using-a-web-gui/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<p>Years ago we decided to create the <a href="http://www.ntop.org/products/nbox-2/">nBox appliance</a> as turn-key solution for those that were not fans of the command line. Then we decided to rewrite the nBox GUI to make it simpler, more modern, and usable by all ntop users, to configure ntop, nProbe, n2disk, PF_RING and DNA.</p>
<p><a href="http://www.ntop.org/pf_ring/introducing-nbox-2-0-aka-how-to-useconfigure-ntop-apps-using-a-web-gui/attachment/gui/" rel="attachment wp-att-2446"><img src="http://www.ntop.org/wp-content/uploads/2013/01/gui.png" alt="nbox 2.0" width="600" class="aligncenter size-full wp-image-2446" /></a></p>
<p>&nbsp;</p>
<p>In essence we have created a new web interface that can simplify your configurations, assist with complex things such as core affinity or DNA configuration, and let you focus on ntop applications rather than on their configuration. You can download the nBox from the <a href="http://packages.ntop.org">packages</a> site, or use (suggested) the <a href="http://www.nmon.net/apt/">apt</a> site for configuring everything adding this repository to your apt sources as describe on the site.</p>
<p>&nbsp;</p>
<p>Notes:</p>
<ul>
<li>The nBox GUI is released under GPLv3: feel free to use it and enjoy it.</li>
<li>Initially we have packaged the nBox GUI for Linux Ubuntu, but we plan to port it soon to RedHat/CentOS.</li>
<li>We encourage you to test the nBox GUI and <a href="http://www.ntop.org/support/contact-us/">send us</a> patches and bug reports.</li>
<li>Every night we build new/fresh packages, so you can keep your apps up-to-date with no hassle.</li>
<li>Unfortunately Linux Ubuntu updates the kernel very often. This requires that the PF_RING package we build uses the same kernel version of your box. Make sure that both kernel versions are the same otherwise you need to update your kernel and align it to our version. You have been warned!</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/pf_ring/introducing-nbox-2-0-aka-how-to-useconfigure-ntop-apps-using-a-web-gui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PF_RING 5.5.2 Released</title>
		<link>http://www.ntop.org/pf_ring/pf_ring-5-5-2-released/</link>
		<comments>http://www.ntop.org/pf_ring/pf_ring-5-5-2-released/#comments</comments>
		<pubDate>Wed, 16 Jan 2013 20:37:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PF_RING]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2436</guid>
		<description><![CDATA[      
      <p>Changelog</p> Fix for corrupted VLAN tagged packets Userspace bpf support (when using dna) PF_RING-aware igb default moved to 4.0.17 Flow Control  rx/tx automatically disabled by the driver Added DAQ drivers into RPM (http://packages.ntop.org) New pfring_open() flag PF_RING_DNA_FIXED_RSS_Q_0 to send all &#8230; <a href="http://www.ntop.org/pf_ring/pf_ring-5-5-2-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<p>Changelog</p>
<ul>
<li>Fix for corrupted VLAN tagged packets</li>
<li>Userspace bpf support (when using dna)</li>
<li>PF_RING-aware igb default moved to 4.0.17</li>
<li>Flow Control  rx/tx automatically disabled by the driver</li>
<li>Added DAQ drivers into RPM (http://packages.ntop.org)</li>
<li>New pfring_open() flag PF_RING_DNA_FIXED_RSS_Q_0 to send all traffic to queue 0 and select other queues with hw filters (DNA cards with hw filtering only)</li>
<li>Added check for modern libc versions</li>
<li>New pfdnacluster_mt_rss_frwd sample app (packet forwarding using libzero dna cluster for rx/balancing and standard dna with zero-copy on rss queues for tx)</li>
<li>Added ability to create a stats file under /proc/net/pf_ring/stats so that</li>
<li>Applications can report stats via the /proc filesystem.</li>
<li>Added pfring_set_application_stats() for reporting stats</li>
<li>Added pfring_get_appl_stats_file_name() for getting the exact filename where the app sets the statistics</li>
<li>Updated pfcount and pfsend to report stats using these new primitives</li>
<li>pfcount: -v option changed
<ul>
<li> -v 1: same as -v (in the previous version)</li>
<li> -v 2: same as &#8220;-v 1&#8243; with the difference that the whole packet is printed in hex</li>
</ul>
</li>
<li>Due to popular demand we moved from LGPL3 to LGPL2.1</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/pf_ring/pf_ring-5-5-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring Mobile Networks (2G, 3G, and LTE) using nProbe</title>
		<link>http://www.ntop.org/nprobe/monitoring-mobile-networks-2g-3g-and-lte-using-nprobe/</link>
		<comments>http://www.ntop.org/nprobe/monitoring-mobile-networks-2g-3g-and-lte-using-nprobe/#comments</comments>
		<pubDate>Sun, 13 Jan 2013 21:10:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[nProbe]]></category>

		<guid isPermaLink="false">http://www.ntop.org/?p=2414</guid>
		<description><![CDATA[      
      <p>Monitoring mobile networks traffic has been traditionally perceived by the telecommunications industry as something complex, costly, proprietary. This is unfortunately one of the few fields where the open-source movement  has not been able to spread much, where vendor lock-in is &#8230; <a href="http://www.ntop.org/nprobe/monitoring-mobile-networks-2g-3g-and-lte-using-nprobe/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
	      
      			<content:encoded><![CDATA[<p>Monitoring mobile networks traffic has been traditionally perceived by the telecommunications industry as something complex, costly, proprietary. This is unfortunately one of the few fields where the open-source movement  has not been able to spread much, where vendor lock-in is still the standard. Last year we visited the <a href="http://www.mobileworldcongress.com">Mobile World Congress</a> in Barcelona to understand more about this world (btw, it&#8217;s a crazy expo as the  cheapest entry ticket <a href="http://www.mobileworldcongress.com/passes-and-prices/">costs 900$ and up</a>), and the conclusion is that mobile terminals are pretty open thanks to Android, but the network is still very close. This has been the driving force for adding to nProbe the ability to analyse mobile traffic.</p>
<p>Our goal has been the monitoring of mobile network traffic, similar to what happens on standard IP networks in order to answer with some extras. In mobile networks, there is a protocol called <a href="http://en.wikipedia.org/wiki/GPRS_Tunnelling_Protocol">GTP (GPRS Tunnelling Protocol)</a> that is decomposed in two separate protocols:</p>
<ul>
<li>GTP-U: used to carry user-data traffic, i.e. the network traffic you make with your handheld when accessing the Internet (e.g. email, web surfing, gaming).</li>
<li>GTP-C: used to carry signalling within the GPRS core network. Whenever you connect/disconnect, hop inside the network with your handheld, the network generates a message. Monitoring GTP-C is the key for keeping and association between a user (i.e. <a href="http://en.wikipedia.org/wiki/International_mobile_subscriber_identity">IMSI</a>) and the dynamic IP address associated to the user within the mobile network. There is much more than this in GTP-C, such as the user phone number, the cell where the user is connected (and thus it&#8217;s physical location), the <a href="http://en.wikipedia.org/wiki/Access_Point_Name">APN</a>, and the handheld model. GTP-C  is used to negotiate tunnel Ids, that are then used to carry user traffic, so GTP-C traffic state must be kept somewhere on a a database  in order to keep the association between a user and its IP address.</li>
</ul>
<p>GTP-C is handled with two plugins (gtpv1 and gtpv2 plugins), as well the radius protocol.  The nProbe core instead has been updated to support many protocol and encapsulations used on mobile networks such as:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Point-to-point_protocol">PPP/Multilink PPP</a></li>
<li><a href="http://en.wikipedia.org/wiki/Mobile_ip">Mobile IP</a></li>
<li><a href="http://en.wikipedia.org/wiki/L2tp">L2TP</a></li>
<li><a href="http://en.wikipedia.org/wiki/GPRS_Tunnelling_Protocol">GTP</a> v1 (2G/3G networks) and v2 (4G/<a href="http://en.wikipedia.org/wiki/LTE_(telecommunication)">LTE</a> networks)</li>
<li><a href="http://en.wikipedia.org/wiki/Generic_Routing_Encapsulation">GRE</a></li>
<li><a href="http://en.wikipedia.org/wiki/RADIUS">Radius</a> with <a href="http://en.wikipedia.org/wiki/3GPP">3GPP</a> extensions used on mobile networks.</li>
</ul>
<p>All existing nProbe plugins have been updated so GTP-C is now first-class citizen. This means for instance that when nProbe sees some GTP-encapsulated HTTP traffic, along with the usual information (URL, Cookies, User-Agent&#8230;.) information about the user who generated this traffic is also returned (i.e. the IMSI). This information correlation is implemented transparently in nProbe using the <a title="Monitoring on the MicroCloud" href="http://www.ntop.org/nprobe/monitoring-on-the-microcloud/">microcloud</a> paradigm.</p>
<p><a href="http://www.ntop.org/nprobe/monitoring-on-the-microcloud/attachment/microcloud/" rel="attachment wp-att-2157"><img class="aligncenter size-full wp-image-2157" alt="MicroCloud" src="http://www.ntop.org/wp-content/uploads/2012/10/MicroCloud.png" width="455" height="499" /></a></p>
<p>Whenever nProbe sees some GTP-C message, it dynamically (and automatically) updates the user status into the <a href="http://redis.io">redis</a> database, so that this information can be user to bind GTP-U to users.</p>
<p>Another advantage of the microcloud architecture, is that it allows traffic  to be correlated across various probes. In fact mobile networks are distributed by nature, and it is usually not possible to aggregate all traffic into a single place. The microcloud allows all probes to share data (of course data caching is implemented on teach nProbe instance to avoid too many communications), so that all combinations are supported.</p>
<p><img class="aligncenter size-full wp-image-2416" alt="PF_RING-GTP" src="http://www.ntop.org/wp-content/uploads/2013/01/PF_RING-GTP.png" width="353" height="219" /></p>
<p>PF_RING clustering has also been updated so that whenever a server running nProbe, incoming traffic can shared across all running nProbe instances. This happens by honouring GTP tunnelling as PF_RING will not balance on the external packet envelope but on tunnelled traffic. Using this approach, PF_RING allows incoming network traffic (also on multiple incoming interfaces)  to be balanced across multiple instances and thus to monitor multi-Gbit traffic on a single server.</p>
<p>Of course <a href="http://www.ntop.org/products/ndpi/">nDPI</a> is able to dissect GTP-encapsulated traffic, and thus you can configure nProbe (by means of the specified template, -T) to analyse traffic at application level and thus learn the layer-7 protocol.</p>
<p>nProbe can export information via NetFlow v9/IPFIX using the following information elements:</p>
<pre>Plugin GTPv1 Signaling Protocol templates:
[NFv9 57692][IPFIX 35632.220] %GTPV1_REQ_MSG_TYPE GTPv1 Request Msg Type
[NFv9 57693][IPFIX 35632.221] %GTPV1_RSP_MSG_TYPE GTPv1 Response Msg Type
[NFv9 57694][IPFIX 35632.222] %GTPV1_C2S_TEID_DATA GTPv1 Client-&gt;Server TunnelId Data
[NFv9 57695][IPFIX 35632.223] %GTPV1_C2S_TEID_CTRL GTPv1 Client-&gt;Server TunnelId Control
[NFv9 57696][IPFIX 35632.224] %GTPV1_S2C_TEID_DATA GTPv1 Server-&gt;Client TunnelId Data
[NFv9 57697][IPFIX 35632.225] %GTPV1_S2C_TEID_CTRL GTPv1 Server-&gt;Client TunnelId Control
[NFv9 57698][IPFIX 35632.226] %GTPV1_END_USER_IP GTPv1 End User IP Address
[NFv9 57699][IPFIX 35632.227] %GTPV1_END_USER_IMSI GTPv1 End User IMSI
[NFv9 57700][IPFIX 35632.228] %GTPV1_END_USER_MSISDN GTPv1 End User MSISDN
[NFv9 57701][IPFIX 35632.229] %GTPV1_END_USER_IMEI GTPv1 End User IMEI
[NFv9 57702][IPFIX 35632.230] %GTPV1_APN_NAME GTPv1 APN Name
[NFv9 57703][IPFIX 35632.231] %GTPV1_MCC GTPv1 Mobile Country Code
[NFv9 57704][IPFIX 35632.232] %GTPV1_MNC GTPv1 Mobile Network Code
[NFv9 57705][IPFIX 35632.233] %GTPV1_CELL_LAC GTPv1 Cell Location Area Code
[NFv9 57706][IPFIX 35632.234] %GTPV1_CELL_CI GTPv1 Cell CI
[NFv9 57707][IPFIX 35632.235] %GTPV1_SAC GTPv1 SAC</pre>
<pre>
Plugin GTPv2 Signaling Protocol templates:
[NFv9 57742][IPFIX 35632.270] %GTPV2_REQ_MSG_TYPE GTPv2 Request Msg Type
[NFv9 57743][IPFIX 35632.271] %GTPV2_RSP_MSG_TYPE GTPv2 Response Msg Type
[NFv9 57744][IPFIX 35632.272] %GTPV2_C2S_S1U_GTPU_TEID GTPv2 Client-&gt;Svr S1U GTPU TEID
[NFv9 57745][IPFIX 35632.273] %GTPV2_C2S_S1U_GTPU_IP GTPv2 Client-&gt;Svr S1U GTPU IP
[NFv9 57746][IPFIX 35632.274] %GTPV2_S2C_S1U_GTPU_TEID GTPv2 Srv-&gt;Client S1U GTPU TEID
[NFv9 57747][IPFIX 35632.275] %GTPV2_S2C_S1U_GTPU_IP GTPv2 Srv-&gt;Client S1U GTPU IP
[NFv9 57748][IPFIX 35632.276] %GTPV2_END_USER_IMSI GTPv2 End User IMSI
[NFv9 57749][IPFIX 35632.277] %GTPV2_END_USER_MSISDN GTPv2 End User MSISDN
[NFv9 57750][IPFIX 35632.278] %GTPV2_APN_NAME GTPv2 APN Name
[NFv9 57751][IPFIX 35632.279] %GTPV2_MCC GTPv2 Mobile Country Code
[NFv9 57752][IPFIX 35632.280] %GTPV2_MNC GTPv2 Mobile Network Code
[NFv9 57753][IPFIX 35632.281] %GTPV2_CELL_TAC GTPv2 Tracking Area Code
[NFv9 57754][IPFIX 35632.282] %GTPV2_SAC GTPv2 Cell Identifier</pre>
<pre>
Plugin Radius Protocol templates:
[NFv9 57712][IPFIX 35632.240] %RADIUS_REQ_MSG_TYPE RADIUS Request Msg Type
[NFv9 57713][IPFIX 35632.241] %RADIUS_RSP_MSG_TYPE RADIUS Response Msg Type
[NFv9 57714][IPFIX 35632.242] %RADIUS_USER_NAME RADIUS User Name (Access Only)
[NFv9 57715][IPFIX 35632.243] %RADIUS_CALLING_STATION_ID RADIUS Calling Station Id
[NFv9 57716][IPFIX 35632.244] %RADIUS_CALLED_STATION_ID RADIUS Called Station Id
[NFv9 57717][IPFIX 35632.245] %RADIUS_NAS_IP_ADDR RADIUS NAS IP Address
[NFv9 57718][IPFIX 35632.246] %RADIUS_NAS_IDENTIFIER RADIUS NAS Identifier
[NFv9 57719][IPFIX 35632.247] %RADIUS_USER_IMSI RADIUS User IMSI (Extension)
[NFv9 57720][IPFIX 35632.248] %RADIUS_USER_IMEI RADIUS User MSISDN (Extension)
[NFv9 57721][IPFIX 35632.249] %RADIUS_FRAMED_IP_ADDR RADIUS Framed IP
[NFv9 57722][IPFIX 35632.250] %RADIUS_ACCT_SESSION_ID RADIUS Accounting Session Name
[NFv9 57723][IPFIX 35632.251] %RADIUS_ACCT_STATUS_TYPE RADIUS Accounting Status Type
[NFv9 57724][IPFIX 35632.252] %RADIUS_ACCT_IN_OCTETS RADIUS Accounting Input Octets
[NFv9 57725][IPFIX 35632.253] %RADIUS_ACCT_OUT_OCTETS RADIUS Accounting Output Octets
[NFv9 57726][IPFIX 35632.254] %RADIUS_ACCT_IN_PKTS RADIUS Accounting Input Packets
[NFv9 57727][IPFIX 35632.255] %RADIUS_ACCT_OUT_PKTS RADIUS Accounting Output Packets</pre>
<p>&nbsp;</p>
<p>and as well save traffic information on dump files using some command line options:</p>
<pre>--gtpv1-dump-dir &lt;dump dir&gt; | Directory where GTPv1 logs will be dumped
--gtpv1-exec-cmd &lt;cmd&gt; | Command executed whenever a directory has been dumped
--gtpv2-dump-dir &lt;dump dir&gt; | Directory where GTPv2 logs will be dumped
--gtpv2-exec-cmd &lt;cmd&gt; | Command executed whenever a directory has been dumped
--radius-dump-dir &lt;dump dir&gt; | Directory where Radius logs will be dumped
--radius-exec-cmd &lt;cmd&gt; | Command executed whenever a directory has been dumped</pre>
<p>&nbsp;</p>
<p>In essence nDPI, PF_RING and nProbe are now able to monitor multi-Gbit mobile traffic and automatically correlate GTP-C to GTP-U traffic in the probe using the microcloud without doing it on the collector as other tools do. The advantage is that as soon as a flow is exported, the collector immediately knows the mobile user that has generated the traffic not to mention that correlation implemented on the collector is costly in terms of computing resources.  As the information in the microcloud is persistent, in the unlikely case of crash, nothing is lost as the user-to-GTP traffic correlation is maintained in the microcloud. This also applies in case mobile traffic grows and additional probes need to be started (also on different network locations that are still connected via IP to the microcloud): they automatically, since their startup, are able to correlate user-to-traffic.</p>
<p>To date, nProbe is used to permanently monitor the traffic of some country-wide mobile operators. If you are interested in testing it into your environment, you can <a href="http://packages.ntop.org">download a ready-to-user nProbe binary package</a> and have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntop.org/nprobe/monitoring-mobile-networks-2g-3g-and-lte-using-nprobe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
