Skip to content

Procedure Rules

John Cameron edited this page Oct 17, 2018 · 2 revisions

Here is an example of a successful knock:

C->S Nonce (with nonce value as 0)     # Request Nonce
S->C Nonce (some value nonce)          # The Nonce to use for the knock session
C->S Knock                             # Initial knock
...                                    # Knock sequences
C-S Knock                              # Final (and successful) knock

The server will provide no response to whether the knock sequence was successful or not.

During the knock sequence, the server will keep track of the sequence by using the Nonce as a session ID. If at any point the knock sequence is invalid or timed out (due to loss), the session will be terminated.

The Nonce is a 128-bit UUID. Therefore, statistically, it is improbable to generate the same Nonce.

The procedure rules and protocol will adapt depending on any issues that are encountered.

Clone this wiki locally