今日は技術ネタです。

あるシステムで最大いくつまでのTCP/IP接続を通せるのかを確認しようとすると、実は結構大変なものです。

【接続する側が困る】
ひたすらどんどん接続するプログラムを作ればいけそうな気がしますが、一つのIPアドレスから接続できるのは、ポート番号の数:65535個までです。それ以上つなごうとすると、仮想IPアドレスを割り当てて、送信元IPアドレスを複数個使う必要があります。
また、1プロセスでどんどん接続していくと、こんどは同時使用ディスクリプタ数の制限に引っかかります。

【受ける側も困る】
受ける側も、同時使用ディスクリプタ数やスレッド数の制限に引っかかります。

【どうするか?】
ディスクリプタ数やスレッド数の限界を調整するには、カーネルパラメータなどをいじればいいのですが、結構大変ですし、それでも上限はあります。
こういうときには、TCP/IPを真似てしまう方法が良いものです。私の大好きなリンクレイヤーソケットを使えば、どんなイーサーフレームのパケットでも送受信できます。

・受付プログラム
リンクレイヤーで飛んできたパケットをキャプチャし、対象のIPアドレス・ポート番号のSYNフラグの立ったパケットに対し、SYN+ACKパケットを応答するプログラムを作ればOKです。ただし、対象のポート番号を受け付ける本物のプログラムがいないと、カーネルがRSTパケットを返してしまうので、対象のポート番号はパケットフィルターで通過させないようにしておきます。linuxならiptablesを使えば簡単にできます。

・接続プログラム
リンクレイヤーでSYNパケットを宛先のMACアドレス・IPアドレス・ポート番号宛に送信し、SYN+ACKパケットが戻ってきたら、ACKを返す、というプログラムを作ればOKです。こちらもカーネルがRSTを返してしまうので、パケットフィルタで対象のポート番号のパケットは通過させないようにしておきます。

こうすると、受付側・接続側ともに、OSリソースなどはほとんど使わずに、ひたすら接続するテストができます!

ただし、この状態だと切断ができないので、まじめにやるなら、どちらかが一定時間経ったらRSTパケットでも送信すると丁寧です。

このような無茶なテストをすると、実は意外とファイアーウォールやルーターなどはひどい状態になってしまうものもあるものなのです。自分でルーターやフィルターなどを作る際にはこのような確認をしておくと、リリース時に胃が痛くなりません。

komata

Special

- PR -
コメント

コメントを投稿する
メールアドレス(必須):
URL:
コメント:
トラックバック

http://app.blogs.itmedia.co.jp/t/trackback/77444/28984915

トラックバック・ポリシー


» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

<!-- include:/komata/profile_name.html -->小俣 光之<!-- dolphin=1 --><!-- /include:/komata/profile_name.html -->

小俣 光之

日本シー・エー・ディー株式会社社長・プログラマー・ライター。多趣味で話し好きで説教臭い。

詳しいプロフィール

Special

- PR -
最近のコメント
最近のトラックバック
カレンダー
2013年10月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
カテゴリー
エンタープライズ・ピックアップ

news094.gif 顧客に“ワォ!”という体験を提供――ザッポスに学ぶ企業文化の確立
単に商品を届けるだけでなく、サービスを通じて“ワォ!”という驚きの体験を届けることを目指している。ザッポスのWebサイトには、顧客からの感謝と賞賛があふれており、きわめて高い顧客満足を実現している。(12/17)

news094.gif ちょっとした対話が成長を助ける――上司と部下が話すとき互いに学び合う
上司や先輩の背中を見て、仕事を学べ――。このように言う人がいるが、実際どのようにして学べばいいのだろうか。よく分からない人に、3つの事例を紹介しよう。(12/11)

news094.gif 悩んだときの、自己啓発書の触れ方
「自己啓発書は説教臭いから嫌い」という人もいるだろう。でも読めば元気になる本もあるので、一方的に否定するのはもったいない。今回は、悩んだときの自己啓発書の読み方を紹介しよう。(12/5)

news094.gif 考えるべきは得意なものは何かではなく、お客さまが高く評価するものは何か
自社製品と競合製品を比べた場合、自社製品が選ばれるのは価格や機能が主ではない。いかに顧客の価値を向上させることができるかが重要なポイントになる。(11/21)

news094.gif なんて素敵にフェイスブック
夏から秋にかけて行った「誠 ビジネスショートショート大賞」。吉岡編集長賞を受賞した作品が、山口陽平(応募時ペンネーム:修治)さんの「なんて素敵にフェイスブック」です。平安時代、塀に文章を書くことで交流していた貴族。「塀(へい)に嘯(うそぶ)く」ところから、それを「フェイスブック」と呼んだとか。(11/16)

news094.gif 部下を叱る2つのポイント
叱るのは難しい。上司だって人間だ、言いづらいことを言うのには勇気がいるもの。役割だと割り切り、叱ってはみたものの、部下がむっとしたら自分も嫌な気分になる。そんな時に気をつけたいポイントが2つある。(11/14)

news094.gif 第6回 幸せの創造こそ、ビジネスの使命
会社は何のために存在するのでしょうか。私の考えはシンプルです。人間のすべての営みは、幸せになるためのものです――。2012年11月発売予定の斉藤徹氏の新著「BE ソーシャル!」から、「はじめに」および、第1章「そして世界は透明になった」を6回に分けてお送りする。(11/8)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。


サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