Out of Memory

本ブログは更新を停止しました。Aerieをよろしくお願いいたします。

目次

Blog 利用状況

ニュース

2009年3月31日
更新を停止しました。引き続きAerieを御愛顧くださいませ。
2009年2月3日
原則としてコメント受付を停止しました。コメントはAerieまでお願いいたします。
詳細は2月3日のエントリをご覧ください。
2008年7月1日
Microsoft MVP for Developer Tools - Visual C++ を再受賞しました。
2008年2月某日
MVPアワードがVisual C++に変更になりました。
2007年10月23日
blogタイトルを変更しました。
2007年7月1日
Microsoft MVP for Windows - SDKを受賞しました!
2007年6月20日
スキル「ニュース欄ハック」を覚えた!
2006年12月14日
記念すべき初エントリ
2006年12月3日
わんくま同盟に加盟しました。

カレンダー

中の人

αετο? / aetos / あえとす

シャノン? 誰それ。

顔写真

埼玉を馬鹿にする奴は俺が許さん。

基本的に知ったかぶり。興味を持った技術に手を出して、ちょっと齧りはするものの、それを応用して何か形にするまでは及ばずに飽きて放り出す人。

書庫

日記カテゴリ

ネットワークの素朴な疑問

いずれもWindowsの話。
ご存知でしたらご教示いただけると幸いです。

その1:DNSサーバのIPアドレスの取得方法は?

ホスト名からIPアドレスを得る場合は、Cならgethostbynameとか、.NETならDns.GetHostEntryなんかを使うわけだ。
こいつらは、DNSサーバに問い合わせを行って、ホスト名をIPアドレスに解決してくれる。

じゃあ、DNSサーバのアドレスはどうやって得る?
ネットワークインターフェイスのプロパティで、DNSサーバのアドレスを設定してある場合は、それが使われる。
ここを自動取得にしている場合は、DHCPサーバから取得できる。

じゃあ、DHCPサーバのアドレスは?
これは、ブロードキャストでネットワーク内の全コンピュータに問い合わせて、返ってきたところの情報を使う。
ネットワーク内にDHCPサーバが複数あると、あちこちから応答が返ってきて混乱するかもしれない。
まぁ、そういうネットワーク構成にはするな、ということなのだろう。

では、DNSサーバのアドレスをプログラムから取得する方法はあるのか?
これが第一の疑問。

まず、Win32 APIでは、GetNetworkParams関数で取得できるらしいということはわかった。
だが、こいつはIPv4のアドレスしか返さない。
今はまだ非現実的だが、IPv6アドレスしか持たないDNSサーバはどうする?

いろいろ検索してみて、IPv6でのDNSサーバ探索方法は、まだ決定的ではないのではないかという感触を得た。
少なくとも、2006年の時点ではまだ審議中らしい。最新情報を知りたいところだ。
いくつか方法は提示されているが、固まっているのは、IPv6に対応したDHCPサーバへの問い合わせしかないんだとか。
今のところ、やる必要性があればこれが確実だろう。
ちなみに、IPv6でのDHCPサーバの探索方法は決まっているらしい。RFC読んでないから知らないが。

もうひとつ、問題となるケースが残っている。
静的に構成されたIPv6 DNSサーバのアドレス取得方法だ。
Vistaでは設定が可能になっている(XP以前はどうだったか忘れた)から、何か方法はあるんだろう。

というわけで、とりあえず、静的に構成されたIPv6アドレスの取得方法さえわかればなんとかなる。
が、できれば、静的か動的か、v4かv6かを問わずに取得できる方法があるとありがたい。
マネージかアンマネージかは問わない。

その2:複数のNICがある場合の挙動

Windowsでは、DNSやDHCPをNICごとに設定できる。
これで、一台のマシンに複数のNICがついていたら、どっちの設定が使われるんだろう?

試して観察してみることもできるけど、まずは仮想マシンにOSを入れるところから始めないといけないので面倒臭い。

以上2点、ご存知でしたらよろしくお願いいたします。
「このRFCを読め」とかでも構いませんので。

