SlideShare uma empresa Scribd logo
ALUNO: FELIPEALEX MARTINS DE SOUZA
ORIENTADOR: PROF. MARCOS DANTAS ORTIZ
 Motivação
 Introdução
 Objetivos (Geral e especifico)
 ReferencialTeórico
 Procedimentos Metodológicos
 Configuração dos Cenários
 Análise dos cenários
 Conclusão
 Referências
2
 Auxiliará um administrador de rede na
escolha de qual algoritmo de controle de
congestionamento utilizar.
 melhor desempenho para cada tipo de
congestionamento identificado.
3
 Aumento de dispositivos = Aumento de demanda
 Criação de protocolos mais sofisticados
 Envio de dados > capacidade de processamento
 Congestionamento
▪ Camada de Rede eTransporte (TCP)
4
 Identificar entre os algoritmos de
congestionamentoTCP qual algoritmo
apresenta melhor desempenho no controle
de congestionamento em diferentes
cenários.
5
 Criar cenários de rede com aspectos que podem
afetar ou não a avaliação de desempenho (fatores) e
valores usados para cada um dos fatores (níveis)
diferentes.
 Implantar, configurar e utilizar o ambiente do
simulador NS2 para a execução dos cenários de
rede.
 Avaliar os algoritmos de congestionamentoTCP
através dos resultados obtidos das simulações.
6
 PROTOCOLOTCP
 CONTROLE DE CONGESTIONAMENTO
 Algoritmos de controle de congestionamentoTCP
▪ TCPTAHOE
▪ TCP RENO
▪ TCPVEGAS
▪ TCP NEWRENO
▪ TCP SACK
▪ TCP FACK
 SIMULAÇÃO
 Simulador Network Simulator (NS-2)
7
 Orientado a conexão
 Entrega confiável
8
 Envio de dados > capacidade de processamento
 Timeout, ACKs Duplicados.
 Limitar o Envio de dados pelo emissor diminuindo a sua taxa
de transmissão;
 Criação de Algoritmos de Congestionamento
 TCPTahoe,TCP Reno,TCPVegas,TCP NewReno,TCP
Sack,TCP Fack.
9
 Primeiro algoritmo de
congestionamento.
 Slow Start(Inicialização
Lenta)
 Janela de Congestionamento
CWND
 Congestionamento
detectado = Slow Start e
Congestion Avoidance
10
 Resolver problema de
desempenho doTahoe.
 Slow Start, Congestion
Avoidance, Fast Retrasmit e
Fast Recovery.
11
 Evita congestionamento de forma pró ativa;
 Reenvio no primeiroACK Duplicado
 Aumento exponencial após dois segmentos;
 Utiliza dois temporizadores;
 Primeiro temporizador = fazer calculo do fluxo da rede para saber a
capacidade disponível
 VazãoReal(ValorCWND/tempo. atual) eVazãoEsperada(ValorCWND/
menor temporizador);
 Calculo da diferença das variáveis de forma pró-ativa, depois ajusta janela
CWND pelas mudanças do temporizador
 Temporizador pequeno = aumento da CWND;
 Temporizador grande = rede congestionada e diminui a CWND;
12
 Segmento é enviado:
 Leitura de relógio interno e armazena instante de tempo
 Recebimento do ACK:
 Leitura de relógio interno = calcula o tempo estimado do
temporizador usando a vazão real e a vazão esperada
 Valor registrado na timestamp
 Utiliza a timestamp, para decisão de retransmissão em duas
situações:
 Quando um ACK duplicado chegar:
▪ Se (tempo atual - tempo armazenado) > timeout
▪ O segmento é retransmitido sem ter que esperar pelo terceiro ACK duplicado ou pelo estouro
de tempo de retransmissão.
 Se um ACK que não é duplicado é reconhecido e se ele for o primeiro
ou o segundo após uma retransmissão:
▪ checa se o tempo desde que ele foi enviado é maior que o tempo do timeout. Se
for maior, o segmento é retransmitido.
13
 Otimizar oTCP Reno
 Reno com reconhecimentos parciais em uma única janela
CWND = Utiliza muito o Congestion Avoidance.
 Reduzindo a transmissão seguidas vezes
 Reconhecimentos Parciais = pacote perdido
 Retransmissão.
 NewReno Utiliza Fast Recovery de forma diferenciada:
 não espera um estouro de timeout no caso de reconhecimentos
parciais
 Se mantém no Fast Retransmit (reconhecimentos parciais)
 Retransmite todos os pacotes por RTT
14
15
 TCP New Reno só sai da fase Fast Recovery
quando recebe a confirmação de todos os
pacotes que foram enviados nesta fase.
 Otimizar o Reno
 Perdas de vários segmentos
 Retransmissão fica lenta, muitos reenvios.
 Objetivo de recuperar múltiplos segmentos perdidos
em um RTT.
 Receptor envia no ACK a informação dos segmentos
já recebidos.
 Transmissor sabe exatamente que segmentos foram
perdidos, podendo retransmiti-los.
 Melhora da largura de banda disponível
