Re: SMB3.1.1 QUIC mounts from Linux kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 28, 2023 at 2:02 AM Steve French <smfrench@xxxxxxxxx> wrote:
>
> For more detail on SMB311 over QUIC (which is already supported by some servers) which I find exciting and very relevant to many use cases there are some overview presentations at eg:
>
> https://snia.org/sites/default/files/SDC/2020/103-Dantuluri-SMB-Over-QUIC-Files.pdf
>
> And
>
> https://www.snia.org/sites/default/files/SDCEMEA/2021/snia-SMB-over-QUIC.pdf
>
> And setup instructions for the windows example can be found here: https://learn.microsoft.com/en-us/windows-server/storage/file-server/smb-over-quic
>
Thanks for sharing the slides, Samba over QUIC is indeed quite mature.

After reading the slides, I can understand how these two QUIC features
work in Samba:

- All packets are always encrypted and handshake is authenticated with TLS 1.3
- Improved congestion control and loss recovery

But it seems not clear to me how some other features are used in samba:

- Parallel streams of reliable and unreliable application data

Multi-streaming:
How is Samba using the multi-streaming of QUIC? I saw there are Multichannel
in Samba, but I'm not sure it's using multiple connections or multi-streaming
in their implementation.

Unreliable application data:
Does Samba need to transmit unreliable data?

- Exchanges application data in the first round trip (0-RTT)

0-RTT: does Microsoft's Samba over QUIC implementation really support this?
As the handshake of linux in-kernel QUIC happens in userspace, 0-RTT
becomes difficult to implement.

- Survives a change in the clients IP address or port

Connection Migration: This could be a useful feature, but I don't see any
spec in the slides, has their implementation supported it?

Thanks.

> On Sun, Aug 27, 2023, 10:32 Xin Long <lucien.xin@xxxxxxxxx> wrote:
>>
>> On Fri, Aug 25, 2023 at 9:08 AM Steve French <smfrench@xxxxxxxxx> wrote:
>> >
>> > Xin Long,
>> > I am very interested in trying out LInux kernel SMB3.1.1 mounts using
>> > QUIC but wasn't sure how far along your kernel code was.   Do you have
>> > an update on it?   There was at least one other server type that
>> > implements SMB3.1.1 over QUIC, but probably easiest to test to Windows
>> > server (e.g. in Azure).
>> Got it.
>>
>> As for https://github.com/lxin/quic, it has implemented the basic support
>> for most main features, but still some important ones are missing, like
>> Streams and Connection IDs Managements. I'm recently doing interoperability
>> testing with other C implementations like picoquic.
>>
>> It still has a long way to go to get into the upstream kernel, but I'm pretty
>> sure the need by kernel SMB and NFS will speed this up. I think at the same
>> time, some work can be done in fs/smb to move things forward.
>>
>> >
>> > The SMB3.1.1 changes are small to support QUIC, and I could do those
>> > (or review yours if you have already done it).
>> >
>> Cool.
>>
>> I don't really have patches and don't know much detail of fs/smb. So it will
>> be great if you can try this out on fs/smb.
>>
>> For the test to Windows server, I will let you know once the basic support
>> of the rest features is done in the QUIC implementation, maybe in 1-2 months.
>> Meanwhile, on fs/smb side, I think checking tls_server/client_hello_x509()
>> API use in net/sunrpc might be helpful for you to design the code in fs/smb.
>>
>> Thanks.




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux