【その他】つなみ 
地震がありましたが怪我もなく、機器の方も今のところ被害総額0円です。

どうでもいいですが直前にこんなこと言ってました














まさかこんなことになるとは

[ 2 コメント ] ( 1690 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 2.9 / 1899 )  |  
【NW】IPv6 - NATPTとは 
またまたIPv6ネタです。しかも今回は概要を理解しないとかなり混乱するというか分かりづらいです。今回も検証にはGR2000を使っています。




ここに来てGR大活躍ですよ最近。実験には最適なルーターですね。NAT処理もHWでやってくれれば家庭内で実用最強ルーターなんですが(まだ言う

GRを使うので、一番確実なのは本家日立のGR2000の「解説書 Vol.1」と「構成定義ガイド CLI編 -CLIタイプ1階層入力形式」を読むことですが、それだけだとちょっと分かりづらかったので砕いて説明してみようと思います。

GR2000Bモデルを持っていて、なおかつRoute-OS8.4(8.3もコマンド類は同じようですが手元にないので未確認)を持ってる人の参考にでもなればと思います←対象者がコアすぎる
まあそのレベルの人はおそらくこんな説明不要だと思いますがw

ところで、上の「解説書 Vol.1」はオライリーではないですが、概要説明を何となく読んでいるだけでもかなり勉強になるのでおすすめです。結構真剣に。
…あまり宣伝してしまうと日立から怒られそうなのでこの辺にしておきます

そもそもNATPTとは




Network Address Translation - Protocol Translationの略で、相互に互換性のないv4とv6を互換させ、現在のIPv4体系を変更せずにIPv6を導入できるというメリットを持っています。v4-v6トンネルとは違い外から見るとネイティブv6環境に見えるのが特徴です。これから需要増えるのではないですかね?
GRの場合、IPv6の/64と言う広大なサブネットの中から/96分のアドレスを使用してv4-v6対応をさせます。
IPv6 1111:1111:1111:1111 :2222:2222:FFFF:FFFF/64

1111=グローバルアドレスPrefix
2222=/64でアドレスをもらった場合に自分で自由に使えるグローバルアドレス
FFFF=その中からNATPT用に割り当てるアドレス

IPv6では理論上65535^4個もグローバルアドレスがもらえるよ!やったね!全マシンを同一サブネットで繋いだらスイッチが血を吐くよ!
個人的には/96でもいいのでは…とか思ってしまいますが。それでもIPv4が使える全てのIP数と同じですからね…

NATPTではv6でv4のアドレスにアクセスするために 192 168 1 1をそれぞれ16進法に変換します。
192=c0
168=a8
1=01
1=01
となるので、1234:0:0:0 :0:0:0:0/96のアドレスからNATPTで変換すると
1234::c0a8:101
となります。(最後は0101が正しいのですが先頭の0は省略されるというv6の特徴でこうなります。)
ちなみに、Windows7(WinVistaも?)からはping 1234::192.168.1.1とやると

C:\Users\owner>ping 1234::192.168.1.1
1234::c0a8:101 に ping を送信しています 32 バイトのデータ:


と、自動で変換してくれます。UNIX系でもPing6なら同じように使えます。


GR2000でのNATPTの動き




まずはネットワーク図です。前回の使い回しですが。




前回との違いはGR2のNIF2/1がIPv6ではなくてIPv4であることです。v6アドレスを割り当ててもいいんですが必要ないので省きます。

先に特徴を書いておくと、v6ネットワークからv4ネットワークへは一対一でIPを使えるがv4ネットワークからv6ネットワークへは1対1NATを1つ or 1対N NAPTになる、と言うことです
まあ、これはGR2kでの動きになるので、他のベンダ(CISCOとか)でどう動くかは分かりません。

そして、NATPT-prefixと言うのが上で説明したNATPTの時に使うアドレスで、v6アドレスネットワークからv4アドレスネットワークにアクセスするときには2345::xxxx:xxxxと言うアドレスになります。1234:1:1:2:1:1::/96とかに設定してしまうとGR1のサブネットと被るので「どこにあるのか分からない」という状態になってしまい、ルーティング不可になります
なので、v6ネットワーク上でユニークな(被らない)サブネットを持つ必要があります。この場合なら1234:1:1:4::でもよかったのですがわかりやすくするためにあえて大きく変えてあります



まずGR1の設定

GR-Red(config)# sho
#Last modified by operator at Mar 5 02:29:03 2011 with version 08-04-/D
!
router name "GR-Red"
router remote_access 0.0.0.0/0
router remote_access 1234:1:1:1::/64
router telnet enable
!
line f0 ethernet 2/0
ip 1234:1:1:1::1/64
!
line f1 ethernet 2/1
ip 1234:1:1:2::1/64
!
static
2345::/96 gateway 1234:1:1:2::2


本当はこの下にDHCP6とかの設定がだらだら続くのですが今回は不要なので省略します
特徴としてはNATPT PrefixをGR2へ向けることくらいですね。

GR2の設定

!GR-Green(config)# sho
#Last modified by operator at Mar 8 23:37:34 2011 with version 08-04-/D
!
router name "GR-Green"
router remote_access 0.0.0.0/0
router ftp enable
!
line f0 ethernet 2/0
ip 1234:1:1:2::2/64
!
line f1 ethernet 2/1
ip 192.168.1.1/24
!
natpt
①natpt natptprefix 2345::
②natpt rule napt any auto
③natpt rule static_napt 1234:1:1:1::15 auto port 80 80 protocol tcp
④natpt rule static_napt 1234:1:1:1::15 auto port 22 22
⑤natpt rule static_napt 1234:1:1:1::15 auto port 22 25
⑥natpt interface f1
⑦natpt interface f0
!
static
1234:1:1:1::/64 gateway 1234:1:1:2::1
!


①などの文字はこちら側で説明のため入れました。

まず①のルールでGR2側でNAT-PTを使用する際に2345::/96プレフィックスを使うように設定します。
次に、②でNATPTで変換するプロトコルの対象を全てにし、その際のルールはNAPTによって動的に作られるようにします。
③- ⑤のルールはIPv4側のためのルールで、この場合はルーターのIPが192.168.1.1なので192.168.1.1:80にアクセスした際に IPv6の赤いサブネットにある1234:1:1:1::15:80にNAPTさせる、と言うルールです。ここが最初は意味が分からなくて中々うまくいきませんでした。

1234:1:1:1::15ではdefaultGWを1234:1:1:1::1にしてあります。

autoというのは自動的にインターフェースのアドレスを使用するという意味(=natpt rule static_napt 1234:1:1:1::15 192.168.1.1 port 80 80 protocol tcp)ですが、ここで
natpt rule static_napt 1234:1:1:1::15 192.168.1.128 port 80 80 protocol tcp
とインターフェース以外のIPを設定してもそのIPあてにアクセスは出来ませんでした。

⑤はテスト的に作ったルールで、192.168.1.1::25にSSHすると1234:1:1:1::15:22にNAPTされますよ、と言うルールですがうまく動きました。

解説書 Vol.1に書いてありますが、v4->v6にアクセスした際にはアクセスログに残るIPはprefixである2345::IPv4アドレスとなります。

つまり、自分が192.168.1.2で192.168.1.1へSSHを飛ばすと1234:1:1:1::15に2345::c0a8:102からアクセスが来ます。

逆に、1234:1:1:1::/64から2345::c0a8:102へSSHを飛ばすとルーターにNATされて192.168.1.1(ソースポートは NAPTされる)からのアクセスが来ます。つまりHTTPだとアクセスログが全て192.168.1.1で埋まります。まあ、HTTPに関してはよっぽどのことをしていない限りv6対応にそこまで苦労しないのでv6移行しろとも思いますが。

そして⑥と⑦でどのインタフェースをNAT対象にするか指定します。ここに指定したインターフェース以外はNATされません。

文字ばかりになってしまいましたが、これで今のところ期待した動きをしてくれています。
最大の問題はNATPTはRM(CPUでSW)処理になると言うことです。知っての通りGR君はNATで10Mbps程度しか出せないという問題を持っているので、あくまでも試験的な目的以外では使えないと思います。これがHW処理だったら本当に最強v6ルーターなんですが。

もっとも、このルーターそのもの相当前のものですし、解説書なんて2005年発行ですからね。その当時からこれらの機能が使えたというのは大いに評価されるべきだと思います。さすがKAMEはAlaxalaの中の人たちが作っただけはあります。

IPv6が注目されている今、GR2kはもう一度NAT周りを強化して出すべきルーターだと思います。

BSD系だとNATPT-Dが使えるみたいなのでこの辺もいつか試してみたいですね。
現在はFTP、HTTP等の主要アプリケーションが試した限りではわずかな設定でv6に対応できるので本当に必要かどうかと言われると結構微妙だったりしますが…。


[ コメントを書く ] ( 1707 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 3 / 1929 )  |  
【NW】IPv6のメモ(要再検証) 
今色々とIPv6のネットワークをいじっているのですが中々に前途多難です。

その一例で(おそらくどこかの設定が足りていないのだと思いますが)FortigateでのIPv6ルーティングがうまくいっていません。

ネットワーク図




IPについては、どうせ外に出ないネットワークなので…
Googledocs でとりあえずで書いたので分かりづらいかもしれないですがGR20002B+を2台設置し、サブネットを2つ作り、その後 Fortigate300A(OS v4MR2)を置きました。疲れたのでここで「IPv6とは~」と書きませんが、/64がv4で言う/24のようなものです(説明になってない

ISISやOSPFで経路を自動設定してもおもしろいかもしれませんが、この程度の規模なのでStaticでテーブルを追加しtます。

GR1
static 1234:1:1:3::/64 gateway 1:1:1:2::2

GR2
static 1234:1:1:1::/64 gateway 1:1:1:2::1

これで両ルータ間で赤いサブネットから緑のサブネットへの疎通は出来るようになりました。ただし、RA(Router Advertisement)やDHCP6を設定してないのでケーブルを挿しただけではPCにIPv6やデフォルトルートは降ってこないのでマシンごとに route addする必要がありますが。

DHCP6とかの設定はv4の時と殆ど変わらない(RAでManaged flagを1にしないとDHCP6の設定を流してくれないくらい)ので一度わかれば難しくはないのですが、緑のサブネットはv4でのメインサブネットなので気がついたら変なIPが振られてたというのはいやなので…。

そして赤いサブネットに1234:1:1:1::3と言うホスト(BackTrack 4 R2)を設置してHTTPなりTelnetが通ることを確認します。
BackTrack(Debian)では
modprobe ipv6

を実行した後
ifconfig eth0 inet6 add 1234:1:1:1::3/64

と設定し、
route -A inet6 add 1234:1:1:3::/64 gw 1234:1:1:1::1

とするとネットワークが通じるようになりました。




参考スクリプト


しかし、Ubuntu 9.04だとルーティングテーブルを追加しようとすると
root@Server:/# route -A inet6 add 1234:1:1:1::/64 gw 1234:1:1:3::1
SIOCADDRT: Invalid argument

と言われてしまいます。何が原因なんですかね?
探してみると結構同じ問題にあたっている人がいるみたいなのですが回答にたどり着けませんでした。RAからGWを流し込む方法であればいけたのですが…。
まあ上のマシンは実はこのWeb鯖なのであんまりゴリゴリいじりたくないので、そのうち仮想環境なり実験マシンなりで検証してみます。

そして緑<->赤の疎通が出来たらメインサブネットのFG300AにIPv6アドレスを振って実験してみます。
FGでv6を有効にするにはコンソールから直に

#config sysytem global
(global) # set gui-ipv6 enable


と実行するかwebUIから辿っていくとGUI上でv6の設定が出来るようになるので幾分か楽になります。最初はv6関係はCLIから設定するしかないと思っていたのですがGUI持っていたんですね…




ただ、FortiOSv3とv4で少しIPv6の扱いが違います。FOv4だとWebUIからインターフェースにv6アドレスを振れるうえにHTTPアクセスもv6アドレスでいけるのですが、FOv3だとインターフェースのv6アドレスはCLIから振る必要があるうえ、Pingの応答のみです。




FWとしては、FOv3でもIPv6用policyは設定できます。




この状態でFG300Aが1234:1:1:1::/64にアクセスするには同一サブネット上にあるGRの1234:1:1:3::1を通っていく必要があるのでStaticRouteでそれを追加します




が、ここでテーブルを追加しても何故かFGからPingを撃つと

FG300A # execute ping6 1234:1:1:1::1
connect: Network is unreachable


と言われて到達できず。ルーティングを確認するためにコンソールに入って確認するも

FG300A # sho router static6

config router static6
edit 1
set device "port2"
set distance 1
set dst 1234:1:1:1::/64
set gateway 1234:1:1:3::1
set priority 1
next
end

と、正しいように見えるのですが…。どういう事なの…
もちろんポリシーはAll any always Acceptになっています。




ここで試しにFGで違うv6サブネットを作成して(図で言う灰色のサブネット)、緑のサブネットにあるWin7からroute add 2:1:1:1::/64 1234:1:1:3::2をしてFGを抜けていくように設定してみると問題なくルーティングはされるようです。

しばらく試行錯誤してみたのですがうまくいかないのでこの辺で気力が尽きてあきらめました
某ハッカーさんも動作確認してみるといっていたのでそれ待ちです(他人任せ

まあ他にもNAT-PT(NAPTとはちょっと違う)とか色々試してるんですが長くなるのでまた次回に。。。


[ 1 コメント ] ( 4029 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 3 / 1871 )  |  
【HW】再々検証・PCI-Expressのリンク速度とGPUの処理能力の変化について 
昔にも似たようなことをやったので、前からこのブログを見てる人はなぜまた同じようなことを?と思うかもしれないですが、気になったことがあったのでまた検証してみました。今回は自分が気になったので調べた結果、というのがかなり強いので、いまさら役に立つかどうかは分からない上に冗長です。


そもそも何でこんなことをしようと思ったのかというと、サブサブマシンで使っていたMSIのP35-EFINITYでマルチモニタを構築するために使っていたx16を削ってx1にしたGeforce8400GSがやっぱり7のエアロを有効にするともたつくので、これを快適だと思えるレベルにするにはどの程度能力があればいいのかという点を調べるために始めたのです。

特に、1920*1200の画面を複数枚出していたり、リモートデスクトップを開いていると (特にRDP上でエアロを有効にしてる場合)パフォーマンスの低下が結構あります。
あと、この文章書いていて気がついたのですがFoobar2000などのスペアナを表示していてもなぜか重くなります。1680*1050のディスプレイ1枚のみしか出していないときはそれ程ひどい遅延はなかったのですが。

そしてついでだから前回検証しなかったPCI-Express Gen1とGen2でどの程度違うのかというのも検証してみました。実に2年半越しの再検証です。そろそろGen3が出ますが。

まあ、エアロの問題は前回のエントリにあるようにx16を2本持っているNF608iが手に入ったのでx16のGF9400とGF7600GTを使用することによって解決したのですが。

検証方法はグラボの端子をマスキングするという原始的な方法を使用してリンク速度を落とし、その状態で3Dmark06をまわし、どの程度のスコアが出るか測定します。
ベンチが終わったらエアロを一通りいじってみて反応を見ます。




ちなみにマスクの方法はこうです。当たり前ですが真似するときは自己責任でやってください。下手すると燃えるかもしれないですが燃えたとしても僕は知りません、




以前使ったので画像は残っていたのですが、元ページへのリンクが見つからなかったので知ってる人がいたら教えてください

構成 1 P45チップ@Gen2
M/B Biostar TP I45
CPU E5400@3.7GHz
mem Umax Pulser 4GB@900MHz
GPU leadtek Winfast PX8800GT(G92チップ版Gen2対応GF8800GT)
OS Win7x64
電源 Zippy P2G-6510P 510W




経験的に、CPUの速度を上げたほうがグラボの速度も上がり、PCI-Expressの帯域を有効に使えるのでCPUはOCしています。

ちなみに、この構成でGF8400@x1を動かすとこんな速度になります。GF8400はGen1までの対応なのでどの板にさしても変わらないです。





これだとさすがにエアロは遅いというかもたつきが気になります。というかWin7から「グラフィックのパフォーマンスが低下してるのでエアロ切ることをお勧めします」といわれます。まあ、エアロ切ってもあんまり変わらなかったりするんですけどね。

そしてGF88GTのスコア。
x16




x8




x4




x1




いじった感想、ゲームをする分にもx4程度のリンク(Gen1のx8相当)とGF88GTクラスのグラボがあれば大丈夫だと思います。
驚いたのが、x1でのスコアです。前回では3-4000程度で頭打ちになっていたのですが、今回はそれの倍近く出ました。HW構成が変わっているとはいえ、こんなスコアが出るとは驚きでした。もちろんもたつき、遅延もありませんでした。
x1のグラボがこんなに速いわけがないと思い、ためしにOCを解除してまた




それでもやっぱり6000は出ています。前回の結果からするとこの結果は正直予想外でした。

これはすべての結果を出した後から気になってやったことなので時系列がずれますが、前回のテストに使ったGPUのワンランク上のHD3870でもx1でのスコアをサンプリングしてみました。




Gen2なので前回のx2相当になるので大体4-5000くらいになれば正しいのですが、やはり88GTと同じ程度になりました。


そうなると前回は何がボトルネックになっていたのかという話になるのですが、調べたところ前回使ったP5SD2-VMはSISチップセットを使っていてメモリアクセスがシングルチャンネルとのことだったので、、ためしにメモリをシングルチャンネルにしてCPUをCore2E6420と同じ266*8にして前回に近い状態にしてみました。




CPUとメモリアクセスがネックになっていたのは確かにありますが、それでも前回より成績がいいです。
原因を予想するなら、おそらくSiSのチップセットがNoobだったのでしょう。

今度は退役したP35でテストしてみます。どうでもいいですがEFINITYはメモリスロットの配色がチャンネルAとBで分けられているのが罠があります。他の板と同じように先に同じ色同士にさすとシ ングルチャンネル動作になるのでパフォーマンスが落ちます。分かる人なら気がつくかもしれませんが、自分はどっちの意味で色分けされているのか気になってマ ニュアルを読みました。紛らわしい。

本来なら石もそろえるべきだったのですが、バックパネルつきのCPUクーラーをはずすのはちょっと面倒だったので手元にあったE3300をOCしています。
まあ、L2のサイズが違うだけで殆ど両者で違いはないんですけどね。

構成2 P35チップ@Gen1
M/B MSI P35 Neo3-EFINITY
CPU E3300@3.7GHz
以下同上

ためしにGf8400のスコアを取ってみます。




違うHW上でもCPUが若干遅いですが大体誤差の範囲ですね。

そして88GTのスコア。

x16




x8




x4




x2




x1




Gen2では面倒だったのでやらなかったx2での速度もとってみました。
結果として、Gen2でのx1と同じくらいの速度になりました。それ以外の速度に関しても大体Gen2のリンク速度の1/2での速度という感じになったので、理論的には正しいかと思います。PCI-Eのデータ通信量をモニタするソフトを見つけられなかったので、実際どの程度のデータが流れているかは不明ですが、大体Gen1でもx8程度のリンク速度があればGF88GT程度(今で言うならGF GT440とかRadeon HD5670クラス?)ならグラボの限界近くまで引き出しているようです。
エアロのレスポンスのほうは、88GTだとGen1のx1でも快適に動きます。




実験の結果のとおり、88GTだとx1でも快適に動いてしまったので、それならどのクラスならこの環境でも満足に動くのか気になって試してみましたが、結論としてはGefoなら7600GT-7600GSクラスはほしいなと思いました。




8400GSでもx16であればまあ動くのですが、透過ウィンドウ(Teratermとか)を動かすとなるとこれくらいの能力はほしいです。
ちなみに8400GSはx16でもこの程度です。




ハードウェアの構成が書いていないので一概には言えませんが、一応近い値は出たのでこのページでいうところの3dmark3-4000はあったほうが快適に動くのではないかと思います。
まあ、そんなローエンドグラボいまどき市場になかなかないので、ゲームしないならほとんど気にしなくていいとも思いますが、"快適に高解像度ディスプレイを複数使うためにグラボを買いたいけど中古などで安く済ませたい"という人の目安にでもなればと思います。今ならGF210やらHD5450などが消費電力と性能的と価格的にもいいと思いますが。




まとめ
・エアロを高解像度で使いたいならゲームをしないにしてもある程度の性能はほしい(最低GF9400以上)
・低解像度モニタならべつにGF8400でもかまわない
・もともとの性能があれば(GF8600クラスとか)削ってx1にさしてもサブモニタとしては普通に動く
・Gen2 ならデュアルGPU(GTX295とかHD4870x2とか)や現行ハイエンドGPU以外ならx8でも十分なのでは?
・信頼のIntelチップセット

といったところですかね。そろそろ実験マシンの環境が古くなってきた感が強いですが、常時稼動しているわけでもない上に結構処理も速いので今のところ置き換える予定はないですね。というか古い資産がありすぎて逆に移行できないというジレンマ

おまけ









最初はHD4890を使おうと思ったのですが8ピンコネクタと6ピンコネクタを要求する上に、Zippy P2G-6510Pには6ピンコネクタがないので変換コネクタを合体しまくって使おうと思いましたが怖いのでやめました。一応12V一本から32A取れるので大丈夫だとは思うのですがさすがに燃やしたくはないのでw


予想外の結果や物理的な作業や3dmarkにかかる時間などを含めてかなり長い時間を使ってしましました

[ コメントを書く ] ( 1702 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 3 / 1964 )  |  
【HW】NF 680i SLI 
AlbatronのNF680i SLIが\2kで転がってたので確保してみました。今更775の板を集めてどうするの?と思うかもしれませんがコレクション的にw




nf680とかx16フルスピード2本でSLIだぜ!なんて昔はnforceチップセットにあこがれてたなあ。

拾った当初のBIOSではPenDC E5x00やCelDC E3x00等の45nプロセッサを載せてもPOSTコード18で止まりましたが、検証用CelDに載せ替えたところ無事に立ち上がったのでDOSを起動してBIOSを更新すると45nCPUでも問題なく動くようになりました。ただ、同じ45nでもC2Q 9x系は確か680じゃ動かなかったと思います。
割と適当にE5200をOCしてみたら電圧+0.05Vで3.6GHz(300*12)でWin7が立ち上がったのでまあそこそこOC性能はあるんじゃないかと思います。E5200が耐性あるのもありますが。




今はもうなきnForceチップですが、いじってみるとメモリクロックとFSBを独立させたりなど中々おもしろいです。周知の通りチップが結構熱くなりますけども。
もしかしたらEFINITYと置き換えるかもしれないです。

という適当な記事で今週の更新を間に合わせる!

[ コメントを書く ] ( 1517 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 3 / 1826 )  |  

<<最初へ <戻る | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 進む> 最後へ>>