Mudanças entre as edições de "PTC29008: Projeto 1: Mecanismos Básicos de um Protocolo de Comunicação"
Linha 51: | Linha 51: | ||
'''Serviço:''' | '''Serviço:''' | ||
− | + | --* protocolo de enlace ponto-a-ponto, para camada física do tipo UART | |
* encapsulamento de mensagens entre 8 e 256 bytes | * encapsulamento de mensagens entre 8 e 256 bytes | ||
* recepção de mensagens livres de erros | * recepção de mensagens livres de erros | ||
Linha 57: | Linha 57: | ||
* controle de acesso ao meio | * controle de acesso ao meio | ||
* conectado (estabelecimento de sessão) | * conectado (estabelecimento de sessão) | ||
− |
Edição das 14h09min de 8 de março de 2018
Um protocolo de comunicação pode incorporar um subconjunto de mecanismos elementares para que o serviço seja devidamente provido. Diferentes autores enumeram esses mecanismos, para fins de fácil compreensão. Por exemplo, Georg Holzmann no cap. 2 de Design and Validation of Computer Protocols identifica os seguintes tipos de mecanismos:
- Início e término de intercâmbio de dados
- Sincronização de transmissores e receptores
- Detecção e correção de erros de transmissão
- Formatação e codificação de dados
Mais especificamente, Controle de erros é detalhado no cap. 3 e Controle de fluxo no cap. 4.
Hartmut Konig, no cap. 5 de Protocol Engineering, 2nd ed. identifica estes mecanismos:
- Controle de erros
- Sincronização
- Gerenciamento de conexão
- Codificação e decodificação de PDU
- Ajustes em tamanhos de PDUs
- Sequenciamento
- Controle de fluxo
- Controle de taxa
Outro autor, Robin Sharp, no cap. 4 de Principles of Protocol Design, identifica estes mecanismos:
- Controle de sequência e de erros
- Controle de fluxo
- Indicação de mudança de estado do par
- Mudança de modo de serviço
- Multiplexação e separação
- Segmentação e remontagem
- Priorização
Como se pode notar, essas classificações possuem sobreposições, porém também sensíveis diferenças. Por vezes é questão de nomenclatura, em outras de ênfase em aspectos de um protocolo. No nosso caso, devemos conhecer e entender esses mecanismos para identificar quais deles são úteis para nosso protocolo de comunicação. Para realizar essa análise, antes de mais nada devemos definir o serviço a ser provido por nosso novo protocolo.
Essas funções de protocolo, para melhor entendimento e definição, devem, sempre que possível, ser relacionadas com o conceito de camadas (ver, por exemplo modelo de referência OSI). A figura a seguir resume alguns termos elementares que aparecem em um modelo em camadas (N é o número da camada), sendo eles:
- PDU: unidade de dados do protocolo (coloquialmente: pacote)
- SDU: unidade de dados de serviço (payload, carga do pacote)
- PCI: informações de controle do protocolo (cabeçalho)
- SAP: ponto de acesso a serviço, ou uma identificação usada para requisitar serviços de um protocolo (ex: endereço IP para protocolo IP, port para protocolo TCP)
Definição do protocolo
Deve-se especificar o protocolo, iniciando pelo serviço a ser oferecido. Em seguida, passa-se à enumeração e descrição dos mecanismos a serem utilizados para implementar as funções desse protocolo. OBS: a especificação deve ser uniforme e completa para todas as equipes, pois as implementações do protocolo devem ser interoperáveis.
Serviço: --* protocolo de enlace ponto-a-ponto, para camada física do tipo UART
- encapsulamento de mensagens entre 8 e 256 bytes
- recepção de mensagens livres de erros
- garantia de entrega
- controle de acesso ao meio
- conectado (estabelecimento de sessão)