Vinícius (discussão | contribs)
Caio "Almom" Machado (discussão | contribs)
Linha 33: Linha 33:


* deficiências dos protocolos  utilizados hoje (TCP/IP. Mostrar que  não possuem capacidade para suportar as propostas atuais. [Caio]
* 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: 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]
* 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]
* 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]

Edição das 11h25min de 25 de abril 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]
  • 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]
  • como a Internet atual está limitada para as novas aplicações e métodos projetados para o futuro [João Paulo]

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.
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. 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. 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]


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

Arquivo:Cafezinho.bmp

Metodologia

Plano de Trabalho

Resumo