# A Design for SDN-Based Identifier-Locator Separation Architecture on IoT Networks
## 3 Proposed SDN-Based Identifier-Locator Separation Architecture for IoT Networks
### Main Procedure
#### 3.4.2 Route Optimization Process
Each OFS is connected to each other and each AR. The OFS has a wireless access point to connect to the mobile devices such as an MN or a CN. For the comparison of the signaling and packet forwarding costs, MOFI was selected because it is similar to the proposed scheme. However, because MOFI and the proposed scheme require different entities, it was assumed that some functions of the network entities could be substituted according to the protocols. When the MN communicates with the CN in MOFI, each AR includes an LMC with a hash table and an HLR. Additionally, the EID-LOC mapping information is managed by the ARs in distributed manner, and they do not participate in packet forwarding. For more details of the operations such as the EID-LOC binding and data delivery, refer to [17]. In contrast, each AR in the proposed scheme is capable of including all the facilities of the OpenFlow switch. In Figure 4, \(h_{(X-Y)}\) indicates the average number of hops between X and Y, as follows:

* \(h_{(N-S)}\): The average number of hops between the node and the OFS
* \(h_{(AR-S)}\): The average number of hops between the AR and the OFS
* \(h_{(S-S)}\): The average number of hops between the OFSs

For the comparison between MOFI and the proposed scheme, we formulated the signaling and packet forwarding cost. The signaling cost (\(C_{S}\)) and delivery costs (\(C_{PD}\)) can be represented as the

Figure 4: Topology for analyzing the cost model. Figure 3: Packet forwarding after route optimization. message sizes in bytes, and they can be calculated as the multiplication of the lengths of the path in the hop count via the route for the transmission. The total cost is calculated the sum of \(C_{S}\) and \(C_{PD}\). For simplicity, we denote the cost of MOFI as \(C_{S}^{M}\) and the cost of the proposed scheme as \(C_{S}^{New}\). ### Signaling Cost

#### 4.1.1 Mofi

In MOFI, the EID-LOC binding and LOC query procedures have to be preceded before forwarding the data packets. As such, signaling cost \(C_{S}^{M}\) can expressed by:

\[C_{S}^{M}=C_{BI}^{M}+C_{LQ}^{M}, \tag{1}\]

where \(C_{BI}^{M}\) and \(C_{LQ}^{M}\) represent the cost of EID-LOC binding and the cost of LOC query in MOFI, respectively. After the L2 attachment, the MN sends a binding request (BR) message of the EID to the attached AR (\(LMC_{(AR-MN)}\)). Then, the \(LMC_{(AR-MN)}\) forwards the BR to the LMC (\(LMC_{MN}\)), which maintains and manages the MN. After the processing of the BR, the \(LMC_{MN}\) sends a binding acknowledgement (BA) message to the MN. It was assumed that the EID-LOC binding cost of an MN is the same as the cost of an CN, so the binding cost can be calculated as:

\[C_{BI}^{M}=2(L_{BR}+L_{BA})\big{(}h_{(N-S)}+h_{(S-S)}\big{)}, \tag{2}\]

where \(L_{BR}\) and \(L_{BA}\) represent the lengths of the BR and the BA, respectively. When the LMCAR\(-\)MN receives the first data packet from the MN to the CN, it starts the LOC query procedure to get the suitable LOC of the CN. Thus, the LOC query request (LQR) message is delivered to the \(LMC_{AR-CN}\) via the \(LMC_{CN}\). In case of the LOC query reply (LQP) message, it is delivered from \(LMC_{AR-CN}\) to \(LMC_{AR-MN}\). Therefore, the cost of the LOC query is calculated as:

\[C_{LQ}^{M}=2h_{(S-S)}*L_{LQR}+h_{(S-S)}*L_{LQA}, \tag{3}\]

#### 4.1.2 Proposed Scheme

For communication between the MN and the CN, both nodes should be registered to their own h_ARs at first. After the L2 attachment, the MN's s_AR sends a registration request (RR) to the h_AR, according to Algorithm 1. Additionally, the MN's s_AR can send a query request for route optimization. It is also assumed that the average registration cost of the MN and the CN is the same. Thus, the signaling cost of the proposed scheme is calculated as:

\[C_{S}^{New}=2\big{(}C_{RRQ}^{New}+C_{RO}^{New}\big{)}, \tag{4}\]

where \(C_{RRQ}^{New}\) and \(C_{RO}^{New}\) indicate the costs of registration and RO, respectively.