2008/02/11


Sobre hot-spots abertos, torrents no talo e os problemas no compartilhamento da Internet em casa

Andei discutindo com algumas (mais de duas) pessoas anônimas sobre liberação de acesso do seu roteador a seus vizinhos, e sobre a etiqueta que se deve observar ao gozar do privilégio. Tão me chamando de nazista por aí porque eu botei senha no roteador do meu avô, e porque eu acho que quando vc entra numa rede não deveria ter que se preocupar sobre a banda que está ocupando... Permitam-me discorrer um pouco melhor sobre estas duas questões:

1_ Eu jamais configuraria o roteador de uma outra pessoa pra deixar a rede aberta, sem senha. O meu, em casa, eu deixaria, porque sou eu quem vai administrar, vou ter plena consciência do que isto significa. Mas o dos outros eu deixo fechado por default.

É como decidir deixar a porta de casa sem fechadura. Você não instala uma porta na casa de alguém e deixa sem fechadura. Vc deixa a fechadura lá, e se a pessoa quiser deixar destrancado, ela que deixe. Mas antes ela precisa aprender a trancar e destrancar.

Quando alguém mais experiente configura um sistema pra outra pessoa utilizar, tem sempre que deixar configurado da forma mais fechada e segura possível. Isso obriga o usuário a aprender a abrir o sistema. Ao mesmo tempo em que aprende isso, ele aprende sobre o funcionamento e configuração e manutenção do sistema, e assume as responsabilidades.

Quem configura um sistema, tem responsabilidade sobre ele. Se o usuário optar por fazer algo perigoso, ele tem que ter consciência de que vai estar fazendo isso.

Configurar um roteador pra uma pessoa que não domina a tecnologia é um pouco como construir um apartamento para alguém. Você não constrói um chão que agüente só 200kg/m2 sem avisar o usuário (e confiar nele). Vc constrói pra agüentar lá uns 500kg/m2, a não ser que ele te peça, e que vc tenha certeza de que ele sabe o que isso significa, e que ele seja o responsável por um eventual acidente.

Vc não pode deixar a rede aberta se for você o responsável pelo bom funcionamento dela, mas não vai ficar lá administrando todo dia. Vc tem que ter certeza de que o usuário vai vigiar se não tem algum mané atrapalhando a conexão dele. Senão o CREA te detona... É a vida dos engenheiros desde os tempos de Hamurabi.


***
2_ Eu acho que se você é legal, e deixa sua rede aberta, e alguém entra nela e começa a baixar 10.000 torrents e de repente você não consegue mais usar sua própria conexão com a Internet, esse cara é um mané, e se vc quiser eu te ajudo a ir lá e dar uns sopapos na cara dele. Mas acontece que a filosofia em que se baseou a construção dos protocolos TCP/IP é totalmente contrária à idéia do usuário na "folha" da rede terem que ficar vigiando o seu consumo da banda.

O TCP envia pacote o quanto dá pra enviar. Se tem coisa pra mandar, e se tá indo, ele manda. Mas conforme os pacotes vão demorando pra chegar do outro lado --- ou melhor, conforme os ACKs vão demorando a chegar de volta --- ele vai esperando, e assim a velocidade da transmissão vai naturalmente se ajustando aos recursos. E essa flexibilidade se reflete em todas camadas acima do TCP também. Por isso ninguém devia ter que ficar limitando o funcionamento do seu BitTorrent.

Se você tem uma conexão de 20kB/s, e tem uma conexão TCP ocupando tudo, e de repente você liga outra conexão paralelamente, em um sistema convencional as duas vão aos poucos se ajustando pra dividir irmãmente a conexão. O protocolo funciona assim, ele é meio "passivo". E esse é o maior motivo do sucesso do TCP/IP. Não tem muita discussão, ele simplesmente vai tomando conta do que pode, e se não pode, abaixa a bola.

Como o TCP/IP funciona dessa forma, pra um roteador limitar a velocidade das conexões de um usuário basta ele levantar a estatística de quantos pacotes vc tá enviando. Se vc começa a enviar demais, ele simplesmente joga seus pacotes extras no lixo. Isso acontece até vc aprender quanto vc pode ocupar. E na prática vc acaba sempre transmitindo um pouquinho acima do que pode, porque é assim que vc efetivamente mede o quanto é que pode.

É assim que funciona... Quer dizer, é assim que nossos roteadores DEVIAM funcionar. Essa era idéia lá nos anos 90. Só que esses roteadores paias que essas d-link, 3com, cisco e outras fabricantes enfiam pela nossa goela não fazem isso não meu chapa. O que os engravatados decidiram é que o povão ia ter que se contentar com roteadorezinhos vagabundos que não te permitem ter um controle adequado de alocação de banda entre os clientes do roteador.

