From 80b3c07df03d8435ebd6dc6b8c7590b1c50c58e7 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Thu, 19 Sep 2024 18:24:27 +0800 Subject: [PATCH] add a Mermaid diagram --- content/docs/masque/_index.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/content/docs/masque/_index.md b/content/docs/masque/_index.md index acea36e..ba9cdfe 100644 --- a/content/docs/masque/_index.md +++ b/content/docs/masque/_index.md @@ -10,3 +10,19 @@ CONNECT-UDP ([RFC 9298](https://datatracker.ietf.org/doc/html/rfc9298)) enables A client establishes an HTTP/3 connection to a proxy. It requests the proxying of UDP packets to a remote server by sending an Extended CONNECT ([RFC 9220](https://datatracker.ietf.org/doc/html/rfc9220)) HTTP request. If the proxy accepts the proxying request, it opens a UDP socket to the target and forwards UDP packets between the client and the target. Between the client and the proxy, UDP datagrams are sent on the QUIC connection using HTTP Datagrams ([RFC 9279](https://datatracker.ietf.org/doc/html/rfc9279)). +```mermaid +sequenceDiagram + participant Client + participant Proxy + participant Server as Target Server + + Client->>Proxy: Extended CONNECT Proxying Request + Proxy-->>Proxy: Open UDP Socket to Server + + loop UDP Proxying + Client->>Proxy: UDP payload sent in HTTP Datagram + Proxy->>Server: UDP Packet + Server-->>Proxy: UDP Packet + Proxy->>Client: UDP payload sent in HTTP Datagram + end +```