Curso de Redes. 3.3.2. Control de errores. Códigos detectores
Summary
TLDREl guion del video explica los conceptos básicos de detección y corrección de errores en la transmisión de datos. Se describen dos niveles de control de errores: la detección y la corrección, mencionando que la corrección requiere más información y redundancia. Se discuten técnicas comunes como el paridad, el checksum y el CRC (código cíclico redundante), destacando su eficacia en la detección de errores, especialmente en 'ráfagas'. El CRC se describe como un método más complejo pero altamente efectivo, usando un ejemplo simplificado para ilustrar cómo funciona. El video también compara los diferentes tamaños de CRC y su probabilidad de detectar errores, concluyendo con la preferencia por el uso de CRC de 32 bits en la mayoría de las aplicaciones.
Takeaways
- 🔍 El script habla sobre la detección y corrección de errores en la transmisión de datos, mencionando dos niveles: detectar errores y corregirlos.
- 🔧 Para corregir errores, se necesita agregar información adicional y redundancia a los datos, lo cual consume más recursos.
- 📊 Los sistemas de transmisión de datos desde hace tiempo incorporan técnicas de detección y corrección de errores.
- 🔑 Las tres técnicas más comunes para detectar errores son el código de paridad, el código de Hamming y el CRC (Código Cíclico Redundante).
- 📼 El código de paridad se utilizaba en cintas magnéticas y de papel, y sigue siendo utilizado en entornos de periféricos y distancias cortas.
- 🌐 El código de Hamming se utiliza en redes de comunicaciones a nivel de red y transporte, como en protocolos IP y TCP/UDP.
- 🔄 El CRC es una técnica más avanzada y eficaz, especialmente para detectar errores a ráfagas, y es diseñada por matemáticos para maximizar su eficacia.
- 🔢 El uso del CRC implica un acuerdo entre el emisor y el receptor sobre un polinomio generador, que se utiliza para calcular el dígito de verificación.
- 📈 Existen diferentes tipos de CRC, con 8, 16 y 32 bits, cada uno con un polinomio generador asociado y una probabilidad diferente de no detectar un error.
- 📊 La probabilidad de que un error no sea detectado por un CRC aumenta con la longitud del polinomio, siendo el CRC de 32 bits el más común y con menor probabilidad de error no detectado.
- 🛠️ El uso de CRC de 32 bits es estándar en muchas redes, incluyendo internet, donde se añade a cada paquete para garantizar la integridad de los datos.
Q & A
¿Qué dos niveles de control de errores se mencionan en el guion?
-El primer nivel es detectar que ha habido un error, y el segundo nivel, más ambicioso, es intentar corregir el error.
¿Por qué es necesario agregar redundancia a los datos para controlar errores?
-La redundancia en los datos nos permite detectar y, en ciertos casos, corregir errores, ya que sin ella no sería posible ni siquiera detectar errores.
¿Qué es el 'visto paridad' y cómo se utiliza?
-El 'visto paridad' es una técnica antigua utilizada para detectar errores, donde se añade un bit adicional para que el número total de bits en 1 sea par o impar, dependiendo de la configuración.
¿En qué entornos se sigue utilizando el 'visto parity' actualmente?
-El 'visto parity' se utiliza en entornos de periféricos para cortas distancias, pero no en telecomunicaciones ni en telemática.
¿Qué técnica se utiliza en redes de comunicaciones a nivel de red y transporte?
-La técnica que se utiliza en redes de comunicaciones a nivel de red y transporte es el 'sumo de verificación de redundancia cíclica' (CRC).
¿Cómo es el proceso de detección de errores utilizando CRC?
-El proceso de detección de errores con CRC implica dividir los datos por un polinomio generador, y el resultado de esta división se añade a los datos transmitidos como un dígito de comprobación.
¿Por qué es más efectivo el CRC que el 'sumo de verificación' simple?
-El CRC es más efectivo que el sumo de verificación simple porque está diseñado para detectar errores a ráfagas, que son comunes en entornos de transmisión de datos.
¿Cuáles son los tres tipos de CRC que se manejan y cuál es el más habitual?
-Los tres tipos de CRC son los de 8 bits, 16 bits y 32 bits. El más habitual es el de 32 bits.
¿Cuál es la probabilidad de que un error no sea detectado con un CRC de 8 bits?
-La probabilidad de que un error no sea detectado con un CRC de 8 bits es de 1 en 256.
¿Por qué se usan diferentes tamaños de paquetes en Internet y cuál es el tamaño mínimo y máximo?
-Se usan diferentes tamaños de paquetes en Internet para adaptarse a diferentes necesidades de transmisión. El tamaño mínimo de un paquete es de 64 bytes, y el tamaño máximo estándar es de 1518 bytes, aunque se pueden usar 'jumbo frames' de hasta 9000 bytes.
¿Cuál es la ventaja de utilizar un CRC de 32 bits en lugar de uno de 16 bits?
-La ventaja de utilizar un CRC de 32 bits es que reduce drásticamente la probabilidad de que un error no sea detectado, proporcionando una mayor fiabilidad en la transmisión de datos.
Outlines
🔍 Detección y corrección de errores en transmisión de datos
El primer párrafo introduce el concepto de medición y control de errores en la transmisión de datos. Se menciona que se puede detectar un error y, en algunos casos, corregirlo. Para esto, es necesario agregar redundancia a los datos. Se explica que los sistemas de transmisión de datos han incorporado técnicas de detección y corrección de errores, como el uso de paridad y CRC (Ciclo Redundante de Verificación). También se menciona que estos métodos son comunes en diferentes niveles, desde periféricos hasta telecomunicaciones y aplicaciones.
📈 Ejemplos de técnicas de detección de errores
Este párrafo profundiza en las técnicas de detección de errores, como el uso de la paridad y el CRC. Se describe el funcionamiento básico de la paridad, que puede ser simple o dupla, y cómo se utiliza para detectar errores en la transmisión de datos. Además, se presenta un ejemplo simplificado de cómo funciona el CRC, donde se añade un dígito adicional para garantizar que el paquete de datos transmitido sea divisible por un número acordado previamente, lo que permite la detección de errores. Se resalta que el CRC es más efectivo que la paridad, especialmente para detectar errores a ráfagas.
🔢 Análisis de la eficacia del CRC y su implementación en diferentes contextos
El tercer párrafo examina la eficacia del CRC y cómo se implementa en diferentes contextos. Se discute la probabilidad de que un error no sea detectado por el CRC en función de su longitud, y cómo se utiliza en diferentes tamaños de paquetes, como los jumbo frames en Internet. También se menciona la elección del polinomio generador para el CRC, que es estándar y utiliza el mismo en todos los contextos. Se concluye que, aunque existen probabilidades de error no detectado, el uso de CRC de 32 bits es la práctica estándar debido a su alta eficacia en la detección de errores.
Mindmap
Keywords
💡Errores
💡Detección de errores
💡Corrección de errores
💡Redundancia
💡Parity (Paridad)
💡CRC (Códice de Redundancia Cíclica)
💡Polinomios
💡Ráfagas de errores
💡Probabilidad de error no detectado
💡Jumbo frames
Highlights
Se discuten dos niveles de control de errores: detección y corrección de errores.
Para corregir errores, es necesario agregar información adicional y redundancia a los datos.
Los sistemas de transmisión de datos han incorporado detección y corrección de errores desde hace tiempo.
Se describe el uso de la paridad en cintas magnéticas y cintas de papel para detección de errores.
El CRC (Cyclic Redundancy Check) es más efectivo que la paridad, especialmente en la detección de errores a ráfagas.
El CRC es comúnmente utilizado en redes de comunicaciones y en el nivel de aplicación para verificar la integridad de archivos.
El proceso de detección de errores con paridad impar se ilustra con un ejemplo sencillo.
El CRC utiliza generadores y polinomios para maximizar la eficiencia en la detección de errores.
Se explica un ejemplo simplificado del proceso de CRC utilizando un generador numérico.
Los polinomios generadores para CRC están estandarizados y utilizados universalmente en la industria.
El tamaño del CRC (8, 16, o 32 bits) afecta la probabilidad de detección de errores y su eficiencia.
El uso de CRC de 8 bits es extremadamente inusual y solo se ve en ciertos contextos especiales.
El CRC de 32 bits es la norma actual en la mayoría de las aplicaciones y redes.
La probabilidad de que un error no sea detectado con un CRC de 16 bits es de 1 en 65.536.
El tamaño del paquete en Internet y su relación con el tamaño del CRC se discute con ejemplos.
Se menciona el uso de 'jumbo frames' en Internet para aumentar la eficiencia de transmisión.
La reducción del tamaño del CRC en ciertos casos puede mejorar la eficiencia, pero con riesgos de no detectar errores.
El uso de CRC en diferentes contextos y su adaptabilidad a diferentes tamaños de paquetes se destaca.
Transcripts
[Música]
bueno esto para medir los errores
y cómo nos controlamos podemos hacer dos
cosas el primer nivel es detectar que ha
habido un error
el segundo nivel más ambicioso es además
intentarlo corregir
puede parecer un poco increíble que
podamos corregir errores pero luego
veréis que cómo se puede hacer
evidentemente para corregir tenemos que
gastar más
siempre perdón previo para controlar los
errores tenemos que meter información
adicional tenemos que añadir redundancia
a los datos porque los datos pelados sin
más no nos van a permitir ni detectar
errores siquiera si añadimos un poquito
de redundancia podemos detectar que ha
habido un error si añadimos más
redundancia podemos corregir incluso el
error hasta cierto grado vale todo tiene
sus límites
todos los sistemas de transmisión de
datos desde siempre han llevado
detección de errores
cada vez más llevan también corrección
de errores incorporada
para detectar errores
las tres técnicas más habituales son
estas que veis aquí el vídeo paridad que
todos conocemos es el primero que se
utilizó o sea la cinta magnética esta de
carrete abierto la de media pulgada
grababa nueve pistas ocho eran
información eran un objeto y la novena
era un bit de paridad incluso antes de
la cinta magnética la cinta de papel
también usaba ese esquema de los
agujeritos y había un bit de paridad hay
un agujerito adicional para representar
el vídeo paridad pues ese sistema se
utiliza todavía hoy en día pero en
entornos de periféricos cortas
distancias no en cuestiones relacionadas
con telecomunicaciones no en telemática
el sexo es la técnica que se utiliza en
redes de comunicaciones a nivel de red
ya nivel de transporte protocolos ip etc
pp y muchos otros estos son sólo unos
ejemplos como son de los que vamos a
hablar cuando lleguemos al nivel de red
y nivel de transporte son los que he
puesto pero la inmensa mayoría de los
protocolos de nivel de red y transporte
protegen sus datos mediante el uso de un
sexo a nivel de aplicación también pues
es muy habitual cuando te bajas un
fichero utilizar un sexo para comprobar
que el fichero no no ha sido corrupto en
la transmisión
pues es lo mismo el sexo me es bastante
sencillo de calcular y bastante efectivo
pero más efectivo que el sexo es lo que
se denomina el crc el cíclico
redundantes y check también llamado a
veces según los contextos como phil
check sequence fcs las siglas tienen su
interés más que nada porque en
determinados equipos el contador de
errores de src pone contador de fs y
bs.f ss y te quedas pues que será esto
pues es el crc es lo mismo
el crc es una cosa que diseñan los
matemáticos y que se han trabajado mucho
para conseguir que tenga una digamos
eficiencia máxima en la detección de
errores sobre todo de errores a ráfagas
que son los que más se suelen dar a
nivel de enlace cuando tenemos una
interferencia por una inducción
electromagnética de un cable que será un
tubo fluorescente en un cable de datos
pues ocurre en el instante que has
enciende el tubo y eso afecta un grupo
de bits afecta una ráfaga el crc es
especialmente efectivo en detectar los
errores a ráfagas
ahora vamos a ver bueno primero vemos un
ejemplo sencillísimo de uso del vídeo
paridad la columna de la izquierda el pr
sería el vídeo paridad en este caso se
está utilizando paridad impar es decir
este bit se pone de forma que el número
total de bits puestos a 1 sea impar
y de esa manera se detecta si ha habido
algún error en los datos transmitidos
pero solo se detecta si ha habido un
error no sabemos sabemos que ha habido
un bip que ha cambiado de valor pero no
sabemos cuál y si ha habido dos errores
pasan desapercibidos porque se mantiene
la paridad que son las desventajas del
vídeo paridad a cambio es muy sencillo
en los vergeles iba a decir pequeño en
este caso no es tan pequeño porque es un
octavo de berger que es apreciable pero
si utilizan transmisiones asíncronas de
orientadas a carácter pues es todavía
relativamente habitual puede ser paridad
par calidad de impar sólo va un poco en
gustos a ver si es configurable vale
pero bueno en transmisiones telemática
no lo utilizamos hoy en día como decía
el crc es bastante más complicado de
explicar y no lo vamos a intentar pero
lo vamos a intentar explicar con un
ejemplo simplificado muy simplificado lo
reconozco es el más simplificado que se
me podría ocurrir pero creo que nos va a
servir
imaginaros que vosotros sois la interfaz
que transmite un paquete y el contenido
de los datos de ese paquete es del
número 302
previamente os habéis puesto de acuerdo
con el receptor de ese paquete y le
habéis dicho que vais a utilizar un
dígito de crc
ya digo que es un ejemplo muy
simplificado entonces al utilizar un
dígito de crc los dígitos de datos van a
ir
con un apéndice que será un cuarto
dígito que será el dígito de
comprobación o detección de errores
además habéis acordado con el receptor
del paquete que vais a utilizar como
generador el número 3 eso significa que
el número que le vais a añadir a 302 a
vosotros vais a mandar y un dígito
adicional que ahora veremos cuáles es el
dígito que vais a poner detrás más cerca
que el resultado sea divisible por 3
porque porque habéis acordado el
generador el número 3
entonces el transmisor dice voy a voy a
empezar a probar 302 con el 0 detrás no
es divisible por 3 302 con el 1 detrás
así que es divisible pues mando 3.021 y
eso es lo que se transmite físicamente
por el cable el receptor del paquete
como saben lo que habéis hecho él hace
el mismo proceso a la inversa
él recibe 3.021 y dice vale el 1 lo saco
lo perdón el 3 mil 21 lo divido por el
generador que es 3 me sale un número
divisible por 3 si entonces es correcto
tiro el 1 a la basura y paso al nivel de
red del 302
vale
este sería ya digo muy simplificado el
procedimiento que sigue el crc
obviamente en vez del 3 podría haber
elegido cualquier otro dígito que se nos
ocurra o dos dígitos entonces tendría
dos dígitos de ser ese el número 27 por
ejemplo de generador pues tendría que
añadir dos dígitos
pero siempre voy a buscar que el
resultado sea divisible por el generador
y todo lo que os explicado sí que lo
habéis entendido seguro pues ahora se
hace pero con polinomios en vez de
hacerlo con dígitos se componemos con
divisiones de colina 2 eso es lo que
hace el crc
y los polinomios utilizados como
generadores son una cosa que está
estandarizada desde hace muchísimos años
y que siempre se utilizan los mismos
existen básicamente tres tipos de crs
que se manejen el de 8 bits es muy raro
el de 16 bits es raro pero no tanto y el
más habitual es de 32 bits cada uno de
esos tres posibles crc se tiene asociado
un polinomio generador y el emisor y el
receptor como ambos conocen ese
polinomio porque es algo que ya digo
está desde hace muchísimos años
estandarizado y no se ha tocado pues es
el que usa todos
con esto que se consigue pues el crc
permite detectar errores a ráfagas de la
misma longitud que el propio se rece y
se rece de 8 bits es capaz de detectar
errores de ráfagas de hasta 8 bits
el de 16 16 del 30 y del 30
ahora puede haber errores de mayor
longitud
en el mismo crc o sea puede haber otros
otras tramas que por pura casualidad
generen ese mismo crc y que siendo
erróneas no sean detectadas
estadísticamente haciendo digamos una
simplificación si yo trabajo con un set
de 8 bits la probabilidad de que
cualquier contenido de datos al azar me
dé ese mismo crc es de una en 2 a la 8
ya de una parte 2 en 256 siempre es de
utilizar 8 bits uso 16 es de 1 en dos a
la 16 y sino 1 en 2 a la 32
el que el transmisor quiere estos
terrestres que he dicho 8 16 32 se usan
con tamaños de paquete los que se quiera
o sea puede usarse con en la práctica
los paquetes más grandes se usan en
internet cuando se usan los llamados
jumbo frames que son de 9 mil bytes eso
sería el caso máximo pero si el paquete
es de 64 bits va con un ser s igual de
grande de 32 bits
por ejemplo en internet el tamaño mínimo
de un paquete en internet de una trama
perdón son 64 bytes de esos 64 4 son el
crc y 60 son datos
en el internet máxima pero en la terna
estándar el tamaño máximo son mil 518
bytes cuatro son src y 1514 son los
datos y si usas la digamos la licencia
excepcional de lo que se llama jumbo
flight que está en 9000 bytes 4 son el
crc y 8 1996 son los datos
siempre hay una parte constante que es
el crc sea lo que sea los datos
antiguamente en las redes de área
extensa por reducir el over head como el
ancho de banda era escaso y caro se
utilizaba un ssrc de 16 bits
pero hoy en día se usa también de 32
bits en redes de ave extensa y la
diferencia entre 16 o 32 pues es la que
veis hay una diapositiva es la
probabilidad de que pase desapercibido
un error
si usas un ssrc de 16 bits hay una
probabilidad en 2 a la 16
una de cada 65.000 tramas erróneas
pasará sin detectarse
[Música]
se deberían dar como mínimo treinta y
dos errores en la trama y aún así la
probabilidad de que el crc coincida pues
sería sería pequeña
digamos haciendo una simplificación a
nivel a nivel probabilístico la
probabilidad que hay de un error no
detectado con 2 con 13 de 32 bits es
esta que veis aquí por tanto la cantidad
de tramas
que se van de tramas erróneas que se van
a detectar es esto de aquí
fijaros que estamos hablando de las
almas que se supone que son una minoría
no estamos hablando de todas las tramas
las tramas correctas son correctas el
problema son las tramas erróneas que
además por casualidad el crc bingo les
ha salido bien
qué puede ocurrir
claro entonces diréis y como había un
crc de 8 bits bueno hacer es de 8 bits
sólo se utilizó para la cabecera de atm
y era un por decirlo así una especie de
segundo cinturón de seguridad
entonces como en ese caso
y la circunstancia de no detectar el
error no era trágica pues se consideró
más conveniente reducir el tamaño del
crc para para mejorar la eficiencia
poner un ser es más largo y por eso digo
que el caso del cerezo de 8 bits es
extremadamente inusual no lo vais a ver
nunca el dirigirse seguramente tampoco
pero por completar la lista lo cuesta
aquí
hoy en día todo lo normal
utilizas rc de 32 bits
y como decía todos se utilizan el mismo
polinomio generador esa división por el
número 3 del ejemplo simplificado antes
lo haríamos con una división de
polinomios el polinomio generador es
siempre el mismo todas las redes locales
todas las redes a distancia todos usan
el mismo entre otras cosas porque el
cálculo de ser esencial sea a nivel de
hardware a nivel de la interfaz entonces
en los chips eso ya va metido y claro
sería muy duro muy complicado de cambiar
aunque alguien apareciera ahora con un
servicio más eficiente con otro
polinomio generador pues de la marinera
pues eso previsiblemente seguirá así al
menos durante mucho tiempo
Ver Más Videos Relacionados
Curso de Redes. 3.3.4. Control de errores. Interleaving
CÓDIGOS BINARIOS
💯Ciclo de vida desarrollo de software. Ciclo de vida software CASCADA [𝐏𝐚𝐫𝐭𝐞 𝟒 𝐝𝐞 𝟔] 👨💻SISTEMAS 🖥
EFL Teacher Training – Error Correction
Curso de Redes. 3.2. Delimitación de tramas
QUIZ de GRAMATICA en INGLÉS con las respuestas explicadas (A2 / B1 / B2)
5.0 / 5 (0 votes)