El siguiente caso de uso se basa en un escenario en el cual aumenta la eficacia de un sistema mediante la configuración de propiedades de enlace de datos y flujo. Este caso de uso se basa en la configuración que se muestra en la figura siguiente.
Figura 7-3 Configuración del sistema para gestionar recursos en enlaces de datos y flujos
La figura muestra los dos hosts físicos siguientes que están conectados entre sí:
Host1 tiene la siguiente configuración:
Una zona no global que funciona como servidor y enrutador. Se asignan dos interfaces a la zona: la interfaz net0 se conecta a Internet y la interfaz net1 se conecta a la red interna, incluido Host2.
Los flujos se configuran mediante net1 para aislar el tráfico y controlar la utilización de recursos por parte de los paquetes que pertenecen a los flujos. Para obtener información sobre la configuración de flujos, consulte Gestión de recursos de red mediante flujos.
Host2 tiene la siguiente configuración:
Tres zonas no globales y sus respectivas VNIC. Las VNIC se configuran en net0, cuyas tarjetas NIC admiten asignación de anillos. Para obtener más información sobre la asignación de anillos, consulte Gestión de anillos de NIC.
La carga de procesamiento de red de cada zona es diferente. En este ejemplo,zone1 funciona como cliente HTTP. Las demás zonas, zone2 y zone3, funcionan como el cliente SSH que intenta acceder a Host1 a través del protocolo de shell seguro (SSH). El tráfico de red para zone1 es superior a zone2 y zone3, y no está sujeto a limitación temporal. Sin embargo, el tráfico de red para zone2 y zone3 es bajo y está sujeto a limitación temporal. Por lo tanto, para procesar el tráfico de red más rápidamente para zone2 y zone3, debe limitar el ancho de banda asignado al tráfico de red para zone1. Si no se limita el ancho de banda asignado para zone1, utilizará todo el ancho de banda disponible. Esto origina la denegación de ancho de banda para el resto de las zonas: zone2 y zone3.
Se configura una VNIC aparte como un cliente basado en software. Para obtener una descripción general de los clientes MAC, consulte Asignación de anillos en clientes MAC.
Las tareas en este caso de uso implican las siguientes acciones:
Crear un flujo y configurar el control de flujo: los flujos se crean mediante net1 para crear un control de recursos independiente respecto de los paquetes que pertenecen a los flujos recibidos por net1 de Host1.
Configurar propiedades de recursos de red para las VNIC en Host2: según la carga de procesamiento, se configura la VNIC de cada zona con un conjunto de anillos dedicados. También se configura una VNIC independiente sin anillos dedicados como un ejemplo de un cliente basado en software.
Visualice información sobre los enlaces y las interfaces IP en Host1.
# ipadm NAME CLASS/TYPE STATE UNDER ADDR lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net1 ip ok -- -- net1/v4 static ok -- 192.168.200.103/24 net0 ip ok -- -- net0/v4 static ok -- 10.134.76.129/24
Cree los siguientes flujos mediante net1 en Host1:
httpflow: contiene todo el tráfico HTTP entre zone1 y net1.
# flowadm add-flow -l net1 -a transport=tcp,local_ip=192.168.200.103,\ local_port=80,remote_ip=192.168.200.110 httpflow
sshflow: contiene todo el tráfico de red entrante y saliente de net1.
# flowadm add-flow -l net1 -a transport=tcp,local_ip=192.168.200.103,\ local_port=22 sshflow
Implemente el control de recursos en los flujos.
Verifique la información sobre los flujos creados.
# flowadm FLOW LINK PROTO LADDR LPORT RADDR RPORT DSFLD httpflow net1 tcp 192.168.200.103 80 192.168.200.110 -- -- sshflow net1 tcp 192.168.200.103 22 -- -- -- # flowadm show-flowprop FLOW PROPERTY PERM VALUE DEFAULT POSSIBLE httpflow maxbw rw 500 -- -- httpflow priority rw medium medium low,medium,high httpflow hwflow r- off -- on,off sshflow maxbw rw -- -- -- sshflow priority rw high medium low,medium,high sshflow hwflow r- off -- on,off
Para obtener más información sobre la salida, consulte la página del comando man flowadm(1M).
En Host2, configure las VNIC mediante net0 para cada zona.
# dladm create-vnic -l net0 vnic0 # dladm create-vnic -l net0 vnic1 # dladm create-vnic -l net0 vnic2
Implemente los controles de recursos en cada VNIC.
# dladm set-linkprop -p rxrings=4,txrings=4 vnic0 # dladm set-linkprop -p rxrings=2,txrings=2 vnic1 # dladm set-linkprop -p rxrings=1,txrings=1 vnic2
Asigne las VNIC a sus respectivas zonas.
# zonecfg -z zone1 # zonecfg:zone1> add net # zonecfg:zone1:net> set physical=vnic0 # zonecfg:zone1:net> end # zonecfg:zone1> commit # zonecfg:zone1> exit # zoneadm -z zone1 reboot # zonecfg -z zone2 # zonecfg:zone2> add net # zonecfg:zone2:net> set physical=vnic1 # zonecfg:zone2:net> end # zonecfg:zone2> commit # zonecfg:zone2> exit # zoneadm -z zone2 reboot # zonecfg -z zone3 # zonecfg:zone3> add net # zonecfg:zone3:net> set physical=vnic2 # zonecfg:zone3:net> end # zonecfg:zone3> commit # zonecfg:zone3> exit # zoneadm -z zone3 reboot
Cree un cliente basado en software que comparta los anillos con la interfaz principal net0.
# dladm create-vnic -p rxrings=sw,txrings=sw -l net0 vnic3
Asuma que pool1, un conjunto de CPU en Host2, está asignado a zone1. Asigne el mismo pool1 de las CPU para gestionar también los procesos de red para zone1.
# dladm set-linkprop -p pool=pool1 vnic0