mesh-networking icon indicating copy to clipboard operation
mesh-networking copied to clipboard

ARP

Open izqui opened this issue 10 years ago • 4 comments

Why do we need to reimplement ARP? ARPs job is to map layer 3 address (IP addresses) to layer 2 (MAC addresses).

So if we assign IP addresses at our will, then ARP could do the job for us mapping them to the link layer in the network without us having to do any work.

I'm not really sure about this, but I think this is the way it works.

izqui avatar Jul 07 '14 18:07 izqui

you could be right... in which case, less work for us!

I was thinking the only changes we would have to make are to prevent arp packets from leaving a zone and contaminating other zones

pirate avatar Jul 10 '14 18:07 pirate

The biggest issue, IMHO, with reimplementing ARP is the security risk. All someone would have to do to DoS huge portions of the network would be to create fake nodes and have them request the layer 3, as @izqui said, addresses mapped to layer 2 (MAC) of all other nodes on the mesh. To reiterate: if many nodes join the mesh network very quickly, wouldn't it put enourmous strain on the other, already established, nodes to answer that many ARP requests? One solution might be to have a system where, when one node needed the layer 2 or 3 address of another, it asked only one other node, which in turn would ask yet another node if it did not already have the information cached.

zlgunn avatar Aug 07 '15 02:08 zlgunn

I like your idea, it's reminiscent of how distributed hash table nodes lookup and cache requests without fork-bombing the whole network. (if I understand DHTs correctly, only one node at a time performs the next lookup after a miss)

On Thursday, August 6, 2015, zlgunn [email protected] wrote:

The biggest issue, IMHO, with reimplementing ARP is the security risk. All someone would have to do to DoS huge portions of the network would be to create fake nodes and have them request the layer 3, as @izqui https://github.com/izqui said, addresses mapped to layer 2 (MAC) of all other nodes on the mesh. To reiterate: if many nodes join the mesh network very quickly, wouldn't it put enourmous strain on the other, already established, nodes to answer that many ARP requests? One solution might be to have a system where, when one node needed the layer 2 or 3 address of another, it asked only one other node, which in turn would ask yet another node if it did not already have the information cached.

— Reply to this email directly or view it on GitHub https://github.com/pirate/mesh-networking/issues/1#issuecomment-128562542 .

--From Nick (Mobile)

pirate avatar Aug 07 '15 03:08 pirate