ネットワークに関する疑問・質問 Part27at HACK
ネットワークに関する疑問・質問 Part27 - 暇つぶし2ch997:名無しさん@いたづらはいやづら
15/07/16 14:47:39.82 .net
>>989
自分で調べなくても、ここはよくまとまってるよ

URLリンク(nami.jp)

998:名無しさん@いたづらはいやづら
15/07/16 19:19:16.29 .net
>>994
> ping www.yahoo.co.jp
→応答なし
> ping 124.83.139.220
→一般エラーが帰ってきて失敗

> ブラウザで
> URLリンク(www.yahoo.co.jp)<)
→えんえん読み込み中のまま

という感じでした
なお、しばらくして突然回復しました

999:959
15/07/16 19:20:46.55 .net
すみません、>>998は959です
なお、arp -d * でも復旧しませんでした

1000:anonymouse
15/07/16 22:10:34.99 .net
無知で申し訳ないがPPPoEにARPって関係あるの?

>>998
DNS関係なさそうだな。
OS周りから原因探った方が良さそうな気がするけど、イベントビューアにそれっぽい記録とか残ってない?

1001:名無しさん@いたづらはいやづら
15/07/16 23:22:07.87 .net
>>1000
ちょっと試して見たがWindowsの場合、PPPアダプター宛に投げた宛先IPは
そのPPPアダプターのARPテーブルに物理アドレス無しの静的で登録されるみたい

>>999
症状が出ているときAS-1000GNS3-1Wのランプは正常な状態になってる?
URLリンク(www.watv.ne.jp)

1002:964
15/07/16 23:42:00.06 .net
>>999
コマンドプロンプトは管理者モードで起動してる?
とりあえずデフォゲの設定は必要なのでプロバの資料通り設定する
ipconfigを打ってデフォルトゲートウェイが表示されればOK

状況からまず間違いないと思うので一応起きてる現象を書くと
デフォゲが未設定で本来は接続不可となる所、デフォゲがProxyARP機能で
アクセスしたサーバにことごとく成り替わってPCに返答、パケットを裏でWANへ転送し、通信を成立させてくれている状態
PCはIPアドレスとMACアドレスの対応表(ARPテーブル)を持っていて、アクセスしたいサーバのIPアドレスが
それに載ってなければARP解決を行ってARPテーブルへ登録する
その様子が今回はPC「Googleサーバさん居る?」デフォゲ「俺です」、PC「Yahooサーバさん居る?」デフォゲ「俺です」、「Youtube・・」(以下略)
となってすぐ近くにGoogleやYahooサーバが居るように見え、しかも1台で全部こなすので「コイツ何もんだ?」状態だけどとりあえず通信は成立
ARP解決を行ったのでPCのARPテーブルに以下のエントリが登録される
  GoogleのIPアドレス  デフォゲのMACアドレス
  YahooのIPアドレス   デフォゲのMACアドレス
  YoutubeのIPアドレス  デフォゲのMACアドレス
  (以下略)
WANサーバごとにARPエントリが登録されるので、やがてARPテーブルが枯渇して登録できなくなる
(新しく接続したいサーバに接続できなくなる)
ARPエントリは一定時間アクセスしないと消去されるので時間が経つと直る
ARPエントリ上限数/消去されるまでの時間はWindowsは256個/2分?らしい(業務用FWのSSG等は2,000個/20分とか)
利用者が一人でもwgetでリンク先まで際限なく追跡したりP2Pをやってると枯渇する可能性はあると思う

因みにデフォゲが正しく設定されている環境でのWANアクセスの動きは、
宛先IPアドレスがルーティングテーブルに無いのでパケットはデフォゲ宛てに送信されるのでARP解決は発生せず
  デフォゲのIPアドレス  デフォゲのMACアドレス
この1エントリだけで正しくL3ルーティングされる

>>995
静的で登録されてるのはよく分からない
そもそもARPを調べたのは数が大量かどうかを調べるのが一番の理由で動的/静的は気にしてなかったです

1003:名無しさん@いたづらはいやづら
15/07/16 23:58:19.37 .net
新しい質問は次スレへどうぞ

ネットワークに関する疑問・質問 Part28
スレリンク(hack板)

1004:名無しさん@いたづらはいやづら
15/07/17 00:08:36.74 .net
>>1001
ランプは正常に点灯しています

>>1002
大変詳しく回答いただき誠にありがとうございます
管理者権限でプロンプトをipconfigコマンドを叩いてみましたが、デフォルトゲートウェイに記述はありません
モデムに直結させている場合はそうなるようです
接続するたびにIPとDNSを割り当てられるそうです
arp -d * コマンドもやってみたのですが、解決はしませんでした

