Você está na página 1de 68

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
Supervisório
Usuá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

Ir p/ primeira página
Súmula
 Introdução  Sub-redes
 Protocolo IP  Domínios
 Enderecamento IP
 Modelo Cliente Servidor
 ARP
 ICMP  Protocolo de Aplicação
 TCP  Diagnóstico
 UDP

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
Interface de rede
Físico Intra rede

Ir p/ primeira página
Família de protocolos TCP/IP

arp rlogin,ftp,... NFS,DNS,.. tracert

TCP UD
P
IP 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 Dados H4

H3 Dados Dados H3

H2 Dados Dados H2

H1 Dados Dados 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 FTP SMTP (mail)

ICMP 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
( até 16.777.214 máquinas)
 w na faixa de 0 a 126

0 7 8 16 24 31
0 netid hostid

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 8 16 24 31
1 0 netid hostid

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 8 16 24 31
1 1 0 netid hostid

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 w x.y.z 16777214
A 127 loopback
B 128-191 w.x y.z 65534
C 192-223 w.x.y 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 24 31
Ver IHL Serviço Tamanho total
Identificação Flags Offset frag.
TTL Proto 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 Serviço
0 IP - pseudo
1 ICMP
6 TCP
17 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 24 31
Tipo Hardware Tipo de protocolo
HLEN PLEN Operação
Sender HA(octetos 0 à 3)

Sender HA(4-5) SENDER IP (0-1)


Sender IP(2-3) 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
 GGP - Gateway-to-Gateway
Utilitários
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-a-


porta
Ir p/ primeira página
 Usado para aplicações cliente-
servidor, 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
Caracol
Castor

... castor 1456 caracol 21 castor 1456

... castor 1684


TCP
caracol 21 castor 1684

... rubi 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 Serviço
15 netstat
21 ftp
23 telnet
25 smtp (mail)
Ir p/ primeira página
TCP - Pacote
0 8 16 24 31
Porta Origem Porta Destino
Número de Sequência
Número de Acknowledge
HLEN Cód Janela
Checksum 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

Espera pelos socket()


Cria um socket
Clientes

accept() connect()
Ao aceitar a conexão um novo Conecta ao servidor
socket deve ser criado e o original
aguarda novas conexões

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() sendto()/recvfrom()

close() close()
Encerra a conexão 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

Você também pode gostar