Yes, I'm referring to P2P networks.

Hum … let me try to explain. Imagine a group of computers discovering each 
other through Kademilia or similar. Each endpoint is required to connect to N 
remote nodes so it can then in theory access all parts of the network. Each 
endpoint uses a single socket address, communicates over UDP, and can accept 
connections or can initiate them. A socket can serve multiple virtualized 
clients thus DTLS CIDs are used. Endpoints go live and then disappear - so you 
don't really know who's a client and who's a server. In case a connection has 
already been established by some initiator then you don't need to initiate a 
new connection when "the algorithm" requires connection establishment.

I hope the above makes sense.

K

> On 4 Jan 2023, at 17:10, Eric Rescorla <e...@rtfm.com> wrote:
> 
> 
> 
> On Wed, Jan 4, 2023 at 6:30 AM Ben Schwartz 
> <bemasc=40google....@dmarc.ietf.org <mailto:40google....@dmarc.ietf.org>> 
> wrote:
>> On Wed, Jan 4, 2023 at 7:50 AM Kristijan Sedlak <xpeperm...@gmail.com 
>> <mailto:xpeperm...@gmail.com>> wrote:
>>> Hey,
>>> 
>>> The record layer of the cTLS skips the "profile_id" in the 
>>> CTLSServerPlaintext. I wonder how will an endpoint correctly distinguish 
>>> between multiple, CID-ext-based CTLSClientPlaintext requests and 
>>> CTLSServerPlaintext responses when the same socket is used for client and 
>>> server communication.
>> 
>> It sounds like you are thinking about cases where (1) a single 5-tuple can 
>> be used for DTLS in both directions, (2) the parties have not already agreed 
>> who will be the client and who will be the server, and (3) there can be 
>> multiple handshakes in flight simultaneously.  In this case, a party who 
>> sends a ClientHello might receive a ServerHello, HRR, or a racing 
>> ClientHello in response.  This is not a use case I had thought about.  Is 
>> this considered a supported configuration for DTLS (with Connection IDs)?
> 
> When would this actually happen? In my experience the only situation in which 
> there is ambiguity about who will be the client and the server are p2p-style 
> applications and those need ICE for NAT traversal, so you already have a way 
> of determining who is who.
> 
> -Ekr
> 
> 
>  
>>  
>>> I believe there should be a different content_type for a request and 
>>> response or just a requirement that the response always has `profile_id=0` 
>>> or smth.
>> 
>> If we decide this use case is in-scope, I would add a content_type to 
>> distinguish the roles.  I'm interested to hear if people feel this use case 
>> is in scope.
>>  
>>> I hope I'm not reacting too fast and thus my writing makes sense.
>>> 
>>> K
>>> 
>>> _______________________________________________
>>> TLS mailing list
>>> TLS@ietf.org <mailto:TLS@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/tls
>> _______________________________________________
>> TLS mailing list
>> TLS@ietf.org <mailto:TLS@ietf.org>
>> https://www.ietf.org/mailman/listinfo/tls

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to