Aula prática nº2

Propaganda
Redes de Computadores
Protocolos, DNS,
DHCP, Ethereal e
comandos em Linux
Escola Superior de Tecnologia e Gestão
Instituto Politécnico de Bragança
Março de 2006
Endereços e nomes…
Quaisquer duas estações de uma rede têm que ter endereços da
rede que as interliga para poderem comunicar
Aula Prática 2
Redes de Computadores
2
1
Dar nomes aos computadores
Aula Prática 2
Redes de Computadores
3
DNS – Domain Name System
• O DNS é o software que traduz o nome de
um domínio num endereço de rede, na
sua forma numérica, e vice-versa.
elara.ipb.pt
↔
193.136.195.220
• Genericamente, o nome de uma estação
na rede será:
nodarede.subdominio.dominio.dominioprincipal
Aula Prática 2
Redes de Computadores
4
2
Árvore do DNS
Aula Prática 2
Redes de Computadores
5
Funcionamento do DNS
Aula Prática 2
Redes de Computadores
6
3
Nomes ↔ Endereços
• /etc/resolv.conf
– nslookup
– host
Aula Prática 2
Redes de Computadores
7
Protocolo DHCP
• Protocolo DHCP – Dynamic Host
Configuration Protocol fornece uma forma de
transmitir informação de configuração a hosts
numa rede TCP/IP
• Baseia-se no protocolo BOOTP, adicionando a
capacidade de alocação automática de
endereços de rede reutilizáveis, bem como
opções adicionais de configuração
– Endereço do gateway, p. ex.
Aula Prática 2
Redes de Computadores
8
4
DHCP - Formato das mensagens
•
•
•
•
•
•
•
•
•
•
Code: indica se se trata de um request ou de um
reply (1 - request; 2 - reply)
HWtype: Tipo de hardware (p.e. 1 - Ethernet; 6 Redes IEEE 802)
Length: tamanho do endereço de hardware, em
bytes (p.e. Ethernet e Token Ring utilizam 6 octetos)
Hops: o cliente coloca este campo a zero. De
seguida é incrementado por cada encaminhador que
reenvia a mensagem para outro servidor, sendo
usado para identificar loops. O RFC 951 sugere o
valor 3 para indicar um loop
Client IP address: endereço definido pelo cliente;
se não conhece o seu endereço IP coloca 0.0.0.0
Your IP address: fornecido pelo servidor se o
cliente tiver enviado 0.0.0.0
Server IP address: definido pelo servidor
Router IP address: endereço de um agente
BOOTP de reencaminhamento da mensagem
Client hardware address: endereço definido pelo
cliente
Boot file name: valor fornecido pelo servidor, que
indica o caminho completo para o ficheiro a ser
utilizado pelo cliente na sua configuração
Aula Prática 2
Redes de Computadores
9
DHCP - Funcionamento
Aula Prática 2
Redes de Computadores
10
5
O protocolo IP
• É o principal dos protocolos de rede
– Implementa um serviço de datagramas “connectionless”
– O IP transmite para a rede pacotes sem ser necessário o
estabelecimento prévio de ligações. Funciona por isso
em modo não baseado em ligações
• Os datagramas IP
– Os pacotes gerados no IP, carregam os endereços IP do
remetente e do destinatário. Estes pacotes são
normalmente designados por datagramas
Aula Prática 2
Redes de Computadores
11
O datagrama IP
•
•
•
•
•
•
•
Aula Prática 2
O alinhamento é 32-bits.
O bit mais à esquerda é enviado primeiro (o
network byte order é big endian). São
transmitidos os bits 0-7, depois 8-15, a seguir
16-23 e no fim 24-31.
Version é o primeiro campo, permite que cada
versão do protocolo use um formato diferente
para o cabeçalho e seja reconhecido pelos
vários sistemas (no IPv4 assume o valor 4).
HLEN especifica o tamanho do cabeçalho em
palavras de 32-bits (o cabeçalho sem opções
tem 20 octetos, o habitual, e no máximo tem
60).
TOS Type of Service, permite serviços
diferenciados.
LENGTH é o comprimento do datagrama em
octetos (com 16 bits neste campo, o datagrama
IP terá no máximo 65535 octetos incluindo o
cabeçalho).
Os campos IDENT, FLAGS, OFFSET são
usados para a fragmentação e reconstrução
dos datagramas.
Redes de Computadores
12
6
O datagrama IP
•
•
•
•
•
O campo de IDENT contem um identificador único de cada
datagrama IP (normalmente é incrementado numa unidade em cada
datagrama consecutivo). Este valor é copiado para todos os
fragmentos de um datagrama.
O campo de FLAGS tem um bit para “more fragments”. Este bit está
activo em todos os fragmentos de um datagrama, excepto o último.
O campo de FLAGS tem outro bit que é o “don’t fragment”. Se este
bit estiver activo um datagrama IP não pode ser fragmentado (é
devolvido à origem o erro ICMP “fragmentation needed but don’t
fragment bit set”).
O campo OFFSET contém o offset do início do fragmento em
relação ao datagrama original (tem que ser um múltiplo de 8...).
Num fragmento, o campo LENGTH é alterado para o tamanho
desse fragmento.
Aula Prática 2
Redes de Computadores
13
O datagrama IP
• TTL (Time to live) limita o número de routers por
onde o datagrama pode passar, usado para
evitar que os datagramas circulem
indefinidamente.
• Protocol: UDP = 17 e TCP = 6.
• Checksum é a soma em complemento para 1 do
cabeçalho, usando palavras de 16-bits. (Se o
receptor ao calcular o checksum não obtiver
tudo ´1´s é porque há erro!)
Aula Prática 2
Redes de Computadores
14
7
O protocolo ICMP (Internetwork
Control Message Protocol)
•
•
•
•
•
•
Internet Control Message Protocol (ICMP)
A sua principal função é emitir mensagens quando acontece algum erro
Como o IP é um serviço de envio de pacotes sem ligação, e não confiável,
o ICMP permite aos routers enviar mensagens de erros ou de controle a
outros routers ou hosts
Este protocolo apenas reporta erros à fonte original, essa depois deverá
relatar os erros aos programas de aplicação e adoptar uma acção a fim de
corrigir o problema.
As mensagens são carregadas em pacotes com a mesma estrutura dos
datagramas IP (e encapsuladas nestes), que por sua vez são encapsulados
em tramas Ethernet
Uma das mensagens que o ICMP pode enviar é:
– Destination Unreachable, o qual, por sua vez pode ser dos seguintes tipos:
•
•
•
•
Network Unreachable (host não alcançável)
Host Unreachable (porta não alcançável)
Destination Host Unknown (host destino desconhecido)
Destination Network Unknown (rede destino desconhecida)
Aula Prática 2
Redes de Computadores
15
Formato das mensagens ICMP
78
0
Tipo
1516
Código
Identificador
31
Checksum
Nº de sequência
Dados Opcionais
• Tipo de mensagens ICMP
– Ex: 0 - echo reply, 8 – echo request
• O número de sequência começa em 1 e é incrementado
sempre que uma nova mensagem é enviada
• 2 aplicações que fazem uso do ICMP:
– ping
– traceroute
Aula Prática 2
Redes de Computadores
16
8
ARP e RARP
Qualquer nó activo de uma rede tem que ter um endereço para o interface
que lhe dá conectividade
Aula Prática 2
Redes de Computadores
17
ARP – Address Resolution Protocol
Duas estações ligadas a uma rede só podem comunicar se uma conhecer o
“endereço do hardware” (endereço do sub-nível MAC) da outra e vice-versa.
Aula Prática 2
Redes de Computadores
18
9
ARP
ARP
Aula Prática 2
RARP
Redes de Computadores
19
Funcionamento do ARP
Aula Prática 2
Redes de Computadores
20
10
Funcionamento do ARP (2)
• O ARP mapeia endereços IP em Ethernet (MAC)
• No slide anterior, na rede 192.35.246.0, o host
192.35.246.46 pretende estabelecer comunicação com o
host 192.35.246.104
– Está na mesma rede então pode conversar directamente via
Ethernet (precisa saber o endereço MAC)
– O nosso sistema irá procurar então o endereço 192.35.246.104
na sua tabela ARP, para saber o MAC
• Caso o encontre, o sistema irá adicionar um cabeçalho Ethernet e
enviar o pacote.
• E se não o tiver na sua tabela?
Aula Prática 2
Redes de Computadores
21
Funcionamento do ARP (3)
• Como solução o nosso host utiliza o protocolo ARP para
enviar um pedido ARP
– Um pedido ARP diz “Eu necessito que me enviem o endereço
Ethernet referente a 192.35.246.104” e é enviado para toda a
rede.
– Então o 192.35.246.104 verá o pedido e responderá com uma
resposta ARP indicando que o IP 192.35.246.104 corresponde
ao MAC 8:0:20:1:56:34 (exemplo)
– O nosso sistema irá guardar esta informação na sua tabela
ARP, desta forma os futuros pacotes para esse mesmo
endereço poderão ir directamente.
• Nota: Os endereços Ethernet (MAC) são de 48 bits (6
bytes), e são convencionalmente apresentados em
hexadecimal:
– De 00:00:00:00:00:00 a FF:FF:FF:FF:FF:FF
– Os 3 bytes mais significativos representam o código do
fabricante e os 3 restantes o número de série
Aula Prática 2
Redes de Computadores
22
11
O protocolo RARP
• O RARP (Reverse Address Resolution
Protocol) é um protocolo que permite a uma
estação descobrir o seu próprio endereço IP.
– É utilizado por estações de trabalho (terminais)
que não possuem disco rígido
– Para isso ela envia uma mensagem ao servidor
RARP da sua rede local com o seu endereço
MAC, e o servidor enviará então à estação o seu
endereço IP
– É normalmente utilizado no arranque das
máquinas.
– Para além desta situação o RARP não é utilizado
Aula Prática 2
Redes de Computadores
23
O pacote ARP/RARP
Aula Prática 2
Redes de Computadores
24
12
Trama (frame) Ethernet
•
•
•
•
•
•
•
Preâmbulo – para efeitos de sincronização
SFD – Separador do início de trama
FCS – Frame Check Sequence
O tamanho mínimo de uma trama (minFrameSize) é 64 octetos.
O tamanho máximo de uma trama (maxFrameSize) é 1518 octetos.
Para o cálculo do minFrameSize e do maxFrameSize não são
considerados o preâmbulo e o SFD
Se os dados contidos numa trama são insuficientes para constituir uma
trama com minFrameSize, i.e., o valor do tamanho do campo de dados
(LLCdataSize) é inferior a 46 (minFrameSize - 2 x addressSize - lengthSize
- crcSize), são inseridos octetos de padding (PAD) no fim do campo de
dados e antes de calcular o FCS, até obter o tamanho mínimo. O valor do
PAD não é especificado.
Aula Prática 2
Redes de Computadores
25
TCP/IP – onde se situa o quê
• TCP
–
–
•
UDP
–
–
•
Protocolo principal da pilha
Encaminha datagramas (sem conexão)
Serviço do tipo best-effort
ICMP
–
–
Auxiliar do IP
Envia mensagens de erro
•
IGMP
•
ARP, RARP
–
–
Aula Prática 2
Envia/recebe datagramas das
aplicações
Transporte não fiável
IP
–
–
–
•
Orientado à conexão
Transporte fiável entre estações
Gere grupos de multicasting
Resolução de endereços IP em
endereços físicos
Redes de Computadores
26
13
Ethereal
• O Ethereal é uma aplicação interactiva utilizada para a
análise de tráfego e de protocolos em redes de
comunicações
• Permite:
– Monitorizar e apresentar em tempo real informação acerca do
tráfego existente na rede
– Capturar tráfego da rede e armazenar os respectivos pacotes
num buffer (ou opcionalmente num ficheiro) para posterior
análise. Esta captura pode ser feita utilizando filtros definidos
por protocolo, por endereço ou por tamanho de pacote
– Visualizar e analisar os pacotes armazenados no buffer de
captura, apresentando-os sob diversas formas
• O Ethereal só captura pacotes que circulem na rede
local à qual está ligado
Aula Prática 2
Redes de Computadores
27
Alguns comandos em Linux
•
•
•
•
•
•
•
•
ifconfig
arp
route
traceroute
netstat
ftp
telnet
ssh
Aula Prática 2
Redes de Computadores
28
14
Download