quarta-feira, 5 de novembro de 2014

Camada de Transporte

     Os serviços da camada de transporte são responsáveis por prover uma conexão ponto a ponto e estabelecer conexão lógica entre a aplicação de origem e a aplicação de destino (quem transmite - quem recebe) de uma rede. Também fazem a segmentação (divisão) e a reconstrução (junção) do fluxo de dados que chegam das camadas superiores.
      A camada de transporte tem muita responsabilidade, pois precisa manter a integridade das informações, por isso, deve haver um controle de fluxo para dar aos usuários uma confiabilidade no transporte das informações ponto a ponto. Para que essa comunicação seja confiável é preciso que haja uma comunicação orientada a conexão e os protocolos envolvidos devem assegurar-se de:
  • Os seguimentos transmitidos são confirmados quando recebidos (acknowledged).
  • Qualquer segmento não confirmado é retransmitidos.
  • Os segmentos são reconstruídos em sua sequencia original.
  •   Uma gerencia do fluxo de dados é mantida para evitar congestionamento, sobrecarga e perda de dados.
      A imagem abaixo ilustra esse mecanismo:


      Operação de controle de Fluxo

        Depois de enviar a solicitação para iniciar a comunicação e receber (se possível) uma confirmação positiva, as  máquinas verificam a conexão periodicamente para ter a segurança de que as informações estão sendo enviadas e recebidas.
      
      Pode haver congestionamento de dados devido a heterogeneidade das máquinas (uma máquina potente pode gerar dados mais rápido do que a infra-estrutura da rede pode transmitir ou a rede pode transmitir mais rápido do que máquinas lentas podem processar) ou porque vários computadores querem acessar um mesmo destino, fazendo com que o caminho para esse destino fique congestionado (como uma estrada cheia de carros causa congestionamento do trânsito). 
      
      Quando uma máquina recebe mais dados do que pode processar ela enviar o excedente para uma memória chamada buffer, esse processo é conhecido como bufferização. Mas esse processo ocorre apenas se houver uma pause no recebimento dados, se a transferência for ininterrupta a memória de buffer se esgotará e qualquer dado que estiver chegando após o esgotamento será descartado, causando perda das informações.
   
      Graças a camada de transporte evitamos que problemas como esse aconteçam, quando a memória buffer da máquina está cheia e não está pronta para receber, ela manda um sinal que não está pronta (not ready), fazendo com que a máquina que está enviando aguarde e não envie mais dados. Após o receptor ter processado os dados da memória buffer ele manda um sinal de transmissão (ready) para que a máquina que está enviando volte a transmissão da onde tinha parado.

      Como dissemos para a comunicação ser confiável é necessário que haja uma confirmação de que os seguimentos (datagramas) enviados foram recebidos. Mas se formos aguardar a confirmação de cada datagrama enviado haveria um atraso gigantesco da chegada dessa informação, resultando numa transmissão de dados baixíssima. Portanto, uma vez que haja tempo, o transmissor envia segmentos antes de finalizar o processamento de cada confirmação.
   
     A quantidade de dados que o transmissor pode enviar antes de receber a confirmação é chamada de Janela (window). O processo chamado Windowing controla a quantidade de informação transferida antes que haja a confirmação. 
   
     Exemplo do processo Windowing: Se a janela tiver tamanho 1, a máquina transmissora espera a confirmação de cada segmento para poder enviar. Se o tamanho da janela for 2, a máquina transmissora pode enviar 2 segmentos antes de receber uma confirmação, e assim sucessivamente.

      Para finalizar o tópico de camada de transporte, não podemos esquecer da Confirmação (Acknowledgement), é a técnica que implica em enviar uma mensagem de confirmação da máquina destino para a máquina origem, caso o recebimentos dos dados tenha sido realizado com sucesso. Podemos comparar com o serviço de correio, assim que o destinatário recebe o produto, ele tem que assinar um protocolo que é enviado ao remetente, garantindo que a correspondência chegou com sucesso!      

Camada de Sessão

      A Camada de Sessão é a camada responsável pela iniciação, gerenciamento e finalização das sessões entre quem transmite e quem recebe as informações. Ela mantém os dados de diferentes aplicações separados, para que não haja bagunça!

Bibliografia:
Filippetti, Marco Aurélio. CCNA 4.1 Guia Completo de Estudo

segunda-feira, 3 de novembro de 2014

