Il quinto livello del modello ISO/OSI è chiamato livello di sessione. È re­spon­sa­bi­le del col­le­ga­men­to tra due terminali, organizza lo scambio di dati e lo sin­cro­niz­za. Così, in caso di un’in­ter­ru­zio­ne im­prov­vi­sa, la co­mu­ni­ca­zio­ne non deve ri­co­min­cia­re da capo.

Cos’è il livello di sessione?

Il livello di sessione è anche chiamato livello di gestione della co­mu­ni­ca­zio­ne o Session Layer. È il quinto dei sette livelli del modello ISO/OSI, svi­lup­pa­to negli anni Settanta per definire standard per l’in­te­ra­zio­ne tra di­spo­si­ti­vi e sistemi diversi in una rete.

Tutti e sette i livelli hanno compiti specifici e sono in­ter­di­pen­den­ti. Il livello di sessione si occupa dell’or­ga­niz­za­zio­ne del col­le­ga­men­to tra due terminali. Per far ciò crea le co­sid­det­te “sessioni”, che offrono diversi servizi. Il livello di sessione lavora a stretto contatto con i livelli cir­co­stan­ti del modello ISO/OSI. I sette livelli sono i seguenti, dal basso verso l’alto:

  1. Livello fisico (Physical Layer)
  2. Livello di col­le­ga­men­to dati (Data Link Layer)
  3. Livello di rete (Network Layer)
  4. Livello di trasporto (Transport Layer)
  5. Livello di sessione (Session Layer)
  6. Livello di pre­sen­ta­zio­ne (Pre­sen­ta­tion Layer)
  7. Livello di ap­pli­ca­zio­ne (Ap­pli­ca­tion Layer)

Gestione della co­mu­ni­ca­zio­ne nel livello di sessione

Il compito prin­ci­pa­le del livello di sessione è in­stau­ra­re una con­nes­sio­ne logica tra due sistemi. Questo col­le­ga­men­to unico e univoco è de­no­mi­na­to “sessione”. Anche il controllo di queste sessioni è compito del livello di sessione. Ad esempio, può concedere l’accesso tem­po­ra­neo a un altro sistema e gestirne la co­mu­ni­ca­zio­ne.

La co­mu­ni­ca­zio­ne avviene su entrambi i lati, in parallelo o in base alla direzione. Si parla di controllo del dialogo (dialog control), eseguito dal livello di sessione del modello ISO/OSI. In una co­mu­ni­ca­zio­ne uni­la­te­ra­le il Session Layer può assegnare token per regolare la sequenza, per­met­ten­do così un dialogo in­di­stur­ba­to.

Per il livello di sessione questi token sono suddivisi in quattro categorie.

  • Token di dati (Data Token): durante una co­mu­ni­ca­zio­ne uni­la­te­ra­le in modalità half duplex indicano verso quale lato deve essere eseguito l’invio.
  • Token di attività (Activity Major Token): i token di attività sud­di­vi­do­no un col­le­ga­men­to in diverse attività. Se un’attività viene in­ter­rot­ta o termina, può essere ripresa in un secondo momento nella stessa o in un’altra sessione.
  • Token di sin­cro­niz­za­zio­ne (Syn­chro­ni­ze Minor Token): questi token, numerati da 0 a 999.999, sono usati per sud­di­vi­de­re una co­mu­ni­ca­zio­ne. Troverete maggiori in­for­ma­zio­ni sulla sin­cro­niz­za­zio­ne nel livello di sessione più avanti nel testo.
  • Token di fine (Release Token): segnano la fine di una sessione.

Sin­cro­niz­za­zio­ne nel livello di sessione

Oltre all’or­ga­niz­za­zio­ne e alla gestione della co­mu­ni­ca­zio­ne, un altro servizio molto im­por­tan­te offerto dal livello di sessione è la sin­cro­niz­za­zio­ne dello scambio di dati. Questo servizio risulta rilevante in par­ti­co­la­re quando nel quarto livello o in uno sot­to­stan­te una tra­smis­sio­ne di dati viene in­ter­rot­ta ina­spet­ta­ta­men­te e in­vo­lon­ta­ria­men­te.