16
 O SACK utiliza o campo "Options" do cabeçalhoTCP para
transportar as informações sobre os segmentos recebidos.
 SACK estará em funcionamento apenas em ACKs
Duplicados ou reconhecimentos parciais
 Caso receba um segmento fora de ordem, armazenará os
segmentos em um bloco contíguo e informará ao emissor
o sequencial desses dados pelo campo Options doTCP.
 No campo Acknowledgement Number envia o número de
sequencia recebido + 1, ou seja, oTCP Sack não altera o
valor desse campo noTCP.
17
 Utiliza informações adicionais doTCP Sack
 Medida do número de dados circulando a rede
 Objetivo é utilizar as informações doTCP Sack para
ter um controle mais preciso para injetar dados na
rede
 TCP Reno eTCP Sack
 CadaAck duplicado é um segmento perdido
 Já oTCP Fack faz a estimativa utilizando duas
variaveis
 snd.fack e retran_data
18
 snd.fack é atualizada para refletir os dados mantidos pelo receptor
 Atualização é feita pelo número de confirmações no cabeçalho TCP e é o mesmo que a
variável snd.una (indica o número de sequencia do primeiro byte do pacote enviado e ainda
não reconhecido.).
 Algoritmos remetente que tratam de transporte confiável, continuam a usar a variável
snd.una de estado existente.
 Algoritmos remetente que abordam a gestão dos congestionamentos são alteradas para usar
snd.fack, que fornece uma visão mais precisa para o estado da rede
 Durante a recuperação;
 Remetente continua atualizando a variável snd.una do numero de confirmação do cabeçalho TCP
 No mesmo tempo, utiliza-se as informações contidas noTCP Sack para atualizar snd.fack.
Quando um bloco do Sack é recebido, e os reconhecimentos de dados com um número de sequencia mais alto do
que o valor atual de snd.fack, snd.fack é atualizado para refletir o número de sequencia mais alto conhecido
 A variável awnd é a estimativa do remetente da quantidade real de dados em
circulação na rede(Se todos os seg. não confirmados não deixaram a rede).
awnd = snd.nxt - snd.fack
 snd.nxt contém o sequence number do próximo dado a ser transmitido.
19
 Durante a recuperação(retransmissão de dados)
 Calcula retran_data, que reflete a quantidade de circulação de dados
retransmitidos na rede.
 Segmento Retransmitido = atualiza retran_data, que é aumentada
pelo valor do segmento.
 Segmento Deixando a rede = atualiza retran_data, que é diminuída
pelo valor do segmento
 Portanto estimativaTCP da quantidade de dados pendentes na rede
durante a recuperação é dada por:
awnd = snd.nxt - snd.fack + retran_data
20
 Reno invoca o Fast Recovery com 3 segmentos duplicados
 Atraso desnecessário(segmentos perdidos antes dos 3 reconhecimentos duplicados)
 TCP Fack o ajuste da cwnd e retransmissão são acionados receptor
informando que a fila de remontagem é maior que 3 segmentos
if ((snd.fack - snd.una) > (3 * MSS) ||(dupacks == 3)) {
...
}
 Se exatamente um segmento é perdido, os dois algoritmos
desencadeiam recuperação exatamente no mesmo reconhecimento
duplicado
21
 Importante elemento para experimentos em
redes.
 Custo baixo;
 Imita características de redes reais;
 Prevê desempenho, comparação de
arquiteturas;
 Execução em tempo de máquina.
22
 Código aberto;
 Utilizado em pesquisas acadêmicas;
 Eventos discretos e orientado a objetos;
 Suporte a protocolos de comunicação, comoTCP e
UDP, modelos de tráfego, como CBR eVBR;
algoritmos de roteamento, como DSR e AODV;
alguns protocolos da camada MAC, etc.
23
24
25
26
 8 passos citados por Hassan e Jain(2004).
 Definição do Objetivo de estudo;
 Modelo de rede e seleção de parâmetros fixos;
▪ Rede RNP; parâmetros fixos:capacidade dos enlaces, retardos.
 Seleção de Métricas de Desempenho;
▪ Descartes, Pacotes Recebidos e Utilização de link.
 Parâmetros variáveis;
▪ Percentual de geradores de tráfego.
 Escolha da técnica de simulação e análise;
 Configurar o software de simulação;
 Executar o programa e coletar os dados;
 Apresentar e interpretar os resultados.
27
28
29
 Modelos
 Parâmetros de Rede
30
 Cenários de rede que simulam as conexões
das topologias da RNP.
 Todos os enlaces das topologias possuem:
 buffer finito, com pequena capacidade.
 Os enlaces são Full-Duplex e utilizam a disciplina
de fila FIFO (First-In First-Out).
 Executados em simulações de 10 segundos
cada.
31
 Parâmetros fixos:
 Capacidade dos enlaces
 Retardos
 Parâmetro variável:
 Percentual de geradores de tráfego
32
 Capacidade dos enlaces
 5Mb e 2Mb com exceção das ligações entre (1) Ceará e Roraima e
