1 / 21

REDES DE COMPUTADORES

REDES DE COMPUTADORES. Camada de Transporte. O nível de transporte é o coração da pilha de protocolos. Sua tarefa é prover transporte confiável e eficiente de dados de uma máquina origem para uma máquina destino, independente da (ou das) rede física existente.

Download Presentation

REDES DE COMPUTADORES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. REDES DE COMPUTADORES Camada de Transporte URI - Santo Ângelo - DECC

  2. O nível de transporte é o coração da pilha de protocolos. Sua tarefa é prover transporte confiável e eficiente de dados de uma máquina origem para uma máquina destino, independente da (ou das) rede física existente. • O hardware e software no nível de transporte que desempenha essa função é chamado de entidade de transporte, podendo se localizar no núcleo do sistema operacional, em um processo separado ou mesmo na placa de interface de rede. Entidade de transporte URI - Santo Ângelo - DECC

  3. O nível de transporte, de modo semelhante ao nível de rede, oferece o serviço com conexão e sem conexão. Por esse fato, levanta-se a questão: Por que existir o nível de transporte? • A resposta é sutil, mas crucial. O nível de rede é parte da subrede de comunicação e é implementado (pelo menos em MANs e WANs) pelas operadoras de telecomunicação. O que ocorre se o nível de rede oferece serviço orientado à conexão, mas não confiável? Se ele perde pacotes com freqüência? Se os roteadores envolvidos entram em pane com alguma freqüência? • Problemas ocorrem na subrede de comunicação, sobre a qual os usuários finais não têm controle total. A solução do problema é colocar mais um nível sobre o nível de rede (o nível de transporte!) para melhorar a qualidade do serviço (Quality of Service – QoS). • QoS de transporte pode permitir ao usuário especificar valores desejáveis, aceitáveis e mínimos para vários parâmetros na hora da abertura de uma conexão (quando se usa o serviço com conexão). URI - Santo Ângelo - DECC

  4. Os principais parâmetros de QoS são descritos na tabela a seguir. URI - Santo Ângelo - DECC

  5. Primitivas de Transporte • Fundamentalmente, o nível de transporte (nas várias arquiteturasde rede) oferece as primitivas mostradas na tabela a seguir. URI - Santo Ângelo - DECC

  6. Para se ter uma idéia de funcionamento, considere uma aplicação de rede com um programa servidor e vários programas clientes (p.ex., o IRC). As primitivas usadas por cada elemento envolvido na comunicação seriam: • De início, o servidor executa um LISTEN (chamando uma rotina de biblioteca que faz uma chamada ao sistema operacional que bloqueia o programa servidor) para ficar aguardando solicitações de abertura de conexão feitas por clientes; • Um cliente, desejando "falar" com o servidor, executa um CONNECT, sendo bloqueado até obter uma resposta do servidor (ou até esgotar um temporizador); • O servidor recebe o pedido de abertura de conexão, responde confirmando, e libera o fluxo de comunicação com o cliente; • Cliente e servidor trocam dados entre si com chamadas a SEND e RECEIVE; • O cliente encerra a conexão com DISCONNECT; • O servidor aceita a desconexão e continua a aguardar pedidos de abertura de conexão. URI - Santo Ângelo - DECC

  7. Elementos de Protocolos de Transporte • A camada de transporte guarda algumas semelhanças com a camada de enlace de dados: • Controle de erro; • Controle de sequenciamento; • Controle de fluxo. • Apresenta, porém, algumas diferenças importantes: • Endereçamento de aplicação (processos) no emissor e receptor; • Abertura/ Encerramento de conexão mais elaborado com tratamento de dados "em trânsito" na subrede; • Armazenamento temporário de segmentos no emissor e receptor; • Grande quantidade de conexões simultâneas, necessitando de maior controle de fluxo. URI - Santo Ângelo - DECC

  8. Endereçamento de aplicação ao nível de transporte • Como um programa cliente que deseja abrir uma conexão com um programa servidor identifica de forma única o servidor? Como o próprio cliente se identifica para o servidor? • Normalmente são usados endereços de transporte, a partir dos quais os servidores ficam aguardando ("escutando") pedidos de abertura de conexão. São os chamados Pontos de Acesso do Serviço de Transporte (Transport Service Access Point – TSAP), que são análogos aos Pontos de Acesso do Serviço de Rede (Network Service Access Point – NSAP). • Em muitas arquiteturas de rede, endereços de transporte são números inteiros (padronizados em uma dada arquitetura) que identificam programas servidores e programas clientes em máquinas da rede. • A figura a seguir ilustra a utilização desses endereços de transporte. URI - Santo Ângelo - DECC

  9. Endereçamento de programas (TSAPs) e máquinas (NSAPs) URI - Santo Ângelo - DECC

  10. Estabelecimento de Conexão • Teoricamente simples: • Origem envia solicitação (TPDU) de abertura de conexão (CONNECT REQUEST - CR) • Destino recebe CR e envia resposta favorável (ACCEPT ACK) ou desfavorável (REJECT) • Origem inicia transmissão se recebe ACCEPT ACK • O problema é que solicitações ou respostas podem se perder (ou serem duplicadas) no caminho: • Pode haver duplicação de solicitação quando uma confirmação demora muito a chegar • A subrede pode reter um pacote por um tempo relativamente longo, gerando instabilidades • Como resolver o problema? • Usando um mecanismo Conhecido por Threeway Handshake (ou Aperto de mão em três vias) URI - Santo Ângelo - DECC

  11. Theeway Handshake em situação normal • Emissor envia CONNECT com número de sequência X • Receptor envia ACK com sequência Y, e reconhecendo sequência X • Emissor recebe ACK e inicia envio de dados (DATA) com sequência X, reconhecendo sequência Y Threeway handshake URI - Santo Ângelo - DECC

  12. Threeway Handshake com duplicação de CR • Receptor recebe CR duplicado, ignora a segunda ocorrência porque a conexão já foi aberta e reenvia ACK • Emissor recebe ACK, ignora porque a conexão já foi aberta e envia REJECT • Receptor recebe REJECT e fica sabendo que a conexão também já está aberta no emissor (cai na real, descobrindo que foi enganado por um CR duplo) Threeway Handshake com duplicação de CR URI - Santo Ângelo - DECC

  13. Encerramento de Conexão • Não é tão simples quanto possa parecer. Pode ser: • Assimétrico, quando emissor ou receptor fecha a conexão e a comunicação física é interrompida (como no sistema telefônico) • Simétrico, quando a comunicação é vista como duas conexões unidirecionais e o emissor e o receptor devem ser liberados separadamente. • Problema dos dois exércitos • Como sincronizar os ataques da tropa A com a tropa B, para vencer a tropa C, sendo que A e B juntas vencem a tropa C, mas A e B isoladas perdem da tropa C? URI - Santo Ângelo - DECC

  14. Se cada tropa esperar a confirmação do parceiro, nunca se fará nada! • Com rede é bem mais fácil, usando-se técnicas de retransmissão temporizada e desconexão temporizada, como mostrado nas figuras a seguir. Problema dos dois exércitos URI - Santo Ângelo - DECC

  15. Encerramento normal de conexão URI - Santo Ângelo - DECC

  16. Encerramento de conexão com perda de ACK URI - Santo Ângelo - DECC

  17. Encerramento de conexão com perda de resposta URI - Santo Ângelo - DECC

  18. Encerramento de conexão com perda de resposta e DR seguintes URI - Santo Ângelo - DECC

  19. Controle de Fluxo e Armazenamento Temporário • Controle de fluxo é facilmente resolvido com o uso de protocolos de janela deslizante (slide window), como visto na camada de enlace. • Quando um emissor não pode (ou não quer) receber mais segmentos do receptor, envia para o mesmo uma mensagem definindo tamanho 0 (zero) para a janela deslizante de recepção • Posteriormente, envia mensagem de controle indicando um novo N para o reinicio da transmissão emissor → receptor • Basta ter bits para window size no TPDU URI - Santo Ângelo - DECC

  20. Armazenamento temporário é necessário porque durante a transmissão de uma mensagem dividida em vários segmentos, a camada de transporte guarda os segmentos enviados e ainda não confirmados (ACK) pelo receptor, para poder fazer eventuais retransmissões. • É preciso haver área de armazenamento temporários para diversos segmentos de diversas conexões em andamento. • A gerência dessa área de armazenamento pode ser feita de várias formas, sendo bastante comum a utilização de listas encadeadas com elementos de tamanho fixo ou variável e listas circulares • Esse armazenamento temporário é necessário para o emissor e para o receptor (que deve armazenar segmentos até poder recompor a mensagem original e entrega-lá para as camadas superiores). URI - Santo Ângelo - DECC

  21. Gerência de armazenamento temporário URI - Santo Ângelo - DECC

More Related