プロバイダに連絡してみたのですが、プロバイダから調べた状態では、ずっと通信中になっているそうです
コマンドの結果も伝えてみたのですが、arpコマンドの結果については異常なところはないそうです
なにかのアプリケーションが通信を邪魔している可能性があるとのこと
実は、同じプロバイダに頼んでいるPCが他の場所にあるのですが、その環境ではルータをかませており、
そこでarp、ipconfigコマンドをそれぞれ実行した際にはarpコマンドで物理アドレスのない多数の相手が見つかるということはありませんでした
当然、ということになるのか、デフォルトゲートウェイもきちんと表示されました

1005:988、959
15/07/17 00:11:54.81 .net
>>1000
イベントビューアを起動してみてみましたが、正直なところよく解りませんでした
無知でほんとうにもうしわけありません

近日、ルーターのある環境にPCを持ち込んで実験したいと思います
それで問題が起こらないならルーターを入れてみます
ほんとうに丁寧なお答え、返す返すありがとうございます

1006:985
15/07/17 00:47:32.24 .net
PPPoEについて追加で試して見たが、ARPテーブルに1270エントリ追加しても
新規の通信が開始出来なくなるような事は無かった。
OSはWindows7

>>1000
Linux、FreeBSDではPPPoEの向こう側のIPがARPテーブルに登録されることは無いね

>>1005
うーん、なぜだか分からんねー

1007:anonymouse
15/07/17 21:55:07.92 .net
>>1002
OSの実装詳しくないから確信は持てないけど、PPPoEってL3カプセリングじゃないの?
原理的にグローバルアドレスでの疎通自体にARPテーブルなんか使わないんでないのでは?

PPPoEサーバとの疎通にはPPPoEアダプタじゃなくて物理NIC側のテーブルが使うかもしれないけど、
それにしたって相手は特定されてるんだし、枯渇する可能性なんてなさそうな気が

1008:名無しさん@いたづらはいやづら
15/07/18 01:37:55.70 .net
>>1007
PPPはL2
PPPoEはEthernetフレームでカプセル化したPPPで通信するからARPは使わない
PPPoEサーバとの疎通もIPアドレスで行う訳じゃ無いからARPは使わない

1009:ななし
15/07/18 05:03:49.05 .net
>>1001,990
ARP出すかどうかにOSがL2意識してるとは思わん
同一ネットワークと判断してるかどうかが関わってくるとおもうんだが、その辺の動作が違うのかもしれん
>>993あたりの情報だと、Windowsでデフォゲの設定が無い(ルーティング経路が見つからない)と
最終的には全部同一ネットワークとみなして通信しようとするのかもしれんな

あと静的なARPエントリは通常削除されんだろうから、勝手に静的で登録されたら
上限数がいくらだろうが、そのうち使い果たす可能性はあるわな

まあしかし、ファイアウォール系のソフトか、通信高速化系のソフトが何か悪さしてる気がしてしょうがないんだが

1010:984,991
15/07/18 10:55:17.71 .net
>>1008
> PPPoEサーバとの疎通もIPアドレスで行う訳じゃ無いからARPは使わない
言われて見ればその通りだな・・サンクス

1011:985
15/07/18 14:03:52.15 .net
>>1009
もう少し細かく挙動を見てみた。

PPPoE接続をすると仮想インターフェースとしてPPPアダプタが作成される
DGWはメトリックからPPPアダプタのリンク上に向く

ARP要求についてはWiresharkで確認したが、PPPoEのセッションを張る時に相手のMACアドレスを通知してもらい
以後はそのMACアドレスに対してPPPoEでカプセル化したパケットを投げるだけ。
PC-ゲートウェイ間でゲートウェイに対する物も含めてARPによるMACアドレスのやり取りは無かった。

ただし、PPPアダプタのARPテーブルに下記の形式で登録はされる。
インターフェイス: xxx.xxx.xxx.xxx --- 0x17 ※(PPPアダプタ)
インターネット アドレス 物理アドレス 種類
8.8.8.8 静的

この登録は相手が存在するかは関係無くPPPアダプタからパケットを送出した時点で登録されるらしい

数的には256個までで257個目が登録されるとその時点で未使用の物は全クリアされるみたい
(種類が静的になっているけど勝手にクリアされる)

スクリプトとか使って一気に大量の宛先にパケットを送って1000個オーバーとか
一時的に256個を超えて登録されている状態にすることは出来る。
ただ、数秒から数十秒でクリアされる。

数が超過している間に新規の通信が出来なくなったりはしない

物理NICに割りあてたネットワークと同一ネットワーク宛については
ルーティングテーブルに従って物理NICから通常通りARPでMACアドレスを取得して通信する。

Linuxでも仮想インターフェースとしてppp0が作られるけど上記みたいにARPテーブルに登録はされない
FreeBSDも同様

