Congestionamento em Redes TCP



Documentos relacionados
2 Controle de Congestionamento do TCP

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

Redes de Computadores_Marcelo Furtado Pratica 2- Qualidade de serviços

Jones Bunilha Radtke. Tarefas:

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

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

Daniel Sucupira Lima. TCP Veno

Márcio Leandro Moraes Rodrigues. Frame Relay

Análise do Comportamento das Variações do Protocolo TCP

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

Redes de Computadores

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

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

TCP FACK (Forward Acknowledment)

TCP - estabelecimento de conexão

Rede de Computadores II

A Camada de Transporte

3 Qualidade de serviço na Internet

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

6 Trabalhos Relacionados

Redes de Computadores

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

Capítulo 7 CAMADA DE TRANSPORTE

Arquitetura TCP/IP. Parte XI Transporte orientado a conexão (TCP) Fabrízzio Alphonsus A. M. N. Soares

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

REDES DE COMPUTADORES

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

Redes de Computadores e a Internet

Subcamada MAC. O Controle de Acesso ao Meio

Análise Comparativa dos Algoritmos de Controle de Congestionamento do TCP

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

PROJETO DE REDES

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

Prof. Samuel Henrique Bucke Brito

TRANSMISSÃO DE DADOS

Faculdade Lourenço Filho Curso de Redes de Computadores. TRABALHO DE TELEFONIA IP Serviços Diferenciados - QoS

UNIVERSIDADE. Sistemas Distribuídos

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

Redes de Computadores II

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Capítulo 7 CAMADA DE TRANSPORTE

Entendendo como funciona o NAT

Gerência de Redes Áreas Funcionais de Gerenciamento. Douglas Duarte

Capítulo 4 - Roteamento e Roteadores

Transporte de dados multimédia em Redes de Sensores Sem Fios

Foi inicialmente desenvolvido como parte de um

Sistemas Distribuídos

REDES CONVERGENTES PROFESSOR: MARCOS A. A. GONDIM

Como medir a velocidade da Internet?

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

Protocolo Ethernet e Dispositivos de Interconexão de LANs

Redes de Computadores I Internet - Conceitos

LIAITHON: A location-aware multipath video streaming scheme for urban vehicular networks

4. Protocolos Teóricos e Protocolos de Controlo de Ligação Protocolos ARQ; Especificação de Protocolos; Eficiência ARQ.

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Fundamentos de Redes de Computadores. Elementos de Redes Locais

Tópicos Especiais em Redes Alta Performance. Paulo Aguiar DCC/UFRJ

Equipamentos de Rede. Prof. Sérgio Furgeri 1

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012

Teleprocessamento e Redes

Redes de Computadores. Camada de Transporte

:: Telefonia pela Internet

PROJETO DE REDES

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Controle de Erro em Redes de Computadores

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

Serviços de Comunicações. Serviços de Comunicações. Módulo 7 Qualidade de Serviço em redes IP. condições de rede existentes em cada momento

TRANSMISSÃO DE DADOS

Módulo 8 Ethernet Switching

Funções específicas de cada camada do modelo OSI da ISO.

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

Redes de computadores. Redes para Internet

CAMADA DE TRANSPORTE

TP308 Introdução às Redes de Telecomunicações

QoS em Redes. Paulo Aguiar NCE/IM UFRJ

Redes de Computadores

Camada de Transporte. Protocolos TCP e UDP

Redes de Computadores e a Internet

Arquitetura dos Sistemas de Informação Distribuídos

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

Arquitetura de Rede de Computadores

Camada de Transporte, protocolos TCP e UDP

Redes de Computadores II INF-3A

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

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Análise quantitativa dos custos de comunicação para programas utilizando MPI executados em máquinas paralelas de memória distribuída

Trabalhos Relacionados 79

Curso: Tec. Em Sistemas Para Internet 1 semestre Redes de Computadores Memória de Aula 07. Prof. Moises P. Renjiffo

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

Aula 03 Regras de Segmentação e Switches

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

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

Roteamento em Redes de Computadores

Sistemas Operacionais

Transcrição:

