quarta-feira, 15 de junho de 2011

Software de comunicação via TCP/IP (Skype) (3)

Nas seguintes imagens, podemos verifar como o protocolo TCP/IP funciona com o Skype...


Software de comunicação via TCP/IP (Skype) (2)

Para poder utilizar o Skype, precisa de um computador com Windows, Mac ou Linux, a conexão à Internet, um fone com um micro e uma câmera web, se quiser fazer chamadas de vídeo.



Para começar com o Skype, basta seguir as seguintes etapas básicas:

# 1: Vá para o site do Skype e faça download do software.

# 2: Instalar o software Skype. O software irá solicitar que crie a sua própria conta. Clique em "Join" e digite as informações que o formulário pede. Digite o nome Skype que vai usar e sua senha nesse momento.

# 3: Faça login da sua conta no Skype e comece a adicionar contactos de amigos e familiares. Clique em "Adicionar contato" e encontre as pessoas que deseja adicionar pelo e-mail ou pelo seu nome Skype.

# 4: Ligue o seu microfone e colunas.

# 5: Olhe para as pessoas da sua lista e os ícones ao lado de cada contato, vão dizer se a pessoa está conectada, ou está disponível para comunicar. Pode clicar sobre a marca verde para chamar os utilizadores online. Existe um botão verde de chamada e um botão vermelho para conversar.



Pode-se efectuar download do software tanto para computador como para dispositivos móveis, constituindo uma óptima ferramenta para as empresas.


Software de comunicação via TCP/IP (Skype)

Aqui estão alguns exemplos de de software de comunicação que usam o protocolo TCP/IP...

-Skype
-Communicator
-Gmail
-Hotmail
-MSN Menssenger
-Gtalk
-Voip
-Vid



Mas aqui vamos falar sobre o Skype. O Skype é uma ferramenta de software de comunicação que lhe permite comunicar com pessoas de todo o mundo. Funciona tanto para telefone de vídeo e chat on-line computador e conversas por telefone também. Skype está disponível para uso em Windows, Mac e Linux, e é gratuito para download, o que significa que você não precisa se preocupar com os custos de aquisição.

Para poder utilizar o Skype, precisa de um computador com Windows, Mac ou Linux, a conexão à Internet, um fone com um micro e uma câmera web, se quiser fazer chamadas de vídeo.



Socked de Comunicação TCP/IP (2)

Ele contém principalmente o Internet Protocol, que define o endereçamento “name spaces” fundamental, Internet Protocol Version 4 (IPv4) e Internet Protocol version 6 (IPv6) usado para identificar e localizar os hosts na rede. A “host” tarefas de comunicação de acolhimento direto são tratadas na camada de transporte , que fornece um quadro geral para transmitir dados entre hosts usando protocolos como o Transmission Control Protocol e User Datagram Protocol (UDP).

Por último, o mais alto nível de camada de aplicativo contém todos os protocolos que são definidos a cada especificamente para o funcionamento da vasta gama de serviços de comunicações de dados. Esta camada lida com a interação do aplicativo com base em um nível de processo para processo de comunicação entre hosts da Internet.

terça-feira, 14 de junho de 2011

Socket de Comunicação TCP/IP

O Internet Protocol Suite é o conjunto de protocolos de comunicação utilizados para a Internet e outras redes similares. É comumente conhecido como TCP / IP chamado de dois dos protocolos mais importantes em que: o Transmission Control Protocol (TCP) e o Internet Protocol (IP), que foram os dois primeiros protocolos de rede definidos nesta Norma. A Moderna rede IP representa uma síntese de vários desenvolvimentos que começou a evoluir em 1960 e 1970, nomeadamente a Internet e redes de área local , que surgiu na década de 1980, juntamente com o advento da World Wide Web, no início de 1990.

O “Internet Protocol Suite” é composto de quatro camadas de abstração. Do menor para a camada mais alta, estes são os Link Layer, a camada de Internet, a camada de transporte, e a camada de aplicação. As camadas definem o escopo operacional ou alcance dos protocolos em cada camada, vagamente reflectido nos nomes de camada. Cada camada tem uma funcionalidade que resolve um conjunto de problemas relevantes no seu âmbito.


O Link Layer contém tecnologias de comunicação para a rede local do host está conectado diretamente no link. Ela fornece as funções de conectividade básica, interagir com o hardware de rede do computador e da gestão associada de mensagens de interface para interface. A Camada de Internet fornece métodos de comunicação entre vários links de um computador e facilita a interconexão das redes. Como tal, essa camada estabelece a Internet.



segunda-feira, 13 de junho de 2011

Packet Tracer

