Software de Rede
Willamys Araújo
Tópicos da Aula de hoje
• Hierarquias de protocolos (camadas)• Questões de projeto relacionadas às camadas• Serviços oferecidos por camadas• Primitivas de Serviços• Relacionamento entre serviços e protocolos
Software de Rede
• Nas primeiras redes de computadores os aspectos relacionados ao hardware foram colocados como prioridade e os aspectos de software em segundo plano.
• No entanto logo foi percebida a fundamental importância dos mecanismos de software de uma rede, e, em função disto, os softwares de rede são altamente estruturados.
Software de Rede
• Os conceitos relacionados a esta estruturação são de vital importância para a compreensão de todos os aspectos relacionados à arquitetura de redes como um todo.
Hierarquia de Protocolos
Hierarquia de Protocolos
• Em redes de computadores, um protocolo é um acordo entre as partes que se comunicam, estabelecendo como se dará a comunicação.
• Para reduzir a complexidade do projeto, a maioria das redes é organizada como uma pilha de camadas ou níveis, colocadas umas sobre as outras.
Hierarquia de Protocolos
• O numero de camadas, o nome, o conteúdo e a função de cada camada diferem de uma rede para outra.
• No entanto, em todas as redes o objetivo de cada camada e oferecer determinados serviços as camadas superiores, isolando essas camadas dos detalhes de implementação desses recursos.
Hierarquia de Protocolos
• A camada n de uma máquina se comunica com a camada n de outra.
• As regras e convenções usadas nesse diálogo são conhecidas como protocolo de camada n.
• Na realidade, os dados não são transferidos diretamente da camada n de uma máquina para a camada n de outra máquina.
Hierarquia de Protocolos
Hierarquia de Protocolos
• Entre cada par de camadas adjacentes existe uma interface.
• Esta define as operações e os serviços que a camada inferior tem a oferecer à camada que se encontra acima dela.
• Isso alem de reduzir o volume de informações que deve ser passado de uma camada para outra,
• Simplificam a substituição da implementação de uma camada por uma implementação completamente diferente.
Hierarquia de Protocolos
• Um conjunto de camadas e protocolos é chamado de arquitetura de rede.
• Uma arquitetura de rede deve conter informações suficientes para permitir que um programador desenvolva software/hardware de cada camada.
• Uma lista de protocolos usados por um determinado sistema é chamado pilha de protocolos.
Hierarquia de Protocolos
Hierarquia de Protocolos
• Vejamos um exemplo mais técnico:– Uma mensagem M é produzida por um processo que
funciona na camada 5;– A camada 4 coloca um cabeçalho no início da
mensagem para identificá-la;– A camada 3, por limitações no tamanho das
mensagens, divide a mensagem M em duas partes: M1 e M2.
– A camada 2 então adiciona não só um cabeçalho no começo de cada fragmento, mas também no fim.
– Por fim a camada transmite fisicamente a mensagem
Hierarquia de Protocolos
Questões de projetos relacionadas às camadas
Questões de projetos relacionadas às camadas
• Todas as camadas precisam de um mecanismo para identificar os transmissores e os receptores
• Como em geral uma rede tem muitos computadores, e alguns deles tem vários processos, é necessário um meio para que um processo de uma maquina especifique com quem ela deseja se comunicar.
• Isso é feito através do endereçamento.
Questões de projetos relacionadas às camadas
• Transferência de dados– Em alguns sistemas, os dados são transferidos em
apenas um sentido; – em outros, os dados trafegam em ambos os
sentidos.– O protocolo também deve definir a quantos canais
lógicos corresponde a conexão e quais são suas prioridades.
Questões de projetos relacionadas às camadas
• Controle de Erros– é uma questão importante, pois os circuitos de
comunicação física não são perfeitos.– o receptor deve ter algum meio para informar ao
transmissor quais mensagens foram recebidas corretamente e quais não foram.
Questões de projetos relacionadas às camadas
• Controle de fluxo– Nem todos os canais de comunicação preservam a
ordem das mensagens enviadas a eles.– Uma questão que afeta cada nível é como impedir
que um transmissor rápido envie uma quantidade excessiva de dados a um receptor mais lento
Questões de projetos relacionadas às camadas
• Mensagens arbitrariamente longas– Nos diversos níveis existe a falta de habilidade de
todos os processos para aceitarem essas mensagens
– Essa propriedade nos leva ao uso de mecanismos para desmontar, transmitir e remontar mensagens
– Uma questão relacionada é o que fazer quando os processos insistem em transmitir dados em unidades tão pequenas que o envio de cada uma separadamente se torna ineficiente.
Questões de projetos relacionadas às camadas
• Roteamento– Quando houver vários caminhos entre a origem e
o destino, uma rota deverá ser escolhida.
Questões de projetos relacionadas às camadas
• Multiplexação e Demultiplexação– Quando for inconveniente configurar uma
conexão isolada para cada par de processos de comunicação, a camada subjacente pode decidir usar a mesma conexão para diversas conversações não relacionadas entre si.
Serviços oferecidos por camadas
Serviços oferecidos por camadas
• As camadas podem oferecer dois tipos diferentes de serviços às camadas situadas acima delas:
– Serviços orientado a conexões– Serviços sem conexões
Serviços oferecidos por camadas
• Serviços orientados a conexões– Se baseiam no sistema telefônico.• Para falar com alguém, você tira o fone do gancho,
disca o numero, fala e, em seguida, desliga.
– Na maioria dos caos a ordem é preservada; – os bytes chegam na ordem em que foram
enviados.
Serviços oferecidos por camadas
• Serviços sem conexão– Se baseiam no sistema postal.– Cada mensagem carrega o endereço de destino
completo.– e cada uma delas e roteada (encaminhada)
através do sistema, independentemente de todas as outras.
– Também chamado de serviço de datagramas.
Serviços oferecidos por camadas
Primitivas de Serviço
Primitivas de Serviço
• Um serviço é especificado formalmente por um conjunto de primitivas (operações) disponíveis para que um processo do usuário acesse o serviço.
• Essas primitivas informam ao serviço que ele deve executar alguma ação ou relatar uma ação executada por uma entidade par.
Primitivas de Serviço
O Relacionamento entre serviços e protocolos
O Relacionamento entre serviços e protocolos
• Serviços e protocolos são conceitos diferentes, embora sejam confundidos com freqüência.
• Serviço – é um conjunto de primitivas (operações) que uma camada
oferece à camada situada acima dela.– define as operações que a camada esta preparada para
executar em nome de seus usuários, mas não informa absolutamente nada sobre como essas operações são implementadas.
– se relaciona a uma interface entre duas camadas, sendo a camada inferior o fornecedor do serviço e a camada superior o usuário do serviço.
O Relacionamento entre serviços e protocolos
• Protocolo– é um conjunto de regras que controla o formato e
o significado dos pacotes ou mensagens que são trocadas pelas entidades pares contidas em uma camada.
O Relacionamento entre serviços e protocolos Os serviços estão
relacionados as interfaces entre camadas.
Os protocolos se relacionam aos pacotes enviados entre entidades paresde maquinas diferentes.
Top Related