投稿日時 : 2007年12月2日 23:17

Feedback

# re: ネットワークの素朴な疑問 2007/12/02 23:37 中博俊

>IPv6 DNSサーバ
なにこれ?
DNSサーバはAAAAレコードを保持しているだけですよ?

# re: ネットワークの素朴な疑問 2007/12/02 23:38 中博俊

>ネットワーク内にDHCPサーバが複数あると、あちこちから応答が返ってきて混乱するかもしれない。
まぁ、そういうネットワーク構成にはするな、ということなのだろう。
これは冗長化のための最初の一歩なので、通常行います。

# re: ネットワークの素朴な疑問 2007/12/02 23:41 ちゃっぴ

> ネットワーク内にDHCPサーバが複数あると、あちこちから応答が返ってきて混乱するかもしれない。

DHCP server の冗長化構成では複数あるのが当たり前です。
ただし、release する IP address 範囲をかぶらないようにして問題を回避します。

どちらが利用されるか?はどちらが先に応答を返すかによって決定されます。

> では、DNSサーバのアドレスをプログラムから取得する方法はあるのか?

> その2:複数のNICがある場合の挙動

使用される default gateway はひとつなので、default gateway が有効な interface に設定されているのが優先されるんじゃないでしょうか?

IPv6 の詳細に関しては MVP の村嶋氏に相談したほうがいいかなぁ?

# re: ネットワークの素朴な疑問 2007/12/03 0:06 シャノン

> DNSサーバはAAAAレコードを保持しているだけですよ?

DNSサーバ自体のIPアドレスがIPv6のとき、そのアドレスを取得する方法は? てことです。

# re: ネットワークの素朴な疑問 2007/12/03 0:11 シャノン

> これは冗長化のための最初の一歩なので、通常行います。
> ただし、release する IP address 範囲をかぶらないようにして問題を回避します。

うぃ。混乱するような構成にするな、ってことで。

> 使用される default gateway はひとつなので、default gateway が有効な interface に設定されているのが優先されるんじゃないでしょうか?

Windowsでは、やっぱりNICごとにデフォルトゲートウェイを設定できますけど。
たとえば、
・サブネットの違う2つのLANがあって
・NICが2つあるPCが両方のLANにつながっていて
・それぞれのLAN内にDNSサーバがある
という場合、名前解決はどうなるんだ? と。

# re: ネットワークの素朴な疑問 2007/12/03 0:19 れい

ちゃっぴさん
>ただし、release する IP address 範囲をかぶらないようにして問題を回避します。
>どちらが利用されるか?はどちらが先に応答を返すかによって決定されます。

これ、違いますね。
DHCPサーバーによってはかぶらないようにしなくてもOKです。
割り当てられたあとかぶらないようにする責任はありますが、
もともとの範囲がかぶらないようする必要はありません。

で、どちらを利用するかはクライアントが自由に選んでOKです。
複数の返事が返ってくるまで、しばらくまつのもOKです。
実際、XP、vistaなどは前回と同じアドレスを優先して使います。

しゃのんさん
> ご存知でしたらご教示いただけると幸いです。
質問掲示板使えばいいのに。

# re: ネットワークの素朴な疑問 2007/12/03 0:22 シャノン

> 質問掲示板使えばいいのに。

今からやったらマルチになっちゃうかしら?
ま、俺は適切な始末さえすればマルチ容認派なのですが。

# re: ネットワークの素朴な疑問 2007/12/03 0:24 れい

> 今からやったらマルチになっちゃうかしら?
ブログと掲示板のマルチもめずらしいですね。

ちゃんと
「この投稿はマルチポストです」
って投稿してあげますから
安心してください:D

# re: ネットワークの素朴な疑問 2007/12/03 0:26 ちゃっぴ

> Windowsでは、やっぱりNICごとにデフォルトゲートウェイを設定できますけど。

複数設定されていようと同時に使用できる default gateway は一つです。
route.exe print で確認してみてください。

DNS server も複数指定されていても、実際に利用されるのは一つのみなので優先順位に基づいて決定されるでしょう。