Proprio per questi casi il livello di sessione crea punti di sin­cro­niz­za­zio­ne. Se la co­mu­ni­ca­zio­ne si in­ter­rom­pe, è possibile ri­pren­de­re la tra­smis­sio­ne a partire dal punto di sin­cro­niz­za­zio­ne, senza dover ri­co­min­cia­re dall’inizio. Questo servizio è di grande aiuto spe­cial­men­te per la co­mu­ni­ca­zio­ne at­tra­ver­so con­nes­sio­ni lente o instabili o in caso di file di di­men­sio­ni par­ti­co­lar­men­te grandi.

I punti di sin­cro­niz­za­zio­ne messi a di­spo­si­zio­ne dal livello di sessione si sud­di­vi­do­no in due grandi categorie.

  • Punti di sin­cro­niz­za­zio­ne maggiori: sud­di­vi­do­no i dati da scambiare in singole unità. Questi punti di sin­cro­niz­za­zio­ne devono essere espres­sa­men­te con­fer­ma­ti.
  • Punti di sin­cro­niz­za­zio­ne minori: as­si­cu­ra­no una struttura logica e pratica all’interno delle unità. La loro conferma è opzionale.

Quali servizi svolge il livello di sessione?

I servizi del livello di sessione, in parte già men­zio­na­ti, sono messi a di­spo­si­zio­ne per i processi ap­pli­ca­ti­vi. Tutti per­se­guo­no lo scopo di or­ga­niz­za­re e sin­cro­niz­za­re meglio la co­mu­ni­ca­zio­ne. Sono usati quando il livello di sessione richiede al livello di trasporto (livello 4) un col­le­ga­men­to con un secondo computer. I diversi servizi sono rag­grup­pa­ti in unità fun­zio­na­li. L’Or­ga­niz­za­zio­ne in­ter­na­zio­na­le per la nor­ma­zio­ne (ISO), che ha con­tri­bui­to a svi­lup­pa­re anche il modello ISO/OSI, propone la clas­si­fi­ca­zio­ne seguente per le unità fun­zio­na­li. La com­bi­na­zio­ne adatta è definita prima della sessione dalle due parti.

  • Basic Combined Subset (BCS): com­pa­ti­bi­le con kernel, half duplex e duplex.
  • Basic Syn­chro­ni­zed Subset (BSS): com­pa­ti­bi­le con kernel, half duplex, ne­go­tia­ted release, punti di sin­cro­niz­za­zio­ne minori e maggiori e ri­sin­cro­niz­za­zio­ne.
  • Basic Activity Subset (BAS): com­pa­ti­bi­le con kernel, half duplex, punti di sin­cro­niz­za­zio­ne minori, eccezioni, gestione attività.

Quali pro­to­col­li usano il livello di sessione?

Molti sono i pro­to­col­li che usano il livello di sessione. A questo scopo, questo livello mette a di­spo­si­zio­ne i suoi pro­to­col­li e servizi ai livelli superiori tramite in­ter­fac­ce di pro­gram­ma­zio­ne. I parametri e le proprietà dei livelli sot­to­stan­ti non sono rilevanti per i col­le­ga­men­ti di co­mu­ni­ca­zio­ne uti­liz­za­bi­li. Tra i pro­to­col­li che usano il livello di sessione troviamo ad esempio:

  • ADSP
  • ASP
  • FTP
  • H.245
  • HTTP
  • ISO-SP
  • iSNS
  • L2F
  • L2TP
  • NetBIOS
  • NNTP
  • PAP
  • PPTP
  • RPC
  • RTCP
  • SCP
  • SDP
  • SMPP
  • SMTP
  • SOCKS
  • Telnet
  • TFTP
  • ZIP
Vai al menu prin­ci­pa­le