(2) Pará e Amapá, que tem capacidade inferior.
 Retardos
 De acordo com as distancias físicas dos enlaces
▪ Ceará e Minas Gerais com 20ms de retardo.
▪ Ceará e Rio Grande do Norte com 10ms de retardo.
 Percentual de geradores de tráfego
 Número de enlaces da topologia (50%, 70%, 80%)
33
 Rede RNP Antiga
 34 enlaces:
▪ 50% = 17 geradores de tráfego (9 FTP e 8 CBR)
▪ 70 % = 25 geradores de tráfego (13 FTP e 12 CBR)
▪ 80% = 27 geradores de tráfego (14 FTP e 13 CBR)
 Rede RNP ATUAL
 36 enlaces (Ceará com Rio de Janeiro e Ceará com Brasília):
▪ 50% = 18 geradores de tráfego(9 FTP e 9 CBR)
▪ 70% = 25 geradores de tráfego (13 FTP e 12 CBR)
▪ 80% = 29 geradores de tráfego (15 FTP e 14 CBR)
34
 De acordo com o número de algoritmos de
congestionamento utilizados e o número de parâmetros
variáveis, foram criados 36 cenários de rede (18 cenários
na topologia antiga da RNP e 18 cenários na topologia
atual).
 Os Geradores de tráfego FTP começam a transmitir com 0,1
segundo e os tráfegos CBR começam com 0,5 segundos
35
 Criação de Scripts em Shell:
 Para Descartes, foi criado um script que foi verificado a quantidade de
pacotes que foram descartados durante os 10 segundos de simulação, em
períodos de 0,5 segundos, verificando os pacotes FTP perdidos.
 Para a taxa de Pacotes Recebidos, script com características parecidas com
o script de descartes
 Para a Utilização do Canal, script para analisar o link entre os nós Goiás e
Distrito Federal, link com 5Mb de capacidade, trafegando dados FTP e
CBR simultaneamente ocorrendo congestionamento mas com poucos
descartes.
36
 Rede RNP Antiga
 Descartes
 Pacotes Recebidos
 Utilização do link
 Rede RNP Atual
 Descartes
 Pacotes Recebidos
 Utilização do link
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 Algoritmos de Controle de CongestionamentoTCP trazem vantagens para o
protocolo mais utilizado na Internet -TCP.
 TCPVegas tem o melhor desempenho comparado aos outros algoritmos nas três
métricas analisadas, tanto na rede antiga da RNP quanto na rede atualmente
utilizada. Isso se deve a sua pró-atividade em monitorar o estado da rede,
utilizando as variáveis vazão real e vazão esperada, controlando o
congestionamento na rede.
 TCPTahoe e os outros algoritmos que se baseiam em alguns mecanismos desta
implementação tiveram um desempenho pior quando comparado aoTCPVegas.
Isso comprova a importância da criação de um algoritmo de controle de
congestionamento que não se baseia na perda de dados para diminuir o envio de
dados, mas sim um algoritmo de controle de congestionamento que se baseia no
resultado de variáveis que informam a situação da rede.
 Melhora na topologia da RNP com sua atualização, que suporta o envio de mais
dados na rede e tem mais opções de redundância com o aumento do número de
links.
62
 ABED,G. A., ISMAIL, M., & JUMARI, K. A Survey on Performance of Congestion
Control Mechanisms for StandardTCPVersions. Australian Journal of Basic &
Applied Sciences, 5(12), 2011.
 ALLMAN M.; PAXSONV.; STEVENSW. TCP Congestion Control. IETF Request
for Comments (RFC) 2581, 1999.
 BENÍTEZ,CÁCERES, D.B. Aplicação de Algoritmos de Controle para o
tratamento de congestionamento em Redes de Computadores. 2010. 159 f.
Tese de Doutorado (Pós-Graduação em Engenharia Elétrica) – Universidade do
Rio de Janeiro, Rio de Janeiro, 2010.
 CAVALCANTI, J.L Análise comparativa dos algoritmos de controle de
congestionamento doTCP. 2005. 62 f.Trabalho de Conclusão de Curso
(Bacharelado em Engenharia da Computação) - Universidade Federal de
Pernambuco, Recife, 2005.
 FALL, Kevin;VARADHAN, Kannan. The ns Manual (formerly ns Notes and
Documentation), 2013. Disponível em
<http://www.isi.edu/nsnam/ns/doc/index.html>. Último acesso em 30/10/2013.
63
 HASSAN, M.; JAIN, R. High PerformanceTCP/IP Networking. 1ª.ed.
India: Pearson, 2004.
 KUROSE, J. F; ROSS, K.W. Redes de computadores e a internet: uma
abordagem top-down. 5ª. ed. São Paulo:Addison-Wesley, 2010.
 MATHIS, M.; MAHDAVI, J. Forward acknowledgement: Refining
TCP congestion control. ACM SIGCOMM Computer
Communication Review, v. 26, n. 4, p. 281-291, 1996.
 OLIFER, N. Redes de computadores: princípios, tecnologias e
