: TMS M

Documentos relacionados
Redes de Computadores

Redes de Computadores

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

Redes de computadores e a Internet. Redes de computadores e a Internet. Prof. Gustavo Wagner. Capítulo 3. Camada de transporte

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

Redes de Computadores

Redes de Computadores e Telecomunicações - Camada de Transporte

Redes de Computadores RES 12502

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol

Capítulo 3 Camada de transporte

Capítulo 3 Camada de transporte

Camada de Transporte Protocolos TCP e UDP

Arquitetura de Redes de Computadores

Camada de Transporte. Redes Industriais Rone Ilídio UFSJ CAP

Redes de Computadores

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Camada de Transporte. Protocolos TCP e UDP

Redes de Computadores

PROTOCOLOS DE COMUNICAÇÃO

Redes de Computadores. Camada de Transporte

TCP - controle de fluxo

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIADO RIO GRANDE DO NORTE IFRN

Universidade Federal de Minas Gerais Departamento de Ciência da Computação

Redes de computadores e a Internet. Redes de computadores e a Internet. Prof. Gustavo Wagner. Capítulo 3. Camada de transporte

TCP - controle de fluxo

TRANSPORTE. Prof. Me. Hélio Esperidião

Funções da Camada de

Camada de Aplicação da Arquitetura TCP/IP

Redes de Computadores

REDES DE COMPUTADORES

Capítulo 9: Camada de Transporte

Redes de Computadores Aula 5

Redes de computadores e a Internet. Capítulo 3. Camada de transporte

SSC0641 Redes de Computadores

Rede de computadores Protocolos UDP. Professor Carlos Muniz

Capítulo 6. A camada de transporte. slide 1 1 reservados.

Redes de Computadores. Prof. André Y. Kusumoto

Redes de Computadores

REDES DE COMPUTADORES

Funções da. Os principais serviços oferecidos pela camada de transporte são: Controle de conexão, Fragmentação, Endereçamento e Confiabilidade.

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Aplicação de rede. GA-027 Redes de Computadores. Camada de Aplicação. Artur Ziviani LNCC/MCT. Execução nos sistemas finais com comunicação via rede

Serviços de Comunicações Capítulo 3

Níkolas Timóteo Paulino da Silva Redes de Computadores I ADS 2ºTermo

Jéfer Benedett Dörr

Protocolos de Rede. Protocolos em camadas

Rede de computadores Protocolos TCP. Professor Carlos Muniz

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Redes de Computadores

Redes de Computadores I

Redes de Computadores I Internet - Conceitos

REDES DE COMPUTADORES

Redes de Computadores e Aplicações. Aula 43 - Camada de Transporte TCP (Transmission Control Protocol)

Redes de Computadores

Arquitetura em Camadas. Profª. Dianne Scherly Varela de Medeiros

Redes de Computadores

REVISÃO - Questões de Redes em Concursos. Semestre: 2 Bimestre:2 Data: / / 2013

Redes de Computadores Camada de Transporte Protocolo TCP

Modelo de Camadas. Redes de Computadores

Prof. Marcelo Cunha Parte 6

Prof. Samuel Henrique Bucke Brito

Arquitetura e Protocolos de Rede TCP/IP

Resumo P2. Internet e Arquitetura TCP/IP

Pós-Graduação em Engenharia de Redes e Sistemas de Telecomunicações

Redes de computadores. Protocolo TCP

PTC Aula A camada de transporte. (Kurose, p ) 15/03/2017

Redes de Computadores Arquitetura TCP/IP. Prof. Alberto Felipe

Nível de Transporte Portas, Protocolos UDP e TCP

Arquitetura da Internet TCP/IP

Lista de exercícios - 1º bimestre 2016 REDES

SSC0641 Redes de Computadores

REDES DE COMPUTADORES

Protocolos de Interligação de Redes Locais e a Distância Camada de Transporte

SSC0641 Redes de Computadores

Redes de Computadores

Parte I: Introdução. O que é a Internet. Nosso objetivo: Visão Geral:

Protocolos de Interligação de Redes Locais e a Distância Protocolos de Transporte. Thiago Leite

Redes de Computadores. Ricardo José Cabeça de Souza

Redes de Computadores

Redes de Computadores I

Redes de Computadores

PTC Aula Princípios do controle de congestionamento 3.7 Controle de congestionamento no TCP

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Protocolos da camada aplicação

Escola Politécnica da Universidade de São Paulo

Capítulo 2. Camada de aplicação

Capítulo 4 A camada de REDE

Redes de Computadores

Capítulo 3: Camada de Transporte

A camada de enlace de dados executa diversas funções específicas. Dentre elas

Modelo de Referência TCP/IP

Modelo de Referência TCP/IP

