昔ふとした疑問からこんな記事を書きました。
そして最近QUICの勉強をしていたら「QUICではLTEとWifiを切り替えても通信が継続できる」という記載があったのでちょっと調べてみることにしました。
5-tuple
そもそもTCP/UDP通信は5-tupleと呼ばれるRFCのルールがあり、
5-Tuple: The tuple (source IP address, source port, destination IP address, destination port, transport protocol). A 5-tuple uniquely identifies a UDP/TCP session. When a UDP/TCP session flows through a NAT64, each session has two different 5-tuples: one with IPv4 addresses and one with IPv6 addresses.
https://www.ietf.org/rfc/rfc6146.txt
- 送信元IP
- 送信元ポート
- 宛先IP
- 宛先ポート
- プロトコル
が一致しているTCP・UDPセッションごとにユニークであると定義されています。そのため以前検証したブログでは送信元IPがWifiとLTEで変わっているので(ローカルIPは変わらないがグローバルIPは出本が違うので変わる)別の通信としてみなされるわけです。
QUICの場合
一方でQUICでは接続時にコネクションIDと呼ばれるユニークなIDが発行され、この値によって通信の一意性を保っているので経路が変わろうが問題なく通信ができるようです。
コネクションIDあれば通信乗っ取れるのか?という誰でも思いつきそうなセキュリティ問題についてはこの記事で具体的に紹介されていましたのでペタリ。
QUICはTLS1.3を内包しているのでエンドエンドですでにコネクションを貼っているのでコネクションIDがあったところで共通鍵の無い第三者の通信は不可能でしょう。
GCPではQUICおよびHTTP/3を利用できるので時間を見つけて試してみよう。