TCP/IP
PROGRAMAÇÃO
1.
Histórico
2.
Conceitos básicos
3.
Endereçamento Internet
4.
Modelo OSI
5.
Modelo TCP/IP
6.
Tecnologia de redes
7.
Protocolo ARP
8.
Protocolo IP
9.
Fragmentação.
10. Interconexão de rede
11.
Roteamento
12. Protocolo ICMP
14. Protocolo UDP
15. Protocolo TCP
16. Configuração
16. Serviços TCP/IP.
HISTÓRICO.

1962-1969.
 USA x URSS
 GUERRA FRIA
 GRANDE DE DISPONIBILIDADE DE
RECURSOS FINANCEIROS.
 USA ANTECIPANDO A GUERRA
ATÔMICA MONTA A PRIMEIRA REDE
DISTRIBUÍDA, EVITANDO O
CONTROLE CENTRALIZADO DO
PROCESSO DE COMUNICAÇÃO
INFORMÇÃO PARADA PARCIAL.
 REDE ARPANET - REDE DE PACOTE
Stanford
Research
Institute
University
of California
at Santa
Barbara
The
University
of Utah
University of
California at
Los Angeles
REDE
ARPANET
HISTÓRICO

1969-1973
 ARPANET ESTAVEL
 KEN THOMPSON, DENNIS RITCHIE E
JOSEPH OSSANNA NOS
LABORATÓRIOS DA BELL
LABSDESENVOLVERAM A PRIMEIRA
VERSÃO UNIX PARA O EQUIPAMENTO
DA DEC - PDP-7 EM ASSEMBLER
 DENNIS RITCHIE E BRIAN
KERNINGHAN CRIARAM A LINGUAGEM
C
 UNIX É REESCRITO EM LINGUAGEM C.
HISTÓRICO

1972-1975
 ARPANET COM 40 HOSTS
 ARPANET FUNCIONAL MAS COM
PERÍODOS DE CRASH EM SOBRECARG;
 DARPA PROCURA PROTOCOLO MAIS
ESTÁVEL PARA A REDE
 CRIAÇÃO DO TCP/IP;
 CRIAÇÃO DO CORREIO ELETRÔNICO
HISTÓRICO.

1980
 DARPA INICIOU A CONVERSÃO A
CONVERSÃO DA REDE DE PESQUISA
PARA O NOVO PROTOCOLO TCP/IP.

1983
 DARPA TERMINOU A CONVERSÃO E
DETERMINOU QUE QQUER NOVA
MÁQUINA DA REDE DEVE UTILIZAR O
TCP/IP.
 DIVISÃO DA REDE: PESQUISA =
ARPANET E MILITAR = MILNET
HISTÓRICO.

INTERESSE DO DARPA EM MELHORAR O
PROTOCOLO, LIBEROU O PROTOCOLO PARA
UNIVERSIDADES.

ÉPOCA EM QUE A MAIORIA DAS
UNIVERSIDADES UTILIZAVAM UNIX DE
BERKELEY (BSD UNIX).

BOLT BERANEK E NEWMAN
IMPLEMENTARAM E INTEGRARAM O TCP/IP
NO UNIX BSD.

A PARTIR DESTE PONTO VÁRIAS
MÁQUINAS FORAM COLOCADAS EM REDE E
COMUNICANDO ATRAVÉS DO TCP/IP.
HISTÓRICO.

UNIX BSD GANHOU MAIS FORÇA COM O
TCP/IP E OS CONJUNTOS DE UTILITÁRIOS
DE REDE.

UNIX FICOU MULTIUSUÁRIO.

DESENVOLVIMENTO DE UM MÉTODO DE
COMUNICAÇÃO QUE PERMITE UM
PROGRAMA DE APLICAÇÃO ACESSAR UM
PROTOCOLO DE COMUNCIAÇÃO - SOCKET.
CARACTERÍSTICAS GERAIS DO TCP/IP

ATUA A PARTIR DA CAMADA 3 DO MODELO
OSI;

É INDEPENDENTE DA TECNOLOGIA DE REDE
DE NÍVEL 2 (ETHERNET, TR, FRAME-RELAY)

NÃO UTILIZA CONFIRMAÇÃO NA CAMADA
DE REDE

UTILIZA CONFIRMAÇÃO NA CAMADA
TRANSPORTE

É ROTEÁVEL

POSSUI PROTOCOLO DE CONTROLE DE REDE

É TOTALMENTE PADRONIZADO - RFC
DE
REQUEST FOR COMMENT - RFC

SÃO DOCUMENTOS QUE DESCREVEM O
FUNCIONAMENTO DE QQUER PROTOCOLO QUE
ESTÁ NA INTERNET.
Modelo TCP/IP
Aplicação
Mensagens da aplicação
Transporte
Inter-rede
Datagramas IP
Rede
HDLC, X.25, PPP, SLIP,
Ethernet, Token-Ring, FDDI,
ATM, LLC, NDIS, ...
INTERCONEXÃO DE REDE
Host A
Host A
Mensagem
idêntica
Aplicação
Aplicação
Pacote
idêntico
Transporte
Transporte
Roteador
Inter-Rede
Datagrama
idêntico
Inter-rede
Rede
Rede
Quadro
idêntico
Rede Física 1
Datagrama
idêntico
Rede
Inter-Rede
Rede
Quadro
idêntico
Rede Física 2
COMPARATIVO
Arquitetura OSI
Arquitetura TCP/IP
Aplicação
Apresentação
Aplicação
Sessão
Transporte
Rede
Enlace
Físico
Transporte
Inter-rede
Rede
COMPARATIVO
Aplicação
DS, MHS
FTAM
ISO
Apresentação
Presentation
Sessão
Shell
DNS
NCP
S
M
T
P
F
T
P
ping
H
T
T
P
socket
Transporte
ISO
Transport
C4
SPX
TCP, UDP
Rede
X.25
SNDCP
IPX
IP, ICMP
Físico
POP
ISO Session
Winsock
Enlace
N
F
S
LLC
IEEE 802.2
IEEE 802.3
IEEE 802.5
DD MLID
Binding A
R
DD NDIS P
Ethernet
Ethernet
LSL
T
e
l
n
e
t
TLI
Unix
PPP
X.25
Ethernet
Serial
EXEMPLO
EXEMPLO
EXEMPLO
MODELO TCP/IP
SMTP/
DNS
FTP TELNET
HTTP
...
Transporte
UDP
TCP
Aplicação
IP
ICMP
ARP
RARP
IGMP
Interface de Hardware
802.3 802.4 802.5 802.6
Meio Físico
X.25
Inter-rede
Rede
CONCEITOS BÁSICOS DO TCP/IP
SERVIÇO ORIENTADO A CONEXÃO
lado A
!
!
!
!
lado B
1
discar número
2
tira telefone do
gancho
3
!
responde “alô”
4
responde alô
!
5
idenfica-se
!
6
!
identifica-se
7
inicia conversação
!
...
******Troca de Informações ******
8
encerra conexão!
8
!
encerra conexão.
SERVIÇO ORIENTADO A DATAGRAMA (S/CONEX)
1.
ESCREVER UMA CARTA
2.
COLOCAR NO ENVELOPE
3.
PREECHER DADOS DE DESTINO/EMISSOR
4.
ENTREGAR NO CORREIO
5.
CORREIO DESPACHA ATRAVÉS DE UM MEIO
DE LOCOMOÇÃO (AVIÃO, NAVIO,
CAMINHÃO...)
6.
CORREIO ENTREGA NA CX POSTAL
7.
CX POSTAL É VERIFICADO
PERIODICAMENTE.
SERVIÇO COM CONFIANÇA

