ネットワークの勉強を(基礎が抜けていて苦労)しています。なぜ arp が必要なのか、参考書を複数読みましたがどうしても納得できません。MAC アドレスが globally-unique なものであれば、それをそのまま使えばよさそうなものです。シンプルで理解しやすい説明はありますか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/01/24 12:49:15
  • 終了:--

回答(2件)

id:ponytail No.1

ponytail回答回数10ベストアンサー獲得回数02004/01/24 13:19:23

ポイント80pt

http://www.hatena.ne.jp/1074915984

ネットワークの勉強を(基礎がすっぽり抜けていて苦労)しています。ping を打ったとき、初回のみ ping に対する反応に時間がかかる理由を尋ねられています。IP アドレスに対.. - 人力検索はてな

URLは逆ポインタです(お

なぜ、MACアドレスがIPアドレスみたいに使われないかというと、

そのネットワークにおいて、規則性がないからです。

例を挙げると、LANなどでは、192.168.1.0/24などという風に、

ネットワークをグループ化して運用しますが、この場合、192.168.1.0というグループがある場合、

”192.168.1.0以外のネットワークにはデフォルトゲートウェイに転送すればいい”と判断できる要素が

あるのですが、MACアドレスだとIP経路的にグループ化されていないので、ネットワーク経路が構成できないのです。

しかし、イーサネットではあて先にMACアドレスを使っているので、各マシンで、IPアドレスとMACアドレスの対応表を持って通信しています。

・・・筆不精ですみません。

id:trueonline

MAC アドレスは少なくとも globally-unique である保証がありますよね。おっしゃるとおり階層的ではないアドレス体系なので、ルーティングさせるとしたら、ルータの負荷が大きすぎるということもおぼろげながら分かるのです。arp の質問ではなくなってきました(もとの質問が不適切でしたね…)が、MAC アドレスと IP アドレスのダブル スタンダードの意味が分からないのです。

2004/01/24 13:43:57
id:renton No.2

renton回答回数23ベストアンサー獲得回数02004/01/24 13:47:06

ポイント80pt

もしtrueonlineさんがいうようにMACだけで相手を探すとなると、2の48乗(48bit)というとてつもない空間から相手をさがさないといけません。これはむりですよね?

OSI参照モデルでは、ネットワークを階層型に分割したモデルが採用されています。

例えばAからBにデータを渡す場合、まずネットワーク層(IP)で経路選択後、データリンク層で個々のコンピュータと通信したほうが効率がいいのです。

id:trueonline

やっといま、バラバラだった知識がつながり、了解できた気がします。ネットワークの入門書(本だけならけっこう持っています)の定義をそのまま覚えても分からないものですね。

ありがとうございます。close とさせてください。

2004/01/24 13:51:32
  • id:mi-si
    (投稿者削除)

  • id:mi-si
    せっかくの力作を書いたのに終了してしまってもったいないので・・・

    ネットワークやPCを理解する上での前提条件と知っておかないと行けないことは、理論が先あって、システムが構築されたのでは無く、システム作られて、一般に普及してから理論が研究されていくと言う特殊な分野であると言う点です。したがって、綺麗な理論や仕組みが会ったとしてもパフォーマンスや実装しやすさ、コストなどが優先され、問題にぶち当たった場合も、解決策として暫定的で手っ取り早い仕組みを組み込む事を優先する傾向にあります。そのため、こんな実装なっているのだろうか?と言う実装になってしまうと言う事は良くあります。(PCに関してはIntelが大金を投じて綺麗なシステムに置き換えようとしてますが・・・。)

    インターネットが構築された当初は必ずしもTCP/IPでとNIC(ネットワークカード、イーサーネットと置き換えても良いでしょうか?)経由で接続されているとは限りませんでした。一般にインターネットが普及した時もダイアルアップ接続が主流でモデムから接続していました、モデムにはMACアドレスは持っていませんが、IPアドレスを割り振る必要があります。IPにMACアドレスが使えない理由の一つでもあります。

    そして、インターネットも他のネットワークシステムもOSI参照モデル(http://e-words.jp/w/OSIE58F82E785A7E383A2E38387E383AB.html) を基本に構築されていると言う点です。MACアドレスを持ち、イーサーネットで接続するネットワークカードは、物理層、データリンク層に相当し、 TCP/IPはインターリンク層〜アプリケーション層の一部をカバーします。これらの層は完全に独立していて、それぞれが置き換えが可能なのが前提条件です。そのためTCP/IPのプロトコルはイーサーネットのMACアドレスに依存しては行けませんし、MACアドレスを持たないモデムやそのほかの手段でも接続する事が可能と言う事を示しています。
    また、故障などでマシンをリプレースしたり、負荷に耐える為にアップグレードした場合もMACアドレスが変更になってしまいます。
    4byte で足りると思われたIPアドレスも予測を裏切って1人が数台のネットワークデバイスを持つ時代になろうとしており、アドレスの枯渇が訴えられています。そのため次期バージョンのIPプロトコル(IPv6)はアドレス内にMACアドレスを埋め込むアイデアも有りますが、普及はまだまだの段階です。
    この場合でもネットワークデバイスとTCP/IPプロトコルが分離していれば、TCP/IPを以前のマシンのIPアドレスにするだけでそのまま使える訳です。しかし、すべて数字の組み合わせであるIPアドレスをいちいち覚えるのは大変だと言う事で、DNSの仕組みが代入されました。IPが変わってもドメイン名が一致すればそのサービスにたどり着ける様に成ったわけです。

    一方、今のTCP/IP(IPv4)が策定されたときのマシンは今のマシンに比べると非常に非力で、低速でした。そのため比較的重いプロトコルであるTCP/IPは、出来るだけオーバーヘッドを少なしシェイプアップする必要がありました。簡単に言えば、データに付随する宛先などを記したデータ(ヘッダと言いますが)を出来るだけ小さくする事です。そのためIPアドレスは 4byteと決められました。おおよそ40億アドレスあれば十分世界中カバー出来ると考えられた為です。一方MACアドレスが6byteです。IPに MACアドレスを埋め込む事は出来ません。
    ネットワークやPCを理解する上での前提条件と知っておかないと行けないことは、理論が先あって、システムが構築されたのでは無く、システム作られて、一般に普及してから理論が研究されていくと言う特殊な分野であると言う点です。したがって、綺麗な理論や仕組みが会ったとしてもパフォーマンスや実装しやすさ、コストなどが優先され、問題にぶち当たった場合も、解決策として暫定的で手っ取り早い仕組みを組み込む事を優先する傾向にあります。そのため、こんな実装なっているのだろうか?と言う実装になってしまうと言う事は良くあります。(PCに関しては Intelが大金を投じて綺麗なシステムに置き換えようとしてますが・・・。)

    インターネットが構築された当初は必ずしもTCP/IPでとNIC(ネットワークカード、イーサーネットと置き換えても良いでしょうか?)経由で接続されているとは限りませんでした。一般にインターネットが普及した時もダイアルアップ接続が主流でモデムから接続していました、モデムにはMACアドレスは持っていませんが、IPアドレスを割り振る必要があります。 IPにMACアドレスが使えない理由の一つでもあります。

    そして、インターネットも他のネットワークシステムもOSI参照モデル(http://e-words.jp/w/OSIE58F82E785A7E383A2E38387E383AB.html) を基本に構築されていると言う点です。MACアドレスを持ち、イーサーネットで接続するネットワークカードは、物理層、データリンク層に相当し、 TCP/IPはインターリンク層〜アプリケーション層の一部をカバーします。これらの層は完全に独立していて、それぞれが置き換えが可能なのが前提条件です。そのためTCP/IPのプロトコルはイーサーネットのMACアドレスに依存しては行けませんし、MACアドレスを持たないモデムやそのほかの手段でも接続する事が可能と言う事を示しています。

    また、故障などでマシンをリプレースしたり、負荷に耐える為にアップグレードした場合もMACアドレスが変更になってしまいます。
    4byte で足りると思われたIPアドレスも予測を裏切って1人が数台のネットワークデバイスを持つ時代になろうとしており、アドレスの枯渇が訴えられています。そのため次期バージョンのIPプロトコル(IPv6)はアドレス内にMACアドレスを埋め込むアイデアも有りますが、普及はまだまだの段階です。

    この場合でもネットワークデバイスとTCP/IPプロトコルが分離していれば、TCP/IPを以前のマシンのIPアドレスにするだけでそのまま使える訳です。しかし、すべて数字の組み合わせであるIPアドレスをいちいち覚えるのは大変だと言う事で、DNSの仕組みが代入されました。IPが変わってもドメイン名が一致すればそのサービスにたどり着ける様に成ったわけです。

    一方、今のTCP/IP(IPv4)が策定されたときのマシンは今のマシンに比べると非常に非力で、低速でした。そのため比較的重いプロトコルであるTCP/IPは、出来るだけオーバーヘッドを少なしシェイプアップする必要がありました。簡単に言えば、データに付随する宛先などを記したデータ(ヘッダと言いますが)を出来るだけ小さくする事です。そのためIPアドレスは 4byteと決められました。おおよそ40億アドレスあれば十分世界中カバー出来ると考えられた為です。一方MACアドレスが6byteです。IPに MACアドレスを埋め込む事は出来ません。

    また、物理的にマシンが移動させた場合、そのマシンの所在を突き止める必要がありますから、ネットワーク機器に大変な負荷がかかってしまいます。結局のところMACアドレスを探し出す仕組みは必須なのです。現状では、IPアドレスとarpで管理する方が楽なのと一般的に普及してしまっているのでそれが使われているわけです。

    http://www.miyakyo-u.ac.jp/school/taira/Lecture/history-internet.html
  • id:trueonline
    Re:力作を拝読しました!!

    trueonline です。
    いわしでの補足回答、ありがとうございます。

    私は私費でいま流行りのネットワーク系スクールに通っており、
    また大学院で計算機科学の研究をしている友人ももっています。
    しかし、だからといって私の頭がそれについていけるわけでは
    ないため、それぞれにおなじ質問を投げてしまっていました。

    たしかに参考書には OSI 参照モデルやら Ethernet の発祥
    やら TCP/IP 成立の経緯が書かれており、とくに各種規格
    については de facto standard である旨が繰り返し書かれて
    いますが、mi-si さん他の皆さんにご指摘いただくまで、
    それらがまったく頭の中でつながっていなかったのです。

    > 問題にぶち当たった場合も、解決策として暫定的で
    > 手っ取り早い仕組みを組み込む事を優先する傾向に
    > あります。

    しっかりした論拠があるわけではありませんが、
    これについては、アメリカ独特のプラグマティズム
    も影響しているのではないかと思います。
    関係ないチャチャですが。

    >インターネットが構築された当初は必ずしもTCP/IPで
    >とNIC(ネットワークカード、イーサーネットと置き
    >換えても良いでしょうか?)経由で接続されている
    >とは限りませんでした。一般にインターネットが普及
    >した時もダイアルアップ接続が主流でモデムから接続
    >していました、モデムにはMACアドレスは持っていません
    >が、IPアドレスを割り振る必要があります。

    なるほど。言われてみればそうですね。

    >そして、インターネットも他のネットワークシステムも
    >OSI参照モデル を基本に構築されていると言う点です。

    これについては、OSI のほうが後にできたと記憶していますが
    違いますでしょうか。TCP/IP では、OSI 並にきっちりと
    各階層が分かれていませんでしたよね?

    ただ、おっしゃりたいことはよく理解できます。

    >MACアドレスを持ち、イーサーネットで接続する
    >ネットワークカードは、物理層、データリンク層
    >に相当し、 TCP/IPはインターリンク層〜アプリケーション層
    >の一部をカバーします。これらの層は完全に独立
    >していて、それぞれが置き換えが可能なのが前提条件です。
    :
    >また、故障などでマシンをリプレースしたり、負荷に耐える
    >為にアップグレードした場合もMACアドレスが変更になって
    >しまいます。

    よくわかります。

    >一方、今のTCP/IP(IPv4)が策定されたときのマシンは
    >今のマシンに比べると非常に非力で、低速でした。
    >そのため比較的重いプロトコルであるTCP/IPは、出来る
    >だけオーバーヘッドを少なしシェイプアップする必要が
    >ありました。…
    >そのためIPアドレスは 4byteと決められました。…
    >一方MACアドレスが6byteです。IPに MACアドレスを
    >埋め込む事は出来ません。

    これも、よく飲みこめる説明でありがたいです。

    >また、物理的にマシンが移動させた場合、そのマシンの
    >所在を突き止める必要がありますから、ネットワーク機器
    >に大変な負荷がかかってしまいます。結局のところ
    >MACアドレスを探し出す仕組みは必須なのです。

    スクールの講師(大学講師)は、
    「かりに IP アドレスを MAC アドレスに置き換えると
    ブロードキャストで MAC アドレスをさがす必要ができる
    から非現実的」
    と説明していました。

    ともあれ、時間を割いてご回答くださいまして、ありがとう
    ございました。

    ---

    なお、これは別件ですが、IPv6 でも arp 的なものが必要に
    なるのですよね。

    いまさくっと検索した限りでは、IPv6 では arp に代わり
    近隣検索なるもの(リンク参照:RFC2461)があるようですが、
    これが arp と同じ役割をするのかどうかは、まだ読んで
    いないのでわかりません。
    http://www.ietf.org/rfc/rfc2461.txt

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません