HaskellによるQUICの実装(IIR vol.52 3章)
IIJの目標の1つはインターネットの発展に貢献することです。IIJの技術研究所は貢献方法の1つとして新しいプロトコルの標準化に参加しています。2013年以降、HTTP/2とTLS 1.3の標準化に参加…
2021年10月04日 月曜日
IIJの目標の1つはインターネットの発展に貢献することです。IIJの技術研究所は貢献方法の1つとして新しいプロトコルの標準化に参加しています。2013年以降、HTTP/2とTLS 1.3の標準化に参加…
2021年10月04日 月曜日
今回は、QUICのコネクションを終了させる手順について説明します。 正常な終了 QUICのコネクションを正常に終了させるには、CONNECTION_CLOSEフレーム(フレーム型の値は0x1c)を送信…
2021年09月22日 水曜日
前回、QUICのストリームについて説明しました。今回は、ストリームのフロー制御についてお話しします。フロー制御はそれほど難しい機能ではないので、今回はほとんど用語整理のような内容になっております。 フ…
2021年09月15日 水曜日
これまでの記事で、QUICのコネクションを確立する手順について説明しました。今回は、いよいよコネクションを使って、アプリケーションデータをやりとりします。 ストリーム ストリームとは、QUICコネクシ…
2021年09月10日 金曜日
増幅攻撃(amplification attack)とは、攻撃者が第三者の管理するサーバにデータの量を増幅させて標的に送りつけるDoS攻撃の一種です。 攻撃者は、小さなデータをサーバに送りつけます。こ…
2021年08月30日 月曜日
前回はクライアントとサーバが初めてコネクションを確立する際に実行されるハンドシェイクについて説明しました。まだ、コネクションの切り方を説明してないので恐縮ですが、今回は1回目のコネクションが終了した後…
2021年08月25日 水曜日
前回は、QUICパケットとフレームの構造について説明しました。準備が整いましたので、今回はコネクションの確立時に実行されるハンドシェイクについて説明します。 トランスポート層を実装する場合、コネクショ…
2021年08月16日 月曜日
前回の説明では、「Initial パケット」や「Version Negotiation パケット」といった用語を未定義で使いました。今回は、こういった「パケット」や「フレーム」が、どのような構造を持っ…
2021年08月11日 水曜日
QUICへの誘導 前回のブログで、ブラウザが HTTP/3 (HTTP over QUIC) に対応したサーバにアクセスしたときに、最初は HTTP/2 を使い、2回目の通信からHTTP/3を使うよう…
2021年07月16日 金曜日
不定期連載を始めます IIJ-II 技術研究所 技術開発室の山本です。私はプログラミング言語HaskellでHTTP/2とTLS 1.3を実装した後、もっぱらQUICを実装することに時間を費やしてきま…
2021年07月01日 木曜日