Buscar

redes aula 06 pacotes

Prévia do material em texto

TEC	
  409	
  -­‐	
  Redes	
  de	
  Computadores	
  
	
  
Transmissão	
  de	
  Pacotes:	
  
Pacotes,	
  Quadros	
  e	
  Detecção	
  de	
  Erros	
  
Onde	
  Estamos	
  Nessa	
  Aula?	
  
Introdução	
  
As	
   técnicas	
   anteriores	
   descrevem	
   como	
   o	
   hardware	
  
transmite	
  bits	
  através	
  de	
  um	
  meio	
  Isico	
  
– Domínio	
  sobre	
  as	
  técnicas	
  de	
  modulação	
  é	
  importante	
  para	
  
engenheiros	
  que	
  projetam	
  hardware	
  de	
  rede	
  
– As	
   redes	
   de	
   computadores	
   fornecem	
   interfaces	
   mais	
  
convenientes	
  para	
  as	
  camadas	
  superiores	
  
– MúlQplos	
   bits	
   enviados	
   sem	
   manipulação	
   individuais	
   ou	
  
conhecimento	
  da	
  codificação	
  dos	
  bits	
  em	
  sinais	
  
O	
  Conceito	
  de	
  Pacotes	
  
As	
   redes	
   de	
   computadores	
   não	
   transmitem	
   os	
   dados	
  
como	
  uma	
  string	
  conSnua	
  e	
  arbitrária	
  de	
  bits	
  
– Um	
  sistema	
  de	
  rede	
  envia	
  os	
  dados	
  como	
  pequenos	
  blocos	
  
de	
  bits	
  individuais	
  chamados	
  pacotes	
  
– Tecnologias	
   são	
   referenciadas	
   como	
   redes	
   de	
   pacotes	
   ou	
  
rede	
  de	
  comutação	
  de	
  pacotes	
  
O	
  Conceito	
  de	
  Pacotes	
  (cont.)	
  
O	
   emprego	
   de	
   pacotes	
   em	
   redes	
   de	
   computadores	
  
acontece	
  pelos	
  seguintes	
  moQvos	
  
– Remetente	
  e	
  receptor	
  precisam	
  coordenar	
  transmissão	
  para	
  
averiguar	
  se	
  os	
  dados	
  chegam	
  corretamente	
  
– Diminuir	
   o	
   custo	
   com	
   o	
   hardware	
   bem	
   como	
   circuitos	
   de	
  
comunicação	
  envolvidos	
  
– Assegurar	
   que	
   os	
   clientes	
   experimentem	
   acesso	
   justo	
   e	
  
imediato	
  ao	
  sistema	
  de	
  comunicação	
  
Pacotes	
  e	
  MulQplexação	
  
Exemplo	
  de	
  Uso	
  de	
  Pacotes	
  
Exemplo	
  de	
  Uso	
  de	
  Pacotes	
  (cont.)	
  
Pacotes	
  e	
  Quadros	
  
Não	
  existe	
  concordância	
  universal	
  sobre	
  o	
  formato	
  exato	
  
de	
  um	
  pacote	
  
– Tecnologias	
   definem	
   formato	
   de	
   transmissão,	
   tamanho	
   e	
  
informações	
  de	
  controle	
  específicas	
  
– Termo	
   quadro	
   é	
   associado	
   aos	
   padrões	
   específicos	
   para	
  
disQnguir	
  da	
  idéia	
  geral	
  de	
  pacote	
  
– Geralmente	
   implementado	
   em	
   hardware	
   visando	
   uma	
  
melhora	
  da	
  performance	
  geral	
  da	
  rede	
  
Exemplo	
  de	
  Quadro	
  
Exemplo	
  de	
  Quadro	
  (cont.)	
  
Emprego	
   de	
   um	
   esquema	
   de	
   enquadramento	
   possui	
  
vantagens	
  e	
  desvantagens	
  inerentes	
  
