並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 18 件 / 18件

新着順 人気順

TCPの検索結果1 - 18 件 / 18件

  • 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プロトコル サーバー
      • 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
        • レイテンシ(遅延)とスループット(帯域幅)と帯域幅遅延積 - Qiita

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

            レイテンシ(遅延)とスループット(帯域幅)と帯域幅遅延積 - Qiita
          • WindowsのChromeやEdgeでネットにつながりにくくなる現象、一部の家庭用ルーターが原因かも? DNSの“TCPクエリ”うまく扱えない機種も存在。ChromeのTCPクエリ送信が引き金に

              WindowsのChromeやEdgeでネットにつながりにくくなる現象、一部の家庭用ルーターが原因かも? DNSの“TCPクエリ”うまく扱えない機種も存在。ChromeのTCPクエリ送信が引き金に
            • 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(アンビ)
              • 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の覚書
                  • ICANN、プライベートネットワークで使うための公式トップレベルドメイン「.INTERNAL」を提案

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

                      ICANN、プライベートネットワークで使うための公式トップレベルドメイン「.INTERNAL」を提案
                    • Linuxの各種仮想ネットワークデバイスにおけるSegmentation Offloadの振る舞い

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

                        Linuxの各種仮想ネットワークデバイスにおけるSegmentation Offloadの振る舞い
                      • 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
                          • 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を書いた - 時計を壊せ
                            • 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より先に生まれていた
                              • (小ネタ)NLBへ疎通確認する時はレイヤ4(トランスポート層)のコマンドを使用してほしい | DevelopersIO

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

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

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

                                    • 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 网络框架。
                                      1