PTC29008: Apresentação
- Caracterização de protocolos por meio de um exemplo: sintaxe, comportamento, temporização, semântica. Princípios de projeto e propriedades desejáveis de protocolos. Análise de um protocolo real.
Um protocolo é uma parte muito importante de um sistema de comunicação. A comunicação de dados pode ser entendida como troca de informação entre dois dispositivos através de algum meio de comunicação. A comunicação ocorre no âmbito de um sistema de telecomunicações, composto por equipamentos (hardware) e programas (softwares). Um sistema básico de comunicação de dados se constitui de cinco componentes:
- A mensagem: a informação a ser transmitida. O conteúdo da mensagem, seja um texto, música, video, ou qualquer outro tipo de informação, é representada por conjuntos de bits (dígitos binários).
- Transmissor: dispositivo que transmite a mensagem.
- Receptor: dispositivo que recebe a mensagem.
- Meio de comunicação: caminho físico por onde viaja a mensagem do transmissor até o receptor.
- Protocolo: conjunto de regras que governa a comunicação de dados.
Os sistemas de comunicação reais, incluídas as redes de computadores, são bem mais complexos do que esse modelo simplificado. No entanto, todos podem ser entendidos, em alguma medida, a partir desse modelo. Nesta disciplina estudam-se princípios e técnicas para projeto de protocolos, incluindo formas de verificar a consistência e correção de seu funcionamento.
Serviço e Protocolo
Um sistema de comunicação provê serviços para as aplicações ou usuários realizarem ações que envolvam a comunicação entre sistemas através de uma rede. Por exemplo, existem serviços para transferência de arquivos, reprodução remota de videos e músicas, execução remota de programas, pesquisa por informação, e muitos outros. O conceito de serviço está relacionado ao de protocolo. Um serviço é provido por entidades que interagem de acordo com um protocolo. Assim, um serviço é um dos elementos envolvidos na especificação de um protocolo. As figuras a seguir mostram a relação entre esses conceitos, primeiro apresentando somente a visão de um serviço para um usuário, e, em seguida, a relação entre serviço e protocolo.
Um serviço visto por um usuário
O serviço provido pelo protocolo
Protocolos reais
Que protocolos existentes despertam suas curiosidades sobre os detalhes de seus projetos ? Identifiquem alguns protocolos com respeito às seguintes aplicações, e anotem suas finalidades e características.
- Telefonia móvel
- Automação industrial
- Agricultura de precisão
- Segurança
- Sistema financeiro
- Redes veiculares
- IoT
| | | |
Área de aplicação | Protocolo | Finalidade | Características |
---|---|---|---|
Segurança | TLS | Protocolo de segurança. Proteção de fluxo de informação. |
Conexões protegidas por TLS entre um cliente e servidor devem ter uma ou mais das seguintes propriedades:
Funcionamento:
|
Agrigultura de precisão. | ISOBus | Este é o protocolo universal para comunicação eletrônica entre implementos, tratores e computadores. O objetivo inicial da tecnologia de dados ISOBUS é promover a padronização da comunicação estabelecida entre tratores e implementos, com isso é assegurada total compatibilidade de transferência de dados entre sistemas móveis e softwares agrícolas. | UT - Terminal Universal - Capacidade de operar um implemento com qualquer terminal e usá-lo para operar diferentes instrumentos.
TECU – ECU do trator – O ECU é a calculadora do trator, com ela o operador tem informações de velocidade da tomada de força. Velocidade do trator, RPM etc.
|
Redes veiculares | CAN | Comunicação entre dois dispositivos dentro de um mesmo veículo | A CAN protocol is a CSMA-CD/ASM protocol or carrier sense multiple access collision detection arbitration on message priority protocol. CSMA ensures each node must wait for a given period before sending any message. Collision detection ensures that the collision is avoided by selecting the messages based on their prescribed priority. |
Segurança | IPSec | O IPSec é um protocolo de camada 3 projetado para suprir a falta de segurança de informações trafegando em rede pública. | A diferença entre os modos está no encapsulamento. O modo transporte encapsula somente os dados, enquanto o modo túnel encapsula os dados e o cabeçalho. Sendo assim, o modo transporte não garante a confiabilidade dos dados durante o envio. Por isso é utilizado em dispositivos que já possuem o protocolo IPSec incorporados em sua pilha TCP/IP.
O IPSec fornece os seguintes serviços de segurança: autenticação, controle de acesso(AAA), confidencialidade e integridade dos dados. Os habilitadores das tecnologias de segurança utilizados pelo IPSec são: CHAP(Challenge Handshake Authentication Protocol), RADIUS(Remote Authentication Dial-in User Service) e a Encriptação de Dados e dos Certificados Digitais.
Um dos conceitos fundamentais do IPSec é a Associação de Segurança(SA – Security Association). Esse conceito é responsável pela segurança do 'caminho do pacote'. Essa segurança é garantida pela utilização dos seguintes protocolos: AH(Authentication Header), ESP(Encapsulating Security Payload) ou ambos(para utilizar ambos, terá mais de uma associação de segurança).
Uma associação de segurança é identificada por três parâmetros: SPI(Security Parameter Index), endereço IP de destino e o indentificador do protocolo(AH ou ESP).Um detalhe importante é que uma SA só pode ser utilizada de forma unidirecional. Portanto, para uma comunicação mútua, será preciso 2 SA's, sendo uma em cada sentido.
SPI é um número(index) que identifica a associação de segurança(SA), sendo definido antes de estabelecer essa associação. Sendo assim, todos os membros dessa associação devem saber qual é o SPI para usá-lo na comunicação.
Endereço IP de destino pode ser unicast(1 receptor), multicast(múltiplos receptores) ou broadcast(toda a rede). Portanto, o IPSec assume como unicast, replicando o fluxo de dados tantas vezes quantos forem os receptores.
|
LTE
|
TR-069 | Gerenciar redes e QoS(políticas, monitoramento e performance de QoS), controlar CPE, autoconfigurar e provisionar dinamicamente serviços, gerenciar softwares/firmwares, monitorar status e performance, notificar dinamicamente e gerar arquivos de logs e diagnósticos. | É um protocolo da camada de aplicação, pode ser implementado por hardware, software ou por uma combinação dos dois, consiste no estudo e teste físico do protocolo CWMP (CPE WAN Management Protocol ou Protocolo de Gerenciamento de CPE WAN) |
Segurança | Internet Key Exchange(IKE) | Otimizaçao e gerenciamento do protocolo IPsec | Na computaçao, IKE é o protocolo usado para configurar uma associaçao de segurança no protocolo IPsec(Protocolo seguro que autentica e encripta os pacotes de dados numa comunicação segura entre dois protocolos usando o protocolo IP, é usado em VPNs). IKE usa o certificados X.509 para autenticação. - Os serviços de autenticação e encriptação (AH e ESP) dependem da utilização de chaves secretas (conhecidas apenas pelos comunicantes) para serem fornecidos pelo IPSec. -Para o estabelecimento das SAs(entrada e saida) para os comunicantes é criado um canal seguro, definido por uma SA bidirecional(diferente das demais) referente ao IKE, nelas estao contidas informaçoes como chave secreta e algoritimos de criptografia. -Para escolher a chave secreta é utilizado procedimentos relacionados ao algoritimo de troca de chaves Diffie-Helmann - Caso uma entidade intercepte uma comunicação IPSec em modo transporte, por exemplo, esta será incapaz de alterar qualquer parte do pacote sem que seja notada (se estiver sendo utilizado o AH) ou ter acesso às informações nele contidas (caso seja utilizado o ESP). Todavia, isto é válido apenas se esta entidade não possui acesso ao segredo compartilhado pelos comunicantes. Para resolver o problema do IPsec ser utilizado apenas para cenarios pequenos, o IKE foi criado para gerenciar automaticamente as chaves e integrar o IPsec, otimizando a segurança em grande escala de conexões simultaneas. |
Sistema financeiro | EMV 3-D | Protocolo de autenticação de cartões para compras on-line, adicionando um nível extra de segurança nas transações. |
|
Telefonia móvel | SCTP | Protocolo de transporte confiável que opera sobre um serviço de pacotes não confiável e sem conexão |
|
Análise dos protocolos
De acordo com Gerard Holzmann, no capítulo 2 de seu livro Design and Validation of Computer Protocols, um protocolo é composto por cinco elementos:
- O serviço oferecido pelo protocolo. Ex: protocolo MPCP (outra descrição)
- As considerações sobre o ambiente em que o protocolo é executado
- O vocabulário de mensagens usadas para implementar o protocolo
- A codificação (ou formato) de cada mensagem do vocabulário
- O comportamento, definido por regras de intercâmbio responsáveis pela consistência das trocas de mensagens
Com base nesses elementos, deve-se complementar ou adequar a análise dos protocolos selecionados:
Protocolo | Serviço | Ambiente de execução | Vocabulário | Codificação | Comportamento |
---|---|---|---|---|---|
SCTP | Ser um TCP melhorado para telefonia, trabalhando encima do UDP (<a title="" href="https://tools.ietf.org/html/rfc0768">RFC0768</a>). | Sinalização entre PSTN e rede IP | INIT;INIT ACK; | <a href="https://tools.ietf.org/html/rfc4960">https://tools.ietf.org/html/rfc4960</a> | |
IPSec | Visa a ser o método padrão para o fornecimento de privacidade do usuário aumentando a confiabilidade, garantindo integridade dos dados e autenticidade das informações. | Camada de rede | O IPSec pode ser usado em dois modos, Transporte e Tunel. https://www.gta.ufrj.br/grad/04_1/vpn/Script/RDIIPSec.html | ||