- Permiten a los usuarios de transporte el acceso al servicio de transporte.
- Cada primitiva corresponde exactamente a un procedimiento de biblioteca que ejecuta la primitiva.
- Cada servicio tiene sus propias primitivas de acceso.
Primitiva
|
TPDU enviada
|
Significado
|
LISTEN (Escuchar)
|
(ninguna)
|
Se bloquea hasta que algún proceso intenta el contacto.
|
CONNECT (Conectar)
|
SOLICITUD DE CONEXIÓN
|
Intenta activamente establecer una conexión.
|
SEND (Enviar)
|
DATOS
|
Envía información.
|
RECEIVE (Recibir)
|
(ninguna)
|
Se bloquea hasta que llega una TPDU de DATOS
|
DISCONNECT (Desconectar)
|
SOLICITUD DESCONEXIÓN
|
Este lado quiere liberar la conexión.
|
- TPDU (Transport Protocol Data Unit): mensaje enviado de una entidad de transporte a otra, contenidos en paquetes (intercambiados por capa de red), a su vez contenidos en tramas (intercambiadas por capa enlace datos)
- Ejemplo simple con aplicación con un servidor y clientes remotos:
1. Servidor ejecuta primitiva LISTEN, que lo bloquea hasta la aparición de un cliente.
|
2. Cliente ejecuta primitiva CONNECT; entidad transporte bloquea al que llama y envía
a entidad de transporte del servidor TPDU Solicitud Conexión (CR). |
3. Entidad de transporte desbloquea al servidor y envía TPDU Conexión Aceptada
(ACK) de regreso al cliente. |
4. Cliente la recibe, se desbloquea y se establece la conexión.
|
5. Intercambio de datos con primitivas SEND y RECEIVE / las entidades de transporte
se encargan de temporizaciones y retransmisiones. |
6. Desconexión puede ser:
|
¨Asimétrica (cualquiera puede emitir primitiva DISCONNECT a la entidad remota,
que al llegar libera conexión) ó |
¨Simétrica (c/sentido se cierra por separado, y se libera cuando ambos han emitido
una DISCONNECT). |
Sockets de BERKELEY
- Grupo de primitivas de trpte usadas en el UNIX de BERKELEY para el TCP:
PRIMITIVA | SIGNIFICADO |
SOCKET (Enchufar)
|
Crea un nuevo punto terminal de comunicación.
Asigna espacio en tablas de entidad transporte. No tiene dirección. |
BIND (Ligar)
|
Conecta una dirección local a un socket <protoc, dir_IP local,port>
|
LISTEN (Escuchar)
|
Anuncia la disposición a aceptar conexiones; indica tamaño de cola. No es bloqueadora
|
ACCEPT (Aceptar)
|
Bloquea al invocador hasta la llegada de un intento de conexión
|
CONNECT (Conectar)
|
Intenta activamente establecer una conexión
|
SEND (Enviar)
|
Envía datos a través de la conexión
|
RECEIVE (Recibir)
|
Recibe datos de la conexión
|
CLOSE (Cerrar)
|
Libera la conexión. Es simétrica (fin cdo. ambos lados la ejecutan)
|
- Servidores ejecutan las 4 primeras en ese orden.
- Cliente primero crea un SOCKET, pero no requiere BIND (su dir. no le importa al servidor), luego CONNECT lo bloquea y comienza proceso de conexión.
- Servidor contesta con TPDU ACCEPT, proceso cliente se desbloquea y se establece conexión duplex integral.
No hay comentarios:
Publicar un comentario