Joaopca (discussão | contribs)
Joaopca (discussão | contribs)
Linha 139: Linha 139:


Quando falamos em limitação da internet autal, já pensamos logo em numero de endereços IPs. Obviamente o numero de endereços IPs do protocolo IPv4 atual é um fator limitante. Quando iamos pensar que o nosso telefone celular fosse ter um endereco IP? E as nossas geladeiras? A LG lancou uma geladeira com acesso a internet. E o nosso carro? A BMW vende carros que ficam conectados 24h na internet via 3g ou gprs. Cada um desses dispositivos possui um endereço IP. Imagine a quantidade de endereços que precisaremos para cada um desses dispositivos.
Quando falamos em limitação da internet autal, já pensamos logo em numero de endereços IPs. Obviamente o numero de endereços IPs do protocolo IPv4 atual é um fator limitante. Quando iamos pensar que o nosso telefone celular fosse ter um endereco IP? E as nossas geladeiras? A LG lancou uma geladeira com acesso a internet. E o nosso carro? A BMW vende carros que ficam conectados 24h na internet via 3g ou gprs. Cada um desses dispositivos possui um endereço IP. Imagine a quantidade de endereços que precisaremos para cada um desses dispositivos.
Mas as limitações da internet atual não se encontram apenas na quantidade de endereços.
Mas as limitações da internet atual não se encontram apenas na quantidade de endereços. Novas applicações surgiram desde que o protocolo IPv4 foi desenhado. A internet mudou. Na época não se falavam em video 3D full-hd sendo transmitido em tempo real para milhares de hosts, por exemplo. São milhares de exabytes sendo transportado por um protocolo que foi desenhado para alguns megabits por segundo. Novas demandas de muita informação e muita velocidade surgem e surgirão.
Existem ainda limitações nas compatibilidades do protocolo com novas tecnologias, pricipalmente, tecnologias wireless que necessitam de camadas para adaptar o protocolo com o protocolo da internet.
Limitações no gerenciamento de tanta informação, manuseio, roteamento de pacotes que não nos dá um retorno da saude da internet, por exemplo, se um determinado pacote demora para chegar, não sabemos onde ele demorou, dificultando o diagnostico de problemas..... continua


= Introdução =
= Introdução =

Edição das 18h20min de 4 de maio de 2011

Objetivos

O objetivo principal do projeto é colaborar com os esforços da comunidade global para a implementação da Internet do Futuro, implementando protocolos e testes nas soluções desenvolvidas até agora para suportar os novos desafios. A proposta é colaborar com o AutoI de forma a integrar um ambiente que leva semântica e autonomia a rede e que elimina os problemas do TCP/IP fazendo uso de ontologias a fim de dar inteligência a rede.

Colaboração

O objetivo principal do projeto é colaborar com os esforços da comunidade global para a implementação da Internet do Futuro. Realizaremos testes em soluções que possam resolver os problemas atuais da rede e que seja capaz de suportar os novos desafios previstos. A proposta é colaborar com o AutoI de forma a integrar esse ambiente que leva semântica e autonomia a rede a um protocolo que elimine os problemas do TCP/IP fazendo uso de ontologias a fim de dar inteligência as camadas rígidas da arquitetura atual.

Justificativa

Desde que foi criado uma maneira prática e simplificada de se alocar conteúdos em servidores que pudessem ser acessados rapida e facilmente por usuários no mundo inteiro, uma nova fase se iniciou e revolucionou a comunicação no mundo. Essa facilidade implementada por meio de marcações via hipertextos alavancou uma revolução chamada Internet. A partir daí, páginas e mais páginas começaram ser publicadas diariamente na grande rede e esta ação veio se multiplicando a cada dia provocando uma avalanche de endereços que armazenam informações das mais diversas.

Com tanta gente incluindo conteúdos, desde profissionais até leigos, fatalmente teria que provocar alguns problemas, e isso de fato aconteceu. Foram várias situações indesejáveis criadas que foram gradativamente exigindo a criatividade na sua solução. Algumas consequências foram mais sérias, entre elas, ocorre uma falta de padronização dessas informações que originou um problema para os usuários na hora de navegar na Internet e assim descobrir as informações desejadas. Esse fato foi denominao de Information Overload.

