Project

General

Profile

Task #5023

Self-learning: avoid sending duplicate packets to Faces over the same physical link

Added by Teng Liang 10 months ago. Updated 3 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
10/12/2019
Due date:
% Done:

0%

Estimated time:

Description

The current self-learning forwarding strategy implementation will broadcasts a discovery Interest to all non-local Faces, except the one (not ad hoc) that Interest was sent in. However, in the default configuration, three multicast faces will be created on the same physical link, Ethernet, UDP4, and UDP6 faces. To avoid sending duplicate packets to the same physical links, self-learning should be able to identify which Faces are connected to the same NIC. How to choose one multicast face? One option is to follow this order: Ethernet > UDP4 > UDP6. To summarize: there are two tasks:

  • adding physical interface name to Face
  • choose one multicast Face on one physical interface to broadcast a discovery Interest in self-learning
#1

Updated by Teng Liang 10 months ago

  • Tags set to SelfLearning
#2

Updated by Teng Liang 10 months ago

  • Subject changed from Self-learning strategy: avoid sending duplicate packets to Faces over the same physical link to Self-learning: avoid sending duplicate packets to Faces over the same physical link
#3

Updated by Junxiao Shi 3 months ago

To avoid sending duplicate packets to the same physical links, self-learning should be able to identify which Faces are connected to the same NIC.
follow this order: Ethernet > UDP4 > UDP6

Davide raised an issue on 20200515 NFD call:
Each transport reaches a potentially different set of upstream nodes, because other nodes may have some of these transports disabled.
You may learn a suboptimal path if you only try one transport at a time.

C----SWITCH----R
        |     /
        P----/

In this diagram:

  • C is the consumer.
  • P is the producer. It has Ethernet multicast disabled.
  • R is an intermediate node. It supports both Ethernet and UDP.

If C tries Ethernet multicast before UDP multicast, it would learn the path C-R-P.
If C tries both transports at the same time, it could learn a shorter path C-P.

Also available in: Atom PDF