OpenVPN Protocol, taken from ssl.h in OpenVPN source code.
OpenVPNソースコードのssl.hから取得したOpenVPNプロトコル。
TCP/UDP Packet: This represents the top-level encapsulation.
TCP / UDPパケット:これはトップレベルのカプセル化を表します。
TCP/UDP packet format:
TCP / UDPパケット形式:
Packet length (16 bits, unsigned) — TCP only, always sent as plaintext. Since TCP is a stream protocol, the packet length words define the packetization of the stream.
パケット長(16ビット、符号なし)-TCPのみ、常にプレーンテキストとして送信されます。 TCPはストリームプロトコルであるため、パケット長ワードはストリームのパケット化を定義します。
Packet opcode/key_id (8 bits) — TLS only, not used in pre-shared secret mode.
packet message type, a P_* constant (high 5 bits) key_id (low 3 bits, see key_id in struct tls_session below for comment). The key_id refers to an already negotiated TLS session. OpenVPN seamlessly renegotiates the TLS session by using a new key_id for the new session. Overlap (controlled by user definable parameters) between old and new TLS sessions is allowed, providing a seamless transition during tunnel operation.
パケットオペコード/ key_id(8ビット)-TLSのみ、事前共有シークレットモードでは使用されません。
パケットメッセージタイプ、P_ *定数(上位5ビット)key_id(下位3ビット。コメントについては、以下のstruct tls_sessionのkey_idを参照してください)。 key_idは、すでにネゴシエートされたTLSセッションを参照します。 OpenVPNは、新しいセッションに新しいkey_idを使用して、TLSセッションをシームレスに再ネゴシエートします。 古いTLSセッションと新しいTLSセッションの間のオーバーラップ(ユーザー定義可能なパラメーターによって制御)が許可され、トンネル操作中にシームレスな移行を提供します。