# On Sharing an FIB Table in Named Data Networking
## 4 Performance Evaluation
### Performance Comparison with Other Schemes  
The performance of the proposed algorithm was compared to those of _shortest path_ and _flooding_. The size of a Bloom filter of the proposed work in this comparison was fixed as 2048 bits, which has the minimum memory consumption for all topologies. The _shortest path_ in ndnSIM uses [PERSON]'s algorithm, which guarantees the packet delivery along the optimal path using the minimum amount of Interest packets. The performance of the three schemes was compared based on the _shortest path_. Figure 8: Memory requirements based on Equation (4) and (5). As the size of the Bloom filter grows, the memory requirement for the Bloom filter naturally increases, but the number of auxiliary FIB entries decreases. In all topologies, the memory usages are minimal when the size of the Bloom filter is 2048 bits. Figure 7: The number of _Interest_ packets under the various sizes of Bloom filters. As the size of the Bloom filters gets larger, the number of multicasts decreases. The _flooding_ scheme forwards an _Interest_ packet to all faces other than the incoming face of the _Interest_ if no matching entry is found in an FIB table. When a _Data_ packet arrives as a response, the FIB table is updated using the incoming face of the _Data_ packet as the output face of the longest matching name prefix for the _Interest_. Figure 9 compares the average hop count when the Zipf parameter is 0.7. As shown in the figure, the average hop count of our proposed scheme is very close to the _shortest path_ algorithm in all four topologies, which means that the proposed scheme can achieve the near optimal packet delivery. We also conducted the simulation under various Zipf parameters, from 0.5 to 0.9, but those results are omitted for simplicity since they show a similar tendency. Both the proposed scheme and _flooding_ ensure that the _Interest_ packets are delivered to content sources at all times and can deliver packets along the shortest path with the same hop counts as the _shortest path_ in an ideal case. However, since in-network caching is a default function, duplicated _Interest_ packets in these schemes may cause in-network caches to store unnecessary contents, thus degrading the cache performance. The degraded in-network cache performance can generate more cache misses and lead to longer packet delivery paths. Figure 10 compares the normalized number of _Interest_ packets, which is the total number of _Interest_s divided by the number of _Interest_s in the _shortest path_ scheme, when the Zipf parameter is 0.7. The _shortest path_ scheme generates the smallest number of _Interest_ packets by forwarding an _Interest_ packet only to the best matching face. The proposed scheme uses only about 1% more _Interest_ packets than the _shortest path_ scheme, regardless of the topologies. Since the number of _Interest_ packets of the proposed work is influenced by the size of a Bloom filter, it can be further reduced by increasing the size of Bloom filters. Since the _flooding_ scheme forwards packets toward multiple faces, it consumes many more _Interest_s. Particularly, in a large topology such as AS-1221, the _flooding_ consumes almost twice the number of _Interest_ packets compared to the _shortest path_ scheme. Therefore, the simple _flooding_ is not scalable and inappropriate for the large topology. Tables 2-5 compare the memory consumption. For all four topologies, the _shortest path_ scheme has the largest number of FIB entries, because every router in the network has the complete knowledge of all name prefixes. Meanwhile, the _flooding_ scheme has fewer entries than the _shortest path_, because routers only have the name prefix entries for requested contents. Therefore, in the _flooding_ scheme, if a router has never been requested for any contents, it has no entries in its FIB table. The proposed scheme has the smallest number of FIB entries in all topologies, since it updates the auxiliary FIB entries only when the _Interest_ packet is forwarded to multiple faces.