Camada de Apresentação

      A camada de Apresentação é a que recebe as solicitações de serviço da camada de aplicação e envia solicitações de serviço para a camada de sessão.
      É responsável pela formatação das informações, as vezes os arquivos precisam ter seu formato alterado para serem compreendidos por outras camadas do modelo, garantindo uma transmissão mais eficiente.
      Também é responsável pela encriptação e decriptação dos dados, compressão e descompressão, enfim, responsável pela semântica e segurança das informações!

Bibliografia:
Filippetti, Marco Aurélio. CCNA 4.1 Guia Completo de Estudo

Camada de Aplicação


      Camada responsável pela interação entre máquina e usuário, típica e conhecida comunicação cliente-servidor. Aplicações mais comuns dessa camada são os navegadores e servidores web (Google Chrome, Internet Explorer, Apache), emails, servidores de banco de dados (MySQL, Oracle, MS-SQL), entre outros.
      Quando estamos usando um navegador web, por exemplo, para acessar um site, este navegador é uma aplicação cliente. Os dados do site estão localizados em um servidor que está rodando uma aplicação servidora, como o Apache por exemplo.

Bibliografia:
Filippetti, Marco Aurélio. CCNA 4.1 Guia Completo de Estudo

Camadas do Modelo OSI

      E aee o/
      Bom vamos falar sobre as camadas do modelo OSI (Open System Interconnection - Norma ISO 7498, publicada em 1984). Como dito anteriormente, o modelo OSI divide as tarefas referentes a transmissão de dados entre máquinas em uma rede em 7 camadas, são elas:

                                                                          
      As camadas superiores tratam dos assuntos relacionados às aplicações, o que significa que são implementadas geralmente em softwares. Já as camadas inferiores tratam de como a transmissão das informações devem ocorrer nos diversos meios físicos possíveis. Vale lembrar que o modelo OSI não faz a comunicação acontecer, ele é apenas um conjunto de normas que sugere um padrão de como a comunicação entre máquinas deve ser feita.
      Vou explicar cada camada em um tópico separado para o texto não se tornar muito grande e cansativo, então basta clicar nos sub-tópicos ao lado para ler a importância de cada camada.
   
Bibliografia:
Filippetti, Marco Aurélio. CCNA 4.1 Guia Completo de Estudo

segunda-feira, 20 de outubro de 2014

Modelo OSI

      Boa noite, revisando um material sobre redes, resolvi voltar a publicar e quem sabe poder ajudar alguém que tem dificuldades no assunto, assim como eu muitas vezes tive.
      Para entender o modelo OSI vamos primeiramente descobrir sua importância. Imagine que é o dono de uma grande empresa de TI (*___*) . As primeiras comunicações de dados só podiam ser realizadas por máquinas de um mesmo fabricante (vamos adotar para nossa empresa a fabricante IBM). Como está sobrando 'dimdim' você resolve expandir seus negócios e comprar outra empresa! Eita coisa boaa!! Mas como nem tudo é perfeito, antes de comprar você não observou que as empresas usavam máquinas de fabricantes diferentes! Nesse caso, muito provável, você nunca consiga a comunicação de dados entre suas empresas e saia num enorme prejuízo.
      Percebendo casos como esse que a OSI (International Organization for Standardization) criou um grupo junto com representantes de diversas marcas com o objetivo de sanar esse problema. Daí começou a surgir o modelo  OSI, onde o foco era padronizar e possibilitar a comunicação de dados independente do fabricante da máquina, do hardware ou do software. Criou-se fases para formatação, organização, transmissão, recebimento e interpretação dos dados, essas fases foram nomeadas 'Camadas'. Por isso quando um sistema utilizada esse modelo sua estrutura é chamada de 'Arquitetura em Camadas'. 
      Vale lembrar que ninguém precisa ficar preso ao modelo OSI, quando um sistema não utiliza este modelo, é chamado de 'proprietário', o ruim disso é a grande chance de ter problemas de compatibilidade com outros protocolos existentes.
      Bom espero ter esclarecido a importância sobre o modelo OSI, quando não encontramos importância no assunto, todo o conteúdo do texto perde sua beleza. Então sempre procurem extrair o que mais chama atenção do que estiverem lendo e motivem-se a partir daí a continuar!
      Nos próximos posts explicarei com detalhes cada camada do modelo OSI. Sei que já devem ter vários sites explicando, mas tentarem, como nesse post, ser o mais claro, divertido e objetivo possível, porque o importante no fim de tudo é a gente entender a 'parada'! rs
      Ah por favor qualquer erro de português ou a respeito do assunto mandem para mim que eu arrumo! (Afinal ninguém é perfeito!) ^^
      Abraço galera, t+ o/  

Bibliografia:
Filippetti, Marco Aurélio. CCNA 4.1 Guia Completo de Estudo