EXISTE A GARANTIA DE ENTREGA DA
MENSAGEM, EXEMPLO: CARTA REGISTRADA,
ENCOMENDA DHL
SERVIÇO SEM CONFIANÇA.

NÃO EXISTE A GARANTIA DA MENSAGEM,
EXEMPLO: CARTA COMUM
MODELO DE ESTRUTURA EM
CAMADA ISO/OSI
COMPARATIVO MODELO OSI x TCP/IP
ESTRUTURA DO PROCESSO DE
ENCAPSULAMENTO
CONJUNTO DE PROTOCOLOS TCP/IP
ENDEREÇAMENTO INTERNET
ENDEREÇAMENTO INTERNET





ENDEREÇO INTERNET = REDE + HOSTS
CADA ENDEREÇO É CONSTITUÍDO DE
32
BITS
CADA MÁQUINA PODE TER UM OU
MAIS ACESSO A REDE (INTERFACE)
E,
PARA CADA ACESSO DEVE CORRESPONDER
UM ENDEREÇO
ENDEREÇOS DE UMA REDE INTERNET
SÃO GLOBALMENTE ÚNICOS
SE UM COMPUTADOR MUDA DE
SEGMENTO LÓGICO OU FÍSICO, SEU
ENDEREÇAMENTO DEVE MUDAR.
CONSTITUIÇÃO DE UM ENDEREÇAMENTO
INTERNET
EXEMPLO DE ENDEREÇAMENTO INTERNET
10101100 00110010 00001010 01100100
0
1
2
3
TAMBÉM REPRESENTADO POR
172 .
0
50
1
.
10
2
.
100
3
ELEMENTOS DE UM ENDEREÇO INTERNET

NETWORK ID.
IDENTIFICA UM SEGMENTO LÓGICO DE
REDE.
172.16.0.0
Ethernet
Bridge
Ethernet
Ethernet
172.16.0.0
ELEMENTOS DE UM ENDEREÇO INTERNET

HOST ID.
IDENTIFICA UM HOST SEGMENTO LÓGICO
DE REDE.
172.16.1.1
172.16.0.0
Ethernet
172.16.4.4
172.16.1.1
Bridge
Ethernet
Ethernet
172.16.0.0
172.16.4.4
CLASSES DE ENDEREÇAMENTO.

CLASSE A
- UM BYTE PARA NETID (REDE)
- TRES BYTES PARA HOSTID (HOST)
- UTILIZADO EM LOCAIS QUE POSSUEM
POUCAS REDES (SEGMENTOS LÓGICOS) E
MUITOS HOSTS NESTAS REDES
- VL. DO BYTE 1: 1 ATÉ 126
- EXEMPLOS - 1.0.0.0, 2.0.0.0, 126.0.0.0
- TOTAL REDES - 126.
- TOTAL DE HOST POR NETID - 16777214
CLASSES DE ENDEREÇAMENTO.

CLASSE B
- DOIS BYTES PARA NETID (REDE)
- DOIS BYTES PARA HOSTID (HOST)
- UTILIZADO EM LOCAIS QUE POSSUEM
QTD MEDIA REDES (SEGMENTOS
LÓGICOS) E QTD MEDIA DE HOSTS
NESTAS REDES
- VL DO BYTE 1 - 128 ATÉ 191
- EXEMPLOS - 128.1.0.0, 128.2.0.0, 191.1.0.0
- TOTAL REDES - 65536
- TOTAL DE HOST POR NETID - 65534
CLASSES DE ENDEREÇAMENTO.

CLASSE C
- TRES BYTES PARA NETID (REDE)
- UM BYTE PARA HOSTID (HOST)
- UTILIZADO EM LOCAIS QUE POSSUEM
MUITAS REDES (SEGMENTOS LÓGICOS) E
POUCOS HOSTS NESTAS REDES
- VL. DO BYTE 1: 192 ATÉ 223
- EXEMPLOS - 192.1.1.0, 192.1.2.0, 223.1.1.0
- TOTAL REDES - 16777216
- TOTAL DE HOST POR NETID - 254
CLASSES ESPECIAIS DE ENDEREÇAMENTO.

CLASSE D
- VL DO BYTE 1: 224 ATE 239

CLASSE E
- VL DO BYTE 1: 240 ATE 247

ENDEREÇO DE LOOPBACK.
- VL DO BYTE 1: 127
- TODO HOST POSSUI O ENDEREÇO
127.0.0.1
- UTILIZADO PARA TESTES INTERNOS
EXEMPLO DE UMA REDE TCP/IP
172.16.1.1
Bridge
Ethernet
172.16.1.50
172.16.0.0
Ethernet
172.16.4.4
Router
172.17.1.50
172.17.0.0
Token-ring
172.17.4.4
ADDRESS RESOLUTION PROTOCOL - ARP
IP
172.16.1.1
ARP - ADDRESS
RESOLUTION
MAC
00 0D 0A 4A E2 2B
PROTOCOL
Ethernet
MAC
00 0D 0A 4F 77 82
IP
172.16.4.1
PROTOCOLO ARP.

