Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Introdução
A História
ARPANET
commissioned TCP/IP
by DOD FTP Protocol Suite
1969 1973 1982
Camada de Internet
A p lic a ç ã o
T ra n s p o rte
In t e r n e t P r o t o c o l ( IP )
In t e r n e t C o n t r o l M e s s a g e P r o t o c o l ( IC M P )
In t e r n e t
A d d r e s s R e s o lu t io n P r o t o c o l ( A R P )
R e v e r s e A d d r e s s R e s o lu t io n P r o t o c o l ( R A R P )
In t e r f a c e d e R e d e
A p lic a ç ã o
T ra n s m is s io n C o n tro l P ro to c o l (T C P ) -
C o n e x ã o O rie n ta d a
T ra n s p o rte U s e r D a ta g ra m P ro to c o l (U D P ) - C o n e x ã o n ã o
o rie n ta d a
In te rn e t
In te rfa c e d e R e d e
Soquetes (Sockets)
Quando um programa necessita enviar ou receber através de uma porta, precisa
criar um soquete conectado a ela.
Soquetes é uma abstração que representa a conexão de um aplicativo com uma
porta. Podem-se ter vários aplicativos conectados a uma porta, cada um com o seu próprio
soquete aberto. Mesmo no UDP necessitamos criar soquetes para enviar ou receber dados.
Quando iniciamos um programa servidor, ele cria um soquete passivo ligado a uma
porta. É passivo porque apenas fica aguardando a chegada de dados. Quando estes
chegam, ele pode abrir um soquete ativo para responder ao remetente, deixando o primeiro
“escutando” a porta, aguardando novas solicitações.
Normalmente os soquetes são identificados através do endereço IP da estação
remota e o número da porta utilizada.
Esta camada também possui seus próprios protocolos específicos, como o TCP e
UDP.
• TCP – provê uma conexão orientada.
• UDP – provê uma conexão não orientada.
Camada de Aplicação
T r a n s fe r ê n c ia d e a r q u iv o
- TFTP*
- FTP*
- NFS*
E -M a il
-S M T P
A p lic a ç ã o L o g in R e m o to
- T e ln e t*
G e r e n c ia m e n to d a R e d e
- SMNP*
G e r e n c ia m e n to d e N o m e
-D N S *
T r a n s p o r te
In te r n e t
In te r fa c e d e R e d e
Cada programa de aplicação que usa o TCP/IP possui suas próprias regras para se
comunicar com seus semelhantes na rede.
Entre os protocolos de aplicação mais conhecidos estão:
• TELNET – Para login remoto
• HTTP – World Wide Web
• SMTP – Envio de correio eletrônico
• FTP – Transferência de arquivos
Programa Aplicativo
Texto da mensagem
Transporte (TCP)
Segmentos da mensagem
Internet (IP)
Datagramas
Interface de Rede
Um datagrama, gerado em uma máquina, pode realizar uma longa viagem através
de diversos roteadores. Para controlar esta transmissão existe o cabeçalho IP, composto
por vários campos. São eles:
Versão (4 bits) Versão do protocolo IP que está sendo usado (valor 4 para o
IPv4).
IHL (Internet Header Comprimento do cabeçalho (4 bits) – fornece o comprimento do
Length) cabeçalho em número de palavras de 32 bits.
Tipo de serviço (TOS) Fornece uma indicação dos parâmetros da qualidade de serviço
desejada. Também indica se é um datagrama de controle de
rede (com maior prioridade) ou normal. Como os datagramas
dependem da colaboração de outros roteadores, o IP não pode
garantir o tipo de serviço, porém serve como indicação. Seus
valores podem ser:
Low Delay: Para serviço que exigem pouca quantidade de
dados, porém alta velocidade, como o Telnet.
High Throughput: Para serviços que transfiram grande
quantidade de dados, como o FTP.
High Reliability: Alta confiabilidade, para serviços que
necessitam como controle da rede.
Logo após o cabeçalho vem à área de dados, reservada para o segmento gerado
pelo protocolo de transporte.
Normalmente protocolos como o TCP, geram segmentos de um tamanho
determinado, de modo que caibam exatamente em um datagrama. Porém, podem ocorrer
situações onde o tamanho do datagrama precisa ser reduzido, então ocorre o fenômeno da
fragmentação.
Fragmentação de Datagramas
O tamanho máximo de um datagrama (na versão 4.0 do IP) é de 64KB. O tamanho
máximo de um frame Ethernet é de 1500 bytes (1492 ou 1514, dependendo do cabeçalho).
Então, como o padrão mais utilizado é o Ethernet, é preciso limitar o tamanho dos
datagramas de acordo com ele.
O tamanho máximo de um frame em uma rede é chamado de Maximum Transfer
Unit – MTU. O fato do MTU máximo da Ethernet comportar 1500 bytes não significa que
todos os datagramas tenham este tamanho.
O IP fragmenta e remonta os datagramas de acordo com o MTU da rede. Quando
um protocolo de transporte, como o TCP, gera segmentos, procura faze-lo de acordo com o
MTU da rede. Algumas implementações de TCP/IP, como o Trumpet Winsock, permitem a
configuração do tamanho dos segmentos TCP. O IP recebe o segmento TCP e, caso caiba
dentro do MTU da rede, gera um datagrama que é enviado para Interface de Rede. A
Interface de Rede gera um frame para cada datagrama e o envia para a rede.
Quando o IP percebe que o segmento não caberá no MTU da interface de rede, ele
o divide em vários datagramas menores, usando o campo OFFSET do cabeçalho IP para
numerá-los. Também liga o terceiro bit do campo FLAG para indicar que há mais fragmentos
a caminho. O último fragmento possui este bit zerado.
Os fragmentos do datagrama original são também datagramas, portanto podem
seguir caminhos diferentes, chegando fora de ordem. O IP do destinatário recebe os
datagramas e, caso sejam fragmentos de um datagrama original, aguarda até que tenha
recebido todos para repassá-los ao protocolo identificado no campo PROTOCOLO do
cabeçalho IP. Todos os fragmentos do datagrama original contêm o mesmo valor no campo
IDENTIFICAÇÃO do cabeçalho IP, portanto o IP destinatário sabe que eles formam um só
pacote. Quando recebe um fragmento de datagrama com o terceiro bit do FLAG zerado,
sabe que ele é o último, portanto pode calcular o tamanho total do datagrama original e
verificar se receberam todos os fragmentos.
Para saber se está ocorrendo fragmentação, além de problemas com remontagem
de datagramas, pode-se usar o utilitário NETSTAT.EXE. Ele tem várias funções, porém, para
saber esta informação, pode-se solicitar por protocolo, como por exemplo:
C:\Windows> netstat –ps IP
IP Statistics
Packets Received = 170
Received Header Errors =0
Received Address Errors =0
Datagrams Forwarded =0
Unknown Protocols Received =0
Received Packets Discarded =0
Received Packets Delivered = 170
Output Requests = 94
Routing Discards = 192
Discarded Output Packets =0
Output Packet No Route =0
Reassembly Required =0
Reassembly Successful =0
Reassembly Failures =0
Datagrams Successfully Fragmented =0
Datagrams Failing fragmentation =0
Fragments Created =0
Note que não houve fragmentação nem remontagem de datagramas. Porém vamos
fazer uns testes com o utilitário PING. Enviaremos pacotes ICMP para a estação “instrutor”
com o tamanho normal de 32 bytes, depois iremos fazer o mesmo com 2000 bytes, o que
requer fragmentação, e por fim vamos enviar 2000 bytes solicitando que não sejam
fragmentados.
C:\Windows> ping instrutor
Pinging instrutor [192.168.1.200] with 32 bytes of date:
Reply from 192.168.1.200 : bytes=32 time=2ms TTL=32
Reply from 192.168.1.200 : bytes=32 time=2ms TTL=32
Reply from 192.168.1.200 : bytes=32 time=2ms TTL=32
Reply from 192.168.1.200 : bytes=32 time=2ms TTL=32
Opções ARP:
-a: exibe o cache ARP.
-s: adiciona uma entrada no cache ARP permanente.
-d: remove uma entrada do cache ARP.
-N: indica o endereço da interface de rede, caso seu computador seja um multihomed.
O ARP está definido sobre a RFC 826.
3.4 RARP – ARP Reverso
O RARP – Reverse Address Resolution Protocol, permite saber o endereço IP a
partir de um endereço físico. Normalmente o RARP não está presente nos pacotes mais
comuns do TCP/IP.
Seu funcionamento é muito simples. Temos servidores na rede, conhecidos como
servidores RARP. Quando uma estação deseja saber seu endereço IP (ou de alguma outra
estação) ela envia um broadcast RARP contendo seu endereço físico, então o servidor
RARP responde diretamente a ela com o endereço IP correspondente.
3.5 IGMP
O Internet Group Management Protocol (IGMP), é usado por hosts para reportar
seus participantes de grupos de hosts a roteadores multicast vizinhos. Como o ICMP, o
IGMP é uma parte integral do IP. É um requisito básico de implementações a todos os hosts
que desejem enviar e receber pacotes multicast. As mensagens IGMP são encapsuladas em
datagramas IP.
3.6 Protocolo TCP (Transmission Control Protocol)
O protocolo TCP reside na camada imediatamente acima do protocolo IP, ou seja,
na camada de transporte. O protocolo TCP é responsável por oferecer um serviço confiável
de transferência de dados, para isto são implementados mecanismos de recuperação de
dados perdidos, danificados ou recebidos fora de sequência e mecanismos para minimizar o
atraso na transmissão de dados. É um protocolo orientado à conexão. Entre suas principais
funções estão:
- Multiplexação
Provê um conjunto de portas (endereços) dentro de cada estação para permitir que
vários processos dentro de uma mesma estação utilizem simultaneamente os serviços de
comunicação. A associação de portas aos processos é tratada independentemente em cada
estação. Estas portas concatenadas com o endereço IP da estação constituem um socket,
cujo número é único em uma rede internet.
- Transferência de dados
O TCP é capaz de transferir um “stream” contínuos de bytes em cada direção entre
seus usuários, agrupando certo número de bytes para formar os segmentos (modo stream).
O TCP também permite que os usuários utilizem serviço orientado a registro (mode letter).
O serviço de transporte de dados oferece facilidades referentes à:
Segmento UDP
- Endereço Físico
Em um sistema de redes de barramento, como a ethernet, todas as estações
recebem os frames simultaneamente. É necessário um mecanismo que permita a
identificação física de cada uma, de modo à somente receberem os pacotes que lhe são
destinados. Este sistema é conhecido como Endereço Físico ou Media Access Control –
MAC Address. Ele é fornecido pelo IEEE, sendo único para cada placa fornecida.
- Endereço de Broadcast
Alguns serviços de rede exigem que seja enviada uma mensagem para todas as
estações de uma rede física. Por isto é providenciado um endereço especial, conhecido
como broadcast, que permite todas as estações receberem os pacotes endereçados a ele.
Mas o broadcast tem uma desvantagem. Imagine que em uma rede com grande
número de estações, é necessário enviar mensagens apenas para um grupo delas. Todas
receberiam as mensagens, sendo ocupadas desnecessariamente.
- Endereço de Multicast
Este tipo de endereço permite que um grupo de estações participe ou não de um
grupo de mensagens. Ao contrário do broadcast, o multicast especifica grupos de
máquinas. Se desejarmos enviar mensagens para um determinado grupo de máquinas,
basta saber qual é o endereço de multicast delas.
- Endereçamento Virtual
O TCP/IP é implementado por software, de modo a formar uma rede virtual entre
redes heterogênea. Por isto ele é um conjunto de especificações de protocolos que
padroniza as comunicações entre equipamentos diferentes.
Para implementar este tipo de comunicação universal, a camada de Internet do
TCP/IP utiliza seu próprio endereçamento, conhecido como Endereço IP. Ele é um endereço
virtual, ou seja, cada equipamento deve conhecer o seu próprio endereço IP, que não esta
gravada fisicamente na placa de rede como o endereço Físico. Além disto, deve ser capaz
de fazer um mapeamento entre os endereços IP e os endereços Físicos das outras estações
da rede.
- Endereços IP
Um endereço IP identifica um computador em uma rede TCP/IP. Ele é um número
compostos por quatro bytes (ou octetos), normalmente representados separados por pontos.
Classes de Endereços IP
A comunidade da INTERNET definiu cinco classes de endereços para redes de
tamanhos variados.
Estas classes de endereços definem quais os bits são usados para o HOST ID. Ele
também define o número possível de redes, e o número de HOSTS por rede.
Como é feita esta divisão? Considerando o endereço IP, que contém 32 bits. Os três
primeiros bits são utilizados para identificar a classe do endereço e de acordo com ela,
sabem-se quantos bits são usados para identificar a rede e quantos para o computador.
Classe A
Network ID Host ID
0
W X Y Z
Classe B
Network ID Host ID
1 0
W X Y Z
Classe C
Network ID Host ID
1 1 0
W X Y Z
Classe A
Esta atende às necessidades de redes de grande abrangência, constituídas de
poucas sub-redes e com elevado número de estações, estando disponíveis 8 bits para a
identificação das sub-redes e 24 bits para a identificação das estações, possibilitando assim
126 redes cada uma delas com aproximadamente 17 milhões de estações.
Em uma rede de classe A, as RFCs indicam que o primeiro bit do primeiro byte em
um endereço de classe A sempre precisa ser 0 (zero). Isso significa que um endereço de
classe A precisa estar entre 0 e 127.
00000000 = 0
01111111 = 127
Classe B
Representa redes intermediárias, com 16 bits para a identificação das sub-redes e
16 para as estações, gerando 16,384 redes, cada uma com 65,534 estações.
Em uma rede de classe B, as RFC’s indicam que o primeiro bit do primeiro byte
sempre precisa ser ativado, mas o segundo bit sempre precisa estar desativado. Isso
significa que um endereço de classe B precisa estar entre 128 e 191.
10000000 = 128
10111111 = 191
Classe C
Atende as redes menores, com 24 bits reservados para a identificação da sub-rede e
8 bits para a identificação das estações, permitindo aproximadamente 2 milhões de redes
com 254 estações cada.
Para redes classe C, as RFC’s definem os dois primeiros bits do primeiro octeto
sempre ativados, mas o terceiro bit nunca pode estar ativado. Isso significa que um endereço
de classe C precisa estar entre 192 e 223.
11000000 = 192
11011111 = 223
Classe D
Endereços de Classe D, são reservados para endereços de multicast. (224 a 239)
Alguns endereços de multicast da Classe D usados pelos protocolos de roteamento
são os seguintes:
• OSPF – 224.0.0.5 e 224.0.0.6
• RIPv2 – 224.0.0.9
• EIGRP – 224.0.0.10
Classe E
Endereços de Classe E, são endereços reservados para uso futuro. (240 a 255)
A tabela abaixo, mostra o número de redes por classe, o número de computadores
por rede, e o intervalo de rede do endereço IP (conhecida também como Regra do Primeiro
Octeto) da classe A, B e C:
Intervalo da Identificação Identificação Redes Hosts por rede
Rede (primeiro da Rede do Host disponíveis
octeto)
Classe A 1 – 126 w x.y.z 126 16, 777,214
Classe B 128 – 191 w.x y.z 16,384 65,534
Classe C 192 - 223 w.x.y z 2, 097,152 254
Endereços Especiais
Alguns endereços IP são reservados para uso especial, não podendo ser utilizados.
Os endereços são:
• A identificação da rede não pode ser 127
o 127 - reservado para funções de loopback
• A identificação da rede e do computador não pode ser 255 (todos os bits em 1)
o 255 - reservado para endereço de broadcast
• A Identificação da rede e do computador não pode ser 0 (todos os bits em 0)
o Quando os bits estão todos em 0, o endereço é interpretado como “endereço
da rede”.
A tabela a seguir lista as faixas válidas de HOSTS ID’S de uma rede privada
CLASSE DE ENDEREÇO FAIXA INICIAL FAIXA FINAL
Coberto pela RFC 1918 (1996). Existem alguns endereços reservados para a
utilização em redes internas, os quais não são e nunca será atribuída a nenhuma máquina
ligada à internet.
Os endereços reservados são:
De 10.0.0.0 à 10.255.255.255, classe A.
De 17.16.0.0 à 172.31.0.0, classe B.
De 192.168.0.0 à 192.168.255.0, classe C.
Máscara de sub-rede
A máscara de sub-rede ou subnet mask é uma técnica que permite a divisão de uma
rede em várias sub-redes, todas compartilhando a mesma faixa de endereços IP.
Esta técnica consiste basicamente em acrescentar alguns bits ao endereço de rede,
de modo a identificar mais de uma sub-rede agregada. Esses bits são retirados da parte
reservada para o endereço do computador, portando as sub-redes resultantes terão menos
endereços IP que a rede original.
Existem várias razões para dividir uma rede. As principais são:
Tráfego – em certos casos, há muito tráfego entre um determinado número de estações.
Dividindo a rede, pode-se diminuir a carga do cabeamento, aumentando assim a
performance geral.
Segurança – alguns dados somente podem ser tratados por certas estações. Pode ser um
risco muito grande ter os pacotes viajando por estações não muito seguras.
Tecnologia – não é raro ter redes de diferentes tecnologias na mesma empresa. Ela pode
ter uma rede Token Ring e uma rede Ethernet. Ambas se baseiam em tecnologias diferentes.
Mesmo podendo atuar como uma só rede virtual é necessária separar as redes físicas.
Como já foi visto, o endereço IP possui duas partes: endereço de rede e endereço
de computador. Ele é dividido assim para poupar memória dos roteadores, que não
necessitam saber o endereço IP completo de todos os computadores ligados, bastando
saber onde estão as redes.
Imagine que seu endereço de rede é um portal que liga ao mundo exterior. Para fora
de seu portal, o endereço de rede não se altera. Quando entra em seu portal, o roteador
obtém o endereço da sub-rede, e encaminha para a interface de rede correta.
Neste caso teríamos 6 sub-redes com até 8.190 computadores em cada uma. Para
calcular o número de sub-rede use a fórmula:
SR = 2X – 2
Onde: “R” significa bit dedicado ao endereço de rede, “S” significa bit dedicado ao endereço
de sub-rede e “C” significa bit dedicado ao endereço de computador. A máscara de sub-rede
para esta configuração seria em bits:
11111111.11111111.11100000.00000000
192.168.1.0 172.16.1.0
- Possíveis caminhos
- Melhores caminhos
- Endereços de Destino
É a técnica que viabiliza a escolha do melhor caminho entre dois pontos de uma rede
para o envio de dados. Na arquitetura TCP/IP, a função de rotear informações (datagramas)
é executada pelos gateways ou roteadores.
A maioria dos dispositivos de roteamento é capaz de descobrir rotas na inter-rede e
armazenar as informações de rota em tabelas de roteamento.
As tabelas de roteamento não armazenam apenas informações de caminho. Elas
também armazenam estimativas do tempo gasto para enviar uma mensagem em uma
determinada rota. Essa estimativa de tempo é conhecida como custo de um determinado
caminho. Existem vários métodos para estimar os custos de roteamento, entre eles podemos
citar:
• Contagem de saltos (hop count): descreve o número de roteadores que
uma mensagem deve atravessar antes de chegar em seu destino. Se,
supostamente, todos os saltos gastam o mesmo tempo, o melhor caminho
é aquele que possui a menor contagem de saltos.
• Contagem de tiques: é uma estimativa de tempo real, em que um tique é
uma unidade de tempo definida pela implementação do roteamento.
• Gasto relativo: é qualquer medida de custo definida para usar um
determinado link.
Um host em uma dada rede IP pode transmitir diretamente um frame para qualquer
outro host na mesma rede. Este tipo de transmissão é chamado de roteamento direto, e não
necessita de nenhum roteador IP. Para transmitir um datagrama usando roteamento direto, o
host fonte encapsula-o em um frame físico, mapeando o endereço IP em endereço físico,
usando ARP. Veja um exemplo de como funciona:
1. Algum protocolo de transporte de uma estação de rede, por exemplo, o TCP, envia
um segmento de mensagem para o IP, localizado na camada Internet. Juntamente
com o segmento, ele fornece um endereço IP do destinatário como parâmetro. O
endereço não esta gravada no segmento.
TCP IP
Endereço IP Segmento
Endereço IP Endereço IP
Fornecido Fornecido
IP Int. Rede
Endereço IP Datagrama
5. A interface de rede transforma o endereço IP do destinatário, fornecido à parte pelo
IP, em endereço físico, utilizando o ARP. Note que o endereço IP de destino,
inserido no cabeçlho IP, não é utilizado. No cabeçalho do frame ela fornece o
endereço físico obtido e o envia pela rede.
Endereço IP
Interface ARP
de Rede
Endereço Físico
Endereço Físico
Placa de
Rede
Uma camada inferior nunca “abre” o pacote recebido de uma camada superior,
geralmente porque o seu conteúdo não lhe interessa. Então, o endereço IP de destino
sempre tem que ser fornecido à parte. Quando o IP envia um datagrama para a interface de
rede, este não utiliza o endereço IP contido no cabeçalho IP, mas sim o que é fornecido
como parâmetro.
Roteamento Indireto
No roteamento indireto, o endereço de origem precisa determinar um gateway para o
qual o datagrama deve ser enviado. O gateway selecionado, por sua vez, deve encaminhar
esse datagrama na direção do endereço de destino.
Para visualizar o processo de roteamento indireto, imagine uma rede interna
constituída de várias sub-redes interconectadas por gateways, com apenas duas estações,
uma em cada extremidade da rede. Quando uma estação deseja enviar um datagrama a
outra, ela encapsula o datagrama em um quadro físico e o envia ao gateway mais próximo.
Quando o quadro chega ao gateway, o datagrama é retirado do quadro e as rotinas
de roteamento determinam, a partir do endereço IP do destinatário, o próximo gateway no
caminho para a estação destinatária. O datagrama é novamente colocado em um quadro e
enviado para o segundo gateway e, assim por diante, até que o datagrama chegue ao último
gateway.
Um gateway determina o próximo gateway no caminho para a estação destinatária
utilizando o Algoritmo de Roteamento Baseado em Tabelas.
A determinação das melhores rotas
Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve
ser enviada para chegar ao seu destino de forma segura e eficiente. Para realizar esta
função, o roteador utiliza dois conceitos muito importantes: o conceito de métrica e o
conceito de tabelas de roteadores.
Métrica
É o padrão de medida que é usado pelos algoritmos de roteamento para determinar
o melhor caminho para um destino. Pode-se utilizar apenas um parâmetro ou vários
parâmetros. A utilização de vários parâmetros permite uma melhor modelagem da métrica e
uma decisão mais eficiente de qual é o melhor caminho.
• Tamanho do caminho
• Confiabilidade
• Atraso
• Largura de banda
• Carga
• Custo da comunicação
Cada equipamento que usa TCP/IP tem uma tabela destas. Ela serve para
determinar para onde devem ser enviados os datagramas destinados a endereços IP que
não pertencem à mesma rede física.
Exemplo de uma Tabela de Roteamento sobre o Windows 2000
Rede de Destino Máscara de Rede Gateway Interface Metric Finalidade
0.0.0.0 0.0.0.0 157.55.16.1 157.55.27.90 1 Default Route
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 Loopback Network
157.55.16.0 255.255.240.0 157.55.27.90 157.55.27.90 1 Directly Attached Network
157.55.27.90 255.255.255.255 127.0.0.1 127.0.0.1 1 Local Host
157.55.255.255 255.255.255.255 157.55.27.90 157.55.27.90 1 Network Broadcast
224.0.0.0 224.0.0.0 157.55.27.90 157.55.27.90 1 Multicast Addresses
255.255.255.255 255.255.255.255 157.55.27.90 157.55.27.90 1 Limited Broadcast
Quando uma estação necessita enviar um pacote, ela compara um endereço da rede
do destinatário com o da sua própria rede. Ela o faz comparando o endereço de rede do
endereço IP de destino com o endereço de rede de seu próprio endereço IP. Para retirar o
endereço de rede, a estação faz uma operação lógica AND entre o endereço IP e o campo
Máscara sa Sub-Rede, configurado no TCP/IP. Somente ficarão ligados os bits que
correspondem ao endereço de rede. Ela executa essa operação tanto para endereço IP de
destino, quanto para o seu próprio. Caso a comparação entre os dois endereços de rede
resulte em diferença, ela recorre à tabela de roteamento IP. Exemplo:
Rota Estática
Esse tipo de rota se caracteriza por usar caminhos programados pelo administrador
de rede. É um tanto custoso, pois o administrador deve preencher manualmente a tabela de
roteamento do roteador.
Este tipo de rota não funciona bem em ambientes de rápido crescimento ou
constantes mudanças, visto que à medida que a topologia da rede muda, todos os
roteadores da rede deverão ter suas tabelas manualmente atualizadas.
Nota: Sempre que for necessário enviar um pacote para um determinado roteador, será
usado o mesmo caminho. Portanto, se por acaso o link utilizado para alcançar o roteador
estiver inoperante, o pacote não conseguirá chegar ao seu destino.
172.16.1.0
S0
REDE
A 172.16.2.2 172.16.2.1 B
b) Estado de Enlace (Link-State) - É gerado um mapa lógico de toda a rede. Para isso
os roteadores se enviam pacotes contendo informações que permitem aos outros
roteadores conhecer exatamente a situação de um outro roteador. A informação
inter-roteadores somente é atualizada quando ocorre uma mudança na rota ou no
serviço
Protocolos de roteamento
São protocolos de manutenção e administração das rotas de endereços de
determinada rede. Eles executam um mapeamento que pode ser feito por diversos
algoritmos como vetor distância e o link state. No algoritmo vetor distância a informação é
difundida para todos os roteadores da rede. É mantida apenas uma tabela de roteamento
com apenas a informação necessária para atingir o próximo roteador na rede. Nesse caso os
roteadores trocam constantemente entre si informações sobre o estado de suas tabelas. No
algoritmo link state é gerado um mapa lógico de toda a rede. Para isso os roteadores se
enviam pacotes contendo informações que permitem aos outros roteadores conhecer
exatamente a situação de um outro roteador. A informação inter-roteadores somente é
atualizada quando ocorre uma mudança na rota ou no serviço.
Os protocolos de roteamento padronizam a forma de como os gateways trocam
informações necessárias à execução dos algoritmos de roteamento.
Além disso, eles podem ser classificados de acordo com a sua cobertura da rede ou
de acordo com as “regiões administrativas”, que podem ser internas, Interior Gateway
Protocols, ou externas, Exterior Gateway Protocols.
Sistemas Autônomos: Protocolos de Roteamento Interior ou Exterior
IG P s : R I P , IG R P
EG Ps: BG P
S is te m a A u tô n o m o 1 0 0 S is t e m a A u t ô n o m o 2 0 0
- U m s is te m a a u t ô n o m o é u m a c o le ç ã o d e r e d e s s o b re u m
d o m ín io a d m in is tr a tiv o .
- IG P s o p e r a m d e n tr o d e u m s is te m a a u tô n o m o .
- E G P s c o n e c ta m d ife r e n te s s is te m a s a u tô n o m o s .
Como cada rede é independente das demais para fins de conexão entre redes, são
normalmente referenciadas como Sistemas Autônomos.
A definição clássica é um conjunto de roteadores sob uma administração técnica
única, usando algum tipo de interior gateway protocol e métricas comuns para rotear pacotes
dentro de um sistema autônomo, e utilizando um exterior gateway protocol para rotear
pacotes para outros SAs. Mas muitos SAs podem possuir diversos IGPs diferentes, bem
como adotar diversas métricas dentro do Sistema Autônomo. Portanto, a utilização do termo
Sistema Autônomo designa aqui o fato que, mesmo com múltiplos IGPs e métricas, a
administração de um AS aparenta a outro AS ter um único plano de rota e apresenta um
quadro consistente de que destinação são alcançáveis através dele.
Router B
Router C Router A
Router D
A técnica vetor distância é baseada na “distância” entre dois pontos. Esta distância
refere-se ao número de roteadores existentes no caminho utilizado.
À distância entre um ponto e outro é medido em hops (salto), que é a passagem de
um datagrama por cada roteador.
Periodicamente, os roteadores enviam cópias de suas tabelas de roteamento para
todos os roteadores que possam alcançar diretamente (broadcast). Quando um roteador
recebe uma tabela de roteamento proveniente de outro, este verifica se existem rotas mais
curtas que as suas ou inexistentes em sua tabela, atualizando então a mesma. Na figura a
cima, por exemplo, o roteador B recebe informações do roteador A. O roteador B adiciona
uma métrica, incrementando o vetor distância. Este passa a sua tabela de roteamento para o
outro vizinho, o roteador C. O processo é executado para os demais roteadores da rede
(roteadores vizinhos).
O algoritmo vetor distância é um algoritmo eficiente, mas pode ser igualmente
ineficiente. Como as alterações devem passar pela rede de roteador para roteador, pode ser
que demore em uma alteração tornar-se conhecida por todos os roteadores da rede. O que
pode causar erros de roteamento (ou loops de roteamento) e gerar a contagem para o infinito
(counting to infinity).
Além disso, os frequentes broadcasts de informações de roteamento produzem altos
níveis de tráfego na rede, podendo prejudicar o desempenho em redes maiores.
Os seguintes protocolos de roteamento são exemplos de algoritmo vetor distância:
- RIP
- IGRP
Funcionamento:
1. O roteador apresenta em sua tabela a rota para os roteadores vizinhos.
2. Em intervalos de tempo regular o roteador envia toda a sua tabela de rotas para
os seus vizinhos.
3. Após algum tempo os diversos roteadores da rede convergem (ficam com suas
tabelas completas e atualizadas).
4. As tabelas apresentam o endereço destino, a métrica, e o próximo roteador para
onde a mensagem deve ser enviada.
5. Exige menos recursos de memória e processamento do que o algoritmo de
estado de enlace.
6. Apresenta convergência mais lenta e alguns problemas enquanto o algoritmo
não se estabilizou.
A interface para cada rede diretamente conectada possui uma distância (custo) igual
a 0. As tabelas de roteamento são compostas basicamente por três campos: o endereço
destino, a interface usada para alcançar o destino e o custo.
Os roteadores descobrem o melhor caminho para redes que não estão diretamente
conectado, baseado sobre o acumulo da métrica de cada vizinho. Roteadores vizinhos
proveem informação de roteadores que não estão conectados diretamente.
Por exemplo, o roteador A aprende sobre outras redes baseado em informações que
recebeu do roteador B. As redes que não estão conectadas diretamente com o roteador A é
incrementado o valor de 1 no seu custo.
Para cada endereço de destino haverá uma única entrada na tabela de roteamento
do roteador, ou seja, o número médio de registros da tabela é equivalente ao número médio
de roteadores presentes na mesma sub-rede.
IG R P
B a n d w id t h
A
D e la y
M TU
56
R IP
Hop count 56
T1
T1
I n f o r m a ç ã o u s a d a p a r a s e l e c i n a r o m e lh o r c a m in h o d e r o t e a m e n t o .
S0 S0
Router A Router B
E0 E0
172.16.0.0 192.168.2.0
172.16.0.0 E0 0 192.168.2.0 E0 0
192.168.2.0 S0 1 172.16.0.0 S0 1
R o u ter B
Ro uter C R o u ter A
R o u ter D
T ab ela
B ase de d ad os d a
T o po log ia
de
R o tea -
m en to
A lg oritm o
S PF
19.2Kbps
B
A
T1 T1
T1
Uma contagem de saltos igual 16 significa que a distância até o destino é infinita; em
outras palavras, o destino é inacessível.
A IETF (Internet Engineering Task Force) desenvolveu o RIP Versão 2 para atacar
alguns problemas de facilidade de escalonamento e de desempenho do RIP Versão 1. O RIP
Versão 2 acrescenta os seguintes campos Às entradas de rotas dentro de uma tabela de
roteamento:
• Route tag: distingue rotas internas que estão dentro do domínio de roteamento do RIP de
rotas externas que foram importadas de outro protocolo de roteamento ou de um sistema
autônomo diferente.
• Subnet mask: contém a máscara de sub-rede que é aplicada ao endereço IP para formar a
parte não relacionada ao host (prefixo) do endereço.
• Next Hop: especifica o endereço IP do próximo salta imediato para o qual devem ser
enviados os pacotes para o destino na entrada da rota.
As tags de rotas facilitam a mescla de rede RIP e não RIP. A inclusão da máscara
em uma entrada de rota fornece suporte para roteamento sem classes. O propósito do
campo do próximo salto é eliminar pacotes que estão sendo roteados através de saltos
extras. A especificação do valor 0.0.0.0 é útil quando o RIP não está em uso em todos os
roteadores de uma rede. Para ter um exemplo, veja o Apêndice A da RFC 1723.
O RIP Versão 2 também admite autenticação simples para frustrar os hackers que
enviam atualização de roteamento. O esquema de autenticação utiliza o espaço de uma
entrada de rota. Isso significa que só podem existir 24 entradas de rotas em uma mensagem,
quando a autenticação é usada. Atualmente a única autenticação aceita é uma senha
simples de texto comum.
Existem quatros técnicas para contornar o problema dos “loops” ou da “convergência
lenta”:
• Split Horizon – um gateway registra a interface sobre a qual ela recebe a
informação sobre uma dada rota e não propaga a sua informação sobre
esta rota de volta na mesma interface. As rotas que apontam para o
vizinho do gateway são omitidas.
• Hold Down – quando uma dada rota é removida, nenhuma outra rota nova
deve ser aceita para o mesmo destino durante um período de tempo (60s).
Desvantagem desta técnica é que durante este período, não são utilizadas
rotas nem caminho alternativos.
• Poison Reverse – quando uma conexão é removida, o gateway
responsável pela propagação desta rota retém as entradas por vários
períodos de atualização, e inclui um custo infinito no seu broadcast.
• Triggered Updates – força um gateway enviar uma mensagem de
broadcast imediatamente após receber uma noticia de falha de conexão,
ao invés de esperar o broadcast periódico.
Interior Gateway Routing Protocol - IGRP
Origem
Destino
- Largura da banda
- Atraso
- Confiabilidade
- Carga
- MTU
• Empréstimo de endereço aleatório por tempo infinito: Neste tipo, o servidor associa
um endereço obtido do conjunto de endereços a um cliente na primeira vez que este
cliente contatar o servidor. Nas demais vezes, seremos fornecidas o mesmo
endereço a este cliente (associado através do endereço MAC), mesmo que as duas
máquinas sejam desligadas e ligadas. Este método simplifica a atribuição de
endereços para uma quantidade grande de máquinas.
Opções DHCP
As opções DHCP têm o formato abaixo:
CODE LENGTH VARIÁVEL ...
O código indica o tipo da opção. Os comandos DHCP têm sempre o código 53 e tamanho 1,
sendo o próximo byte o código específico do comando:
1 = DHCPDISCOVER
2 = DHCPOFFER
3 = DHCPREQUEST
4 = DHCPDECLINE
5 = DHCPPACK
6 = DHCPNACK
7 = DHCPRELEASE
8 = DHCPINFORM
As opções de DHCP informam dados úteis para as diversas camadas TCP/IP, desde o nível
de Rede ao Nível de Aplicação. Enumeram-se algumas abaixo:
Opções Básicas:
Code Param Descrição
0 Pad - alinhamento
255 Fim das opções
1 MASK Máscara a ser utilizada pela estação
3 IP1, IP2, ... Lista de roteadores default para a estação
6 IP1, IP2, … Lista de servidores de DNS
9 IP1, IP2, … Lista de servidores de impressão LPR
12 nome Nome da máquina
13 número Tamanho do arquivo de boot
15 nome Nome do domínio
16 IP Endereço do servidor de swap
17 nome Path do diretório / da máquina
Opções de DHCP
Code Param Descrição
50 IP Endereço IP requerido preferencialmente
51 tempo (s) Tempo de empréstimo de endereço
53 mensagem Mensagem DHCP
54 IP Identificação do servidor DHCP remetente
55 COD1, … Cliente requisita opções ao servidor
56 texto Mensagem de erro
57 número Tamanho máximo da mensagem DHCP
58 tempo T1 - Tempo de espera para estado RENEWING
59 tempo T2 - Tempo de espera para estado REBINDING
Opções de IP
Code Param Descrição
19 1/0 Habilita IP Forwarding na estação
20 1/0 Habilita Source Routing na estação
22 número Tamanho máximo do datagrama que cliente deve
receber
23 número Tamanho do TTL default da máquina
26 número MTU da interface
27 1/0 Todas as interfaces tem o mesmo MTU ?
28 IP Endereço de broadacst da rede
29 1/0 Realizar ICMP Mask Discovery ?
31 1/0 Realizar ICMP Router Discovery ?
33 IP1/DEST1, IP2/DEST2 Rotas estáticas
7. Resolução de Nomes
. Raiz
Domínio (cliente)
meudominio.co dominio2.com.b
- Implementação do DNS
Um servidor de DNS pode ser responsável pela resolução de uma ou mais nomes de
domínios (acme.com.br, presid.acme.com.br). Seu escopo de atuação define a Zona de
atuação de um servidor DNS. Por exemplo, para resolver o domínio acme.com.br e seus
sub-domínios existem três zonas: a primeira resolve o próprio domínio principal e os
subdomínios mktg.acme e vendas.acme; a segunda resolve os domínios engen.acme e
prod.engen.acme; e a terceira resolve o domínio lab.engen.acme. Cada zona possui um
servidor de nomes principal ou primário, que mantêm em tabelas o mapeamento dos nomes
em endereços IP daquele domínio. Uma zona pode ter servidores secundários que possam
substituir os primários em caso de falha. Os secundários, entretanto não possuem
fisicamente as tabelas de mapeamento, mas carregam regularmente as informações do
primário.
Veja figura abaixo:
br
com
acme Zona
lab prod B C A B C A B
C D E F G
Zona
Por outro lado, a representação do domínio reverso .in-addr.arpa para uma das
máquinas de prod.engen.acme.com.br é visto abaixo:
arpa serv1.prod.engen.acme.com.br = br
200.18.100.2
in-addr acme
engen
1 2 ... 18 ... 254
prod B C
1 2 ... 100 ... 254
serv1 G
1 2 3 ... 253 254
serv1.prod.engen.acme.com.br
NS2
com
br org
NS3 acme
...
4 3 2
com puc
5
6 NS1
NS4
acme telemidia
7 8
1
www resolver odeon
www =
9 200.18.1.1
7.2 Resolução de Nomes utilizando o arquivo Hosts
Um sentido comum para resolver um nome de computador para um endereço IP é
utilizar uma base de dados armazenada sobre o próprio computador. Este arquivo irá conter
o endereço IP e o nome do computador. Sobre o sistema Unix / Linux, este arquivo se
encontra em /etc/hosts. Sobre sistemas baseados em Windows 2000, ele se encontra em
\SystemRoot\system32\drivers\etc.
Telnet
É um protocolo que permite a operação em um sistema remoto através de uma
sessão de terminal. Com isso, a aplicação servidora recebe as teclas acionadas no terminal
remoto como se fosse local. Utiliza a porta 23 TCP.
O Telnet oferece três serviços:
1. Definição de um terminal virtual de rede;
2. Negociação de opções (modo de operação, eco, etc.);
3. Transferência de dados.
Utilitários de diagnósticos
IPCONFIG
Mostra os parâmetros de configuração do protocolo TCP/IP do computador. Quando
utilizado com a opção /all, este irá mostrar todos os detalhes de todas as interfaces do
computador.
Se a configuração foi inicializada, o endereço IP, máscara de rede e o default
gateway devem aparecer. Se houver endereço IP duplicado, a máscara de rede aparecerá
da seguinte maneira: 0.0.0.0
C:\>ipconfig /all
Windows 2000 IP Configuration
Host Name . . . . . . . . . . . . : DAVEMAC2
Primary DNS Suffix . . . . . . . : mytest.microsoft.com
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : microsoft.com
Opção Descrição
-t Continua “pingando” até que o usuário interrompa.
-a Transforma endereços em nomes.
-n contador Número de mensagens ECHO REQUEST.
-l tamanho Tamanho do Datagrama.
-f Não fragmenta os Datagramas.
-i TTL Pinga com este TTL.
-v TOS Use este tipo de serviço.
-r contador Faça Record Route para o número de roteadores especificado em “contador”.
-s contador Faça Time Stamp para o número de roteadores especificado em “contador”.
-j lista Faça Loose Source Root através da rota especificada em “lista”.
-k lista Faça Strict Route através da rota especificada em “lista”.
-w tempo Aguarde “tempo” milissegundos para cada resposta.
C:\Windows>ping 192.168.1.1
Reply from 192.168.1.102: bytes=32 time<10ms TTL=128
Reply from 192.168.1.102: bytes=32 time<10ms TTL=128
Reply from 192.168.1.102: bytes=32 time<10ms TTL=128
Reply from 192.168.1.102: bytes=32 time<10ms TTL=128
ARP
Mostra o cache local utilizado para resolver o endereçamento IP para o endereço MAC.
C:\Windows> arp –a
Interface: 192.168.1.100
Internet Address Physical Address Type
192.168.1.200 00-20-18-34-ad-5f Dynamic
TRACERT
C:\WINDOWS>tracert www.terra.com.br -d
2 1 ms 3 ms 1 ms 200.102.202.33
3 15 ms 13 ms 9 ms 200.180.143.226
4 11 ms 32 ms 12 ms 201.10.254.137
5 10 ms 10 ms 9 ms 201.10.225.30
8 12 ms 14 ms 30 ms 200.176.3.142
Trace complete.
ROUTE
Comando utilizado para ver ou modificar tabela de roteamento. A tabela a seguir mostra
a sintaxe do comando:
Print Mostra uma lista das rotas correntes conhecidas pelo host.
NETSTAT
Mostram estatística e estado das conexões TCP/IP. Alguns exemplos de saídas netstat:
C:\>netstat -e
Interface Statistics
Received Sent
C:\>netstat -an
Active Connections
IP Statistics
Packets Received = 3175996
Received Header Errors = 0
Received Address Errors = 38054
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 3142564
Output Requests = 3523906
Routing Discards = 0
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures = 0
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0
ICMP Statistics
Received Sent
Messages 462 33
Errors 0 0
Destination Unreachable 392 4
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenchs 0 0
Redirects 0 0
Echos 1 22
Echo Replies 12 1
Timestamps 0 0
Timestamp Replies 0 0
Address Masks 0 0
Address Mask Replies 0 0
TCP Statistics
UDP Statistics
NSLOOKUP
C:\>nslookup
*** Can't find server name for address 192.168.1.131: Non-existent domain
Default Server: UnKnown
Address: 192.168.1.131
Non-authoritative answer:
dominio.com.br MX preference = 10, mail exchanger = mail.dominio.com.br
Network Monitor
O Network Monitor é uma ferramenta para monitorar problemas complexos de rede.
Esta ferramenta monitora e captura o tráfego da rede para ser analisado. Ele captura todos
os pacotes de entrada e saída de um adaptador de rede.
Filtros de captura podem ser definidos para especificar quais frames serão salvos
para serem analisados. Estes filtros podem ser definidos baseados sobre a origem e destino
do endereço MAC.
Referências Bibliográfica
http://penta2.ufrgs.br/rc952/lisiane/lis23.html
http://www.lansewans.com.br/html/tutoriais/tcpip/index.html
Lammle, Todd - Porter, Donald - Chellis, James - CCNA Study Guide, Exam 640-507
2000 Microsoft Corporation - White Paper – Introduction to TCP/IP, Microsoft Windows 2000
Server