# re: ネットワークの素朴な疑問 2007/12/03 0:39 ちゃっぴ

> これ、違いますね。
> DHCPサーバーによってはかぶらないようにしなくてもOKです。
> 割り当てられたあとかぶらないようにする責任はありますが、
> もともとの範囲がかぶらないようする必要はありません。

まあ、私が構築する場合分けてますけど。
おっしゃるとおり、DHCP server 依存ですね。

> で、どちらを利用するかはクライアントが自由に選んでOKです。
> 複数の返事が返ってくるまで、しばらくまつのもOKです。
> 実際、XP、vistaなどは前回と同じアドレスを優先して使います。

ここら辺の RFC まともに読んでいないんですけど、決まってないんですかね?

Cache がある場合にはおっしゃるとおりの動作を行います。
Cache がなければ早いほうが優先されます。

# re: ネットワークの素朴な疑問 2007/12/03 0:44 黒龍

出遅れた^^;
> 複数設定されていようと同時に使用できる default gateway は一つです。
> route.exe print で確認してみてください。
>
> DNS server も複数指定されていても、実際に利用されるのは一つのみなので優先順位に基づいて決定されるでしょう。
ですね。メトリック値で決まっちゃいます。

# re: ネットワークの素朴な疑問 2007/12/03 0:55 れい

私はやったことないので本当かしりませんが、
MSDNの内容からすると
v4のときのIPHelperとほぼ同じで取得できるようですね。

DNSサーバーのv6のアドレスは
GetAdaptersAddresses
で取得できるようですよ。

ちゃっぴさん
> ここら辺の RFC まともに読んでいないんですけど、決まってないんですかね?
決まってないですよ。

# re: ネットワークの素朴な疑問 2007/12/03 1:00 シャノン

>> DNS server も複数指定されていても、実際に利用されるのは一つのみなので優先順位に基づいて決定されるでしょう。

> ですね。メトリック値で決まっちゃいます。

なるほど。
「メトリック」を検索ワードに加えたら、それっぽいのが出てきました。
もし複数のデフォルトゲートウェイを設定するのなら、どっちのNIC(ゲートウェイ)を通しても、ちゃんとつながるように設定しておくべし、っていうことなんでしょうね。

# re: ネットワークの素朴な疑問 2007/12/03 1:01 れい

黒龍さん
>> DNS server も複数指定されていても、実際に利用されるのは一つのみなので優先順位に基づいて決定されるでしょう。
>ですね。メトリック値で決まっちゃいます。

これ、私には意味不明です。
DNSサーバーの優先順はOS依存であって、
WindowsならプライマリNICのプライマリDNS、プライマリNICのセカンダリ…と決まっていたはずです。

メトリックが関係するのはルーティングであって、
DNSは関係ないと思います。

RFC的にはメトリックから判断する実装があってもいいでしょうが。

# re: ネットワークの素朴な疑問 2007/12/03 1:04 シャノン

> DNSサーバーのv6のアドレスは
> GetAdaptersAddresses
> で取得できるようですよ。

おー、ありがとうございます!
これでDHCPを見に行かなくて済みます。

# re: ネットワークの素朴な疑問 2007/12/03 1:10 シャノン

> WindowsならプライマリNICのプライマリDNS、プライマリNICのセカンダリ…と決まっていたはずです。
> メトリックが関係するのはルーティングであって、DNSは関係ないと思います。

DNSにメトリックはないですが、プライマリとセカンダリのどっちを使うかはどっちでもいいのでは?
基本的に、どっちにアクセスしても同じ情報が得られるようにしておくべきだと思いますし、まずプライマリを見に行くのでは負荷がプライマリにばかりかかりそう。
プライマリとセカンダリの違いは、ゾーン設定のマスタを保持するのはどちらなのかであって、クライアントから見た時は違いはないんじゃないでしょうか。

それはそれとして、プライマリNIC、セカンダリNICなんてものがあるんですか?

# re: ネットワークの素朴な疑問 2007/12/03 1:11 シャノン

あ、「Windowsは現に、まずプライマリを見に行きますが何か?」ってことでしたらスイマセン。調べずに言ってますので。

