The preferred_address transport parameter contains an address and port for both IPv4 and IPv6. The four-byte IPv4 Address field is followed by the associated two-byte IPv4 Port field. This is followed by a 16-byte IPv6 Address field and two-byte IPv6 Port field. After address and port pairs, a Connection ID Length field describes the length of the following Connection ID field. Finally, a 16-byte Stateless Reset Token field includes the stateless reset token associated with the connection ID. The format of
原因がダサすぎる (スコア:0)
HTTP/3で"Content-Length"のパースをcase sensitiveに行っていたから小文字の"content-length"を送られると応答の長さの取得に失敗するって…
Re: (スコア:0)
詳しそうな人が居そうなのでおしえて。HTTP/3は、UDPで445のポートの開放が必要とあるから楽天モバイル等のグローバルアドレスが与えられないところでは使えない? 普及が進んでHTTP/3だらけになるとつなげなくなるの?
Re: (スコア:0)
ポート開放が必要なのはサーバ側でしょ?
Re: (スコア:-1)
> ポート開放が必要なのはサーバ側でしょ?
クライアントとサーバ、両方ともUDP/445の開放が必要ですよ
Re: (スコア:0)
そう言ってるのってさくらのSSLのコラム [sakura.ad.jp]だけしか見当たらないんだけど……
あくまで意図的にFWで通信カットしている場合の話であって、楽天モバイルのようなCGNATでは普通に通るはず……というか現に手元の楽天モバイル回線でGoogleのサイト開いたときにHTTP/3通信できてますよ
Re:原因がダサすぎる (スコア:-1)
UDPだからポート解放しないと通信できませんよ。TCPとUDPの違いを勉強してから出直してきてください。
あとポート番号は443ですね。445はsmb。windowsのファイル共有で使われているポート番号です。
Re: (スコア:0)
UDPだからポート解放しないと通信できませんよ。TCPとUDPの違いを勉強してから出直してきてください。
何を言っておるのかね。UDPでも普通にNAPTできる。
そもそも、今ゲーム業界で主流のUDPホールパンチングとかはNAPTされることが前提の技術なんだが。
Re: (スコア:0)
クライアントのポートが443固定でないと通信できないとかちょっと信じられないんだが…
Re: (スコア:0)
内側から通信を始めたら、今時の普通のご家庭用NATルータを普通の設定で使ってるなら空気を読んで必要な分だけ、その「ポート開放」に該当する処理を自動でしてくれる。
UDPの勉強で止まらず、NATの歴史を勉強してみよう。
Re: (スコア:0)
書いた人ではないが、多分
クライアント側の「開放」って意味が
クライアント側はサーバーのUDP443へ送信できるようにするのか、
クライアント側がUDP443で受信できるようにするのか、どっちの意味で「開放」って使ってるのかが食い違っているかと
Re: (スコア:0)
NAPT がまだ生き残っていることを考えると、まずあり得ないですね。
RFC9000 [rfc-editor.org]を眺めた感じ、ちゃんと異なるポートを指定するための定義がありました。
The preferred_address transport parameter contains an address and port for both IPv4 and IPv6. The four-byte IPv4 Address field is followed by the associated two-byte IPv4 Port field. This is followed by a 16-byte IPv6 Address field and two-byte IPv6 Port field. After address and port pairs, a Connection ID Length field describes the length of the following Connection ID field. Finally, a 16-byte Stateless Reset Token field includes the stateless reset token associated with the connection ID. The format of
Re:原因がダサすぎる (スコア:1)
クライアントのポートが固定ということになると、
・クライアント側のPC上で、HTTP3/QUICを使うソフトウェア(ブラウザ)は一つだけに限定される(ChromeとFirefoxを同時起動しても、HTTP3を使えるのは片方だけ)
どころか、
・キャリアグレードNATで複数の回線利用者がIPアドレスを共有する場合、HTTP3を使えるのはその中の一人だけ
になってしまうんですよね。「そんなわけないだろ」と気づいてほしいところ。
Re: (スコア:0)
ですよねぇ
「詳しそうな人が居そうなのでおしえて。」の流れで
詳しそうで何も知らない回答者なのか
質問者が頑なに間違いを信じ続けてるのか
どっちかも分かり辛い流れですが
謝に観てみると意図的にsmb:445開けさせようとしているとも取れますし
これ以上相手にせずマイナスもでが正しい対処な気がします
Re: (スコア:0)
その解釈の場合、「クライアント、サーバーともに」とは書かないと思うんだよな。そこまでわかっているなら方向を明記する。
Re: (スコア:0)
あー。そういうことですか。ようやく理解できた気が。ありがとうございます。
どうやったらこんな意味不明な食い違いが起こるのかと思っていたけど。
「クライアント側のネットワークのファイヤーウォール等でサーバ側 UDP 443ポートへの接続を制限している場合に通信できない。」
みたいな当たり前すぎて誰も気にしてないことを
「クライアント側のUDP 443ポートの開放が必要。」
みたいな話になっているのか。
Re: (スコア:0)
あるいは、サーバ側とクライアント側でポート番号を揃えないといけないと思い込んでいるのかも。
# ウェブ環境変数チェッカー [pdata.jp]なんかにアクセスしてみればわかるけど、クライアント側のポート番号(REMOTE_PORT)はサーバ側のポート番号(80)とは一致しない
Re:原因がダサすぎる (スコア:1)
ググったら、クライアントとサーバ両方443ポートを開放する必要があると解説しているページがいくつか見つかった [google.com]んですが、
フィッシング対策協議会(JPCERT運営) [antiphishing.jp]とかさくらのSSL コラム [sakura.ad.jp]とか大御所っぽいところがやらかしてるので、そこから伝播してるのかも
Re: (スコア:0)
企業などでセキュリティのために不要なポートを閉じている場合は注意する必要があります。
クライアントのポート開放って送信の話じゃねえかな。
企業なんかだと余計な通信できないように特定サービス以外アクセスできないようにしてんじゃん。