Feature #5029
Updated by Teng Liang about 4 years ago
Discussion on May 15 2020 1. NACK discovery Interests from unicast face if there is no next hops. This helps an edge case that an outside network reacts quicker to NACK from a local network with only unicast faces. 2. Auto-created faces should have "on-demand" persistency. 3. Deal with duplicate transmissions for multiple multicast faces on the same physical interface 4. To make self-learning work at gateways * configure self-learning strategy with local name prefix, e.g., /edu/ucla * enable whitelist and blacklist configuration on Face system to indicate which faces can be used for broadcasting * Self-learning strategy uses face flag to determine broadcasting behavior The current version of self-learning forwarding strategy mainly handles the "no-next-hop" case, and uses multicast to one or more eligible faces. This is far from being useful or robust in real usage, so we plan to improve self-learning in the following five four aspects: 1. **Interest processing** pipelines, the added mechanisms are borrowed from the best route forwarding strategies: * **Interest Retransmission Suppression** Suppression and aggressive Interest broadcast triggering** * Add a retransmission suppression decision algorithm that suppresses Interest retransmissions using exponential backoff. The same as best route strategy. * **Interest Retransmission Forwarding** **Better next hop choice** * If multiple next hops exist, an eligible next hop with the lowest cost should be picked. For a retransmitted Interest that bypass the suppression period, can be forwarded, forward it to an unused next hop that has with the lowest cost; if all next hops have been used, forward it in round-robin manner starting from the-lowest-cost tried, pick the first chosen next hop. hop to forward. The same as best route strategy. 2. **Data processing** pipelines: * **Creating a unicast Face on receiving data from a multi-access Face** * This feature is designed for WiFi AP-station mode (#4973) 3. **NACK processing** pipelines: handling** * **NACK handling** * 1. Send Interest to an eligible unused next hop on receiving a no-route NACK * 2. Once all next hops return no-route NACK; NACK * if this node is not consumer, send the NACK back to downstream downstreams 4. **NFD configuration**: * **Timeout handling** * **Make NFD work out-of-the-box in When a local network** * Set self-learning as the default forwarding strategy for `/` in nfd.conf.sample (#5031) 5. **Unit Testing** (#5026) Discussion on May 15 2020 1. NACK discovery consecutive of Interests from unicast face if there is no next hops. This helps an edge case that an outside network reacts quicker to NACK from a local network with only unicast faces. 2. Auto-created faces should have "on-demand" persistency. 3. Deal with duplicate transmissions for multiple multicast faces timed out on a FIB entry, the same physical interface 4. To make self-learning work at gateways * configure self-learning strategy with local name prefix, e.g., /edu/ucla * enable whitelist and blacklist configuration on Face system to indicate which faces can be used for should trigger Interest broadcasting * Self-learning strategy uses face flag to determine broadcasting behavior at consumers. (Not working properly) Read [self-learning packet processing](https://github.com/philoL/NDN-Self-Learning/blob/master/self-learning-v2.pdf) flows for more details.