– Facilita	
  a	
  detecção	
  de	
  erros	
  considerando	
  atrasos	
  e	
  falhas	
  
que	
  podem	
  acontecer	
  nos	
  sistemas	
  
– Gera	
  uma	
  sobrecarga	
   (overhead)	
  de	
   informações	
  na	
   rede	
  
com	
  caracteres	
  de	
  controle	
  desnecessários	
  	
  
Informação	
  de	
  Controle	
  
Maioria	
   das	
   redes	
   não	
   podem	
   reservar	
   um	
   conjunto	
   de	
  
bits	
  (bytes	
  ou	
  caracteres)	
  de	
  controle	
  
– Os	
  aplicaQvos	
  ou	
  programas	
  devem	
  permanecer	
   livres	
  para	
  
enviar	
  dados	
  de	
  forma	
  arbitrária	
  na	
  rede	
  	
  
– No	
   exemplo	
   anterior	
   poderia	
   acarretar	
   a	
   presença	
   de	
  
caracteres	
  SOH	
  ou	
  EOT	
  no	
  bloco	
  de	
  dados	
  
Informação	
  de	
  Controle	
  (cont.)	
  
	
  Como	
  evitar	
  erros	
  de	
  transmissão?	
  	
  
– Sistema	
   pode	
   inserir	
   bits	
   ou	
   bytes	
   extras	
   para	
   camuflar	
  
seqüências	
  que	
  coincidem	
  com	
  informação	
  de	
  controle	
  	
  
– O	
  hardware	
   remetente	
  modifica	
   seqüências	
   nos	
  dados	
  que	
  
coincidem	
  com	
  seqüências	
  de	
  controle	
  da	
  rede	
  
– O	
   hardware	
   receptor	
   analisa	
   os	
   dados	
   recebidos	
   para	
  
recompor	
  a	
  seqüência	
  de	
  bits	
  ou	
  bytes	
  originais	
  
Informação	
  de	
  Controle	
  (cont.)	
  
Técnica	
   pode	
   ser	
   referenciada	
   de	
   formas	
   diferentes	
  
porém	
  muito	
  semelhantes	
  
– O	
  termo	
  data	
  stuffing	
  (enxerto	
  de	
  dados)	
  é	
  mais	
  usado	
  para	
  
referenciar	
  a	
  técnica	
  
– Os	
  termos	
  byte	
  stuffing	
  e	
  character	
  stuffing	
  são	
  usados	
  com	
  
hardware	
  orientado	
  a	
  caractere	
  
– O	
   termo	
   bit	
   stuffing	
   pode	
   ser	
   empregado	
   em	
   redes	
   que	
  
usam	
  hardware	
  orientado	
  a	
  bits	
  (mais	
  comum)	
  	
  
Data	
  Stuffing	
  
Erros	
  de	
  Transmissão	
  
Boa	
   parte	
   da	
   complexibilidade	
   nos	
   sistemas	
   surge	
   da	
  
suscepQbilidade	
  à	
  interferências	
  diversas	
  	
  
– Diversos	
   acasos	
   no	
   sistema	
   podem	
   induzir	
   erros	
   e	
   ou	
  
danificar	
  parcialmente	
  os	
  equipamentos	
  	
  
– Os	
   sinais	
   transmiQdos	
   na	
   rede	
   podem	
   ser	
   alterados,	
  
anulados	
  ou	
  inseridos	
  no	
  sistema	
  de	
  forma	
  aleatória	
  
– Os	
  engenheiros	
  procuram	
  sempre	
  se	
  preparar	
  para	
  os	
  piores	
  
casos	
  ou	
  no	
  mínimo	
  para	
  os	
  mais	
  aceitáveis	
  
Erros	
  de	
  Transmissão	
  (cont.)	
  
Felizmente	
   poucos	
   sistemas	
   de	
   comunicação	
   sofrem	
  
freqüentemente	
  interferências	
  
