Note: Reply made on a free form stream-of-consciousness basis. On Fri, 18 Feb 2011, Eugen Leitl wrote:
If you're talking mesh, one of the basic requirements is to get rid of central address allocation authority and establish a local-knowledge based routing.
Thats not as easy as it sounds, especially in hyperdense cities - although I will also admit that this is more a 70% administrative issue than an technical issue. It's unlikely that anyone in their right minds is going to just open up their networks to both unlimited and unmonitored connections, but even if they do, they are going to demand some allocation control and accountability. Not that it's necessary for any technical reason, but because it's required for the people who both pay the network bills and receive FBI "letters" / subpoenas: even the smallest networks have some kind of "security department", even if it's the same guy who does everything else there. This is where the idea truly breaks down. I wouldn't allow an open wifi connection when I know that any illicit activities are going to come back to haunt *me* when the FBI does their next "predator sweep". No municipality is going to allow geocoded/derived addressing for the exact same reason: they want to be able to point the finger when the time comes. They also want to know if your node is acting up, where they can go /phone to make you fix it. Mesh networks are a political disaster *before* anyactual engineering time goes in. But if you are lucky enough to get past the politics (hard. really hard.), then you start down the actual engineering pipe: traffic planning and engineering is at best difficult, at worst impossible, without centralized control. So do we just assume that the warts know not to exceed bandwidth(x), and plan for max(y) warts per square mile/kilometer? Do we assume that all these warts are going to be using passive connections for ftp? this road leads back to political questions by the way. The residential carriers will go postal if 100k home connections are suddenly offering services and draining back through the cable/dsl drains, against their AUP/ToS. If you choose to create layer 2 drain solutions you are back to tight and centralized allocation control.
If you get that far, the human operator mistakes are removed from the loop.
I was with a group that tried to work out a mesh implementation across a relatively small (~15sq miles) area, and it never came to fruition, despite several years of work on the problems presented.
Do you have a pointer to description of your project, and what went wrong?
This was a municipal project, so I can't point you anywhere: sorry. As for what went wrong: everything. Everyone who touches the mesh has questions/issues of the nature I alluded to above. Muni IT demands to be able to track back every ip to a known user, meaning any kind of geolocation solution is gone right off the bat. By the way, the reasoning here wasn't what I was expecting: they were more concerned with virus control and quarantine (which implies a separate layer 2 sandbox for infected connections, or connections carrying infected traffic where such can be accurately and reliably determined - which is about 50% of the time). The muni wanted a known IP for each user, with certain wifi hotspots exempted to local rfc1913 networks using DHCP. We had interesting times with these hotspots too! Not having enough IPs on a public wifi segment causes weird behaviour that the basic call desk cant troubleshoot, and that they don't recognize as being broken - so these spots get reputations as being "unreliable". Significant automation was assembled just to keep track of required resources vs actual available resources, with traps going out when automation sees something we dont. The traffic engineering issues are perverse. Meditate on them for a little while, and consider all of the ways you can slice your own throat. Is a steady rise in users a trend, or did the bookings for conventions just have a good year? Are you meeting peak demand, or are you oversubscribing on your backbone? *Is* there a backbone? Lots of questions at layers 1 and 2! In fact, layer 2 is where you're going to spend a *lot* of your time, unlike the operation of a more traditional IP network, where you spend the vast majority of your time at layer 3. Segregation is a necessary ingredient, as well as scanning-on-allocation to check for blatantly rooted connections. This gets tricky as hell. We were asked to plan for each muni supporting drains for the connections made within their geographic areas: oops! Looks like I want geo-derived addresses again! Except that these same munis have the additional condition of only wanting to allocate for their own taxpayers: oops! Back to centralized control and allocation... Round and round you go... Everyone here knows IP well, and can add a hundred things that I've not touched on. Every time you add a condition, you increase complexity, and these increases are *not* linear!
I can tell you one thing: Eben Moglen is not a stupid man, and he's
I never alleged that he was stupid. I know he's no moron. But he's also not thinking this through, he's looking to build the device before he knows his application. Thats fine for general purpose machinery with lots of cycles and storage to spare, but a wart is likely to be max'd out at ultra-small storage and cpu limits: virtually every wart-driven device was designed to act as a simple bridge or router, which requires surprisingly little computing power: An old 386 is massive overkill for acting as a router on lines up to about 3mbps - while these warts may have more *cycles* available than an old throwaway box, they are going to have [at best] a few hundred megabytes of flash storage: not a lot of room there for anything meaningful.
surrounded with technically capable people. If he can raise the money for 10-100 k wall wart units you can assume people will do useful things with them.
I can assume people will do *something* with them, but *useful* things, no, I cannot just assume that - that will be something I'll have to see to believe. //Alif -- "Never belong to any party, always oppose privileged classes and public plunderers, never lack sympathy with the poor, always remain devoted to the public welfare, never be satisfied with merely printing news, always be drastically independent, never be afraid to attack wrong, whether by predatory plutocracy or predatory poverty." Joseph Pulitzer, 1907 Speech