Você está na página 1de 21

IP 1

Interligao de Redes
Protocolos TCP/IP

FEUP/DEEC/RCD 2002/03
MPR/JAR

IP 2

Pilha Protocolar TCP/IP


Acesso rede (subrede)
Interface ao meio fsico
Carta de rede, device driver
Rede (internetworking)
Transferncia de pacotes na rede
(entre subredes)
IP - Internet Protocol
ICMP- Internet Control Message
Protocol
IGMP Internet Group Management
Protocol
Transporte
Multiplexagem de fluxos de dados
entre duas mquinas
TCP- Transmission Control Protocol
UDP User Datagram Protocol
Aplicao
Aplicaes de rede
Telnet, FTP, SMTP, SNMP, etc.
Modelo cliente-servidor
IP 3

Interligao de Redes
Redes de diferentes organizaes e
usando variadas tecnologias de acesso
devem poder comunicar

Internet  rede nica, virtual


End-Systems  computadores (hosts)
Intermediate-Systems  routers
Comunicao global
Interligao de redes com routers
Um router tem uma interface por cada rede
que interliga

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

Valores vlidos IEEE 802 length


Diferentes de type vlidos
Ex. 0x0800 = 2048
IP 7

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

Classe B A 0.0.0.0  127.255.255.255


214
2 = 16,382 redes
128.x.x.x at 191.x.x.x  todas ocupadas B 128.0.0.0  191.255.255.255

Classe C C 192.0.0.0  223.255.255.255


221 2 = 2,097,150 redes
192.x.x.x at 223.x.x.x  quase todas ocupadas D 224.0.0.0  239.255.255.255
Tipos de endereo
E 240.0.0.0  247.255.255.255
Unicast, multicast, broadcast
IP 9

Interface de Loopback
Interface de teste, num computador
curto-circuito rede
netid  127.0.0.0
hostid  127.0.0.1 (conveno)
nome  localhost

Datagrama enviado para localhost no visto na rede

Permite que um cliente e um servidor na mesma mquina


comuniquem usando TCP/IP

IP 10

Rede Exemplo

140.252.0.0
140.252.0.0(classe
(classeB)
B)
Vrias
Vriassubredes
subredes
IP 11

MTU Maximum Transmission Unit


Cada rede limita o tamanho do campo de dados nas respectivas tramas
este limite designa-se Maximum Transmission Unit (MTU)

Se o tamanho de um datagrama IP for superior ao MTU de uma rede


necessrio fragment-lo em datagramas mais pequenos, podendo ser
necessrio re-fragmentar

Se um datagrama atravessar vrias redes, o menor MTU condiciona o


tamanho dos datagramas IP (fragmentos) entregues no destino

Network MTU (bytes)

16 Mbits/sec token ring (IBM) 17914


4 Mbits/sec token ring (802.5) 4464
FDDI 4352
Ethernet 1500
IEEE 802.3/802.2 1492
X.25 576
Point-to-Point (low delay) 296

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

Quando o datagrama chega ao nvel IP este


Procura entrada na tabela que seja igual ao hostid de destino
Se consegue  envia pacote
Procura entrada na tabela que seja igual ao netid de destino
Se consegue  envia pacote
Procura entrada por omisso (default) na tabela
envia pacote
IP 17

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

1400 data bytes


Informao usada na fragmentao (cabealho IP)
Identification
Valor nico atribudo a cada datagrama pelo emissor
Copiado em cada fragmento do datagrama original Start of header
Rede 2
Data length MTU = 512
Ident = x 1 Offset = 0
Rest of header
Comprimento dos dados (do fragmento) em octetos
512 data bytes
Offset
Posio do fragmento no datagrama (n * 64 bits) Start of header

More Fragments (MF flag) Ident = x 1 Offset = 512

Indica que o fragmento no o ltimo Rest of header

Problema
512 data bytes

Perda de fragmentos Start of header

Soluo  tempo mximo de Ident = x 0 Offset= 1024


Rest of header
Reconstruo
376 data bytes
Vida de um datagrama

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

Construo de um nmero arbitrrio de redes numa empresa


Esconde as redes da empresa do resto da Internet
Do exterior as redes da empresa so vistas como uma rede nica

Routers da empresa encaminham usando informao da subrede

Mscara de subrede
Identifica bits que devem ser interpretados como bits de (sub)rede
IP 21

IP - Mscaras

IP 22

Encaminhamento com subredes


IP 23

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

sun% netstat -in

Name Mtu Net/Dest Address lpkts lerrs Opkts Oerrs Collis Queue

leO 1500 140.252.13.32 140.252.13.33 67719 0 92133 0 1 0

slO 552 140.252.1.183 140.252.1.29 48035 0 54963 0 0 0

loO 1536 127.0.0.0 127.0.0.1 15548 0 15548 0 0 0


IP 27

ARP Address Resolution Protocol


Host TCP/IP  endereo IP
Carta de rede  endereo fsico (hardware)
Em LANs endereo MAC

ARP 
Mapeamento dinmico
Endereo IP   endereo de hardware

IP 28

Exemplo
IP 29

Proxy ARP

IP 30

ARP Request - Reply


IP 31

ICMP

ICMP  Internet Control Message Protocol (RFC 792)

Transferncia de mensagens de controlo

Routers / host  host

Indicam problemas

Mensagens ICMP so encapsuladas em datagramas IP (no fivel)

IP 32

ICMP Tipos de Mensagem


IP 33

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

Verses IP (IPv4 e IPv6)


Verses Melhorias do IPv6
IP v1-v3  fora de uso Flexibilidade de endereamento
IP v4  verso em uso Espao de endereamento aumenta (128 bits)
Multicast - mais verstil e escalvel
IP v5  orientado s ligaes
Reserva de recursos
IP v6  substituto do IP v4 Substituio do Type of Service
Limitaes do IPv4 Introduo do conceito de fluxo de pacotes
Fluxos com tratamento especial (QoS), e.g.,
Endereamento Vdeo em tempo real
Dois nveis de endereamento (rede,
host) desperdia endereos
Endereos usados mesmo quando rede
no ligada Internet
Crescimento do nmero de redes e da
Internet
Endereo nico por computador
Requisitos de novos tipos de
servios
IP 37

IPv6 - Protocolo
Cabealho IPv6

Cabealhos secundrios (de extenso)


Hop-by-Hop Options
Processado e alterado nos routers
Routing
Semelhante ao Source Routing do IPv4
Fragment
Destination options
Para n de destino
TCP

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

TCP/IP Illustrated The Protocols, Richard W. Stevens

Captulos: 1, 2, 3, 4, 6, 7, 8

Você também pode gostar