2012年5月26日土曜日

バッファオーバーフローの抑止、回避

とかプログラムの話でないのかー!!

ということですが、そういうことです。ハイ


http://itpro.nikkeibp.co.jp/members/ITPro/SEC_CHECK/20020920/1/

仕事量の話で、プログラマさんがデータの長さを計算して

バッファ領域を管理しているように、

仕事の量、も仕事の長さを計算して

バッファ領域を管理しないと、溢れてしまい、

あらゆるところにあふれ出しますよぅ。

というたとえのお話。

「くんだらねぇ!」

おっしゃるとおり!タダの戯言ですから。

でもねー、仕事の長さって、計算できる領域と計算できない領域があるから

出来ない領域を事前に「織り込む」ということと、事前に予防できるイレギュラー部分を

減らす「標準化」「人員配置、見極め」「情報共有、調整」を行うこと。ときれいごとを再度

の た ま う 。

「期限あんだろ!」

そ、そうなんです、上記の2つのきれいごとを処理していたとしても、


期日を考えるとタイト!

というオチになる。。

うーん。

そいでも週1日はこういう、反省時間、調整時間、全体計画時間をぶっこんで

「作業しない日」を予定に入れないと、長い目では前に転がれないよ、

と思います。


2012年5月19日土曜日

WINDOWS7のマシンでNETWORKが

WINDOWS7のマシンでNETWORKが不安定?

な気がしたので検索して修正、6MBPS=>が20MBPSになった?


のですが、、

設定いろいろしたが、何が何だか。。



NICを買い替え、HUBを買い替え、ルータを買い替えると

1万円コースなんで、、

設定で回避できればいいなと思い

やってみた。



netstat -s

エラーが出ていたが、今はない
-------------------------------

ファイル名を指定して実行=>CMD=>コマンドプロンプト
(WINDOWSキー+R)

C:\Users\**>netstat -s


IPv4 統計

  受信したパケット                 = 612642
  受信したヘッダー エラー          = 0
  受信したアドレス エラー          = 2
  転送されたデータグラム           = 0
  受信した不明プロトコル           = 0
  受信後に破棄されたパケット       = 15
  受信後に配信されたパケット       = 614390
  出力要求                         = 5938842
  ルーティング破棄                 = 0
  破棄された送信パケット           = 0
  ルートのない送信パケット         = 56
  再構築が必要                     = 0
  再構築                           = 0
  再構築エラー                     = 0
  正常に断片化されたデータグラム   = 0
  断片化できなかったデータグラム   = 0
  作成された断片                   = 0

IPv6 統計

  受信したパケット                 = 11
  受信したヘッダー エラー          = 0
  受信したアドレス エラー          = 0
  転送されたデータグラム           = 0
  受信した不明プロトコル           = 0
  受信後に破棄されたパケット       = 0
  受信後に配信されたパケット       = 452
  出力要求                         = 609
  ルーティング破棄                 = 0
  破棄された送信パケット           = 0
  ルートのない送信パケット         = 8
  再構築が必要                     = 0
  再構築                           = 0
  再構築エラー                     = 0
  正常に断片化されたデータグラム   = 0
  断片化できなかったデータグラム   = 0
  作成された断片                   = 0

ICMPv4 統計

                            受信    送信
  メッセージ                  42          0
  エラー                    0           0
  宛先到達不可              42          0
  時間超過                  0           0
  パラメーター異常            0           0
  送信元抑制                0           0
  リダイレクト              0           0
  エコー応答                0           0
  エコー                    0           0
  タイムスタンプ            0           0
  タイムスタンプ応答        0           0
  アドレス マスク           0           0
  アドレス マスク応答       0           0
  ルーター要請             0           0
  ルーター アドバタイズ    0           0

ICMPv6 統計

                            受信    送信
  メッセージ                  11          24
  エラー                    0           0
  宛先到達不可              0           0
  大きすぎるパケット       0           0
  時間超過                  0           0
  パラメーター異常            0           0
  エコー                    0           0
  エコー応答                0           0
  MLD クエリ               0           0
  MLD レポート             0           0
  MLD 終了                 0           0
  ルーター要請             0           21
  ルーター アドバタイズ    11          0
  近隣要請                 0           3
  近隣アドバタイズ         0           0
  リダイレクト              0           0
  ルーター番号再設定       0           0

IPv4 の TCP 統計

  アクティブ オープン              = 729
  パッシブ オープン数                = 354
  失敗した接続試行数               = 1
  リセットされた接続               = 82
  現在の接続                       = 92
  受信したセグメント               = 5933928
  送信したセグメント               = 5618641
  再送信されたセグメント           = 904

