Aulas 24 & 25. Protocolos das Camadas Superiores: TCP/ IP & ATM



Documentos relacionados
Redes de Computadores

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT

Redes de Dados. Aula 1. Introdução. Eytan Mediano

Aulas 22 & 23. Controle de Fluxo e de Congestionamento. Eytan Modiano MIT

Redes de Computadores Aula 3. Aleardo Manacero Jr.

Redes de Computadores

CAMADA DE TRANSPORTE

Redes de computadores e a Internet. Capitulo 4. Capítulo. A camada de rede

2 Controle de Congestionamento do TCP

Controle de Congestionamento em TCP Parte 2. Prof. Dr. S. Motoyama

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

Redes de Computadores

Visão geral da arquitetura do roteador

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Redes de Computadores

CAMADA DE REDE. UD 2 Aula 3 Professor João Carneiro Arquitetura de Redes 1º e 2º Semestres UNIPLAN

Assumiu em 2002 um novo desafio profissional como empreendedor e Presidente do Teleco.

Redes de Computadores I ENLACE: PPP ATM

Redes de Computadores. Trabalho de Laboratório Nº7

Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes;

PROJETO DE REDES

6 de Julho de Exercício 23 Para que servem portas na camada de transporte?

REDES DE COMPUTADORES

ARP. Tabela ARP construída automaticamente. Contém endereço IP, endereço MAC e TTL

Rede de Computadores II

Redes de Computadores

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

ATM. Redes de Longa Distância Prof. Walter Cunha

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

Redes de computadores. Redes para Internet

Protocolo IP (Internet Protocol) Características do

Arquitetura TCP/IP. Parte VI Entrega de pacotes sem conexão (IP) Fabrízzio Alphonsus A. M. N. Soares

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Prof. Luís Rodolfo. Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO

Prefixo a ser comparado Interface Senão 3

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Conexão de Redes. Protocolo TCP/IP. Arquitetura Internet.

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Redes de Computadores 3ª Colecção Exercícios diversos 16 de Dezembro de 2005 Spanning Tree, Protocolo IP, Encaminhamento em redes IP e Cam.

Prof. Manuel A Rendón M

Tabela de roteamento

Aula 6 Modelo de Divisão em Camadas TCP/IP

Redes de Computadores. Camada de Transporte

A camada de rede. A camada de rede. A camada de rede. 4.1 Introdução. 4.2 O que há dentro de um roteador

Prof. Samuel Henrique Bucke Brito

Modelo de referência OSI. Modelo TCP/IP e Internet de cinco camadas

A Camada de Transporte

Redes de computadores e a Internet. A camada de rede

Prof. Marcelo Cunha Parte 5

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Informática I. Aula Aula 22-03/07/06 1

Capítulo 7 CAMADA DE TRANSPORTE

Capítulo 7 CAMADA DE TRANSPORTE

Protocolos Hierárquicos

Aula 4. Pilha de Protocolos TCP/IP:

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Roteamento em Redes de Computadores

Capítulo 10 - Conceitos Básicos de Roteamento e de Sub-redes. Associação dos Instrutores NetAcademy - Julho de Página

TCP - estabelecimento de conexão

Arquitetura TCP/IP. Parte V Inicialização e auto-configuração (RARP, BOOTP e DHCP) Fabrízzio Alphonsus A. M. N. Soares

BC-0506: Comunicação e Redes Aula 04: Roteamento

Camada Transporte Parte 2. Prof. Dr. S. Motoyama

Qualidade de serviço. Determina o grau de satisfação do usuário em relação a um serviço específico Capacidade da rede de atender a requisitos de

REDES DE COMPUTADORES. Camada de Rede. Prof.: Agostinho S. Riofrio

Aula 03 Regras de Segmentação e Switches

Márcio Leandro Moraes Rodrigues. Frame Relay

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

INTERNET = ARQUITETURA TCP/IP


P L A N O D E D I S C I P L I N A

Prof. Samuel Henrique Bucke Brito

TCP - multiplexação/demultiplexação

3 Qualidade de serviço na Internet

Redes de Computadores e a Internet

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Protocolo Ethernet e Dispositivos de Interconexão de LANs

Cap 01 - Conceitos Básicos de Rede (Kurose)

Redes. Pablo Rodriguez de Almeida Gross

Foi inicialmente desenvolvido como parte de um

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

MultiProtocol Label Switching - MPLS

A Camada de Rede. A Camada de Rede

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

Gerenciamento de redes

Redes de Computadores. Mauro Henrique Mulati

MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT. Fatores Tecnológicos, Estratégicos e Organizacionais

CCNA 1 Modelos OSI e TCP/IP. Kraemer

AULA Redes de Computadores e a Internet

Introdução Introduç ão Rede Rede TCP/IP Roteame Rotea nto nto CIDR

Redes de Computadores I Internet - Conceitos

Redes de Computadores

3) Na configuração de rede, além do endereço IP, é necessário fornecer também uma máscara de subrede válida, conforme o exemplo:

Redes de Computadores. Prof. André Y. Kusumoto

REDES MPLS. Roteiro. Protocolos anteriores ao MPLS. Demanda crescente por largura de banda.

Revisão. Karine Peralta

Serviço de datagrama não confiável Endereçamento hierárquico. Facilidade de fragmentação e remontagem de pacotes

Interconexão de Redes Parte 2. Prof. Dr. S. Motoyama

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Funcionamento de ARP entre redes (sub-redes) distintas. Mecanismos de entrega. Funcionamento entre redes (sub-redes): default gateway

Transcrição:

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 por datagrama Comutação a Pacote 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. Mais complexo. Menos flexível. Nó 5 (3,5) CV 13 (5,8) CV 3 (3,5) CV 7 (5,8) CV 4 (6,5) CV 3 (5,8) CV 7 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 Transporte Rede Enlace Telnet, FTP, email, etc. TCP, UDP. IP, ICMP, IGMP. 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 V 4. Futura V 6. Adiciona mais endereço (40 byte header!). Habilidade em prover QoS. 14

Campos do Cabeçalho no IP Comprimento do cabeçalho Versão Tipo do serviço Comprimento total em bytes Identificação Bandeira Deslocamento do fragmento Time To Live ( Tempo de Vida) Protocolo de camada superior 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 Número da versão do IP (versão corrente é 4). HL Serviço Comprimento total ID Flags FragOffset TTL Protocol HDR Cksum SA & DA Opções 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 2 16-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

No emissor Operação Básica do TCP 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 A 1,5Mbps A 150Mbps A1Gbps 1 bit = 2 milhas 1 bit = 438 pés 1 bit = 4,4 pés 1 bit = 8 pol. 3000 milhas = 1,5 kbits 3000 milhas = 36 kbits 3000 milhas = 3,6 Mbits 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 pesquisa. 43

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 Semelhante a camada de transporte. Prove interface entre camadas superiores e ATM. Quebra as mensagens em células e recompõe. Camada ATMA Comutação de célula Controle de congestionamento Camada Física ATM projetado para o SONET Rede óptica síncrona com TDMA de quadros de 125µs. Camadas Superiores AT M Adaptação Camada (AAL) ATM Física 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: Tipo de Segmento (primeiro,do meio do fluxo, último). SEQ: 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