タグ

networkに関するhideokiのブックマーク (21)

  • TCP mss size problem

    FreeBSD の不適切な MSS に関する問題 背景 path MTU discovery と blackhole router 始めに path MTU discovery について簡単に説明しておきます。 path MTU discovery は 2 点間を結ぶ経路の最小の MTU を求めることです。 このサイズ以下のパケットであれば フラグメンテーションが発生することなく、 効率の良い通信ができるということになります。 path MTU discovery は以下のような手順で行なわれます。 フラグメント禁止のフラグをつけて TCP パケットを送る。 途中経路のルータが ICMP エラーを返してくる。このメッセージには 通過できなかった経路の MTU 情報が含まれている。 送信するパケットのサイズを教えてもらった MTU のサイズにあわせて 送り直す。 これを繰り返せば、経路の最小

  • Next Generation Network - Wikipedia

    Next Generation Network(NGN、次世代ネットワークまたは次世代網)とは、FMCと呼ばれる固定・移動体通信を統合し、トリプルプレイ(Triple Play)と呼ばれる、電話・データ通信・ストリーミング放送が融合したマルチメディアサービスを実現する、インターネットプロトコル技術を利用する次世代電話網である。 グラハム・ベルによる電話機の発明以来、電話網において音声を目的の場所まで伝送するには回線交換が使用されてきた。それに対してデータ通信を主な目的とするインターネットにおいてはパケット交換が使用されている。 2000年頃まで音声通信の需要のほうがデータ通信よりも優勢であったが、2000年代よりデータ通信の需要が増加し音声通信トラフィックは減少してきている。他方、パケット通信網にてリアルタイム通信をおこなう技術が発展し、回線交換網の機器を新規開発・維持するよりも全てをパケ

  • RFC 4459 - MTU and Fragmentation Issues with In-the-Network Tunn (RFC4459)

  • Cacti® - The Complete RRDTool-based Graphing Solution

    About Cacti Cacti provides a robust and extensible operational monitoring and fault management framework for users around the world. Is also a complete network graphing solution designed to harness the power of RRDTool's data storage and graphing functionality. Cacti includes a fully distributed and fault tolerant data collection framework, advanced template based automation features for Devices,

  • Intel Gigabit Performance - NuclearCat's homepage

  • tcpdumpとiptablesの関係 - (ひ)メモ

    追記 2009-04-03 まったくもってブコメでいただいた指摘の通りです>< h2onda linux, tcpdump tcpdump(というかlibpcap)は、データリンク層(OSI layer2)レベルでパケットを取得する packet プロトコルを使ってるので、そうなります。参照: man packet(7) 2009/04/02 はてなブックマーク - h2ondaのブックマーク / 2009年4月2日 tt_clown network 細かいけど,図は逆(NIC が下)のが良いかなと思った./ "ip"tables と言う位だから,IP層でパケットをフィルタしてるて事だろうな.tcpdumpはEthernet Frameも見えるので,後は分かるな?・・・てとこか. 2009/04/02 はてなブックマーク - tt_clownのブックマーク / 2009年4月2日 pack

    tcpdumpとiptablesの関係 - (ひ)メモ
  • Re はやいTCPサーバの書き方 - kazuhoのメモ置き場

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ について、いくつか気になった点があったので。 Nagleアルゴリズムは、相手側のACK送信をまとめてくれるものです。これは、下記の様にアプリケーション側でパケットを意識した処理を行っている場合、邪魔になることがあります。 違うと思います。自分の理解では、Nagle アルゴリズムは、ACK を受信していないデータがある場合に、次のパケットを送信しない、というものです。RFC896 から引用すると、 The solution is to inhibit the sending of new TCP segments when new outgoing data arrives from the user if any previously transmitted data on the connection remains unackn

    Re はやいTCPサーバの書き方 - kazuhoのメモ置き場
  • はやいTCPサーバの書き方 - nyaxtのPC作業ログ

    cagra高速化にあたってのノウハウを一部公開してみます。また明日校正/更新します。つっこみ待ちです。 select(2)の代わりにepoll_wait(2), kqueue, /dev/epoll等を使う 他に山ほど解説ページがあるので略 大量のディスクリプタを処理するようなサーバの場合、多少効果があるかもしれません。しかし、クライアント数が少ない場合、劇的な性能の向上は見込めないとおもいます。クライアント数が多い場合は、1セッション1スレッドなモデルではOS側のタスクスイッチングのオーバーヘッドが効いてくることも多いです。クライアント数を増やすには複数のセッションを1スレッドで処理できるようにすると良いです。実装にあたっては、non-blocking ioを活用すると効果的です。 TCP_NODELAYを設定する Nagleアルゴリズムをオフにします。多少応答性が良くなります。 これっ

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ
  • はやいTCPサーバを書く際に忘れがちなこと - kazuhoのメモ置き場

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ で id:nyaxt さんが書いてらっしゃるように、 epoll や kqueue を使う TCP_NODELAY, TCP_DEFER_ACCEPT *1 等を活用する TCP パケットを意識する I/O システムコールの回数を最小にする sendfile といったあたりは、確実にやるべきことだと思います。一方で、TCP 関連以外のオーバーヘッドが実は結構あって、 接続のタイムアウト処理 ログの出力 メモリの確保や解放をやらない あたりにも気を配る必要がある、と思います。 接続のタイムアウト処理については、以前 Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件 に書いたように、ビットアレイのリングバッファを使うのがベストだと思います。 ログの出力について、複数行を1回のシステムコールにまとめてもいいかど

    はやいTCPサーバを書く際に忘れがちなこと - kazuhoのメモ置き場
  • 「イーサネットは100Gビット/秒市場を独占できない」、米調査会社が報告 ― EE Times Japan

    イーサネットは現在、1Gビット/秒を下回るネットワークに向けたデータ通信技術として最も広く普及している。しかも、40Gビット/秒や100Gビット/秒の次世代イーサネットが近く実現される見込みだ。ところが、市場調査会社の米Freesky Research社が発表した次世代イーサネットに関する調査レポートによれば、数Gビット/秒対応のネットワークにおいては、イーサネット技術が主流を占めることはないという。 同レポートは、データ・センターやコア・ネットワーク・システムに向けて新しく策定された40Gビット/秒や100Gビット/秒の次世代イーサネット規格に対する期待が高まる中で発表された。このレポートの著者であるDavid Gross氏は、「こうした大容量データを扱う分野では、次世代イーサネット規格はファイバ・チャネルやInfiniBand、SONETといったほかの通信方式と市場を分け合うことに

  • http://www.linux-l7sw.org/

  • The ADAPTIVE Communication Environment (ACE)

    I'm teaching a free online course on patterns and frameworks for concurrent and networked software for Coursera. Introductory video to my Coursera course on patterns and frameworks for concurrent and networked software

  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

  • Linux 2.4 NAT HOWTO: 同一ネットワーク上での宛先 NAT

  • PCI ExpressデバイスをEthernetで接続 NECが次世代インタフェース

    NECは12月6日、PCI ExpressとEthernetを統合する次世代インタフェース「ExpEther」(エクスプレスイーサ)を開発したと発表した。PCI ExpressのデータをEthernetに載せ替えて転送できるのが特徴で、内部バス接続をLAN接続した他の装置に延長でき、システムの拡張性を高めることができるという。 PCなどの内部システムバスとして使われているPCI ExpressをEthernet(1Gbps/10Gbps)に載せ替えて転送するブリッジエンジンを開発した。 EthernetによるPCI Expressデバイスの接続が可能なトンネリング機能では、Ethernet上の転送遅延を隠ぺいする技術により、LAN上でも利用可能という。PCI Expressデバイスのホットプラグにも対応し、負荷に応じて機器の追加が可能になっている。 内部バスとして使われるPCI Expre

    PCI ExpressデバイスをEthernetで接続 NECが次世代インタフェース
  • Linux Advanced Routing & Traffic Control HOWTO

    Table of Contents1. 献辞2. はじめに2.1. 免責およびライセンス2.2. 事前に必要な知識2.3. Linux にできること2.4. この文書の管理についてのメモ2.5. 取得、CVS およびアップデートの投稿2.6. メーリングリスト2.7. この文書の構成3. iproute2 入門3.1. なぜ iproute2 なのか?3.2. iproute2 の概略3.3. 事前の必要条件3.4. 現在の設定を調べてみる3.5. ARP4. Rules - ルーティングポリシーデータベース4.1. 簡単なソースポリシールーティング4.2. 複数のアップリンク/プロバイダに対するルーティング5. GRE トンネル、その他のトンネル5.1. トンネルに関する一般的な事柄5.2. IP in IP トンネリング5.3. GRE トンネリング5.4. ユーザランドのトンネル6.

  • TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと

    TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと 目次 この文書について C10K 問題 関連サイト まず読むべき I/O フレームワーク I/O 戦略 1. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と レベル・トリガ型の完了通知を利用する. 伝統的な select() 伝統的な poll() /dev/poll kqueue() 2. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と 変更型の完了通知(readiness change notification)を利用する. kqueue() epoll リアルタイム・シグナル fd 単位のシグナル (Signal-per-fd)

  • VLANの基本的な仕組みを攻略する

    VLANの目的とは? VLANとは“Virtual LAN”の意味だが、実際には「仮想サブネット」といい換えた方がイメージしやすいかもしれない。一般にVLANという場合、スイッチの内部で複数のネットワークに分割する機能のことを指す。すでに定着した技術だが、無線LANの利用拡大やVoIPのような新しいネットワーク・アプリケーションの普及、セキュリティに対する関心の高まりなどの理由により、最近あらためて注目されている。ここでは、VLANの基的な知識を再確認し、その実情を把握する一助としたい。 VLANの使用目的は、「ネットワークを任意に分割する」ことである。「EthernetはCSMA/CD方式のネットワークなので、ノードが増えると急速にパフォーマンスが劣化する」というのは、技術的にはいまでも同じだが、利用の現実からするともう過去の話になったといっても過言ではないだろう。シェアードハブの利用

    VLANの基本的な仕組みを攻略する
  • DSAS開発者の部屋:いかにして冗長構成を作るか 〜DSASの場合〜

    DSASはいかにして可用性を高めているか、ちょっと紹介したいと思います。 今回は概略ということでざざざっと説明します。個別の構成についてはまた回を改めて紹介したいと思います。 │ │ ┌┴┐ ┌┴┐ │ │ │ │ISPの上位ルータ └┬┘ └┬┘ │ │ 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 責任分解点 │ │ ┌┴┐ ┌┴┐ │ ├─[ lb(active) ]─┤ │ │ ├─[ lb(backup) ]─┤ │ │ │ │ │ │L2├─[ Web ]─┤L2│ │SW├─[ Web ]─┤SW│ │ ├─[ Web ]─┤ │ │ │ │ │ │ ├─[ SMTP ]─┤ │ │ ├─[ SMTP ]─┤ │ │ │ │ │ │ ├─[ D B ]─┤ │ │ ├─[ D B ]─┤ │ │ │ │ │ │ ├─[ NFS ]─┤ │ │ ├─[ NFS ]─┤ │ │ │ │ │

    DSAS開発者の部屋:いかにして冗長構成を作るか 〜DSASの場合〜
  • ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ネットワーク編)

    尾藤正人です。 前回のエントリ ベンチャー流サーバ構築のススメ(ハードウェア編) では多くのコメント、トラックバック、ブックマークをしていただきました。ありがとうございます。僕自身多くのことで勉強になりましたし、新たな発見もありました。 技術は公開、共有して発展するものだと思っていますので、自分の無知をさらけ出すのを恐れずにいろいろ公開して、自分自身も成長していければと思っています。 今回はサーバ構築するときのトピックとして、どのようにネットワークを構築したかを書いてみます。 サーバ構築に限ったことではありませんが、重要なのは質を下げずにコストを下げることです。ネットワーク部分でお金がかかるのは回線ぐらいですから、ネットワーク周りで重要なのは人的コストを下げること、つまり管理コストを下げることです。 ・回線は2回線以上用意する 2回線以上用意するのは高可用性を確保するためです。通常は全ての