Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QUICでの Happy Eyeballs サポートについて #1

Open
kunitake opened this issue Dec 13, 2016 · 2 comments
Open

QUICでの Happy Eyeballs サポートについて #1

kunitake opened this issue Dec 13, 2016 · 2 comments

Comments

@kunitake
Copy link

RFC 6555(Happy Eyeballs)では、IPv4/IPv6 dual-stack 環境下でのフォールバックが
TCPベースで語られていて、UDPに関しては実現可能性にしか触れられていません。

UDPベースである QUICにはHappy Eyeballs 相当の機能が実装されることが議論されて
いるのでしょうか。それともUDPでの fallbackはアプリ依存の話になり、QUICの仕様
では語られない部分となるのでしょうか。

以上、よろしくお願い致します。

@shigeki
Copy link
Owner

shigeki commented Dec 13, 2016

質問ありがとうございます。アジェンダに加えました。

https://github.com/shigeki/ask_nishida_about_quic_jp#41-happy-eyeball

現状のドラフトでは、IPv4/IPv6かかわらずUDPでの接続に問題があれば TCP接続(QUICを使わない接続)に Fallback することだけが規定されているだけです。
https://quicwg.github.io/base-drafts/draft-ietf-quic-http.html#rfc.section.2

この辺、もっと頑張るよう仕様を詰めていくのか、明確に規定せず Operation & Management みたいな運用プラクティスに持っていくのか、仕様的に全く触れないのか、個人的にはよくわかりません。

過去のMLの議論をあさると v4/v6 の happy eyeball は 2-way racing が複雑になって正しく行うのが難しいだろうとのEditorからのコメントもあったので、https://www.ietf.org/mail-archive/web/quic/current/msg00204.html 今後の検討事項として議論されるものと予想しています。

@nsd246
Copy link
Collaborator

nsd246 commented Dec 13, 2016

うーん。どうでしょうね。。ちなみにMultipath TCPの場合、TCPにfallbackする機能はありますがHappy Eyeball的な機能はプロトコル内には(少なくとも今のところ)ありません。
RFC6555はアプリケーションレベルでの実装を想定していて、request/responseのあるプロトコルだったら基本的に適応可能なので、QUICでも利用できるのではないかと思います。

もしQUIC内に実装するとすれば、APIなど外部から与えられた複数のアドレス候補に対して同時に接続を試みて、最初にレスポンスが返ってきたアドレスでセッションを確立するという感じの機能になるんじゃないかと想像しますが、プロトコル内にこの機能を持ちたいという需要がどれくらいあるかですね。。需要に関しては読めない部分が大きいので今後の展開次第というところでしょうか。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants