TCP_IP_01

Propaganda
TCP-IP
J.Netto
Ir p/ primeira página
Apresentação




Conceituação básica
Princípio de funcionamento
Protocolos de rede e transporte
Aplicações e Diagnósticos
Ir p/ primeira página
Necessidades de uso de
redes

Compartilhamento de recursos e
informações
Impressora
Disco
Rede
Usuário
Supervisório
Ir p/ primeira página
Conceito INTERNET



Independência tecnológica de rede
e de sistema operacional
Interconexão universal
Confirmação ponto-a-ponto
Ir p/ primeira página
Internet
G
G
G
Ir p/ primeira página
Súmula


Introdução
Protocolo IP
 Sub-redes
 Domínios
Enderecamento IP
 Modelo Cliente Servidor
 ARP
 Protocolo de Aplicação
 ICMP



TCP
UDP
 Diagnóstico
Ir p/ primeira página
Introdução


Protocolo: Conjunto de regras que
determinam como o hardware e o
software de uma rede devem
interagir para transmitir e receber
informacões.
Utilização de um conjunto de
protocolos cooperantes
Ir p/ primeira página
Introdução

Porque uma família de protocolos?
 Falha
de hardware
 Congestionamento de rede
 Atraso e/ou perda de pacotes
 Erros de transmissão
 Duplicacão de dados e/ou erros de
sequenciamento
Ir p/ primeira página
Introdução

TCP-IP
 Padrão
de facto
 Início do desenvolvimento pelo
DARPA (Defense Advanced
Research Projects Agency)
 Protocolo da INTERNET (milhares
de computadores conectados)
 Protocolos abertos (RFCs)
Ir p/ primeira página
Organização em
camadas
 ISO/OSI
 Internet
S/A/Aplic.
Aplicações
Transporte
TCP
Rede
IP
Enlace
Físico
Interface de rede
Intra rede
Ir p/ primeira página
Família de protocolos TCP/IP
arp
rlogin,ftp,...
TCP
IP
NFS,DNS,..
tracert
UD
P
ICMP
ARP , Device drivers
rede
Ir p/ primeira página
Família TCP/IP






Device drivers: Acesso ao
hardware de rede
ARP: Address Resolution Protocol
IP: Internet Protocol
ICMP: Internet Control Message
Protocol
TCP: Transmission Control
Protocol
UDP: User Datagram Protocol
Ir p/ primeira página
Encapsulamento de
dados


Quebra em pacotes
Tráfego de sequência de bits
H4 Dados
H3 Dados
H1
Dados
Dados
H2 Dados
Dados
Dados
Dados
H4
H3
H2
H1
Hx - Cabeçalho (Header) - Controle
Dados - Não tratado pelo nível x
Ir p/ primeira página
Exemplo: TCP-IP sobre
ethernet
Preâmbulo
dstadr srcadr tipo
dados (ex. tcp/ip)
crc
Tipo: Serve para identificar qual o protocolo que esta dentro do pacote
Ir p/ primeira página
Pacotes auto
identificados
Telnet
ICMP
FTP
SMTP (mail)
TCP
UDP
IP
ARP
Outro Protocolo
Demultiplexa (tipo)
Pacote chega
Ir p/ primeira página
Protocolo IP - Internet
Protocol




Se encarrega da “entrega” das mensagens
na rede
Serviço não orientado a conexão (não
estabelece circuito virtual)
Não oferece garantia que o datagrama chega
ao destino
Entrega as mensagens baseado em um
endereço único para cada máquina =
endereço IP
Ir p/ primeira página
Endereçamento IP


O nível IP gerencia os pacotes de
bits de acordo com o endereço IP
do destinatário
Pacotes
 trafegam
dentro de uma mesma
rede
 trafegam de uma rede local à outra
(routing)
Ir p/ primeira página
Endereço IP


Contém a indicação da rede e da máquina
(host) dentro da rede
Cada computador possui um único número
de 32 bits = endereço INTERNET
Endereço dividido em 4 campos de 8 bits
 Cada campo é representado por um número entre 0 e
255, e são separados por um ponto


exemplo:
143.54.12.12 (w.x.y.z)
Ir p/ primeira página
Classes de Endereços


Divididos em três classes: A, B e C
Classe A: redes com grande número de
máquinas
7
bits para netid e 24 bits para
hostid
( mais de 65536 máquinas)
 w na faixa de 0 a 126
0
0
netid
7 8
16
hostid
24
31
Ir p/ primeira página

Classe B: redes com médio número de
máquinas
 14
bits para netid e 16 bits para
hostid
( até 65534 máquinas)
 w na faixa de 128 a 191
0
1 0
8
netid
16
hostid
24
31
Ir p/ primeira página

Classe C: redes com pequeno número
de máquinas
 21
bits para netid e 8 bits para
hostid
(entre 1 e 254 máquinas)
 w na faixa de 192 a 233
0
1 1 0
8
netid
16
24
hostid
31
Ir p/ primeira página
Endereçamento
abrangente (broadcast)


Endereço da rede: contém hostid
com todos os bits em zero (0) (não
se refere aos hosts)
Endereço de broadcast (refere-se
a todos os hosts): hostid com
todos os bits em um (1) (limitado a
uma rede física)
Ir p/ primeira página
Casos especiais


Hosts com duas conexões às
redes(multi homed): dois
endereços IP (ex. gateways)
Loopback: 127.0.0.1 Rede para
teste e comunicação entre
processos de uma mesma
máquina (nunca aparece como
endereço de fonte ou destino na
rede)
Ir p/ primeira página
Casos especiais



Todos os bits em zero: O próprio host usado apenas para startup e não
aparece como endereço de destino
Todos os bits de netid em zero: Um host
específico na rede onde trafega o pacote
- usado para startup e não aparece
como endereço de destino
Todos os bits de hostid em um (1):
broadcast para a rede onde trafega o
pacote
Ir p/ primeira página
Endereços IP - Resumo
Classe byte w netid
hostid
Número de
hosts
A
1-126
x.y.z
16777214
A
127
B
128-191 w.x
C
192-223 w.x.y
w
loopback
y.z
65534
254
224-239 protocolos especiais (IGMP,...)
Ir p/ primeira página
Subredes




Divisões lógicas de uma rede
Transparente para o mundo externo
Roteamento baseado em pares
(rede,subrede)
Máscara para determinar a subrede
Ir p/ primeira página
Subnets masks


Valores 32 bits que permite ao
destinatário separar netid do hostid
Representado em notação decimal
com pontos
 bits
em 1 - netid
 bits em 0 - hostid
 máscaras defaults = as classes de
redes
(255.0.0.0, 255.255.0.0, 255.255.255.0)
Ir p/ primeira página



Exemplo: 143.54.y.z rede ufrgs
Subnetmask: 255.255.255.0 - 256
subredes, com 255 hotst cada
143.54.12.1 (castor)
143.54 - endereço de rede (classe
B)
12 - endereço de subrede
1 - hostid
Ir p/ primeira página
Protocolo IP




Distribuição de pacotes para
outros protocolos
Serviço não orientado a conexão
(pacotes independentes)
best-effort
responsabilidade do contúdo é
garantido pelos protocolos de alto
nível
Ir p/ primeira página
Protocolo IP Parâmetros

MTU - Maximum Transfer Unit
 Segmentação
em subredes com
MTUs diferentes
 Otimizção: depende da rede

TTL - Time to Live
Tempo que o datagrama pode ficar
na rede
TTL=0 discarta o datagrama
Ir p/ primeira página
Datagrama IP
0
8
16
Ver IHL Serviço
Identificação
TTL
24
Tamanho total
Flags
Proto
31
Offset frag.
Header Checksum
IP Origem
IP Destino
Opções
Padding
Dados
Ir p/ primeira página
Datagrama IP
Tipo de Serviço
Precedência D
T
R
Delay
Reliability
Throughput
Flags
DF MF
More Fragments
Don’t Fragment
Ir p/ primeira página
Fragmentação
Ir p/ primeira página
Fragmentação e MTU
Ir p/ primeira página
Protocolo IP Multiplexação

Convenção para auto identificação
dos datagramas
Protocol
0
1
6
17
Serviço
IP - pseudo
ICMP
TCP
UDP
Ir p/ primeira página
ARP (Address
Resolution Protocol)




Descobrir o endereço físico de uma
máquina na rede local, conheendo
apenas o endereço IP.
Usa broadcast para perguntar o
endereço físico do destinatário das
mensagens
Encapsulado no frame do nível físico
Utiliza uma cache para reduzir o número
de consultas
Ir p/ primeira página
RARP (Reverse Address
Resolution Protocol)



Descobrir o próprio endereço IP no boot
da máquina
Também usa broadcast do nível físico
Resposta de aceite do endereço no caso
de multiplos servidores
Ir p/ primeira página
Formato ARP /RARP e
utilitário arp
0
8
16
Tipo Hardware
HLEN
PLEN
24
31
Tipo de protocolo
Operação
Sender HA(octetos 0 à 3)
Sender HA(4-5)
Sender IP(2-3)
SENDER IP (0-1)
Target HA(0-1)
Target HA(2-5)
Target IP(0-3)
Ir p/ primeira página
ICMP - Internet Control
Message Protocol




Usado para detectar erros e testar
a conectividade
Encapsulado em um datagrama IP
PING usa ICMP echo request e
echo replay
utilitário ping
ping -t -i 5 rubi.inf
Ir p/ primeira página
Encapsulamento ICMP
Ir p/ primeira página
Roteamento e Gateways




Gateway - Conhece as redes
ligadas ã sua rede local
Cada host pode manter tabelas
para destinatários específicos
Gateway mantém tabelas de
roteamento
Default Gateway
Ir p/ primeira página
Default gateway

Se IP não pertence a rede local:
 Tabela
local
 Default gateway


Utilitário route
Em caso de falha, apenas tráfego
local
Ir p/ primeira página
Roteamento “distribuido”
Ir p/ primeira página
Tabela de roteamento
Ir p/ primeira página
Algoritmos de
Roteamento (princípios)