DUAS MÁQUINAS NA MESMO SEGMENTO
LÓGICO PODEM SE COMUNICAR SOMENTE
SE ELES CONHECEM O ENDEREÇO FÍSICO
(MAC) DE DESTINO

PROBLEMA  COMO MAPEAR O ENDEREÇO
IP PARA UM ENDEREÇO MAC CORRETO ????
A MÁQUINA
COLIBRI QUER
COMUNICAR COM
O TUCANO
IP
172.16.1.1
ping
172.16.4.1
colibri
MAC
00 0D 0A 4A E2 2B
Ethernet
MAC
00 0D 0A 4F 77 82
IP
172.16.4.1
tucano
ENCAPSULAMENTO ETHERNET
PRINCÍPIO DE FUNCIONAMENTO


A ESTAÇÃO COLIBRI ENVIA UM PACOTE
“BROADCAST ETHERNET” CONTENDO A
MENSAGEM ARP PERGUNTANDO SE ALGUÉM
NA REDE POSSUI UM ENDEREÇO IP
ESPECÍFICO.
A ESTAÇÃO TUCANO RECEBENDO O PACOTE
ETHERNET PROCESSA A MENSAGEM ARP E
VERIFICA QUE O ENDEREÇO PROCURADO É
O SEU, NESTE CASO DEVOLVE UMA
RESPOSTA PARA A ESTAÇÃO EMISSORA DO
PEDIDO FORNECENDO O SEU ENDEREÇO
MAC, CASO O ENDEREÇO PROCURADO NÃO
CORRESPONDE AO SEU O PACOTE É
DESCARTADO.
IP
172.16.1.1
ping
172.16.4.1
colibri
Ethernet
IP
172.16.4.1
tucano
ENCAPSULAMENTO ARP
PACOTE ARP
CACHE DE MAPEAMENTO

CADA ESTAÇÃO MANTÉM UM “CACHE”
DOS MAPEAMENTOS DESCOBERTOS,
ESTE CACHE DEVE SER ATUALIZADO
PERÍODICAMENTE
OTIMIZAÇÃO DE OPERAÇÃO

CADA ESTAÇÃO QUE SOLICITA UM
ENDEREÇO FÍSICO, ENVIA O SEU
PRÓPRIO MAPEAMENTO DE ENDEREÇO IP,
PARA AGILIZAR AS RESPOSTAS E
ATUALIZAÇÃO DO CACHE DAS DEMAIS
ESTAÇÕES.
DESCRIÇÃO DE CAMPOS
 HARDWARE TYPE
ESPECIFICA O TIPO DA INTERFACE FÍSICA
(1 PARA ETHERENT)

PROTOCOL TYPE
ESPECIFICA O PROTOCOLO DA CAMADA DE
REDE (800 PARA IP)

HLEN
ESPECIFICA O COMPRIMENTO DO
ENDEREÇO FÍSICO (6 PARA ETHERENET)

PLEN
ESPECIFICA O COMPRIMENTO DO
ENDEREÇO DE REDE (4 PARA IP)
 OPERATION
ESPECIFICA O TIPO DE MENSAGEM
1
2
3
4
Arp Request
Arp Response
Rarp Request
Rarp Response
 HA
HARDWARE ADDRESS
 IP
INTERNET ADDRESS
COMANDO ARP
arp -a
Interface: 172.16.244.2
Internet Address
172.16.244.78
172.16.245.134
Physical Address
00-60-97-6d-38-0d
00-10-4b-87-2f-ad
Type
dynamic
dynamic
INTERNET PROTOCOL - IP

PROCOTOLO IP
O PROTOCOLO IP É UTILIZADO NA CAMADA
DE REDE DA ARQUITETURA INTERNET.
PERMITE A COMUNICAÇÃO ENTRE
MÁQUINAS, DE FORMA INDEPENDENTE DA
ESTRUTURA DE COMUNICAÇÃO
SUBJACENTE. (ETHERNET, TOKEN-RING,
FDDI, FR, SLIP, PPP, ETC.)
CARACTERÍSTICAS ARQUITETURAIS



UTILIZA O SISTEMA DE ENTREGA DE
PACOTE
ENTREGA NÃO-CONFIÁVEL (UNRELIABLE) :
O PACOTE PODE SER PERDIDO, DUPLICADO,
SOFRER ATRASO OU ENTREGUE FORA DE
ORDEM
SERVIÇO SEM CONEXÃO (CONECTIONLESS),
OS PACOTES SÃO TRATADOS DE MANEIRA
INDEPENDENTE
 NÃO HÁ RETRANSMISSÃO DE PACOTES
PROPÓSITO DO INTERNET PROTOCOL (IP)

DEFINE A UNIDADE BÁSICA DE
TRANSFERÊNCIA DE DADOS PELA
INTERNET. DESTA FORMA ESPECIFICA A
FORMA EXATA DE TODOS OS DADOS QUE
PASSAM PELA INTERNET

EXECUTA FUNÇÃO DE ROTEAMENTO,
ESCOLHENDO OS CAMINHOS QUE OS
DADOS IRÃO TRAFEGAR

INCLUI UM CONJUNTO DE REGRAS QUE
EMBUTEM O CONCEITO DE ENTRAGA DE
PACOTE SEM CONFIANÇA.
UNIDADES DE DADOS DO PROTOCOLO IP

DATAGRAMAS
UNIDADES DE DADOS COM TODAS AS
INFORMAÇÕES NECESSÁRIAS PARA O SEU
ENCAMINHAMENTO ATÉ O DESTINO
FINAL

FORMATO GERAL
CABEÇALHO + ÁREA DE DADOS
FORMATO DO DATAGRAMA (PACOTE) IP
FUNÇÕES GERAIS DE CONTROLE

VERS
ESPECIFICA A VERSÃO DO PROTOCOLO IP
SENDO UTILIZADO. A VERSÃO ATUAL É 4.

