Pular para o conteúdo

Transmissão de dados

Ciência da Computação IGCSE · Tópico 2

Ver Slides Treinar
Videoaula para este tópico Abrir a página do vídeo
10:56

Transmissão de Dados

Você envia uma foto para um amigo do outro lado do mundo. Ela não viaja como um bloco único. É cortada em centenas de pacotes pequenos, cada um rotulado…

Narração em inglês · legendas em inglês e 中文 que você pode alternar

2.1

O que é transmissão de dados?

Transmissão de dados significa mover dados de um lugar para outro — por exemplo, do seu computador para um site, ou de um telefone para uma impressora.

Os dados frequentemente viajam por um cabo. Dois exemplos comuns são mostrados abaixo.

Um close-up de um cabo de rede terminando em um plugue de plástico transparente com pinos metálicos dourados
Um cabo Ethernet com conector RJ45, usado frequentemente para transmitir dados em redes cabeadas
Um cabo aberto para mostrar as finas fibras de vidro internas, com uma régua para escala
Um cabo de fibra óptica transporta dados como pulsos de luz ao longo de finas fibras de vidro

Antes de ser enviada, os dados são divididos em pequenas peças de tamanho igual chamadas pacotes. Cada pacote viaja separadamente e eles são reagrupados no destino.

O uso de pacotes tem benefícios:

  • se um pacote for perdido ou danificado, apenas aquele pacote é reenviado, não todo o arquivo;
  • os pacotes podem tomar rotas diferentes, evitando assim rotas congestionadas ou quebradas;
  • muitos usuários podem compartilhar a mesma conexão ao mesmo tempo.
2.1

A estrutura de um pacote

Programa
Os candidatos devem ser capazes de: Notas e orientações
1 (a) Entenda que os dados são divididos em pacotes para serem transmitidos
(b) Descreva a estrutura de um pacote • Um pacote de dados contém um: – cabeçalho do pacote – payload – trailer • O cabeçalho do pacote inclui o: – endereço de destino – número do pacote – endereço do remetente
(c) Descreva o processo de comutação por pacotes • Os dados são divididos em pacotes • Cada pacote pode seguir uma rota diferente • Um roteador controla a rota que um pacote segue • Os pacotes podem chegar fora de ordem • Assim que o último pacote chegar, os pacotes são reordenados
2 (a) Descreva como os dados são transmitidos de um dispositivo para outro usando diferentes métodos de transmissão de dados • Incluindo: – serial – paralelo – simplex – half-duplex – full-duplex
(b) Explique a adequação de cada método de transmissão de dados, para um cenário dado • Incluindo as vantagens e desvantagens de cada método
3 Entenda a interface bus serial universal (USB) e explique como ela é usada para transmitir dados • Incluindo os benefícios e desvantagens da interface

Fonte: Programa Cambridge International

Cada pacote tem três partes.

Um pacote mostrado como três blocos unidos — cabeçalho, corpo e rodapé — com o conteúdo do cabeçalho listado abaixo dele
Um pacote possui um cabeçalho, um corpo (os dados) e um rodapé; o cabeçalho contém os endereços e o número do pacote
Parte O que contém
cabeçalho do pacote informações de controle (veja abaixo)
carregamento útil os dados reais sendo transportados
trailer mostra onde o pacote termina, mais uma verificação de erro

O cabeçalho do pacote armazena:

  • o endereço IP do remetente (de onde veio o pacote),
  • o endereço IP do destinatário (para onde está indo),
  • o número do pacote (para que os pacotes possam ser reorganizados na ordem correta).
Vocabulário Treinar
English Português
trailer/ˈtreɪlə/ rastro
address/əˈdres/ endereço
2.1

Comutação por pacotes

Comutação por pacotes é a forma como os pacotes são enviados através de uma rede.

Dois pacotes viajando de um remetente para um destinatário através de uma malha de roteadores, cada um seguindo uma rota de cor diferente
Os roteadores encaminham pacotes, e diferentes pacotes podem seguir rotas distintas até o mesmo destinatário
  • Dispositivos especiais chamados routers leem o cabeçalho de cada pacote e escolhem a melhor rota para ele.
  • Cada pacote pode seguir seu próprio caminho, então os pacotes podem viajar por caminhos diferentes.
  • Os pacotes podem chegar fora de ordem.
  • Quando o último pacote chegar, os pacotes serão reorganizados usando seus números de pacote.
Explorar

Como os dados viajam em pacotes

Passe por etapas com comutação de pacotes. Dividir um arquivo em pacotes endereçados é por que um pacote perdido só precisa ser reenviado, e por que muitos usuários podem compartilhar a mesma linha.

