並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 213件

新着順 人気順

TCPの検索結果1 - 40 件 / 213件

  • Linuxの各種仮想ネットワークデバイスにおけるSegmentation Offloadの振る舞い

    LinuxにおけるSegmentation OffloadとはTCPなどのトランスポートレイヤのプロトコルが送信するデータをMTUに収まるように分割する処理(Segmentation)をNICのレイヤにオフロードすることによってスループットを向上させる技術です. Segmentation Offloadを使った場合, トランスポートレイヤのプロトコルはIPレイヤで許容される最大のサイズ(64KB程度)までのデータを1つのIPパケットで送信することができます. 受信側は逆にネットワークから入ってきたSegmentation済みのパケットをNICのレイヤで1つの大きなIPパケットに集約した上でプロトコルスタックの処理にかけます. これによってプロトコルスタックで処理されるパケットの個数を減らすことができるため, スループットが上がるという仕組みです. Linuxには仮想ネットワークデバイスとい

      Linuxの各種仮想ネットワークデバイスにおけるSegmentation Offloadの振る舞い
    • TCP/IP構造と通信 - Qiita

      OSIとTCP/IP構造 OSI参照モデルとTCP/IPプロトコルスタックの対応関係を示しています。 OSIモデルはデータ通信のための抽象的なモデルで、7つの階層(レイヤー)から成り立っています。 一方、TCP/IPプロトコルスタックはインターネットで実際に使用されているプロトコルの集まりで、4つの階層から構成されています。 TCP/IPの4層構造 アプリケーション層:OSIモデルのアプリケーション層、プレゼンテーション層、セッション層に相当します。HTTP、FTP、SMTPなどのプロトコルが含まれます。 トランスポート層:OSIモデルのトランスポート層に相当します。TCPやUDPがこの層で動作します。 インターネット層:OSIモデルのネットワーク層に相当します。IPプロトコルがこの層で主に使用されます。 ネットワークインターフェース層:OSIモデルのデータリンク層と物理層に相当します。E

        TCP/IP構造と通信 - Qiita
      • GitHub - panjf2000/gnet: 🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。

        gnet is an event-driven networking framework that is ultra-fast and lightweight. It is built from scratch by exploiting epoll and kqueue and it can achieve much higher performance with lower memory consumption than Go net in many specific scenarios. gnet and net don't share the same philosophy about network programming. Thus, building network applications with gnet can be significantly different f

          GitHub - panjf2000/gnet: 🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。
        • ICANN、プライベートネットワークで使うための公式トップレベルドメイン「.INTERNAL」を提案

          インターネット上のIPアドレスやドメイン名などの管理や調整を行っているICANN(Internet Corporation for Assigned Names and Numbers)は、プライベートネットワークやホームネットワークのためのトップレベルドメインとして「.INTERNAL」を予約語として割り当てるという提案を1月24日付で公開しました。 プライベートネットワークには、「192.168.xx.xx」などの専用のIPアドレス空間が公式に割り当てられており、このIPアドレス空間はインターネット上のIPアドレスと衝突しないことが約束されています。 しかし、このIPアドレス空間で管理されているプライベートネットワークのために公式に割り当てられたドメイン名の名前空間は、現時点ではありません。 そのため、プライベートネットワークの運用者がプライベートネットワーク内で何らかのドメイン名を運

            ICANN、プライベートネットワークで使うための公式トップレベルドメイン「.INTERNAL」を提案
          • レイテンシ(遅延)とスループット(帯域幅)と帯域幅遅延積 - Qiita

            マルチクラウド展開にまつわる既成概念を覆すより データ転送では、特に長距離の場合にレイテンシ(遅延)が問題になることがありますが、現在はすべてのクラウド・プロバイダーがそれぞれの物理インフラストラクチャを互いの近くに配置(専門用語では「コロケーション」)しているため、これはさほど問題となりません。この近接性(場合によっては同一コロケーション施設内の別の部屋)は、クラウド間のレイテンシがミリ秒単位であることを意味します。それに加え、クラウド・データセンター・リージョンは世界中で増加しており、クラウド・リージョン間の距離は縮まっています。 という事で、レイテンシ(遅延)について、まとめてみてみます。 ■ Agenda レイテンシ(遅延)とスループット(帯域幅) レイテンシと TCP の動作 帯域幅遅延積(Bandwidth-Delay Product) TCP Window Size の調整と

              レイテンシ(遅延)とスループット(帯域幅)と帯域幅遅延積 - Qiita
            • (小ネタ)NLBへ疎通確認する時はレイヤ4(トランスポート層)のコマンドを使用してほしい | DevelopersIO

              この状態で再度ping,tracepathコマンドを実行しましたが、結果は変わりませんでした。。 どうやらNLBの仕様として、設定済みのリスナーに一致しないネットワークトラフィックは意図しないトラフィックとしてターゲットに転送せずにドロップするようです。 設定済みのリスナーに送信されるすべてのネットワークトラフィックが、意図されたトラフィックとして分類されます。設定済みのリスナーに一致しないネットワークトラフィックが、意図しないトラフィックとして分類されます。Type 3 以外の ICMP リクエストも、意図しないトラフィックとみなされます。Network Load Balancer は、意図しないトラフィックをターゲットに転送せずにドロップします。 出典:Network Load Balancer のリスナー - Elastic Load Balancing Pingで使われれるのはIC

                (小ネタ)NLBへ疎通確認する時はレイヤ4(トランスポート層)のコマンドを使用してほしい | DevelopersIO
              • TCPが再送しているケースだけではない?WiresharkでBad TCPが発生する原因 | 東陽テクニカ | “はかる”技術で未来を創る | ワン・テクノロジーズ・カンパニー

                自宅でリモートワーク中に自分の通信をWiresharkでキャプチャしていると、実に多くの黒いパケットが発生していたりします。この黒いパケットの正体は、Wiresharkのデフォルトカラーリング設定の"Bad TCP"に分類されたパケットです。 自宅までは光通信となっていて、その先にはWifiルータを設置していて、PCとは無線で接続していますが、とても早くて快適です。遅いとか繋がらないとかいうことは一切感じません。

                • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

                  【IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

                    Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
                  • カンファレンスイベントで会場回線を過信してはいけない - notokenの覚書

                    前段 PHP Conference Japan 2023が 10/08 に大田区産業プラザPiOで行われたわけですが、開会直後に提供している無線LANがいきなり不安定になってしまい、そのまま一部の部屋以外で提供できない状態になってしまった。 この記事では、なぜそのようなことが発生してしまったか?という点に関して解説しようと思う。 結論 会場側設備として入っているNAPT-BOXが YAMAHA RTX1200 という 15年前*1に発売されたルータで、来場者を捌けるだけのNAPTセッションテーブル*2が備わっておらず、NAPTテーブル溢れ*3を起こしてしまった。 事前知識 NAPT Network Address Port Translation 1つのグローバルIPアドレスを複数のホストで共有するための仕組み。この機能により1つのグローバルIPアドレスを複数のクライアント(コンピュータや

                      カンファレンスイベントで会場回線を過信してはいけない - notokenの覚書
                    • 1単語のように扱われる「TCP/IP」、実はTCPはIPより先に生まれていた

                      TCP(Transmission Control Protocol)とIP(Internet Protocol)といえば、インターネットを支える基盤のプロトコルだ。実はTCPはIPより先に存在していたのをご存じだろうか。 TCPが最初に登場したのは1974年。ビントン・サーフ氏とボブ・カーン氏がIEEE(米国電気電子学会)の学会誌『Transactions on Communications』に論文「A Protocol for Packet Network Intercommunication」を投稿した。この時点のTCPは現在のTCPとIPの両方の機能が盛り込まれていた。現在のインターネットの4階層モデルからすると、TCPはインターネット層とトランスポート層にまたがるプロトコルだったのだ。 ビントン・サーフ氏が描いたTCPのアイデア。1973年に描いたとされる初めて図示したものを、20

                        1単語のように扱われる「TCP/IP」、実はTCPはIPより先に生まれていた
                      • Linux以外ではDockerでIPv6が扱えないので簡易なTCP Reverse Proxy Serverを書いた - 時計を壊せ

                        まずは公式ドキュメントをご覧ください。 docs.docker.com IPv6 is only supported on Docker daemons running on Linux hosts. 残念! Docker Desktop for Macなどでローカル開発をしているときに、ローカルで立ち上げたプロセスからDocker内にあるコンテナに通信したいことは割りとよくあるユースケースだと思う。 こういうときは、基本的には宛先をIPv4のLoopback Addressである127.0.0.1に向けてあげて、 IPv6を使わないようにしてあげるとよい。 localhostを使ってしまうと、名前解決でIPv6のLoopback Addressに名前解決されるケースがあり、そうなればIPv6に対して接続しようとしてしかしIPv4でしかlisten(2)されていないのでコケる。 しかし、世

                          Linux以外ではDockerでIPv6が扱えないので簡易なTCP Reverse Proxy Serverを書いた - 時計を壊せ
                        • HTTP/3|Webエンジニアが知るべき新常識 ─ QUICやコネクションマイグレーションなどを学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

                          HTTP/3|Webエンジニアが知るべき新常識 ─ QUICやコネクションマイグレーションなどを学ぶ 新しい通信プロトコルとして普及が進んでいるHTTP/3については、エンジニアHubでも過去に概論的な記事を掲載しています。今回はアプリケーション開発者が自社サービスでHTTP/3を採用することを想定して、仕様上の留意点や、どのように使い始めるか、そしてサイトを制作する際に注意しておきたいポイントまでを藤吾郎(gfx)さんに解説していただきました。 本記事ではHTTP/3およびその通信プロトコルであるQUICを、アプリケーション開発者として活用する立場で入門します。HTTP/3は、HTTP/1.1とHTTP/2に続く新しいメジャーバージョンのHTTPプロトコルです。HTTP/3はHTTP/1.1およびHTTP/2を置き換えるポテンシャルを持っています。将来的にほとんどのインターネットトラフィ

                            HTTP/3|Webエンジニアが知るべき新常識 ─ QUICやコネクションマイグレーションなどを学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
                          • WindowsのChromeやEdgeでネットにつながりにくくなる現象、一部の家庭用ルーターが原因かも? DNSの“TCPクエリ”うまく扱えない機種も存在。ChromeのTCPクエリ送信が引き金に

                              WindowsのChromeやEdgeでネットにつながりにくくなる現象、一部の家庭用ルーターが原因かも? DNSの“TCPクエリ”うまく扱えない機種も存在。ChromeのTCPクエリ送信が引き金に
                            • Dockerのポートマッピングのデフォルト設定は危ない - JUNのブログ

                              あらすじ 公衆WiFiに繋いだ状態でいつものように docker container run -p 8080:80 nginx のような感じでDockerコンテナを動かしていたら、外部からリクエストを受信した。 ファイアウォールを設定し、外部からのアクセスを拒否しているはずなのになぜアクセスできたんだ... 環境 Docker desktop for mac with apple silicon 4.21.0 何が起きた? Dockerはデフォルトの設定では-p 8080:80のようにポートマッピングするとファイアウォールの設定を書き換え、外部からそのポートへのアクセスを許可するようになっている。 その結果LAN内の他のPCから対象ポートにアクセス出来てしまう。 ちなみにこれはDocker公式からも注意が出ている。 Publishing container ports is insecur

                                Dockerのポートマッピングのデフォルト設定は危ない - JUNのブログ
                              • Goでゼロから作る 自作TCP/IPプロトコル サーバー

                                「マスタリングTCP/IP を読んだけど理解がイマイチ進まない。Goがどのようにサーバーを立てているのか気になる。」 そんなスキマを埋めるための本です。 Goの標準パッケージである net package を一切利用せずに、自作TCP/IPプロトコルでサーバーを作ります。 パケットをどのようにやり取りするかハンズオン形式で解説し、最後にToDoリストAPIを実装します。

                                  Goでゼロから作る 自作TCP/IPプロトコル サーバー
                                • ノートPCとWiresharkでスマートフォンの通信を覗いてみよう | GRIPHONE ENGINEER'S BLOG

                                  この記事は GRIPHONE Advent Calendar 2022 5日目の記事です。 こんにちは、SREの笹です。 ゲームの開発をしていると、デバッグツールで見られる一般的な情報に加えて、TCP等より物理層に近い情報を見ながらデバッグをしたいと思うことがあります。そのような時、コンピューター上で動作しているプログラムであれば、Wiresharkなどのパケットキャプチャーを使えば簡単に情報を確認できますが、スマートフォン上で動作しているゲームだとそう簡単には確認することができません。 今回は、できるだけ手軽に、簡単に、WiFiを通して接続しているスマートフォンの通信をWiresharkでキャプチャしてみようという趣旨の記事になります。 できるだけ手軽に、簡単に。 WiresharkとWiFiでパケットキャプチャーする方法を簡単に検索してみると、無線LAN親機とスマートフォンの間を流れる

                                    ノートPCとWiresharkでスマートフォンの通信を覗いてみよう | GRIPHONE ENGINEER'S BLOG
                                  • nginxでHTTP/3を使う方法 2023年5月版

                                    ついさっき、ついにHTTP/3対応のブランチが本家のnginxにmergeされました。 このまま何事もなければ次のMainline versionである1.25.0がリリースされたタイミングで使えるようになるはずです。 検索するとnginxでHTTP/3を使う方法を解説しているサイトがいくつかヒットしますが、実はmergeするちょっと前くらいから非互換な変更をいくつも入れていたので、そのままだと動かないはずです。なので簡単に使い方を解説しておきます。 なお分かっていると思いますが、こちらの記事は記事執筆時点(2023/05/20)の内容です。 OpenSSLの代わりを選ぶ HTTP/3を使うには自分でbuildする必要があります。いずれpackageが配布されるだろうと思っている人がいるかもしれませんが、nginxのHTTP/3対応はBoringSSLのAPIで対応されています。OpenS

                                      nginxでHTTP/3を使う方法 2023年5月版
                                    • 第763回 RustDeskですいすい繋がるリモートデスクトップを実現する | gihyo.jp

                                      今回はオープンソースでマルチプラットフォームなリモートデスクトップソフトウェアであるRustDeskを紹介します。 RustDeskとは RustDeskはオープンソースでマルチプラットフォームなリモートデスクトップソフトウェアです。あけすけな表現をするとセルフホストできるTeamViewerやAnyDeskのようなものです。 使い勝手もおおむね同じで、今回構築する中継サーバーに接続することによりルーター等の設定を変更しなくてもすいすい繋がるリモートデスクトップ環境を構築できます。 サーバーはUbuntuやDebianとWindowsが想定されていますが、クライアントはUbuntu/Debian/Windows/macOS/Android/iOSなど、何にでも対応しています。ただし今回はUbuntuとWindowsしか取り上げません。 TeamViewerやAnyDeskを使用したことがあ

                                        第763回 RustDeskですいすい繋がるリモートデスクトップを実現する | gihyo.jp
                                      • TLS, byte by byte

                                        See this page fetch itself, byte by byte, over TLS This page performs a live, annotated https: request for its own source. It’s inspired by The Illustrated TLS 1.3 Connection and Julia Evans’ toy TLS 1.3. It’s built on subtls, a pure-JS TLS 1.3 implementation that depends only on SubtleCrypto. Raw TCP traffic is carried via a serverless WebSocket proxy. Key Raw bytes in hexadecimal. Outgoing messa

                                        • HTTP/2 と gRPC に対するよくある誤解。 - ねののお庭。

                                          以前 .NET ラボで 「C# と HTTP/2 と gRPC」というタイトルで登壇しました。その時のスライドがこちらなのですが、ちらほら反応を頂きました。その結果、HTTP/2 や gRPC について勘違いしている人がちょこちょこいる事が分かったので、少し補足を書こうと思います。 blog.neno.dev 1. HTTP/2 で向上するのはスループットであって、1リクエストあたりの応答時間ではないよ。 HTTP/2 を使うからといって、1 リクエストあたりの応答時間が短くなるわけではないのです。 まず、1 HTTP リクエストあたりにかかる時間を、RTT とかいったりします。 1 RTT の内訳はだいたいこんな感じになります。 1 RTT = ネットワーク上で往路にかかる時間 + サーバの処理時間 + ネットワーク上で復路にかかる時間 HTTP/2 になったからといって、ネットワークを

                                            HTTP/2 と gRPC に対するよくある誤解。 - ねののお庭。
                                          • httpとhttpsの違い

                                            TLSの有無 言うまでもないことですが、httpsでは通信路をTLSを使って保護することが想定されています。[1][2] デフォルポート httpは80、httpsは443です。[3][4] 権威性 以降の説明に入る前に前提を確認します。本稿は「httpとhttpsの違い」と題されていますが、これはURLのスキーム部分のことを指しています。URLはリソースの所在を指すものであり、通信方法はそこから二次的に決まるものです。このことを前提に置きつつ権威性について説明します。 Webにおいて、所望のリソースにアクセスする方法はひとつではありません。このような方法のうち、リソースの所有者の制御下にある(第三者による加工などが行われていないと期待される)方法で取得することを権威的アクセスと呼びます。[5] どのようなアクセス方法が権威的とみなせるかについて100%客観的で統一的な指標があるわけではな

                                              httpとhttpsの違い
                                            • RFCの読み方

                                              こんにちは。技術開発室の伊藤です。 ハートビーツではメールサーバを自社で運用しています。そのメールサーバの移設を実施するにあたり、移設を対応するチームでさまざまなメールの仕様を理解しておく必要がありました。 メールプロトコルの仕様についてはRFC(Request For Comments)が発行されているため、メールに関するRFCを読んでまとめる勉強会を行いました。 その際にRFCを読むにあたって知っておくとよいことがいくつかあったので紹介します。 RFCとは RFCとはIETF(Internet Engineering Task Force)というインターネット技術の標準化を推進する団体やその他の団体が発行している、インターネット標準や技術提供の文書です。もともとは非公式な文書であることを明確にするため、Request For Comments(コメント募集)という名前にしていたようです

                                              • 2023年4月においてクリックジャッキング未対策のサイトはどの条件で被害を受けるか

                                                サマリ CookieやlocalStorage等でセッション管理しているウェブサイトがクリックジャッキング対策していない場合、どの条件で被害を受けるかを説明する。SameSite属性のないCookieでセッション管理しているウェブサイトは、主要ブラウザのデフォルト設定ではクリックジャッキングの影響を受けない。一方、loaclStorageにトークン類を格納するウェブサイトでは、Google Chrome等のブラウザでクリックジャッキングの影響がある。また、ブラウザの設定を変更した場合の影響についても説明する。 クリックジャッキングとは クリックジャッキングとは、一言で説明すると「ウェブサイト利用者に意図しないクリック(タップ)をさせる」攻撃です。ウェブサイト上で意図しないクリックを勝手にさせられると、重大な結果になる場合があります。例えば、このURLを閲覧すると、以下のようにTwitter

                                                  2023年4月においてクリックジャッキング未対策のサイトはどの条件で被害を受けるか
                                                • VPC ネットワーク内での長時間稼働 TCP 接続の実装 | Amazon Web Services

                                                  Amazon Web Services ブログ VPC ネットワーク内での長時間稼働 TCP 接続の実装 本投稿は Implementing long-running TCP Connections within VPC networking (記事公開日: 2022 年 11 月 28 日) を翻訳したものです。 多くのネットワークアプライアンスは、アイドル接続タイムアウトを定義して、非アクティブ期間が経過すると接続を終了します。たとえば、NAT Gateway、 Amazon Virtual Private Cloud (Amazon VPC) エンドポイント、Network Load Balancer (NLB) などのアプライアンスのアイドルタイムアウトは、現在 350 秒に固定されています。アイドルタイムアウトの期限が切れた後に送信されたパケットは、ターゲットに配信されません。

                                                    VPC ネットワーク内での長時間稼働 TCP 接続の実装 | Amazon Web Services
                                                  • An Introduction to Computer Networks — An Introduction to Computer Networks, desktop edition 2.0.11

                                                    Navigation index next | An Introduction to Computer Networks, desktop edition 2.0.11 » Table of Contents An Introduction to Computer Networks Indices and tables Next topic Preface Quick search An Introduction to Computer Networks¶ Peter L Dordal Department of Computer Science Loyola University Chicago Contents: Preface Second Edition Licensing German Edition Classroom Use Acknowledgments Progress

                                                    • [Wireshark] sshdumpを使って手元のマシンからEC2インスタンスのパケットキャプチャーをしてみた | DevelopersIO

                                                      tcpdumpではなくてWiresharkでパケットを確認したいな こんにちは、のんピ(@non____97)です。 皆さんはリモートのLinuxマシンをtcpdumpではなくて手元のマシンのWiresharkでパケットを確認したいなと思ったことはありますか? 私はあります。 tcpdumpで上手にフィルタリングをすれば良いのでしょうが、そうでなければ高速目grepすることとなり大変です。 そういった時は慣れ親しんだWiresharkが恋しくなるものです。 実はWiresharkでsshdumpを使えば、SSH越しにリモートコンピューターのパケットキャプチャーをすることはご存知でしょうか。 NAME sshdump - Provide interfaces to capture from a remote host through SSH using a remote capture bi

                                                        [Wireshark] sshdumpを使って手元のマシンからEC2インスタンスのパケットキャプチャーをしてみた | DevelopersIO
                                                      • https://twitter.com/s5ml/status/1625061820422840321

                                                          https://twitter.com/s5ml/status/1625061820422840321
                                                        • pythonでsocket通信(サンプルプログラム) - Qiita

                                                          はじめに Docker上に展開しているコンテナでsocketで受信待ち状態にして、socketで通信を受け取ったら、以降の処理を走らせる形のサンプルプログラム。 別コンテナからのリクエストで、同期して処理を実行させたい場合などに使えるかと。 環境 windows10 pro wsl2(20.04.5 LTS (Focal Fossa)) Dockerのバージョン Docker version 20.10.18, build b40c2f6 docker-compose version 1.29.2, build 5becea4c ※Docker Desktop ではありません ※通信のリクエストは、Windowsからも行っています python 3.10.7 コンテナのポート設定については import socket import logging # 受信IP(外部からの接続は127.0.

                                                            pythonでsocket通信(サンプルプログラム) - Qiita
                                                          • TCPとQUICの比較

                                                            ジェフ・ヒューストンのブログより。 QUICトランスポート・プロトコル(RFC 9000)は、オリジナルのTCPトランスポート・プロトコルを改良したものに過ぎないという一般的な見解があります[1][2]。私は、この意見に同意し難く、私にとってQUICは、通信のプライバシー、セッション制御の完全性、柔軟性の面で、アプリケーションが利用できるトランスポート機能における重要な変化を象徴しています。QUICは、より多くの形式のアプリケーションの動作に本質的に役立つ、異なる通信モデルを体現しています。そうです。TCPよりも高速です。私の意見では、公衆インターネットは、いずれQUICがTCPに取って代わると思っています。ですから、私にとってQUICは、TCPに少し手を加えただけのものではありません。ここでは、TCPとQUICの両方について説明し、QUICがトランスポート・テーブルに加えた変更について見

                                                              TCPとQUICの比較
                                                            • ISP Column - October 2022

                                                              There is a common view out there that the QUIC transport protocol (RFC 9000) is just another refinement to the original TCP transport protocol [1] [2]. I find it hard to agree with this sentiment, and for me QUIC represents a significant shift in the set of transport capabilities available to applications in terms of communication privacy, session control integrity and flexibility. QUIC embodies a

                                                              • プロトコルスタックを写経してネットワークを完全に理解したかった日記

                                                                Webページはどうやって表示されるのでしょうか. 「ブラウザでアドレスバーにURLを入力してEnter押してからページが表示されるまでに何が起きているか説明してください」面接で使っていた質問が面白いと話題に 上記の質問には様々なレイヤーでの回答があると思うのですが,私はネットワークの動作に興味を持ちました.というのも,TCP,IP,ARP,Ethernetといったキーワードが関連しているのは教科書や講義で聞いた気がするのですが,それ以上のことはうまく説明できなかったからです. これらのプロトコルは,普段はカーネル内部に隠れていてあまり意識できません. しかし,以下の資料を参考にプロトコルスタックを写経すれば,少しは身近に感じられるかもしれないと思いました. 3月に開催したプロトコルスタック自作キャンプの講義資料を公開しました。1週間でTCP/IPのプロトコルスタックを自作してUDPやTCP

                                                                  プロトコルスタックを写経してネットワークを完全に理解したかった日記
                                                                • QUICはTCPの代替ではない

                                                                  ブルース・デイヴィーのブログより。 TCPの新しい決定的な仕様(RFC 9293)の公開は、私たちの世界ではとても大きな出来事で、このトピックに関する2回目の投稿をせずにはいられませんでした。特に、QUICとTCPを比較した議論に興味をそそられ、今週のニュースレターを書くきっかけとなりました。 TCPの過去と未来に関する前回の投稿では、QUICがTCPを置き換え始めるかも知れないという可能性について触れました。今週は、QUICは実際にはTCPが解決する問題とは異なる問題を解決しているので、TCPの置き換えとは別のものとして見るべきであると主張したいと思います。一部の(あるいはほとんどの)アプリケーションでは、QUICがデフォルトのトランスポートになるかも知れませんが、それはTCPが本来意図されていなかった役割に押しやられたからだと思います。なぜ私がそのような主張をするのか、一歩下がって考え

                                                                  • mTLSとは?| 相互TLS | Cloudflare

                                                                    • DNS前史:HOSTS.TXTとドメイン名ができるまで

                                                                      こんにちは、技術開発室の滝澤です。 先月(2022年7月)、『Software Design 2022年8月号』の特集記事『WebエンジニアのためのDNS速習講座』に『第2章:DNSの構成要素と名前解決のしくみ』という記事を寄稿しました。第1章でも滝澤が趣味で作成した資料『ドメイン名の歴史』が参考文献として掲載されていました。よい機会なので、ドメイン名ができるまでの歴史について文章としてまとめようと思い、この本ブログ記事を書きました。 なお、筆者自身はインターネットの原型であるARPANETや80年代のインターネットをリアルタイムには体験してはいないため、RFC(Request for Comments)やインターネット上にある当時のホストのアーカイブを元に調査した内容をまとめたものになります。 ARPANETの時代 1969年から1980年代初期にかけてのインターネットの原型となったAR

                                                                      • GitHub - karanpratapsingh/system-design: Learn how to design systems at scale and prepare for system design interviews

                                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                          GitHub - karanpratapsingh/system-design: Learn how to design systems at scale and prepare for system design interviews
                                                                        • RFC 9293: Transmission Control Protocol (TCP)

                                                                          Stream: Internet Engineering Task Force (IETF) STD: 7 RFC: 9293 Obsoletes: 793, 879, 2873, 6093, 6429, 6528, 6691 Updates: 1011, 1122, 5961 Category: Standards Track Published: August 2022 ISSN: 2070-1721 Author: RFC 9293 Transmission Control Protocol (TCP) Abstract This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protoco

                                                                          • GitHub - kffl/speedbump: TCP proxy for simulating variable, yet predictable network latency :globe_with_meridians::hourglass_flowing_sand:

                                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                              GitHub - kffl/speedbump: TCP proxy for simulating variable, yet predictable network latency :globe_with_meridians::hourglass_flowing_sand:
                                                                            • QUICをゆっくり解説(17):QUICビットとトランスポート・パラメータ | IIJ Engineers Blog

                                                                              Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 お久しぶりです。一家の引っ越しでバタバタしておりました。ようやく落ち着いてきましたので、「硬直化」をテーマとしてQUICに関して3つほど記事を書いてみようと思います。 硬直化 硬直化とは、中間装置が想定外の動作をすることによって、新しい機能の普及が困難になることです。硬直化の例としては、TCP Fast Openが完全に普及できないことが挙げられます。 TCPでは、コネクションを確立するために、いわゆる3WAYハンドシェイクが実行されます。通常は、クライアントがSYNパケットを送信し、サーバがSYN/ACKパケットを返し、その後クライアントがACKを返す際に初めてデータを送信できます。 もし最初のSYNパケットにデータを乗せることがで

                                                                                QUICをゆっくり解説(17):QUICビットとトランスポート・パラメータ | IIJ Engineers Blog
                                                                              • メモ: 『Linuxで動かしながら学ぶTCP/IPネットワーク入門』

                                                                                3章 Network Namespace - 1 helloworld ip netns コマンドでNetworkNamespaceの作成や操作が可能になる 作成したNetworkNamespace内で独自のネットワークを構築できる $ ip netns add helloworld $ ip netns list helloworld $ ip netns exec helloworld ip addr show 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 $ ip netns delete helloworld # NSを作成 $ ip netns add ns1 $ ip n

                                                                                  メモ: 『Linuxで動かしながら学ぶTCP/IPネットワーク入門』
                                                                                • 第2章 詳解QUIC ~ TCPに代わり下位層で使用する新しいトランスポートプロトコル | gihyo.jp

                                                                                  本章では、HTTP/3がTCPに代わって下位層で用いるQUICについて解説します。 QUICはトランスポートプロトコル QUICはトランスポートプロトコルです。QUICの説明に入る前に、トランスポートプロトコルついておさらいします。 TCP/IPの4階層モデル プロトコルは階層で役割を分担しています。TCP/IPの4階層モデルでは、アプリケーション層、トランスポート層、インターネット層、ネットワークインタフェース層に分かれます(図1⁠)⁠。 図1 TCP/IPの4階層モデル アプリケーション層に分類されるアプリケーションプロトコルは、クライアントやサーバで動作するアプリケーションの動作に関するデータやメッセージの通信ルールを規定します。たとえばSMTP(Simple Mail Transfer Protocol)は、メールを送信する通信ルールを規定しています。HTTPはこの層に属します。

                                                                                    第2章 詳解QUIC ~ TCPに代わり下位層で使用する新しいトランスポートプロトコル | gihyo.jp