O documento discute os conceitos fundamentais de redes, incluindo endereçamento lógico e físico, routers, protocolos TCP/IP e aplicações. Explica como o ARP mapeia endereços lógicos e físicos e como routers encaminham pacotes entre redes. Também descreve os principais protocolos da pilha TCP/IP como IP, TCP e UDP.
2. Para que diversas redes comuniquem, é necessária a presença de um
determinado tipo de componente: o router. É o responsável pela
comunicação de dados entre redes distintas.
Desempenha esta tarefa analisando os campos de endereço origem e
destino, a tabela de rotas e enviando o pacote pelo caminho presente na
tabela (rota) ou pelo melhor caminho (caso existam várias rotas para um
mesmo destino, e caso o router seja dinâmico).
Em conjunto com o endereço físico das placas de rede, o endereçamento
lógico, usado pelos routers, pode ser determinado manualmente. Já o
endereço físico não, é registado pelo fabricante na interface de rede.
Paulo Soares
3. Então temos um problema: se trocarmos a placa de rede ao computador este não
conseguirá comunicar na rede. Isto seria verdade se não existisse o endereçamento
lógico, pois ao trocarmos a interface de rede, todas as tabelas de encaminhamento
teriam de ser trocadas, pois o endereço mudou e porque o endereço físico não possui
nenhuma característica hierárquica.
Para resolver o problema, as pilhas e o protocolo criaram uma associação entre o
endereço físico e o lógico. Tomemos como exemplo a pilha de protocolos TCP/IP. Nela
existe um protocolo chamado ARP (Address Resolution Protocol), responsável por
descobrir endereços físicos e associá-los a endereços lógicos.
Funciona da seguinte forma:
Paulo Soares
4. Dois computadores numa mesma rede:
1. Computador A deseja comunicar com computador B
2. Computador A envia uma chamada ARP para a rede, para
todos os computadores, perguntando “Qual o endereço físico do
computador que possui endereço lógico xpto?”
3. Computador xpto ouve e responde: “o meu endereço físico é
zpto!”
4. A partir deste momento, o computador A poderá enviar os
pacotes directamente para o computador B, pois todas as
informações de endereçamento estão presentes (endereço
físico e lógico dele próprio, e do destino).
Paulo Soares
5. Computadores em redes diferentes
1. Computador A deseja comunicar com computador B
2. Computador A verifica o endereço lógico do computador B,
e constata que o mesmo NÃO está na mesma sub-rede
que ele próprio
3. Computador A então tenta enviar o pacote para o seu
router
4. Computador A estabelece comunicação com o router
5. Router estabelece comunicação com computador B
Paulo Soares
6. Perceber a diferença...
Os endereços físicos só são importantes dentro da mesma rede,
justamente porque não existe hierarquia no seu formato.
Contudo, através do endereço lógico, o computador A pode
determinar que o computador B não pertencia à sua rede, e enviou
o pacote para o componente responsável pela interligação de redes:
o router, que por sua vez, sabia para onde enviar o pacote, de forma
que o mesmo chegasse ao computador B.
Caso o router não possuísse esta informação, retornaria uma
mensagem para o computador A, dizendo: “rede destino
inalcançável”.
Paulo Soares
7. TCP/IP pilha de protocolos
Ao contrário do que muitos acham, não é apenas um protocolo de
comunicação, mas uma pilha deles. Esta pilha de linguagens de
comunicação permite que todas as camadas de comunicação em rede
sejam atendidas e a comunicação seja possível.
Todas as pilhas de protocolo, de uma forma ou de outra, tem de atender
a todas as camadas, para permitir que os computadores consigam trocar
informações. Podemos fazer uma analogia de uma pilha de protocolos
com a comunicação verbal.
Se alguém fala com outra pessoa e esta o entende, é porque todas as
camadas para que a “fala” seja interpretada foram atendidas. Imagine,
para que duas pessoas comuniquem verbalmente, será necessário:
Paulo Soares
8. TCP/IP pilha de protocolos
1. Que ambas saibam o mesmo idioma
2. Que ambas tenham toda a estrutura fisiológica para que
emitam som (voz – cordas vocais, língua, garganta, pulmões
3. Que ambas possuam toda a estrutura fisiológica para que
ouçam o som (orelha, ouvido interno, tímpanos, etc.)
◦ Nesta pilha de protocolos, temos como mais importantes:
ARP (Address Resolution Protocol)
O ARP é o protocolo responsável pelo mapeamento ou associação
do endereço físico ao endereço lógico, de computadores numa
mesma rede.
Paulo Soares
9. TCP/IP pilha de protocolos
IP
O Internet protocol é o responsável pelo endereçamento lógico de
pacotes TCP/IP. Além disso, é responsável pelo encaminhamento
destes pacotes e sua fragmentação, caso a rede seguinte não possa
interpretar pacotes do mesmo tamanho.
ICMP (Internet Control Message Protocol)
A função do ICMP é basicamente de diagnóstico e tratamento de
mensagens. Através dele é possível determinar, por exemplo, quanto
tempo um pacote pode demorar para ir a uma máquina remota e
voltar (round trip), bem como determinar se houve perda de pacotes
durante a transmissão.
Também é possível determinar qual o caminho que um pacote segue a
partir de uma máquina.
Paulo Soares
10. TCP/IP pilha de protocolos
TCP (Transmission Control Protocol)
É um protocolo de transporte, responsável pela entrega correcta dos
pacotes. A principal característica é a confiabilidade. Para cada pacote
ou conjunto de pacotes que envia, espera do destinatário uma
confirmação da chegada dos mesmos. Caso isso não ocorra, ou o
pacote chegue corrompido, tratará de efectuar a retransmissão.
Paulo Soares
Também coloca nos pacotes um
número de sequência, para que o
destino possa “agrupar” o dado
original, caso os pacotes sigam por
caminhos diferentes ou cheguem
atrasados (fora de ordem).
11. TCP/IP pilha de protocolos
UDP (User Datagram Protocol)
O UDP assim como o TCP, também é um protocolo de transporte.
Contudo, não possui nenhuma verificação de erros ou confirmação de
entrega. É muito utilizado em aplicações que necessitem de tráfego
urgente, e não sejam tão sensíveis a algumas perdas de pacotes.
Exemplos de aplicações que usam UDP como transporte: transmissão
de áudio e vídeo pela rede (RealPlayer ou Media Player), jogos online
(Quake, Half-Life). Pela falta do número de sequência ou confirmação,
o tráfego UDP é muito mais vulnerável em termos de segurança.
Paulo Soares
12. Protocolos de Aplicação
Em cima da infra-estrutura fornecida pelos protocolos descritos até agora,
funcionam os protocolos de aplicação. Estes fazem a interface com o
utilizador, ou com a aplicação do utilizador.
Exemplos de protocolos de aplicação: HTTP (HyperText Transfer Protocol),
FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), SNMP
(Simple Network Management Protocol), POP3 (Post Office Protocol v.3),
TELNET, e assim por diante.
Cada protocolo de aplicação comunica com a camada de transporte através de
portas de comunicação. Existem 65536 portas possíveis, e por convenção, as
portas de 1 a 1023 são conhecidas como “Well Known Port Numbers”, portas
privilegiadas ou portas baixas, que possuem serviços mais comuns
previamente associados.
Paulo Soares
13. Protocolos de Aplicação
Cada protocolo de aplicação precisa de uma porta, TCP ou UDP, para
funcionar. Os mais antigos possuem as suas portas padrão já
determinadas. Exemplo:
Paulo Soares
14. Protocolos de Aplicação
As portas acima de 1023 são denominadas portas altas e são usadas como “end
points”, ou pontos de “devolução” duma ligação. Ao ler o nosso correio
electrónico usamos um protocolo chamado POP3, que funciona na porta 110.
O nosso computador estabelece uma ligação com o servidor de correio
electrónico na porta remota 110 e na 1026 (por exemplo) localmente.
A porta local é na maioria dos protocolos uma porta acima de 1023, desde que
não esteja a ser usada.
DNS (Domain Name System)
Idealizou-se uma forma mais fácil de gerir computadores ligados a uma rede
TCP/IP. Para estabelecer uma ligação devemos fornecer o endereço IP do
destino e o serviço que desejamos usar (no caso, a porta) e o transporte.
O DNS foi concebido para evitar o transtorno de decorar dezenas de endereços
IP. Através dele, cada host recebe um nome, fácil de aprender, dentro de uma
hierarquia, o que ajuda ainda mais na hora de identificá-lo.
Paulo Soares
15. Sockets (de comunicação)
Os sockets são a base para o estabelecimento da comunicação numa
rede TCP/IP. Através deles é que a transferência de dados torna-se
possível. Cada ligação é montada por um socket, que é composto de
três informações:
◦ 1. endereçamento (origem e destino)
◦ 2. porta origem / destino
◦ 3. transporte
Portanto, ao tentar ler o nosso correio electrónico, um socket será
estabelecido entre a nossa máquina e o servidor de correio. Para
montá-lo, precisamos:
◦ 1. do nosso endereço IP e do endereço IP destino
◦ 2. porta origem / destino (neste caso, porta destino 110, origem 1026)
◦ 3. transporte (TCP)
Paulo Soares
16. Utilitários para diagnosticar problemas
PING (Packet INternet Grouper)
Utiliza o protocolo ICMP para diagnosticar o tempo de reposta entre
dois computadores ligados numa rede TCP/IP.A partir daí, pode-se ter
uma estimativa do tráfego (se o canal de comunicação está ou não
saturado) bem como o tempo de latência do canal.Alatência dum link está
directamente ligada à velocidade do router (em termos de processamento)
e não apenas à velocidade do canal de comunicação.
TRACERT (traceroute)
O tracert também utiliza pacotes ICMP (em máquinas Windows) para
realizar diagnósticos. Podemos determinar qual o caminho que os pacotes
farão até um host destino.Afunção do tracert é justamente essa: traçar a
rota entre uma origem e um destino. Vai mostrar todos os nós (routers).
Paulo Soares