Quando SSL è impostato, subisce un handshake. Questa stretta di mano consente ai due clienti di decidere in modo sicuro i dettagli della conversazione e scambiare il materiale chiave. Una volta che l'handshake è completo, entrambi i lati possono comunicare in modo sicuro. L'intera conversazione è semplicemente uno scambio di messaggi, quindi SSL non è tecnicamente limitato a nessun protocollo di trasporto. È possibile eseguire SSL su UDP se lo si desidera, anche se le librerie standard probabilmente non lo supportano e non suggerirei di provarlo.
Per rispondere alla tua domanda completamente - non esiste un messaggio nel protocollo SSL per dire "questa sessione SSL sta finendo". La sessione è legata a qualunque logica sia fornita dal livello di trasporto e dal livello dell'applicazione, e dipende dall'implementazione SSL per deallocare le risorse quando la conversazione è "terminata".
Una cosa che l'applicazione potrebbe fare è creare un wrapper SSL attorno a una connessione TCP, inviare alcuni messaggi, inviare un messaggio "I'm done", eliminare il wrapper SSL, quindi tornare indietro al primo passaggio senza che chiude la connessione TCP. In questo modo è possibile eseguire più "sessioni" SSL in seriale usando una singola connessione. Non sono sicuro di quale sia il caso d'uso e creerò una nuova connessione, ma non ci sono limiti tecnici per fermarti.