|
>>2019 aiko > 結局は、分割したEthernetフレームの1個1個にMACアドレスが > たされるということですか。 そうです。IP データグラムのヘッダに送信先 IP アドレスと 送信元 IP アドレスがあるように、Ethernet フレームのヘッダにも 送信先 Mac アドレスと送信元 Mac アドレスが付いています。 > IPアドレスの大きさが保証されてないから (IPv6に変わったり)、 > Ethernetフレームのアドレス用の領域分(フレーム構成)が、 > IPアドレスの大きさが変わった場合に影響受けるのは、 > 階層的?にまずいということですか。 まぁそうですね。もし Ethernet が IPv4 べったりな規格だったら IPv6 は実現しなかったでしょう。各レイヤ間ができるだけ依存 しないように考えた結果、柔軟性が生まれたのです。ちなみに Ethernet の上に載せられるプロトコルには、IP の他に Xerox XNS や Novell IPX などもあります。 > 自分の環境って関係ないんじゃないですか。だって相手の MAC > アドレスが知りたいわけだから。 Ethernet を使っていないなら Mac アドレスは全く使いません。 arp -a でテーブルが空だった理由はわかりません。時間が 経過したためキャッシュを破棄したのかもしれないし、そうで ないかもしれない。 > あと、MACアドレスを問い合わせない通信ってあるんですか。 IP データグラムを送るという前提なら、必ず Mac アドレスを 知らなくてはいけないでしょう。 # 強いて言えば、ARP プロトコルは Mac アドレスを問い # 合わせるためのプロトコルだから、ARP を投げる前に # Mac アドレスを問い合わせることはありませんね。 > IPデータグラムって、自分のマシンから出て行くときに絶対 > Ethernetフレームに分解されて出て行くんですか。 Ethernet を利用していないなら、それは間違いです。もし Ethernet を利用しているならば、IP データグラムは必ず Ethernet フレームに載せられて流れていきますが、サイズが 小さければ分割はされません。 > 是非、勉強方法など教えてください。 概要を知るにはこれ http://www.ohmsha.co.jp/data/books/contents/4-274-06257-0.htm プログラミングするならこれ http://www.mmjp.or.jp/pearsoned/washo/network/wa_net28-j.html がお勧めではないかと思います。 |
|
>>2019 aiko あと、Ethernet と IP では、役割が違います。Ethernet はセグメント内 (ルータから先は別セグメント) の通信を保証するレイヤ (データリンク層)。 ルータから先は Ethernet の管轄外です。 で、IP はエンドツーエンドの通信を保証するレイヤ (ネットワーク層)。 ついでに言うと、TCP は IP のような細切れなパケットでなく、連続した ストリームを送ることを保証するレイヤ (トランスポート層)。 バカ HUB やツイストペアケーブルは、端点 (って言うのかな?) から 端点へ正常な信号を送ることを保証するレイヤ (物理層)。 # ここで書いた各層の役割は、僕が勝手に考えたもので、OSI 参照 # モデルの定義とは違います。 # http://home7.highway.ne.jp/dayan/tips/unix/tcp.html |
|
>>2016 68user 何の事は無い、あっさり解決しました。()の動作はperlと同じなのですね。 (というよりperlがシェルに似せたのだと思うけど) ps での表示で親子関係表示されました。 今後詰まった時、とりあえずperlでの記述を真似てみます(笑) 同時に終了の件は、考えてみればそこまでやるなら各種デーモン類の 起動法を真似ればいいかも、なのでとりあえずコレで良しとします。 ともかく、ありがとうございました。 ちなみにこのスクリプトは、自宅で公開しているサーバーでのログ監視 に利用しています。 ついでに、といってはなんですが、このマシンはサーバーとして利用して いるので、通常はリモートログインでコンソールからの操作は滅多に行わ ないため、アイドルが続くとディスプレーが非表示モード(でいいのかな) になります。 BIOS関係かなとも思いますが、Windowsも同居しているのでできればOS側で 対処できないかと考えています。 変更箇所もしくはポインターを教えてもらえれば幸いです。 |