Una tubería es un programa de ordenador utilizado para la información de transmisión a través de redes que son ya sea físico o lógico. Este tipo de tecnología de red también se conoce como un dispositivo de red o un dispositivo de encaminamiento. En la ingeniería de software de una tubería consiste en una secuencia automatizada de unidades de procesamiento (procesos, hilos, etc.) dispuestos de manera tal que la salida de cada unidad es la entrada de otro; por ejemplo, por analogía, para construir una tubería física por la analogía de una tubería físico. El Pipeline físico consiste en una o más entradas, y entonces la salida se compone de una o más salidas.
Cada tubo en la tubería tiene un propósito específico, y está diseñado para servir a un solo propósito; por ejemplo, una conexión Ethernet necesita ser terminado en una interfaz particular a fin de permitir a un usuario utilizar una LAN privada virtual (VPN) en internet. Las conexiones de entrada y salida en el tubo están diseñados para pasar a través de un extremo de la tubería a la otra y luego de vuelta a las conexiones de entrada y de salida en el extremo de que la tubería; esto se llama el "terminal". Hay dos tipos de terminales: virtuales y físicos. El terminal virtual, en el sentido de hardware, no tiene una dirección física. Esto puede ser muy útil si desea colocar algo en algún lugar donde no pueda ser visto o alcanzado con los ojos físicos; por ejemplo, en una pared del edificio. En el caso de terminales virtuales, se requiere que la dirección física y hay una cierta cantidad de seguridad asociados con su uso. El terminal virtual también se llama un puerto virtual y se puede instalar fácilmente en un sistema informático.
Una tubería físico o terminal virtual está instalado en un sistema de ordenador tal como una tarjeta Ethernet o router de red y es capaz de transmitir el tráfico sólo en la forma descrita en el protocolo Ethernet. Una aplicación puede utilizar un terminal virtual además de la interfaz física para proporcionar múltiples entradas y múltiples salidas y por lo tanto varias salidas. La aplicación puede entonces utilizar las diferentes salidas de un terminal virtual como entradas en otro terminal virtual, creando así una red.