protocolos para o projeto de redes. 1ª. ed. Rio de Janeiro: LTC, 2008.
 PORTNOI, M.;ARAÚJO, R. Network Simulator –Visão Geral da
Ferramenta de Simulação de Redes. Salvador: UNIFACS, 2003.
64
 PRETE, L. R; SHINODA,A. A. Análise do Comportamento dasVariações
do Protocolo TCP. In: Congresso Nacional de MatemáticaAplicada e
Computacional, 32. 2009,Cuiabá. Anais do CNMAC,Cuiabá: Editora
Cubo, 2009. p. 7-6.
 TANENBAUM,A. S. Redes de Computadores. 5ª. ed. São Paulo:
Campus, 2011
65
FIM
66

Mais conteúdo relacionado

Mais procurados

Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte
Carlitos Fainda Chitsumba
 
Tcp udp
Tcp udpTcp udp
Tcp udp
thiagosenac
 
Controle de Congestionamento e fluxos ratos
Controle de Congestionamento e fluxos ratosControle de Congestionamento e fluxos ratos
Controle de Congestionamento e fluxos ratos
Glauco Gonçalves
 
Protocolo UDP
Protocolo UDPProtocolo UDP
Protocolo UDP
César Augusto Pessôa
 
FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6
Matheus Girardi
 
Camada de enlace parte2
Camada de enlace   parte2Camada de enlace   parte2
Camada de enlace parte2
Universidade Federal do Pampa
 
Camada de transporte parte1
Camada de transporte parte1Camada de transporte parte1
Camada de transporte parte1
Universidade Federal do Pampa
 
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSRedes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Mauro Tapajós
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Ronildo Oliveira
 
Camada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumCamada de Transporte Redes Tanenbaum
Camada de Transporte Redes Tanenbaum
Wellington Oliveira
 
Camada de enlace parte1
Camada de enlace   parte1Camada de enlace   parte1
Camada de enlace parte1
Universidade Federal do Pampa
 
Camada de transporte capitulo 3
Camada de transporte   capitulo 3Camada de transporte   capitulo 3
Camada de transporte capitulo 3
fernandao777
 
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
Wellington Oliveira
 
R&C 0202 07 1
R&C 0202 07 1R&C 0202 07 1
R&C 0202 07 1
guest6a825195
 
Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2
Caio Miranda
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de Transporte
Wellington Oliveira
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
Jaguaraci Silva
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
Jaguaraci Silva
 
Trabalho camada de transporte
Trabalho camada de transporteTrabalho camada de transporte
Trabalho camada de transporte
Aluno QI - Escolas e Faculdades - bObY
 
Protocolos de transporte
Protocolos de transporteProtocolos de transporte
Protocolos de transporte
Joel Saramago
 

Mais procurados (20)

Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte
 
Tcp udp
Tcp udpTcp udp
Tcp udp
 
Controle de Congestionamento e fluxos ratos
Controle de Congestionamento e fluxos ratosControle de Congestionamento e fluxos ratos
Controle de Congestionamento e fluxos ratos
 
Protocolo UDP
Protocolo UDPProtocolo UDP
Protocolo UDP
 
FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6
 
Camada de enlace parte2
Camada de enlace   parte2Camada de enlace   parte2
Camada de enlace parte2
 
Camada de transporte parte1
Camada de transporte parte1Camada de transporte parte1
Camada de transporte parte1
 
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSRedes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
 
Camada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumCamada de Transporte Redes Tanenbaum
Camada de Transporte Redes Tanenbaum
 
Camada de enlace parte1
Camada de enlace   parte1Camada de enlace   parte1
Camada de enlace parte1
 
Camada de transporte capitulo 3
Camada de transporte   capitulo 3Camada de transporte   capitulo 3
Camada de transporte capitulo 3
 
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
WANs e Roteadores Cap. 10 TCP/IP Intermediário - CCNA 3.1 Wellington Pinto de...
 
R&C 0202 07 1
R&C 0202 07 1R&C 0202 07 1
R&C 0202 07 1
 
Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de Transporte
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
Trabalho camada de transporte
Trabalho camada de transporteTrabalho camada de transporte
Trabalho camada de transporte
 
Protocolos de transporte
Protocolos de transporteProtocolos de transporte
Protocolos de transporte
 

Semelhante a Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utilizando o simulador NS-2

Aula 8 camada de transporte ii
Aula 8   camada de transporte iiAula 8   camada de transporte ii
Aula 8 camada de transporte ii
wab030
 
Rct 16 - camada de rede
Rct   16 - camada de redeRct   16 - camada de rede
Rct 16 - camada de rede
Universal.org.mx
 
Protocolos
ProtocolosProtocolos
Protocolos
chapassuca
 
Aulas de rede
Aulas de redeAulas de rede
Aulas de rede
Luand Gadelha
 
Redes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLCRedes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLC
Mauro Tapajós
 
Aula 6 a camada de rede
Aula 6   a camada de redeAula 6   a camada de rede
Aula 6 a camada de rede
O Cara Ivan Silva
 
Cap03b
Cap03bCap03b
Cap03b
samuelthiago
 
R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)
Mariana Hiyori
 