IPv6 の TCP 統計

  アクティブ オープン              = 3
  パッシブ オープン数                = 1
  失敗した接続試行数               = 2
  リセットされた接続               = 0
  現在の接続                       = 0
  受信したセグメント               = 27
  送信したセグメント               = 23
  再送信されたセグメント           = 4

IPv4 の UDP 統計

  受信したデータグラム    = 319220
  ポートなし              = 15
  受信エラー              = 0
  送信したデータグラム    = 319234

IPv6 の UDP 統計

  受信したデータグラム    = 267
  ポートなし              = 0
  受信エラー              = 0
  送信したデータグラム    = 467

-------------------------------


ネットワークアダプタのレしるしは、ip4以外は無効にしている。。

なんとなくipV6は不安定な気がするから

コンピュータ=>ネットワーク=>右クリック=>プロパティ

=>アダプターの設定の変更=>ローカルエリア接続=>右クリック


プロパティ=>の項目の話です

TCP/IPV4

以外を無効、、あと私は仮想アダプタを使用しているので、それは有効にしてみた。。


-------------------------------
あとは上記のURLのサイトを参考にして、


SNPの設定を無効にしてみた。

コマンドプロンプト

-------------------------------
■設定前
C:\Users\>netsh int tcp show globa
アクティブ状態を照会しています...

TCP グローバル パラメーター
----------------------------------------------
Receive-Side Scaling 状態              : enabled
Chimney オフロード状態                 : automatic
NetDMA 状態                            : enabled
Direct Cache Acess (DCA)               : disabled
受信ウィンドウ自動チューニング レベル  : normal
アドオン輻輳制御プロバイダー           : none
ECN 機能                               : disabled
RFC 1323 タイムスタンプ                : disabled

----------------------------------------------
■設定後
C:\Users>netsh int tcp show globa
アクティブ状態を照会しています...

TCP グローバル パラメーター
----------------------------------------------
Receive-Side Scaling 状態              : disabled
Chimney オフロード状態                 : disabled
NetDMA 状態                            : disabled
Direct Cache Acess (DCA)               : disabled
受信ウィンドウ自動チューニング レベル  : normal
アドオン輻輳制御プロバイダー           : none
ECN 機能                               : disabled
RFC 1323 タイムスタンプ                : disabled
-------------------------------


つまり
Receive-Side Scaling 状態              : enabled
Chimney オフロード状態                 : automatic
NetDMA 状態                            : enabled

を無効にしたんですが、こいつらはなんぞね?という部分
Receive-Side Scaling 状態  
netsh int tcp set global chimney=disabled

Chimney オフロード状態     
netsh int tcp set global rss=disabled

NetDMA 状態             
netsh int tcp set global netdma=disabled


の手順で無効化は可能ですがー

コマンドを間違えたら、親切にワラワラ出てきた。。

chimney

rss


netdma

を無効化。。
http://blogs.technet.com/b/jpntsblog/archive/2010/03/23/scalable-networking-pack.aspxhttp://itpro.nikkeibp.co.jp/article/COLUMN/20100824/351391/?rt=nocnt

によると

chimney

rss


netdma

ハードにネットワーク処理を分担させるのがSNP,,

ということは低性能カニNICをしようしている人にとっては。。

効率化、負荷軽減、高速化。。。

素敵な言葉がもりもり。。なのに。。


あ、あれ、、、

http://naonao71.wordpress.com/2012/02/10/windows-server-2008-r2-%E5%B0%8E%E5%85%A5%E5%BE%8C%E3%81%AB%E8%A1%8C%E3%81%86%E3%81%B9%E3%81%8D%E8%A8%AD%E5%AE%9A%EF%BD%9Enetwork%E7%B7%A8/

SNPに対応したNICおよびドライバが必要。。。

NICの物理というかトランスポートというか、そういう部分にプロトコルの処理分散?

をさせているイメージだから、当然NIC(ネットワークカード)の性能に依存する。。


マシンのNICは当然ばらばら。。ドライバもばらばら。。。

https://www.google.co.jp/search?ix=acb&sourceid=chrome&ie=UTF-8&q=NetDMA+%E7%8A%B6%E6%85%8B

-------------------------------
C:\Users\n>netsh interface tcp set global
このコマンドの構文が無効です。ヘルプで正しい構文を参照してください。