Arquitetura de Redes TCP/IP. Camada de Transporte

Capítulo 4: Camada de rede

TCP - formato do segmento. Formato do segmento TCP (fonte: Kurose)

Transcrição:

Infraestrutura de Redes de Computadores Turma : TMS 20171.3.01112.1M Camada de Transporte Prof. Thiago Dutra <thiago.dutra@ifrn.edu.br> Agenda n Introdução n Protocolos de Transporte Internet n Multiplexação e Demultiplexação n UDP n TCP n Controle de Congestionamento 2 1

Introdução n Pilha TCP/IP 5. Aplicação 4. Transporte Pacote = segmento 3. Rede 2. Enlace 1. Física 3 Introdução n Camada de Transporte n Situada entre a camada de aplicação e a camada de rede n Tem o papel fundamental de fornecer serviços de comunicação diretamente aos processos de aplicação 4 2

Introdução n Um protocolo de camada de transporte fornece comunicação lógica entre processos de aplicação que rodam em hospedeiros diferentes n Nesse contexto, comunicação lógica significa que: do ponto de vista da aplicação é como se os hospedeiros que rodam os processos estivessem diretamente conectados n Na verdade podem existir diversos roteadores e vários tipos de enlace entre estes hospedeiros n Usando a comunicação lógica oferecida na camada de transporte, as aplicações trocam mensagens livres da preocupação com a real infraestrutura física utilizada para entrega dessas mensagens 5 Introdução n Comunicação Lógica n Entidades de transporte da máquina de origem e de destino comunicam-se diretamente, de forma independente a todos os sistemas intermediários existentes entre elas n Nos níveis físico, enlace e rede isto não é possível 6 3

Introdução n Comunicação Lógica 7 Introdução n Os protocolos de transporte são executados apenas nos sistemas finais n Facilita a implementação n Emissor : quebra as mensagens da aplicação em segmentos e envia para a camada de rede n Receptor : remonta os segmentos em mensagens e passa para a camada de aplicação n Roteadores (ou qualquer outro sistema intermediário) não necessitam implementar protocolos de transporte 8 4

Protocolos de Transporte Internet n O modelo Internet TCP/IP padroniza dois protocolos de transporte : n TCP (Transmission Control Protocol) n UDP (User Datagram Protocol) 9 Protocolos de Transporte Internet n TCP x UDP n Completamente diferentes em relação à: n Complexidade n Conjunto de funcionalidades n Aplicações usuárias n São semelhantes em relação à : n Fornecimento de verificação de integridade n Multiplexação de requisições e Demultiplexação das respostas n Operações ligadas ao conceito de Porta 10 5

Protocolos de Transporte Internet n Formato geral de um segmento TCP ou UDP 11 Multiplexação e Demultiplexação n Cenário : usuário em um computador vendo páginas Web, transferindo arquivos via FTP e com dois terminais Telnet abertos. n 4 processos : HTTP, FTP e 2x Telnet n Quando a camada de transporte recebe dados da camada de rede abaixo dela, como direcionar esses dados para o processo correto? 12 6

Multiplexação e Demultiplexação n Multiplexação n Ocorre no hospedeiro emissor n Coleta dados de múltiplos sockets, encapsula os dados com cabeçalho (usado na demultiplexação) e envia os segmentos para a camada de rede n Demultiplexação n Ocorre no hospedeiro receptor n Recebe o segmento da camada de rede, identifica a porta receptora e direciona ao socket associado 13 Multiplexação e Demultiplexação 14 7

Multiplexação e Demultiplexação n Para que as aplicações que estejam rodando em uma mesma máquina possam transmitir e receber dados simultaneamente elas utilizam portas n Portas são associadas aos sockets (canais por onde os dados passam da rede para o processo e vice-versa) n O hospedeiro usa endereços IP e números de porta para direcionar o segmento ao socket apropriado n Socket UDP n (IP de destino, PORTA de destino) n Socket TCP n (IP de origem, PORTA de origem, IP de destino, PORTA de destino) 15 Multiplexação e Demultiplexação n Cada identificador de porta possui 16 bits de comprimento, podendo variar de 0 a 65535 n Portas de origem e destino são selecionadas aleatoriamente para uso pelo TCP e UDP n Na prática, aplicações comuns possuem identificadores (número) de porta fixos n 22 : SSH n 25 : SMTP n 53 : DNS n 80 : HTTP n 443 : HTTPS 16 8

