PRIMITIVAS DE SERVICIO DE TRANSPORTE


  • 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