# re: ネットワークの素朴な疑問 2007/12/03 1:13 ちゃっぴ

DHCP server を複数立てる構成はあたり前ですが、複数の default gateway とか、複数の interface で異なる DNS server の address を指定することってアホな人でもない限りまずやらん構成なんで。。。ちゃんと調べてない。

# re: ネットワークの素朴な疑問 2007/12/03 1:16 シャノン

チーミング(複数のNICに1つのIPアドレスを与えて冗長化)をしている場合はプライマリNICとかセカンダリNICがあるみたいですね。
単に、1台のマシンにIPアドレスの違う2枚のNICが差されているときは、プライマリもセカンダリもないのでは?

# re: ネットワークの素朴な疑問 2007/12/03 1:17 シャノン

アホですいませんorz
最近DNSはちょっとかじったんですけど、ゲートウェイなんて調べたことないもんで。

# re: ネットワークの素朴な疑問 2007/12/03 1:18 れい

Windowsは、ってことですね。
このへん別にRFCで決まってたりするわけじゃないので、
規格の話ではなく実装の話です。

>それはそれとして、プライマリNIC、セカンダリNICなんてものがあるんですか?
表現はともかく、NICに順番はありますよ。大抵のOSには。
システムのデフォルトゲートウェイを何らかの方法で決めなきゃいけないですから。
で、優先順位の一番高いのを私はプライマリNICと呼んでます。
たぶん、普通の呼び方です。
2枚目はセカンダリでしょうが、2枚目以降に特別な意味は無いので呼びません。

# re: ネットワークの素朴な疑問 2007/12/03 1:19 ちゃっぴ

> 基本的に、どっちにアクセスしても同じ情報が得られるようにしておくべきだと思いますし、まずプライマリを見に行くのでは負荷がプライマリにばかりかかりそう。

どちらも同じ情報が得られるようにしておくというのはご認識のとおりです。
負荷分散に関しては primary が優先されます。
DNS server が落ちない限り、切り替わりません。

> それはそれとして、プライマリNIC、セカンダリNICなんてものがあるんですか?

Primary, secondary というか NIC に優先順位はありますね。
でないと同じ metric 指定されたときにどちらが優先されるか判断できなくなるので。

# re: ネットワークの素朴な疑問 2007/12/03 1:20 シャノン

なるほど。
メトリックの順位が一番高いやつがプライマリってことですかね。

# しかし、こんな短時間で伸びたなぁ…

# re: ネットワークの素朴な疑問 2007/12/03 1:22 れい

ちゃっぴさん
> チーミング(複数のNICに1つのIPアドレスを与えて冗長化)をしている場合はプライマリNICとかセカンダリNICがあるみたいですね。
論理NICオンリーだということ?

> 単に、1台のマシンにIPアドレスの違う2枚のNICが差されているときは、プライマリもセカンダリもないのでは?
少なくともWindowsの場合、NICに順位はあります。

> たぶん、普通の呼び方です。
自信なくなってきました。オレ名称かも。

# re: ネットワークの素朴な疑問 2007/12/03 1:26 れい

シャノン産
> メトリックの順位が一番高いやつがプライマリってことですかね。
これはたぶん違います。
メトリックは設定でいじれますが、
NICの優先順位は固定でバス順とかだったような。
変更方法とかも知りません。

# re: ネットワークの素朴な疑問 2007/12/03 1:26 シャノン

おおっとまたレスがついたぁw

> 負荷分散に関しては primary が優先されます。
> DNS server が落ちない限り、切り替わりません。

そうなんですか。ま、それも実装次第でしょうけど。
メトリックが同じ場合は…バインド順、ですか。

# re: ネットワークの素朴な疑問 2007/12/03 1:30 シャノン

ゲートウェイの選定基準が、アダプタのメトリック順、同じメトリックがあればバインド順、らしいです。Windowsでは。
バインド順を変更することもできるらしいですが、Vistaでのやり方が見つからないのでわかりません。

# re: ネットワークの素朴な疑問 2007/12/03 1:31 ちゃっぴ