HLEN
ESPECIFICA O COMPRIMENTO DO HEADER
IP EM MÚLTIPLOS DE 32 BITS.

TOTAL LENGTH
FORNECE O COMPRIMENTO TOTAL DO
DATAGRAMA EM BYTES, INCLUINDO O
CABEÇALHO E DADOS, NO MÁXIMO 65536
BYTES.
FUNÇÕES GERAIS DE CONTROLE

TIPO DE SERVIÇO
Precedence - Precedencia do datagrama com
valores de 0 a 7.
D - Solicita serviço em baixo atraso
T - Solicita serviço de alta vazão
R - Solicita serviço de alta confiabilidade
CAMPOS DE CONTROLE DE FRAGMENTAÇÃO E
REMONTAGEM

IDENTIFICATION
UM INTEIRO QUE IDENTIFICA O
DATAGRAMA

FLAGS
NO FRAGMENT BIT
MORE FRAGMENT BIT

FRAGMENT OFFSET
DEFINE O DESLOCAMENTO DO FRAGMENTO
EM RELAÇÃO AO INÍCIO DA MENSAGEM.
OUTROS CAMPOS DE CONTROLE

TIME TO LIVE (TTL)
DEFINE O TEMPO MÁXIMO DE
PERMANENCIA DE UM DATAGRAMA NA
REDE, INCLUINDO O TEMPO DE
TRANSMISSÃO E O TEMPO DE
PROCESSAMENTO PELOS GATEWAYS

PROTOCOL
DEFINE O PROTOCOLO OU ENTIDADE
RESPONSÁVEL PELOS DADOS CONTIDOS NA
ÁREA DE DADOS (O PROTOCOLO QUE
SENDO TRANSPORTADO PELO IP).
OUTROS CAMPOS DE CONTROLE

HEADER CHECKSUM
SOMA BINÁRIA DO CABEÇALHO IP, SEM
INCLUIR OS DADOS

SOURCE IP ADDRESS E DESTINATION IP
ADDRESS
CONTÉM OS ENDEREÇOS IP DE ORIGEM E
DE DESTINO DO DATAGRAMA. ESTES
ENDEREÇOS NUNCA SÃO MUDADOS AO
LONGO DA ROTA.
MAXIMUM TRANSMITION UNIT - MTU
MTU
 O DATAGRAMA É TRANSPORTADO NA ÁREA
DE DADOS DE UM FRAME

O TAMANHO MÁXIMO DE UM DATAGRAMA
DEVE RSER ADEQUADO A TECNOLOGIA DO
FRAME

MTU É O TAMANHO MÁXIMO DA AREA DE
DADOS DE UM FRAME
- Ethernet – 64 - 1500 bytes
- Token-Ring – 17000 bytes
- FDDI – 4470 bytes

MTU = TAMANHO MÁXIMO DE UM
DATAGRAMA
MTU x ENCAPSULAMENTO
FRAGMENTAÇÃO DE DATAGRAMA
FRAGMENTAÇÃO DE DATAGRAMA

FRAGMENTAÇÃO É O PROCESSO DE
ADAPTAR O TAMANHO DO DATAGRAMA IP
AO TAMANHO DE QUADRO OFERECIDO
PELAS TECNOLOGIAS DE NÍVEIS
INFERIORES.
FRAGMENTAÇÃO
FRAGMENTAÇÃO
CONSIDERAÇÕES NO PROCESSO DE
REMONTAGEM




A REMONTAGEM DO DATAGRAMA É FEITO
SOMENTE NO DESTINO FINAL
CADA PEDAÇO DO DATAGRAMA CONSTITUI
UM NOVO DATAGRAMA, DESTA MANEIRA,
PODE VIAJAR POR CAMINHOS
INDEPENDENTES ATÉ O DESTINO
SE UMA PARTE DO DATAGRAMA É PERDIDO,
TODO O DATAGRAMA É DECARTADO
EXISTE UM TEMPO DE CHEGADA DE TODAS
AS PARTES DO DATAGRAMA, APÓS
EXPIRADO ESTE TEMPO, TODO O
DATAGRAMA É DESCARTADO
INTERCONEXÃO DE REDE
E
ROTEAMENTO
INTERCONEXÃO DE REDES
O SENTIDO ORIGINAL DO TERMO
“INTERNET” REFERE-SE A UMA COLEÇÃO DE
REDES LOCAIS E DE LONGA DISTÂNCIA,
INTERLIGADOS POR UM CONJUNTO ARBITRÁRIO
DE EQUIPAMENTOS INTERMEDIARIOS QUE
DENTRO DESTA ARQUITETURA SÃO
DENOMINADOS “IP ROUTER”, OU
SIMPLESMENTE “ROUTER”.
EXEMPLO DE UMA REDE INTERNET
Desktop System
Desktop System
Token-ring
Ethernet
Router
Router
Desktop System
Ethernet
FDDI Ring
Router
Ethernet
Desktop System
Desktop System
DENOMINAÇÕES EM INTERCONEXÃO DE REDES.

O ROUTER É A ÚNICA FORMA DE
INTERCONEXÃO DE DUAS REDES.

ROUTING - PROCESSO DE ESCOLHA DE UM
CAMINHO

ROUTER - MÁQUINA QUE FAZ O PROCESSO
DE ESCOLHA DO CAMINHO.
INTERCONEXÃO ATRAVÉS DE ROUTER
Desktop System
Ethernet
Token-ring
FDDI Ring
ROUTER
Ethernet
Desktop System
Desktop System
Desktop System
ROTEAMENTO INTERNET

UM COMPUTADOR POSSUI TANTOS
ENDEREÇOS IP QUANTOS FOREM OS SEUS
ACESSOS FÍSICOS A REDE DE
TRANSMISSÃO DE INFORMAÇÃO

QQUER MÁQUINA QUE POSSUA MAIS DE
UM ENDEREÇO IP, PODE ATUAR COMO UM
ROTEADOR IP

O ROTEAMENTO DO DATAGRAMA É FEITO
POR UM ALGORÍTIMO.
ROTEAMENTO INTERNET

