Aulas 24 & 25
Protocolos das Camadas Superiores:
TCP/ IP & ATM
Eytan Modiano
Massachusetts Institute of Technology
Laboratory for Information and Decision Systems
1
Tópicos Apresentados
• Camada de rede e Internetworking
• A pilha de protocolos TCP/ IP
• ATM
• MPLS
2
Camadas Superiores
3
Comutação a Pacote
•
•
•
•
Comutação a pacote por datagrama
– As rotas são escolhidas de pacote para pacote.
– Diferentes pacotes podem seguir rotas distintas.
– Pacotes podem chegar fora de ordem ao seu destino.
– Por ex.: IP (Internet Protocol).
Comutação a pacote por circuito virtual
– Todos os pacotes associados com uma sessão seguem o mesmo caminho.
– A rota é escolhida no início da sessão.
– Pacotes são etiquetados com o número do VC que designa a rota.
– O número VC deve ser único em um dado enlace mas pode mudar de
enlace para enlace.
Imagine ter que setar conexões entre 1000 nós em uma topologia irregular.
VC com números únicos implicam em 1 milhão de números VC que devem
ser representados e armazenados em cada nó.
– Por ex.: ATM (Asynchronous transfer mode).
4
Comutação a Pacote Por Circuito Virtual
•
•
•
Para datagramas, a informação de endereçamento deve unicamente distinguir
cada nó na rede e sessão.
– Precisa de endereços únicos para a fonte e o destino.
Para circuitos virtuais, somente o circuito virtual no enlace deve ser
distinguido por endereçamento.
– É necessário endereçamento global para setar um circuito virtual.
– Uma vez estabelecido, números de circuitos virtuais locais podem se
usados para representar o circuito virtual em um dado enlace: O número
do VC muda de enlace para enlace.
Méritos dos circuitos virtuais.
– Economia no calculo da rota
• Precisa ser feito somente uma
vez no início da sessão.
– Economia no tamanho do cabeçalho . Nó 5
(3,5) CV13 → (5,8) CV3
– Mais complexo.
(3,5) CV7 → (5,8) CV4
– Menos flexível.
(6,5) CV3 → (5,8) CV7
5
A Pilha de Potocolos TCP/ IP
• Transmission Control Protocol / Internet Protocol.
• Desenvolvido pela DARPA para conectar Universidades com
Laboratórios de Pesquisa.
• Modelo de quatro camadas
Aplicações
Telnet, FTP, email, etc.
Transporte
TCP, UDP.
Rede
IP, ICMP, IGMP.
Enlace
Device drivers, interface cards.
TCP - Transmission Control Protocol
UDP - User Datagram Protocol
IP - Internet Protocol
6
Internetworking Com TCP/ IP
7
Encapsulamento
8
Pontes, Roteadores & Gateways
• Uma ponte é usada para conectar múltiplos segmentos de redes locais.
– Roteamento na camada 2 (Ethernet).
– Não conhece o endereço IP.
– Vários níveis de sofisticação.
• Pontes simples apenas envia pacotes.
• Pontes inteligentes são mais parecidas com os roteadores.
• Um roteador é usado para estabelecer uma rota conectando diferentes
redes usando o endereço da camada de rede.
– Dentro ou entre Sistemas Autônomos.
– Usando o mesmo protocolo (ex.: IP, ATM).
• Um gateway conecta redes usando protocolos distintos.
– Conversão de protocolo.
– Resolução de endereço.
• Estas definições freqüentemente são trocadas e parecem evoluir!
9
Pontes, Roteadores & Gateways
10
Endereço IP
•
•
•
•
Endereço de 32 bits escrito como quarto números decimais.
– Um para cada byte do endereço (por ex.: 155.34.60.112).
Estrutura hierárquica de endereços.
ID da Rede / ID do Computador / ID da Porta.
– O endereço completo e chamado de soquete.
– O ID de rede e do computador é carregado no cabeçalho IP.
– O ID da Porta (processo que envia) é carregado pelo cabeçalho do TCP Port ID.
Classes de endereços IP:
Classe D é para tráfego multicast
11
Nome dos Computadores
• Cada máquina também tem um único nome.
• Sistema de domínio de Nomes: Um banco de dados distribuído que
permite o mapeamento entre endereço IP e nomes dos computadores
(ou servidores).
• Por ex.: 155.34.50.112 ⇒ plymouth.ll.mit.edu
12
Padrões Internet
• Internet Engineering Task Force (IETF).
– Desenvolvimento de padrões internet.
– Aberto á comunidade internet.
– Reune-se 3 vezes ao ano.
• Request for Comments (RFCs)
– Padrões oficiais da internet.
– Disponíveis a partir de IETF web page: http://www.ietf.org.
13
O Internet Protocol (IP)
• Roteamento de pacotes através da rede.
• Serviço não confiável.
– Entrega com o melhor esforço.
– Recuperação a partir de perdas de pacotes é feita nas camadas
superiores.
• Não orientado a conexão.
– Pacotes são roteados independentemente.
– Podem ser entregues fora de ordem.
– Re- sequenciamento deve ser feito nas camadas superiores.
• Versão corrente V4.
• Futura V6.
– Adiciona mais endereço (40 byte header!).
– Habilidade em prover QoS.
14
Campos do Cabeçalho no IP
Versão
Comprimento
do cabeçalho
Tipo do serviço
Identificação
Time To Live
( Tempo de Vida)
Comprimento total em bytes
Bandeira
Protocolo de camada
superior
Deslocamento do fragmento
Cabeçalho de cheque
Endereço IP da fonte
Endereço IP do destino
Opcões (se tiverem)
Dados
Observe que o mínimo tamanho para o cabeçalho é de 20 bytes; O TCP
também tem 20 bytes de cabeçalho.
15
Campos do Cabeçalho IP
Versão
HL
Serviço
Comprimento total
ID
Flags
FragOffset
TTL
Protocol
HDR Cksum
SA & DA
Opções
Número da versão do IP (versão corrente é 4).
Comprimento do cabeçalho em palavras de 32 bits.
Geralmente ignorado.
Comprimento do datagrama IP.
Identificador único do datagrama.
Não fragmentar, mais.
Deslocamento do fragmento em unidades de 8 octetos.
Tempo de vida em segundos ou em saltos.
Identificador do protocolo da camada superior.
Complemento de 1s sobre 16 bits (no cabeçalho
somente).
Endereços fonte/destino.
Registro da rota, Rota estabelecida na fonte, carimbo
do instante de tempo.
16
Fragmentação
• Um gateway fragmenta um datagramas e o comprimento é muito
grande para a próxima rede (a fragementação é requerida quando não
se conhece o caminho).
• Cada fragmento precisa um único identificador para o datagrama mais
uma identificação para aposição dentro do datagrama.
• No IP, o ID do datagrama é um campo de 16 bits que conta os
datagramas de um dado computador.
17
Posição do Fragmento
• O campo do deslocamento do fragmento fornece a posição na qual o
fragmento se inicia com incrementos de 8 bytes (campo de 13 bits).
• O campo do comprimento no cabeçalho fornece o comprimento total
em bytes (campo de 16 bits).
– Máximo tamanho do pacote IP é de 64K bytes.
• Um bit flag indica o último fragmento de um datagrama.
• O IP recompõe os fragmentos no destine os descarta se um ou mais
demoram a chegar.
18
Roteamento IP
• A tabela de roteamento em cada nó contém para cada destino o
próximo salto, para o roteador que o pacote deve ser enviado.
– Não todos os endereços de destino estão na tabela de roteamento
• Olhe para o ID de rede do destino e faça “casamento de
prefixo” (prefix match).
• Use o roteador padrão.
• Roteadores não calculam a rota completa para o destino mas somente o
roteador que esta no próximo salto.
• IP usa algoritmos de roteamento distribuído: RIP, OSPF.
• Em uma rede local o computador envia o pacote para o roteador padrão
que fornece o acesso para o mundo externo.
19
Endereçamento de Sub-Redes
•
•
•
Endereços classe A e B alocam muitos computadores para uma dada rede.
Endereçamento de sub-rede nos permita dividir o espaço do ID do computador
em sub-redes menores.
– Simplifica o roteamento dentro da organização.
– Menores tabelas de roteamento.
– Potencialmente permite a alocação da mesma classe B de endereços para
mais de uma organização.
Máscara de sub-rede de 32 bits é usada para dividir o campo ID do
computador em sub-redes.
– “1” representa o campo de endereço de rede.
– “0” representa o campo de identificação do computador.
20
Roteamento Entre – Domínio Sem Uso de Classes
(Classless inter - domain routing - CIDR)
• Endereços Classe A e B alocam demasiados computadores para uma
organização enquanto que endereços classe C não alocam o suficiente.
– Isto leva a uma distribuição ineficiente do espaço de endereços.
• Roteamento sem uso de classes permite a alocação de endereços fora dos
limites da classe (dentro do conjunto de endereços classe C).
– Aloca um bloco de endereços contíguos.
• Por ex.: 192.4.16.1 - 192.4.32.155.
• Junta 16 endereços classe C.
• Os primeiros 20 bits do campo de endereço são os mesmos e são
essencialmente o ID de rede.
– Número de redes devem agora ser descritos usando seu comprimento e
valor (ou seja,comprimento e prefixo de rede).
– A procura na tabela de roteamento é feita utilizando o maior
casamento dos bits do prefixo.
• Observe a semelhança entre subnetting - “supernetting ”.
21
Configuração Dinâmica
(Dynamic Host Configuration - DHCP)
• Método automatizado para atribuir endereços de rede a computadores.
– Endereço IP, roteadores padrões.
• Ao se ativarem os computadores contatam o servidor DHCP.
• O servidor atribui um endereço IP.
• Permite o compartilhamento do espaço de endereços.
– Uso mais eficiente do espaço de endereços.
– Aumenta a escalabilidade.
• Endereços são dados por algum tempo.
• Não são atribuídos permanentemente.
22
Protocolo de Resolução de Endereço
(Address Resolution Protocol- ARP)
• Endereço IP só faz sentido na camada IP.
Redes Locais, tal como Ethernet, tem seus próprios esquemas de
endereçamento.
– Para se comunicar com um nó em uma rede local temos que ter seu
endereço físico (interfaces físicas não reconhecem endereços IP).
• ARP prove o mapeamento entre endereços IP e endereços LAN.
• RARP prove mapeamento de endereços LAN para endereços IP.
• Isto é feito enviando um pacote de difusão pedindo ao dono do
endereço IP responder com seu endereço físico.
– Todos os nós na LAN reconhecem uma mensagem de difusão.
– O dono do endereço IP responde com seu endereço físico.
• Um cache ARP é mantido em cada nó com os recentes mapeamentos.
23
Roteamento na Internet
•
•
•
•
A internet é dividida em sub-redes, cada uma sob controle de uma única autoridade
conhecida como Sistema Autônomo (SA).
Algoritmos de roteamento são divididos em duas categorias:
– Protocolos Internos (dentro de um SA)
– Protocolos Externos (entre SA’s)
Protocolos internos usam algoritmos de menor caminho (veremos mais adiante).
– Protocolos Vetor Distância baseados no algoritmo de Bellman-Ford
• Nós trocam tabelas de roteamento entre si
• Por ex.: Routing Information Protocol (RIP)
– Protocolos de estado do enlace que usam o algoritmo de Dijkstra
• Nós monitoram o estado de seus enlaces (por exemplo atraso).
• Nós difundem esta informação para todos os outros nós.
• Por ex.: Open Shortest Path First (OSPF).
Protocolos Externos roteiam os pacote através de SAs
– Problemas: não existe uma única métrica de custo, política de roteamento, etc.
– Rotas são frequentemente pré calculadas.
– Exemplos de protocolos: Exterior Gateway Protocol (EGP) e Border Gateway
Protocol (BGP).
24
IPv6
•
•
•
•
Trabalhos se iniciaram em 1991 com o nome Ipng.
Motivação
– Necessidade de incrementar o espaço de endereços
IP.
– Suportar aplicações em tempo real - “QoS”.
– Segurança, Mobilidade, Auto- configuração.
Maiores mudanças
– Espaço de endereços aumentado (6 bytes).
• 1500 endereços IP por pé quadrado na terra!
• Partição dos endereços similar ao CIDR.
– Suporte a QoS via campo Flow Label.
– Cabeçalho simplificado.
Maioria das razões para o IPv6 foram originadas pelo
IPv4
– O IPv6 é realmente necessário ?
– Transição complexa da V4 para a V6.
25
Reserva de Recurso (RSVP)
•
•
•
•
Classes de serviço (definida pelo IETF)
– Melhor esforço
– Serviço Garantido
• Máximo atraso para o pacote.
– Carga Controlada
• Emula redes com pouco carga através de mecanismo de prioridade em fila.
É necessário reservar recursos no roteadores ao longo do enlace.
Mecanismo RSVP
– Classificação do pacote
• Associa pacotes com sessões (usa o campo de fluxo no IPv6)
– Receptor inicializa reservas para suportar multicast.
– “soft state” - reserva temporária que expira após 30 segundos.
• Simplifica o gerenciamento das conexões.
• Requer mensagens de atualização.
– Escalonamento a pacote para garantir o serviço.
• Mecanismos proprietários (por ex.: weighted fair queueing)
Problemas de escalibilidade
– Cada roteador precisa monitorar vários fluxos que crescem com a capacidade do
roteador.
26
Serviços Diferenciados (Diffserv)
• Ao contrário do RSVP o Diffserv não precisa cuidar de fluxos
individuais.
– Aloca recursos para um número pequeno de classes de tráfego.
• Pacotes da mesma classe são enfileirados juntos.
– Por ex.: duas classes de tráfego – premium e normal.
• Usa um bit para diferenciar entre pacotes premium dos normais.
– Problemas
• Quem seta o bit premium?
• Como o serviço premium do cabeçalho IP para identificar
classes de tráfego.
– Potencialmente mais do que apenas duas classes.
27
User Datagram Protocol (UDP)
• Protocolo da camada de transporte.
– Entrega mensagens através da rede.
• Orientado a datagrama
– Não confiável.
• Não tem mecanismos de controle de erro.
– Não orientado a conexão.
– Não é um protocolo “stream”.
• Máximo comprimento do pacote 65k bytes.
• UDP checksum
– Cobre o cabeçalho e os dados.
– Opcional
• Pode ser utilizado por aplicações.
• UDP permite que as aplicações interfaceiem diretamente o IP
minimizando processamento ou overhead.
28
Formato do Cabeçalho UDP
• Os números das portas identificam os processos emissor e receptor
– Ou seja , FTP, email, etc..
– Permite ao UDP multiplexar dados em um único fluxo.
• Comprimento do UDP = comprimento do pacote em bytes.
– Mínimo de 8 e máximo de 216 - 1 = 65.535 bytes.
• Checksum cobre o cabeçalho e os dados.
– Opcional,pois o UDP não faz nada com o checksum.
29
Transmission Control Protocol (TCP)
• Protocolo da camada de transporte
– Transmissão confiável das mensagens.
• Orientado a conexão
– Tráfego Stream.
– Deve re-sequenciar pacotes IP.
• Confiável
– Mecanismo ARQ.
– Observe que os pacotes tem um número de seqüência a um número
de confirmação positiva.
– O cabeçalho do pacote tem um tamanho de janela (para o Go Back
N).
• Mecanismo de controle de fluxo.
– Slow start
• Limita o tamanho da janela em resposta a congestão.
30
Operação Básica do TCP
• No emissor
– Dados da aplicação são divididos em segmentos TCP.
– TCP usa um relógio enquanto espera por um ACK para todo
pacote.
– Pacotes não ACK são retransmitidos.
• No receptor
– Erros são detectados usando um checksum.
– Dados corretamente recebidos são confirmados.
– Segmentos são recompostos na sua ordem apropriada.
– Segmentos duplicados são descartados.
• Retransmissão e Controle de fluxo são baseados em janelas.
31
Campos do Cabeçalho TCP
32
Campos do Cabeçalho TCP
•
•
•
•
•
•
Número das portas são os mesmos que para o UDP
32 bits para a numeração na seqüência (SN) identificam de forma única os dados da
aplicação contidos no segmento TCP.
– A numeração na seqüência é em bytes!
– Identifica o primeiro byte dos dados.
32 bits para a numeração de recepção (RN) são utilizados para transportar também
ACK’s.
– A numeração de recepção indica o próximo byte que o receptor esta esperando.
– ACK implícito para todos os bytes até o ponto indicado pelo RN.
O deslocamento de dados é um cabeçalho de comprimento de 32 palavras (mínimo de
20 bytes).
Tamanho da janela
– Usada para recuperação de erros (ARQ) e como mecanismo de controle de fluxo.
• O emissor não pode ter mais que uma janela de pacotes na rede.
– Especificada em bytes
• O tamanho da janela pode ser aumentado para redes de alta velocidade.
O Checksum cobre o cabeçalho e os dados.
33
Recuperação de Erros no TCP
• A recuperação de erro é feita em múltiplas camadas.
– Enlace,transporte, aplicação.
• A recuperação de erro na camada de transporte é necessária.
– Perda de pacotes podem ocorrer na camada de rede.
• Por ex.: buffer overflow.
– Algumas camadas de enlace podem ser não confiáveis.
• SN e RN são utilizados para recuperação de erros da mesma forma que
o Go Back na camada de enlace.
– Um valor elevado para o SN é necessário para re-sequenciar
pacotes fora de ordem.
• TCP usa um mecanismo de expiração de tempo para a retransmissão
do pacote.
– Cálculo da expiração do tempo (Timeout).
– Retransmissão rápida.
34
Cálculo da Expiração de Tempo do TCP
• Baseado em medidas do tempo de ida e volta (RTT)
– Média ponderada.
RTT_ AVE = a* (RTT_ medido) + (1- a) * RTT_ AVE
• O timeout é um múltiplo de RTT_ AVE (geralmente dois).
– Timeout curto pode levar a muitas retransmissões.
– Timeout longos podem levar a grandes atrasos e ineficiência.
• Com o objetivo de ser mais tolerante as variações de atraso tem sido
proposto (Jacobson) setar o valor do timeout tendo como base o desvio
padrão de RTT.
Timeout = RTT_ AVE + 4* RTT_ SD
• Em muitas implementações TCP o mínimo valor do timeout é 500 ms
devido a precisão disponível no relógio.
35
Retransmissão Rápida
• Quando o TCP recebe um pacote com um SN que é maior que o SN
esperado, envia um pacote ACH com número de pedido SN do pacote
esperado.
– Isto pode ser devido a entrega fora de ordem ou pacotes perdidos
• Se um pacote é perdido então RNs duplicados serão enviados pelo TCP
até que o pacote é recebido corretamente.
– Mas o pacote não será retransmitido até que um timeout ocorra.
– Isto leva a um maior atraso e ineficiência.
• Retransmissão rápida supõe que se 3 RNs duplicados são recebidos
pelo modulo que esta enviando então o pacote foi perdido.
– Após 3 RNs duplicados serem recebidos o pacote é retransmitido.
– Após a retransmissão. Continua a enviar novos dados.
• Retransmissão rápida permite a retransmissão TCP se comportar de
forma mais semelhante a retransmissão automática seletiva.
– Uma futura opção para um ACK seletivo (SACK).
36
Controle de Congestionamento TCP
• O TCP usa seu tamanho de janela para desenvolver seu controle de
congestionamento fim a fim.
– Mais sobre controle de fluxo por janela será visto mais adiante.
• Idéia básica
– Com ARQ baseado em janela o número de pacotes na rede não
pode exceder o tamanho da janela (CW).
• Último byte enviado (SN) – Último byte ACK’d < = CW
• Taxa de transmissão quando se usa controle de fluxo por janela é igual
a uma janela de pacotes a cada intervalo de ida e volta.
• R = CW/ RTT
• Controlando o tamanho da janela o TCP controla eficientemente a taxa.
37
Efeito do Tamanho da Janela
• O tamanho da janela é o número de bytes que são permitidos a serem
tranportados simultaneamente.
• Uma janela muito curta não permite uma transmissão contínua.
• Para haver uma transmissão contínua o tamanho da janela deve exceder
o tempo de ida e de volta.
38
Comprimento de Um Bit
(viajando a velocidade 2/ 3C)
A 300bps
1 bit = 415 milhas 3000 milhas = 7 bits
A 3,3kbps
1 bit = 38 milhas
3000 milhas = 79 bits
A 56kbps
1 bit = 2 milhas
3000 milhas = 1,5 kbits
A 1,5Mbps
1 bit = 438 pés
3000 milhas = 36 kbits
A 150Mbps
1 bit = 4,4 pés
3000 milhas = 3,6 Mbits
A1Gbps
1 bit = 8 pol.
3000 milhas = 240 Mbits
39
Ajuste Dinâmico do Tamanho da Janela
•
•
•
•
TCP inicia com CW = 1 pacote e aumente o tamanho da janela lentamente a
medida que os ACK’s são recebidos.
– Fase Slow start
– Fase Congestion avoidance
Fase Slow start
– Durante o slow start o TCP incrementa a janela de um pacote para cada
ACK recebido.
– Quando CW = Limiar o TCP vai para fase de congestion avoidance.
– Nota: durante o slow start CW dobra a cada intervalo de ida e volta.
• Aumento exponecial!
Durante congestion avoidance TCP aumenta a janela de um pacote para cada
ACK que recebe.
– Observe que durante congestion avoidance CW aumenta de 1 a todo
intervalo de ida e volta –Incremento linear !
TCP continua a aumentar CW até que ocorra congestionamento.
40
Reação a Congestionamento
• Muitas variações: Tahoe, Reno, Vegas.
• Idéia básica:quando o congestionamento ocorre decresce o tamanho da
janela.
• Existem dois mecanismos que indicam congestionamento:
– ACKs duplicados – pode ser devido a um congestionamento
temporário.
– Timeout – mais provavelmente a um congestionamento mais
significativo.
• TCP Reno – implementação mais comun
– Se o Timeout ocorre, CW = 1 e volta para a fase de slow start.
– Se ocorrem ACKs duplicados CW = CW/ 2 e permanence na fase
de congestion avoidance .
41
Entendendo a Dinâmica do TCP
• A fase de Slow start é na realidade rápida .
• TCP gasta maior parte do tempo na fase de Congestion avoidance.
• Enquanto em Congestion avoidance.
– CW aumenta de 1 a cada RTT
– CW decresce de um fator de dois para cada perda decreases.
• “Incremento Aditivo / Decremento Multiplicativo”.
42
Detecção Aleatória do Início de Congestionamento
(Random Early Detection -RED)
•
•
•
•
Em vez de descartar pacotes quando a fila fica cheia, descarte os pacotes probabilisticamente
antes da fila ficar.
Motivação.
– Pacotes descartados são usados como um mecanismo para forçar a fonte a se tornar mais
lenta.
• Se esperarmos que o buffer se torne cheio, já será muito tarde e teremos que eliminar
muitos pacotes nesta situação.
• Isto leva ao problema da sincronização do TCP onde todas as fonte podem diminuir a
taxa simultaneamente.
– RED fornece uma rápida indicação do congestionamento.
A randomização reduz o problema da sincronização.
Mecanismos
– Usa o tamanho da fila como sendo a média ponderada
• Se AVE_ Q > T min então descarte com prob. P.
• If AVE_ Q > T máx então descarte com prob. 1.
– RED pode ser usado como uma notificação explícita
de congestionamento ao invés de um descarte de pacote.
– RED tem uma propriedade quanto a igualdade de
tratamento dos fluxos.
• Grandes fluxos tem maior probabilidade de
serem descartados.
– Estabelecimento dos valores de limiar e probabilidade de descarte são áreas de intensa
43
pesquisa.
Controle de Erro no TCP
•
•
TCP original foi projetado para baixas taxas de erro (BER), enlaces de de baixo atraso.
Futuras versões (RFC 1323) irão permitir janelas maiores e retransmissão seletiva.
44
Impacto dos Erros no Controle de
Congestionamneto do TCP
•
•
•
TCP supõe que pacotes eliminados são devidos ao congestionamento e responde reduzindo a taxa de
transmissão.
Em enlaces com alta BER o descarte de pacotes é mais provavelmente devido a erros que ao
congestionamento.
Extensões TCP (RFC 1323)
– Mecanismo Retransmissão rápida, Recuperação rápida, escalonamento da janela (Fast retransmit,
fast recovery, window scaling)
45
Documentação e Implementações do TCP
•
•
•
•
Padrões TCP são publicados como RFC’s.
Implementações do TCP as vezes diferem uma da outra .
– Podem não implementar as ultimas extensões, bugs.
A implementação que é um padrão de fato é o BSD.
– Grupo de Pesquisa em Sistemas de Computação UC- Berkeley
– A maioria das implementações do TCP são baseadas nas implementações
do BSD em SUN, MS, etc.
BSD releases
– 4.2BSD - 1983
• Primeiro release amplamente disponível.
– 4.3BSD Tahoe - 1988
• Slow start e congestion avoidance.
– 4.3BSD Reno - 1990
• Compressão do Cabeçalho.
– 4.4BSD - 1993
• Suporte ao multicast, RFC 1323 para alto desempenho.
46
A pilha de Protocolos TCP/ IP
47
Asynchronous Transfer Mode (ATM)
• Nos anos 80 houve um esforço por parte das companhias telefônicas
para desenvolver um padrão para a rede de serviços integrados
(BISDN) que podia suportar voz, dados, vídeo, etc.
• ATM usa pequenas células (53 Bytes) pacotes de tamanho fixo
– Por quê células?
• Comutação por célula tem ambas propriedades da comutação a
pacote e a circuito.
• É mais fácil implementar comutadores de alta velocidade.
– Por quê 53 bytes?
– Pequenas células são boas para o tráfego de voz (limitam o atraso
da amostragem).
• Para voz a 64Kbps são necessários 6 ms para preencher uma
célula com dados.
• Redes ATM são orientadas a conexão
– Circuito Virtual.
48
Arquitetura de Referência do ATM
•
•
•
•
Camadas superiores
– Aplicações
– TCP/IP
Camada de Adaptação do ATM
Camadas Superiores
– Semelhante a camada de transporte.
AT M Adaptação
– Prove interface entre camadas superiores e ATM.
• Quebra as mensagens em células e recompõe.
Camada (AAL)
Camada ATMA
ATM
– Comutação de célula
– Controle de congestionamento
Física
Camada Física
– ATM projetado para o SONET
• Rede óptica síncrona com TDMA de quadros de 125µs.
49
Formato da Célula ATM
•
•
•
•
•
Dados do cabeçalho da célula ATM
Números de Circuitos Virtuais (observe o pequeno
espaço de endereço!)
– ID do Virtual Channel
– ID do Virtual Path
PTI –Tipo de payload
CLP –Prioridade no descarte da célula (1 bit!)
– Marca as células que podem ser descartadas
HEC –Cheque de Redundância Cíclico
(CRC) no cabeçalho
50
VPI/ VCI
• VPI identifica o caminho entre fonte e destino.
• VCI identifica a conexão lógica (sessão) em um caminho.
– Este procedimento permite tabelas de roteamento menores e
simplifica os cálculos das rotas.
51
CRC do Cabeçalho do ATM
• ATM usa um CRC de 8 bits que é capaz de corrigir um erro.
• Este cheque verifica somente o cabeçalho da célula, e se alterna entre
dois modos.
– No modo de detecção não corrige nenhum erro mas é capaz de
detectar mais erros.
– No modo de correção pode corrigir até um erro mas é menos hábil
em detectar erros.
• Quando o canal é relativamente bom faz sentido trabalhar no modo de
correção, contudo quando o canal é ruim queremos estar no modo de
detecção para maximizar a capacidade de detecção.
52
Categorias de Serviço ATM
• Taxa de Bit Constante (Constant Bit Rate -CBR) – por ex. voz sem
compressão.
– Emulação de Circuito
• Taxa de Bit Variável (Variable Bit Rate rt- VBR) – por ex. vídeo
comprimido.
– Em tempo real e em tempo não real
• Taxa de Bit Disponível (Available Bit Rate - ABR) – por ex.
Interconexão com LAN .
– Para tráfego em rajada com garantia limitada de largura de faixa e
controle de congestionamento.
• Taxa de bit não Especificada (Unspecified Bit Rate - UBR) – por ex.
Internet.
– ABR sem garantia de BW e controle de congestionamento.
53
Parâmetros de Serviço ATM
(exemplos)
•
•
•
•
•
•
•
•
•
Taxa de pico de células (Peak cell rate - PCR)
Taxa media de células (Sustained cell rate - SCR)
Tamanho máximo da rajada (Maximum Burst Size - MBS)
Taxa mínima de células (Minimum cell rate - MCR)
Taxa de perdas de células (Cell loss rate - CLR)
Atraso de transmissão de célula (Cell transmission delay - CTD)
Variação de atraso da célula (Cell delay variation - CDV)
Não todos os parâmetros se aplicam para todas as categorias de serviços.
– Por ex.: CBR especifica PCR e CDV
– VBR específica MBR e SCR
A rede garante QoS desde que o usuário esteja conforme o contrato
especificado pelos parâmetros acima.
– Quando usuários excedem sua taxa contratada a rede pode descartar seus
pacotes.
– Taxa de células pode ser controlada usando esquemas de controle de taxa
(leaky bucket).
54
Controle de Fluxo em Redes ATM (ABR)
•
•
•
O ATM usa células de gerenciamento de recursos para controlar os parâmetros da taxa
– Gerenciamento de recursos no sentido da fonte para a rede (Forward resource
management - FRM).
– Gerenciamento de recursos no sentido da rede para a fonte (Backward resource
management - BRM).
Células de Gerenciamento de Recursos (RM cells) contém:
– Indicador de congestionamento (CI)
– Indicador de não incremento (NI)
– Taxa de Células Explicita (ER)
– Taxa de Células Corrente (CCR)
– Taxa de Célula mínima (MCR)
As fontes geram células RM regularmente
– Quando as células RM passam através da rede elas podem ser marcadas com o CI=
1para indicar congestionamento.
– Células RM retornam a fonte quando
• CI = 1 ⇒decrescer a taxa de alguma percentual
• CI = 1 ⇒ aumentar a taxa de alguma percentual
– ER pode ser usado para setar taxas explícitas.
55
Controle de Fluxo Fim a Fim Utilizando Células RM
• No destino a célula RM é enviada de volta para a fonte.
56
Camadas de Adaptação do ATM
•
•
•
Interface entre a camada ATM e camadas superiores.
Quatro camadas de adaptação que atendem os requisitos das classes de serviço do
ATM vistas anteriormente.
– AAL- 1para suportar tráfego CBR.
– AAL- 2 para suportar tráfego VBR.
– AAL- 3/ 4 para suportar tráfego de dados em rajada.
– AAL- 5 para suportar IP com um mínimo de cabeçalho .
As funções e o formato da camada de adaptação dependem da classe de serviço.
– Por exemplo, tráfego tipo
stream requer números de
sequenciamento para identificar
quais células foram.
Cada classe de serviço tem um diferente formato de cabeçalho(além dos 5 bytes do
cabeçalho ATM).
57
Exemplo: AAL 3/ 4
•
•
•
•
•
•
ST:
SEQ:
Tipo de Segmento (primeiro,do meio do fluxo, último).
Número da posição na seqüência de 4- bit (detecta perda
de células).
MID:
Identificador da Mensagem (recomposição de mensagens
múltiplas).
Campo de dados do usuário de 44 bytes (~ 84% eficiente).
LEN:
Comprimento dos dados no segmento.
CRC:
Segmento de 10 bits
•
AAL 3/ 4permite multiplexação, confiabilidade & e detecção de erro, mas é bastante
complexo para processar e adiciona muito overhead.
•
AAL 5 foi introduzido para suportar tráfego IP.
– Menos funções mas muito menos overhead e complexidade.
58
Comutadores de Células ATM
• Problemas no projeto
– Enfileramento na entrada x inf. na saída.
– Probabilidade de bloqueio.
– Velocidade de comutação.
59
Resumo do ATM
•
•
•
ATM é mais usada como rede principal de transporte.
Vantagens do ATM
– Habilidade em prover QoS.
– Habilidade em gerenciar o tráfego.
– Comutação rápida de células usando números curtos para os CVs.
Desvantagens do ATM
– Não é IP –quase tudo foi projetado para o TCP/IP
– Não é um protocolo fim a fim.
• Não trabalha bem em ambientes heterogêneos.
• Não foi projetado para inter operar com outros protocolos.
• Não casa bem com determinados meios físico (por ex.:canal sem fio).
– Muitos dos benefÍcios do ATM podem ser tomados em empréstimo pelo
IP.
• Comutação de células nos roteadores da rede principal de transporte.
• Mecanismos de comutação por etiqueta.
60
Multi-Protocol Label Switching (MPLS)
• “A medida que serviços com requisitos de vazão e atraso fixos se
tornam cada vez mais comuns, o IP irá precisar de circuitos virtuais
(provavelmente serão chamados por outro nome) ”
• RG, April 28, 1994
61
Comutação por Etiqueta (Label Switching)
•
•
•
Fabricantes de roteadores perceberem que para aumentar a velocidade e capacidade
devem adotar mecanismos similares ao ATM
– Um comutador baseado numa etiqueta simples não requer uma procura complexa
na tabela de roteamento.
– Usa circuito virtuais para gerenciar o tráfego (QoS).
– Usa comutação de célula no roteador.
Primeira tentativa: IP- switching
– Roteadores tentam identificar fluxos.
• Definem um fluxo observando o número de pacotes entre uma dada fonte e
destino (por ex.: 5 pacotes durante um segundo).
– Mapear o par fonte-destino IP para um VC ATM.
• Algoritmo distribuído onde cada roteador faz sua própria decisão.
Multi- protocol label switching (MPLS)
– Também conhecido como comutação por etiqueta (tag switching).
– Não depende do ATM.
– Adiciona uma etiqueta para cada pacote para ser utilizada como um número de
CV.
• Etiquetas podem ser atribuídas permanentemente a determinados caminhos.
62
A comutação por etiqueta pode ser usada para criar uma malha
virtual com a rede de transporte
•
Roteadores nas bordas da rede de
transporte podem ser conectados uns aos
outros utilizando etiquetas.
•
Pacotes chegando a um roteador de borda
podem ser etiquetados com a etiqueta do
roteador de borda de destino.
– “Tunelamento”
– Simplifica bastante o roteamento na
rede de transporte principal.
– Os roteadores internos ao domínio
MPLS não precisam lembrar de todos
os prefixos IP do mundo exterior ao
domínio.
– Permite engenharia de tráfego.
• Atribui capacidade a etiquetas
baseado na demanda.
63
Referências
• TCP/ IP Illustrated (Vols. 1& 2), Stevens
• Computer Networks, Peterson and Davie
• High performance communication networks, Walrand and Varaiya
64
65
Download

Campos do Cabeçalho IP