-
Notifications
You must be signed in to change notification settings - Fork 152
Closed
Labels
Description
Optimised protocol based off ethereum/devp2p#207
Relating to issue: ethereum/devp2p#226
- NAT hole punching: moved into: Nat hole punching for discv5.2 sigp/discv5#176 from https://github.com/emhane/nat_hole_punch/tree/standardise-nat-hole-punch
- Type up wire protocol for devp2p: discv5: NAT hole punching wire protocol devp2p#225
- Type up theory for devp2p discv5: NAT hole punch theory devp2p#228
- Mechanism to keep hole punched for a peer, e.g. UTP stream.
- Remove sessions for peers that don't keep the hole punched for us after hole punching. already default behaviour in the rust impl of discv5 for req time outs
- Part 2 theory 'around the hole punching': discv5: additional text around NAT hole punching devp2p#231
- Make max total sessions with non-contactable enrs configurable (symmetrically NAT:ed, like nodes in many offices)
- Possibly also, look into predicting WAN reachable ports for peers behind symmetric NATs https://www.cs.cornell.edu/people/francis/fdna02-guha1.pdf https://netsec.ethz.ch/publications/papers/natblaster.pdf