<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 5/7/12 21:44 , Jérôme Benoit wrote:
<blockquote
cite="mid:20120507214423.5b08f0f3@nemesis.grenouille.com"
type="cite">
<pre wrap="">On Mon, 07 May 2012 14:15:26 +0200
Philip Homburg <a class="moz-txt-link-rfc2396E" href="mailto:philip.homburg@ripe.net"><philip.homburg@ripe.net></a> wrote:
</pre>
<blockquote type="cite">
<pre wrap="">
To list some things that have been mentioned:
* TTM shutdown, Atlas is expected to provide functionality similar
(but not identical) to what TTM provides
</pre>
</blockquote>
<pre wrap="">
You plan to change the measurement control protocol used in TTM ?
I do not know which protocol TTM is using but if it's OWAMP ou TWAMP,
that will not fit the needs for large scale measurement campaign runt
from network edge. </pre>
</blockquote>
TTM boxes have GPS devices for time synchronization. That allows
them to perform accurate one-way measurements. This capability will
be lost.<br>
<br>
The TTM network is relatively small and static. Atlas can easily
handle that, except you will be limited to two-way measurements.<br>
<blockquote
cite="mid:20120507214423.5b08f0f3@nemesis.grenouille.com"
type="cite">
<pre wrap="">
In what Atlas call a "probe" (and what I call the measurement agent) ?
</pre>
</blockquote>
Yes. Except that an Atlas probe tends to be a physical device as
well.<br>
<br>
<blockquote
cite="mid:20120507214423.5b08f0f3@nemesis.grenouille.com"
type="cite">
<blockquote type="cite">
<pre wrap=""> * Roll out of Atlas Anchor boxes (regular PCs at well connected
locations that can serve as the target of measurements and as a
more powerful Atlas probe)
</pre>
</blockquote>
<pre wrap="">
Sound like a good idea :)
You then should add a tag to the measurement result that will permit
to distinguish the type of box running the measurement agent, like
"generated": atlas-probe
"generated": atlas-box
for example.
</pre>
</blockquote>
We still have to figure out where we want to document meta-data. It
doesn't make much sense to put all data about a probe in each and
every measurement result.<br>
<blockquote
cite="mid:20120507214423.5b08f0f3@nemesis.grenouille.com"
type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap=""> * Better UDM interface
* UDM for all RIPE members (instead of just probe hosts and
sponsors)
</pre>
</blockquote>
<pre wrap="">
Eye candies. </pre>
</blockquote>
<br>
No, it is not eye candy. UDM allows users of the Atlas system to
measure their own targets using remote probes.
<blockquote
cite="mid:20120507214423.5b08f0f3@nemesis.grenouille.com"
type="cite">
<pre wrap="">
If you have any document describing the JSON syntax used in Atlas, I
can write the code for your measurement agent that will
de-/serialize the probe definition to begin with. </pre>
</blockquote>
Commands for the probes are not in JSON. For output we are still
transitioning to JSON. Currently the output is a mix of JSON meta
data and free form ASCII output. In the next firmware upgrade that
should become just JSON. For example for ping:<br>
<br>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<div class="line number1 index0 alt2"><code class="java plain">{</code></div>
<div class="line number2 index1 alt1"><code class="java spaces"> </code><code
class="java string">"id"</code><code class="java plain">:</code><code
class="java string">"1001"</code><code class="java plain">,</code></div>
<div class="line number3 index2 alt2"><code class="java spaces"> </code><code
class="java string">"fw"</code><code class="java plain">:</code><code
class="java value">4414</code><code class="java plain">,</code></div>
<div class="line number4 index3 alt1"><code class="java spaces"> </code><code
class="java string">"time"</code><code class="java plain">:</code><code
class="java value">1331729380</code><code class="java plain">,</code></div>
<div class="line number5 index4 alt2"><code class="java spaces"> </code><code
class="java string">"name"</code><code class="java plain">:</code><code
class="java string">"193.0.14.129"</code><code class="java
plain">,</code></div>
<div class="line number6 index5 alt1"><code class="java spaces"> </code><code
class="java string">"addr"</code><code class="java plain">:</code><code
class="java string">"193.0.14.129"</code><code class="java
plain">,</code></div>
<div class="line number7 index6 alt2"><code class="java spaces"> </code><code
class="java string">"srcaddr"</code><code class="java plain">:</code><code
class="java string">"193.0.10.135"</code><code class="java
plain">,</code></div>
<div class="line number8 index7 alt1"><code class="java spaces"> </code><code
class="java string">"mode"</code><code class="java plain">:</code><code
class="java string">"ICMP4"</code><code class="java plain">,</code></div>
<div class="line number9 index8 alt2"><code class="java spaces"> </code><code
class="java string">"ttl"</code><code class="java plain">:</code><code
class="java value">62</code><code class="java plain">,</code></div>
<div class="line number10 index9 alt1"><code class="java spaces"> </code><code
class="java string">"size"</code><code class="java plain">:</code><code
class="java value">20</code><code class="java plain">,</code></div>
<div class="line number11 index10 alt2"><code class="java spaces"> </code><code
class="java string">"result"</code><code class="java plain">: [</code></div>
<div class="line number12 index11 alt1"><code class="java spaces"> </code><code
class="java plain"> { </code><code class="java string">"rtt"</code><code
class="java plain">:</code><code class="java value">49.101000</code>
<code class="java plain">},</code></div>
<div class="line number13 index12 alt2"><code class="java spaces"> </code><code
class="java plain"> { </code><code class="java string">"rtt"</code><code
class="java plain">:</code><code class="java value">6.899000</code>
<code class="java plain">},</code></div>
<div class="line number14 index13 alt1"><code class="java spaces"> </code><code
class="java plain"> { </code><code class="java string">"rtt"</code><code
class="java plain">:</code><code class="java value">4.139000</code>
<code class="java plain">} </code></div>
<div class="line number15 index14 alt2"><code class="java spaces"> </code><code
class="java plain">] </code></div>
<div class="line number16 index15 alt1"><code class="java plain">}<br>
<br>
We have this as internal documentation, but it should be
published some time. <br>
</code></div>
<br>
<blockquote
cite="mid:20120507214423.5b08f0f3@nemesis.grenouille.com"
type="cite">
<pre wrap="">
We do not have securities problem because of OCaml choice
on the implementation side. Securities mechanism will probably be
the same as of the one you can find on most "web services" (shared
secret salted and hashed) to ensure that a REST transaction is
legit. I have to think about it some more ... </pre>
</blockquote>
Our security policy goes further than just protecting the probe. We
also try to avoid getting the probe hosts in trouble. For example,
having a probe visit certain web sites may be a bad idea.<br>
<blockquote
cite="mid:20120507214423.5b08f0f3@nemesis.grenouille.com"
type="cite">
<pre wrap="">
For API and JSON syntax standardisation, the first step is to write the
specifications we(grenouille.com) plan to use and Atlas use and plan to
use, then discuss and factor out the best of each. We have some
writings but most of them are in French :)
</pre>
</blockquote>
Yes.<br>
<blockquote
cite="mid:20120507214423.5b08f0f3@nemesis.grenouille.com"
type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">I do not know the list of active measurements an Atlas probe cover.
</pre>
</blockquote>
<pre wrap="">At the moment, ping, traceroute, tdig (dns), httpget, sslgetcert.
</pre>
</blockquote>
<pre wrap="">
Natively implemented or run via a external binary and CLI options ?
</pre>
</blockquote>
Natively implemented. Creating lots of new processes turned out to
be a bad idea on a system without an MMU.<br>
<br>
</body>
</html>