# Comparative Analysis of Producer Mobility Management Approaches in Named Data Networking
## 3 Analysis of Scheme Designs  
### AFIRM  
The AFIRM scheme is broken down into two phases. The first is FIB construction, which is initiated during network set-up and executed with data packet arrival at the NDN nodes. The second phase is the link recovery, which is performed when producer mobility occurs. We explain each phase next:  
* **Scheme Operation** 1. FIB Construction First, during network set-up, flooding is used to broadcast every interest through each face of all nodes until the interest reaches the intended producer. During this time, PIT tables are populated with requesting the faces of each prefix as usual. However, when a data packet arrives at a node, in addition to recording the incoming face as in normal NDN operation, the FIB is modified to include the face through which the data packet departs. In NDN, the data packet follows the reverse path of the interest packets by following the faces in the PIT (which indicate the faces leading to the consumer(s)who requested this data). Therefore, before deleting the entry in the PIT after request fulfillment, the faces associated with this prefix will be copied from the PIT to a column named (out) in the FIB. Furthermore, not only will an entry be added to the prefix, but all sub-prefixes of the name prefix will be included in the FIB. 2. Link Recovery Each gateway (or PoA) sends periodic interest packets to the sensors attached to it. If it does not receive a data packet within a defined time interval, then it concludes that this sensor is no longer attached. The gateway should create and send a recovery packet whose purpose is to delete the FIB entries which lead to this gateway. Thus, a recovery packet (which is a modified interest packet) follows the faces specified in the (out) column which leads to the consumer. The recovery packet sent by the old gateway is indicated by a tag with a value of zero. As soon as a gateway detects the attachment of a new sensor, it should create and send a recovery packet whose purpose is to add FIB entries which lead to this gateway. Therefore, a recovery packet (with flag 1) also follows the faces specified in the (out) column which eventually leads to the consumer. The recovery packets (zero and one) follow the path to the consumers which requested this prefix earlier. In normal NDN, this information is not known to the routers, whereas due to the FIB out column, the faces leading to the interested consumers are preserved. In general, the specific out face that the recovery packet must travel through is found by performing an LPM (between the prefix in the recovery packet and the prefixes in the FIB). Next, we provide an example of AFIRM operation. * **AFIRM Example** In Figure 2, we show an example of the AFIRM scheme operation among producer mobility. The producer serving the prefix /A/B is attached to PoA C, and the producer serving the prefix /A/G is attached to PoA A. A stationary consumer attached to PoA I is requesting both prefixes. Based on the described FIB construction phase, the FIBs are populated with the prefixes served in the network, and the sub-prefixes (/A) are included in the FIB tables. As shown in Figure 2a, the out columns are populated with the faces through which the prefix has been requested. Later, the producer of /A/B moves from PoA C to PoA B. As soon as PoA senses the detachment of producer of /A/B, it creates a recovery packet with tag = 0 for the purpose of removing the path leading to the producer at its old PoA. This packet should update the FIB tables of the routers starting at the producer's old PoA reaching the consumer requesting the prefix. As specified in the out column of C's FIB, the face leading to the consumer is C1, so the recovery0 is sent through this face, and the entry associated with /A/B in C's FIB is deleted. Next, the recovery0 reaches PoA B, where the face leading to the consumer is B3, as specified in the out column in the FIB, so the recovery0 is sent through this face, and the entry associated to /A/B is deleted from [PERSON]'s FIB table.