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) |
|