Sem resumo de edição |
|||
| (Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
| Linha 1: | Linha 1: | ||
A Internet, como solução eficiente e econômica foi totalmente adotada pela comunidade mundial para prover uma comunicação efetiva e prática baseado no conceito de páginas que podem ser facilmente ligadas e a partir daí prover uma navegação amigável para o usuário de qualquer nível de conhecimento. Para suportar, tanto os ambientes necessários a essas atividades e também o numero de usuários que cresce exponencilamente, é necessária uma infraestrutura de rede organizada e padronizada. Esta rede para ter eficiência e boa performance em termos de comunicação é baseada em procedimentos pré-definidos denominados de protocolos. | A Internet, como solução eficiente e econômica foi totalmente adotada pela comunidade mundial para prover uma comunicação efetiva e prática baseado no conceito de páginas que podem ser facilmente ligadas e a partir daí prover uma navegação amigável para o usuário de qualquer nível de conhecimento. Para suportar, tanto os ambientes necessários a essas atividades e também o numero de usuários que cresce exponencilamente, é necessária uma infraestrutura de rede organizada e padronizada. Esta rede para ter eficiência e boa performance em termos de comunicação é baseada em procedimentos pré-definidos denominados de protocolos. | ||
Para estruturar o processo de comunicação entre dois usuários na rede foi implementada uma proposta de pilhas de protocolos que atendem às mais diversas finalidades. Esta pilha foi denominada inicialmente de modelo OSI(''Open Systems Interconnection'') | Para estruturar o processo de comunicação entre dois usuários na rede foi implementada uma proposta de pilhas de protocolos que atendem às mais diversas finalidades. Esta pilha foi denominada inicialmente de modelo OSI(''Open Systems Interconnection''). | ||
<br> | <br> | ||
[[Arquivo:osi.jpg|center|frame|Figura 1: Camadas do modelo OSI]] | |||
[[Arquivo:osi.jpg|center]] | |||
<br> | <br> | ||
Esse modelo contém 7 camadas distribuidas da seguinte forma a partir da visão inferior: | Esse modelo contém 7 camadas distribuidas da seguinte forma a partir da visão inferior, como ilustra a figura 1: | ||
<br> | <br> | ||
'''Camada física'''<br> | '''Camada física'''<br> | ||
| Linha 56: | Linha 54: | ||
Dentre as novidades propostas podemos citar: o espaço de endereços foi ampliado, sendo que o IPv6 têm um tamanho de 128 bits; a inclusão de endereçamento hierárquico, a qual simplifica as tabelas de encaminhamento dos roteadores da rede, o que torna melhor o processamento dos roteadores da rede; um novo formato do cabeçalho totalmente remodelados em relação ao IPv4, apresentando cabeçalhos de extensão, uma opção para guardar informação adicional; suporte a qualidade diferenciada à aplicações de áudio e vídeo passam a estabelecer conexões apropriadas tendo em conta as suas exigências em termos de qualidades de serviços (QoS, com possíveis extensões e alternativas para maior segurança e integridade dos dados). | Dentre as novidades propostas podemos citar: o espaço de endereços foi ampliado, sendo que o IPv6 têm um tamanho de 128 bits; a inclusão de endereçamento hierárquico, a qual simplifica as tabelas de encaminhamento dos roteadores da rede, o que torna melhor o processamento dos roteadores da rede; um novo formato do cabeçalho totalmente remodelados em relação ao IPv4, apresentando cabeçalhos de extensão, uma opção para guardar informação adicional; suporte a qualidade diferenciada à aplicações de áudio e vídeo passam a estabelecer conexões apropriadas tendo em conta as suas exigências em termos de qualidades de serviços (QoS, com possíveis extensões e alternativas para maior segurança e integridade dos dados). | ||
[[Arquivo:Ipv6Image.gif|center]] | [[Arquivo:Ipv6Image.gif|center|frame|Figura 2: Cabeçalho do IPv6]] | ||
O IPv6 possui um formato do cabeçalho base do datagrama que permitiu algumas melhorias:<br> | O IPv6 possui um formato do cabeçalho base do datagrama que permitiu algumas melhorias, o qual está esquematizado na figura 2:<br> | ||
• Tem menos informação que o cabeçalho do IPv4. Por exemplo, o checksum foi removido do cabeçalho pois considerou que o controle de erros das camadas inferiores é confiável.<br> | • Tem menos informação que o cabeçalho do IPv4. Por exemplo, o checksum foi removido do cabeçalho pois considerou que o controle de erros das camadas inferiores é confiável.<br> | ||
• O campo ''Traffic Class'' foi criado para assinalar a classe de serviço a que o pacote pertence, permitindo assim dar diferentes tratamentos a pacotes provenientes de aplicações com exigências distintas. Serviu de base para o funcionamento do mecanismo de qualidade de serviço(QoS) na rede.<br> | • O campo ''Traffic Class'' foi criado para assinalar a classe de serviço a que o pacote pertence, permitindo assim dar diferentes tratamentos a pacotes provenientes de aplicações com exigências distintas. Serviu de base para o funcionamento do mecanismo de qualidade de serviço(QoS) na rede.<br> | ||
Edição atual tal como às 21h19min de 26 de julho de 2011
A Internet, como solução eficiente e econômica foi totalmente adotada pela comunidade mundial para prover uma comunicação efetiva e prática baseado no conceito de páginas que podem ser facilmente ligadas e a partir daí prover uma navegação amigável para o usuário de qualquer nível de conhecimento. Para suportar, tanto os ambientes necessários a essas atividades e também o numero de usuários que cresce exponencilamente, é necessária uma infraestrutura de rede organizada e padronizada. Esta rede para ter eficiência e boa performance em termos de comunicação é baseada em procedimentos pré-definidos denominados de protocolos.
Para estruturar o processo de comunicação entre dois usuários na rede foi implementada uma proposta de pilhas de protocolos que atendem às mais diversas finalidades. Esta pilha foi denominada inicialmente de modelo OSI(Open Systems Interconnection).

Esse modelo contém 7 camadas distribuidas da seguinte forma a partir da visão inferior, como ilustra a figura 1:
Camada física
Esta camada, pelo próprio nome, é o meio pelo qual transita a informação, seja por feixes de luz ou por impulsos elétricos. As preocupações sobre esta estão relacionadas às propriedades mecânicas, elétricas ou funcionais do material em específico. Os sinais transportados por esta, se transformam em bits, 0 ou 1, de acordo com a amplitude do impulso. Sobre estas camadas poucas melhorias são expressivas, visto que é necessário um meio para que transite a informação e ocorra a conexão entre as máquinas.
Camada de Enlace de Dados
Esta camada deve providenciar os mecanismos de endereçamento da rede, especificamente das máquinas envolvidas no processo de comunicação. Esta deve implementar o fluxo de dados, com checagens de erros, e validação das informações transmitidas ou recebidas, deve sequenciar os pacotes, fazendo a comunicação do toda a rede anterior com a parte física, essecialmente os cabos ou fibras, com controle de acesso de mídia, tratando todas as topologias da rede.
Camada de rede
A camada de rede tem a função de controlar a operação da rede, onde são definidas as rotas dos pacotes de acordo com o melhor caminho que julga congestionamentos e distâncias, além do endereçamento dos mesmos, feito pelo conhecido protocolo IP. Nesta são feitos os mapeamentos do endereço físico e das rotas, consultando as tabelas de roteamento e levando em consideração a possível prioridade ou não de certos serviços, além de fragmentar a possível informação de acordo com uma unidade máxima (MTU - Maximum Transmission Unit).
Camada de transporte
É nesta camada que atuam os protocolos TCP(Transmission Control Protocol) e UDP(User Datagram Protocol), entre outros, extremamente conhecidos e responsáveis pela entrega ou recebimento de dados. Esta garante que a mensagem específica seja entregue sem duplicação ou erros significativos, no caso do TCP, que nenhum pacote no destino esteja corrompido. Apresenta também um QoS(Quality of Service), tratando prioridades entre os diferentes tipos de pacotes e de acordo com a urgência. Nela também são enviadas as mensagens de segmentação e confirmação de uma conexão, além de efetuar o controle de fluxo de dados, ou seja, o tráfego da rede.
Camada de Sessão
A camada de sessão é responsável pelos diálogos nos níveis de apresentação das máquinas, ou seja, ela inicia, encerra, e gerencia as conexões entre os hosts específicos. Esta deve ser preocupar em sincronizar os hosts, controlar o envio e a recepção de mensagens, além de suportar as possíveis sessões, realizando funções que permitem a comunicação com segurança e registro através da rede.
Camada de apresentação
Esta camada tem como principal função a conversão e compatibilização de uma série de modelos de apresentação de dados, de forma que mantém uma interface padrão para a camada posterior, e consequentemente para o usuário. Esta camada trabalha basicamente com a formatação, a conversão de caracteres dos diferentes padrões, como exemplo o ASC II, sintaxe, compressão e encriptação de dados.
Camada de aplicação
Caracteriza-se por ser o nível mais alto da arquitetura, ou seja, faz a interface direta com o usuário, suportando as possíveis soluções e aplicações executadas por este. É nesta camada que são perceptíveis as funções básicas de comunicação e bancos de dados, por onde o usuário conecta-se com a rede.
Protocolos da Internet e suas limitações
Na visão do usuário internauta, que manipula páginas com conteúdos dos mais diversos, das quais ele pode ser também responsável pela criação, destacou-se um padrão que revolucionou a arte de se confeccionar páginas, o HTML(HyperText Markup Language).
O HTML, linguagem de marcação predominante nas páginas web, é escrito na forma de elementos que consistem em etiquetas dentro de parênteses angulares (como <html>) dentro do conteúdo das páginas web. As etiquetas normalmente aparecem em pares como <h1> e </h1>. A primeira é uma etiqueta de início e a segunda de final. Dentro dessas etiquetas é possível adicionar texto, tabelas, imagens e etc. O propósito de um navegador (browser) é ler documentos HTML, interpretar e apresentar em forma visual ou audível. O navegador não mostra as etiquetas HTML, mas as usa para interpretar o conteúdo da página e apresentá-la em um formato adequado. Elementos HTML são os construtores de blocos de todos os sites. Ele provê meios de criar documentos estruturados ao aplicar uma estrutura semântica para textos como cabeçalhos, parágrafos, listas, links, citações e outros ítens. É possível também embarcar scripts em linguagens como o JavaScript que afetam o comportamento das páginas HTML. Atualmente, a grande maioria das aplicações criadas no mundo usam ou pretendem usar o ambiente web para facililitar o trabalho de publicação e utilização destas páginas. Com a característica marcante do ser humano, que sempre procura incrementar suas atividades exigindo o máximo das soluções disponíveis, com a Internet não poderia ser diferente. Com o absurdo crescimento no número de internautas e consequentemente dos serviços na rede, a demanda por novas necessidades também foi marcante e acabou por forçar a implementação de técnicas que resolvessem problemas atuais.
O HTML, que é utilizado na criação e manipulação das páginas está diretamente ligado ao usuário final, para todas as funções de navegação e visualização de conteúdos. Portanto está visível, acessível e facilmente editável. Porém, a partir daí, descendo nas camadas inferiores que possuem funções específicas e não menos nobres, temos os protocolos atuando em cada nível. De destacarmos a camada de rede, podemos focar no protocolo IPv4 que deu denominação a essa rede global ou melhor dizendo, rede IP.
Tão famoso que se tornou um dos muitos problemas para a evolução da rede. A limitação do protocolo IPv4 com relação ao número de endereços IPs gerou um desafio para a comunidade científica que envolveu especialista do mundo todo a procura de soluçoes. Uma delas foi a proposta de criação de um novo protocolo e neste contexto, surgiu o IPv6
A longo prazo, o IPv6 tem como objetivo substituir o IPv4, que tem capacidade de aproximadamente 4 bilhões (4x109) de endereços IP, contra cerca de 3,4x10^38 endereços do novo protocolo. Assim é fácil perceber que a implantação do IPv6 está diretamente ligada com o fim da disponibilidade de endereços do anterior.
O interessante é que desde que começou a ser comercializado, já existia a expectativa destes endereços esgotarem em até 3 anos, graças ao planejamento de utilização deste inicialmente, não pelo número de endereços. Mas com base no desenvolvimento de uma série de novas tecnologias, estas previsões de esgotamento quase instantâneo não foram concretizadas, já que surgiram algumas alternativas para economizar recursos e endereços, das quais existem alguns exemplos:
O CIDR (Classless Inter Domain Routing), ou roteamento sem uso de classes, que é descrito pela RFC1519. Com o CIDR foi abolido o esquema de classes, visto que permitia a utilização de blocos de endereços com tamanho definido, de acordo com o que fosse aplicado.
O uso do NAT e da RFC 1918, que especifica os endereços privados, não válidos na Internet, nas redes corporativas. O NAT permite que com um endereço válido apenas, toda uma rede baseada em endereços privados, tenha conexão, embora limitada, com a Internet.
O DHCP (Dynamic Host Configuration Protocol), descrito pela RFC 2131, possibilitou que o endereço IP pudesse ser alterado para uma mesma máquina conforme horário ou até local de acesso, ou seja, duas máquinas podem possuir o mesmo IP em horários diferentes.
Dentre as novidades propostas podemos citar: o espaço de endereços foi ampliado, sendo que o IPv6 têm um tamanho de 128 bits; a inclusão de endereçamento hierárquico, a qual simplifica as tabelas de encaminhamento dos roteadores da rede, o que torna melhor o processamento dos roteadores da rede; um novo formato do cabeçalho totalmente remodelados em relação ao IPv4, apresentando cabeçalhos de extensão, uma opção para guardar informação adicional; suporte a qualidade diferenciada à aplicações de áudio e vídeo passam a estabelecer conexões apropriadas tendo em conta as suas exigências em termos de qualidades de serviços (QoS, com possíveis extensões e alternativas para maior segurança e integridade dos dados).

O IPv6 possui um formato do cabeçalho base do datagrama que permitiu algumas melhorias, o qual está esquematizado na figura 2:
• Tem menos informação que o cabeçalho do IPv4. Por exemplo, o checksum foi removido do cabeçalho pois considerou que o controle de erros das camadas inferiores é confiável.
• O campo Traffic Class foi criado para assinalar a classe de serviço a que o pacote pertence, permitindo assim dar diferentes tratamentos a pacotes provenientes de aplicações com exigências distintas. Serviu de base para o funcionamento do mecanismo de qualidade de serviço(QoS) na rede.
• O campo Flow Label foi idealizado para as novas aplicações que necessitarem de bom desempenho pois permitiu associar datagramas que fazem parte da comunicação entre duas aplicações.
• O campo Payload Length representa, como o nome indica, o volume de dados em bytes que pacote transporta.
• O campo Next Header aponta para o primeiro header de extensão e é usado para especificar o tipo de informação que está a seguir ao cabeçalho corrente.
• O campo Hop Limit tem o número de hops transmitidos antes de descartar o datagrama, ou seja, este campo indica o número máximo de saltos (passagem por encaminhadores) que o datagrama pode dar, antes de ser descartado.
No IPv6 o responsável pela fragmentação é o host que envia o datagrama, e não os roteadores intermédios como no caso do IPv4. No IPv6, os roteadores intermédios descartam os datagramas maiores que o MTU da rede. O MTU será o MTU máximo suportado pelas diferentes redes entre a origem e o destino. Para isso o host envia pacotes ICMP(Internet Control Message Protocol) de vários tamanhos; quando um pacote chega ao host destino, todos os dados a serem transmitidos são fragmentados no tamanho deste pacote que alcançou o destino.
O processo de descoberta do MTU tem que ser dinâmico, porque o percurso pode ser alterado durante a transmissão dos datagramas. No IPv6, um prefixo não fragmentável do datagrama original é copiado para cada fragmento. A informação de fragmentação é guardada num cabeçalho de extensão separado. Cada fragmento é iniciado por uma componente não fragmentável seguida de um cabeçalho do fragmento.
Uma das novidades do IPv6, é a possibilidade de utilização de múltiplos cabeçalhos encadeados. Estes cabeçalhos extra permitem uma maior eficiência, devido a que o tamanho do cabeçalho pode ser ajustado às necessidades. Também permite uma maior flexibilidade, porque podem ser sempre adicionados novos cabeçalhos para satisfazer novas especificações.
O endereçamento no IPv6 é de 128 bits, e inclui prefixo de rede e sufixo de host. No entanto, não existem classes de endereços, como acontece no IPv4. Assim, a fronteira do prefixo e do sufixo pode ser em qualquer posição do endereço. Os endereços IPv6 são normalmente escritos como oito grupos de 4 dígitos hexadecimais. Por exemplo,
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
Se um grupo de vários dígitos seguidos for 0000, pode ser omitido. Por exemplo,
2001:0db8:85a3:0000:0000:0000:0000:7344
é o mesmo endereço IPv6 que:
2001:0db8:85a3::7344
Existem no IPv6 tipos especiais de endereços: unicast, onde cada endereço corresponde a uma interface (dispositivo); multicast, em que cada endereço corresponde a múltiplas interfaces e é enviada uma cópia para cada interface, e por último o anycast, que corresponde a múltiplas interfaces que partilham um prefixo comum. Um datagrama é enviado para um dos dispositivos, por exemplo, o mais próximo.
O protocolo IPv6 não é um "upgrade" do IPv4, é um protocolo totalmente novo. O seu endereçamento é diferente, os seus cabeçalhhos são especializados e flexíveis, permite o controle de fluxo, segurança, auto-configuração e outros aspectos novos. Mas suporta o modelo iPv4, já que qualquer endereço que começe com 80 bits zero (0) seguidos de 16 bits um (1) ou 16 bits zero (0) contém um endereço de IPv4 nos 32 bits à direita.
Os desafios
Para as limitações da Internet já conhecidas existe portanto o desafio de corrigi-las, e para isto é necessário que seja incorporada inteligência na rede, visto que não existe suporte nos protocolos utilizados, assim é necessário desenvolver a semântica nesta estrutura.
O objetivo da semântica é dar significado para textos, criando conexões entre estes e o usuário. Para que as informações possam fazer sentido para a máquina é necessário que sejam usados novos métodos e novas soluções, o que deve possibilitar uma nova "língua" para a comunicação na web. Assim a rede passa a agir de forma inteligente e eficiente, tornando ainda mais rápidas e objetivas as buscas e interações. Um exemplo prático seria uma busca por restaurantes em certa região desconhecida pelo usuário. A web com a capacidade de associar as palavras buscadas com conteúdos específicos e de acordo com o perfil do usuário, através destas inferências, retornaria um resultado específico e que esteja de acordo com os requisitos e opções geralmente buscadas por este. Outro exemplo interessante seria um blog que associaria automaticamente os links para o usuário conforme este digitasse, voltados para sites que tem maior índice de visitação e confiança, ou uma loja que conforme pesquisas já disponibilizava o produto específico com valores de frete, entrega, ou até garantia, sem necessidade do usuário informar toda vez o seu endereço.
Um outro exemplo seria o caso de um homem, de viagem, em uma cidade estranha, e sua esposa grávida está com um desejo específico. É necessário encontrar um disk-food que entregue o mais rápido possível o pedido. Em um caso atual deste tipo, em uma pesquisa na Internet, seriam retornados centenas de resultados, com informações diconexas em sua grande maioria. A partir do momento em que as próprias entidades da web são capazes de inferir e associar informações, ao relacionar o perfil do usuário com o resultado mais adequado, que seja de confiança, seria devolvido apenas a opção que realmente o usuário procura, tornando este tipo de situação bem mais prática e simples de ser resolvida.
Uma solução interessante
Podemos citar ainda vários outros fatores que tornam a Internet atual despreparada para as demandas do futuro. Em função disso, muitos grupos se encontram atualmente desenvolvendo soluções de uma versão da Internet para o futuro e entre várias opções, a proposta do AutoI parece ser bem interessante. Ela propõe uma arquitetura em planos. Desenvolvido na Europa, se propõe corrigir os problemas da Internet atual, visto que esta alcançou proporções muito grandes e necessita de melhorias para poder interconectar sistemas e conhecimento.
O grande desafio e objetivo é projetar e desenvolver uma solução que possa abranger redes heterogêneas, que suporte um serviço de mobilidade, confiabilidade e qualidade de serviço, sendo que esta solução seja uma rede de infraestrutura aberta (open source) baseado em ontologias de informações e modelos de dados. A arquitetura deste modelo é estruturada em cinco abstrações, os planos OSKMV: Orchestration, Service Enablers, Knowledge, Management e Virtualisation. Cada um destes planos executaria funções que abrangem desde a aplicação ao seu controle, para que todos os objetivos e melhorias propostas fossem alcançadas, a figura 3 ilustra bem a disposição destes.

O plano de orquestração (Orchestration) é uma definição conceitual para uma série de ferramentas que governam, integram e policiam os processos e aplicações da Internet através de sistemas autonômicos de controle, os quais tem a capacidade de cancelar ou corrigir processos, além de interagirem. O controle destes sistemas é feito por componentes de orquestração distribuídos, chamados DOCs, os quais possuem uma visão da arquitetura de processos específicos e atuam através de comandos específicos para interferir em cada processo.
O plano de habilitadores de serviço (Service Enablers) é um conjunto de funções de reimplantação automática de protocolos, serviços de controle e serviços prestados ao usuário. Isto permite que os códigos sejam ativados ou executados sobre entidades da rede, aumentando o controle e a segurança sobre estes serviços.
O plano de conhecimento (Knowledge) consiste de modelos e ontologias com a capacidade de fazer análises e integrar conhecimentos através de inferências, assim a rede tem a capacidade de executar auto-monitoramento, auto-análise, entre outros processos que possibilitam a conexão entre dados conforme características comuns, o que cria uma estrutura circular entre as informações e deixa todo o processo mais inteligente e eficiente.
O plano de gestão (Management) é justamente formado pelos sistemas autonômicos de controle que agem nos processos da rede em loops constantes, controlados pelo plano de orquestração. É importante destacar que cada sistema atua sobre um processo específico de forma automática, através de funções de monitoramento. Este plano tem a capacidade de gerar funções embarcadas na rede que se adaptam ao meio e que podem ser extendidas conforme necessidade, sem perturbar o funcionamento do sistema, além de minimizarem o custo computacional das operações e o consumo de energia.
O plano de virtualização (Virtualisation) são mecanismos de software que tratam recursos físicos selecionados como recursos virtuais de programação organizados pelos planos de orquestração e gestão para a criação de componentes, dispositivos ou redes. Este plano é utilizado pelo plano de orquestração para governar os recursos virtuais e construir redes e instrumentos para serviços específicos.
Além dos planos, pode ser destacada uma interface que providencia um meio para acessar o plano de controle de forma a configurar componentes para iniciar roteadores virtuais que formam novas redes, chamada de vCPI(Virtualisation Component Programming Interface). Estes roteadores chamados Virtual Routers (VR), surgem através de máquinas virtuais (VM) graças a um sistema de operação presente em cada uma delas que podem atuar em cada processo local. A figura 4 ilustra o ciclo de vida de uma VM, que representa cada um dos estados possíveis desta, que variam desde parada ou indefinida, até em funcionamento ou suspensa conforme necessidade.

Existem métodos pré-definidos para cada VM, os quais podem receber como parâmetros que variam desde uma URL até um objeto identificador da própria máquina. Estes métodos retornam mensagens de erro e podem modificar o estado, iniciar migrações e criar instâncias na VM. Por exemplo, existe um método chamado por changeVMState, para o qual são passados um objeto de identificação de uma VM e o novo estado que esta deve assumir.
Existem processos para controle de Virtual Links, cujo objetivo é conectar dois VRs. Estes devem ser chamados por ambos componentes e podem desde criar, a modificar e remover conexões entre os roteadores . Um exemplo é o método que cria um link, instantiateLink, que recebe como parâmetros os identificadores das duas VM e os parâmetros do link, e retorna o identificador do link. Para segurança e bom funcionamento dos componentes configurados nesta interface, existem também métodos de monitoramento que permitem a outros planos o acesso a valores de cada componente, além de retornarem listas de identificadores de links ou de VMs. Exemplos desses processos são: getMonitoringValues e getVMList que não necessitam de parâmetros e retornam valores de RAM e HD disponíveis, entre outros, e listas de identificadores de VMs, especificamente.
Toda essa estrutura proposta pelo AutoI pode ajudar a próxima geração de Internet a superar os gargalos atuais e o previstos e dessa forma, atender a essa enorme demanda que possivelmente ainda trará novos desafios que eventualemente requisitarão novas implementações na arquitetura da rede mas por ora promete ser uma resposa eficaz às demandas atuais.