Network bootstrap page

Network Bootstrap

This page allows to either Create or Join a network.

networkbootstrap.png

What is a Network?

XWiki Concerto uses JXTA as the P2P network platform.

In short terms, a network is a collection of groups, peers and super-peers.

A super peer can be in charge of 2 things:

  • Route communication for a network (RendezVous peer or just RDV). It has 2 major roles:
    • It can act as a network entry-point. Any peer willing to join the network of this peer can specify it as RDV Seed.
    • Keep track of the current groups in a network. Any peer that wishes to discover the existing groups in the network or who wishes to create a new group will forward the request to this peer.
  • Relay communication for Firewalled/NAT-ed peers (Relay peer). This peer needs to be directly accessible from anywhere, meaning that it needs to have a real IP address or at least have port forwarding enabled.
    • It's role is to ensure connectivity throughout the network. Any peer that is behind a firewall and can not be directly accessed from the outside will add this peer as a Relay Seed. A Relay super-peer will forward any message from one peer to another, passing firewalls and NATs that would normally prevent the sender's message from reaching its destination.
Here's a picture to better understand relays, how they work and why they are so important for a network:

firewall.gif

A network can also be seen as a controlled environment deployed by an organization to allow various departments to replicate their XWikis.

Imagine the scenario where a company creates a network and adds a couple of RDV and Relay peers. If no such network existed, every department that wishes to replicate it's wiki with it's department members would need to create its own network and deal on its own with Firewalls/NATs and generaly handle and assign super-peers on its own.

If the company did in fact create such a network, all they have to do is to enter the network parameters received from the network admin and they can now easily create a group and share an XWiki in that group. They don't have to worry about network logistics any more.  

Creating a network

In order to create a new network, you just have to press the "Create network" button.

Also, make sure that you are using at least one communication method (see below), you are using an unused port for it and that you are accepting incoming communications on it. This is required because you will be acting as both RDV and Relay peer for your newly created network and this ultimately means that you will be a server for peers willing to join your network.

Joining a network

To join a network you must know at least one network entry-point (the address of a RDV peer of that network).

Here you have 3 options:

  • Use the default XWiki Concerto Network.
    XWiki Concerto has (will) set up a network to be used by users that will/can not create their own network for various reasons.
  • Use JXTA public network.
    Because XWiki concerto uses JXTA, it can also use the public JXTA network provided by the JXTA team, more as a testing ground rather than a stable environment. It is recommended to use the XWiki Concerto network instead or a custom one. However, if the previous two options are not available for whatever reason, it can be used to quickly share an XWiki but there are no guarantees of any kind.
  • Use custom network.
    It is normal for an organisation to wish to handle their own network (see above). Here you can manually specify the network parameters of a network you wish to join.

Network parameters

These parameters are:

  • RDV SeedingUris
    This is a comma separated list of addresses of a services that provide a list of RDV peers available in the network to use as entry-points. It is more convenient for an network admin to use such a service because he can then add/remove RDV peers and clients will start using them automatically.

    Example: http://www.myOrganisation.com/concertoNetwork/rdvs.php, http://www.myOrganisation.com/concertoNetwork/alternativeRdvs.php
  • Relay SeedingUris
    The same as above only that it applies for Relay peers.
    Note: You only need this if you know your computer is not reachable from the outside and it requires the service of a Relay.

    Example: http://network.myOrganisation.com/relays.php, http://network.myOrganisation.com/alternativeRelays.php
  • RDV Seeds
    If there is no SeedingUri available to get RDVs from, you can manually specify a comma separated list of RDVs to contact in order to join the network. You also need to specify the communication methods and port to use to reach them.

    Example: tcp://rdv1.myOrganisation.com:9701, http://rdv2.myOrganisation.com:9700
  • Relay Seeds
    The same as for RDV Seeds, only that it applies for Relays. Again, you need this if you are firewalled or NAT-ed.

    Example: tcp://relay1.myOrganisation.com:9701, http://relay2.myOrganisation.com:9700
  • As explained above, you can also become a RDV or a Relay (super-peer) for the network you wish to join. You can do so by using the 2 checkboxes that follow. Please note that you also need to be reachable from the outside and you need to have incoming connections enabled.
A last thing to note about joining networks is that, if you need to use a Relay and have provided some relays in the inputs above, you must disable incoming connections when joining the network. If you do not do so, you will not be able to talk to other peers because you will not be properly using the available Relays.

Advanced settings

Here is where you set to use the communication method I have been talking about in the paragraphs above. They are quite self-explanatory.

The external IP setting is something you might need if you are normally NAT-ed but you have port forwarding enabled by your ISP. This can come in very handy because instead of using a relay, you can actually accept incoming connections and receive messages directly. You just have to provide the external IP for which you have port forwarding enabled and that will be used as well, besides your local addresses, to tell others how to reach you.

Use only external IP for all communication
This is when you want to be reached only trough the external IP and not trough your local addresses. You should use this when you know you are not accessible in any other way.

Tags:
Created by Administrator on 2009/04/28 19:59
Last modified by Eduard Moraru on 2009/06/03 16:58

This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 2.2.1.27354 - Documentation