– Mecanismos	
  de	
  hardware	
  ou	
   soiware	
   são	
  previstos	
  para	
  a	
  
detecção	
  de	
  erros	
  
– Realizar	
  a	
   recuperação	
  de	
  erros	
  pode	
  ser	
  prejudicial	
  para	
  o	
  
desempenho	
  do	
  sistema	
  
– Sistema	
   normalmente	
   apenas	
   indica	
   ocorrências	
   de	
   erros	
  
deixando	
  para	
  as	
  aplicações	
  o	
  seu	
  tratamento	
  
Verificação	
  de	
  Paridade	
  
Além	
   do	
   enquadramento	
   dos	
   sinais	
   o	
   hardware	
   de	
  
comunicação	
  considera	
  os	
  bits	
  transmiQdos	
  
– Emissor	
  anexa	
  um	
  bit	
   a	
  mais	
   chamado	
  bit	
  de	
  paridade	
  que	
  
pode	
  ser	
  de	
  paridade	
  par	
  ou	
  paridade	
  impar	
  
– O	
  bit	
  adicionado	
  será	
  0	
  ou	
  1	
  de	
  acordo	
  com	
  o	
  total	
  de	
  bits	
  1	
  
(incluindo	
  bit	
  de	
  paridade)	
  e	
  o	
  Qpo	
  de	
  paridade	
  
– Receptor	
   reQra	
   o	
   bit	
   de	
   paridade	
   e	
   executa	
   verificação	
   no	
  
desQno	
  para	
  indicar	
  possíveis	
  erros	
  de	
  transmissão	
  
Verificação	
  de	
  Paridade	
  (cont.)	
  
O	
   hardware	
   pode	
   detectar	
   todos	
   os	
   possíveis	
   erros	
  
durante	
  a	
  transmissão	
  dos	
  bits?	
  
– Se	
   mudarmos	
   dois	
   bits	
   de	
   um	
   determinado	
   caractere	
   a	
  
paridade	
  conQnua	
  a	
  mesma	
  
– De	
  forma	
  geral	
  o	
  hardware	
  não	
  detecta	
   todos	
  os	
  erros	
  que	
  
envolvem	
  um	
  número	
  par	
  de	
  bits	
  	
  
Técnicas	
  de	
  Detecção	
  de	
  Erros	
  
Engenheiros	
   e	
   estaSsQcos	
   analisaram	
   o	
   problemada	
  
detecção	
  e	
  inventaram	
  vários	
  métodos	
  alternaQvos	
  
– Os	
   sistemas	
   de	
   comunicação	
   normalmente	
   transmitem	
  
informações	
  adicionais	
  junto	
  com	
  os	
  dados	
  
– Remetente	
   computa	
   as	
   informações	
   adicionais	
   a	
   parQr	
   dos	
  
dados	
  transmiQdos	
  e	
  anexa	
  aos	
  quadros	
  da	
  rede	
  
– Receptor	
  extrai	
  informações	
  adicionais	
  dos	
  quadros	
  e	
  realiza	
  
a	
  mesma	
  computação	
  sobre	
  os	
  dados	
  
Técnicas	
  de	
  Detecção	
  de	
  Erros	
  (cont.)	
  
Diferença	
  entre	
  mecanismos	
  surgem	
  de	
  três	
  formas	
  
– O	
  tamanho	
  das	
  informações	
  adicionais	
  geradas	
  
– A	
  complexibilidade	
  do	
  algoritmo	
  empregado	
  
– O	
  número	
  de	
  erros	
  que	
  podem	
  ser	
  detectados	
  
Técnicas	
  de	
  Detecção	
  de	
  Erros	
  (cont.)	
  
Nenhum	
   dos	
   métodos	
   empregados	
   idenQfica	
   todos	
   os	
  
possíveis	
  erros	
  que	
  podem	
  acontecer	
  
– Tanto	
   informações	
   adicionais	
   quanto	
   dados	
   no	
   quadro	
  
podem	
  ser	
  alterados	
  
– Métodos	
   procuram	
   apenas	
   garanQr	
   uma	
   probabilidade	
  
menor	
  que	
  os	
  erros	
  passem	
  despercebidos	
  	
  
– Meta	
   é	
   empregar	
   esforço	
   que	
   seja	
   razoável	
   para	
   aQngir	
  
baixa	
  probabilidade	
  de	
  aceitar	
  dados	
  corrompidos	
  
Técnicas	
  de	
  Detecção	
  de	
  Erros	
  (cont.)	
  
Muitos	
   foram	
   os	
   métodos	
   inventados	
   mais	
   poucos	
   são	
  
realmente	
  uQlizados	
  na	
  práQca	
  
– Checksum	
  
– Cyclic	
  Reduncancy	
  Checks	
  (CRC)	
  
Detectando	
  Erros	
  com	
  Checksum	
  
Sistemas	
  de	
  redes	
  enviam	
  um	
  checksum	
  em	
  cada	
  pacote	
  
na	
  rede	
  para	
  ajudar	
  na	
  detecção	
  de	
  erros	
  
– Para	
  geração	
  do	
  checksum	
  o	
  remetente	
  interpreta	
  os	
  dados	
  
como	
  uma	
  seqüência	
  de	
  inteiros	
  binários	
  
– Computação	
   é	
   dada	
   pela	
   soma	
   dos	
   dados	
   onde	
   os	
   bits	
   de	
  
transporte	
  (carry	
  bits)	
  são	
  adicionados	
  a	
  soma	
  final	
  
– UQliza	
   um	
   número	
   máximo	
   de	
   bits	
   para	
   representação	
   da	
  
soma	
  (pacote	
  IP	
  possui	
  checksum	
  de	
  16	
  bits)	
  
Exemplo:	
  Geração	
  de	
  Checksum	
  
CaracterísQcas	
  do	
  Checksum	
  
Método	
  possui	
  vantagens	
  e	
  desvantagens	
  inerentes	
  
– Maiores	
  vantagens	
  derivam	
  do	
  tamanho	
  (16	
  ou	
  32	
  bits)	
  e	
  da	
  
facilidade	
  de	
  computação	
  (soma	
  simples)	
  
– Infelizmente	
   não	
   detecta	
   todos	
   os	
   erros	
   comuns	
   como	
   a	
  
inversão	
  de	
  bits	
  dentro	
  dos	
  quadros	
  
CaracterísQcas	
  do	
  Checksum	
  (cont.)	
  
Detectando	
  Erros	
  com	
  CRC	
  
Melhor	
   detecção	
   de	
   erros	
   sem	
   aumentar	
   quanQdade	
   de	
  
informações	
  adicionais	
  em	
  cada	
  pacote	
  
– O	
   hardware	
   básico	
   uQliza	
   apenas	
   um	
   registrador	
   de	
  
deslocamento	
  e	
  uma	
  unidade	
  ou	
  exclusivo	
  
– Blocos	
   básicos	
   podem	
   ser	
   combinados	
   para	
   formar	
   um	
  
circuito	
  simples	
  capaz	
  de	
  calcular	
  um	
  CRC	
  de	
  16	
  bits	
  	
  
– As	
   técnicas	
   de	
   CRC	
   são	
   também	
  usadas	
   em	
  disposiQvos	
   de	
  
armazenamento	
  para	
  verificar	
  a	
  gravação	
  de	
  dados	
  
Blocos	
  Básicos	
  do	
  Circuito	
  CRC	
  
Circuito	
  Básico	
  CRC	
  
Verificação	
  de	
  CRC	
  
Para	
   simplificar	
  a	
   verificação	
  de	
  CRC	
  os	
  algoritmos	
  usam	
  
uma	
  propriedade	
  do	
  circuito	
  
– O	
  remetente	
  anexa	
  temporariamente	
  uma	
  cadeia	
  de	
  16	
  bits	
  