O Packet Tracer é um software gratuito produzido pela CISCO fornecido que provê uma simulação virtual de equipamentos e situações da vida real.

O Packet Tracer é normalmente usado em ambientes educacionais, mas é usado principalmente por empresas para simular o layout de redes e a sua configuração.



No Packet Tracer pode-se visualizar a simulação da rede, tráfego, dispositivos e servidores. Através dele pode-se configurar routers, switches, pontos de acesso wireless, servidores e dispositivos.

Aqui está uma imagem para poder ver como o programa é:

Clusters de Servidor

Um cluster de servidor é um grupo de sistemas informáticos independentes, designados por nós, que executam o Microsoft® Windows Server™ 2003, Enterprise Edition ou Microsoft® Windows Server™ 2003, Datacenter Edition e funcionam em conjunto como um único sistema para garantir que as aplicações e os recursos críticos permanecem disponíveis para os clientes. Os nós de um cluster permanecem em constante comunicação através da troca de mensagens periódicas, denominadas heartbeats. Se um ou mais nós ficarem indisponíveis devido a uma falha ou a manutenção, outro nó começa imediatamente a prestar serviço (este processo é conhecido como activação pós-falha).

Os clusters de servidor podem combinar, no máximo, oito nós. Além disso, um cluster não pode ser constituído por nós que executem o Windows Server 2003, Enterprise Edition e o Windows Server 2003, Datacenter Edition, dado que os diferentes sistemas operativos poderão estar a executar versões incompatíveis do Serviço de cluster. Nos clusters de servidor com mais de dois nós, todos os nós têm de executar o Windows Server 2003, Enterprise Edition ou o Windows Server 2003, Datacenter Edition, mas não ambos. No entanto, um cluster de servidor pode funcionar com alguns nós a executar o sistema operativo Microsoft® Windows® 2000 e com outros a executar o Windows Server 2003, Enterprise Edition ou o Windows Server 2003, Datacenter Edition.

Os clusters de servidor podem ser definidos com uma de três configuração de modelo de cluster diferentes:

- Os clusters de servidor de nó único podem ser configurados com ou sem dispositivos externos de armazenamento de cluster. Para clusters de nó único sem um dispositivo externo de armazenamento de cluster, o disco local é configurado como dispositivo de armazenamento de cluster.

- Os clusters de servidor de dispositivo de quórum único têm um ou mais nós e são configurados de forma a que cada nó seja ligado a um ou mais dispositivos de armazenamento de cluster. Os dados de configuração de cluster são armazenados num dispositivo de armazenamento de cluster único.

- Os clusters de servidor de
conjunto de nós principais têm dois ou mais nós, mas estes podem ou não estar ligados a um ou mais dispositivos de armazenamento de cluster. Os dados de configuração do cluster são armazenados em vários discos no cluster e o serviço de cluster certifica-se de que os dados são consistentes nos diferentes discos.

Recomenda-se que tenha consciência das vantagens e limitações dos diferentes modelos de cluster antes de configurar o cluster de servidor. Por exemplo, um cluster de conjunto de nós principais pode tolerar menos falhas de nós ao mesmo tempo do que um cluster de dispositivo de quórum único equivalente.

Para armazenamento de cluster, pode utilizar SCSI paralelo, Fibre Channel, SAS (Serial Attach SCSI), ou iSCSI. Para mais informações sobre os tipos de armazenamento que podem ser utilizados com um sistema operativo específico do Windows Server 2003, consulte a Descrição geral de clusters de servidor.

Os clusters de servidor permitem a utilizadores e administradores aceder a gerir os nós como um sistema individual, ao invés de computadores distintos.

Balanceamento de Cargas

Todo o hardware tem o seu limite, e muitas vezes o mesmo serviço tem que ser repartido por várias máquinas, sob pena de se tornar congestionado. Estas soluções podem-se especializar em pequenos grupos sobre os quais se faz um balanceamento de carga: utilização do CPU, de armazenamento, ou de rede. Qualquer uma delas introduz o conceito de clustering, ou server farm, já que o balanceamento será, provavelmente, feito para vários servidores. Em rede de computadores, o balanceamento de carga é uma técnica para distribuir a carga de trabalho uniformemente entre dois ou mais computadores, enlaces de rede, UCPs, discos rígidos ou outros recursos, a fim de otimizar a utilização de recursos, maximizar o desempenho, minimizar o tempo de resposta e evitar sobrecarga. Utilizando múltiplos componentes com o balanceamento de carga, em vez de um único componente, pode aumentar a confiabilidade através da redundância.


Balanceamento de armazenamento (storage)

O balanceamento do suporte de armazenamento permite distribuir o acesso a sistemas de ficheiros por vários discos (software/hardware RAID), pelo que derivam ganhos óbvios em tempos acesso. Estas soluções podem ser dedicadas ou existir em cada um dos servidores do cluster.

O balanceamento da utilização da rede passa sobretudo por reencaminhar o tráfego por caminhos alternativos a fim de descongestionar os acessos aos servidores. Este balanceamento pode ocorrer a qualquer nível da camada OSI.

A Figura 1 sugere a existência de um mecanismo/dispositivo responsável pelo balanceamento (director). Na verdade, ele pode existir sob várias formas, dependendo do(s) serviço(s) que se pretende balancear. Este director serve também de interface entre o cluster de servidores e os clientes do(s) serviço(s) - tudo o que os clientes conhecem é o endereço semi-público deste servidor. Esta abordagem (clássica) é algo limitada, em termos de escalabilidade, ao número de tramas que o director consegue redireccionar, principalmente devido à velocidade dos buses das placas de rede. Existem, no entanto, outras soluções mais complexas que tiram melhor partido das características do protocolo TCP/IP em conjunto com routing especializado (NAT, IP Tunneling, Direct Routing).

Figura 1:

Alta Disponibilidade

Um sistema de alta disponibilidade é um sistema informático resistente a falhas de software e energia, cujo objectivo é manter os serviços disponibilizados o máximo de tempo possível.

Cada vez mais é necessário garantir a disponibilidade de um serviço, mas sendo que muitos componentes dos sistemas de informação actuais contêm partes mecânicas, a fiabilidade destes é relativamente insuficiente se o serviço fôr crítico. Para garantir a ausência de interrupções de serviço é necessário, muitas vezes, dispôr de hardware redundante que entre em funcionamento automaticamente aquando da falha de um dos componentes em utilização.

Quanto mais redundância existir, menores serão os SPOF (Single Point Of Failure), e menor será a probabilidade de interrupções no serviço. Até há poucos anos tais sistemas eram muito dispendiosos, e tem-se vindo a intensificar uma procura em soluções alternativas. Surgem então os sistemas construídos com hardware acessível (clusters), altamente escaláveis e de custo mínimo. A Figura 1 ilustra a configuração típica de um sistema de alta disponibilidade dual-node:

Figura 1:


Como se pode observar, não existe um único ponto nesta arquitectura que, ao falhar, implique a indisponibilidade de outro ponto qualquer (SPOF). O facto de ambos servidores se encontram em funcionamento e ligados à rede não implica, porém, que se encontrem a desempenhar as mesmas tarefas. Esse é uma decisão por parte do administrador e que tem o nome de balanceamento de carga.

A Tabela 1 ilustra um dos termos de comparação geralmente utilizado na avaliação de soluções HA: níveis de disponibilidade segundo tempos de indisponibilidade (downtime). Excluídos desta tabela, os tempos de downtime estimados (geralmente para manutenção ou reconfiguração dos sistemas) são alheios às soluções e muito variáveis.

Tabela 1 - Níveis de Alta Disponibilidade:


Geralmente, quanto maior a disponibilidade, maior a redundância e custo das soluções: tudo depende do tipo de serviço que se pretende disponibilizar. Por exemplo, um operador de telecomunicações quererá certamente o mais elevado a fim de poder garantir um elevado nível de disponibilidade, sob pena de perder os seus clientes caso o sistema sofra falhas constantemente. No entanto, uma empresa com horário de trabalho normal poderá considerar que 90% de disponibilidade serão suficientes. É de salientar que o nível de disponibilidade mensal não é o mesmo que o anual. Efectivamente, para se obter um nível de disponibilidade mensal de 97%, é necessário que o nível anual seja aproximadamente de 99,75%.

A tolerância a falhas consiste, basicamente, em ter hardware redundante que entra em funcionamento automaticamente após a detecção de falha do hardware principal. Independentemente da solução adoptada, existe sempre dois parâmetros que possibilitam mensurar o grau de tolerância a falhas que são o MTBF - Mean Time Between Failures - (tempo médio entre falhas) e o MTTR - Mean Time To Repair - tempo médio de recuperação, que é o espaço de tempo (médio) que decorre entre a ocorrência da falha e a total recuperação do sistema ao seu estado operacional. A disponibilidade de um sistema pode ser calculada pela fórmula:

Disponibilidade = MTBF / (MTBF + MTTR)

Clustering

Clustering é a utilização de vários computadores e ligações redundantes para formar o que parece ser um sistema único e altamente disponível. Um cluster fornece protecção contra a inactividade para aplicações importantes ou serviços que precisam estar sempre disponíveis, distribuindo a carga entre vários computadores para que, no caso de falha num sistema, o serviço esteja disponível noutro.

Um cluster são dois ou mais sistemas trabalhando em conjunto para alcançar um objectivo comum. No Windows existem dois tipos principais de clustering: clusters de expansão/disponibilidade conhecidos como Network Load Balancing clusters (NLB) e clusters estritamente baseados em disponibilidade conhecidos como Failover Clusters. A Microsoft tem também uma variante do Windows chamada Windows Compute Cluster Server.

Quando um computador inesperadamente falha ou é deliberadamente desligado, o clustering garante que os processos e serviços a ser executados, mudam para outra máquina, ou seja, fazem "failover" no cluster. Isto acontece sem interrupção nem necessidade de intervenção imediata do administrador fornecendo uma solução de alta disponibilidade, o que significa que os dados críticos estão sempre disponíveis.


domingo, 12 de junho de 2011

Apresentação da Arquitectura de 3 níveis

Na arquitectura de 3 níveis (chamada estrutura 3-tier), existe um nível intermédio, o que quer dizer que tem geralmente uma arquitectura compartilhada entre:

Um cliente, quer dizer o computador requerente de recursos, equipado de um interface utilizador (geralmente um navegador web) encarregado da apresentação;

O servidor de aplicação (chamado igualmente middleware), encarregado de fornecer o recurso mas que recorre a um outro servidor

O servidor de dados, fornecendo ao servidor de aplicação os dados dos quais este tem necessidade.


Apresentação da rquitectura de 3 níveis

Na arquitectura de 3 níveis (chamada estrutura 3-tier), existe um nível intermédio, o que quer dizer que tem geralmente uma arquitectura compartilhada entre:

Um cliente, quer dizer o computador requerente de recursos, equipado de um interface utilizador (geralmente um navegador web) encarregado da apresentação;

O servidor de aplicação (chamado igualmente middleware), encarregado de fornecer o recurso mas que recorre a um outro servidor

O servidor de dados, fornecendo ao servidor de aplicação os dados dos quais este tem necessidade.

Apresentação da Arquitectura de 2 Níveis

A arquitectura de dois níveis (também chamada estrutura 2-tier, tier significando alinhamento em inglês) carateriza os sistemas clientes/servidores pelos quais o cliente pede um recurso e o servidor lho fornece directamente, utilizando os seus próprios recursos. Isto significa que o servidor não recorre a outra aplicação para fornecer uma parte do serviço.




Funcionamento de um sistema cliente/servidor

Um sistema cliente/servidor funciona de acordo com o esquema seguinte :


O cliente emite um pedido para o servidor graças ao seu endereço IP e a porta, que designa um serviço específico do servidor. O servidor recebe o pedido e responde com a ajuda do endereço da máquina cliente e da sua porta.

Vantagens e Desvantagens da Arquitectura Cliente/Servidor

O modelo cliente/servidor é particularmente recomendado para redes que necessitam de um grande nível de fiabilidade e as suas principais vantagens são:

Uma administração a nível do servidor : como os clientes têm pouca importância neste modelo, têm menos necessidade de ser administrados

Uma rede evolutiva : graças a esta arquitectura, é possível suprimir ou acrescentar clientes sem estar a perturbar o funcionamento da rede e sem modificação essencial

Recursos centralizados : já que o servidor está no centro da rede, pode gerir recursos comuns a todos os utilizadores, como por exemplo uma base de dados centralizada, a fim de evitar os problemas de redundância e de contradição.

Uma melhor segurança : porque o número de pontos de entrada que permitem o acesso aos dados é menos importante

A arquitectura cliente/servidor tem no entanto algumas desvantagens, entre as quais:

Um custo elevado devido ao tecnicismo do servidor. Um elo fraco : O servidor é o único elo fraco da rede cliente/servidor, já que toda a rede está estruturada em redor dele! Felizmente, o servidor tem uma grande tolerância às avarias (nomeadamente graças ao sistema RAID).


O Interface do Socket


Quanto ao interface do socket existem os Sockets UDP e TCP

Sockets UDP
UDP não estabelece conexão. O remetente coloca explicitamente endereço IP e Porta do destino. O servidor deve extrair servidores IP, porta do remetente do data grama recebido. Os dados recebidos podem ser recebidos fora de ordem, ou perdidos.

Sockets TCP
Um socket TCP cria uma ligação stream bidireccional entre os endereços ‘hostC,portC’ e ‘hostS,portS’, ou seja, entre uma aplicação cliente em execução na máquina ‘hostC’ consegue controlar também a porta ‘portC’ e outra aplicação servidora em execução na máquina ‘hostS’ conseguindo a visualização da porta ‘portS’ de ‘hostS’.

A aplicação cliente utiliza a porta ‘portC’ da máquina ‘hostC’ para enviar solicitações de serviços e para receber retornos das suas solicitações. A aplicação servidora visualiza constantemente a porta ‘portS’ da máquina ‘hostS’ aguardando a chegada de solicitações de serviço. Quando alguma solicitação é recebida, a aplicação servidora executa o serviço e utiliza a conexão para enviar o retorno com os resultados do serviço.


Resolução e Formação de Endereços IP

Os endereços da Internet são conhecidos pelos nomes associados aos endereços IP (por exemplo, www.google.pt). Para que isto seja possível, é necessário traduzir (resolving) os nomes em endereços IP.

O Domain Name System (DNS) é um mecanismo que converte os nomes em endereços IP e endereços IP em nomes. Assim como o endereçamento CIDR, os nomes DNS são hierárquicos e permitem que faixas de espaços de nomes sejam delegados a outros DNS.

Os computadores comunicam entre eles graças ao protocoloIP (Internet Protocol), que utiliza endereços numéricos, chamados endereços IP, compostos por 4 números inteiros (4 bytes) entre 0 e 255 e escritos sob a forma de xxx.xxx.xxx.xxx. Por exemplo, 194.153.205.26.Estes endereços numa rede servem para que os computadores se comuniquem entre si, cada computador tem um endereço IP único.O ICANN (Internet Corporation for Assigned Names and Numbers, substituindo o IANA, Internet Assigned Numbers Agency, desde 1998) é encarregado de atribuir endereços IP públicos, quer dizer os endereços IP dos computadores que estão conectados a uma rede pública de Internet.

Servidor Mono-Cliente e Multi-cliente

Servidor Mono-Cliente

Um mono cliente, é um computador cliente numa rede de modelo cliente-servidor de duas camadas o qual tem poucos ou nenhum aplicativo instalado, de modo que depende primariamente de um servidor central para o processamento de actividades. A palavra mono refere-se a uma pequena imagem de boot que tais clientes tipicamente requerem - talvez não mais do que o necessário para fazer a conexão com a rede e iniciar um navegador web dedicado ou uma conexão de “Área de Trabalho Remota” tais como X11, Citrix ICA ou Microsoft RDP.

Servidor Multi-Cliente

Multi-Cliente é um computador (cliente) no cliente-servidor que normalmente fornece a funcionalidade independentemente da central servidor. Multicliente necessita ainda de periódica ligação a uma rede ou servidor central, mas é muitas vezes caracterizado pela capacidade de executar várias funções.

Programação Cliente-Servidor

O paradigma de programação distribuída através da separação das aplicações entre servidores (aplicações que disponibilizam algum serviço) e clientes (aplicações que usam esses serviços) foi a arquitetura de distribuição predominante nos anos 1990. Um dos seus atrativos é o aumento da confiabilidade (a falha de uma máquina não necessariamente inviabiliza a operação do sistema como um todo) e redução de custo (máquinas mais simples podem executar os serviços isoladamente, ao invés de ter uma grande máquina fgazendo todos os serviços).

As aplicações clientes e servidoras são programas executando em máquinas distintas, trocando informação através de uma rede de computadores. Para que os serviços possam ser solicitados, a aplicação cliente deve conhecer quem fornece o serviço (o endereço da aplicação servidora) e qual o protocolo pré-estabelecido para realizar a solicitação.

Entre as vantagens citadas para o modelo de programação cliente-servidor destacam-se:

- Relaciona a execução de processos distintos.

- Oferece uma estruturação do processamento distribuído baseado no conceito de serviços:
* Servidor: provedor de serviços
* Cliente: consumidor de serviços

- Permite compartilhamento de recursos
* Servidor pode atender a vários clientes

- Oferece transparência de localização
* Tratamento uniforme independentemente de processos estarem na mesma máquina ou em máquinas distintas

- Permite a comunicação através da troca de mensagens
* Arquitetura fracamente acoplada
* Mensagens para solicitações (cliente para servidor) e respostas (servidor para cliente)

- Encapsula serviços
* Cliente não precisa saber como servidor implementa o serviço, mas apenas a interface para solicitação e resposta.

Do que vamos nós falar...

Neste blog vamos falar sobre Redes de Comunicação, onde vamos abordar temas de Programação de Sistemas de Comunicação, como por exemplo: Clustering, Redes, servidores, entre outros.
Espero que gostem, e que seja util.