Logo Studenta

Tarea_CRC_TGJL

¡Estudia con miles de materiales!

Vista previa del material en texto

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Redes de Datos Seguras
Grupo: 03 - Semestre: 2023-1
Tarea:
Control de errores - CRC
Fecha de entrega: 4/10/2022
Profesora:
M.C. María Jaquelina López Barrientos
Alumno:
Téllez González Jorge Luis
Facultad de Ingeniería Redes de Datos Seguras______________________________________________________________________________________________________________
Introducción
El CRC es un mecanismo de detección de errores que se utiliza comúnmente en las redes
informáticas y de almacenamiento para identi�car los datos cambiados o dañados durante la
transmisión.
Cuando un dispositivo conectado a la red necesita transmitir datos, el dispositivo
ejecuta un algoritmo de cálculo basado en códigos cíclicos contra los datos que resultan en
un número de longitud �ja. Este número de longitud �ja se denomina valor CRC, pero
coloquialmente, a menudo se denomina CRC para abreviar.
Este valor CRC se agrega a los datos y se transmite a través de la red hacia otro
dispositivo. Este dispositivo remoto ejecuta el mismo algoritmo de código cíclico con
respecto a los datos y compara el valor resultante con el CRC agregado a los datos. Si ambos
valores coinciden, el dispositivo remoto asume que los datos se transmitieron a través de la
red sin estar dañados. Si los valores no coinciden, el dispositivo remoto asume que los datos
se dañaron durante la transmisión a través de la red. Estos datos dañados no se pueden
con�ar y se descartan. (CISCO, 2021)
Figura 1. El CRC se agrega a los mensajes como una validación del contenido de las tramas.
Los errores CRC normalmente se mani�estan de dos maneras (CISCO, 2021):
● Incrementar o no los contadores de errores en las interfaces de los dispositivos
conectados a la red.
● Pérdida de paquetes/tramas para el trá�co que atraviesa la red debido a que los
dispositivos conectados a la red descartan tramas dañadas.
2
Facultad de Ingeniería Redes de Datos Seguras______________________________________________________________________________________________________________
Los CRC se utilizan para la detección de errores en varias tecnologías de redes informáticas,
como Ethernet (ambas variantes, por cable e inalámbricas), Token Ring, Asynchronous
Transfer Mode (ATM) y Frame Relay. Las tramas Ethernet tienen un campo de Secuencia
de veri�cación de tramas (FCS) de 32 bits al �nal de la trama (inmediatamente después de la
carga útil de la trama) donde se inserta un valor CRC de 32 bits.
Desarrollo
1. Calcular los bits de protección para los datos mostrados si:
𝐺(𝑥) = 𝑥4 + 𝑥2 + 1
a. Datos: 1100110010
3
Facultad de Ingeniería Redes de Datos Seguras______________________________________________________________________________________________________________
b. Datos: 1010111011
4
Jaquelina López
ok
Jaquelina López
ok
Facultad de Ingeniería Redes de Datos Seguras______________________________________________________________________________________________________________
c. Datos: 1000100101
5
Jaquelina López
ok
Facultad de Ingeniería Redes de Datos Seguras______________________________________________________________________________________________________________
2. Determinar para cada una de las siguientes tramas recibidas si
llegaron sin errores:
a) 10101110000111
b) 10010011111011
6
Jaquelina López
ok
Jaquelina López
ok
Facultad de Ingeniería Redes de Datos Seguras______________________________________________________________________________________________________________
c) 11100000111000
CRC-64
CRC es un método matemático que permite detectar errores en la información que se
transmite. El orden del polinomio generador es el que determina el tipo de CRC que se
implementa; considerando que, por ejemplo, el CRC-8 emplea polinomios de dimensión
máxima de 9 bits, CRC-16 de dimensión máxima de 17 bits, de forma sucesiva.
Para el caso particular de CRC-64, se emplea una longitud polinomial de hasta 65
bits. De acuerdo al estándar ISO 3309, el polinomio generador de CRC-64 es:
𝐺(𝑥) = 𝑥64 + 𝑥4 + 𝑥3 + 𝑥 + 1
Existe otra de�nición para el polinomio generador dada por la especi�cación
ECMA-182 sobre las características físicas y magnéticas de las cintas magnéticas para
permitir el correcto intercambio de información con ese medio. El polinomio generador
completo es de la forma:
7
Jaquelina López
ok
Jaquelina López
ok
Facultad de Ingeniería Redes de Datos Seguras______________________________________________________________________________________________________________
Figura 2. Longitud compactada del polinomio generador de CRC-64 de ECMA-182.
CRC-128
A diferencia de la variante anterior, en esta se emplea un polinomio generador de hasta 129
bits de espacio. En la actualidad, CRC-128 se encuentra en un estado de obsolescencia
tecnológica y no tiene ninguna aplicación actual.
Se ha propuesto su potencial uso en el ámbito criptográ�co, sin embargo, su
naturaleza enfocada a la búsqueda de errores no lo hace un candidato �able para tal
propósito. Otra posible propuesta de uso es que CRC-128 podría presentar un escenario
factible para hashing sin una cantidad alta de colisiones; siempre y cuando el polinomio
generador sea elegido correctamente. Aún así, existen métodos superiores que hacen a
CRC-128 una técnica sin un caso de uso real.
Dentro de lo anterior, CRC comúnmente se ha comparado con el algoritmo de
checksum criptográ�co MD5 que fue diseñado desde un inicio como algoritmo
criptográ�co de hashing para generar una �rma de autenticación única para la información
con el �n de veri�car su integridad y detectar cualquier corrupción (intencionada o no) de
los datos. MD5 produce salidas consistentes en hashes de 128 bits. Aunque las
comparaciones con CRC surgen con facilidad, sus aplicaciones son distintas:
● CRC está enfocado principalmente a la detección de errores en la capa de enlace y
no es un método diseñado para hashing seguro.
● MD5 se emplea para generar �rmas de identi�cación o contraseñas seguras , así
como almacenarlas. También se puede emplear para revisar la integridad de la
información, pero a nivel puramente lógico.
8
Jaquelina López
ok
Facultad de Ingeniería Redes de Datos Seguras______________________________________________________________________________________________________________
Conclusiones
Por medio de la investigación y el trabajo desarrollado me fue posible abordar más acerca de
la técnica de control de errores CRC y las aplicaciones que tiene para asegurar la �abilidad
de las comunicaciones en una red.
CRC, dentro del contexto en que está ubicado, es un método �able y que permite
contar con una métrica bien de�nida para detectar de forma e�ciente errores en las tramas
mediante un proceso similar al hashing que emplean algoritmos más avanzados como
MD5. Sin embargo, es importante resaltar que son métodos con un enfoque y una base
completamente distinta, ya que en CRC se está hablando de la transición hacia lo lógico,
mientras que los algoritmos como MD5 o SHA operan a nivel lógico.
Aunque en esencia es un método en teoría sencillo, a medida que se aumenta el
grado del polinomio generador la complejidad de la división aumentará; con la ganancia
que ello supone en la�abilidad a la hora de detectar errores.
Referencias
CISCO (2021). Comprender los errores de verificación de redundancia cíclica en los switches
Nexus. Consultado el 2 de octubre de 2022 desde:
https://www.cisco.com/c/es_mx/support/docs/ios-nx-os-software/nx-os-software/217554-
understand-cyclic-redundancy-check-crc.html
Pypi (s.f.). CRC64ISO. Consultado el 2 de octubre de 2022 desde:
https://pypi.org/project/crc64iso/
Torvald, L. (s.f.). Normal 64-bit CRC calculation. Consultado el 2 de octubre de 2022
desde: https://github.com/torvalds/linux/blob/master/lib/crc64.c
Narkive (2003). CRC 32 vs CRC 64 vs CRC 128 vs MD5. Consultado el 3 de octubre de
2022 desde: https://sci.crypt.narkive.com/rJFP1uDs/crc-32-vs-crc-64-vs-crc-128-vs-md5
StackOver�ow (2010). Does anyone have CRC128 and CRC256 Code in C++ and C#?
Consultado el 3 de octubre de 2022 desde:
9
https://www.cisco.com/c/es_mx/support/docs/ios-nx-os-software/nx-os-software/217554-understand-cyclic-redundancy-check-crc.html
https://www.cisco.com/c/es_mx/support/docs/ios-nx-os-software/nx-os-software/217554-understand-cyclic-redundancy-check-crc.html
https://pypi.org/project/crc64iso/
https://github.com/torvalds/linux/blob/master/lib/crc64.c
https://sci.crypt.narkive.com/rJFP1uDs/crc-32-vs-crc-64-vs-crc-128-vs-md5
Facultad de Ingeniería Redes de Datos Seguras______________________________________________________________________________________________________________
https://stackover�ow.com/questions/3550594/does-anyone-have-crc128-and-crc256-code-i
n-c-and-c
Bhardwaj R. (s.f.) MD5 vs CRC – Detailed Comparison. Consultado el 4 de octubre de
2022 desde: https://networkinterview.com/md5-vs-crc-detailed-comparison/
10
https://stackoverflow.com/questions/3550594/does-anyone-have-crc128-and-crc256-code-in-c-and-c
https://stackoverflow.com/questions/3550594/does-anyone-have-crc128-and-crc256-code-in-c-and-c
https://networkinterview.com/md5-vs-crc-detailed-comparison/

Continuar navegando