Congestionamento em Redes TCP Ricardo Rodrigues Barcelar UNIR União de Escolas Superiores de Rondonópolis Rondonópolis MT ricardobarcelar@email.com.br Resumo. Este artigo mostra uma visão geral sobre a problemática do congestionamento em redes TCP. Esta, que desde que foi estudada pela primeira vez por Van Jacobson, é uma preocupação constante dos profissionais que gerenciam redes, haja vista sua importância para um bom desempenho, principalmente em redes TCP. Destaca-se a importância em conhecer as causas do fenômeno dos colapsos de congestionamento e os mecanismos existes para proporcionar um controle sobre as perdas de pacotes e as causas para que estas ocorram. Com o intuito solucionar a problemática dos colapsos de congestionamento, baseado em alguns mecanismos de controle, foram propostas algumas variantes do protocolo TCP, onde cada uma apresenta sua vantagem peculiar. 1. INTRODUÇÃO Em gerenciamento de redes, um dos grandes problemas enfrentados são os colapsos de congestionamentos. Este fenômeno causa o aumento no tempo de entrega dos pacotes, diminuição em sua vazão e desperdício de recursos, visto que neste caso o pacote deve ser retransmitido, sendo necessária a relocação de recursos. Segundo Filho (2004), a internet enfrentou este fenômeno pela primeira vez em outubro de 1986, quando foi observado por Van Jacobson, o pioneiro no estudo das causas dos colapsos de congestionamento. O TCP (Transmission Control Protocol), afetado por este fenômeno, definido pelas RFC s 793, 1122, 1323, 2018 e 2581 é o protocolo da camada de transporte do modelo de camadas TCP/IP (Internet Protocol) da Internet para transferência de dados orientados à conexão. Segundo as estimativas publicadas no The Nature of the Beast: Recent Traffic Measurements from an Internet Backbone (Claffic at al apud Lima, 2002), ele é responsável pelo controle de 80% dos fluxos fim-a-fim, pelo transporte de 90% dos pacotes e 95% dos bytes das redes de computadores atuais. Baseado nestas informações, este artigo descreve de forma concisa da problemática dos colapsos de congestionamento em redes TCP, considerando os mecanismos utilizados pelo TCP para o seu controle. Este artigo estrutura-se da seguinte forma: esta parte introdutória, a segunda seção apresentando a problemática dos congestionamentos, a terceira seção trata-se dos mecanismos para o controle de congestionamentos, seguida pelas variantes do protocolo TCP e por fim as considerações finais.

2. CONGESTIONAMENTO As redes de comutação, em geral, têm recursos limitados, como largura de banda restrita entre origem e fim e comprimento limitado das filas em que são armazenados os pacotes à espera de transmissão. Quando muitos pacotes necessitam ser transmitidos através da mesma linha, as filas ultrapassam o seu limite máximo e alguns pacotes são descartados. Logo, se o descarte é muito freqüente a rede fica congestionada. Ryu (2006) explica que: O congestionamento é a necessidade agregada de largura de banda que excede a capacidade disponibilizada pela linha. Dessa forma, causa a degradação de desempenho ocasionando perda múltipla de pacotes, baixa utilização do meio, tempo de atraso alto e colapsos. O congestionamento pode ter duas causas básicas: a. Insuficiência para acomodar a carga presente; e b. Desbalanceamento do tráfego nos nós da rede (recursos sobrecarregados e recursos subutilizados). Esta problemática leva ao descarte de pacotes nos roteadores e suas retransmissões; uma vez descartados, os recursos que foram utilizados são desperdiçados, levando os pacotes a alocarem novos recursos diminuindo a vazão e aumentando o atraso e tráfego na rede. Para Filho (2004): [..]o fluxo, em uma conexão TCP, deveria obedecer ao princípio da conservação de pacotes. E, se este princípio fosse obedecido, colapsos devido ao congestionamento seria uma exceção ao invés da regra. Nas redes onde prevalece o melhor esforço, como é o caso das redes TCP/IP, o congestionamento causa um prejuízo bastante grande no quesito qualidade de serviço (QoS), inviabilizando, como afirma Lima, at al (2002), o atendimento a requisitos de qualidade de serviço das aplicações. Assim sendo, foi necessário implementar meios de prover controle de congestionamento de modo a minimizar os prejuízos causados por este fenômeno. 3. CONTROLE DE CONGESTIONAMENTO O sistema de congestionamento pode ser visto como um sistema de controle com retroalimentacão, no qual, a taxa de transmissão dos nós fontes é ajustada de acordo com o estado de congestionamento na rede, inferidos pelos roteadores através da monitoração do nível de suas filas e retornado para os nós fontes através da marcação/descarte de pacotes, conforme afirma Lima (2006).

