Un flujo de datos es una secuencia de información que se envía entre dos dispositivos. Los flujos de datos existen en muchos tipos de electrónica moderna, como computadoras, televisores y teléfonos celulares. Un flujo de datos típico se compone de muchos paquetes pequeños o pulsos. Cada uno de estos paquetes o pulsos contiene una pequeña cantidad de información. Cuando se combinan, constituyen la información completa enviada. El proceso de envío de estas señales se denomina transmisión de datos.
Hay muchos aspectos diferentes de la transmisión de datos que afectan el método final utilizado para crear un flujo de datos. Una de las clasificaciones más básicas es la transmisión en serie y en paralelo. En una transmisión en serie, el flujo de datos se envía en su totalidad a través de un solo cable. En el punto final, los datos se recopilan y vuelven a ensamblar. Rara vez hay dificultades con este método, ya que todos los paquetes deben llegar en el orden en que se enviaron.
Se envía un flujo de datos paralelo a lo largo de múltiples rutas hacia el mismo destino. Por lo general, esto se usa en una red más grande para evitar la creación de cuellos de botella cuando llega demasiada información a través de una única ubicación. Con este método, es posible que la información llegue desordenada debido a las diferencias en los saltos de hardware y la distancia de transmisión. En ocasiones, esto puede provocar daños en los datos si las secuencias se vuelven a ensamblar fuera de orden.
Los datos pueden existir en secuencias asíncronas o síncronas. En un flujo asíncrono típico, se coloca un carácter especial al principio y al final del paquete de datos. Estos caracteres especiales, llamados bits de inicio y parada, le dicen a la computadora receptora cuándo comienza y termina una pieza de datos específica y ayuda en la reconstrucción de los datos después de que ingresa.
Los flujos de datos síncronos no tienen los bits de inicio y parada, sino que dependen de la hora del reloj. Los relojes internos de los dos dispositivos están sincronizados y la información enviada entre ellos se marca con la hora del reloj. Con este método, el dispositivo receptor puede simplemente reensamblar la información cronológicamente. Pueden surgir problemas con este método cuando las dos computadoras no mantienen la sincronicidad; los paquetes pueden volver a ensamblarse incorrectamente o posiblemente desecharse por completo.
Monitorear los flujos de datos es importante por razones de seguridad. A medida que los datos se mueven a través de una red, es posible que las personas intercepten los paquetes. Usando analizadores especializados, las personas pueden abrir los paquetes y localizar información que se supone que no deben tener. Ciertas técnicas de codificación hacen que esto sea difícil en algunos casos, pero la transmisión de información no segura debe mantenerse al mínimo.