Nodes
For security reasons, it is important that foreign communication mechanisms remain separated from the intra-PN communication mechanisms. This means that the Gateway Nodes need to treat foreign communication in a different way than intra-PN communication and block all non-approved traffic from entering the PN. The Gateway Nodes must bridge the mechanisms used inside the PN and the ones used to communicate with the Foreign Nodes, since these are different and should never be combined.
As shown in Figure 8.1, the Gateway Node may connect with the Foreign Nodes in several different ways. Each way has its own mechanism and hence requires different approaches:
Direct communication At the connectivity level, the Gateway Node must of course share a common Radio Domain with the Foreign Node for direct communication. At the network layer, it needs to establish a network connection to the Foreign Node, which may be ad hoc and temporary. Temporary link local addresses can be used in the foreign communication as long as they are unique among the communicating peers. Another option is to use an already deployed network (such as a WLAN hotspot), if available, where addresses usually are assigned automatically (e.g., by DHCP [54]). At this point, communication can take place between any Node in the PN and the Foreign Node through the Gateway Node.
Communication over Interconnecting Structures If a Personal Node wishes to communicate with a Foreign Node that is connected through an Interconnecting Structure, the Gateway Node that links the Cluster up to the Interconnecting Structure needs to bridge the PN-internal mechanisms with the mechanisms used in that Interconnecting Struc- ture. In this case, there is also the possibility of using the PN Agent as that bridge.
8.3. SETTING UP COMMUNICATION WITH FOREIGN NODES 177
Communication over other network types Foreign communication may also need to use other types of networks, such as multi-hop ad hoc networks. The Gateway Node needs to understand and participate in the mechanisms of the external network. Consequently, Gateway Nodes may need to support several different network types.
It is also important to be able to switch between the different communica- tion approaches when better alternatives arise or existing ones disappear [28]. More on this topic will be covered in Section 8.5 when we discuss mobility.
8.3.1
Foreign Node discovery
The first step in establishing foreign communication is to discover potential Foreign Nodes to communicate with. This step is called Node discovery and it is the task of the potential Gateway Nodes, as they are the only Nodes that can interact directly with the external networks. Gateway Nodes should keep a list of Foreign Nodes (or networks) so that foreign communication can be established when and if required. The Gateway Nodes inform the other Nodes in the Cluster, or the whole PN, about the Foreign Nodes (or foreign PNs) by broadcasting this within the PN as part of the routing protocol. At the service level, the Gateway Node may also discover services on local Foreign Nodes and advertise these within its Cluster. This can be done via populating the Service Management Node (SMN) in its Cluster [134][66] as discussed in Section 3.3.3. If the external network is PN-aware and has a SMN, it may interact with it.
To enable communication to remote Foreign Nodes, the Gateway Nodes advertise its current Interconnecting Structure connections. This advertise- ment can be done as a simple default gateway (or network prefix) within its Cluster. In this way, every Node in the Cluster knows which Gateway Nodes can be used to connect to the Interconnecting Structure.
Once a Foreign Node has been discovered and a Personal Node wishes to communicate with it, a Gateway Node must first be selected. If the Personal Node itself is a Gateway Node and has a link to the Foreign Node, it should choose itself instead of relying on other Nodes. If this is not possible, or not desirable (e.g., its own connection is limited or costly), it may choose to use another Gateway Node instead. It may be possible to choose from more than one Gateway Node. In some cases, such as in Figure 8.2, a direct connection (A) and several infrastructure-based connections (B, C, and, D) are possible at the same time. The Node needs to carefully select one of them, since the traffic between the two end Nodes has to go through the selected Gateway Node. In many cases, it is very hard to change Gateway Node without tearing down the connection and establishing a new one. States need to be transferred between the two Gateway Nodes and the Foreign Node may not support mobility. A last option is to use the inter-Cluster tunnels and choose
Figure 8.2: Four Gateway Node options
a stable Gateway Node (e.g., C) in a stable Cluster or the PN Agent (D). In that case, mobility is handled internally by the PN itself as described in Chapter 7, but at the same time, the routes are not optimal.
8.3.2
Accepting connections from Foreign Nodes
In some scenarios, it is interesting to consider the case where a Foreign Node wants to initiate a connection to the PN. If there is a direct connection, the Foreign Node can just initiate a connection to the present Gateway Node, which needs to handle it and establish an end-to-end session with one of the Personal Nodes within the PN.
When no direct connection exists, the Foreign Node needs to use the Interconnecting Structure. However, the Nodes of a PN can be mobile and change their point of attachment and therefore also their addresses used in the Interconnecting Structure. The only entity that does not change address is the PN Agent. The PN Agent is therefore an excellent point of contact for Foreign Nodes that wish to establish communication with a PN. It is only necessary to remember the address of the PN Agent to be able to initiate connections with that PN. To simplify the process even further, the address of the PN Agent can be given a name that can be resolved through DNS [148]. The PN Agent will know the location of all Clusters in its PN and can tunnel the packets to the final destination within the PN. At the same time, it will bridge the Interconnecting Structure and the intra-PN mechanisms.