Multiplexação e Demultiplexação n Essas portas bem conhecidas também são chamadas de portas baixas n Normalmente estão abaixo de 1024 (0 a 1023) n [RFC 1700] 1994 (https://tools.ietf.org/html/rfc1700) n O controle de atribuição atual de portas é feita por uma instituição chamada IANA (Internet Assigned Numbers Authority) n [RFC 3232] 2002 (https://tools.ietf.org/html/rfc3232) n http://www.iana.org/assignments/port-numbers 17 n Demux UDP Multiplexação e Demultiplexação n Datagramas com IP de origem diferentes e/ou portas de origem diferentes são direcionados para o mesmo socket P2 P3 SP = Porta de Origem DP = Porta de Destino P1P1 SP: 6428 DP: 9157 SP: 6428 DP: 5775 cliente IP: A SP: 9157 DP: 6428 servidor IP: C SP: 5775 DP: 6428 cliente IP: B 18 9

Multiplexação e Demultiplexação n Demux TCP P1 SP = Porta de Origem DP = Porta de Destino S-IP = IP de Origem D-IP = IP de Destino P4 P5 P6 P2 P1P3 SP: 5775 DP: 80 S-IP: B D-IP: C SP: 9157 SP: 9157 cliente IP: A DP: 80 S-IP: A D-IP: C servidor IP: C DP: 80 S-IP: B D-IP:C cliente IP: B 19 UDP n User Datagram Protocol nprotocolo de Datagrama de Usuário n[rfc 768] 1980 nhttps://tools.ietf.org/html/rfc768 noferece um serviço best effort nmelhor esforço nfaz o melhor possível, mas não dá garantias nserviço não confiável 20 10

UDP n Segmento UDP 21 UDP n Não é orientado para conexão n Não existe apresentação entre o UDP transmissor e o receptor n Cada segmento UDP é tratado de forma totalmente independente n Uma aplicação que usa UDP pode ter parte do seu fluxo de dados entre origem e destino : n Perdido, Chegando fora de ordem, Chegando com erros n O tratamento dessas situações deve ser realizado, se desejado, na própria aplicação 22 11

UDP n Como justificar a existência do UDP? n Não há estabelecimento de conexão (que possa redundar em atrasos) n Simples: não há estado de conexão nem no transmissor, nem no receptor n Cabeçalho de segmento reduzido (8 bytes) n Não há controle de congestionamento: UDP pode enviar segmentos tão rápido quanto desejado (e possível) 23 UDP n Utilizam UDP : n Aplicações onde o volume de dados é pequeno n DNS n Aplicações que não exigem alta confiabilidade n Transmissão de vídeo e áudio 24 12

Agenda TCP n TCP - Introdução n TCP - Estabelecendo uma Conexão n TCP - Encerrando uma Conexão n Transferência de Dados Confiável n TCP - Transferência de Dados n Controle de Congestionamento n TCP - Controle de Congestionamento 25 TCP - Introdução n Transmission Control Protocol n Protocolo de Controle de Transmissão n RFC s: 793, 1122, 1323, 2018, 2581,... n Oferece um serviço : n Orientado à conexão n Confiável n Com controle de erros n Com controle de fluxo n Com controle de congestionamento 26 13

TCP - Introdução n Segmento TCP 27 TCP Estabelecendo uma Conexão n Para que cliente e servidor possam se comunicar usando TCP, eles precisam primeiramente estabelecer uma conexão n Durante o estabelecimento dessa conexão, diversas preparações são realizadas, ex.: n Cliente escolhe uma porta de origem n Servidor aloca buffers e variáveis à conexão n O procedimento de estabelecimento da conexão é denominado apresentação de três vias n 3-Way Handshake 28 14

TCP Estabelecendo uma Conexão n 3-Way Handshake n (1) Cliente envia um segmento TCP para o servidor com o bit SYN habilitado (igual a 1 ) n (2) Servidor responde com outro segmento TCP para o cliente com os bits SYN e ACK habilitados n (3) Cliente responde com outro segmento TCP para o servidor com o bit ACK habilitado 29 TCP Estabelecendo uma Conexão 30 15

TCP Encerrando uma Conexão n Tanto o cliente quanto o servidor podem encerrar a conexão n Quando uma conexão é encerrada os recursos associados são liberados n Quem desejar fechar a conexão inicia o processo : n O primeiro envia segmento TCP com o bit FIN habilitado n O outro responde com um ACK e envia um FIN n O primeiro responde com um ACK 31 TCP Encerrando uma Conexão n Cliente solicitando o encerramento da conexão n Em geral são trocados 4 segmentos, isto é, um FIN e um ACK para cada sentido n É possível que o primeiro ACK e o segundo FIN ocupem o mesmo segmento 32 16

Transferência de Dados Confiável n 1º dentre os TOP 10 problemas fundamentalmente importantes para o trabalho em rede. n O serviço fornecido para as camadas superiores por um protocolo de transferência de dados confiável deve ser um canal confiável de comunicação n Em um canal confiável os dados transferidos: n Não são corrompidos n Não são perdidos n São entregues na ordem em que foram enviados 33 Transferência de Dados Confiável n Protocolos de camadas mais baixas podem ser não confiáveis n Ex.: TCP sobre IP 34 17

Transferência de Dados Confiável n Resumo de mecanismos de transferência confiável de dados 35 Controle de Congestionamento n Controle de fluxo x Controle de congestionamento n Controle de fluxo n Eliminar a possibilidade do remetente saturar o buffer do destinatário n Serviço de compatibilização de velocidades: taxa de envio com taxa de recepção n Controle de congestionamento n Evitar saturação do canal de comunicação n Os dois controles utilizam a mesma abordagem n Controle do remetente 36 18

Controle de Congestionamento n O volume de segmentos transmitidos é ajustado dinamicamente através da análise de vários fatores: n Tempo médio para o recebimento de ACK s n Quantidade de retransmissões n Valor do campo janela de recepção do segmento n... n Os ajustes são feitos para que a origem e o destino da conexão não fiquem: n Nem ociosos (esperando por segmentos) n Nem saturados (recebimento excessivo de segmentos) 37 n Congestionamento Controle de Congestionamento n Um dos TOP 10 problemas na Internet n Definição informal : muitas fontes enviando dados acima da capacidade da rede de tratá-los n Sintomas n Perda de pacotes (saturação de buffer dos roteadores) n Atrasos grandes (fila nos buffers dos roteadores) 38 19

Controle de Congestionamento n Abordagens gerais para o problema de controle de congestionamento: ncontrole de congestionamento assistido pela rede ncontrole de congestionamento fim a fim 39 Controle de Congestionamento n Controle de congestionamento assistido pela rede n Camada de rede (roteadores) realimenta o remetente sobre o estado de congestionamento da rede n A realimentação pode ser simples (envio de um bit indicando congestionamento) ou sofisticada (envio da taxa de transmissão que um transmissor suporta) n Modos de realimentação : n Pelo destinatário n Pela rede 40 20

Controle de Congestionamento n Controle de congestionamento fim a fim n Não usa realimentação explícita da rede ncongestionamento é inferido a partir de observações (ex.: perdas e atrasos) realizadas pelos sistemas finais 41 TCP Controle de Congestionamento n TCP utiliza controle de congestionamento fim a fim n Obriga o remetente a limitar sua taxa de envio como uma função do congestionamento de rede percebido n Remetente percebe pouco congestionamento -> aumentar taxa n Remetente percebe congestionamento -> reduzir taxa n Questionamentos: n (1) Como o remetente limita sua taxa? n (2) Como o remetente percebe um congestionamento? n (3) Qual algoritmo utilizado pelo remetente para modificar sua taxa de envio como uma função do congestionamento fim a fim? 42 21

TCP Controle de Congestionamento n (1) Como o remetente limita sua taxa? n Através do monitoramento da variável adicional janela de congestionamento n (2) Como o remetente percebe um congestionamento? n Ocorrência de um evento de perda n Variável janela de congestionamento é modificada n Eventos de perda: n Esgotamento de temporização n Recebimento de 3 ACK s duplicados do destinatário 43 TCP Controle de Congestionamento n (3) Qual o algoritmo utilizado pelo remetente para modificar sua taxa como uma função do congestionamento? n O algoritmo deve se preocupar para que não ocorra ociosidade e/ou saturação n Princípios do algoritmo: n Um segmento perdido implica em congestionamento, então a taxa deve diminuir n Um segmento reconhecido implica que esta ocorrendo entrega, então a taxa deve aumentar n Busca por largura de banda: taxa é aumentada até que ocorra um evento de perda, nesse momento a taxa é diminuída 44 22

TCP Controle de Congestionamento n Componentes principais do algoritmo n Partida lenta (obrigatório) n Prevenção de congestionamento (obrigatório) n Recuperação rápida 45 Referências n KUROSE, J. F. e ROSS, K. - Redes de Computadores e a Internet 6a Ed., Pearson, 2013. n KUROSE, J. F. e ROSS, K. - Redes de Computadores e a Internet - 5a Ed., Pearson, 2010. n n n TANENBAUM, A. S. - Redes de Computadores - 5a Ed., Pearson, 2011. ELIAS, G. e LOBATO, L. C. Arquitetura e protocolo de rede TCP-IP 2a Ed., RNP/ESR, 2013 IANA, Internet Assigned Numbers Authority, https://www.iana.org/ 46 23

Infraestrutura de Redes de Computadores Turma : TMS 20171.3.01112.1M Camada de Transporte Prof. Thiago Dutra <thiago.dutra@ifrn.edu.br> 24