CAPÍTULO 6
Programação visual com Software Livre
EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo.  Prólogo de Benoit Minisini


Próximo >>


6.1  Conceitos

A transmissão de dados através de uma rede padronizou-se faz tempo a nível de software e hardware. Atualmente trabalha com o chamado modelo de camadas. Basicamente, este modelo pretende isolar os diferentes níveis de complexidade de dados, de forma que a substituição de uma camada não afete o trabalho em outra. Podemos ver hoje em dia que é possível, por exemplo, conectar-se a internet através de um modem, uma linha ADSL ou cabo ethernet em uma rede local e, sem maiores problemas, não necessitamos ter diversos equipamento e não somos obrigados a dispor de um navegador ou um cliente de email diferente para cada situação. Isto se deve ao modelo de capas. O navegador só entende de protocolos de alto nível, como HTTP ou FTP, transfere a informação a um nível mais baixo e, finalmente, o modem convencional, ADSL ou a placa de rede se ocupam de transportar esses dados.

Para não entrar em complexidades, já que é tarefa de um livro sobre redes, diremos que há um par de níveis: os mais baixos, formados pelos hardware (modems,  placas  de  rede...) e  os

E os drivers ou módulos do núcleo, que controlam e fatiam a informação para emiti-la ou recebe-la por este hardware; e alguns níveis acima, que são os que mais nos interessa na hora de programar com o Gambas aplicações de rede, e que são independente do método de transporte que haja abaixo.

O protocolo mais conhecido hoje em dia para distribuir informação entre equipamentos é o protocolo IP, que determina que destino e que equipamento recebera cada fragmento de informação que circula por uma rede. Cada equipamento tem um número designado, chamado endereço IP é seu identificador único. Cada pacote IP de informação é similar a uma carta postal: inclui dados do remetente(IP do equipamento de origem) e o destinatário ( IP do equipamento de destino). Estes endereços IP tem a forma XXX.XXX.XXX.XXX; são grupos de três números que variam entre 0 e 255, separados por um ponto (por exemplo: 192.168.0.23 ou 10.124.35.127).

Já que estes não difíceis de lembrar, foi estabelecido um sistema que permitia estabelecer uma correspondência entre nomes e endereços IP este sistema denomina-se DNS e, na internet e em quase todas as redes locais, encontram-se servidores DNS que recebem consultas acerca de nomes de equipamentos e endereços IP e os traduzem em um sentido ou outro. Desta forma, podemos, por exemplo, indicar ao navegador que mostre a página www.gnulinex.org, em lugar de ter que indicar o endereço IP  do equipamento que servindo esta página.

Os pacotes IP podem conter qualquer tipo de informação, porem acima deste nível foi estabelecido outros dois também padrão, que são os protocolos TCP e UDP.

1. TCP utilizado para manter a conexão entre dois equipamentos: sabe-se em todo o momento se o equipamento remoto está à escuta, se recebeu toda a informação corretamente ou teremos que voltar a emitir, e adiciona-se um controle de erros para garantir que um ruido na linha não deformou as mensagens. É o protocolo mais utilizado na internet, já que assegura que recebemos uma pagina web ou um arquivo de forma completa e sem erros.

2.Enquanto o UDP, é um protocolo de transporte muito mais simples que o TCP, e não verifica se realmente existe uma conexão entre os dois equipamentos e se a informação foi realmente recebida ou não. É por tanto, menos confiável, mas em determinado tipo de transmissões, como são as de áudio e video em tempo real, o importante não é que chegue toda a informação (pode haver pequenos cortes ou erros), e sim que o fluxo seja constante e o mais rápido possível. Por isso, também é empregado com frequência na internet, sobre tudo para os servidores de streaming, que nos permite escutar rádio, ver programa de televisão ou realizar videoconferência pela rede.

Na hora de estabelecer uma comunicação entre dois equipamentos, o modelo indica temos de abrir um soket. É algo  similar a uma bandeja de entrada ou saída, como a dos administradores, que tem uma bandeja com os informes pedintes e outra com os que vão terminando. O sistema operacional armazena informações na bandeja de entrada proveniente do sistema  remoto,  até  que  nosso  programa  decida  pegar  os  dados, então  os  processamos e os

deixamos na bandeja de saída. O sistema operacional se encarregará  de enviar essa informação quando for possível.

Sockets não é utilizado apenas para comunicação entre dois equipamentos, dentro de nossa própria maquina muitos programas comunicam-se utilizando este sistema. Por exemplo, este é o caso dos servidores gráficos ou X-Window:  o servidor gráfico desenha o que lhe pedem os programas clientes ou aplicações que tenham estabelecido um socket com ele.

Existe um tipo especial de socket, chamado local ou Unix, que só serve para comunicar programas dentro de um mesmo sistema, e que está optimizado para realizar esta função com grande velocidade e eficácia, permitindo uma comunicação interna várias vezes mais veloz e com menor consumo de recursos que através de um socket TCP ou UDP.

Mais acima, temos os chamados protocolos de aplicações. Já não nos encarregamos do transporte de dados, e sim do formato dos dados e da comunicação. Um dos protocolos mais estendidos é o HTTP que entre outras coisas, é utilizado em toda internet para transmitir e receber páginas web. Estabelece o modo de conectar,  como autenticar-se, a forma dos dados a transmitir ou receber paginas web, imagens, arquivos compactados...) e como finalizar a comunicação.

Outros protocolos específicos são o FTP, especializado na transmissão e recepção de arquivos; TELNET, para trabalhar com terminal de texto sobre um sistema remoto; SMTP, POP ou IMAP, para o correio eletrônico ou os diferentes protocolos de mensageiros instantâneo, como o JABBER.

Se esta breve introdução nos trouxe novidades, devemos estender nosso conhecimentos na área de redes, aprendendo conceitos como as máscaras de rede e divisões em subredes, os diferentes tipos de próxis, ruters e gateways, as conversões NAT, em geral, tudo o que nos ajude a determinar por que não conseguimos conectar com outro equipamento em um dado momento. O mundo das redes é extenso, porem uma boa base nos evitará muitos problemas na hora de programar sistemas distribuídos  entre vários servidores e clientes.









Próximo >>

HOME
   


Cópia literal

Extraído do livro “GAMBAS, programação visual com software Livre”, da editora EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo. Prólogo de Benoit Minisini

LICENSA DESTE DOCUMENTO


É permitido a cópia e distribuição da totalidade ou parte desta obra sem fins lucrativo. Toda cópia total ou parcial devera expressar o nome do autor e da editora e incluir esta mesma licença, adicionando se é uma cópia literal “Cópia literal”. Se é autorizada a modificação e tradução da obra  sem fins lucrativo sempre se deve constar na obra resultante  a modificação o nome da obra original o autor da obra original e o nome da editora e a obra resultante também deverá ser livremente reproduzida, distribuída, ao publico e transformada em termos similares ao exposto nesta licença.

Tradução

Cientista
 (Antonio Sousa)