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] .
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.
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 |