IDEALMENTE O ALGORITMOS DE
ROTEAMENTO DEVE LEVAR EM
CONSIDERAÇÃO A CARGA DA REDE,
TAMANHO DO DATAGRAMA E TIPO DE
SERVIÇO, ANTES DE ESCOLHER O MELHOR
CAMINHO

EXISTEM ALGORITMOS DE ROTEAMENTO
QUE SÃO SOFISTICADOS, ENTRETANTO
EXISTEM OUTROS QUE LEVAM EM
CONSIDERAÇÃO SOMENTE O MENOR
CAMINHO.
Desktop System
172.16.0.0
Ethernet
172.16.1.1
172.18.1.1
Token-ring
FDDI Ring
172.17.1.1
172.18.0.0
Tower System
172.17.1.1
172.17.0.0
Ethernet
Desktop System
Desktop System
172.17.0.0
Desktop System
LIGAÇÃO ENTRE COM DIFERENTE
CARACTERÍSTICAS.
172.16.0.0
Desktop System
Ethernet
LINK A
MTU=1500
PPP
64Kbps
172.17.1.1
Router
2
10.
.
0
2
72.
1
1
10.
.
0
.2
172
172.16.1.1
Router
Ethernet
172
.21
.10
.1-1
72.
20.
10.
2
LINK B
MTU=1000
FR
256Kbps
Desktop System
172.17.0.0
Router
172.17.1.2
LIGAÇÃO COM 1/3 PASSOS
Ethernet
LINK A
MTU=1500
PPP
64Kbps
172.16.1.1
Router
2
10.
.
0
2
72.
1
1
2
10.
.
0
2.2
7
1
0.1
1
.
.21
2
7
1
0.
0.1
2
.
172
172.17.1.1
Router
Desktop System
Ethernet
172.17.0.0
172.23.0.0
LINK B
MTU=1000
FR
256Kbps
172.19.1.1
172.19.1.2
172.16.0.0
Desktop System
Router
LINK C
MTU=1000
FR
256Kbps
Token-ring
Router
172.23.10.10
Router
172.23.20.20
TIPOS DE ROTEAMENTO

DIRETO - DE UMA MÁQUINA PARA OUTRA
QUANTO AMBOS ESTÃO CONECTADOS NA
MESMA REDE FÍSICA OU LÓGICA

INDIRETO - OCORRE QUANDO A MÁQUINA
DE DESTINO NÃO ESTÁ CONECTADO
DIRETAMENTE NA MESMA REDE FÍSICA OU
LÓGICA, FORÇANDO O EMISSOR A PASSAR
O DATAGRAMA DIRETAMENTE PARA UM
ROUTER.
ROTEAMENTO DIRETO - COLIBRI/CORVO
CANARIO/PARDAL
COLIBRI
172.16.3.2
CORVO
172.16.5.5
Desktop System
Desktop System
172.16.0.0
Ethernet
172.16.1.1
Router
172.17.1.1
Token-ring
Desktop System
Desktop System
CANARIO
172.17.10.34
172.17.0.0
PARDAL
172.17.1.50
ROTEAMENTO INDIRETO - COLIBRI/PARDAL
CORVO/CANÁRIO
COLIBRI
172.16.3.2
CORVO
172.16.5.5
Desktop System
Desktop System
172.16.0.0
Ethernet
172.16.1.1
Router
172.17.1.1
Token-ring
Desktop System
Desktop System
CANARIO
172.17.10.34
172.17.0.0
PARDAL
172.17.1.50
DETERMINAÇÃO SE ROTEAMENTO É DIRETO OU
INDIRETO
PERGUNTA.
O QUE FAZER PARA DESCOBRIR SE O ENDEREÇO
DE DESTINO ESTÁ CONECTADO DIRETAMENTE
NA REDE ????
RESPOSTA
ENDEREÇO IP É CONSTITUÍDO DE
NETID + HOSTID


PARA VERIFICAR SE O ENDEREÇO DESTINO
ESTÁ CONECTADO DIRETAMENTE A REDE, O
EMISSOR EXTRAI A PORÇÃO “NETID” DO
ENDEREÇO IP DE DESTINO E COMPARA COM
A PORÇÃO “NETID” DO PRÓPRIO ENDEREÇO
IP.
SE ESTA COMPARAÇÃO FOR VERDADEIRA, O
FRAME PODE SER ENVIADO DE FORMA
DIRETA, CASO CONTRÁRIO, A ENTREGA
DEVE SER EFETUADA DE FORMA INDIRETA.
COLIBRI
172.16.3.2
00-2A-DE-12-34-CD
CORVO
172.16.5.5
Desktop System
Desktop System
172.16.0.0
Ethernet
172.16.1.1
00-4B-45-00-44-78
00-44-67-99-12-C0
Router
172.17.1.1
00-2A-DE-12-34-CD
Token-ring
Desktop System
Desktop System
CANARIO
172.17.10.34
172.17.0.0
PARDAL
172.17.1.50
PROCESSO DE ENTREGA DE DATAGRAMA DE FORMA
DIRETA
1.
MAPEAR ENDEREÇO IP PARA ENDEREÇO MAC
1.1 CONSULTA TABELA ARP
1.2 ARP REQUEST SE NECESSÁRIO
1.3 ARP RESPONSE SE NECESSÁRIO
2.
ENCAPSULA O DATAGRAMA EM UM FRAME
3.
MANDA O FRAME DIRETAMENTE PARA O
DESTINO
PERGUNTA

SE O NETID NÃO ESTÁ NA MESMA REDE, O
QUE FAZER COM O DATAGRAMA ??
RESPOSTA.

DIRECIONAR O DATAGRAMA PARA O
DEFAULT GATEWAY (DG) QUE IRÁ
ENCAMINHAR O DATAGRAMA PARA O LOCAL
CORRETO SE POSSÍVEL
DEFAULT GATEWAY
 É UM ELEMENTO DA REDE QUE ESTÁ