zeros	
  adicionais	
  a	
  mensagem	
  
– Os	
   zeros	
   adicionais	
   fazem	
   com	
   que	
   a	
   CRC	
   resultante	
  	
  
funcione	
  como	
  um	
  inverso	
  da	
  CRC	
  original	
  	
  
– Receptor	
   calcula	
   a	
   CRC	
   sobre	
   a	
   mensagem	
   recebida	
  
incluindo	
  CRC	
  enviada	
  e	
  compara	
  com	
  zero	
  
CaracterísQcas	
  do	
  CRC	
  
IntuiQvamente	
  CRC	
   tem	
  dois	
  moQvos	
  para	
  detectar	
  mais	
  
erros	
  do	
  que	
  checksum	
  
– Um	
  único	
  bit	
  da	
  mensagem	
  afeta	
  drasQcamente	
  a	
  CRC	
  sendo	
  
deslocado	
  através	
  de	
  todos	
  os	
  registradores	
  	
  
– O	
   resultado	
   de	
   um	
   único	
   bit	
   da	
   mensagem	
   circula	
   nos	
  
registradores	
  mais	
  de	
  uma	
  vez	
  (feedback)	
  
– MatemaQcamente	
   CRC	
   usa	
   um	
   polinômio	
   para	
   dividir	
   a	
  
mensagem:	
  
CaracterísQcas	
  do	
  CRC	
  (cont.)	
  
Duas	
   categorias	
   de	
   erros	
   tornam	
   CRC	
   especialmente	
  
melhor	
  em	
  relação	
  a	
  checksum	
  
– Falhas	
   de	
  hardware	
   fazem	
   com	
  que	
   conjunto	
   localizado	
  de	
  
bits	
  sejam	
  sempre	
  alterado	
  gerando	
  erros	
  verQcais	
  
– Interferências	
   comuns	
   causam	
   mudanças	
   de	
   conjuntos	
   de	
  
bits	
  próximos	
  e	
  isolados	
  gerando	
  erros	
  em	
  ruptura	
  
Formato	
  de	
  Quadro	
  com	
  CRC	
  
Formato	
  de	
  Quadro	
  com	
  CRC	
  (cont.)	
  
Os	
  bits	
  do	
  CRC	
  podem	
  ser	
   confundidos	
   com	
  os	
   sinais	
  de	
  
controle	
  uQlizados	
  na	
  rede	
  
– Aplicação	
   de	
   data	
   stuffing	
   em	
   CRC	
   depende	
   do	
   Qpo	
   de	
  
detecção	
  de	
  erro	
  exigida	
  na	
  rede	
  
– Se	
   quadro	
   pode	
   ser	
   modificado	
   mas	
   não	
   perde	
   os	
   bits	
  
receptor	
  assume	
  penúlQmos	
  bytes	
  sempre	
  como	
  CRC	
  
– Se	
   os	
   bits	
   podem	
   se	
   perder	
   então	
   byte	
   stuffing	
   sobre	
   CRC	
  
pode	
  melhorar	
  confiabilidade	
  e	
  até	
  desempenho	
  
Formato	
  de	
  Quadro	
  com	
  CRC	
  (cont.)	
  
Formato	
  de	
  Quadro	
  com	
  CRC	
  (cont.)	
  
Um	
  CRC	
   pode	
   ser	
   obQdo	
   de	
   uma	
  mensagem	
  original	
   ou	
  
sobre	
  um	
  quadro	
  cheio	
  da	
  rede	
  
– Sendo	
   calculadas	
   através	
   de	
   hardware	
   não	
   faz	
   muita	
  
diferença	
  para	
  o	
  desempenho	
  da	
  rede	
  
– Padrões	
   individuais	
   especificam	
   se	
   a	
   CRC	
   é	
   computada	
   na	
  
mensagem	
  original	
  ou	
  do	
  quadro	
  codificado

Outros materiais