$Id$ Here is the motivation for our gateway discovery/negotiation protocols. The protocol is designed to treat present problems on the C-U Community Wireless Network, to prevent future problems that we anticipate, and to help us fulfill our future plans. Here are present problems, future problems and plans. 1 It is inevitable that CWNs are going to be multihomed, whether it be for greater bandwidth, for shorter paths to the Internet, for higher reliability, or else by accident. Multi-homing will cause problems for us if we do not deal with it explicitly (see below). We have to design our network to cope with multi-homing. 2 A multi-homed wireless network should be "default-free." Advertising a default network (0/0) on the wireless net will lead to routers flip-flopping between equal-cost (or near equal-cost) default routes. Since we do not expect to run an EGP for a long while, but we do expect that our Internet gateways will NAT the wireless net, we anticipate that gateway flip-flops will sever TCP sessions. 3 We want to be able to provide every subscriber with at least one routable IP number, since that is what they will need to use the full spectrum of Internet apps, and also to run a server. 4 It would be foolish to design without IPv6 in mind. Routable IPv4 numbers are in short supply. It is not clear whether CWNs can get hold of them, and it appears that they will cost us. IPv6 numbers, on the the other hand, are plentiful and essentially free. IPv6 is unquestionably the future of the Internet. People are already using v6 a little bit, both Mac OS X and Windows XP support it, and wherever IPv4 numbers are "running out"---in Asia, for example---there are already significant economic and government incentives to adopt v6. We should provide for IPv6 gateways in our designs. IPv6 numbers can already be had very easily: if you have a single IPv4 number, you can use "6to4" to get a /48 in IPv6 space. That is 2**80 IPv6 addresses, which is enough to assign a number to each of your home appliances. (Yes, it is *that* *many*.) For more info, see this tutorial, . I want for our nodes to be reached easily from the Internet, since that will help far more people to participate in network development, maintenance, and troubleshooting. When our networks are NAT'd onto the Internet, it is awfully hard to provide a connection into each node from the Internet. 6to4 connectivity is an enormous help there. Granted, developers will need an IPv6-capable computer, but you're a geek, right? (The C-U Wireless development server is IPv6 capable, BTW.) References [1] IETF MANET discussion on gateway discovery [2] Personal communication w/ Perry Metzger re: 6to4 $Id$