View
103
Download
0
Category
Preview:
Citation preview
Ir p/ primeira página
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
Disco
SupervisórioUsuário
Impressora
Rede
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
Enderecamento IP ARP ICMP
TCP UDP
Sub-redes Domínios Modelo Cliente
Servidor Protocolo de Aplicação 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
S/A/Aplic.
Transporte
Rede
Enlace
Físico
Aplicações
Interface de redeIntra rede
TCP
IP
Internet
Ir p/ primeira página
Família de protocolos TCP/IP
ARP , Device drivers
IP ICMP
TCP UDP
rlogin,ftp,... NFS,DNS,.. tracertarp
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
H1
H2
H3
H4
H1
H2
H3
H4
Dados
Dados
Dados
Dados Dados
Dados
Dados
Dados
Hx - Cabeçalho (Header) - ControleDados - Não tratado pelo nível x
Ir p/ primeira página
Exemplo: TCP-IP sobre ethernet
Preâmbulo dstadrsrcadr 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
Pacote chega
Demultiplexa (tipo)
IPIP ARPARP Outro ProtocoloOutro Protocolo
ICMP TCP UDP
Telnet FTP SMTP (mail)
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 netid hostid0 7 8 16 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 netid hostid0 16 24 311
8
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 netid hostid0 16 24 311
81
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 dehosts
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
Throughput
Reliability
FlagsDF 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ço0 IP - pseudo1 ICMP6 TCP17 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
Tipo Hardware Tipo de protocolo
HLEN PLEN Operação
Sender HA(octetos 0 à 3)
SENDER IP (0-1)Sender HA(4-5)
Sender IP(2-3) Target HA(0-1)
Target HA(2-5)
Target IP(0-3)
0 8 16 24 31
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 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
Utilitários
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
castor 1456 caracol 21
castor 1684 caracol 21
caracol 21rubi 1684
castor 1456
castor 1684
rubi 1684TC
P
CaracolCastor
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ço15 netstat21 ftp23 telnet25 smtp (mail)
Ir p/ primeira página
TCP - Pacote
0 8 16 24 31
Porta Destino
Número de Sequência
Dados
Porta Origem
Número de Acknowledge
JanelaHLEN Cód
Checksum Urgente
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
socket()Cria um socket
bind()Atribui nome
listen()Aguarda conexões
Espera pelosClientes
accept()Ao aceitar a conexão um novo
socket deve ser criado e o original aguarda novas conexões
send()/recv()
close()Encerra a conexão
socket()Cria um socket
connect()Conecta ao servidor
send()/recv()
close()Encerra a conexão
Orientado a conexão (TCP/streams)
Ir p/ primeira página
Sem conexão (datagrama/UDP)
socket()Cria um socket
bind()Atribui nome
Espera pelosClientes
sendto()/recvfrom()
close()Encerra a conexão
socket()Cria um socket
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...)
Recommended