Uma das coisas mais interessantes da Internet é que ninguém realmente é seu dono. Ela é uma coleção global de redes, grandes e pequenas. Estas redes se conectam de vários modos diferentes para formar a entidade singular que conhecemos como Internet. De fato, o nome realmente vem desta idéia de redes interconectadas.
Desde seu começo, em 1969, a Internet cresceu de 4 sistemas de computadores para dezenas de milhões. Entretanto, só porque ninguém é proprietário da Internet, isto não significa que ela não é monitorada e mantida de diferentes modos. A sociedade da Internet (em inglês), um grupo sem fins lucrativos formado em 1992, supervisiona a formação de políticas e protocolos que definem como usamos e interagimos com a Internet.
Conheça aqui a estrutura básica da Internet, servidores de nome de domínio, pontos de acesso de rede e backbones, mas, antes de tudo, como o seu computador se conecta com os outros.
Cada computador que é conectado à Internet faz parte de uma rede, mesmo aquele da sua casa. Por exemplo, você pode usar um modem e um número local de discagem para se conectar a um provedor de acesso à Internet (ISP - Internet Service Provider). No trabalho, você pode fazer parte de uma rede de área local (LAN), mas você muito provavelmente ainda se conecta à Internet usando um provedor que sua empresa contratou. Quando você se conecta com o seu provedor, torna-se parte da rede deles, e esta, por sua vez conecta-se a uma rede maior e se torna parte dela. A Internet é simplesmente uma rede de redes.
A maioria das grandes empresas de comunicações tem seus próprios backbones exclusivos para se conectar com várias regiões. Em cada região, a empresa tem um ponto de presença (POP - Point Of Presence), um lugar para os usuários locais acessarem a rede da empresa, freqüentemente através de um número telefônico local ou linha exclusiva. O interessante é que não há um controle geral sobre a rede. Em vez disso, há várias redes de alto nível conectadas umas às outras através de pontos de acesso de rede ou NAPs (Network Access points).
Quando você se conecta à Internet, seu computador se torna parte de uma rede
Aqui está um exemplo. Imagine que a empresa A é um grande provedor de acesso. Em cada grande cidade, a empresa A tem um POP. O POP de cada cidade é uma estrutura completa de modens para os quais os clientes do provedor discam. A empresa A aluga as linhas de fibra ótica da companhia telefônica para conectar os POPs.
Imagine que a empresa B é um provedor de acesso corporativo. A empresa B constrói grandes prédios nas principais cidades e as corporações estabelecem suas máquinas de servidor de Internet nesses edifícios. A empresa B é tão grande que instalou ela mesma linhas de fibra ótica entre seus edifícios para interconectá-los.
Nesta disposição, todos os clientes da empresa A podem falar entre si, assim como os clientes da empresa B, porém não há como os clientes das empresas A e B se intercomunicarem. Portanto, a empresa A e a empresa B concordam em se conectar a NAPs em várias cidades, sendo que o tráfego entre as 2 empresas se dá nos NAPs.
Na Internet real, vários provedores de Internet se interconectam em NAPs de várias cidades, e trilhões de bytes de fluxo de dados são transmitidos entre as redes individuais nesses pontos. A Internet é um conjunto imenso de redes associadas que concordam em se intercomunicar umas com as outras nos NAPs. Deste modo, cada computador na rede está conectado a todos os outros.
Todas
estas redes se apóiam nos NAPs, backbones e roteadores para falar umas
com as outras. O que é incrível sobre este processo é que uma mensagem pode
deixar um computador e viajar pelo mundo através de diferentes redes e chegar a
um outro computador na fração de um segundo!
Os roteadores determinam para onde enviar as informações de um computador para outro. Eles são
computadores especializados que encaminham suas mensagens e as de todos os
usuários da Internet a seus destinos por milhares de caminhos. Um roteador
possui 2 tarefas distintas, porém relacionadas:
garantir que as informações não sejam encaminhadas para onde não são
necessárias. Isso é crucial para impedir que grandes volumes de dados venham a
entupir as conexões com "inocentes espectadores";
garantir que as informações sejam encaminhadas ao destino desejado.
Ao executar esses 2 serviços, o roteador é muito útil em negociar
separadamente com as 2 redes de computadores. Ele junta as 2 redes, passando
informações de uma para outra. Ele também protege as redes umas das outras,
evitando o vazamento desnecessário do tráfego entre elas. Independentemente da
quantidade de redes agregadas ao conjunto, da operação e da funcionalidade, o
roteador permanece o mesmo. Já que a Internet é uma imensa rede de milhares de
pequenas redes, os roteadores são vitais para ela.
A Fundação Nacional de Ciência (NSF) criou o primeiro backbone de alta velocidade em
1987. Chamado NSFNET, tratava-se de uma linha T1 que
conectava 170 redes menores e operava com 1,544 Mb/s (milhões de bits por segundo). A IBM, a MCI
e a Merit trabalharam com o NSF para crir um backbone T3 (45 Mb/s).
Em geral, os backbones são linhas tronco de fibra ótica. A linha tronco tem
múltiplos cabos de fibra ótica combinados para aumentar a capacidade. Os cabos
de fibra ótica são designados OC ( Optical Camer - portadora ótica) por
exemplo, OC-3, OC-12 ou OC-48. Uma linha de OC-3 é capaz de transmitir 155 Mb/s
enquanto um OC-48 pode transmitir 2.488 Mb/s (2,488 Gb/s). Compare isto a um
modem de 56K normal transmitindo 56 mil bps e você verá como um backbone moderno
é rápido.
Hoje há muitas empresas que operam com seus próprios backbones de alta
capacidade e todos se interconectam em vários NAPs ao redor do mundo. Deste
modo, todos na Internet, não importa onde estejam e quais empresas usam, são
capazes de falar com o resto do planeta. A Internet inteira é um acordo de
expansão gigantesco entre empresas para uma intercomunicação livre.
Cada máquina na Internet tem um único número de
identificação, chamado endereço de IP (Internet Protocol). IP
significa protocolo da Internet, que é a língua que os computadores usam
para se comunicar na Internet. Um protocolo é a maneira pré-definida para
que alguém utilize um serviço. Esse "alguém" pode ser uma pessoa, mas geralmente
é um programa, como um navegador da web.
Um endereço IP típico se parece com isto:
216.27.61.137
Para torná-lo mais fácil para nós humanos nos lembrarmos, os endereços IP são
em geral expressos em formato decimal como um número decimal com ponto,
como o que está acima. Mas os computadores se comunicam em forma binária.
Observe o mesmo endereço de IP na forma binária:
11011000.00011011.00111101.10001001
Os 4 números em um endereço IP são chamados de octetos, pois cada um
deles possui 8 posições quando vistos na forma binária. Se você juntar todas as
posições, terá 32, que é a razão para os endereços IP serem considerados números
de 32 bits. Já que cada 1 das 8 posições pode ter 2 estados diferentes (1 ou
zero), o número total de combinações possíveis por octeto é de 28 ou 256. Cada octeto pode conter qualquer valor entre zero
e 255. Combine os 4 octetos e você conseguirá 232 ou possíveis 4,294,967,296 valores únicos!
Além das quase 4,3 bilhões de combinações possíveis, determinados valores têm
uso restrito para endereços de IP típicos. Por exemplo, o endereço IP 0.0.0.0 é
reservado para a rede padrão e o endereço 255.255.255.255 é usado para difusões.
Os octetos servem apenas para separar os números. Eles são usados para criar
classes de endereços IP que podem ser designadas para um negócio privado,
governo ou outra entidade baseadas no tamanho e necessidade. Os octetos são
divididos em 2 seções: Net e Host. A seção net sempre contém o
primeiro octeto. Ele é usado para identificar a rede à qual um computador
pertence. O host (às vezes, chamado de nó) identifica o computador real
na rede. A seção host sempre contém o último octeto. Há 5 classes de IP, além de
determinados endereços especiais.
Quando a Internet estava no começo, ela era composta por um número pequeno
de computadores ligados por meio de modens e linhas telefônicas. Você podia
somente fazer conexões ao fornecer o endereço IP do computador com que
quisesse estabelecer um link. Por exemplo, um endereço de IP típico deve ser
216.27.22.162. Isto funcionava bem quando havia somente alguns servidores
por aí, mas se tornou inviável à medida que mais e mais sistemas se
integraram.
A primeira solução para o problema foi um simples arquivo de texto mantido
pelo Network Information Center (Centro de informações da rede), que mapeou
os nomes para os endereços IP. Logo este arquivo de texto se tornou tão grande
que era confuso demais para administrar. Em 1983, a Universidade de Wisconsin
criou o Sistema de Nome de Domínio (DNS - Domain Name System), que mapeia
os nomes de texto para os endereços IP automaticamente. Desta forma você somente
precisa lembrar http://www.tinformacao.zip.net, por
exemplo, em vez do endereço IP deste BLOG.
Quando você navega na Web ou envia uma mensagem de e-mail, se utiliza de nomes de domínio. Por exemplo, o Localizador de Recurso Uniforme (URL - Uniform Resource Locator) "http://www.tinformacao.zip.net" contém o nome de domínio tinformacao.net; assim como este endereço de e-mail: exemplo@tinformacao.net. Toda vez que você usa um nome de domínio, usa os servidores DNS da Internet para traduzir o nome de domínio legível para humanos para o endereço IP legível para máquinas.
Os nomes de domínio de alto nível, também chamados de nomes de domínio de primeiro nível, incluem .COM, .ORG, .NET, .EDU e .GOV. Dentro de cada domínio de alto nível há uma lista imensa de domínios de segundo nível. Por exemplo, no domínio de primeiro nível .COM há:
Google
Yahoo
Microsoft
Cada nome no domínio de alto nível .COM deve ser único. A palavra mais à esquerda, como www, é o nome do host. Ele especifica o nome de uma máquina específica (com um endereço específico de IP) em um domínio. Potencialmente, um certo domínio pode conter milhões de nomes de servidores, contanto que sejam todos únicos dentro deste domínio.
Os servidores DNS aceitam solicitações de programas e outros servidores de nome para converter nomes de domínio em endereços IP. Quando uma solicitação chega, o servidor DNS pode fazer uma das seguintes 4 coisas:
pode responder à solicitação com um endereço IP porque já conhece o endereço IP para o domínio solicitado;
pode contactar um outro servidor DNS e tentar encontrar o endereço IP pelo nome solicitado Talvez tenha de fazer várias vezes;
ele pode dizer: "Eu não conheço o endereço IP para o domínio solicitado, mas aqui está o endereço IP de um servidor DNS que sabe mais do que eu";
ele pode retornar com uma mensagem de erro porque o nome de domínio solicitado é inválido ou não existe.
Vamos
dizer que você digitou o URL www.tinformacao.zip.net
no seu navegador. O navegador contacta um servidor DNS para conseguir o endereço
IP. Um servidor DNS inicia sua busca por um endereço IP entrando em contato com
um dos servidores DNS raiz, que conhecem os endereços IP para todos
os servidores DNS que lidam com os domínios de alto nível (.COM, .NET,
.ORG, etc.). Seu servidor DNS pergunta ao raiz sobre www.tinformacao.zip.net e o raiz
diz: "Eu não sei o endereço IP para www.tinformacao.zip.net, mas aqui está o endereço IP
para o servidor DNS .NET".
Seu servidor de nome então envia uma pergunta ao servidor DNS .NET indagando
se ele conhece o endereço IP para www.tinformacao.zip.net. O servidor DNS para o domínio
.NET conhece os endereços IP para os servidores de nome que lidam com o domínio
www.tinformacao.zip.net, e então retorna estes
endereços de IP.
Seu servidor de nome então entra em contato com o servidor DNS para www.tinformacao.zip.net e pergunta se ele conhece o
endereço IP para www.tinformacao.zip.net. Ele
conhece, então retorna o endereço IP para o seu servidor DNS, que retorna-o para
o navegador, que pode então entrar em contato com o servidor www.tinformacao.zip.net para chegar a uma página da
Web.
Um dos pontos-chave para fazer este trabalho é a redundância. Há vários
servidores DNS em cada nível e, caso algum falhe, há outros para lidar com as
solicitações. O outro ponto-chave é armazenar em cache. Depois que um
servidor de DNS resolve uma solicitação, ele armazena em cache o endereço IP que
recebe. Uma vez que ele fez uma solicitação a um servidor de DNS raiz por
qualquer domínio .NET, ele conhece o endereço IP para um servidor DNS que lida
com o domínio .NET e, então, não precisa buscar por esta informação novamente
com os servidores de DNS raiz. Os servidores DNS podem fazer isto para cada
solicitação e este cache ajuda a agilizar as coisas.
Mesmo sendo totalmente invisíveis, os servidores DNS lidam com bilhões de
solicitações todos os dias e são essenciais para o bom funcionamento da
Internet. O fato de que este banco de dados distribuído funciona tão bem e de
forma invisível, dia e noite - é testemunha do sucesso do projeto.
Os
servidores tornam a Internet possível. Todas as máquinas na Internet
são servidores ou clientes. As máquinas que fornecem serviços para
outras máquinas são servidores. E as máquinas que são usadas para se conectar a
esses serviços são os clientes. Há servidores da Web, servidores de e-mail,
servidores de FTP e assim por diante, atendendo às necessidades dos usuários da
Internet de todo o mundo.
Quando você se conecta à www.tinformacao.zip.net
para ler uma página, você é um usuário sentado em uma máquina de cliente. Você
está acessando o servidor de Web do BLOG UOL . A máquina do servidor
encontra a página que você requisitou e a envia para você. Os clientes que
buscam uma máquina de servidor fazem isto com uma intenção específica, ou seja,
eles direcionam suas solicitações para um servidor de software específico que
esteja rodando na máquina do servidor. Por exemplo, se você está rodando um
navegador de Internet na sua máquina, ele vai querer falar com o servidor
da Web na máquina do servidor, não com o servidor de e-mail.
Um servidor possui um endereço IP estático, que não é alterado muito
freqüentemente. Uma máquina doméstica que faça uma conexão dial-up através de um
modem, por outro lado, geralmente recebe um endereço IP atribuído
pelo provedor sempre que a máquina faz a conexão. Esse endereço IP é
exclusivo para aquela sessão: ele poderá ser diferente da próxima vez que a
máquina se conectar. Desse modo, um provedor precisa somente de um endereço
IP para cada modem que ele suporta, em vez de um para cada cliente.
Qualquer máquina
de servidor disponibiliza seus serviços usando as portas numeradas, uma para
cada serviço disponível naquele servidor. Por exemplo, se uma máquina de
servidor estiver rodando um servidor da Web e um servidor FTP (servidor de
protocolo de transferência de arquivo), o servidor da Web geralmente está
disponível na porta 80, ao passo que o servidor de FTP está disponível na porta
21. Os clientes se conectam a um serviço em um endereço IP específico e em um
número de porta específico.
Assim que o cliente se conecta a um serviço em uma porta particular, ele
acessa o serviço usando um protocolo específico. Os protocolos freqüentemente
são textos, e simplesmente descrevem como o cliente e o servidor terão sua
conversação. Cada servidor da Web na Internet segue o protocolo de
transferência de hipertexto (http - hypertext transfer protocol).
As redes, roteadores, NAPs, DNS, provedores e servidores poderosos,
todos eles, tornam a Internet possível. É verdadeiramente incrível quando você
percebe que todas estas informações são enviadas pelo mundo em uma questão de
milésimos de segundos! Os componentes são extremamente importantes na vida
moderna: e sem eles não haveria Internet. E sem a Internet, a vida seria muito
diferente para muitos de nós.