A rede é vista como um grafo
O
problema é achar o menor
caminho!
Ir p/ primeira página
Ir p/ primeira página
Gateway - Protocolos
Utilitários



GGP - Gateway-to-Gateway
protocol
EGP - External Gateway protocol
(sistemas autônomos)
IGP - Internal Gateway Protocol
(gateways do mesmo sistema)
 RIP
!
- Routing Information Protocol
Laços no processo de roteamento
Ir p/ primeira página
UDP - User Datagram
Protocol




Serviço de datagrama sem
conexão (como IP)
Usado para troca de dados em
redes confiáveis
Checagem dos dados no protocolo
de aplicação
Usa ports para identificar o
destinatário
Ir p/ primeira página
Ports





Usado para identidicar a aplicação
Macanismo para tornar-se independente
da numeração local dos processos
O remetente deve conhecer o número
de porta do destinatário
Existem ports pré-determinadas para os
serviços destinatários mais comuns
Portas do remetente determinada pelo
SisOp
Ir p/ primeira página
TCP - Transmission
Control Protocol



Serviço orientado a conexão (préestabelecimento da comunicação)
Garante a entrega de pacotes
(Acknolegements - ACKs)
Comunicação confiável
 Assegura
o sequenciamento
 Usa checksums

Protocolo de comunicação porta-aporta
Ir p/ primeira página



Usado para aplicações clienteservidor, serviços críticos,...
Faz a multiplexação de
mensagens para as aplicações
Conexão (IP,port) <--> (IP,port)
Permite multiplas sessões do
mesmo serviço
Ir p/ primeira página
TCP - Exemplo

FTP - port 21
Castor
...
castor 1456
castor 1684
rubi
1684
TCP
...
...
Caracol
caracol 21
castor 1456
caracol 21
castor 1684
caracol 21
rubi
1684
Rubi
Ir p/ primeira página
TCP - Visão de
comunicação
Ir p/ primeira página
TCP - Confiabilidade
Ir p/ primeira página
TCP - timeout adaptativo

Verifica o tempo de resposta e
ajusta o timeout
Ir p/ primeira página
TCP - Janela deslizante
Ir p/ primeira página
TCP - Estabelecimento de
conexão
Ir p/ primeira página
TCP - Parâmetros



MSS - Maximum segment Size
Padronização de ports
Controle de Congestionamento
Port
15
21
23
25
Serviço
netstat
ftp
telnet
smtp (mail)
Ir p/ primeira página
TCP - Pacote
0
8
16
Porta Origem
24
31
Porta Destino
Número de Sequência
Número de Acknowledge
HLEN
Cód
Checksum
Janela
Urgente
Dados
Ir p/ primeira página
Cliente/Servidor


Modelo usado para construir
aplicações
Servidor em número de porta
conhecido
 Aceita
requisições e executa
serviços

Cliente tem número de porta
variável
 Envia
requisições e espera
resposta
Ir p/ primeira página
Aplicações



FTP - File transfer protocol
Telnet
Mail
 SMTP
- Simple mail transfer
protocol
 POP - Post Office Protocol

NFS - Network File System
Ir p/ primeira página
Interface Aplic.Transporte

API Socket
 Provê
as funções de inicialização
do nível de transporte, gerência de
portas e primitivas de
transmissão/recepção de dados.
 A associação protocolo/porta é
chamada de socket (encaixe,
toamda, ponto de conexão)
Ir p/ primeira página
Orientado a conexão (TCP/streams)
socket()
Cria um socket
bind()
Atribui nome
listen()
Aguarda conexões
socket()
Espera pelos
Clientes
Cria um socket
accept()
connect()
Ao aceitar a conexão um novo
socket deve ser criado e o original
aguarda novas conexões
Conecta ao servidor
send()/recv()
send()/recv()
close()
close()
Encerra a conexão
Encerra
a conexão
Ir p/ primeira página
Sem conexão (datagrama/UDP)
socket()
Cria um socket
bind()
Atribui nome
Espera pelos
Clientes
socket()
Cria um socket
sendto()/recvfrom()
close()
Encerra a conexão
sendto()/recvfrom()
close()
Encerra a conexão
Ir p/ primeira página
Administração





Obter endereços IP
Registrar domínio
Criar subredes
Manter tabelas de configuração
Diagnosticar e resolver problemas
Ir p/ primeira página
Diagnóstico - utilitários







ping
arp
ifconfig
netstat
tracert
tcpdump
etherload
Ir p/ primeira página
Vocabulário

Resumo dos termos
TCP
 IP
 Winsock
 Subnet mask
 MTU
 MSS, ...

Ir p/ primeira página
Onde obter mais
informação

Livros
 Comer,
Internetworking with
TCP/IP
 Soares, Redes de Computadores
 Ethernet, internet, slip, manuais

RFCs
 spot.
colorado.edu
 sunic.sunet.se

Servidores WEB (Lycos, etc...)
Ir p/ primeira página
Download