Vocabulário Treinar
English Português
packet switching/ˈpækɪt ˈswɪtʃɪŋ/ comutação de pacotes
routers/ˈruːtəz/ routers
2.1

Métodos de transmissão de dados

Serial e paralelo

Serial Paralelo
Como um bit por vez, por um único fio vários bits ao mesmo tempo, por vários fios
Distância bom para longas distâncias bom apenas para curtas distâncias
Custo mais barato (menos fios) mais caro (mais fios)
Erros os bits permanecem em ordem os bits podem chegar em momentos ligeiramente diferentes em fios longos

Série envia um bit após o outro ao longo de um caminho de dados. Paralela envia vários bits ao mesmo tempo ao longo de caminhos de dados separados. Com sincronização comparável, isso pode transferir mais bits por ciclo de relógio, mas a transmissão paralela nem sempre é mais rápida do que um enlace serial moderno.

Transmissão serial como bits em linha em um único fio, e transmissão paralela como vários bits viajando juntos em vários fios
Serial envia um bit por vez por um único fio; paralelo envia vários bits ao mesmo tempo por vários fios

Simplex, meia-duplex e full-duplex

Estes descrevem a direção pela qual os dados podem viajar.

Dois dispositivos A e B com setas mostrando simplex (uma via), half-duplex (ambas as vias, mas uma de cada vez) e full-duplex (ambas as vias ao mesmo tempo)
Simplex é apenas uma via; half-duplex é ambas as vias, mas uma de cada vez; full-duplex é ambas as vias ao mesmo tempo
Método Direção
simplex apenas em uma direção (ex.: computador → impressora)
meio-duplex ambas as direções, mas apenas uma por vez (ex.: walkie-talkie)
full-duplex ambas as direções ao mesmo tempo (ex.: chamada telefônica)

Escolhendo um método

A escolha depende da distância, da velocidade necessária, do custo e se os dados precisam viajar em ambas as direções ao mesmo tempo.

Exemplo resolvido. Uma escola conecta (a) um computador a uma impressora na mesma sala, que apenas recebe documentos, e (b) dois escritórios separados por 200 m, que enviam arquivos um ao outro o dia todo. Sugira um método para cada caso e justifique-o.

(a) Serial, simplex: os dados só precisam ir do computador para a impressora, e a transmissão serial precisa de um único cabo barato. (A transmissão paralela também funcionaria nessa curta distância, mas simplex é o ponto principal: a impressora nunca envia dados de volta.)

(b) Serial, full-duplex: ao longo de 200 m, os bits em fios paralelos poderiam chegar em momentos diferentes e ficar dessincronizados, então a transmissão serial é mais confiável e barata. Full-duplex permite que os dois escritórios enviem dados ao mesmo tempo, sem esperar.

Sempre relacione a escolha a uma característica da situação: uma resposta de uma só palavra não vale pontos.

Vocabulário Treinar
English Português
serial/ˈsɪərɪəl/ serial
parallel/ˈpærəlel/ paralelo
simplex/ˈsɪmpleks/ simplex
half-duplex/hɑːf ˈdjuːpleks/ meia-duplex
full-duplex/fʊl ˈdjuːpleks/ duplex completo
universal serial bus/ˌjuːnɪˈvɜːsl ˈsɪərɪəl bʌs/ bus serial universal
2.1

USB

O ** barramento serial universal** (USB) é uma interface comum (ponto de conexão) para ligar dispositivos a um computador.

Vantagens:

  • o mesmo conector é usado por muitos dispositivos (um padrão);
  • o dispositivo é detectado automaticamente e o driver correto é carregado;
  • transmite energia, podendo carregar ou alimentar um dispositivo;
  • o conector só encaixa em uma direção, dificultando conexões incorretas.

Desvantagens:

  • o cabo pode ter apenas um comprimento limitado (poucos metros);
  • versões mais antigas de USB são mais lentas que as novas;
  • as velocidades de transferência podem ser menores que alguns outros tipos de conexão.
Cinco formatos diferentes de plugues USB lado a lado — micro, mini, type-B e type-A — com uma barra de escala de 5 cm
Alguns dos formatos de conectores USB. Todos usam o mesmo padrão USB, então os dispositivos são detectados automaticamente.
Vocabulário Treinar
English Português
interface/ˈɪntəfeɪs/ interface
interference/ˌɪntəˈfɪərəns/ interferência
2.2

Por que verificamos erros