Frame Relay
Frame RelayFrame Relay
Frame Relay
Bruno Luiz
 
Tecnologia ethernet
Tecnologia ethernetTecnologia ethernet
Tecnologia ethernet
Andre Krueger
 
Redes atm
Redes atmRedes atm
Redes atm
ghecastro
 
Redes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de InterconexãoRedes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de Interconexão
Mauro Tapajós
 
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Capítulo 15   conexões de lans, redes backbone e lans virtuaisCapítulo 15   conexões de lans, redes backbone e lans virtuais
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Faculdade Mater Christi
 
Lan token fddi_switching
Lan token fddi_switchingLan token fddi_switching
Lan token fddi_switching
Guillhermm Almmeida Zenni
 
Rc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osiRc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osi
Jhenrique R Dos Santos
 
Cap04b
Cap04bCap04b
Cap04b
samuelthiago
 
Presentation Regiment
Presentation RegimentPresentation Regiment
Presentation Regiment
BimboJones
 
O protocolo SCTP para o transporte de vídeo codificado escalonável
O protocolo SCTP para o transporte de vídeo codificado escalonávelO protocolo SCTP para o transporte de vídeo codificado escalonável
O protocolo SCTP para o transporte de vídeo codificado escalonável
VISIONO - Integrated Solutions and Systems in Security
 
R&c 03 14_1 - Protocolos (Parte 1)
R&c 03 14_1 - Protocolos (Parte 1)R&c 03 14_1 - Protocolos (Parte 1)
R&c 03 14_1 - Protocolos (Parte 1)
Mariana Hiyori
 
ATM via rádio (apresentação da tese)
ATM via rádio (apresentação da tese)ATM via rádio (apresentação da tese)
ATM via rádio (apresentação da tese)
Pedro Silva
 

Semelhante a Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utilizando o simulador NS-2 (20)

Aula 8 camada de transporte ii
Aula 8   camada de transporte iiAula 8   camada de transporte ii
Aula 8 camada de transporte ii
 
Rct 16 - camada de rede
Rct   16 - camada de redeRct   16 - camada de rede
Rct 16 - camada de rede
 
Protocolos
ProtocolosProtocolos
Protocolos
 
Aulas de rede
Aulas de redeAulas de rede
Aulas de rede
 
Redes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLCRedes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLC
 
Aula 6 a camada de rede
Aula 6   a camada de redeAula 6   a camada de rede
Aula 6 a camada de rede
 
Cap03b
Cap03bCap03b
Cap03b
 
R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)
 
Frame Relay
Frame RelayFrame Relay
Frame Relay
 
Tecnologia ethernet
Tecnologia ethernetTecnologia ethernet
Tecnologia ethernet
 
Redes atm
Redes atmRedes atm
Redes atm
 
Redes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de InterconexãoRedes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de Interconexão
 
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Capítulo 15   conexões de lans, redes backbone e lans virtuaisCapítulo 15   conexões de lans, redes backbone e lans virtuais
Capítulo 15 conexões de lans, redes backbone e lans virtuais
 
Lan token fddi_switching
Lan token fddi_switchingLan token fddi_switching
Lan token fddi_switching
 
Rc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osiRc2 camada tcp camada 4 osi
Rc2 camada tcp camada 4 osi
 
Cap04b
Cap04bCap04b
Cap04b
 
Presentation Regiment
Presentation RegimentPresentation Regiment
Presentation Regiment
 
O protocolo SCTP para o transporte de vídeo codificado escalonável
O protocolo SCTP para o transporte de vídeo codificado escalonávelO protocolo SCTP para o transporte de vídeo codificado escalonável
O protocolo SCTP para o transporte de vídeo codificado escalonável
 
R&c 03 14_1 - Protocolos (Parte 1)
R&c 03 14_1 - Protocolos (Parte 1)R&c 03 14_1 - Protocolos (Parte 1)
R&c 03 14_1 - Protocolos (Parte 1)
 