Algoritmos de controle de congestionamento devem certificar-se que a rede é capaz de transportar tráfego, lidando com o tráfego ponto-a-ponto entre fonte e destino. Esses algoritmos são relacionados com a forma como os recursos são alocados às conexões ativas na rede. O controle de congestionamento pode ser definido como um algoritmo um tanto complexo que visa evitar a sobrecarga de dados na rede baseando-se no envio de dados de acordo com uma janela de congestionamento mantida pelo transmissor que varia de tamanho de acordo com as confirmações de recebimento de pacotes pelo receptor (ACK s) durante a conexão. (Stevens,1997) 3.1. Mecanismos de Controle de Congestionamento Van Jacobson ao investigar as causas dos colapsos de congestionamento ocorridos entre o Lawrence Berkeley Laboratory e a UC Berkeley desenvolveu dois algoritmos para tratar a problemática do congestionamento: o Slow Start e o Congestion Avoidance. Para Filho (2002), além dos citados acima, desde aquela época, outros algoritmos foram incluídos no TCP a fim de melhorar a eficiência dos mecanismos de controle de congestionamento, a saber: a. Round-trip-time variance estimation b. Exponential retransmit timer backoff c. More agressive receiver ack policy d. Dynamic window sizing on congestion e. Karn's clamped retrasmit backoff f. Fast retransmit g. Fast recovery Destes, destacam-se o Fast retransmit e o Fast recovery, largamente utilizados como parte do controle de congestionamento do protocolo TCP e suas variantes TCP Reno, TCP Vegas, TCP Sack, TCP New Reno e TCP Limited Transmit. 3.2. Funcionamento do Controle de Congestionamento do TCP Uma vez iniciada uma conexão TCP o algoritmo de controle de congestionamento inicia uma primeira fase que utiliza o mecanismo de Slow Start, onde um valor unitário é atribuído a uma janela de congestionamento (cwnd). À medida que os segmentos são enviados e confirmados por meio dos ACK s o valor da cwnd é incrementado até um limite (Ssthresh), caso isso não acontecesse haveria um congestionamento. Uma segunda fase inicia-se com o Congestion Avoidance, onde o cwnd não é mais incrementada ao receber um ACK e sim a cada conjunto de ACK s, reconhecendo a janela de congestionamento por inteiro. Se porventura ocorrer um timeout, o TCP identifica esta ocorrência como se fosse um descarte devido a um suposto congestionamento na rede; isto indica que a taxa de transmissão de segmentos deve ser reduzida. Assim sendo, o algoritmo inicia novamente a fase de Slow Start e o valor de ssthresh é diminuído pela metade. A seguir, o TCP cresce até atingir o novo valor de ssthresh tornando a iniciar a fase de Congestion Avoidance.

Quando novamente se verifica a perda de segmentos através de ACK s duplicados, ocorre então ocorre o Fast Retransmission, a janela de transmissão não mais volta à fase de Slow Start. Neste caso, a janela de congestionamento é reduzida à metade e o TCP permanece na fase de Congestion Avoidance, caracterizando o algoritmo de Fast Recovery. A figura 01 apresenta o comportamento da janela de congestionamento do TCP como descrito acima. Figura 01 - Evolução da janela de congestionamento do TCP Fonte: Balakrishnan (1998) 4. VARIANTES DO PROTOCOLO TCP Grande parte dos dados trafegados na internet é realizado sob o protocolo TCP (Lima, et al, 2002), por isso é dito ser o dominante na rede mundial. Desta feita, é importante analisar algumas variantes deste protocolo. Fruto dos mecanismos de controle de congestionamento como o Slow Start, Congestion Avoidance, Fast Retransmit e Fast Recovery surgiram tais variações com a finalidade de oferecer uma melhor solução para a problemática dos congestionamentos. 4.1. TCP Reno Esta é a implementação mais comum do protocolo TCP. O mecanismo de controle de congestionamento é composto pelos quatro algoritmos: Slow Start, Congestion Avoidance, Fast Recovery e Fast Retransmit. Uma característica do TCP Reno é tratar-se de um mecanismo de controle de congestionamento reativo. 4.2. TCP Vegas É uma alternativa ao TCP Reno para o aumento da vazão e diminuição do atraso. Este algoritmo apresenta modificações em relação ao TCP Reno nos mecanismos de retransmissão, de Congestion Avoidance e de Slow Start, além de uma modificação da janela de congestionamento. O TCP Vegas é um mecanismo pro-ativo e procura detectar e corrigir o congestionamento antes que aconteça.