Outra consequência desse acúmulo de dados é que a Internet atual não consegue associar informações de várias páginas exatamente pela falta de padronização e também devido à limitação dos protocolos que suportam estas atividades. Diante deste caos, a Web Semântica vem como uma possibilidade de solução permitindo criar um contexto onde a informação possa ter significado para as máquinas, que se encarregarão de levar a informação relevante ao seu usuário.

A web atual é um conjunto de recursos e links. Os recursos são identificados pelos seus URIs (Uniform Resourcem Identifiers). A URL (Uniform Resource Location) faz parte de um subconjunto da URI. Essa forma de descrição é bem tranquila para um internauta pois este tem condições de ler a descrição do link, identificar o sentido semântico intrínseco naquele contexto e a partir daí vai fazendo suas navegações consciente do rumo a ser seguido. Já a máquina, que ainda não entende segundo o raciocínio humano, não consegue fazer uma análise do juízo transmitido por um link pois muita pouca informações “machine-readable” está disponível.

O significado dos links só é evidente no contexto em torno do documento base portanto depende essencialmente da origem que o está chamando para se avaliar o sentido da informação. Exemplificando uma situação onde dois sites publiquem uma informação sobre ranking de determinado artista, onde em um a nota é positiva e no outro a nota é negativa. Para o entendimento humano, ocorre uma séria incoerência, em se tratando da mesma pessoa, já para a máquina, o procedimento é normal já que percebe uma simples ligação.

Na futura web, ou na web semântica, o conjunto de recursos e links também são identificados por URI's, mas podem ser "tipados". Consiste em atribuir um tipo à relação entre dois recursos. Forma-se o conceito de ontologia (Um recurso, uma propriedade e um valor). Neste contexto, uma relação entre dois recursos possui uma propriedade que permite atribuir significado à ligação. No exemplo dos sites de ranking, pode-se atribuir a propriedade "nota positiva" ao link no primeiro site e a propriedade "nota negativa" ao link no segundo site. A diferença entre os modelos é que agora o conhecimento está formalizado de uma maneira estruturada.

Antes da internet, o homem viveu o grande desafio de recuperar o conhecimento perdido em livros, documentos ou peças de museu esquecidas ou depositadas em lugares inalcançáveis. Contudo, a internet mudou este cenário tornando a informação e o conhecimento disponíveis a um clique. Entretanto, tal fato gerou a sobrecarga de informações que dificulta distinguir entre a informação relevente e o lixo. Enfrenta-se, novamente, o problema de encontrar a informação certa, na hora certa.

Os usuários, inevitavelmente, recorrerão aos mecanismos de busca, que avançam em iniciativas como a web semântica, buscando tornarem-se verdadeiros oráculos do meio digital. Mas para estabelecer a relação semântica entre as diversas fontes de informação, é necessário um esforço descentralizado, que pode demorar anos para se concretizar. Mas como toda novidade gera oportunidade, beneficiar-se-ão aqueles que alcançarem uma posição onde possam ser facilmente localizados por meio das relações semânticas criadas.

A mudança da Internet para atender estes novos padrões é obrigatória, porém a maneira de se fazer essa migração ainda é uma incógnita. Para isso, um número altíssimo de pessoas no mundo estão atualmente envolvidas na pesquisa e implementação de novas propostas que poderão atender às ansiedades atuais dos internautas.

Essas linhas de pesquisa buscam acompanhar e compreender o potencial de mudança da Web, especialmente sua evolução para uma estrutura na qual o conteúdo seja o elemento fundamental e que está levando ao desenvolvimento e ampliação das capacidades dos dispositivos computacionais. Não em termos quantitativos de potência de processamento, mas em termos de qualidade de processamento, uma vez que eles passarão a “compreender” os objetos digitais a partir da sua semântica intrínseca. A interação homem-máquina ocorrerá num nível mais elevado, num nível cooperativo entre as máquinas (machine-to-machine). Uma nova geração de ferramentas e dispositivos computacionais está surgindo. Assim, as ontologias terão papel fundamental, provendo contextos, conceitos e padrões de metadados para classificação e descrição a priori, manipulação, armazenamento, transmissão e apresentação dos objetos digitais.

Essa necessidade de evolução se faz obrigatória porque existe uma demanda por novas situações que não conseguem ser atendidas pela estrutura atual. Os revolucionários protocolos TCP/IP provocaram uma mudança radical porém não suportam as atuais necessidades. Exemplo disso é a recente saturação no número de endereços IPv4 disponíveis no mundo e que forçaram a criação de novos protocolos como o IPv6 que é na realidade um paliativo já que também não atende a algumas exigências como mobilidade, segurança,