Programa
Os candidatos devem ser capazes de: Notas e orientações
1 Entenda a necessidade de verificar erros após a transmissão de dados e como esses erros podem ocorrer • Erros podem ocorrer durante a transmissão de dados devido a interferências, ex.: perda de dados, ganho de dados e alteração de dados
2 Descreva os processos envolvidos em cada um dos seguintes métodos de detecção de erros para detectar erros nos dados após a transmissão: verificação de paridade (ímpar e par), soma de verificação e verificação por eco • Incluindo verificação de byte de paridade e bloco de paridade
3 Descreva como um dígito de verificação é usado para detectar erros na entrada de dados e identifique exemplos de quando um dígito de verificação é usado, incluindo números internacionais padronizados de livros (ISBN) e códigos de barras
4 Descreva como uma solicitação de repetição automática (ARQ) pode ser usada para estabelecer que os dados foram recebidos sem erros • Incluindo o uso de: – confirmações positivas/negativas – timeout

Fonte: Programa Cambridge International

Enquanto os dados viajam, interferência pode alterá-los. Três coisas podem dar errado:

  • perda de dados — alguns bits não chegam;
  • ganho de dados — bits extras são adicionados;
  • alteração de dados — alguns bits são invertidos.

Assim, o destinatário verifica se os dados chegaram corretamente.

Assistir aula
2.2

Métodos de detecção de erros

Verificação de paridade

Uma verificação de paridade adiciona um bit extra, o bit de paridade, a cada byte. Existem dois tipos:

  • paridade par — o número total de 1s no byte (incluindo o bit de paridade) deve ser par;
  • paridade ímpar — o número total de 1s deve ser ímpar.

Exemplo (paridade par): os dados 1011001 têm quatro 1s, que já é par, então o bit de paridade é 0:

parity bit + data
    0        1011001
O byte 0 1011001: o bit de paridade 0 fica à frente dos sete bits de dados, que contêm quatro 1s, mantendo a contagem par
Um bit de paridade é adicionado para tornar o número de 1s par (ou ímpar)

Para encontrar um erro: o destinatário conta os 1s. Se foi acordada paridade par, mas um byte chega com um número ímpar de 1s, ocorreu um erro durante a transmissão.

Uma verificação de paridade não consegue detectar todos os erros. Se dois bits forem invertidos, a contagem ainda pode parecer correta.

Exemplo resolvido. Um único bit de paridade indica que ocorreu um erro, mas não onde. Um bloco de paridade pode localizar o bit exato. Vários bytes são enviados juntos, cada um com um bit de paridade na linha, e um byte de paridade adicional na parte inferior armazena um bit de paridade para cada coluna. Usa-se paridade par abaixo, e um bit foi invertido durante a transmissão. Encontre-o.

          b1 b2 b3 b4 b5 | parity
 byte 1    1  0  1  1  0 |   1
 byte 2    0  1  1  0  1 |   1
 byte 3    1  1  1  1  0 |   1    <- row: odd number of 1s
 byte 4    0  0  1  1  0 |   0
 ------------------------------
 parity    0  0  1  1  1 |   1
                 ^ column b3: odd number of 1s

A linha byte 3 viola a paridade par, e a coluna b3 viola a paridade par. O bit invertido está onde elas se cruzam: byte 3, bit b3. Alterá-lo novamente de 1 para 0 corrige os dados. Com a suposição de erro de único bit declarada, a linha e a coluna falhadas localizam o bit, permitindo que o receptor o corrija. Erros de múltiplos bits podem passar despercebidos ou produzir resultados ambíguos.

Soma de verificação

Um soma de verificação é um valor calculado a partir de todos os dados antes do envio. O receptor recalcula a soma de verificação a partir dos dados recebidos. Se os valores não coincidirem, ocorreu um erro e os dados são reenviados.

As etapas:

  1. o remetente calcula a soma de verificação a partir do bloco de dados, usando um algoritmo previamente acordado;
  2. a soma de verificação é enviada com os dados;
  3. o destinatário calcula novamente a soma de verificação a partir dos dados recebidos, usando o mesmo algoritmo;
  4. ele compara os dois valores: se forem iguais, os dados são aceitos; caso contrário, solicita que os dados sejam enviados novamente.

Verificação por eco

Em uma verificação por eco, o receptor envia os dados de volta ao remetente. O remetente compara com o original. Se diferirem, houve um erro. (Isso exige que os dados sejam enviados duas vezes, sendo lento.)

Automatic Repeat reQuest (ARQ)

Requisição Automática de Repetição (ARQ) usa mensagens chamadas confirmações.

