> > As for partition, what I see the peer could do after he knows that is to > > restart a join-like operation. The direct response and relay peer work in > > the partition situation in the same way as in other situations. Am I missing > > something? > > You're right in that they work just as well as they do any other > time---when they work they work fine, but if they don't work (due to NAT > filtering, etc), you still need the fallback to symmetric routing.
It seems that symmetric routing could work in all cases. In chord algorithm, if the number of the nodes in the system above 1000, the possible largest hops for a request would be larger than 10 hops. IMO, symmetric routing will have lower success rate as the number of hops increases, although I have no real data to support my concern. On the other hand, the data to be looked up is distributed around the overlay, so the number of hops will h ave an appropriate even distribution within (0, log(N)]. Are you sure symmetric routing could work well if the request need traverse long hops? Are you sure the end-2-end retransmission mechanism could make the transaction successful in the end? > > > What I suggest is to integrate symmetric routing mode, direct response, > > relay peer into an integral routing mechanism and could work more efficient > > than using a single candidate mechanism. > > The decision the WG will have to make is whether the complexity of > additional routing mechanisms is worth the increased performance > (removing a few hops on the return path). The benefit to me from direct response and relay peer alternatives is not only removing a few hops. The more important one is to improve the success rate of the transaction if the request need to be traversed with large hops. > We tried to apply Occam's > Razor rather aggressively in evaluating features, and adding additional > complexity to the protocol for these features seemed a bit questionable, > at least for right now. I don't see other alternatives introduce too much complexity. The simplest way to integrate the three routing mechanisms is: the original peer carries the relay peer and local interface address information in the request and sends the request; the intermediate peers record the via-list. When the destination receives the request, it could compute how many hops the request traversed. If the number of hops is large, it not only returns the res ponse by using the symmetric routing, but also sends the response by using the direct response or relay peer respectively. > > Now if you work in a world where NATs and firewalls don't exist, the > world would be different, of course. _______________________________________________ P2PSIP mailing list [email protected] https://www.ietf.org/mailman/listinfo/p2psip
