7. Chapter VII
7.3 Mesh Network Registration Application
7.3. Mesh Network Registration Application 131
message upon receiving it. The main problem with this approach is that every UN that receives an advertisement needs to rebroadcast it. For example, if 5 nodes are located within the one hop range of a MP, they will hear the same advertisement 5 times, possibly within a short time frame. If one of these nodes are within range of 5 additional two hop nodes, it will hear the same advertisement 5 more times, and so on. As the network spreads over many MPs, and every advertisement with an active TTL will be rebroadcasted, a lot of advertisements will be spread over the network.
A simpler solution is to let each user node send their own advertisements with the TTL or Hop Limit value set to 1, instead of rebroadcasting advertisements from MPs. The number of advertisments a node overhears within a time frame will then be bounded by the node density, the number of nodes located within communi-cation range of the node. This process can ideally be coordinated with different neighbor discovery processes, used by many different protocols, as it provides in-formation about the state and existence of different neighbors.
When a user node determines that it needs to register with the network, it searches its Mesh Point List for the MP that it determines to be the most appro-priate, and issues an Mesh Point Registration Request. How to determine the best MP is not covered here, but any type of method can be used, such as the MP with the shortest hop count, as is used in this chapter. The purpose of the registration re-quest is to let the mesh network know about the existence of the user node, and that this user node intends to use the indicated MP as an access point to the network.
The Mesh Point Registration Request message includes the following fields:
Type Mesh Point Address Current Distance User Node Address Sequence Number Registration Lifetime Handover Flag
Fig. 7.3:The fields of the Mesh Point Registration Request message .
When the MP receives the request, it registers the node by adding it to its Regis-tration List. The RegisRegis-tration List is a list that contains all the user nodes and their most recent sequence number, currently registered with the mesh network. These lists are periodically exchanged among MPs in the network in order for them to know the location (i.e. their MP) of every user node in the network. The lists are exchanged in an approach similar to that of how the Distance Vector proto-col exchange routing information, meaning that a message containing the list, or a part of the list, is broadcasted to all one hop MP neighbors. The MP that receives the registration request, then transmits a Mesh Point Registration Reply message (fig 7.3.2):
The registration lifetime of the request is the period of time in seconds that the user node wishes to be registered. If the MP accepts the Lifetime value proposed by the user node in the Request message, it copies this value into the Registration Lifetime field of the Reply message. Otherwise the MP will use some other default or determined Lifetime value. This message will update the registration at the MP
Type Mesh Point Address Old Mesh Point Address Current Distance User node Address Sequence Number Registration Lifetime
Fig. 7.4:The fields of the Mesh Point Registration Reply message .
for the specified amount of seconds. The Handover Flag is a special flag that a user node can use to make a fast handover to another MP. For example, when a user node that is already registered with an MP, determines that it needs to switch registration to another MP, it sets the Handover Flag. This flag informs the receiving MP that this is a new registration but that the sending user node was previously registered with another MP. This prompts the MP to lookup the sending user node, which it knows from the User node Address field, in its Registration List. If the address is found, the originating node is indeed registered with some other MP, and the new MP needs to notify the previous MP about the handover. The new MP therefore first sends a User Node Handover Notification to the old MP, and then a Mesh Point Registration Reply to the user node.
Type Old Mesh Point Address New Mesh Point Address User node Address Sequence Number
Fig. 7.5:The fields of the User Node Handover Notification message .
When the old MP receives the Handover Notification, it updates its Registration List entry with the corresponding New Mesh Point Address and Sequence Num-ber. Any subsequent data packets received at the old MP with a destination IP address pointing to the User Node Address, will now be tunneled to the New Mesh Point Address. This will in effect enable the user node to perform a soft handover between the two MPs. Since the Handover Notification is only sent to the old MP, and not every MP in the mesh network, it may take some time before other and intermediate MPs learn about the registration. The tunneling of data packets, how-ever, will prevent this from becoming a problem since the tunneled packets are routed directly to the new MP. After a while, the periodic Registration List updates will see to that the new user node location is known by every MP in the mesh network.
7.3.3 User Node Handover Determination
An important decision that a user node needs to make, is to determine when it is time to switch to a new MP. When a user node has an active communication through an MP, it will periodically send registration updates that triggers registra-tion replies. From the Current Distance field of the registraregistra-tion reply, it can keep