O programa de estudos chama isso de requisição automática de repetição; requisição automática de repetição é outro nome para o mesmo método. O remetente inicia um temporizador de timeout ao enviar um pacote. O receptor usa uma verificação de erro no pacote recebido. Se a verificação for bem-sucedida, envia uma confirmação positiva. Se um erro for detectado, envia uma confirmação negativa.

Três linhas do tempo de remetente e receptor para o pacote 4: (A) o pacote passa na verificação, um reconhecimento positivo retorna e o remetente para seu temporizador e envia o pacote 5; (B) o pacote falha na verificação, um reconhecimento negativo retorna e o remetente reenvia o pacote 4; (C) o pacote é perdido, nenhuma resposta vem, o temporizador expira e o remetente reenvia o pacote 4
ARQ: um reconhecimento positivo avança; um reconhecimento negativo ou um timeout faz o remetente reenviar

Tente — pacote 4. Em três casos separados, o pacote 4 (A) passa na verificação de erro do receptor, (B) falha na verificação ou (C) nunca chega. Para cada caso, escolha a resposta do receptor e a próxima ação do remetente.

Rastreio resolvido.

Caso Receptor Remetente
A Envia uma resposta positiva Recebe; para o temporizador; pode enviar próximo pacote
B Envia resposta negativa Recebe; reenvia pacote 4; reinicia temporizador
C Não tem pacote para verificar Tempo esgotado; reenvia pacote 4; reinicia temporizador

Uma resposta negativa pode causar uma repetição antes do temporizador expirar. Se nenhum reconhecimento positivo chegar antes do tempo esgotado, o emissor repete a transmissão. O temporizador trata silêncios, incluindo pacotes ou respostas perdidos.

Transferência — uma resposta perdida. Pacote 4 chega e passa na verificação. O receptor envia um reconhecimento positivo, mas esta resposta é perdida. O que faz o emissor quando seu temporizador expira? A expiração prova que o pacote 4 foi danificado?

Resposta. O emissor reenvia o pacote 4 e reinicia seu temporizador. O receptor sabe que o pacote chegou com sucesso, mas o emissor não tem confirmação. A expiração não informa ao emissor se o pacote ou a resposta foram perdidos ou atrasados. ARQ pede outra transmissão; ele não repara bits danificados. Usa verificação de erro para decidir se aceita um pacote recebido.

Dígito verificador

Um dígito verificador é um dígito adicional colocado no final de um número, calculado a partir dos outros dígitos. É usado para detectar erros quando um número é digitado.

Quando o número é inserido, o dígito verificador é recalculado e comparado. Dependendo do método, pode detectar alguns desses erros; nenhum dígito verificador garante que todos os erros de entrada sejam encontrados:

  • um dígito incorreto digitado,
  • um erro de transposição (dois dígitos trocados, ex: 21 digitado como 12),
  • um dígito omitido ou um dígito extra adicionado,
  • um erro fonético (um dígito que soa similar, ex.: 13 e 30).

Dígitos verificadores são usados em códigos de barras e ISBNs (números de livros).

Exemplo resolvido (ISBN-13). Os primeiros 12 dígitos do número de um livro são 978034083988. Calcule o dígito verificador. O método ISBN-13 multiplica os dígitos, sucessivamente, por 1, 3, 1, 3, …, soma os resultados e escolhe o dígito verificador que torna o total um múltiplo de 10.

Dígito 9 7 8 0 3 4 0 8 3 9 8 8
Peso 1 3 1 3 1 3 1 3 1 3 1 3
Produto 9 21 8 0 3 12 0 24 3 27 8 24

O total é $139$. Divida por 10: o resto é $9$, e $10 - 9 = 1$, então o dígito verificador é 1 (se o resto for 0, o dígito verificador é 0). O número completo é 9780340839881.

Agora suponha que os dígitos nas posições 9 e 10 sejam trocados durante a digitação: ...8 9 3 8 8.... Os produtos desses dois dígitos passam a ser $9 \times 1 + 3 \times 3 = 18$ em vez de $3 + 27 = 30$, então o total dos primeiros 12 dígitos é $127$, e $127 + 1 = 128$ não é múltiplo de 10: o erro de transposição é detectado.

Explorar

Laboratório de conceitos de computação

Classifique exemplos concretos pelo conceito de computação que eles demonstram.

