SCION: Difference between revisions

m formatting
m Add to Applications and Networking categories
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''SCION (Scalability, Control, and Isolation On Next-Generation Networks)''' is a modern Future Internet architecture that aims to offer high availability and efficient point-to-point packet delivery, even in the presence of actively malicious network operators and devices. As of 2018 it is an ongoing research project led by researchers at ETH Zurich and, among other ''Future Internet'' proposals, is being explored in the Internet Engineering Task Force research group for path-aware networking.<ref>https://en.wikipedia.org/w/index.php?title=SCION_(Internet_architecture)&oldid=1154623316</ref>
'''SCION (Scalability, Control, and Isolation On Next-Generation Networks)''' is a modern Future Internet architecture that aims to offer high availability and efficient point-to-point packet delivery, even in the presence of actively malicious network operators and devices. As of 2018 it is an ongoing research project led by researchers at ETH Zurich and, among other ''Future Internet'' proposals, is being explored in the Internet Engineering Task Force research group for path-aware networking.<ref>https://en.wikipedia.org/w/index.php?title=SCION_(Internet_architecture)&oldid=1154623316</ref>
== Usage Tips ==
Users of <code>scion ping</code> and other SCION applications must be in the <code>scion</code> group in order to access the dispatcher socket in <code>/run/shm/dispatcher/default.sock</code>. You can add users to the SCION group in your NixOS configuration as follows<syntaxhighlight lang="nix">
{
  users.users.matthew.extraGroups = [ "scion" ];
}
</syntaxhighlight>The [https://github.com/netsec-ethz/scion-apps scion-apps] are not included by default even when <code>services.scion.enable = true</code>. You can add them to your NixOS configuration as follows<syntaxhighlight lang="nix">
{ pkgs, ... }:
{
  environment.systemPackages = [ pkgs.scion-apps ];
}
</syntaxhighlight>


== Connecting to SCIONLab ==
== Connecting to SCIONLab ==
SCIONLab is a global research network to test the SCION next-generation internet architecture.<ref>https://www.scionlab.org/</ref> and allows you to connect to a pre-existing network without bootstrapping your own cryptographic material or Isolation Domain as a '''non-core AS (Autonomous System)'''. Once you have configured a '''non-core AS''' on your LAN, other hosts on this LAN can then use it to connect to the broader SCIONLab network, without having to run the <code>scion-control</code> or <code>scion-router</code> daemons. A SCION end-host only requires the <code>scion-dispatcher</code> and <code>scion-daemon</code> services. In a future release of SCION, the dispatcher will be deprecated and this requirement is reduced to only a single daemon. <ref>https://github.com/scionproto/scion/pull/4344</ref>
SCIONLab is a global research network to test the SCION next-generation internet architecture.<ref>https://www.scionlab.org/</ref> and allows you to connect to a pre-existing network without bootstrapping your own cryptographic material or Isolation Domain as a '''non-core AS (Autonomous System)'''. Once you have configured a '''non-core AS''' on your LAN, other hosts on this LAN can then use it to connect to the broader SCIONLab network, without having to run the <code>scion-control</code> or <code>scion-router</code> daemons. A SCION end-host only requires the <code>scion-dispatcher</code> and <code>scion-daemon</code> services. In a future release of SCION, the dispatcher will be deprecated and this requirement is reduced to only a single daemon. <ref>https://github.com/scionproto/scion/pull/4344</ref>


To connect to SCIONLab:
To connect to SCIONLab:
Line 13: Line 23:


3. Fill out the following form, making sure to select <code>SCION installation from sources</code>
3. Fill out the following form, making sure to select <code>SCION installation from sources</code>
[[File:SCIONLab AS Form.png|none|thumb]]
[[File:SCIONLab AS Form.png|none|thumb]]4. Click <code>Create AS</code>
 
 


4. Click <code>Create AS</code>
5. Once your AS is created, you should be able to click <code>Download configuration</code> on the page. This will yield a tarball like <code>scion_lab_user@myemail.com_20-ffaa_1_1155.tar.gz</code> Inside is a folder named <code>gen</code> which contains the necessary information we need to connect to the SCIONLab test network.
 
5. Once your AS is created, you should be able to click <code>Download configuration</code> on the page. This will yield a tarball like <code>scion_lab_user@myemail.com_20-ffaa_1_1155.tar.gz</code> Inside is a folder named <code>gen which contains the necessary information we need to connect to the SCIONLab test network.</code>


=== Fixing SCIONLab Provided topology.json ===
=== Fixing SCIONLab Provided topology.json ===
Line 71: Line 77:
}
}
</syntaxhighlight>
</syntaxhighlight>
==== Checking that everything worked ====
Once connected to SCIONLab, you should be able to ping one of the core AS  from https://www.scionlab.org/topology.png,  as below<syntaxhighlight lang="shell-session">
$ scion ping 17-ffaa:0:1107,127.0.0.1
Resolved local address:
  127.0.0.1
Using path:
  Hops: [17-ffaa:1:1155 1>573 17-ffaa:0:1107] MTU: 1472 NextHop: 127.0.0.1:30001
PING 17-ffaa:0:1107,127.0.0.1:0 pld=0B scion_pkt=80B
88 bytes from 17-ffaa:0:1107,127.0.0.1: scmp_seq=0 time=36.799ms
^C
--- 17-ffaa:0:1107,127.0.0.1 statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 423.698ms
rtt min/avg/max/mdev = 36.799/36.799/36.799/0.000 ms
</syntaxhighlight>Additionally, you can try using the <code>scion-apps</code> as described in the upstream documentation  https://docs.scionlab.org/content/apps/.
[[Category:Networking]]
[[Category:Applications]]