1012:名無しさん@いたづらはいやづら
15/07/18 15:45:14.79 .net
>>1009
> Windowsでデフォゲの設定が無い(ルーティング経路が見つからない)と
> 最終的には全部同一ネットワークとみなして通信しようとするのかもしれんな
記載不足だったけどWindowsの動きは分からない
自分がProxyARP説を推してたのは過去に>>975と似た現象を経験した為で症状は
・サイトにアクセスできなくなる(しかしメジャーなサイトは繋がる)
・アクセスが多い時(多くの人が使う時)に発生する
・数時間経つと復旧する
・FWにARPエントリが数千件登録されていた
接続はLAN―FW―GW―WANで、FWが「Denyで弾いた物以外はGWのポートへ送る」になってて
GW側へARP解決が発生、ProxyARPで処理されたのでWANのサイトごとにARPエントリが登録された

>>1007,992
PPPoEについて疎かったので仕組みを調べてみたらこれはARP使わないね
勉強になったありがとう

ただ>>975は症状からやはりARPエントリの枯渇と思っていて
どこかからARPリプライが飛んで来る(または自分が?)からARPエントリが増えてるはずなので
Wiresharkが使えるならARPリプライ送信元を調べることになると思う
でも物理アドレスが入ってないとしたらどのタイミングで来るのかしか分からないかもしれない

>>1001
PPPアダプタ宛てにIPを投げるということはWAN越しにグローバルIPでアクセスするってことだよね?
それだけでARPに登録されるなら、理屈が分からないけどWANからの攻撃でARP登録が
発生してるだけかもしれないね
・・と書いた所で>>1011を確認します

>>999
ARPエントリが大量なインターフェースはPPPoEの仮想インターフェース?
ARPに登録されてるIPアドレスはインターネットのサイトの物?
arp -d *はインターフェースが複数ある場合はインターフェースアドレスの指定が
必要なので「arp -d * -N インターフェースアドレス」になるので再発時に試してほしい

1013:964
15/07/18 17:02:39.74 .net
>>1012も自分です

>>1011
> 数的には256個までで257個目が登録されるとその時点で未使用の物は全クリアされるみたい
> (種類が静的になっているけど勝手にクリアされる)
枯渇しないようにOSがクリアするのかな
Vista以降でARPCacheの扱いが変わったらしいので、古いWindowsだとクリアされないとかの違いがあるのかも

> この登録は相手が存在するかは関係無くPPPアダプタからパケットを送出した時点で登録されるらしい
ARPリプライを受けてないのにARPエントリが登録される点と、グローバルの8.8.8.8も(物理アドレスが無いことから)この方式で登録されたと推測される点から
PCが通信開始時に自分自身で宛先IPをARPエントリへ登録してるってことかな?
PPPはARPという仕組みを使わないけどベースはEthernetなので、Ethernetを利用する上でどうしてもARPテーブルへのIPアドレスの登録が必要で
(あるいはそうするのが簡単だったから?)パケット送信直前にARPエントリへ登録を行う、って感じだろうか?
そうでなければ物理アドレスの無いARPエントリという無意味な物が登録される理由が分からないから・・
そういう理屈であれば外部にアクセスする度にそのIPアドレスでARP登録されるのは分かる
そうなるとARPエントリが増えるのは避けられないからテーブルの保持時間を短くして解決するしかないかもね
XPだとレジストリのarpcacheを変更、Vista以降はnetshコマンドでbasereachableの値を変更するみたい

> Linuxでも仮想インターフェースとしてppp0が作られるけど上記みたいにARPテーブルに登録はされない
> FreeBSDも同様
今回のがWindows特有の動きだとすると、ルータでPPPoEを使う場合は問題ないと考えていいかもね

1014:ななし
15/07/18 18:17:55.81 .net
>>1013
PPPのベースがEthernetなんじゃなくて、TCP/IPのベースがEthernetな
なんでTCP/IPの都合上ARPテーブル必須な実装になってる可能性はある

Ethernetそのものに、ARPは関係ない(TCP/IP以外のプロトコルだって存在するから)
PPPoEはベースにEthernetがあるけど、その実装でARP必須になるとも思えん
が、Ethernetで通信する以上、相手の物理アドレスは必要なんでそのために
ARPテーブルを利用してる可能性はあるわな
だからARP発行しないでもARPテーブルにエントリが増えるのかもしれん

今のWindowsってTCP/IP必須コンポーネントだったりするからなぁ
ただ、その実装で問題が出るなら、もっとメジャーな問題になってると思うけどなぁ

1015:984,991,994
15/07/18 18:31:04.90 .net
横やりからの詳細な調査恐れ要ります。大変参考になりました。

>>1013
> PPPはARPという仕組みを使わないけどベースはEthernetなので、
少なくともカプセリングされたIPのやり取りには原理的に不要という認識だけど、
Ethernetと同レベルで扱えるように、OS側のプロトコルスタックの実装上の都合でMACやARPの動作を真似てる可能性はありそう。
# OS実装が分からないと書いたのはこの辺が理由。

あちこちに通信始める度にARPエントリ増やすとなると、登録される先のMACアドレスは何になるんだろう。PPPoEサーバ?

1016:anonymouse
15/07/18 18:32:15.20 .net
ネットワークに関する疑問・質問 Part28 [転載禁止](c)2ch.net
スレリンク(hack板)

1017:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch