Resumos dos capítulos :::

Redes - Conceitos gerais

  1. Topologia

  2. Protocolos

  3. Camadas e pacotes

  4. Concorrência por serviços

Os tópicos a serem examinados podem ser encontrados nos seguintes capítulos de livros:

  1. Computer Networks, Tanenbaum, cap.  1

  2. Redes de Computadores, Soares-Lemos-Colcher, cap. 1, 2 e 5

  3. Local & Metropolitan Area networks, Stallings, cap. 1, 2, 3 e 4



No capítulo anterior constatou-se a necessidade da operação eficiente de uma rede de comunicação para o funcionamento de um sistema distribuído. Isso leva à necessidade do estudo de redes de computadores, que será iniciado aqui.

1. Topologia

Num primeiro momento o que se faz é apresentar conceitos de topologia de redes (anel, barramento, estrela, completa, etc.), que nada mais é do que a descrição da forma de ligação elétrica entre as várias máquinas que fazem parte da rede. Examina-se então as diferenças entre essas topologias do ponto de vista de custo, tempo de transmissão e estabilidade.

2. Protocolos

A simples ligação elétrica entre os vários computadores não garante a comunicação entre os mesmos. Para que isso ocorra existe a necessidade de se definir um protocolo para a comunicação entre máquinas distintas. Isso significa definir um padrão organizado para o estabelecimento de uma conversa, tal como ocorre, por exemplo, em uma ligação telefônica, quando a pessoa que inicia a chamada deve esperar por um sinal de linha, discar o número desejado, esperar o sinal de chamando e pelo atendimento no outro lado da linha, podendo então iniciar de fato a comunicação. Todos sabemos que não é possível estabelecer uma comunicação correta sem seguir todos esses passos.

Para a comunicação entre computadores isso se torna ainda mais crítico pois tais máquinas são essencialmente "burras", além de poderem falar "línguas" distintas (usarem processadores e/ou sistemas operacionais diferentes).

Assim é fundamental a criação de um protocolo de comunicação que seja não apenas possível mas também confiável. Vários protocolos têm sido propostos, com diversas implementações distintas para cada um deles. Em particular se destacam os protocolos IEEE 802-xx, o RM-OSI da ISO, o ATM e o TCP-IP.

É interessante notar que todos os protocolos têm em comum sua estruturação em camadas. Isso ocorre, primeiro, para tornar sua implementação mais simples e segundo para possibilitar que cada tipo de problema durante a comunicação possa ser resolvido em um ponto diferente do processo. Durante essa disciplina examinaremos com mais detalhes o RM-OSI, algumas variantes dos protocolos 802-xx e o TCP-IP, que na prática é mais uma implementação ad-hoc de protocolo criada com o UNIX.

3. Camadas e pacotes

As camadas dentro de um protocolo estão organizadas de forma vertical, isto é, um usuário ao iniciar um processo de comunicação acessa a camada superior do protocolo, que por sua vez acessa a camada imediatamente abaixo e assim por diante, até que se chegue ao meio físico que liga as duas máquinas envolvidas na comunicação. No outro lado da linha o processo se repete, agora indo da camada mais baixa até a mais alta e, finalmente, ao destinatário da comunicação. O fluxo da comunicação ao longo das camadas é feito por pacotes de bits enviados sequencialmente. Assim, toda vez que existir algo para ser transmitido, essa informação é transformada em pacotes e esses pacotes são passados de camada em camada através da prestação de serviços por cada uma delas.

4. Concorrência por serviços

Quando um processo de comunicação ocorre da forma descrita acima é fácil constatar que possivelmente teremos vários pacotes sendo transferidos (servidos) entre as (pelas) camadas do protocolo. Em algumas camadas podemos servir mais do que um pacote simultaneamente. Entretanto, em outras camadas o serviço deve ser oferecido a apenas um pacote por vez.

Essa situação caracteriza uma condição de corrida pelo acesso ao serviço, ou em outras palavras, a existência de concorrência por serviços. O tratamento dessa concorrência exige cuidados para evitar o acesso simultâneo ao serviço (exclusão mútua) e também para obter a sincronização entre os serviços de camadas diferentes. Esses cuidados são o objeto de estudo da "Programação Concorrente", sendo examinados com maior rigor a seguir.
 
 
 
 

 
 
DISCLAIMER
 
 
O conteúdo desta página é de minha total responsabilidade, não representando o pensamento ou posições da UNESP.