E a coisa mais podre do mundo não é nem a falta de controle de banda. É o problema do número de acessos do roteador. Acontece que esses dispositivos são quimeras bizarras que nada tem a ver com o verdadeiro TCP/IP. Essas porcarias todas dividem a conexão entre os clientes usando NAT, que é uma meleca duma gambiarra feia que não devia existir. Por causa dessa maldição contemporânea, nosso "roteador enxerido" é obrigado a ter uma lista de todas as conexões TCP ocorrendo em nossa rede, ao invés de ser de fato apenasmente um roteador de IP. E se o limite de conexões for ultrapassado, vc tá perdido irmão...

Esses roteadorezinhos que a gente usa não foram projetados pra dividir direito a conexão entre clientes desconhecidos. São brinquedinhos pra colocar em casa, e dividir uma conexãozinha entre duas máquinas, e mais uma impressora estribada da vida. Na hora que algum zé mané inventa de deixar o torrent ligado "no talo", ao invés da máquina dele ser naturalmente limitada pelo roteador, como deveria ser, ele acaba engasgando o roteador.

Então aqui que vem minha briga. Não pode ser considerado falta de ética uma pessoa entrar numa rede e sair tentando consumir todos recursos dela, e efetivamente conseguir. É falta de ética a D-link, 3com, Cisco e amiguinhas venderem pra gente estas bostas. É falta de ética as empresas chamadas "provedoras de Internet" não moverem um dedinho mínimo pra acabar com essa porcaria chamada NAT. É falta de ética a gente ser vítima de um bando de executivos babacas que só querem saber de ganhar dinheiro oferecendo pra nós um servicinho que não é sombra do que a tecnologia que existe é capaz de realizar.

Falta de ética é vivermos em 2008 sem conseguirmos imaginar quando se dará o fim do NAT e a ascensão do IPv6 e a popularização de roteadores que prestam. IPv6 tá fazendo 10 anos de vida.

Falta de ética maior é nosso povo viver absolutamente desinformado acerca da exploração que está sofrendo, a ponto de algumas pessoas serem capazes de imaginar que o sofrimento causado em nosso dia-a-dia quando temos estas disputas mal-resolvidas nos compartilhamentos de conexão em nossos roteadores são devido a um mal-comportamento incivilizado de seus pares, ao invés da ganância, preguiça e outros vícios desses engravatados dessas mega-corporações tipo as "provedoras" de Internet e os fabricantes de equipamentos... E também o Bill Gates (pronto, falei!)

Os roteadores que usamos hoje são como dispositivos de uma tecnologia avançada colocada sem proteção na mão de crianças. Resultado: uma machuca a outra e elas dizem que a culpa é da criança que não soube brincar. Não uai. A culpa é de quem colocou na mão delas uma coisa mal-feita. A culpa do engenheiro, como é desde os tempos de Hamurabi.

E eu fico puto porque esse assunto é tão importante pra mim, e ninguém tá pouco se importando. Eu acho sim que se alguém detona sua conexão ele é um babaca. Mas a gente não pode falar com naturalidade, como se fosse normal ter esses roteadores defeituosos. É isso que tem que mudar, e não as pessoas que querem ocupar toda a banda disponível.

Quando a gente se dispõe a tratar do assunto sem questionar a tecnologia maculada que tá dentro destas caixinhas mágicas prateadas em nossas mesas, a gente tá ficando de quatro pras empresas jogarem a canga no nosso pescoço. Quer dizer que estamos aceitando de fato que é assim que vai ser e pronto. Não é assim não gente. O que tem que mudar são estas bostas dessas máquinas. A gente não pode aceitar viver num mundo em que a gente tem que ficar vigiando o funcionamento de nossas máquinas pra não machucar inadvertidamente (ou não) nossos vizinhos de LAN.

Não era pra alguém ser capaz de detonar sua conexão ao entrar em sua rede que você tão gentilmente cedeu. Não era pra isso ser possível. E não é nem igual carro, por exemplo, que vc pode matar alguém se usar errado. Num roteador padrão, funcionando do jeito certo, não deviam acontecer essas merdas. A gente não pode aceitar essa condição. A gente tem que lutar é contra isso.

Quando vc simplesmente aceita o roteador como ele é, e o seu sistema operacional como ele é, e começa a criar regras de conduta em sua sociedade em decorrência da forma como a tecnologia está se apresentando pra você, vc está se deixando manipular. Você está cedendo na disputa cyberpunk entre dominar a tecnologia, ou ser dominado por ela. Você está tratando a tecnologia como um fato incontrolável da natureza, e os fabricantes desta tecnologia acabam sendo deuses no seu mundo, decidindo seu destino.

Aquelas frases do Heinlein e do Clarke falando sobre tecnologia avançada parecer mágica são exatamente isso aí. A gente tá achando mais fácil mudar nossa vida, nossa conduta, e criar regras sociais do que mudar a própria tecnologia. Estamos nos curvando à tecnologia que devia ser a nossa escrava. Está tudo de ponta-a-cabeça.


***
Eu já causei problemas em redes dos outros inadvertidamente mais de uma vez, por causa desses nossos roteadores toscos e redes mal-feitas. Na minha experiência, sofri mais ao machucar os outros sem querer, do sofri recebendo ataques dos outros. Vai ver que é por isso que insisto em nunca jogar culpa nos usuários...

No comments: