Você está na página 1de 79

TRANSPORTE &

INTERNET
CARLOS BUGS
MARCOS BORSOI

INTERNETWORKING

INTERNETWORKING

Algumas Motivaes:

Os computadores s podiam se comunicar com


outros computadores se estivessem na mesma
rede

Problema acentuado nos anos 70 com redes de


diferentes marcas.

Cada rede individual formava uma ilha isolada de


dados dentro das organizaes.

Internetworking
Primeiros ambientes:

Cada tarefa era executada somente na rede apropriada que a


acomodava.
Funcionrios tinham acesso a mltiplos computadores, de
mltiplas redes, gerando problemas de segurana e....
Funcionrios eram obrigados a se mover de um computador a
outro para o envio de dados em cada uma das redes
Baixa produtividade e insatisfao dos clientes

Open Systems
O CENRIO ANTERIOR MOTIVOU A CRIAO DE UM
SERVIO UNIVERS AL DE COMUNICAO DE DADOS.

QUALQUER USURIO, INDEPENDENTEMENTE DO


COMPUTADOR E DA REDE QUE ESTIVER US ANDO
DENTRO DA ORGANIZAO, PODE ENVIAR DADOS
PARA QUALQUER OUTRO COMPUTADOR

Desafios Internetworking na Internet

Os elementos roteadores devem concordar sobre o


repasse da informao entre as redes.
A existncia de diferentes formatos de frames e
esquemas de endereamento nas vrias redes
interligadas torna a tarefa mais complexa
A camada de rede (ou, de inter-redes) a camada
que torna possvel a implementao de um servio
universal de comunicao

Tipos de Operao

Orientado a conexo(Connection oriented)

Sem conexo(Connectionless)

Operao Orientada a Conexo

Antes que qualquer informao seja transmitida


entre duas estaes, uma fase de estabelecimento
de conexo virtual/lgica deve ser realizada com o
objetivo de permitir rede reservar os recursos
necessrios. Se os recursos disponveis no forem
suficientes, tal conexo ser recusada. Ao final da
transmisso os recursos da rede so desalocados e
a conexo encerrada.

Operao sem Conexo

O servio mais importante da interligao em redes um sistema de


entrega de pacotes.
O servio definido como sem conexo, best-effort e no confivel.
Sem conexo: cada pacote(datagrama) independente dos outros.
Sua transferncia no tem qualquer relao com os que antecederam
ou os que viro.
No confivel: a entrega do pacote no garantida. Pode ser
corrompido, perdido, duplicado, chegar atrasado ou fora de ordem.
Best-effort(maior esforo): a entrega s no acontece quando os
recursos esto exauridos ou a rede falha.

Operao sem Conexo

O protocolo da rede deve ser comum a todos os DTEs e roteadores conhecido


como protocolo inter-redes(IP)

Vantagens:
Flexibilidade - pode lidar com um grande gama de redes,
algumas delas do tipo sem conexo;
Robustez - O protocolo reage a falhas e congestionamento
atravs da escolha
de uma rota diferente.
No contm overhead desnecessrio.
Desvantagem:
No confivel:
No garante a entrega do datagrama;

IP Internet Protocol

O IP o protocolo da camada de rede da arquitetura TCP/IP que


implementa o servio de entrega de pacotes no confivel, noorientado a conexo, operando segundo o esquema best-effort.
Seu princpio bsico rotear os pacotes atravs de um conjunto de
redes interconectadas arbitrariamente

Roteamento o processo de escolha de um caminho para qual


sero enviados os pacotes
Roteador o elemento da rede que toma tal deciso.

O pacote roteado pelo IP com base no endereo destino que ele


carrega no cabealho

IP Internet Protocol

(operao)

Se um host A quer se comunicar com um host B localizado


em uma rede remota, ele deve transmitir o pacote para um
roteador diretamente conectado a sua rede local.
O roteador encaminha ento o pacote atravs do sistema
interconectado de redes e roteadores, at que,
eventualmente, o pacote chega a um roteador que est na
mesma rede do host destino. Este roteador, entrega o
pacote ao host B na rede destino.

IP e o Modelo OSI

Caractersticas IP

Endereamento: Independente da rede fsica


Encapsulamento: Cria um cabealho com informaes
de controle, que anexado aos dados vindo da camada
de transporte(ex: TCP ou UDP) ou de usurios da prpria
camada de rede( ex: ICMP ou IGMP)
Retransmisso de dados: No h suporte para
retransmitir dados perdidos ou corrompidos.

Caractersticas IP

Controle de fluxo: No existe nenhum mecanismo.


Sequenciamento de pacotes: No existe. A entrega pode ser fora
de ordem.
Fragmentao e Remontagem de pacotes: Quebra os pacotes em
pedaos menores para que atravessem redes com menor valor de
MTU(Maximum Transmission Unit).
Controle de erros: mnimo. Apenas um checksum de 16 bits no
cabealho que usado pelas estaes receptoras para validar os
dados de controle.

Caractersticas IP

TOS (Type of Service): As aplicaes podem requisitar diferentes


nveis de desempenho para a entrega do pacote.

Questionamento: Por que usar um servio sem garantia


de entrega e sem confirmao de recebimento de
dados?

Caractersticas IP

Estabelecer conexes, garantir entrega, checagem de erros,


controle de fluxo e outras funes tem um alto custo:
performance.
Custa tempo, recursos do computador e largura de banda
executar tais tarefas e elas no so necessrias para todas as
aplicaes.

Datagrama
O datagrama a unidade bsica de dados do nvel IP, ou nvel de
rede. Um pacote IP est dividido em duas reas: cabealho e dados.

Cabealho: Contm toda a informao necessria para identificar


o contedo do datagrama e tomar decises de roteamento,
dentre outras funes do IP.
Dados: Est encapsulado unidade de dados do nvel superior,
ou seja um segmento TCP ou UdP ou da prpria camada (pacote
ICMP ou IGMP).

Formato do Datagrama(IPv4)

Datagrama IPv4
Verso (Version):
Indica a verso corrente do protocolo
Garante que transmissor, receptor e gateways
esto de acordo em relao ao formato do
protocolo
Tamanho do Cabealho (Header Length):
medido em nmero de palavras de 32 bits(4
bytes)
A maioria possui 5 palavras, que o tamanho

Datagrama IPv4
Tamanho Total (Total Length)
Tamanho do pacote, expresso em bytes
Inclui cabealho + dados
Se o pacote for fragmentado, este campo indica
o tamanho do fragmento e no do pacote
original.

Datagrama IPv4
Endereo IP Origem e Destino (Source and
Destination IP Address):

Especificam os endereos IP de origem e de destino do


datagrama. com base no endereo de destino que o
pacote roteado pelo IP.

Esses nmeros seguem inalterados durante toda


transmisso

Datagrama IPv4
Protocolo (Protocol):
Nmero do protocolo que est sendo
encapsulado no pacote IP.
Esses nmeros seguem inalterados durante toda
transmisso
Valores mais comuns:

Datagrama IPv4
Verificao de Soma (Header Checksum) :
Proteo bsica contra corrupo de dados
Cobre apenas o campo de cabealho
TOS (Type of Service)
Contm informaes de Qualidade de
Servio(QoS) que podem afetar a maneira como
o datagrama roteado

Datagrama IPv4
Sensibilidade das aplicaes aos parmetros de QoS:

Datagrama IPv4
Time to Live (TTL):
Tempo de vida do pacote.
importante devido a possibilidade de o pacote
circular indefinidamente na rede
Utiliza contador com nmero mximo de
hops(saltos), que decrementado cada vez que
passa em um roteador. Quando chega a zero, o
datagrama descartado.

Datagrama IPv4
Fragmentao:
Cada tecnologia de rede possui um valor
caracterstico de MTU Maximum Transmission
Unit.
Exemplo: Ethernet: 1500 bytes
ATM: 53 bytes
Para enviar datagramas maiores que a MTU da
rede, devemos ento fragment-lo. A remontagem
ocorrer na estao destino.

Datagrama IPv4
Ilustrao Fragmentao:

Datagrama IPv4
Cada fragmento recebe uma cpia do cabealho IP do
datagrama original e uma poro de dados

Datagrama IPv4
Fragmentao e Remontagem:
Quatro campos do cabealho IP controlam a
fragmentao e remontagem de datagramas:
Identification, Total Length, Fragment Offset e
Flags.
A perda de um fragmento implica na perda do
pacote inteiro.

Datagrama IPv4
Identificao(Identification):
um rtulo de identificao para o datagrama. O
transmissor atribui este valor ao datagrama
original. Todos os fragmentos de um datagrama
possuem o mesmo valor de identificao do
datagrama original.
Flags:
Determinam se um datagrama pode ou no ser
fragmentado.

Datagrama IPv4
Fragment Offset:
Indica o deslocamento do fragmento em relao ao
datagrama original. Permite ao IP executar a
remontagem dos fragmentos.
Processo de Fragmentao:
Primeiramente, examina-se o campo flag. Se o bit
DF(Dont Fragment) estiver em 1, significa que
roteador no pode fragmentar o datagrama em
nenhuma hiptese, pois o host de destino no

Datagrama IPv4
Se o bit DF=0, a poro de dados quebrada em
partes compatveis com o MTU do prximo link.
A cada parte atribudo um cabealho IP. Campos
que sero iguais aos do datagrama original:
Destination Address, Source Address, Protocol e
Identification
Campos que sero atribudos para cada fragmento,
separadamente:
Total Lenght, Fragment offset, Checksum

Datagrama IPv4
Exemplo de Fragmentao:

Datagrama IPv4
Remontagem de Datagramas (reassembly) :
S estar completa quando existir um conjunto
contguo de dados no buffer da estao destino
A estao receptora usa um timeout de
remontagem. Se faltam fragmentos e o tempo se
esgota, os fragmentos so descartados e a estao
destino envia para origem uma mensagem ICMP de
Time Exceeded.

Datagrama IPv4
Ilustrao de Remontagem:

Datagrama IPv6
Algumas Motivaes:
Escassez de endereos IPv4. O espao de
endereamento limitado gera um problema para o
rpido crescimento da internet
Cabealho muito complexo do IPv4 dificulta o
roteamento
Falta de um servio especializado para o transporte de
udio e vdeo em tempo real

Datagrama IPv4 x IPv6


Algumas Semelhanas:
Admitem entrega sem conexo
Permite que o emissor escolha o tamanho de um
datagrama
Exigem que o emissor defina um TTL para o
datagrama

Datagrama IPv4 x IPv6


Algumas Diferenas:
Endereos maiores: O IPv6 tem um tamanho de
endereo 4x maior. (128 bits)
Formato de cabealho flexvel: Possui um conjunto de
cabealhos opcionais
Opes avanadas: O datagrama pode incluir
informaes de controle adicionais.
Extenso de protocolo: A capacidade de extenso d
mais flexibilidade

Datagrama IPv4 x IPv6


Suporte para autoconfigurao: Endereos locais
podem ser atribudos automaticamente.

CAMADA DE TRANSPORTE

PROTOCOLO DE TRANSPORTE
Fornece um servio fim a fim para a camada de
Aplicao
Libera as camadas superiores para focar na soluo
No precisa se preocupar com tipo de rede
Detalhes de hardware
Roteamento
Gerenciamento de fluxo, erros, delays etc.

COMUNICAO FIM A FIM


TRANSPARENTE

PROTOCOLOS CAMADA TRANSPORTE


TCP
Orientado a conexo
Transferncia confivel de dados
Garantia de entrega sem erros, em sequencia e sem dados
duplicados

UDP
Servio no confivel
Sem garantia de entrega
Baixo overhead

LOCALIZAO E INTERAO

CONCEITO IMPORTANTE: SOCKETS


Combinao de Ip + porta
Prov toda a informao de endereamento que um
cliente/servidor precisa saber
Numa conexo h dois sockets (A e B)

CONCEITO IMPORTANTE: SOCKETS


Sockets permitir diferenciar mltiplas conexes

CONCEITO IMPORTANTE: PORTA


A camada de transporte utiliza o conceito de porta para
identificar a aplicao
So 16 bits para endereo de portas
Portas de 0 -1203 so reservados a acessos padro (well-known
ports), como FTP e Telnet
As portas permitem que haja diversos processos em uma
mesma estao.
O nvel de transporte associa a porta como identificador de cada
processo da camada de aplicao.

CONCEITO IMPORTANTE: PORTA


Numero de portas, pblicos e globais, conhecidos por
todas as aplicaes.

CONCEITO IMPORTANTE: SEGMENTO


Corresponde a unidade de dados trocada entre as
entidades de transporte
O TCP livre para trabalhar com segmentos de
tamanhos diferentes
Normalmente o TCP espera haver uma boa quantidade
de dados no buffer para compor um segmento

CONCEITO IMPORTANTE: SEGMENTO


Exemplo segmentos com tamanhos distintos:

MODELO DE COMUNICAO DO TCP


Opera segundo modelo cliente - servidor
Quando o TCP recebe os dados da aplicao, ele os
armazena em um buffer de transmisso.
O TCP coleta parte dos dados que esto no buffer e
acrescenta o seu cabealho.

CARACTERSTICA GERAIS
As conexes utilizam o conceito de sockets
Permite estabelecer uma conexo parmetros previamente
negociados:
Qualidade
Tamanho dos segmentos
Segurana etc.

O estabelecimento da comunicao negociado de ambas as partes


Admite o trmino negociado ou abrupto da conexo
Timeout nas entregas de dados
Os dados so ordenados na entrega

CARACTERSTICA GERAIS
Permite a sinalizao de dados urgentes
Permite o relato de falha de servio
Permite a entrega obrigatria de dados (flag push)
Controle de fluxo
Controle de erros
Recuperao em caso de erros
Segmentao de dados para aumentar a eficincia da
transmisso.

ENDEREAMENTO
Repassa o endereo IP para a cama de rede efetuar o
roteamento
A informao da Porta includa no header da entidade de
transporte

Endereo do usurio destinatrio:


Conhece previamente o endereo
um endereo do tipo well know adresses : FTP, Telnet etc
Utiliza um servidor de nomes para encontrar o usurio destino
O destino um processo que gerado no momento que solicitado.

CONTROLE DE FLUXO
Garantir que a estao transmissora no envie mais dados do que a
estao receptora pode processar
Controle de congestionamento
complexo pois:
Interao de mltiplos usurios, entidades de transporte e servio de rede
Atrasos so inesperados e o seu tempo dinmico.

Quatro formas de lidar com buffer cheio:


No fazer nada (aumenta mais o problema)
Recusar recebimento de novos segmentos (passa o problema para a camada de rede)
Mecanismo de janela deslizante
Mecanismo de crdito

CONTROLE DE FLUXO: JANELA


DESLIZANTE
Utiliza cdigo para numerao em sequencia dos
segmentos
Uso de janela de tamanho fixo
Utiliza ACKs para avanar a janela
adequado em redes do tipo confiveis
Para redes no confiveis no adequado:
No sabe distinguir entre um ACK de controle de fluxo e perda de
segmento

CONTROLE DE FLUXO: JANELA


DESLIZANTE

CONTROLE DE FLUXO: ESQUEMA DE


CRDITO
Maior controle em redes confiveis
Maior eficincia em redes no confiveis
O receptor pode informar quantos pacotes extras (crditos), pode
receber
Desacopla o ACK do controle de fluxo
Pode receber diversos blocos sem necessitar do ACK imediato

Cada octeto de dados possui um nmero de sequencia.


E por fim cada segmento de transporte possui um header.
Numero de sequencia
ACK number
Tipo de janela

ESTABELECIMENTO DE CONEXO
Precisa ser seguro, pois a rede pode perder ou duplicar
pacotes
Ento o TCP utiliza um handshake de 3 vias.
Handshake:
Garante que os dois lados esto prontos para receber dados
Permite que ambos os lados combine o nmero de sequencia inicial de
cada um

ESTABELECIMENTO DE CONEXO

FECHAMENTO DA CONEXO
Fechamento abrupto: geralmente por falha em uma das
unidades
Fechamento normal
O usurio que quer encerrar a conexo envia o comando CLOSE
O TCP envia os dados pendentes, aguarda os ACKs e envia o comando
FIN
O outro lado confirma os pacotes recebidos + envia os pacotes
pendentes
E por fim confirma o fechamento, atravs do envio do segmento FIN
tambm

FECHAMENTO DA CONEXO

MQUINA DE ESTADO ABERTURA E


FECHAMENTO

TRANSFERENCIA DE DADOS: A -> B