>> チーミング(複数のNICに1つのIPアドレスを与えて冗長化)をしている場合はプライマリNICとかセカンダリNICがあるみたいですね。
> 論理NICオンリーだということ?

NIC は 2つとは限りませんから。
Primary, Secondary と呼ぶかどうかは別にしてそれ以降も続きますよね。

> メトリックの順位が一番高いやつがプライマリってことですかね。

で、metric が同じだった場合どの default gateway が使われるか?っていうのが問題になるんですよ。
解決するのが NIC の優先順位です。

# re: ネットワークの素朴な疑問 2007/12/03 1:31 れい

ちゃっぴさん
>> ここら辺の RFC まともに読んでいないんですけど、決まってないんですかね?
>決まってないですよ。

#ちゃんとリファレンス示しとかないとですね。

RFC2131 3.1.3参照。
OPTIONSとかによってクライアントが選んでよくて、
こうしなければならない、というのは無いです。

# re: ネットワークの素朴な疑問 2007/12/03 1:32 シャノン

バインド変更@Vista
http://windowshelp.microsoft.com/Windows/ja-JP/help/89554521-7ce7-4d70-aa29-88b8316d50761041.mspx

…こんなのわかんねぇよ!

# re: ネットワークの素朴な疑問 2007/12/03 1:33 シャノン

> 論理NICオンリーだということ?

いや、チーミングにはチーミング用語としてプライマリNIC、セカンダリNICってのがあるんでしょう。
ぐぐったらそれしか出てこないもので。

今回の話で出てるのは、たまたま呼び名が同じだけれどコンテキストが違うということでしょう。

# re: ネットワークの素朴な疑問 2007/12/03 1:37 シャノン

おかげさまで疑問はさっぱり解消しました。
ありがとうございます!

…寝ます。

# 俺のPCの時計が21:01で止まってた。
# 気づいたらこんな時間。風呂入り損ねた。あした入ろう。

# re: ネットワークの素朴な疑問 2007/12/03 1:39 れい

> ゲートウェイの選定基準が、アダプタのメトリック順、同じメトリックがあればバインド順、らしいです。
そうそう、そんな単語昔聞いたことがあったような。

で、default gatewayはメトリック・バインドの優先順で決まるのはOKですが、DNSの優先順は?
NICの優先順位=バインド順ってことかな?

# re: ネットワークの素朴な疑問 2007/12/03 1:49 シャノン

勘違いしてました。

> DNSの優先順は?

TCP/IPの設定ダイアログで決める、優先/代替の順番です。
で、プライマリ/セカンダリDNSとは関係ありません(優先DNS=プライマリDNSではありません)。

# re: ネットワークの素朴な疑問 2007/12/03 1:51 シャノン

資料。
http://www.atmarkit.co.jp/fwin2k/win2ktips/241dnsservers/dnsservers.html
http://www.atmarkit.co.jp/fwin2k/win2ktips/262gateway/gateway.html
http://www.atmarkit.co.jp/fwin2k/win2ktips/062bindorder/bindorder.html

# re: ネットワークの素朴な疑問 2007/12/03 1:54 ちゃっぴ

公式 document あった。

クライアントの機能
http://technet2.microsoft.com/WindowsServer/ja/library/26bef3dd-4ffe-41c4-84c0-8e7de586ef541041.mspx?mfr=true

# re: ネットワークの素朴な疑問 2007/12/03 1:58 シャノン

> DNSの優先順は?

また勘違いしたっぽい。
で、@ITの記事によればバインド順。
優先アダプタの優先DNS、代替アダプタの優先DNS、優先アダプタの代替DNS、代替アダプタの代替DNS…という順番だそうな。

# re: ネットワークの素朴な疑問 2007/12/03 1:58 れい

> で、プライマリ/セカンダリDNSとは関係ありません(優先DNS=プライマリDNSではありません)。

おお。
サーバー側の話の「プライマリ/セカンダリ」とごっちゃに覚えていたわけではないけれども、クライアントの優先/代替もプライマリ/セカンダリと言うのかと思っていました。

あちこちで優先DNS=Primary DNSとなってますが、きちんと区別すべきですね。

# re: ネットワークの素朴な疑問 2007/12/03 2:01 ちゃっぴ

Link 間違ってた.orz

クライアントの機能
http://technet2.microsoft.com/WindowsServer/ja/library/683de9ef-14d7-46c6-b3b1-88de627a9f5f1041.mspx

# re: ネットワークの素朴な疑問 2007/12/03 2:04 れい

> 優先アダプタの優先DNS、代替アダプタの優先DNS、優先アダプタの代替DNS、代替アダプタの代替DNS…という順番だそうな。

また間違った知識が発見された…
代替アダプタ=Bind順の一つ低いアダプタのDNSが2番目ですか。

勉強になってしまいました。どもです。

# re: ネットワークの素朴な疑問 2007/12/03 2:08 シャノン

ところで、れいさんはBlogとかサイトとかやってらっしゃるんで?
もしやってたら、URLを教えていただきたいです。

# re: ネットワークの素朴な疑問 2007/12/03 2:13 シャノン

DNS順に関する更なる補足。
詳しくは@ITを見てもらうとして、

1:優先アダプタの優先DNS
2:タイムアウトたら代替アダプタの優先DNS
3:それもタイムアウトしたら優先アダプタの代替DNS
4:以下略

ではなくて、

1:優先アダプタの優先DNS
2:タイムアウトしたら、ちょっと待ってから優先/代替 両アダプタの優先DNSに同時問い合わせ
3:それもタイムアウトしたら、ちょっと待ってから優先/代替 両アダプタの優先/代替 両DNSに同時問い合わせ

だそうです。

# re: ネットワークの素朴な疑問 2007/12/03 2:23 れい

> ところで、れいさんはBlogとかサイトとかやってらっしゃるんで?
話飛びすぎですっ:D

@ITやわんくま関連ではLinkableなAnonymousで
やってみようと思ってます。

siteはあるんですが、古くからやってまして、
おかげで本名・住所・職業からxxxまでバレバレなのです。
恥ずかしいからNoってことで。

siteがないのはファイルアップロードとかで不便なんで、
どっかに場所を確保しようかなぁと画策中。

# ip v6 2007/12/03 23:51 V6何でも情報館

ネットワークの素朴な疑問というわけで、とりあえず、静的に構成されたIPv6アドレスの取得方法さえわかればなんとかなる。 が、できれば、静的か動的か、v4かv6かを問わずに取得できる方法があるとありがたい。 マネージかアンマネージかは問わない。 その2:複数のNICがあ....

# 月間ページビュー 2007年12月 2008/04/20 22:32 Out of Memory

月間ページビュー 2007年12月

# oakley radar 2013/03/23 22:30 http://www.cancunnadocondelfines.com/cheap-oakley-

The sudden barking frightened Clara.I'm On your side.He knows English better than I.How much money did you make?The road divides here.How much money did you make?How much money did you make?He knows English better than I.What horrible weather!I assure you that you will feel no pain at all.

# Hi, i think that i saw you visited my web site thus i came to “return the favor”.I'm attempting to find things to enhance my web site!I suppose its ok to use a few of your ideas!! 2019/04/07 7:40 Hi, i think that i saw you visited my web site th

Hi, i think that i saw you visited my web site thus i came to “return the favor”.I'm attempting to find things to enhance my web site!I suppose
its ok to use a few of your ideas!!

# GnzBqrlpbPRgoSG 2021/07/03 2:30 https://amzn.to/365xyVY

You have brought up a very fantastic points , regards for the post.

# re: ???????????? 2021/08/09 9:26 where can i get hydroxychloroquine

cloroquin https://chloroquineorigin.com/# hydroxychloroquine for malaria

# EEVpaAkZEuJD 2022/04/19 11:54 johnanz

http://imrdsoacha.gov.co/silvitra-120mg-qrms

# obtgzslmexld 2022/06/04 10:00 sychprqd

what type of drug is erythromycin http://erythromycinn.com/#

タイトル
名前
Url
コメント