Sobre el puente: El puente es un dispositivo de Capa 2 que puede considerarse un conmutador de Capa 2 antes de profundizar. Reenvía los datos en un protocolo de capa 2. Para enviar datos, el puente mantiene una tabla de correspondencia entre el puerto y el MAC, generalmente como una tabla CAM. De acuerdo con esta tabla, los datos pueden enviarse al puerto correspondiente para la transmisión. El proceso de reenvío del puente es: 1: Recibir un paquete. Determine si la tabla CAM contiene la dirección de origen del paquete. De lo contrario, actualice la dirección de origen y el puerto a la tabla CAM. 2: Determine si el paquete se envía a la máquina y, si es así, envíelo a la capa superior de la máquina. Procesamiento de pila de protocolo. Si no, busque la tabla CAM. Encuentra la salida apropiada. 3: Si se encuentra una salida, el paquete se envía a la salida. Si no existe, se enviará a cada puerto. 4: Si la entrada correspondiente en la tabla CAM no se actualiza dentro del tiempo especificado, elimine este elemento. Configuración de puentes: Brctl es una buena herramienta para configurar puentes. Su código fuente y método de configuración es extremadamente simple. Hablaremos sobre el proceso de configuración del puente y veremos cómo se gestiona el kernel de Linux paso a paso. Primero, cree un puente: brctl addbr br0 (cree un puente para br0) Luego, agregue la interfaz al puente: brctl addif br0 eth0 (agregue eth0 y eth1 al puente br0) brctl addif bro eth1OK, puente ahora Sólo configurado. Este host de Linux se puede utilizar como un conmutador y los paquetes de eth0 se pueden reenviar a eth1. Ahora, veamos cómo el código maneja el primer brctl addbr. En cuanto al código brctl, llama a: ioctl (br_socket_fd, SIOCBRADDBR, brname); luego se llama a brctl addif en el código brctl: ioctl (br_socket_fd, SIOCBRADDIF, &ifr); El código de Brctl es muy simple, solo llame a la herramienta de configuración del espacio de usuario ioctl.Linux bridge analysis: Bueno, ahora puede ingresar al modo de puente de análisis del kernel: static int __init br_init (void) (net /brige /br. c) {//la asignación del bloque de asignación br_fdb_init (); //el procesamiento de netfiter bridge, se analizará en los siguientes capítulos #ifdef CONFIG_BRIDGE_NETFILTERif (br_netfilter_init ()) return 1; (br_ioctl_deviceless_stub); //Recibo el procesamiento del paquete, es decir, vemos en la función netif_receive_skb anterior br_handle_frame_hookbr_handle_frame_hook = br_handle_frame; # si está definido (CONFIG_ATM_LANE)
Acerca de los comandos de apagado y reinicio de Linux. De hecho, el primer artículo debería escrib
Todo el mundo sabe cómo verificar el tiempo de instalación del sistema win7. De hecho, es muy simpl
en el servidor RedHat Enterprise Linux 5.4 Entorno del sistema Sistema operativo: servidor RedHat
STM32F103VCT6 basado DAC viene con dos no se ha encontrado tasa de conversión DAC, DAC de 12 bits, a
Consejos de aprendizaje sobre la comunicación entre procesos
Novice Academy: active el comando NIC
El archivo caducado hace que la máquina dual VCS no se inicie
Instalación de Linux del proceso del disco U
¿Qué pasa si Linux olvida la contraseña?
Linux modifica php.ini y vuelve a cargar el comando del archivo de configuración
Linux entorno de escritorio GNOME habilidades prácticas
Interfaz gráfica de Linux y método de operación de cambio de interfaz de texto
Win8.1 abrir Media Player Player avisos Error al cargar la solución de control
Cómo cancelar la aplicación que se está instalando al instalar el sistema Win8
¿La pantalla negra de arranque del sistema Win7 solo muestra cómo está pasando el mouse?
XP, WIN7 instalación de sistema dual, copia de seguridad, reparación del menú de arranque
sistema de Windows XP utilizando cable e inalámbrica LAN método de configuración de Internet
Cómo hacer una versión preliminar de Win10 caducada Solución de Win10 caducada
Renombrando controladores de dominio en Windows 2003
Win7 cómo iniciar la aceleración
IE fue abandonado! Win10 nuevo navegador Spartan exposición de pantalla