118-multiple-orports.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. Filename: 118-multiple-orports.txt
  2. Title: Advertising multiple ORPorts at once
  3. Version: $Revision$
  4. Last-Modified: $Date$
  5. Author: Nick Mathewson
  6. Created: 09-Jul-2007
  7. Status: Needs-Research
  8. Some notes follow. Please feel free to flesh them out, discard them,
  9. add in better ideas, etc.
  10. - Some way to configure which address:port combinations to listen
  11. on, and/or which to advertise.
  12. (The best way to support lots of ports is to have your firewall
  13. route all connections from those ports to Tor: this doesn't need
  14. anywhere near as many listening sockets. You only really want to
  15. listen on tons and tons of ports if your firewalling doesn't
  16. support this, or you don't have access to your local
  17. iptables/ipf/whatever. But if you want to do this with the
  18. firewall, you need the ability to advertise ports you aren't
  19. actually listening on.)
  20. (Cat would also like to see some discussion of the effect this
  21. is likely to have in environments that need to ban or limit Tor.
  22. "Speaking only for myself, in an environment where I need to keep
  23. a lid on Tor usage, having to chase port settings around makes it
  24. more likely that I'm going to move from limiting Tor to just plain
  25. banning it.")
  26. - Some way to advertise in one's router descriptor which
  27. address:port combinations you're listening on. For backward
  28. compatibility this should be a new line, not a change to the
  29. format of an existing line.
  30. - Possibly, some way to relay this information in network-status
  31. documents.
  32. - Some analysis of the impact on network-status and routerinfo
  33. size. My guess is "not much", but if it turns out to be a bit, we
  34. should look into making the notation concise.
  35. - What does this imply for self-testing of servers and testing by
  36. authorities of servers? What should the authorities do if one
  37. addr:port works but one doesn't?
  38. - Some way to pick which addr:port to use when you have a choice of
  39. more than one addr:port.
  40. - Some way to avoid having servers open lots and lots of connections
  41. between them when they get extend cells to the same server on
  42. different ports.
  43. - Suggested rule:
  44. - If we're told to extend to IP:Port:ID, and we have a connection
  45. to some server with ID, and we have confirmed that the server
  46. likes the address we originally used when connecting to it (via
  47. means in proposal 105), then use the existing connection.
  48. - If we're told to extend to IP:Port:ID, and we have a descriptor
  49. for the ID, and we have a connection to some server with ID,
  50. and the existing connection is to an address listed as valid
  51. in the descriptor, then use the existing connection.
  52. - Otherwise, use a new connection.
  53. - How this all interacts with coderman's ipv6 stuff (proposal 117).