ATM via rádio (apresentação da tese)
ATM via rádio (apresentação da tese)ATM via rádio (apresentação da tese)
ATM via rádio (apresentação da tese)
 

Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utilizando o simulador NS-2

  • 1. ALUNO: FELIPEALEX MARTINS DE SOUZA ORIENTADOR: PROF. MARCOS DANTAS ORTIZ
  • 2.  Motivação  Introdução  Objetivos (Geral e especifico)  ReferencialTeórico  Procedimentos Metodológicos  Configuração dos Cenários  Análise dos cenários  Conclusão  Referências 2
  • 3.  Auxiliará um administrador de rede na escolha de qual algoritmo de controle de congestionamento utilizar.  melhor desempenho para cada tipo de congestionamento identificado. 3
  • 4.  Aumento de dispositivos = Aumento de demanda  Criação de protocolos mais sofisticados  Envio de dados > capacidade de processamento  Congestionamento ▪ Camada de Rede eTransporte (TCP) 4
  • 5.  Identificar entre os algoritmos de congestionamentoTCP qual algoritmo apresenta melhor desempenho no controle de congestionamento em diferentes cenários. 5
  • 6.  Criar cenários de rede com aspectos que podem afetar ou não a avaliação de desempenho (fatores) e valores usados para cada um dos fatores (níveis) diferentes.  Implantar, configurar e utilizar o ambiente do simulador NS2 para a execução dos cenários de rede.  Avaliar os algoritmos de congestionamentoTCP através dos resultados obtidos das simulações. 6
  • 7.  PROTOCOLOTCP  CONTROLE DE CONGESTIONAMENTO  Algoritmos de controle de congestionamentoTCP ▪ TCPTAHOE ▪ TCP RENO ▪ TCPVEGAS ▪ TCP NEWRENO ▪ TCP SACK ▪ TCP FACK  SIMULAÇÃO  Simulador Network Simulator (NS-2) 7
  • 8.  Orientado a conexão  Entrega confiável 8
  • 9.  Envio de dados > capacidade de processamento  Timeout, ACKs Duplicados.  Limitar o Envio de dados pelo emissor diminuindo a sua taxa de transmissão;  Criação de Algoritmos de Congestionamento  TCPTahoe,TCP Reno,TCPVegas,TCP NewReno,TCP Sack,TCP Fack. 9
  • 10.  Primeiro algoritmo de congestionamento.  Slow Start(Inicialização Lenta)  Janela de Congestionamento CWND  Congestionamento detectado = Slow Start e Congestion Avoidance 10
  • 11.  Resolver problema de desempenho doTahoe.  Slow Start, Congestion Avoidance, Fast Retrasmit e Fast Recovery. 11
  • 12.  Evita congestionamento de forma pró ativa;  Reenvio no primeiroACK Duplicado  Aumento exponencial após dois segmentos;  Utiliza dois temporizadores;  Primeiro temporizador = fazer calculo do fluxo da rede para saber a capacidade disponível  VazãoReal(ValorCWND/tempo. atual) eVazãoEsperada(ValorCWND/ menor temporizador);  Calculo da diferença das variáveis de forma pró-ativa, depois ajusta janela CWND pelas mudanças do temporizador  Temporizador pequeno = aumento da CWND;  Temporizador grande = rede congestionada e diminui a CWND; 12
  • 13.  Segmento é enviado:  Leitura de relógio interno e armazena instante de tempo  Recebimento do ACK:  Leitura de relógio interno = calcula o tempo estimado do temporizador usando a vazão real e a vazão esperada  Valor registrado na timestamp  Utiliza a timestamp, para decisão de retransmissão em duas situações:  Quando um ACK duplicado chegar: ▪ Se (tempo atual - tempo armazenado) > timeout ▪ O segmento é retransmitido sem ter que esperar pelo terceiro ACK duplicado ou pelo estouro de tempo de retransmissão.  Se um ACK que não é duplicado é reconhecido e se ele for o primeiro ou o segundo após uma retransmissão: ▪ checa se o tempo desde que ele foi enviado é maior que o tempo do timeout. Se for maior, o segmento é retransmitido. 13
  • 14.  Otimizar oTCP Reno  Reno com reconhecimentos parciais em uma única janela CWND = Utiliza muito o Congestion Avoidance.  Reduzindo a transmissão seguidas vezes  Reconhecimentos Parciais = pacote perdido  Retransmissão.  NewReno Utiliza Fast Recovery de forma diferenciada:  não espera um estouro de timeout no caso de reconhecimentos parciais  Se mantém no Fast Retransmit (reconhecimentos parciais)  Retransmite todos os pacotes por RTT 14
  • 15. 15  TCP New Reno só sai da fase Fast Recovery quando recebe a confirmação de todos os pacotes que foram enviados nesta fase.
  • 16.  Otimizar o Reno  Perdas de vários segmentos  Retransmissão fica lenta, muitos reenvios.  Objetivo de recuperar múltiplos segmentos perdidos em um RTT.  Receptor envia no ACK a informação dos segmentos já recebidos.  Transmissor sabe exatamente que segmentos foram perdidos, podendo retransmiti-los.  Melhora da largura de banda disponível 16
  • 17.  O SACK utiliza o campo "Options" do cabeçalhoTCP para transportar as informações sobre os segmentos recebidos.  SACK estará em funcionamento apenas em ACKs Duplicados ou reconhecimentos parciais  Caso receba um segmento fora de ordem, armazenará os segmentos em um bloco contíguo e informará ao emissor o sequencial desses dados pelo campo Options doTCP.  No campo Acknowledgement Number envia o número de sequencia recebido + 1, ou seja, oTCP Sack não altera o valor desse campo noTCP. 17
  • 18.  Utiliza informações adicionais doTCP Sack  Medida do número de dados circulando a rede  Objetivo é utilizar as informações doTCP Sack para ter um controle mais preciso para injetar dados na rede  TCP Reno eTCP Sack  CadaAck duplicado é um segmento perdido  Já oTCP Fack faz a estimativa utilizando duas variaveis  snd.fack e retran_data 18
  • 19.  snd.fack é atualizada para refletir os dados mantidos pelo receptor  Atualização é feita pelo número de confirmações no cabeçalho TCP e é o mesmo que a variável snd.una (indica o número de sequencia do primeiro byte do pacote enviado e ainda não reconhecido.).  Algoritmos remetente que tratam de transporte confiável, continuam a usar a variável snd.una de estado existente.  Algoritmos remetente que abordam a gestão dos congestionamentos são alteradas para usar snd.fack, que fornece uma visão mais precisa para o estado da rede  Durante a recuperação;  Remetente continua atualizando a variável snd.una do numero de confirmação do cabeçalho TCP  No mesmo tempo, utiliza-se as informações contidas noTCP Sack para atualizar snd.fack. Quando um bloco do Sack é recebido, e os reconhecimentos de dados com um número de sequencia mais alto do que o valor atual de snd.fack, snd.fack é atualizado para refletir o número de sequencia mais alto conhecido  A variável awnd é a estimativa do remetente da quantidade real de dados em circulação na rede(Se todos os seg. não confirmados não deixaram a rede). awnd = snd.nxt - snd.fack  snd.nxt contém o sequence number do próximo dado a ser transmitido. 19
  • 20.  Durante a recuperação(retransmissão de dados)  Calcula retran_data, que reflete a quantidade de circulação de dados retransmitidos na rede.  Segmento Retransmitido = atualiza retran_data, que é aumentada pelo valor do segmento.  Segmento Deixando a rede = atualiza retran_data, que é diminuída pelo valor do segmento  Portanto estimativaTCP da quantidade de dados pendentes na rede durante a recuperação é dada por: awnd = snd.nxt - snd.fack + retran_data 20
  • 21.  Reno invoca o Fast Recovery com 3 segmentos duplicados  Atraso desnecessário(segmentos perdidos antes dos 3 reconhecimentos duplicados)  TCP Fack o ajuste da cwnd e retransmissão são acionados receptor informando que a fila de remontagem é maior que 3 segmentos if ((snd.fack - snd.una) > (3 * MSS) ||(dupacks == 3)) { ... }  Se exatamente um segmento é perdido, os dois algoritmos desencadeiam recuperação exatamente no mesmo reconhecimento duplicado 21
  • 22.  Importante elemento para experimentos em redes.  Custo baixo;  Imita características de redes reais;  Prevê desempenho, comparação de arquiteturas;  Execução em tempo de máquina. 22
  • 23.  Código aberto;  Utilizado em pesquisas acadêmicas;  Eventos discretos e orientado a objetos;  Suporte a protocolos de comunicação, comoTCP e UDP, modelos de tráfego, como CBR eVBR; algoritmos de roteamento, como DSR e AODV; alguns protocolos da camada MAC, etc. 23
  • 24. 24
  • 25. 25
  • 26. 26
  • 27.  8 passos citados por Hassan e Jain(2004).  Definição do Objetivo de estudo;  Modelo de rede e seleção de parâmetros fixos; ▪ Rede RNP; parâmetros fixos:capacidade dos enlaces, retardos.  Seleção de Métricas de Desempenho; ▪ Descartes, Pacotes Recebidos e Utilização de link.  Parâmetros variáveis; ▪ Percentual de geradores de tráfego.  Escolha da técnica de simulação e análise;  Configurar o software de simulação;  Executar o programa e coletar os dados;  Apresentar e interpretar os resultados. 27
  • 28. 28
  • 29. 29
  • 31.  Cenários de rede que simulam as conexões das topologias da RNP.  Todos os enlaces das topologias possuem:  buffer finito, com pequena capacidade.  Os enlaces são Full-Duplex e utilizam a disciplina de fila FIFO (First-In First-Out).  Executados em simulações de 10 segundos cada. 31
  • 32.  Parâmetros fixos:  Capacidade dos enlaces  Retardos  Parâmetro variável:  Percentual de geradores de tráfego 32
  • 33.  Capacidade dos enlaces  5Mb e 2Mb com exceção das ligações entre (1) Ceará e Roraima e (2) Pará e Amapá, que tem capacidade inferior.  Retardos  De acordo com as distancias físicas dos enlaces ▪ Ceará e Minas Gerais com 20ms de retardo. ▪ Ceará e Rio Grande do Norte com 10ms de retardo.  Percentual de geradores de tráfego  Número de enlaces da topologia (50%, 70%, 80%) 33
  • 34.  Rede RNP Antiga  34 enlaces: ▪ 50% = 17 geradores de tráfego (9 FTP e 8 CBR) ▪ 70 % = 25 geradores de tráfego (13 FTP e 12 CBR) ▪ 80% = 27 geradores de tráfego (14 FTP e 13 CBR)  Rede RNP ATUAL  36 enlaces (Ceará com Rio de Janeiro e Ceará com Brasília): ▪ 50% = 18 geradores de tráfego(9 FTP e 9 CBR) ▪ 70% = 25 geradores de tráfego (13 FTP e 12 CBR) ▪ 80% = 29 geradores de tráfego (15 FTP e 14 CBR) 34
  • 35.  De acordo com o número de algoritmos de congestionamento utilizados e o número de parâmetros variáveis, foram criados 36 cenários de rede (18 cenários na topologia antiga da RNP e 18 cenários na topologia atual).  Os Geradores de tráfego FTP começam a transmitir com 0,1 segundo e os tráfegos CBR começam com 0,5 segundos 35
  • 36.  Criação de Scripts em Shell:  Para Descartes, foi criado um script que foi verificado a quantidade de pacotes que foram descartados durante os 10 segundos de simulação, em períodos de 0,5 segundos, verificando os pacotes FTP perdidos.  Para a taxa de Pacotes Recebidos, script com características parecidas com o script de descartes  Para a Utilização do Canal, script para analisar o link entre os nós Goiás e Distrito Federal, link com 5Mb de capacidade, trafegando dados FTP e CBR simultaneamente ocorrendo congestionamento mas com poucos descartes. 36
  • 37.  Rede RNP Antiga  Descartes  Pacotes Recebidos  Utilização do link  Rede RNP Atual  Descartes  Pacotes Recebidos  Utilização do link 37
  • 38. 38
  • 39. 39
  • 40. 40
  • 41. 41
  • 42. 42
  • 43. 43
  • 44. 44
  • 45. 45
  • 46. 46
  • 47. 47
  • 48. 48
  • 49. 49
  • 50. 50
  • 51. 51
  • 52. 52
  • 53. 53
  • 54. 54
  • 55. 55
  • 56. 56
  • 57. 57
  • 58. 58
  • 59. 59
  • 60. 60
  • 61. 61
  • 62.  Algoritmos de Controle de CongestionamentoTCP trazem vantagens para o protocolo mais utilizado na Internet -TCP.  TCPVegas tem o melhor desempenho comparado aos outros algoritmos nas três métricas analisadas, tanto na rede antiga da RNP quanto na rede atualmente utilizada. Isso se deve a sua pró-atividade em monitorar o estado da rede, utilizando as variáveis vazão real e vazão esperada, controlando o congestionamento na rede.  TCPTahoe e os outros algoritmos que se baseiam em alguns mecanismos desta implementação tiveram um desempenho pior quando comparado aoTCPVegas. Isso comprova a importância da criação de um algoritmo de controle de congestionamento que não se baseia na perda de dados para diminuir o envio de dados, mas sim um algoritmo de controle de congestionamento que se baseia no resultado de variáveis que informam a situação da rede.  Melhora na topologia da RNP com sua atualização, que suporta o envio de mais dados na rede e tem mais opções de redundância com o aumento do número de links. 62
  • 63.  ABED,G. A., ISMAIL, M., & JUMARI, K. A Survey on Performance of Congestion Control Mechanisms for StandardTCPVersions. Australian Journal of Basic & Applied Sciences, 5(12), 2011.  ALLMAN M.; PAXSONV.; STEVENSW. TCP Congestion Control. IETF Request for Comments (RFC) 2581, 1999.  BENÍTEZ,CÁCERES, D.B. Aplicação de Algoritmos de Controle para o tratamento de congestionamento em Redes de Computadores. 2010. 159 f. Tese de Doutorado (Pós-Graduação em Engenharia Elétrica) – Universidade do Rio de Janeiro, Rio de Janeiro, 2010.  CAVALCANTI, J.L Análise comparativa dos algoritmos de controle de congestionamento doTCP. 2005. 62 f.Trabalho de Conclusão de Curso (Bacharelado em Engenharia da Computação) - Universidade Federal de Pernambuco, Recife, 2005.  FALL, Kevin;VARADHAN, Kannan. The ns Manual (formerly ns Notes and Documentation), 2013. Disponível em <http://www.isi.edu/nsnam/ns/doc/index.html>. Último acesso em 30/10/2013. 63
  • 64.  HASSAN, M.; JAIN, R. High PerformanceTCP/IP Networking. 1ª.ed. India: Pearson, 2004.  KUROSE, J. F; ROSS, K.W. Redes de computadores e a internet: uma abordagem top-down. 5ª. ed. São Paulo:Addison-Wesley, 2010.  MATHIS, M.; MAHDAVI, J. Forward acknowledgement: Refining TCP congestion control. ACM SIGCOMM Computer Communication Review, v. 26, n. 4, p. 281-291, 1996.  OLIFER, N. Redes de computadores: princípios, tecnologias e protocolos para o projeto de redes. 1ª. ed. Rio de Janeiro: LTC, 2008.  PORTNOI, M.;ARAÚJO, R. Network Simulator –Visão Geral da Ferramenta de Simulação de Redes. Salvador: UNIFACS, 2003. 64
  • 65.  PRETE, L. R; SHINODA,A. A. Análise do Comportamento dasVariações do Protocolo TCP. In: Congresso Nacional de MatemáticaAplicada e Computacional, 32. 2009,Cuiabá. Anais do CNMAC,Cuiabá: Editora Cubo, 2009. p. 7-6.  TANENBAUM,A. S. Redes de Computadores. 5ª. ed. São Paulo: Campus, 2011 65