Gráfico neto

netgraph es un  subsistema de red modular basado en gráficos para el kernel de FreeBSD . En Netgraph, un grafo se construye a partir de nodos de varios tipos, un nodo de cada tipo tiene un número determinado de entradas/salidas ( hooks , inglés hooks ). El nodo netgraph le permite realizar ciertas acciones en el paquete que lo atraviesa. Algunos nodos de Netgraph brindan soporte para varios protocolos, encapsulaciones, como L2TP , PPTP , PPPoE , PPP , ATM , bluetooth , otros se utilizan para vincular módulos y clasificar/enrutar entre nodos de netgraph, por ejemplo, bpf, split.  

netgraph también ha sido portado a otros sistemas operativos: NetBSD [1] y Linux kernel 2.4 y 2.6 de 6WIND [2] .

Historia

netgraph fue diseñado y promovido por Julian Elischer con contribuciones de Archie Cobbs en Whistle Communications, Inc. para un enrutador Whistle InterJet que ejecuta un FreeBSD 2.2 modificado. Netgraph se incluyó en el árbol principal de FreeBSD en la versión 3.4.

Tipos de nodos

Tipo de Descripción
Interfaces de red, dispositivos y enchufes
éter Representa una interfaz Ethernet existente , creada automáticamente.
gif Representa una interfaz gif existente , generada automáticamente.
tty Representa una conexión de terminal (TTY).
Yo afronto Representa una interfaz de red. Para cada nuevo nodo, se crea un nuevo dispositivo ng*. La interfaz creada se puede configurar con ifconfig como difusión o punto a punto.
eiface Representa una interfaz Ethernet . Para cada nuevo nodo, se crea un nuevo dispositivo ngeth*. La interfaz generada se puede configurar mediante ifconfig .
dispositivo Representa un dispositivo del sistema. Para cada nuevo nodo, se crea un nuevo dispositivo ngd*, disponible para operaciones de apertura , cierre , lectura y escritura .
enchufe Un nodo creado automáticamente que representa un socket de tipo NG_CONTROL. Permite que una aplicación interactúe con el subsistema netgraph.
ksocket Crea un nuevo socket BSD que permite que el subsistema netgraph se comunique con otros hosts o servicios (lo opuesto a socket ). Solo admite un gancho, cuyo nombre en el formato familia/tipo/protocolo determina el tipo de socket que se crea.
Protocolos de red
cisco Encapsula y desencapsula datos utilizando el protocolo Cisco HDLC . El gancho aguas abajo debe estar conectado a una línea síncrona. Los ganchos inet , inet6 , atalk e ipx se utilizan para enviar paquetes de protocolo del mismo nombre y, por lo general, se conectan a los tipos de host apropiados.
Retardo de fotograma Realiza encapsulación, desencapsulación y multiplexación de datos mediante el protocolo Frame Relay . El gancho aguas abajo debe estar conectado a una línea síncrona. Los ganchos dlci * pueden conectarse al canal DLCI correspondiente .
gif_demux Encapsula y desencapsula datos gif . El hook gif debe estar conectado a un nodo de tipo gif , los hooks inet , inet6 , atalk , ipx , atm , natm y ns corresponden a protocolos del mismo nombre.
l2tp Implementa la encapsulación del protocolo L2TP según RFC 2661 .
lmi Compatibilidad con retransmisión de tramas LMI .
mppc Compatibilidad con compresión y encriptación MPPC / MPPE .
ppp Multiplexación de datos PPP .
pppoe Soporte PPPoE .
pptpgre Implementación de GRE sobre IP sobre protocolo PPTP según RFC 2637 .
vlan Multiplexación de tramas VLAN IEEE 802.1Q
Traspuesta
puente Implementa un puente Ethernet en una o más conexiones. Cada conexión (correspondiente al enlace adjunto) se utiliza para recibir y transmitir tramas Ethernet, el principio de funcionamiento es similar a un conmutador .
centro Proporciona el mecanismo más simple para distribuir datos a través de múltiples conexiones. El principio de funcionamiento es similar al del concentrador : los datos recibidos de cualquier gancho se envían a todos los demás ganchos.
uno2muchos Proporciona un mecanismo para distribuir datos de una conexión a varias conexiones. En este caso, el algoritmo de distribución copia los datos de un enlace a todos los enlaces* (como un concentrador) o solo a uno secuencialmente (cada paquete se envía a diferentes enlaces). Los datos que provienen de cualquier enganche muchos* se copian en el enganche uno .
tee Proporciona la capacidad de "escuchar" las comunicaciones entre dos nodos. Los datos recibidos a través del gancho derecho se copian en los ganchos izquierdo y derecho2izquierdo , y los datos recibidos a través del gancho izquierdo se copian en  los ganchos derecho e izquierdo2derecho .
separar Divide un flujo de datos bidireccional en dos unidireccionales.
etf Filtra y distribuye datos según el tipo de paquete Ethernet.
Pruebas y depuración
eco Devuelve los datos y los mensajes de control al remitente.
agujero Descarta todos los datos recibidos y los mensajes de control.
Otro
Cajero automático
asíncrono
atmllc
Bluetooth
bpf Permite filtrar/clasificar paquetes según las reglas BPF
bt3c
conector bt
fe Agrega varias interfaces Ethernet utilizando la tecnología EtherChannel
h4
hci
entrada_ip Los paquetes transmitidos a este nodo ingresan a la ip_input del sistema operativo y se procesan de la misma manera que los que provienen de otro nodo a través de la red.
l2cap
flujo neto Implementación del protocolo Netflow
rfc1490
sppp Implementación de conexiones PPP para enlaces seriales dentro de Netgraph
sscfu
alcance
duda
interfaz de usuario
uni
vjc Implementación de compresión Jacobson

Notas

  1. tech-net: puerto NetBSD del entorno freebsd netgraph . Consultado el 8 de septiembre de 2008. Archivado desde el original el 6 de octubre de 2013.
  2. 6WIND Archivado el 24 de diciembre de 2017 en Wayback Machine , puerto comercial cerrado

Enlaces