Se você está lendo este post significa que você está usando algum
dispositivo como celular, pda, tablet ou computador conectado a
internet. Você já parou pra pensar o quão distante está o local onde a
página deste post está armazenada neste momento? E ainda, porque mesmo
aumentando a velocidade da sua conexão com a internet , algumas páginas
insistem em demorar um pouco mais para serem exibidas? E mais, de que
forma uma página é solicitada pelo navegador e é enviada, de forma
correta, através de toda a distância que separa você do local de
armazenamento da página?
As respostas para essas perguntas (e muitas outras), não são de forma
alguma triviais. Ao contrário, exigem que tenhamos um bom conhecimento
do funcionamento das redes de computadores (estou incluindo nesse termo
tabém os dispositivos móveis como celulares, pdas, tablets e qualquer
outro que possa ser conectado a uma rede) e da infraestrutura da
internet como um todo. Obviamente que um post de blog nunca será tão
completo quanto um bom livro portanto, volto a citar o livro Redes de Computadores e a Internet: uma abordagem top down, James F. Kurose, como uma excelente fonte de consulta e aprofundamento.
Uma rede de computadores é simplificadamente definida como um conjunto de dispositivos conectados entre si através de enlaces.
Os dispositivos conectados são denominados sistemas finais ou hosts. Os
enlaces que os conectam podem ser de vários materiais como fibra ótica,
fios de cobre de par trançado, ondas de rádio, etc. Os sistemas finais
entretanto, normalmente não estão conectados diretamente através de
enlaces (imagine um enlace ligando o seu computador no Rio de Janeiro ao
de um amigo em Tokio). Ao invés disso, eles são conectados a
dispositivos denominados comutadores de pacotes. Um
comutador de pacotes tem a função de encaminhar o bloco de dados que
chega por um se seus enlaces de comunicação de entrada até um de seus
enlaces de comunicação de saída. O bloco de dados que transita pelos
enlaces é chamado de pacote. Dois exemplos de comutadores de pacotes são o switch e roteador, cada um com características bem distintas que serão abordadas em um momento oportuno.
Quando enviamos um pacote de um sistema final para outro através da
internete, este passa por diversos enlaces e comutadores de pacotes no
núcleo da rede. Cada vez que um roteador recebe um pacote por um de seus
enlaces de entrada, este deve decidir para qual enlace de saída
repassar o mesmo (a meneira pela qual o roteador realiza este trabalho
será discutida em momento oportuno). O conjunto de enlaces que um pacote
percorre desde um sistema final de origem até um sistema final de
destino é conhecido como rota. Assim como existem
diversas formas de ir de um bairro à outro em uma cidade, na internet
também existem várias rotas diferentes para um pacote ir de um sistema
final A até um sistema final B. Isso exige que seja tomanda uma decisão
sobre qual rota o pacote deverá seguir e em computação, sempre que uma
decisão é exigida, um algorítmo que a automatize é recomendável. Dentre
os vários motivos para se optar por uma rota no lugar de outra estão o
grande tráfego de dados na rota, a maior distância entre origem e
destido, a maior disponibilidade de banda, etc.
Após termos estudado superficialmente a parte física da rede
(hardware), vamos falar um pouco sobre um conceito fundamental para a
internet e para as redes de computadores de maneira geral, o protocolo.
Um protocolo é uma definição formal de uma série de
regras estabelecidas para que duas entidades possam se comunicar sem
equívocos. Por exemplo, para que você possa perguntar as horas para uma
outra pessoa na rua, você (uma pessoa educada) primeiro diz “oi” e a
pessoa (também educada) responde com um “oi”. Em seguida você diz “O
senhor poderia me informar as horas?” e a outra pessoa responde, “São
13:10”. Dessa maneira, utilizando o protocolo de perguntar a hora, você
conseguiu se fazer entender e receber como resposta a informação
desejada. Da mesma maneira que na vida real, as redes de computadores
também utilizam protocolos para que diversas entidades de sua
infraestrutura possam trocar informações com o objetivo de realizar sua
função. Como exemplo de protocolo podemos citar o HTTP (será discutido em outro post). O HTTP é o protoculo usado pela aplicação mais famosa da internet, a WEB (
tão famosa que muitas pessoas acham que a WEB é a internet, o que não é
verdade). A WEB é uma aplicação distribuída que roda sob o paradígma
cliente-servidor, onde um cliente (o navegador, por exemplo), faz
requisição de objetos ( que podem ser páginas HTML,
scripts, imagens, etc) a um servidor web. O servidor web recebe o pacote
de requisição e envia como resposta os objetos solicitados. Essa
comunicação entre cliente web e servdor web é regida pelo protocolo
HTTP. O protocolo HTTP define várias informações que devem ser trocadas
entre cliente e servidor para que os objetos requisitados possam ser
enviados com sucesso.
A figura abaixo da uma idéia de uma pequena rede (clique na imagem para amplia-la).
Bom pessoal, esse post foi um arranhão na superfície da enorme caixa
preta que é o assunto de redes de computadores. No próximo post, vou
continuar a introdução falando um pouco sobre comutação de pacotes e
comutação de circuitos. Espero que tenham gostado, não esqueçam de
aprofundar o conteúdo aqui explicado. Eu estou pensando em começar a
fazer vídeo-aulas também, mas esse é um projeto para o futuro e vai
depender de muitos fatores, dentre eles a implacável falta de tempo.
Nenhum comentário:
Postar um comentário