使用法: set global [[rss=]disabled|enabled|default]
              [[chimney=]disabled|enabled|default]
              [[autotuninglevel=]
                disabled|highlyrestricted|restricted|normal|experimental]
             [[congestionprovider=]none|ctcp|default]
             [[netdma=]disabled|enabled|default]
             [[dca=]disabled|enabled|default]
             [[ecncapability=]disabled|enabled|default]
             [[timestamps=]disabled|enabled|default]

パラメーター:

       タグ           値
       rss             - 次のいずれかの値を指定します:
                         disabled: Receive-Side Scaling を無効にします。
                         enabled : Receive-Side Scaling を有効にします。
                         default : Receive-Side Scaling をシステムの既定値
                                  に戻します。
       chimney         - 次のいずれかの値を指定します:
                         disabled: Chimney オフロードを無効にします。
                         enabled : Chimney オフロードを有効にします。
                         automatic: パフォーマンス ヒューリスティック
                                  を使用して Chimney オフロードを有効にします。
                         default : Chimney オフロードの状態をシステムの既定値
                                  に戻します (automatic)。
       autotuninglevel - 次のいずれかの値を指定します:
                         disabled: 受信ウィンドウを既定値に修正します。
                         highlyrestricted: 受信ウィンドウの既定値を
                             少しだけ超えて拡大できるようにします。
                         restricted: いくつかのシナリオで制限されますが、
                             受信ウィンドウの既定値を越えて拡大できるよう
                             にします。
                         normal: 受信ウィンドウをほとんどすべてのシナリオに
                             合わせて拡大できるようにします。
                         experimental: 受信ウィンドウを極端なシナリオにも
                             合わせて拡大できるようにします。
       congestionprovider - 次のいずれかの値を指定します:
                         none: ビルトインの標準の輻輳回避アルゴリズム
                             を使用します。
                         ctcp: アドオンの複合 TCP 輻輳回避アルゴリズム
                             を使用します。
                         default: 選択したプロバイダーをシステムの既定値
                             に戻します。
       netdma          - 次のいずれかの値を指定します:
                         disabled: TCP/IP による NetDMA の使用を無効にします。
                         enabled : TCP/IP による NetDMA の使用を有効にします。
                         default : 状態をシステムの既定値 (有効) に
                             戻します。
       dca             - 次のいずれかの値を指定します:
                         disabled: NetDMA の使用時に Direct Cache Access を
                             無効にします。
                         enabled : NetDMA の使用時に Direct Cache Access を
                             有効にします。
                         default : 状態をシステムの既定値 (無効) に戻します。
       ecncapability   - 次のいずれかの値を指定します:
                         disabled: ECN 機能を無効にします。
                         enabled : ECN 機能を有効にします。
                         default : 状態をシステムの既定値に戻します。
       timestamps      - 次のいずれかの値を指定します:
                         disabled: RFC 1323 タイムスタンプを無効にします。
                         enabled : RFC 1323 タイムスタンプを有効にします。
                         default : 状態をシステムの既定値に戻します。

注釈: すべての接続に影響する TCP パラメーターを設定します。

例:

       set global enabled enabled normal
       set global rss=enabled chimney=enabled autotuninglevel=normal

https://www.google.co.jp/search?ix=acb&sourceid=chrome&ie=UTF-8&q=netsh+int+tcp+show+globa

-------------------------------

-------------------------------
もうひとつが、

netsh interface tcp set global autotuninglevel=highlyrestricted



TCPのウィンドウサイズ自、自動?チューニング。。

あぶねぇ機能だな7さん。。
しかもVISTA時代からオフィシャルで変更方法公開だし。。



2012年5月12日土曜日

TELNET NETSTAT PING

TELNET NETSTAT PING

確認するのが仕事なんで、こういうコマンドを打つことが多い。。

で、検索すると。
https://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=TELNET+NETSTAT+PING


穏やかでない扱いのページが出てくる。

tracertはサポート切れているからdigとかがいいとか、

理屈はしれど、今いちわかっていないのです。

pingはICMPで飛ばすーとか。

マシン、NIC、OSとの死活確認とかー

通信の安定度?とかー

netstatはおい!どいつとつながってんの?とかー


http://www.atmarkit.co.jp/fnetwork/netcom/netstat/netstat.html


オプションはいろいろあるねー

わたしは netstat -anoが好き、プロセス見れるから

eはNICの健康状態見れるかもだねー

LINUXならps して対象プロセスID拾ってから


#netstat -anop | grep (PID)

すかねー


telnet

http://www.atmarkit.co.jp/fwin2k/win2ktips/231telnetcmd/telnetcmd.html


あんま難しいことはしてない、telnet (IP) (ポート)