LOCALIZADO NO MESMO SEGMENTO FÍSICO OU
LÓGICA, QUE TÊM A FUNÇÃO DE ENTREGAR
DATAGRAMAS DA REDE LOCAL PARA OUTRAS
REDES E TAMBÉM ENTREGAR DATAGRAMAS
VINDO DE OUTRAS REDES PARA A REDE LOCAL.
COLIBRI
172.16.3.2
CORVO
172.16.5.5
Desktop System
Desktop System
172.16.0.0
Ethernet
172.16.1.1
DEFAULT GATEWAY DA REDE 172.16.0.0 É O
ENDEREÇO 172.16.1.1
DEFAULT GATEWAY DA REDE 172.17.0.0 É O
ENDEREÇO 172.17.1.1
Router
172.17.1.1
Token-ring
Desktop System
Desktop System
CANARIO
172.17.10.34
172.17.0.0
PARDAL
172.17.1.50
DEFAULT GATEWAY
ENTREGA INDIRETA DO DATAGRAMA.
1.
ESTAÇÃO DESCOBRE QUE O ENDEREÇO DE
DESTINO NÃO ESTÁ CONECTADO
DIRETAMENTE NA REDE
2.
MAPEIA ENDEREÇO IP/MAC DO DEFAULT
GATEWAY DA REDE.
2.1 CONSULTA TABELA ARP
2.2 ARP REQUEST SE NECESSÁRIO
2.3 ARP RESPONSE SE NECESSÁRIO
3.
ENCAPSULA O DATAGRAMA NO FRAME E
MANDA PARA O DG
4.
O FRAME CHEGA NO DG
5.
O DG PROCESSA O DATAGRAMA E REPASSA
PARA O TCP/IP
6.
EXTRAI A PORÇÃO DE “NETID” DO
ENDEREÇO DE DESTINO
7.
O ALGORITMO DE ROTEAMENTO ESCOLHE
UM CAMINHO COM BASE NA PORÇÃO
“NETID” PARA O PRÓXIMO ROUTER
DIRECIONAR O DATAGRAMA ATÉ O
DESTINO, OU SE A REDE ESTIVER
DIRETAMENTE CONECTADO, O DATAGRAMA
É ENTREGUE DIRETAMENTE.
EXEMPLO DE ROTEAMENTO INDIRETO
ping
172.17.10.34
COLIBRI
172.16.3.2
00-2A-DE-12-34-CD
CORVO
172.16.5.5
Desktop System
Desktop System
172.16.0.0
Ethernet
172.16.1.1
00-4B-45-00-44-78
00-44-67-99-12-C0
Router
172.17.1.1
00-2A-DE-12-34-CD
Token-ring
Desktop System
Desktop System
CANARIO
172.17.10.34
172.17.0.0
PARDAL
172.17.1.50
FRAMES GERADOS NO ROTEAMENTO INDIRETO
TABELAS DE ROTEAMENTO
PERGUNTA

APÓS RECEBER UM DATAGRAMA VINDO DE
UMA ESTAÇÃO, COMO O DG FAZ PARA
ENTREGAR O DATAGRAMA SE O NETID DE
DESTINO NÃO ESTÁ DIRETAMENTE
CONECTADO AO DG ????
EXPANDINDO A
REDE
00-33-44-55-66-77
172.18.10.10
TR34
ROUTER
CISCO
00-AA-BB-CC-DD-EE
172.18.20.20
TR55
ROUTER
3COM
Token-ring
22-11-66-77-55-99
172.16.1.1
ETH12
Router
Router
172.18.0.0
172.16.0.0
77-88-11-44-BB-CC
172.17.1.1
ETH44
Ethernet
Ethernet
172.17.0.0
00-2A-DE-12-34-CD
00-2A-DE-12-34-CD
ping
172.17.10.34
Desktop System
COLIBRI
172.16.3.2
Desktop System
Desktop System
Desktop System
CANARIO
172.17.10.34
RESPOSTA

OS ROTEADORES CONSULTAM A TABELA DE
ROTAS LOCAL PARA DETERMINAR SE
“NETID” DE DESTINO É CONHECIDO.
SE “NETID” CONSTA NA TABELA DE ROTAS,
O DATAGRAMA É ENCAMINHADO PARA O
SEU DESTINO, CASO CONTRÁRIO, O DG
EMITE UMA MENSAGEM DE ERRO PARA A
ESTAÇÃO, INDICANDO O DESTINO É
INATINGÍVEL POR SER UM “NETID”
DESCONHECIDO.

OS ROTEADORES TROCAM INFORMAÇÕES
PARA MANTEREM ATUALIZADA A TABELA
LOCAL.
ESTADO INICIAL DOS ROTEADORES.

CONHECEM SOMENTE AS REDES QUE
ESTÃO DIRETAMENTE CONECTADAS.

NÃO CONHECEM OUTRAS REDES

NÃO POSSUEM CAPACIDADE DE
ROTEAMENTO PARA OUTRAS REDES.
TABELA DE ROTAS APÓS ATUALIZAÇÃO
COMUNICAÇÃO ENTRE COLIBRIxCANÁRIO
01.
COLIBRI SEPARA “NETID” DE DESTINO E
VERIFICA QUE É NECESSÁRIO
ENCAMINHAR O DATAGRAMA PARA O DG DA
REDE LOCAL (ROUTER CISCO).
02.
MONTAGEM DO DATAGRAMA
03.
CONSULTA TABELA ARP
04.
ARP REQUEST SE NECESSÁRIO
05.
ARP RESPONSE SE NECESSÁRIO
06.
EMITE FRAME
07.
DG RECEBE FRAME
08.
PROCESSA DATAGRAMA
09.
SEPARA “NETID” DE DESTINO
10.
CONSULTA TABELA DE ROTEAMENTO
11.
DESCOBRE O ENDEREÇO DO PRÓXIMO
ROTEADOR QUE CONHECE A REDE DE
DESTINO (ROUTER 3COM)
12.
CONSULTA TABELA ARP
13.
ARP REQUEST
14.
ARP RESPONSE
15.
ENCAPSULA O DATAGRAMA NO FRAME
16.
TRANSMITE O FRAME
17.
ROUTER 3COM RECEBE O FRAME
18.
PROCESSA O DATAGRAMA
19.
SEPARA “NETID” DE DESTINO
20.
DESCOBRE QUE O “NETID” ESTÁ
CONECTADO DIRETAMENTE.
21.
CONSULTA TABELA ARP
22.
ARP REQUEST SE NECESSÁRIO
23.
ARP RESPONSE SE NECESSÁRIO
24.
MONTA FRAME
25.
ENVIA FRAME
26.
CANÁRIO RECEBE FRAME
....
FRAME GERADOS NA COMUNICAÇÃO
NETMASK
O ENDEREÇO IP É CONSTITUIDO DE DUAS
PARTES:
TODO O PROCESSO DE ROTEAMENTO É
EXECUTADO A PARTIR DE UM NETID.
PERGUNTA:
COMO IDENTIFICAR O NETID A PARTIR DE UM
ENDEREÇO IP DADO ?
RESPOSTA:
EXISTE UMA CONFIGURAÇÃO D0 TCP/IP
CHAMADO NETMASK(MÁSCARA DE REDE), EM
CADA INTERFACE DE REDE, QUE INFORMA UMA
MÁSCARA A SER APLICADO SOBRE UM
ENDEREÇO, TENDO COMO RESULTADO O NETID.
FUNCIONAMENTO:
O NETMASK GERALMENTE É EXPLICITO DA
SEGUINTE FORMA: 255.0.0.0, 255.255.0.0,
255.255.255.0
EM BINÁRIO, O NÚMERO 255 É REPRESENTADO
POR UM CONJUNTO DE 8 BITS: 11111111
E O VALOR 0 (ZERO) É REPRESENTADO POR UM
CONJUNTO DE 8 BITS: 00000000
UMA MÁSCARA COM O FORMATO 255.255.0.0
FICARIA REPRESENTADO DA SEGUINTE FORMA
11111111. 11111111.00000000. 00000000
OPERAÇÃO E LÓGICO (&).
A OPERAÇÃO E LÓGICO (&) É UMA OPERAÇÃO
LÓGICA EXECUTADO ENTRE DOIS NÚMERO
BINÁRIOS E RETORNA VERDADEIRO SOMENTE
SE OS DOIS MEMBROS VERIFICADOS SÃO
VERDADEIROS.
EXEMPLO: 1 & 1 = 1, 1 & 0 = 0, 0 & 1 = 0, 0 & 0 = 0
SEPARANDO HOSTID E NETID UTILIZANDO A
OPERAÇÃO E LÓGICO (&)
SUBNET
SUBNET - É O PROCESSO QUE OCORRE QUANDO
UTILIZAMOS UMA PARTE DA ÁREA DE HOST
PARA EXPANDIR O NÚMERO DE REDES.
172.16.10.0
255.255.255.0
Ethernet
Router
Ethernet
172.16.20.0
255.255.255.0
MÁSCARA NATURAL.
ICMP
PROTOCOLO ICMP (INTERNET CONTROL
MESSAGE PROTOCOL)
 MECANISMO UTILIZADO ENTRE HOSTS E
GATEWAYS PARA COMUNICAÇÃO DE CONTROLE
E FALHAS NA REDE.
EXEMPLOS.




REDE CONGESTIONADA
HOST DESCONECTADO DA REDE
TTL EXPIRA
FRAGMENTAÇÃO NEGADA
 OBSERVAÇÕES.

O PROTOCOLO ICMP NÃO PROVE
RECURAÇÃO DE ERROS, MAS APENAS INFORMA
AO HOST ORIGINADOR.

A AUSENCIA DE UMA MENSAGEM ICMP
NÃO IMPLICA NA ENTREGA CORRETA DO
DATAGRAMA.

O ICMP É UTILIZADO PRINCIPALMENTE
PARA DEPURAÇÃO DA OPERAÇÃO DA REDE.
ENCAPSULAMENTO ICMP
DESCRIÇÃO DOS CAMPOS ICMP
FORMATO DE UM PACOTE ICMP
A ÁREA DE DADOS DEPENDE DO TIPO DE
MENSAGEM, MAS EM GERAL, CONTÉM O
CABEÇALHO IP DA MENSAGEM PERDIDA E SEUS
PRIMEIROS 64 BITS DE DADOS
TIPO DE MENSAGENS ICMP
TIPO DESCRIÇÃO
T
0
Echo Reply (Ping)
3
Destination Unreachable
5
Redirect (change a route)
8
Echo Request
11
Time Exceeded for Datagram
EXEMPLOS DE MENSAGENS ICMP
PING - ECHO REQUEST - ECHO REPLY
EXEMPLOS DE MENSAGENS ICMP
DESTINO INATINGÍVEL
 Códigos para mensagem de endereço inatingível
Code
0
1
2
3
4
5
6
7
8
9
10
11
12
Description Descrição
Network Unreachable
Host Unreachable
Protocol Unreachable
Port Unreachable
Fragmentation Needed and DF set
Source Route failed
Destination Network unknown
Destination Host unknown
Source host isolated
Comunication with destination network administratively
prohibited
Comunication wiht destination host administratively
prohibited
Network unreachable for type of service
Host unreachable for type of service
 INDICAÇÃO DE TEMPO DE VIDA ESGOTADO
(TTL)
Descrição de Código
Code Descrição
0
1
Time-to-live count exceeded
Fragment reassembly time exceed
TCP/UDP
COMO FUNCIONA UM SISTEMA DE CX POSTAL.

UM CIDADÃO JOSÉ DA SILVA ALUGA UMA
CX POSTAL DO CORREIO QUE POSSUI A
INDENTIFICAÇÃO 23;

O CORREIO SABE QUE A CX POSTAL 23
PERTENCE AO JOSÉ DA SILVA

O JOSÉ DA SILVA DIVULGA PARA TODO
MUNDO QUE CARTAS ENDEREÇADAS A ELE
DEVEM SER ENDEREÇADO PARA A CX
POSTAL 23
IDENTIFICANDO O DESTINO FINAL.
 EM UM AMBIENTE MULTIPROGRAMADO, UM
PROGRAMA EM EXECUÇÃO É UM PROCESSO E
DESTA FORMA POSSUI UMA IDENTIFICAÇÃO
PERANTE O SISTEMA OPERACIONAL.
 UMA MENSAGEM TEM COMO DESTINO
FINAL, UM PROCESSO QUE É EXECUTADO EM
ALGUMA MÁQUINA DA REDE.
 PROBLEMAS QUE OCORREM COM OS