Vocabulário Treinar
English Português
parity check/ˈpærɪti tʃek/ verificação de paridade
parity bit/ˈpærɪti bɪt/ bit de paridade
parity block/ˈpærɪti blɒk/ bloco de verificação de paridade
parity byte/ˈpærɪti baɪt/ byte de verificação de paridade
checksum/ˈtʃeksəm/ soma de verificação
echo check/ˈekəʊ tʃek/ verificação de eco
automatic repeat request/ˌɔːtəˈmætɪk rɪˈpiːt rɪˈkwest/ repetição automática de solicitação
acknowledgements/əkˈnɒlɪdʒmənts/ confirmações
timeout/ˈtaɪmaʊt/ tempo limite
check digit/tʃek ˈdɪdʒɪt/ dígito verificador
transposition error/trænspəˈzɪʃn ˈerə/ erro de transposição
barcodes/ˈbɑːkəʊdz/ códigos de barras
2.3

Criptografia

Programa
Os candidatos devem ser capazes de: Notas e orientações
1 Entenda a necessidade e o propósito da criptografia ao transmitir dados
2 Entenda como os dados são criptografados usando criptografia simétrica e assimétrica • A criptografia assimétrica inclui o uso de chaves pública e privada

Fonte: Programa Cambridge International

Por que precisamos de criptografia

Criptografia embaralha dados para que não possam ser compreendidos se forem interceptados por pessoa indevida. Os dados legíveis são chamados de texto claro; após criptografia tornam-se texto cifrado.

A criptografia não impede que os dados sejam interceptados. Ela apenas impede que os dados sejam compreendidos.

Criptografia simétrica

Criptografia simétrica usa uma única chave tanto para criptografar quanto para descriptografar os dados. O emissor e o receptor devem compartilhar essa mesma chave secreta. O risco é que a própria chave possa ser roubada durante a compartilhamento.

Criptografia assimétrica

Criptografia assimétrica usa duas chaves diferentes:

  • uma chave pública que qualquer um pode ter, usada para criptografar;
  • uma chave privada que é mantida em segredo, usada para descriptografar.

Os dados criptografados com a chave pública só podem ser descriptografados com a chave privada correspondente, portanto a chave privada nunca precisa ser compartilhada. Isso é mais seguro do que compartilhar uma única chave secreta.

Criptografia simétrica usando uma chave compartilhada para ambas as etapas, e criptografia assimétrica usando uma chave pública para criptografar e uma chave privada para descriptografar
Simétrica usa uma chave compartilhada; assimétrica usa uma chave pública para criptografar e uma privada para descriptografar
Explorar

A cifra de César

Desloque cada letra para encriptar uma mensagem — a ideia mais simples de uma cifra e a sua chave.

Vocabulário Treinar
English Português
encryption/enˈkrɪpʃn/ criptografia
intercepted/ˌɪntəˈseptɪd/ interceptado
plaintext/ˈpleɪntekst/ texto claro
ciphertext/ˈsaɪfətekst/ texto cifrado
symmetric encryption/sɪˈmetrɪk enˈkrɪpʃn/ criptografia simétrica
key/kiː/ chave
asymmetric encryption/ˌeɪsɪˈmetrɪk enˈkrɪpʃn/ criptografia assimétrica
public key/ˈpʌblɪk kiː/ chave pública
private key/ˈpraɪvət kiː/ chave privada
Assistir aula
2.3

Dicas de prova

  • Os dados são enviados em pacotes (um cabeçalho com os endereços e número do pacote, um payload e um trailer). Os pacotes podem seguir rotas diferentes e chegar fora de ordem, sendo depois reordenados pelos seus números de pacote.
  • Corresponda os tipos de transmissão: serial (um bit por vez, bom para longas distâncias) vs paralelo (vários bits ao mesmo tempo, curtas distâncias); simplex / half-duplex / full-duplex descrevem a direção.
  • Um bit de paridade detecta um número ímpar de bits invertidos. Um bloco de paridade localiza o bit errado quando exatamente um bit foi invertido — a interseção da linha e coluna falhadas indica a posição.
  • Aprenda os métodos de detecção de erros e o que cada um faz: verificação de paridade, soma de verificação, verificação por eco, ARQ e dígito verificador (para números digitados).
  • Simétrica usa uma chave compartilhada; assimétrica usa uma chave pública para criptografar e uma chave privada para descriptografar, evitando o compartilhamento de chaves secretas.
Vocabulário Treinar
English Português
data transmission/ˈdeɪtə trænˈsmɪʃn/ transmissão de dados
packets/ˈpækɪts/ pacotes
packet header/ˈpækɪt ˈhedə/ cabeçalho do pacote
payload/ˈpeɪləʊd/ payload

Aulas interativas sobre este tópico

Passe por ele passo a passo, com exercícios de verificação instantânea.

Provas Anteriores

Mais tópicos em Ciência da Computação IGCSE

Entrar ou criar conta

IGCSE, A-Level & AP