Escolar Documentos
Profissional Documentos
Cultura Documentos
Interligao de Redes
Protocolos TCP/IP
FEUP/DEEC/RCD 2002/03
MPR/JAR
IP 2
Interligao de Redes
Redes de diferentes organizaes e
usando variadas tecnologias de acesso
devem poder comunicar
Comunicao protocolar
Camadas de Aplicao e Transporte
Extremo-a-extremo (entre hosts)
Camada de Rede
entre mquinas adjacentes (routers e hosts)
IP 4
Arquitectura TCP/IP
TCP
Orientado s ligaes
Transporte fivel entre mquinas
UDP
Envia / recebe datagramas das aplicaes
Transporte no fivel
IP
Protocolo central da pilha
Encaminha datagramas
ICMP
Auxiliar do IP
Envia mensagens de erro
IGMP
Gere grupos de multicasting
ARP, RARP
Resoluo de endereos IP em endereos
fsicos
IP 5
Encapsulamento
IP 6
Encapsulamento Ethernet
Cartas Ethernet
Devem receber
encapsulamento IEEE 802
encapsulamento Ethernet
Se conseguem enviar os 2 tipos
encapsulamento Ethernet default
Desmultiplexagem
Cabealho TCP/UDP (porta)
FTP 21
Telnet 23
...
Cabealho IP (protocolo)
ICMP 1
IGMP 2
TCP 6
UDP 17
Cabealho Ethernet (tipo)
IP 0x0800
ARP 0x0806
RARP 0x8035
IP 8
Endereamento IP
Endereos IP
Um por interface, 32 bits (IPv4)
Exemplo: 142.252.13.33
Atribuio de endereos
InterNic atribui netid
Administrador de rede atribui hostid
All 0 representa a subrede <netid>
All 1 endereo de broadcast na subrede
5 classes de rede
Classe A
126 redes: 1.x.x.x at 126.x.x.x ocupadas
All 0 reservada
01111111 (127) loopback Classe Valores
Interface de Loopback
Interface de teste, num computador
curto-circuito rede
netid 127.0.0.0
hostid 127.0.0.1 (conveno)
nome localhost
IP 10
Rede Exemplo
140.252.0.0
140.252.0.0(classe
(classeB)
B)
Vrias
Vriassubredes
subredes
IP 11
IP 12
Internet Protocol
IP
Comutao de datagramas
Servio no fivel
No h garantia de entrega no destino
Servio best effort
Datagramas para um mesmo destino podem
Seguir caminhos diferentes
Ser entregues fora de ordem
Cada router
Analisa o endereo de destino
Encaminha o datagrama recebido para uma das suas interfaces
Em situaes de erro
Elimina datagrama
Envia mensagem de erro ICMP para a origem
IP 13
Cabealho IP
IP 14
Cabealho IP
Verso IPv4 Tempo de vida
Nmero mximo de routers visitveis por
Comprimento do cabealho um datagrama
Nmero de palavras (de 32 bits) do cabealho Inicializado pelo host (32 ou 64)
Limite do cabealho 60 octetos Decrementado de um quando visita router
TOS (type of service) Protocolo
3 bits de precedncia Usado para desmultiplexagem
4 bits TOS Checksum
1 bit no usado Calculado sobre o cabealho
Usado em novas redes (QoS, DiffServ) Endereo de origem (32 bits)
Comprimento total Endereo de destino (32 bits)
Comprimento total do datagrama endereo do host final
Mximo: 65535 octetos Opes
Identificao Registo de rota
Identifica unicamente um datagrama Registo de tempos
Incrementado de uma unidade por cada Encaminhamento definido pela origem
Loose source routing
datagrama enviado
Strict source routing
Flags
DF Dont Fragment
MF More Fragments
IP 15
Type Of Service
Minimize Maximize Maximize Minimize Hex
Application
delay throughput reliability monetary cost value
Telnet/Rlogin 1 0 0 0 0x10
FTP
control 1 0 0 0 0x10
data 0 1 0 0 0x08
any bulk data 0 1 0 0 0x08
TFTP 1 0 0 0 0x10
SMTP
command phase 1 0 0 0 0x10
data phase 0 1 0 0 0x08
DNS
UDP query 1 0 0 0 0x10
TCP query 0 0 0 0 0x00
zone transfer 0 1 0 0 0x08
ICMP
error 0 0 0 0 0x00
query 0 0 0 0 0x00
any IGP 0 0 1 0 0x04
SNMP 0 0 1 0 0x04
BOOTP 0 0 0 0 0x00
NNTP 0 0 0 1 0x02
IP 16
Encaminhamento IP
Cada entrada da tabela de encaminhamento de um router contm
Um endereo IP de destino (hostid ou netid)
Endereo IP do next-hop router
Interface de rede qual o datagrama deve ser passado
Exemplo 1
IP 18
Exemplo 2
IP 19
Fragmentao IP
A fragmentao realizada quando necessrio em Start of header
routers (a fragmentao na origem evitada) Rede 1 Ident = x 0 Offset = 0
MTU = 1500
A reconstruo de datagramas feita no destino Rest of header
Problema
512 data bytes
IP 20
IP - Subredes
Diviso de uma rede em subredes
Endereo de um host identificador de subrede + identificador de host
Exemplo: 1 LAN 1 subrede
Todos os computadores de uma subrede tm o mesmo endereo de subrede
Mscara de subrede
Identifica bits que devem ser interpretados como bits de (sub)rede
IP 21
IP - Mscaras
IP 22
Mscaras
IP 24
Exemplo de Subredes
sun%
sun% /usr/etc/ifconfig
/usr/etc/ifconfig -a
-a
IP 25
leO
leO :: flags=63<UP,
flags=63<UP, BROADCAST,
BROADCAST, NOTRAILERS,
NOTRAILERS, RUNNING>
RUNNING>
ifconfig inet
inet 140.252.13.33 netmask ffffffe0 broadcast
140.252.13.33 netmask ffffffe0 broadcast 140.252.13.63
140.252.13.63
slO
slO :: flags=105KUP,
flags=105KUP, POINTOPOINT,
POINTOPOINT, RUNNING,
RUNNING, LINKO>
LINKO>
inet
inet 140.252.1.29 -> 140.252.1.183 netmask
140.252.1.29 -> 140.252.1.183 netmask ffffff00
ffffff00
loO:
loO: flags=49<UP,LOOPBACK,RUNNING>
flags=49<UP,LOOPBACK,RUNNING>
inet
inet 127.0.0.1
127.0.0.1 netmask
netmask ff000000
ff000000
bsdi%
bsdi% /sbin/ifconfig
/sbin/ifconfig weO
weO
we0:
we0: flags=863<UP, BROADCAST,
flags=863<UP, BROADCAST, NOTRAILERS,
NOTRAILERS, RUNNING,
RUNNING, SIMPLEX>
SIMPLEX>
inet
inet 140.252.13.35 netmask ffffffe0 broadcast 140.252.13.63
140.252.13.35 netmask ffffffe0 broadcast 140.252.13.63
bsdi%
bsdi% /sbin/ifconfig
/sbin/ifconfig slO
slO
sl0
sl0 : flags=1011<UP, POINTOPOINT,
: flags=1011<UP, POINTOPOINT, LINKO
LINKO
inet
inet 140.252.13.66 -> 140.252.13.65
140.252.13.66 -> 140.252.13.65 netmask
netmask ffffffe0
ffffffe0
slip%
slip% /sbin/ifconfig
/sbin/ifconfig slO
slO
sl0
sl0 :: flags=1011<UP,
flags=1011<UP, POINTOPOINT,
POINTOPOINT, LINK0
LINK0
inet
inet 140.252.13.65 --> 140.252.13.66
140.252.13.65 --> 140.252.13.66 netmask
netmask ffffffe0
ffffffe0
svr4%
svr4% /usr/sbin/ifconfig
/usr/sbin/ifconfig emdO
emdO
emdO:
emdO: flags=23<UP,
flags=23<UP, BROADCAST,
BROADCAST, NOTRAILERS>
NOTRAILERS>
inet
inet 140.252.13.34 netmask ffffffe0
140.252.13.34 netmask ffffffe0 broadcast
broadcast 140.252.13.63
140.252.13.63
IP 26
netstat
Name Mtu Net/Dest Address lpkts lerrs Opkts Oerrs Collis Queue
ARP
Mapeamento dinmico
Endereo IP endereo de hardware
IP 28
Exemplo
IP 29
Proxy ARP
IP 30
ICMP
Indicam problemas
IP 32
Ping
ICMP Echo / Echo Reply
Echo
Identificador sun%
sun% ping
ping gemini
gemini
Pid do cliente PING
PING gemini:
gemini: 56
56 data
data bytes
bytes
64
64 bytes from gemini (140.252.1.11):
bytes from gemini
Sequncia (140.252.1.11): icmp_seq=0.
icmp_seq=0. time=373.
time=373. ms
ms
64
64 bytes
bytes from
from gemini
gemini (140.252.1.11):
(140.252.1.11): icmp_seq=l.
icmp_seq=l. time=360.
time=360. ms
ms
comea em 0 64
64 bytes
bytes from
from gemini
gemini (140.252.1.11):
(140.252.1.11): icmp_seq=2.
icmp_seq=2. time=340.
time=340. ms
ms
64
Dados 64 bytes
bytes from
from gemini
gemini (140.252.1.11):
(140.252.1.11): icmp_seq=3.
icmp_seq=3. time-320.
time-320. ms
ms
64
64 bytes
bytes from
from gemini
gemini (140.252.1.11):
(140.252.1.11): icmp_seq=4.
icmp_seq=4. time=330.
time=330. ms
ms
tempo de envio 64
64 bytes
bytes from
from gemini
gemini (140.252.1.11):
(140.252.1.11): icmp
icmp seq=5.
seq=5. time=310.
time=310. ms
ms
64
64 bytes
bytes from
from gemini
gemini (140.252.1.11):
(140.252.1.11): icmp
icmp seq=6.
seq=6. time==290.
time==290. ms
ms
Echo Reply 64
64 bytes
bytes from
from gemini
gemini (140.252.1.11):
(140.252.1.11): icmp_seq-7.
icmp_seq-7. time=300.
time=300. ms
ms
64 bytes from gemini (140.252.1.11): icmp_seq=8. time=280. ms
Enviado por servidor 64 bytes from gemini (140.252.1.11): icmp_seq=8. time=280. ms
64
64 bytes
bytes from
from gemini
gemini (140.252.1.11):
(140.252.1.11): icmp_seq=9.
icmp_seq=9. time=290.
time=290. ms
ms
ping (kernel) 64
64 bytes from gemini (140.252.1.11): icmp_seq=10. time=300.
bytes from gemini (140.252.1.11): icmp_seq=10.
time=300. ms
ms
64
64 bytes
bytes from
from gemini
gemini (140.252.1.11):
(140.252.1.11): icmp_seq=ll.
icmp_seq=ll. time=280.
time=280. ms
ms
Ecoa tudo --gemini PING Statistics--
--gemini PING Statistics--
12
12 packets
packets transmitted,
transmitted, 1212 packets
packets received,
received, 0%
0% packet
packet loss
loss
round-trip (ms) min/avg/max = 280/314/373
round-trip (ms) min/avg/max = 280/314/373
IP 34
TraceRoute
Permite detectar rotas entre mquinas
Usa datagramas IP e mensagens de erro ICMP
Traceroute comea por enviar datagrama para destino com
TTL = 1 e porta UDP inexistente
O primeiro router
decrementa valor de TTL elimina datagrama
envia mensagem de erro ICMP (time exceed) para origem
Traceroute obtm a sua identificao
Traceroute envia novo datagrama para destino
com TTL = 2 e porta UDP inexistente
O segundo router repete o processo e assim sucessivamente
Traceroute envia datagrama com TTL at mquina de destino
A mquina de destino envia
mensagem de erro ICMP port unreachable
Traceroute obtm a sua identificao
IP 35
TraceRoute - Exemplo
svr4%
svr4% traceroute
traceroute slip
slip
traceroute
traceroute to
to slip
slip (140.252.13.65),
(140.252.13.65), 30
30 hops
hops max.
max. 40
40 byte
byte packets
packets
11 bsdi (140.252.13.35) 20 ms 10 ms 10
bsdi (140.252.13.35) 20 ms 10 ms 10 msms
22 slip
slip (140.252.13.65)
(140.252.13.65) 120
120 ms
ms 120
120 ms
ms 120
120 ms
ms
slip%
slip% traceroute
traceroute svr4
svr4
traceroute
traceroute toto svr4
svr4 (140.252.13.34),
(140.252.13.34), 30 30 hops
hops max,
max, 40
40 byte
byte packets
packets
11 bsdi
bsdi (140.252.13.66)
(140.252.13.66) 110
110 ms
ms 110
110 ms
ms 110
110 ms
ms
22 svr4
svr4 (140.252.13.34)
(140.252.13.34) 110
110 ms
ms 120
120 ms
ms 110
110 ms
ms
IP 36
IPv6 - Protocolo
Cabealho IPv6
IP 38
Cabealho IPv6
Version
6
Traffic Class
Classes / prioridades de pacote
Em desenvolvimento
Flow Label
Suporte de QoS
Payload length
Cabealhos secundrios + dados
Next Header
Tipo do pximo cabealho
(Extenso ou nvel superior)
Source Address
Destination Address
IP 39
IPv6 - Endereos
128 bits
Atribudos a interfaces
Uma interface pode ter mltiplos endereos
Tipos de endereos
Unicast
uma interface
Anycast
Conjunto de interfaces
Pacote entregue a qualquer interface (a mais prxima)
Multicast
Conjunto de interfaces
Pacote entregue a todas as interfaces
IP 40
Cabealho UDP
IP 41
Cabealho TCP
IP 42
Bibliografia
Captulos: 1, 2, 3, 4, 6, 7, 8