PROCESSOS PODEM SER:
- UM PROCESSO PODE TRAVAR
- NECESSITAMOS RECARREGAR O
PROCESSO PARA VALIDAR MODIFICAÇÕES
- SISTEMA OPERACIONAL TRAVA.
A SOLUÇÃO PARA OS PROBLEMAS.
A SOLUÇÃO PARA OS PROBLEMAS ANTERIORES É
UTILIZAR UM SISTEMA DE CAIXA POSTAL,
ONDE TODAS AS MENSAGENS QUE CHEGAM SÃO
DEPOSITADAS E A SEGUIR ENVIADAS PARA O
PROCESSO DE DESTINO.
A CAIXA POSTAL CORRESPONDE AO ENDEREÇO
FIXO DO PROCESSO, INDEPENDENTE QUAL
SEJA A IDENTIFICAÇÃO DO PROCESSO DENTRO
DO SISTEMA OPERACIONAL.
EXEMPLO DE UM SISTEMA DE CX POSTAL
SITUAÇÃO 1
EXEMPLO DE UM SISTEMA DE CX POSTAL
SITUAÇÃO 2
O PROTOCOLO TCP/UDP UTILIZAÇÃO O
CONCEITO DE CX POSTAL (PORT) PARA RECEBER
OS PACOTES E ENTREGA-LOS AO PROGRAMA.
 CADA PORT ESTÁ ASSOCIADO UM ÚNICO
PROCESSO.
 CADA PORT É IDENTIFICADO POR UM
INTEIRO POSITIVO
 O ACESSO A PORTA É FEITO DE FORMA
SÍNCRONA E BLOCANTE.
 AS PORTAS SÃO BUFFERIZADAS EM UMA
FILA FINITA PARA POSTERIOR
PROCESSAMENTO
 PARA COMUNICAR COM UMA PORTA REMOTA ,
O EMISSOR NECESSITA SABER O ENDEREÇO IP
E O PORT NUMBER DE DESTINO.
COMUNICAÇÃO ENTRE DOIS PROCESSOS
ATRAVÉS DE PORT
USER DATAGRAMA PROTOCOL
UDP
CARACTERÍSTICAS GERAIS - UDP
 FORNECE O MECANISMO DE PORT PARA
DISTINGUIR MULTIPLOS PROGRAMAS QUE
EXECUTAM NA MESMA MÁQUINA.
 CADA MENSAGEM UDP CONTÉM O PORT
NUMBER DE ORIGEM E DESTINO, TORNANDO
POSSÍVEL QUE O SOFTWARE UDP ENTREGUE A
MENSAGEM NO LOCAL CORRETO
 UDP UTILIZA A MESMA SEMANTICA DO IP,
OU SEJA, NÃO-CONFIABILIDADE, ENTREGA DE
DATAGRAMA SEM CONEXÃO
CARACTERÍSTICAS GERAIS - UDP
 NÃO USA ACK PARA CONFIRMAR A CHEGADA
DA MENSAGEM
 NÃO ORDENA MENSAGENS VINDO.
 NÃO PROVE “FEEDBACK” PARA CONTROLAR A
VAZÃO DE INFORMAÇÃO ENTRE AS DUAS
MÁQUINAS.
 AS MENSAGENS PODEM SER PERDIDAS
DUPLICADAS OU CHEGAR FORA DE ORDEM.
CARACTERÍSTICAS GERAIS - UDP
 UMA APLICAÇÃO QUE UTILIZA UDP ACEITA
TOTAL RESPONSABILIDADE POR MANIPULAR
PROBLEMAS DE CONFIABILIDADE, INCLUINDO
MENSAGEM PERDIDA, ATRASO, ENTREGA FORA
DE ORDEM E PERDA DE CONECTIVIDADE
EXEMPLO DE PROGRAMA QUE FAZ CONTROLE DE
SEQUÊNCIA
Estrutura de dados
struct mensagem
{
int sequência;
char msg [4096];
}
observação:
sequência == -1
indica erro de sequência ----
FUNÇÃO QUE RECEBE UM PACOTE
receber ( struct mensagem *buffer )
{
rcv (buffer)
if ( buffer.sequência != sequência_esperado )
then
buffer.sequencia = -1;
}
envia ( buffer ); /* envia mensagem de conf. */
FORMATO DO PACOTE UDP
DESCRIÇÃO DE CAMPOS DA MENSAGEM UDP
CAMPO
DESCRIÇÃO
SOURCE PORT
DESTINATION PORT
MESSAGE LENGTH
PORTA ORIGEM
PORTA DE DESTINO
COMPRIMENTO DO
DATAGRAMA
INCLUINDO CABEÇALHO
E DADOS
É OPCIONAL
CHECKSUM
PORTAS RESERVADAS NO PROTOCOLO UDP
TRANSMISSION CONTROL PROTOCOL
(TCP)
COMO PROVER CONFIABILIDADE NA ENTREGA
DE UMA DATAGRAMA ????
RESPOSTA....
 O RECEPTOR DA MENSAGEM DEVE DEVOLVER
UMA RESPOSTA DE CONFIRMAÇÃO DE CHEGADA
DE MENSAGEM.
 O EMISSOR DEVE AGUARDAR UMA RESPOSTA
DO RECEPTOR.
MECANISMO DE CONFIABILIDADE
PERDA DE PACOTE
DUPLICAÇÃO DE PACOTE
MELHORANDO A UTILIZAÇÃO DO MEIO.
NECESSIDADE DE ENTREGA CONFIÁVEL.
 PARA A TRANSFERÊNCIA DE GRANDES
QUANTIDADES DE DADOS, UTILIZANDO O
SISTEMA DE ENTREGA SEM CONEXÃO E SEM
CONFIABILIDADE, É NECESSÁRIO PROGRAMAR A
DETECÇÃO E RECUPERAÇÃO DE ERROS EM CADA
APLICAÇÃO.
 POUCOS DESENVOLVEDORES DE APLICAÇÃO
POSSUI O CONHECIMENTO TÉCNICO PARA ISSO.
 PESQUISADORES DESENVOLVERAM UM
PROTOCOLO DE USO GERAL QUE GARANTE UMA
ENTREGA CONFIÁVEL, ISOLANDO A APLICAÇÃO
DE DETALHES DE REDE.