つながるー、つながらなーい

レベル。。当然先方のTCPポートがOSのFWで開放されていること、

対象のアプリが起動し、netstatすると対象のポートでLISTENしていることが前提。


中間の通信機器のポートの開放も当然、ぜ ん て い


とえらそうにいっているが、良くわかっていない。。



名前の解決部分の理解が足りない。ここのサイトは参考になる


http://www.soi.wide.ad.jp/class/20010011/slides/12/index_15.html


PING IPで行いレイヤ3以下でないと切り分け

レイヤ3(インターネット層、ネットワーク層)


http://tsukamoto.tumblr.com/post/4544382814

-------------------------------

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\o>ipconfig /all

Windows IP 構成

   ホスト名 . . . . . . . . . . . .
   プライマリ DNS サフィックス . . . . . . . :
   ノード タイプ . . . . . . . . . . . . : ハイブリッド
   IP ルーティング有効 . . . . . . . . : いいえ
   WINS プロキシ有効 . . . . . . . . : いいえ

イーサネット アダプター ローカル エリア接続:

   接続固有の DNS サフィックス . . . :
   説明. . . . . . . . . . . . . . . : Realtek RTL8168B/8111B Family PCI-E Gigab
it Ethernet NIC (NDIS 6.20)
   物理アドレス. . . . . . . . . . . : 00-1D-92-82-7A-90
   DHCP 有効 . . . . . . . . . . . . : いいえ
   自動構成有効. . . . . . . . . . . : はい
   IPv4 アドレス . . . . . . . . . . : 192.168.147.4(優先)
   サブネット マスク . . . . . . . . : 255.255.255.0
   デフォルト ゲートウェイ . . . . . : 192.168.147.1
   DNS サーバー. . . . . . . . . . . :
                                     
   NetBIOS over TCP/IP . . . . . . . : 有効

Tunnel adapter isatap.7B}:

   メディアの状態. . . . . . . . . . : メディアは接続されていません
   接続固有の DNS サフィックス . . . :
   説明. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter
   物理アドレス. . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP 有効 . . . . . . . . . . . . : いいえ
   自動構成有効. . . . . . . . . . . : はい

Tunnel adapter Teredo Tunneling Pseudo-Interface:

   接続固有の DNS サフィックス . . . :
   説明. . . . . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
   物理アドレス. . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP 有効 . . . . . . . . . . . . : いいえ
   自動構成有効. . . . . . . . . . . : はい
   IPv6 アドレス . . . . . . . . . . . : 2001(優
先)
   リンクローカル IPv6 アドレス. . . . : 13(優先)
   デフォルト ゲートウェイ . . . . . : ::
   NetBIOS over TCP/IP . . . . . . . : 無効

※GBEのNICを名乗っていても、、
-------------------------------
Co>ping -l 6400 192.168.147.1

192.168.147.1 に ping を送信しています 6400 バイトのデータ:
192.168.147.1 からの応答: バイト数 =6400 時間 =2ms TTL=64
192.168.147.1 からの応答: バイト数 =6400 時間 =2ms TTL=64
192.168.147.1 からの応答: バイト数 =6400 時間 =2ms TTL=64
192.168.147.1 からの応答: バイト数 =6400 時間 =2ms TTL=64

192.168.147.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 2ms、最大 = 2ms、平均 = 2ms

C\>ping -l 64000 192.168.147.1

192.168.147.1 に ping を送信しています 64000 バイトのデータ:
192.168.147.1 からの応答: バイト数 =64000 時間 =13ms TTL=64
192.168.147.1 からの応答: バイト数 =64000 時間 =13ms TTL=64
192.168.147.1 からの応答: バイト数 =64000 時間 =13ms TTL=64
192.168.147.1 からの応答: バイト数 =64000 時間 =13ms TTL=64

192.168.147.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 13ms、最大 = 13ms、平均 = 13ms
※64バイトが10ms前後なので100BASE
http://www.hi-ho.ne.jp/endou_mame/CyberKit/CyberKit.htm
-------------------------------

C>arp -a

インターフェイス: 192.168.147.4 --- 0xb
  インターネット アドレス      物理アドレス      種類
  192.168.147.1         ××-××-××-××-××-××     動的
  192.168.147.255        ××-××-××-××-××-××     静的
  224.0.0.22            01-00-5e-00-00-16     静的
  224.0.0.251           01-00-5e-00-00-fb     静的
  224.0.0.252           01-00-5e-00-00-fc     静的
  239.255.255.250       01-××-fa     静的

※ルータ以外は静的
-------------------------------