DCAP | |
---|---|
Nombre | Protocolo de acceso de cliente de conmutación de enlace de datos |
Nivel (según el modelo OSI ) | Aplicado |
Creado en | 1997 |
Puerto/ID | 1973/ TCP |
Especificación | RFC 2114 |
DCAP ( Protocolo de acceso de cliente de conmutación de enlace de datos ) es un protocolo utilizado entre estaciones de trabajo y enrutadores para transportar tráfico SNA/NetBIOS a través de sesiones TCP.
En redes grandes, DCAP resuelve el problema de escalabilidad al reducir significativamente la cantidad de nodos de red que se conectan al enrutador central. Las estaciones de trabajo (clientes DCAP) y el router (servidor DCAP) forman una estructura jerárquica, estableciendo una relación Cliente/Servidor .
Las estaciones de trabajo (clientes DCAP) y el enrutador (servidor DCAP) establecen una relación Cliente/Servidor. Las estaciones de trabajo solo se conectan al servidor DCAP. A su vez, el servidor tiene una única conexión punto a punto, con el enrutador central.
El protocolo TCP se utiliza para transferir datos entre el servidor y el cliente . Solo se establece una conexión TCP entre el cliente y el servidor, que se utiliza tanto para lectura como para escritura. Se produce una condición de carrera cuando tanto el servidor como el cliente intentan establecer una sesión TCP al mismo tiempo. En este caso, se seleccionará la sesión para la comunicación, en la que el iniciador tiene un valor menor de la dirección IP ; el otro estará cerrado.
Para establecer una sesión en el lado del cliente, la estación de trabajo envía una solicitud directa al servidor por dirección IP. La solicitud contiene la dirección MAC y el SAP (punto de acceso al servicio) del host de destino. La estación de trabajo puede especificar su propia dirección MAC o pedirle al servidor que le asigne una. La dirección IP del servidor debe registrarse previamente en la estación de trabajo. Si se especifican varios servidores en la estación de trabajo, la solicitud se puede enviar a todos. El primer servidor que responda será seleccionado para su posterior procesamiento.
Para establecer una sesión, el servidor envía una solicitud directa a la estación de trabajo. Para hacer esto, el servidor debe conocer su dirección MAC de antemano.
Mensaje | ||
---|---|---|
Encabezado DCAP | Datos DCAP | Datos del usuario |
Encabezado DCAP (Header), el primer bloque del mensaje, es obligatorio para todos los mensajes enviados entre el cliente DCAP y el servidor. Tiene una longitud de 4 bytes.
Bloque de datos DCAP . La estructura y el tamaño del bloque se basan en el tipo de mensaje especificado en el encabezado. Los datos DCAP se utilizan para procesar el mensaje. El bloque es opcional.
Datos de usuario : contiene datos de usuario enviados entre clientes y el servidor. El tamaño de este bloque es variable. Incluido en el mensaje sólo cuando hay datos necesarios para enviar.
El encabezado especifica el tipo y la longitud del mensaje.
Byte | Encabezado de paquete DCAP | ||
---|---|---|---|
0 | ID de protocolo | Número de versión | |
una | Tipo de mensaje | ||
2 | Longitud del mensaje | ||
3 |
El tipo de mensaje puede tomar uno de los siguientes valores (no se enumeran todos los valores posibles):
Nombre | Sentido | Sentido |
---|---|---|
PUEDE_U_REACH | 0x01 | Indica si la estación dada es accesible |
YO_PUEDO_ALCANZAR | 0x02 | Respuesta positiva a la bandera CAN_U_REACH |
NO PUEDO LLEGAR | 0x03 | Respuesta negativa al indicador CAN_U_REACH |
START_DL | 0x04 | Configuración de una sesión para estas direcciones |
DL_COMENZADO | 0x05 | Inicio de sesión exitoso |
START_DL_FAILED | 0x06 | Inicio de sesión fallido |
XID_FRAME | 0x07 | Marco XID |
CONTACTO_STN | 0x08 | Establecer modo SABME con destino |
STN_CONTACTO | 0x09 | Estación disponible - establecer modo SABME |
MARCO DE DATOS | 0x0A | Enviar datagrama SNA/NetBIOS sin establecer una conexión |
INFO_FRAME | 0x0B | I-Frame con conexión |
HALT_DL | 0x0C | Terminar la sesión |
HALT_DL_NOACK | 0x0D | Terminar sesión sin recibir confirmación |
DL_DETENIDO | 0x0E | La sesión ha sido terminada. |
DGRM_FRAME | 0x11 | datagrama para esquema |
CAP_XCHANGE | 0x12 | Capacidades de mensajería. |
CLOSE_PEER_SOLICITUD | 0x13 | Solicitud de desconexión. |
CLOSE_PEER_RESPONSA | 0x14 | Respuesta a CLOSE_PEER_REQUEST |
PEER_TEST_REQ | 0x1D | Solicitud de prueba de conexión |
PEER_TEST_RSP | 0x1E | Respuesta de prueba de conexión |
La estructura y el tamaño del bloque dependen del tipo de mensaje especificado en el encabezado. Este bloque no contiene datos de usuario. Es importante tener en cuenta que los campos reservados deben establecerse en 0 en el mensaje que se envía, y el lado receptor debe ignorar estos campos.
El siguiente diagrama muestra el orden en que se intercambian los mensajes entre el cliente y el servidor para el inicio y el final de la sesión normal.