4.3. TCP SACK Caracteriza-se pela utilização de um artifício denominado SACK 1 (Selective Acknowledgment). Com o SACK, o receptor de dados pode informar ao emissor quais pacotes foram recebidos corretamente, possibilitando ao emissor retransmitir apenas os pacotes que foram perdidos. 4.4. TCP NewReno Neste algoritmo, no procedimento de Fast Recovery é introduzido uma nova variável denominada recover. É indicado para situações de múltiplas perdas de pacotes em uma mesma janela do TCP Reno na ausência de SACK, contudo mesmo com o SACK este algoritmo é bastante recomendado por sua eficiência. 4.5. TCP Limited Transmit Mesmo com as melhorias realizadas com o TCP SACK e no TCP NewReno, as estratégias de Fast Recovery presentes nestas propostas não foram eficientes quando a janela de congestionamento do TCP emissor é pequena e quando múltiplos pacotes são perdidos em uma única janela. Este algoritmo é útil na prevenção das transmissões em rajadas. 5. CONCLUSÃO O congestionamento é um problema que aflige as mais diversas estruturas de redes. Portanto, isto se deve na maioria dos casos as condições de banda passante e o tráfego nos nós da rede, mas nem todas as perdas são motivadas por sobrecarga na rede, como em redes wireless, onde o meio é constantemente sujeito à perdas. Por estas causas, deve-se dar a devida importância aos algoritmos de controle de congestionamento, que com suas diversas implementações minimizam tal problemática. O controle de congestionamento fica mais evidente quando a distância e a banda aumentam, principalmente em redes de alta velocidade, onde ocorrem muitas rajadas acarretando a perda de grande volume de dados (Wang, 2000). Das diversas implementações do protocolo TCP, destaca-se o TCP Vegas por apresentar um mecanismo pró-ativo, sendo mais eficiente que os demais reativos; contudo, cada implementação apresenta sua vantagem peculiar. 6. REFERÊNCIAS BIBLIOGRÁFICAS LIMA, Michele M. A. E.; FONSECA, Nelson L. S. da. Controle de Tráfego Internet. Anais do 20º Simpósio Brasileiro de Redes de Computadores. Búzios RJ, 2002. FILHO, Reinaldo Penno, Desvendando TCP. 2004. Disponível em <http://www.rnp.br /newsgen/9804/tcp.html#ng-slow>. Acesso em 05 de junho de 2007. 1 SACK é apenas uma notificação para o TCP emissor de quais segmentos foram recebidos corretamente pelo receptor.

POSTEL, J.Transmission Control Protocol, RFC 793, Setembro 1981. Disponível em <http://www.faqs.org/rfcs/rfc793.html>. Acesso em 05 de junho de 2007. CLAFFY, K.; MILLER, G.; THOMPSON, K. The Nature of the Beast: Recent Traffic Measurements from an Internet Backbone.1998. Disponível em <http://www.caida. org/publications/papers/1998/inet98/inet98.html>. Acesso em 05 de junho de 2007. STEVENS, William Richard. TCP/IP Illustrated, Vol. 1: The Protocols. New Jersey: Addison-Wesley, 1997. Disponível em <http://www.uic.rsu.ru/doc/inet/tcp_stevens/>. Acesso em 05 de junho de 2007. LIMA, Michele M. A. E.; FONSECA, Nelson L. S. da; GEROMEL, José C.. Controladores Ótimos para o Gerenciamento Ativo de Filas. Anais do XXVI Congresso da SBC. Campo Grande MS, 2006. BALAKRISHNAN, Hari. Challenges to Reliable Data Transport Over Heterogeneous Wireless Networks. Berkeley: University of California, 1998. p. 203, Tese (Doutorado) University of California, Berkeley, 1998. WANG, Hsu C.. Simulação de Redes ATM. São Paulo SP: Universidade de São Paulo, 2000. Tese (Mestrado). Disponível em <www.larc.usp.br/~hchang/corpodissertacao.pdf> Acesso em 10 de junho de 2007. RYU, Seungwan. Internet Congestion Control with Active Queue Management (AQM). University at Buffalo, 2001. Nota de aula. Disponível em <http://www.cse.buffalo.edu/~qiao/cse620/cse620.ppt>. Acesso em 05 de junho de 2007.