Continuar escrevendo sobre:

  • deficiências dos protocolos utilizados hoje (TCP/IP. Mostrar que não possuem capacidade para suportar as propostas atuais. [Caio]

Atualmente a internet pode ser considerada o principal meio de comunicação e a maior fonte de informações disponível. Devido ao sucesso da internet a demanda se torna cada vez maior, e consequentemente as expectativas dos seus usuários também são maiores, e para atender essa diversidade de expectativas, novos serviços e aplicações são criados a todo momento. E muitas dessas novas aplicações encontram diversas barreiras, deixando bem claro que a arquitetura atual da internet não consegue suportar todos esses novos serviços por si só, tornando-se um fator limitante da internet.

A arquitetura do protocolo TCP/IP é uma das que está com seus dias contados. No início da internet, em que a mesma só era utilizada por alguns órgãos governamentais, indústrias de alta tecnologia e universidades, este protocolo atendia de forma satisfatória seus usuários. Com a explosão do uso da internet surgiu a necessidade de se trabalhar em uma nova versão do IP para impedir que estes se esgotassem e a para de torná-lo mais flexível, visto que a internet passou a ser usada por novos grupos de pessoa, onde cada um tinha necessidades especificas.

O datagrama do IPv4 em si é relativamente simples, mas quando associado aos seus componentes de controles que são incrementados ao longo do tempo ( cabeçalhos ) se torna extenso e as vezes com informações redundantes, tornando suas interações mais complexas. Essa complexidade leva a conseqüências prejudiciais para as entidades, como falhas e instabilidade, dando incoerência às informações.

Os protocolos e o modelo TCP/IP não diferenciam com clareza os conceitos de serviço, interface e protocolo. A boa prática da engenharia de software exige uma diferenciação entre especificação e implementação. Conseqüentemente, o modelo TCP/IP não é o melhor dos guias para a criação de novas redes com base em novas tecnologias. O modelo TCP/IP não é nem um pouco abrangente e não consegue descrever outras pilhas de protocolos que não a pilha TCP/IP, sendo praticamente impossível por exemplo, descrever a Bluetooth usando este modelo. A camada host/rede não é realmente uma camada no sentido em que o termo é usado no contexto dos protocolos hierarquizados. Trata-se, na verdade, de uma interface (entre as camadas de rede e de enlace de dados). A distinção entre uma interface e uma camada é crucial, mas não é feita no modelo TCP/IP.

O modelo TCP/IP não faz distinção entre as camadas física e de enlace de dados. Elas são completamente diferentes. A camada física está relacionada às características de transmissão do fio de cobre, dos cabos de fibra óptica e da comunicação sem fio. A tarefa da camada de enlace de dados é delimitar o início e o final dos quadros e enviá-los de um lado a outro com o grau de confiabilidade desejado. Um modelo mais adequado deve incluir as duas camadas como elementos distintos. O modelo TCP/IP não faz isso. Porém, apesar de ser praticamente inexistente o modelo TCP/IP seus protocolos se tornaram popular e são usados em larga escala.

Outro problema do protocolo TCP/IP é a falta de segurança deste. Uma das principais deficiências no aspecto de segurança deste protocolo é a incapacidade deste de autenticar uma máquina na rede. Em outras palavras, com base no endereço IP de origem de um pacote recebido, é impossível determinar com certeza a identidade da máquina que o tenha originado. Há também poucas garantias de que o conteúdo de um pacote recebido não tenha sido alterado, muito menos ainda que a privacidade dos dados nele contidos tenha sido preservada. Ou seja, visto que o IPv4 não foi projetado para ser seguro, qualquer maquina conectada a uma rede TCP/IP corre o risco de perder informações armazenadas nele.

Frente a tantos problemas no protocolo IPv4, a proposta adotada como evolução do IPv4 foi a SIPP (Simple Internet Protocol Plus), que foi atribuído o nome de IPv6. Este protocolo seria uma evolução a qual permite um número muito maior de IPs que o IPv4 e uma série de modificações no datagrama, com acréscimo de alguns cabeçalhos a fim e solucionar alguns problemas referentes ao IPv4.

Outra falha que podemos citar no protocolo TCP/IP está relacionada à redes sem fio. Quando projetado, o protocolo TCP/IP não previa que deveria suportar as redes wireless, por isso não apresenta qualquer tipo de teste de congestionamento, apenas de chegada de pacotes, por esse motivo, muitas vezes o pacote é enviado e tarifado pelo provedor, mas devido a um congestionamento de rede, ou pelo fato deste usuário sair de uma região atendida por uma determinada torre para outra, o pacote tem que voltar ao provedor para ser novamente enviado, e como o TCP/IP não compreende tais situações, ele admite que o pacote foi perdido e envia outro, o qual será novamente tarifado ao ser enviado para o usuário desta rede sem fio.

Apesar de apresentar vantagens claras frente ao IPv4 e ser uma proposta que ajudaria a resolver alguns destes problemas, o IPv6 não poder ser considerado como solução. Ele ainda é um protocolo muito rígido, limitado em diversos aspectos. A verdadeira solução para os protocolos atuais está na possibilidade de darmos a capacidade de inferência para a máquina, ou seja, inserir semântica de modo a estabelecer conexão entre as informações, tornando os protocolos mais flexíveis a ponto de podermos encurtar as camadas de rede, transporte em enlace.

Soluções nessa linha de raciocínio já estão sendo desenvolvidas, entre as quais podemos citar a OWL ( Ontology Web Language ) que apresenta ferramentas como Protegé, Oracle 11g, OntoStudio entre outros; e ambientes nos quais testes deste tipo já estão sendo feitos e implementados como o AUTOI que trabalha em cima dos planos OSKMV: Orchestration, Service Enablers, Knowledge, Management e Virtualisation.


  • números na internet: número de servidores web, número de internautas no Brasil e no mundo, número de páginas disponíveis, tráfego, etc [Felipe]

Números na Internet

Usuários

Em junho de 2010, éramos 1,97 bilhões de usuários, um aumento de 14% em relação a 2009. Eles estão distribuídos da seguinte maneira:

  • 825,1 milhões na Ásia
  • 475,1 milhões na Europa
  • 266,2 milhões na América do Norte
  • 204,7 milhões na America Latina/Caribe
  • 110,9 milhões na ÁFrica
  • 63,2 milhões no Oriente Médio
  • 21,3 milhões na Oceania/Austrália

E-mail

Há 1.88 bilhões de usuários de e-mail no mundo (480 milhões a mais do que em 2009) que, por meio de suas 2,9 bilhões de contas (25% delas corporativas), enviaram 107 trilhões de mensagens, numa média de 294 bilhões por dia. Os spams representam 89,1% do total, o que corresponde a 262 bilhões diários.

Sites

Até dezembro de 2010, a internet contava com 255 milhões de sites no mundo – 21,4 milhões a mais do que 2009.

Mídias Sociais

São 152 milhões de blogs na rede; no Twitter, há 175 milhões de usuários (100 milhões a mais do que em 2009), que enviaram 25 bilhões de tuítes no ano. A Lady Gaga (@ladygaga) possui, sozinha, 7,7 milhões de seguidores – sendo o perfil mais seguido.

Já o Facebook conta com 600 milhões de perfis (250 milhões a mais do que 2009), e 70% deles está localizada fora dos Estados Unidos. Eles compartilham 30 bilhões de “itens” (links, notas, fotos, comentários..) todos os meses e instalam 20 milhões de novos aplicativos todos os dias.

Vídeos

Todos os dias, são assistidos 2 bilhões de vídeos no YouTube e, a cada minuto, o site recebe o upload de 35 horas de conteúdo.84% dos usuários da web nos EUA assistem vídeos online – em média, são 186 vídeos em um mês. Apenas 14% deles fazem upload.

No Facebook, por mês, são assistidos mais de 2 bilhões de vídeos; na rede social, o número de vídeos disponibilizados a cada 30 dias chega a 20 milhões.

Fotos

Há 5 bilhões de fotos no Flickr, sendo que mais de 3 mil são colocadas a cada minuto, o que dá uma média de 130 milhões de novas fotos ao mês. Já no Facebook, mais de 3 bilhões de fotos são colocadas todos os meses, uma taxa de 36 bilhões de fotos ao ano.

Servidores

A Apache teve um crescimento de 39,1% no números de sites. A IIS aumentou seu número de sites em 15,3%, a nginx em 4,1%, Google GWS em 5,8% e a Lighttpd teve crescimento de 55,7%.

Domínios

-88,8 milhões de .COM; 13,2 milhões de .NET; 8,6 milhões de .ORG; 79,2 milhões de códigos de país (ex: .BR, .UK, .CN).

Tabelas

Os_20_pa_ses_com_maior_n_mero_de_usu_rios_na_int.jpg

Quantidade_de_e_consumidores_no_Brasil.jpg

Quantidade_de_pessoas_conectadas_a_Web_no_Brasil.jpg

Evolu_o_do_varejo_online.jpg


Fontes http://www.internetworldstats.com/stats.htm

http://www.tobeguarany.com/internet_no_brasil.php

http://info.abril.com.br/noticias/internet/veja-a-internet-em-numeros-no-ano-de-2010-16012011-4.shl



  • a necessidade de "dar" semântica aos protocolos, para que possam possibitar conexões entre informações, além de aproximar as camadas, reduzindo algumas destas. [Alex]
    • Procurar exemplos de aplicação da semântica
    • Exemplo: Estou numa cidade estranha, são 2 hs da manhã, minha esposa está grávida e com desejo. Preciso achar um disk-food que me entregue rápido o meu pedido. Ao buscar o pedido, o sistema me retorna, centenas de páginas com informações desconexas.
    • Muller: Explicar sobre Semantica da Wiki


  • como a Internet atual está limitada para as novas aplicações e métodos projetados para o futuro [João Paulo]

Quando falamos em limitação da internet autal, já pensamos logo em numero de endereços IPs. Obviamente o numero de endereços IPs do protocolo IPv4 atual é um fator limitante. Quando iamos pensar que o nosso telefone celular fosse ter um endereco IP? E as nossas geladeiras? A LG lancou uma geladeira com acesso a internet. E o nosso carro? A BMW vende carros que ficam conectados 24h na internet via 3g ou gprs. Cada um desses dispositivos possui um endereço IP. Imagine a quantidade de endereços que precisaremos para cada um desses dispositivos. Mas as limitações da internet atual não se encontram apenas na quantidade de endereços. Novas applicações surgiram desde que o protocolo IPv4 foi desenhado. A internet mudou. Na época não se falavam em video 3D full-hd sendo transmitido em tempo real para milhares de hosts, por exemplo. São milhares de exabytes sendo transportado por um protocolo que foi desenhado para alguns megabits por segundo. Novas demandas de muita informação e muita velocidade surgem e surgirão. Existem ainda limitações nas compatibilidades do protocolo com novas tecnologias, pricipalmente, tecnologias wireless que necessitam de camadas para adaptar o protocolo com o protocolo da internet. Limitações no gerenciamento de tanta informação, manuseio, roteamento de pacotes que não nos dá um retorno da saude da internet, por exemplo, se um determinado pacote demora para chegar, não sabemos onde ele demorou, dificultando o diagnostico de problemas..... continua

Introdução

Desde que a Internet foi criada tem conseguido a adoção total da 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. http://200.170.138.251/OpenInnovation/index.php/Especial:Contribui%C3%A7%C3%B5es/Vin%C3%ADcius 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 denominada inicialmente de modelo OSI, conforme figura abaixo:

Esse modelo contém 7 camadas distribuidas da seguinte forma a partir da visão inferior:
Camada física
Os protocolos desta camada são os que realizam a codificação/decodificação de símbolos e caracteres em sinais elétricos lançados no meio físico, que fica logo abaixo dessa camada. A camada física tem a função de transmitir uma seqüência de bits através de um canal de comunicação. As funções típicas dos protocolos desta camada são fazer com que um bit "1" transmitido por uma estação seja entendido pelo receptor como bit "1" e não como bit "0". Assim, esta camada trabalha basicamente com as características mecânicas e elétricas do meio físico, como por exemplo:

  • Número de volts que devem representar os níveis lógicos "1" e "0";
  • Velocidade máxima da transmissão;
  • Transmissão simplex, half duplex ou full duplex;
  • Número de pinos do conector e utilidade de cada um;
  • Diâmetro dos condutores.


Camada de Enlace de Dados
O principal objetivo da camada de enlace é receber/transmitir uma seqüência de bits do/para o nível físico e transformá-los em uma linha que esteja livre de erros de transmissão, a fim de que essa informação seja utilizada pela camada de rede. A camada de enlace está dividida em dois subníveis:

  • Subnível superior - controle lógico do enlace (LLC - Logical Link Control) - O protocolo LLC pode ser usado sobre todos os protocolos IEEE do subnível MAC, como por exemplo, o IEEE 802.3 (Ethernet), IEEE 802.4 (Token Bus) e IEEE 802.5 (Token Ring). Ele oculta as diferenças entre os protocolos do subnível MAC. Usa-se o LLC quando é necessário controle de fluxo ou comunicação confiável;
  • Subnível inferior – controle de acesso ao meio (MAC - Medium Access Control) possui alguns protocolos importantes, como o IEEE 802.3 (Ethernet), IEEE 802.4 (Token Bus) e IEEE 802.5 (Token Ring). O protocolo de nível superior pode usar ou não o subnível LLC, dependendo da confiabilidade esperada para esse nível.


Outras funções desta camada são: fornecer controle de tráfego de quadros, seqüenciamento de quadros, quadro de confirmação, quadro que delimita, verificação de erro de quadro e também o gerenciamento de acesso de mídia.
Camada de rede
A camada de rede tem a função de controlar a operação da rede de um modo geral. Suas principais funções são o roteamento dos pacotes entre fonte e destino, mesmo que estes tenham que passar por diversos nós intermediários durante o percurso, o controle de congestionamento e a contabilização do número de pacotes ou bytes utilizados pelo usuário, para fins de tarifação. Uma das questões é qual rota escolher. Esta tarefa é feita baseada em tabelas estatísticas, que são configuradas na criação da rede e são raramente modificadas. Outra característica desta camada é o controle de congestionamento. Se em uma mesma rota estão sendo transmitidos muitos pacotes a performance da rede será pior. O IPX (Internetwork Packet Exchange Protocol) é um protocolo da camada de rede que oferece serviço sem conexão (datagrama) e é responsável pelo roteamento dos pacotes na rede. É nessa camada que o IP começa a surgir.
Camada de transporte
A camada de transporte é a primeira que trabalha com conexões lógicas fim a fim, ou seja, um programa na máquina fonte conversa com um programa similar na máquina destino, diferente dos níveis anteriores, que conversavam somente com o nó vizinho. Lembremos que a conexão criada pelo nível de transporte é uma conexão lógica, e os dados são transmitidos somente pelo meio físicos, através da camada física do modelo. Assim, os dados devem descer nível a nível até atingir o nível 1, para então serem transmitidos à máquina remota. A camada de transporte garante que as mensagens são entregues sem erros na seqüência e sem perdas ou duplicações. O SPX (Sequenced Packet Exchange) é um protocolo da camada de transporte que estende o IPX para fornecer serviço baseado em conexão com uma transmissão confiável, como foi dito anteriormente. A transmissão confiável é garantida pela retransmissão dos pacotes quando há algum erro. Outros protocolos da camada de transporte são o TCP (Transmission Control Protocol) e o UDP (User datagram Protocol), que são bastante conhecidos. A camada de transporte inclui funções relacionadas com conexões entre a máquina fonte e máquina destino, segmentando os dados em unidades de tamanho apropriado para utilização pelo nível de rede, seguindo ou não as orientações do nível de sessão. As principais funções da camada de transporte são: a criação de conexões para cada requisição vinda da camada superior, multiplexar as várias requisições vindas da camada superior em uma única conexão de rede, dividir as mensagens em tamanhos menores, a fim de que possam ser tratadas pela camada de rede e estabelecer e terminar conexões através da rede. O tamanho e a complexidade de um protocolo de transporte depende do tipo de serviço pode ser da camada de rede. A camada de transporte fornece:

  • Mensagem de segmentação: aceita uma mensagem da camada (sessão) acima dela, divide a mensagem em unidades menores (se já não é pequena o suficiente) e passa as menores unidades para a camada de rede;
  • Mensagem de confirmação: fornece entrega de mensagens confiável de ponta a ponta com confirmações;
  • Mensagem de controle de tráfego: informa a estação de transmissão para "back-off" quando nenhum buffer de mensagem está disponível;
  • Multiplexação de sessão: multiplexação de vários fluxos de mensagem, ou sessões em um vínculo lógico e controla as mensagens que pertencem a quaisquer sessões.

Foram especificadas cinco classes de protocolos orientados à conexão:

  • Classe 0: simples, sem nenhum mecanismo de detecção e recuperação de erros;
  • Classe 1: recuperação de erros básicos sinalizados pela rede;
  • Classe 2: permite que várias conexões de transporte sejam multiplexadas sobre uma única conexão de rede e implementa mecanismos de controle de fluxo;
  • Classe 3: recuperação de erros sinalizados pela rede e multiplexação de várias conexões de transporte sobre uma conexão de rede;
  • Classe 4: detecção e recuperação de erros e multiplexação de conexões de transporte sobre uma única conexão de rede.


Camada de Sessão
A camada de sessão permite o estabelecimento da sessão entre processos em execução em estações diferentes. A função dela é administrar e sincronizar diálogos entre dois processos de aplicação. Este nível oferece dois tipos principais de diálogo: half duplex e full duplex. Esta camada fornece:

  • Estabelecimento da sessão, manutenção e o encerramento: permite que dois processos de aplicativo em máquinas diferentes para estabelecer, usar e encerrar uma conexão, chamada de uma sessão;
  • Suporte de sessão: executa as funções que permitem que esses processos para se comunicar pela rede, executar segurança, reconhecimento de nome, log e assim por diante;
  • Mecanismos que permitem estruturar os circuitos oferecidos para o nível de transporte.

Neste nível ocorre a quebra de um pacote com o posicionamento de uma marca lógica ao longo do diálogo. Esta marca tem como finalidade identificar os blocos recebidos para que não ocorra uma recarga, quando ocorrer erros na transmissão. Uma sessão pode ser aberta entre duas estações a fim de permitir a um usuário se logar em um sistema remoto ou transferir um arquivo entre essas estações. Os protocolos desse nível tratam de sincronizações (checkpoints) na transferência de arquivos.
Camada de apresentação
A camada de apresentação formata os dados a serem apresentados para a camada de aplicativo assegurando que a informação seja transmitida de tal forma que possa ser entendida e usada pelo receptor. Dessa forma, este nível pode modificar a sintaxe da mensagem, mas preservando sua semântica. Essa camada pode converter dados de um formato usado pela camada de aplicativo em um formato comum na estação de envio, converter o formato comum para um formato conhecido para a camada de aplicativo na estação de recebimento. A camada de apresentação fornece:

  • Tradução do código de caractere: por exemplo, ASCII para EBCDIC;
  • Conversão de dados: bit de ordem, ponto de CR-CR/LF, flutuante inteiro e assim por diante;
  • Compactação de dados: reduz o número de bits que precisam ser transmitidos na rede;
  • Criptografia de dados: criptografar dados para fins de segurança. Por exemplo, criptografia de senha.


Camada de aplicação
A camada de aplicação é a camada que possui o maior número de protocolos existentes, devido ao fato de estar mais perto do usuário e os usuários possuírem necessidades diferentes. Alguns desses protocolos são: HTTP (HyperText Transfer Protocol secure), FTP(File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), Telnet (protocolo de login remoto), dentre muitos outros. A camada de aplicativo serve como a janela para usuários e processos de aplicativos acessar os serviços de rede, ou seja, essa camada é a interligação dos usuários com os serviços. Ela fornece ao usuário uma interface que permite acesso a diversos serviços de aplicação, convertendo as diferenças entre diferentes fabricantes para um denominador comum. Essa camada contém uma variedade de funções normalmente necessárias:

  • Redirecionamento de recursos de compartilhamento e dispositivo;
  • Acesso remoto a arquivos;
  • Acesso remoto de impressora;
  • Comunicação entre processos;
  • Gerenciamento de rede;
  • Serviços de diretório;
  • Eletrônica de mensagens (como email);
  • Rede virtuais terminais.

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.


Descrever o HTML => tirar de algum livro ou artigo
Felipe

O HTML (acrônimo para HyperText Markup Language, que significa Linguagem de Marcação de Hipertexto) é a linguagem de marcação predominante nas páginas web.

O HTML é escrito na forma de elementos HTML 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. [Referência: RFC 1866: Hypertext Markup Language - 2.0 (T. Berners-Lee, 1995) http://www.ietf.org/rfc/rfc1866.txt]



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.

Um dos tantos exemplos foi a limitação do protocolo IPv4 com relação ao número de endereços IPs, um desafio que surgiu para a comunidade científica que se envolveu na procura de uma solução. Uma delas foi a proposta de criação de um novo protocolo e neste contexto, surgiu o IPv6


Descrever protocolo IPv6 => tirar de algum livro ou artigo. Incluir alguma figura [Caio]


A longo prazo, o IPv6 tem como objetivo substituir o IPv4, que só suporta cerca de 4 bilhões (4x109) de endereços IP, contra cerca de 3,4x1038 endereços do novo protocolo. O principal motivo para a implantação do IPv6 na Internet é a necessidade de mais endereços, porque os endereços livres IPv4 estão se acabando.

Ainda assim, já no início de sua utilização comercial, em 1993, acreditava-se que o espaço de endereçamento da Internet poderia se esgotar num prazo de 2 ou 3 anos. Isso não ocorreu por conta da quantidade de endereços, mas sim por conta da política de alocação inicial, que não foi favorável a uma utilização racional desses recursos. As previsões iniciais, no entanto, de esgotamento quase imediato dos recursos, não se concretizaram devido ao desenvolvimento de uma série de tecnologias, que funcionaram como uma solução paliativa para o problema trazido com o crescimento acelerado:

• 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, permitindo atribuir blocos de endereços com tamanho arbitrário, conforme a necessidade, trazendo um uso mais racional para o espaço.

• 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. Esse protocolo trouxe a possibilidade aos provedores de reutilizarem endereços Internet fornecidos a seus clientes para conexões não permanentes.


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, diminuindo assim a carga de processamento dos mesmos; 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; a capacidade de extensão permitindo adicionar novas especificações de forma simples e encriptações, pois diversas extensões no IPv6 permitem, à partida, o suporte para opções de segurança como autenticação, integridade e confidencialidade dos dados.

Um datagrama IPv6 é constituído por um cabeçalho base, ilustrado na figura que se segue, seguido de zero ou mais cabeçalhos de extensão, seguidos depois pelo bloco de dados.

Formato do cabeçalho base do datagrama IPv6: • Tem menos informação que o cabeçalho do IPv4. Por exemplo, o checksum será removido do cabeçalho, que nesta versão considera-se que o controle de erros das camadas inferiores é confiável. • O campo Traffic Class é usado 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. Este campo serve de base para o funcionamento do mecanismo de qualidade de serviço(QoS) na rede. • O campo Flow Label é usado com novas aplicações que necessitem de bom desempenho. Permite associar datagramas que fazem parte da comunicação entre duas aplicações. Usados para enviar datagramas ao longo de um caminho pré-definido. • 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. 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 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 controlo 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

Além desta, podemos citar outros fatores que tornam a Internet atual despreparada para as demandas do futuro,


Descrever limitações da internet => Artigo: Fundamental Limitations of current Internet and the path to Future Internet1 - EC FIArch Group2 - Release Date: 1 March 2011 [João Paulo]


Muitos grupos se encontram atualmente desenvolvendo soluções para a Internet do Futuro e entre várias opções, a proposta do AutoI parece ser bem interessante. Ela propõe uma arquitetura em planos que ...


Descrever o AutoI => incluir figura
[Alex]

Uma proposta que pretendemos apoiar e utilizar como plataforma para o desenvolvimento de soluções para a Internet do Futuro é o AutoI. Desenvolvido na Europa, este 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.

Figura: Representação dos planos do AutoI, Fonte:(“Platforms and Software Systems for an Autonomic Internet")

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 abilitadores 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 (Virtual Machines - VM) graças a um sistema de operação presente em cada uma delas que podem atuar em cada processo local. Abaixo 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.

Figura: Ciclo de vida de uma VM, Fonte:(Autonomic Internet Framework)

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.

Artigos:

  • Platforms and Software Systems for an Autonomic Internet. J. Rubio-Loyola1, A. Astorga2, J. Serrat2, W. K. Chai3, L. Mamatas3, A. Galis3, S. Clayman3, A. Cheniour4, L. Lefevre4, A. Fischer5, A. Paler5, Y. Al-Hazmi5, H. de Meer5. CINVESTAV Tamaulipas - Mexico, 2Universitat Politècnica de Catalunya - Spain, 3University College London – U.K., 4INRIA- France, 5University of Passau - Germany
  • Autonomic Internet Framework. Deliverable D6.3 Final Results of the Autonomic Internet Approach Autonomic Internet (AUTOI) Project. FP7-ICT-2007-Call 1 - 216404.




Desenvolvimento

  • Estudar as soluções disponíveis no mundo
    • Descrever os resultados de algumas soluções [Caio]
  • Selecionar a mais adequada
  • Baixar o código do AutoI
    • Descrever os procedimentos para instalação do AutoI [Felipe]
  • Executar a solução
  • Estudar o código
  • Corrigir os bugs
  • Avaliar requisitos
  • Submeter o patch
  • Testar casos específicos
  • Benchmarking
  • Documentar

Metodologia

Plano de Trabalho

Resumo