ORDENAO DE SEGMENTOS
Devido a diversos atravs dinmicos, os segmentos podem
chegar fora de ordem.
Por isso muito importante a numerao sequencia dos
segmentos na hora de seu envio (est no cabealho do
segmento)
O TCP numero implicitamente cada octeto.
Os segmentos so numerados pelo nmero do primeiro octeto
do segmento
Foi incorporado um ACK cumulativo a fim de otimizar a
transmisso
Para deteco dos problemas, uso do TIMEOUT

RETRANSMISSO DE PACOTES
Segmento foi perdido
Segmento chegou ao destinatrio, contudo chegou danificado
O transmissor no tem cincia do problema
O receptor deve informar ento o recebimento bem sucedido dos
segmentos
Foi um incorporado um ACK cumulativo a fim de otimizar a transmisso
Para deteco dos problemas, uso do TIMEOUT
Pode ser valor fixo (preciso ter um valor adequado) a fim de evitar retransmisses
excessivas ou delay grande na deteco de problemas
Mtodo adapatativo
Dinmico e em funo do historio do tempo de recebimento do ACK
Pode haver problemas (condies da rede mudar, ACK no ser recebido imediatamente etc)

RETRANSMISSO DE PACOTES
S os pacotes sem confirmao de ACK

RETRANSMISSO DE PACOTES
Retransmite a partir do pacote que no foi recebido

FALHA EM UMA DAS ENTIDADES DE


TRANSPORTE
Em caso de falha, a informao contida no buffer perdida
A conexo fica HALF OPEN
O lado que no sofreu a falha no sabe do problema

Utiliza um CLOSE CONNECTION, atravs de um timeout


especfico.
Quando timer estourar fecha a conexo

Caso a estao se recupere antes do TIMEOUT, deve envia r um


RST em resposta a qualquer segmento recebido

TCP HEADER

TCP HEADER
Source Port: porta de origem, indica a aplicao que originou
os dados.
Destination Port: porta de destino, indica a aplicao ao qual
os dados sero entregues.
Sequence number: numero de sequencia do primeiro octeto
de dados.
Acknowledgement number: nmero de confirmao do
prximo octeto que a entidade espera receber.
Offset: tamanho do cabealho. Mnimo so 20 bytes.

TCP HEADER
BITS
URG: o campo Urgent Point est ativo permite de maneira
estruturada que o transmissor envie um sinal ao receptor sem envolver
o servio TCP
ACK: campo ACK ativo
PSH: funo push fora a entrega dos dados
RST: ressetar a conexo
SYN: sincroniza nmero de sequencia
FYN: no h mais dados do transmissor

TCP HEADER
WINDOW: Mecanismo de crdito de dados que o receptor
pode receber, a partir do nmero indicado no campo ACK
URGENTE POINTER: Permite ao receptor saber quantos dados
urgentes esto chegando.
CHECKSUM: utilizado para verificar a integridade dos dados
recebidos
OPTIONS: especifica o tamanho mximo de cada segmento

UDP [RFC 768] - OVERVIEW


O UDP prov um servio de transao simples.
Menor overhead quando comparado ao TCP
Oferece um servio de entrega best-effort
Segmentos de dados podem ser perdidos
Segmentos de dados podem chegar fora de ordem

Protocolo no orientado a conexo


No possui handshaking entre origem e destino
Cada segmento UDP completamente independente dos demais

No existe o conceito de recebimento de ACK


Todos os checks devem ser suportados pela APLICAO

UDP [RFC 768] - CARACTERSTICAS


rpido
simples
No mantm estado de conexo de origem e destino
Apresenta um cabealho pequeno
Sem controle de congestionamento
Sem controle de erro

UDP [RFC 768] - APLICAES


O UDP ideal para aplicaes de monitoramento, gerncia,
debugging e testes.
tambm adequado para aplicaes de broadcast e multicast.
frequentemente usado em aplicaes multimdia, que so
tolerante a erros e sensveis taxa de transmisso.
Principais usurios:
NFS - sistema de arquivos
SNMP - gerncia de redes
TFTP - transferncia de arquivos
DNS - servio de nomes

UDP [RFC 768] - CABEALHO


O CHECKSUM do cabealho pode ser muitas vezes ser a
nica forma de garantir integridade dos dados
LENGHT indica o tamanho da mensagem incluindo o
cabealho.

FIM

Obrigado
!