タグ

*networkに関するsh19910711のブックマーク (397)

  • 続々 WiresharkのDissectorを使った独自プロトコル解析(TCP,UDP分割パケットの場合)

    稿では、初めて実際に独自プロトコルのDissectorを作る人が最初にぶつかるであろう壁を乗り越える方法を紹介します。 Dissectorって何?という人は、先に↓こちらを読んでください。 WiresharkのDissectorを使った独自プロトコル解析をやさしく解説してみました - DARK MATTER 稿では、基的なDissectorの作り方と、Dissectorを活用したパケット解析方法を紹介します。WiresharkのDissectorをご存知でしょうか?DissectorはWireshar ... できるようになること 複数のパケットに分割されたパケットのDissectorの作成 TCPのパケット分割について(いちおう書いておきます) TCPはストリーム型の通信であり、送信サイズや通信環境によりTCPの仕組みでパケットが分割されて送信される場合があります。このため一般に公

    続々 WiresharkのDissectorを使った独自プロトコル解析(TCP,UDP分割パケットの場合)
    sh19910711
    sh19910711 2025/08/04
    2020 / "TCPの分割パケットの解析については、pinfo.desegment_len = DESEGMENT_ONE_MORE_SEGMENT というキーワードを覚えておけば、必要な際にサンプルを探せばいろいろな解説資料がみつかる"
  • おうちで始めるNVMe over TCP入門

    準備今回も、前回と同様に SPDK を用いて環境構築を行います。 SPDK をビルドし nvmf_tgt が実行可能な状態までは前回と同様の手順です。 ネットワーク設定この段階でネットワーク設定を行っておきます。 手順については省略します。 なお、今回は次のような構成にしています。 なお、リンクスピードは100Gbps、MTUは9000です。 ターゲット側 10.0.0.1/24 ---------- 10.0.0.2/24 Initiator側 nvme-cliのインストールターゲット側とInitiator側の両方に nvme-cli をインストールしておきます。 # apt install nvme-cli ターゲット側の設定nvmf_tgt を起動した状態で設定を入れていきます。 前回と異なるのは、 nvmf_create_transport と nvmf_subsystem_add

    sh19910711
    sh19910711 2025/08/03
    2022 / "NVMe プロトコルを TCP プロトコル上に流すことでリモートでの利用を可能にしたもの / 一般的な TCP プロトコルを使用しているため専用のスイッチなどを必要としないメリット"
  • 奥が深いメールのシステム / The depth of Email system

    さくらインターネット Labラジ 2024-06-26 での資料

    奥が深いメールのシステム / The depth of Email system
    sh19910711
    sh19910711 2025/07/28
    2024 / "メールはネットワークが常時接続じゃない頃からありその時代で動くように設計され進化してきた / メールの安全性はDNSでもたらされている / DNSが正しい前提になるのでDNSも対策が必要"
  • Linuxの各種仮想ネットワークデバイスにおけるSegmentation Offloadの振る舞い

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

    Linuxの各種仮想ネットワークデバイスにおけるSegmentation Offloadの振る舞い
    sh19910711
    sh19910711 2025/07/28
    2024 / "Linuxがホストの場合, virtio-netのバックエンドには多くの場合tun/tapデバイスが使われ / 特別なヘッダをパケットに付加することでSegmentation Offloadに必要なメタデータをパケットと一緒に送受信する"
  • WebRTCを使って映像配信のキャストを受け付ける - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Androidにはキャストという機能があって、動画や画像を別の映像端末にミラー表示できますよね。 それと同じ機能を実装します。 古くて使わなくなったAndroidタブレットを時計表示にして常時設置しつつ、Androidスマホから動画や画像ファイル、カメラ映像をAndroidタブレットにキャスト表示させます。 キャストする側は、ブラウザで動作させますので、スマホでもいいですし、PCでもいいです。 また、制限事項としては、同じローカルネットワーク内にいる前提です。制限を解こうとすると、中間サーバを立てたりと面倒なので。 技術的には、以下の技

    WebRTCを使って映像配信のキャストを受け付ける - Qiita
    sh19910711
    sh19910711 2025/07/26
    "使わなくなったAndroidタブレットを時計表示にして常時設置 / キャスト側とキャストされる側の間はWebRTCを使って通信 + キャストされる側にWebSocketサーバを立ち上げ"
  • GPUクラスタネットワークとその設計思想(Rethinking AI Infrastructure Part 2)

    こんにちは。LINEヤフーでAIプラットフォームのネットワーク設計を担当している小林と深澤です。この記事ではRethinking AI Infrastructureの連載の第二弾として、LINEヤフーのAIプラットフォームを支えるGPUクラスタネットワークの設計とその考え方について解説します。 この記事が普段GPUクラスタやデータセンターネットワークなどのインフラを扱っている方々に役立つと嬉しいです。 AIのためのネットワーク GPUクラスタのためのネットワークの話をいきなりする前に、この数年の生成AIブームがネットワークインフラにどのような変化をもたらしたのかについて簡単に振り返りたいと思います。私たちはインフラを運用する部門に所属しており、ネットワーク技術の専門家として自社サービスの運営や事業課題の解決に必要な技術を選定・検証し、プロダクションに落とし込み安定運用することに責任を持って

    GPUクラスタネットワークとその設計思想(Rethinking AI Infrastructure Part 2)
    sh19910711
    sh19910711 2025/07/26
    "ネットワークのアーキテクチャや基盤技術の大きな変化は、それ単体ではなく、環境や周辺システムの圧力によって生じる / 「ネットワーク」と「サーバー」のような技術と運用の単純な線引が難しくなった"
  • どれくらい自社ドメインがなりすまされているか、ご存知ですか? | IIJ Engineers Blog

    IIJ ネットワーク部アプリケーションサービス部所属。 メールサービスの運用業務に従事し、日々世界の悪と戦う一児の父親。社内 Power Automate エバンジェリスト(自称)。M3AAWG member / openSUSE Users / WIDE Project メンバー。趣味は大喜利。はがき職人。 企業の情報システム部門でメールを担当されているみなさん、この問いに答えられる方は、どれくらいいらっしゃるでしょうか。 「そんなこと、気にしたこともない」という方も少なくないかもしれません。それもそのはず、これまで送信ドメイン認証を代表する SPF、DKIM は、送信者側が受信者側でどのように評価されたか知る術がありませんでした。ましてや、第三者の何者かが自社ドメインを勝手に使って誰かにメールを送っている、なんて知ることは不可能でした。 しかし、DMARC(RFC 7489;「ディー

    どれくらい自社ドメインがなりすまされているか、ご存知ですか? | IIJ Engineers Blog
    sh19910711
    sh19910711 2025/07/26
    2019 / "レポートを受け取るために必要な記述は rua= の部分 / しばらく眺めていると、月初・月末に出現する傾向や、自社ドメインを詐称して送られる spammer の存在に気付く"
  • P2P通信の標準化 WebRTCを知ろう

    【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~

    P2P通信の標準化 WebRTCを知ろう
    sh19910711
    sh19910711 2025/07/26
    "STUN: UDPで接続して、P2P接続できそうな自分のグローバルIP・ポート番号のリストを返してくれる / QUICベースの新しい規格の策定"
  • Rubyでつくるパケットキャプチャツール

    東京Ruby会議12 前夜祭 「Rubyでつくるパケットキャプチャツール」 のスライド。 #tokyorubykaigi https://connpass.com/event/339170/

    Rubyでつくるパケットキャプチャツール
    sh19910711
    sh19910711 2025/07/26
    "プロミスキャスモード: ネットワークインターフェースの動作モードの一つ + 電気的に受信したすべてのデータを読み込む + 宛先が自分のMACアドレスになっていないフレームも受信"
  • ROS2(C++)とSTMのマイコンでUDP通信をする

    ROSでやってる記事は見たけど、ROS2ではなかったので書くことにしました。(あと自分用備忘録です) 初心者なので、間違っている部分があれば遠慮なく指摘してください。 環境 CPU: Ryzen7 7700x GPU: nVIDIA RTX4070Ti OS: Ubuntu22.04 ROS 2: humble マイコン: stm32 f767zi マイコンはstm32 cubeIDEで開発しました。 なぜUDP通信をするのか UDP通信をする以外の方法 ROS 2でマイコンと通信する方法はいくつかあります。 UDP通信をする以外で思いつくものでいえば、 micro-ROS mros2 USBでPCとマイコンを接続し、通信する あたりでしょうか。 上の2つはマイコン上でROSを走らせることで、通信層を意識せずにマイコン側でROS2のトピックを受け取ることで動作できるため、非常に優秀です。し

    ROS2(C++)とSTMのマイコンでUDP通信をする
    sh19910711
    sh19910711 2025/07/22
    2024 / "USBによる通信は、コネクタがロボットに搭載するには抜けやすいこと、そして通信の安定性などから、選定から外れました"
  • 仕様策定中のプロトコルを Rust で書いてブラウザで動かしてみた

    【増枠】2024年Rust Webアプリ開発の現在 https://findy.connpass.com/event/319829/ で利用した発表資料です。

    仕様策定中のプロトコルを Rust で書いてブラウザで動かしてみた
    sh19910711
    sh19910711 2025/07/20
    2024 / "web-sysクレートを使ってブラウザAPIをRustから呼び出せる様にしたことで、js側のコードが必要最小限になって済んだ"
  • OVS-DPDKとOpenStackで作るおうちNFV環境の構築

    Kernel/VM探検隊 online part2

    OVS-DPDKとOpenStackで作るおうちNFV環境の構築
    sh19910711
    sh19910711 2025/07/10
    2021 / "DPDK対応NIC + Intel NICだと間違いがない / Open vSwitch: マルチレイヤーソフトウェアスイッチ / OVN: OVSを束ねて使うためのソリューション + k8sのCNI Plugin (ovn-kubernetes)"
  • ネットワーク初学者が知っておきたいDNSの基礎知識:負荷分散の仕組み - NRIネットコムBlog

    はじめに DNSはどうやって膨大なトラフィックを処理しているのか DNSにおける階層構造とは 1. ルートDNSサーバ 2. トップレベルドメイン(TLD)DNSサーバ 3. セカンドレベルドメインDNSサーバ DNSの名前解決の流れ ルートDNSサーバの負荷分散 まとめ はじめに こんにちは、新入社員の小筆です。 私は入社した当初、ネットワークについての知識をほとんど持っていませんでした。 しかし業務でAWSを操作する機会があり、サービスの使い方を学ぶ以前にネットワークの根的な仕組みを理解する必要があると感じました。 ネットワークの基礎を勉強していく中で、特に興味を持ったのがDNSでした。 そこで自分が疑問に思ったこと、その答えとなるDNSの仕組みについてまとめることにしました。 DNSはどうやって膨大なトラフィックを処理しているのか インターネット上のあらゆる機器やサービスにはIPア

    ネットワーク初学者が知っておきたいDNSの基礎知識:負荷分散の仕組み - NRIネットコムBlog
    sh19910711
    sh19910711 2025/07/09
    2024 / "情報の管理をトップレベルドメインから下位のサーバへ順に委任していく仕組み / UDPの応答パケットにはサイズ制限があり、この制約に対応するため13という数"
  • GoのWasmでWebRTC P2Pで通信する

    sh19910711
    sh19910711 2025/07/09
    2024 / "DataChannel: WebRTCで文字列・バイナリを通信する仕組み / サーバを介さない通信がGoで書けてブラウザで使える / NATを跨いだP2P通信の際にTURNサーバを経由"
  • GNS3とlibvirtの仮想ネットワークをブリッジ接続する - えんでぃの技術ブログ

    お伝えしたいこと GNS3上に追加した仮想マシンをlibvirtの仮想ネットワークに接続する方法を紹介します。 仮想マシンは、必ずしもQEMU上で動作している必要はありません。 例えば、VPCSのような仮想マシンではないノードも含めてlibvirtの仮想ネットワークに接続し、DHCPIPアドレスを付与したり、ホストマシンと通信させることが可能です。 libvirtネットワークに接続することで、ホストマシンからVMへのSSHや、VMからインターネットへのアクセスが可能となります。 お伝えしたいこと 前提条件 (参考) 前提知識 libvirtの仮想ネットワーク GNS3のCloud node 手順 virbrインターフェース番号を調べる (参考) GNS3上でCloud Nodeを使用する Cloud Nodeの登録 Cloud Nodeの編集 Ethernet interfaces Mi

    GNS3とlibvirtの仮想ネットワークをブリッジ接続する - えんでぃの技術ブログ
    sh19910711
    sh19910711 2025/07/08
    2022 / "仮想マシンではないノードも含めてlibvirtの仮想ネットワークに接続し、DHCPでIPアドレスを付与したり、ホストマシンと通信させることが可能"
  • 【イベント参加レポ】 DNS Summer Day 2025に参加してきました - NIFTY engineering

    はじめに こんにちは。新卒1年目の大村です。 6月27日に開催されたDNS Summer Day 2025に先輩社員2名と共に参加してきました。 その感想をまとめていきます。 DNS Summer Dayとは https://www.dnsops.jp/event20250627.html 今年は日橋のTKPガーデンシティPREMIUMで開催されました。 イベントの概要については、connpassに以下のような記載があります。 DNSは多くの重要な役割を持つ、代替となるものがないインフラサービスとなっています。一方で、DNSの運用については権威側にもリゾルバ側にも十分な関心が払われておらず、必要な予算や人材などもきちんと割り当てられているとは言えない状況が相変わらず継続しています。その状況を鑑み、DNSの基的な話から突っ込んだ話までカバーしたイベントを開催します。 https://dn

    【イベント参加レポ】 DNS Summer Day 2025に参加してきました - NIFTY engineering
    sh19910711
    sh19910711 2025/07/06
    "DNSControl、octoDNSといった”DNS as Code”に関するセッション / DNSには比較的硬派なイメージがありましたが、DNS as Codeと組み合わせて運用することで、そのイメージがかなり変わる"
  • ルーターを風呂場の天井裏に置きたくないので VLAN を使ってみた - エムスリーテックブログ

    エムスリー エンジニアの 矢崎 (id:Saiya) です。 集合住宅では天井高などの都合で 浴室天井裏にルーターが置かれる ケースが少なくないと思うのですが、VLAN を使うことで自由な場所にルーター等を配置できるようにしてみました。その状態で一年ほど運用した限り個人的には満足な結果であったため、自分のための備忘録も兼ねて記事にしてみました。 浴室天井裏とルーター 集合住宅の場合、光ファイバーが個別の部屋に引かれていることは稀*1であり、光ファイバーは建物全体で共有し、そこから LAN ケーブルなどとして各部屋へ分配されることが多いです*2。その場合、ユニットバスの天井と部屋全体の天井の間に隙間があるために、浴室の天井裏に配線や支給品のルーター*3が配置されることが少なくありません。 しかし、筆者は自前のルーター機材を色々試して遊ぶといった趣味があるのですが、浴室天井裏に自前の機材を配置

    ルーターを風呂場の天井裏に置きたくないので VLAN を使ってみた - エムスリーテックブログ
    sh19910711
    sh19910711 2025/07/06
    2018 / "物理的に 1 つの LAN ケーブルに 2 つの異なる LAN を通す / ポート VLAN および タグ VLAN (IEEE 802.1Q) に対応するスイッチが必須"
  • RFC9001 A.2. Client Initial のQUICパケットの暗号化とQUICヘッダーの保護をやってみる - neko--suki’s blog

    今回は、RFC9001 A.2. Client Initial にある、QUICのパケットの暗号化と、QUICヘッダ―の保護のサンプルを実際に行ってみます。 このサンプルでは、Initialパケットの暗号化とヘッダーの保護のサンプルを提示しています。 記事では、最初にQUICパケットの暗号化とQUICヘッダーの保護がどのように行われているかを確認し、そのあとに実装を説明します。 Initialパケットのヘッダーは以下のようになっています。 c300000001088394c8f03e5157080000449e00000002 Initialパケットのペイロードは以下のようになっています。ここはCRYPTOフレームしか含まれていませんが、この後に1162バイトになるまでPADDINGフレームが含まれます。 060040f1010000ed0303ebf8fa56f129 39b9584a

    RFC9001 A.2. Client Initial のQUICパケットの暗号化とQUICヘッダーの保護をやってみる - neko--suki’s blog
    sh19910711
    sh19910711 2025/06/11
    2022 / "QUICパケットの暗号化とQUICヘッダーの保護がどのように行われているか / AEAD: シークレットキーK、ナンスN、プレインテキストP、関連データAを入力に取ります。 そして、暗号化されたテキストCを出力"
  • Rustでサーバーいらずのオンラインゲームを作ろう

    はじめに 今回はP2P通信を使用してサーバーいらずの対戦型ブロック崩しを作ったので、その紹介と解説をします。 記事を書いた時点でのソース 概要 Bevyで制作したゲームです。 ホストになり表示されたIDを相手に送り、入力してもらうと対戦が開始します。 特徴としてシグナリングサーバーが不要で、 さらにGitHub Pagesにデプロイすればpeer間で通信しているだけなので完全無料でサービスを提供することができます。 https://yadokani389.github.io/online-breakout/ このリンクから遊ぶことができます! 技術スタック それぞれ軽く説明します。 Bevy Rust製のゲームエンジンです。 特徴はECSシステムと、ソースコードで完結していることです。 個人的にマウスとGUIアプリはあまり好きではないので好きなポイントです。 Bevy自体にはオンラインゲー

    Rustでサーバーいらずのオンラインゲームを作ろう
    sh19910711
    sh19910711 2025/06/07
    "Matchboxを使い、WebRTCで2つのブラウザ間のUDPのような接続を実現 / シグナリングサーバーを使わずに、irohを使ってピア同士でハンドシェイク"
  • APIが遅いと思っていたら、GCPのCloudNATでパケロスしていた話 - Uzabase for Engineers

    導入 問題の発覚 動的ポート割り当ての落とし穴 監視とアラート 導入 こんにちは、Product Team SREのkterui9019です。 今回はGCPのCloudNATについての調査結果を共有したいと思います。CloudNATを利用している中で気づかないうちに実はパケットロスが発生していたので、詳細をご紹介します。 問題の発覚 私たちはお客様からの問い合わせを受けて、GKEにデプロイされている特定のマイクロサービスの「遅いエンドポイント」について調査を行っていました。 Datadogのトレースを追っていく中で、GCPVPC外へのAPIアクセスがタイムアウトしていることが判明しました。しかし、VPC外のAPI自体は数ミリ秒でレスポンスを返していたのです。 APIのレスポンスが終わっているのに呼び出し元の関数が異常に長いスパンになっていた この問題はネットワークに関連する可能性が高いと

    APIが遅いと思っていたら、GCPのCloudNATでパケロスしていた話 - Uzabase for Engineers
    sh19910711
    sh19910711 2025/05/31
    2023 / "CloudNATのモニタリング指標を調査してみると、「OUT_OF_RESOURCES」というエラーが散発的に発生 / NAT IPアドレスまたはポートが不足 / アラートを設定しておくことをおすすめ"