ローカルネットワークで、10.0.0.0/24と10.0.1.0/24というネットワーク間で通信を行うためには10.0.0.0/16という両方を含む上位のセグメントを作ればお互いに通信できる、ということは理解しているのですが、グローバル空間で通信を行うインターネットでは完全に異なるセグメント間で通信が行われるわけですよね。そこで質問です。
1)
プロバイダAとプロバイダBが直接繋がっているとして、Aの100.100.100.0/24とBの101.101.101.0/24という二つのネットワーク間で通信を行う場合、これらの境界にあるプロバイダAとBを結ぶノード同士はどのようなIP設定になっているのでしょうか?
2)
上の質問とあえて分離して質問しますが、AS番号を持つ組織に対してグローバルIPが割り当てられるのでしょうか?(そうだとすれば、異なるグローバルIP間はBGPを使う、といった理解で納得できます)それとも、AS番号を持たない組織が(AS番号を持つ上位の組織から与えられた以外の)グローバルIPを取得する、ということはあり得るのでしょうか?
ローカルネットワークで、10.0.0.0/24と10.0.1.0/24というネットワーク間で通信を行うためには10.0.0.0/16という両方を含む上位のセグメントを作ればお互いに通信できる、ということは理解しているのですが
そうする事もできますが、普通はしません。もし、10.0.0.0/24 と 10.0.1.0/24 の間で通信したければ、その2つのネットワークにつながっているルータを用意します。
このときの「ルータ」は、製品としての「ルータ」よりは、ネットワーク層で中継する役割を持つ物、という意味での「ルータ」で、L3 スイッチや、NIC を複数もって中継処理を行うサーバも含みます。
ルーター - Wikipedia
一番、シンプルな構成であれば、NIC を2つ持つルータで、
と IP アドレスを設定します。
ルータの 10.0.0.1 の NIC と同じネットワークに PC があって、そのアドレスが 10.0.0.2 だったとします。また、ルータの 10.0.1.1 と同じネットワークに 10.0.1.2 のアドレスを持つサーバがあったとします。
この時、PC に「デフォルトゲートウェイは 10.0.0.1」という設定が、サーバに「デフォルトゲートウェイは 10.0.1.1」という設定があれば、通信が成立します。
PC がサーバへパケットを送出する時の手順は以下のようになります。
いろいろ端折っている(例えば、どうやって 10.0.1.2 宛のパケットをルータへ向けて送出するか、といった辺り)ので、不正確なところがありますが、ここで重要なのは、どこにも「10.0.0.0/16」というネットワークは登場しません。
さらに言うと、サーバ側のネットワーク(10.0.1.0/24)を 192.168.1.0/24 に変えても成り立ちます。なので、まず「上位のセグメント」なる物がネットワーク間の通信に不要である事を理解して下さい。
で、ここでは1対1のネットワークなので、ルータが持つルーティングテーブルが、自身が直接つながっているネットワークのみルーティングする形になりますが、ルータ自身が直接つながっていないネットワークに対して、例えば「172.30.0.0/16 へは 10.0.1.253 のルータへ転送する」といった情報を持つ事があります。このルーティング情報を手で設定するのではなく、ルータ間でやりとりをするためのプロトコルがあり、BGP はその一つです。
ここまで、プライベートなネットワークイメージして書きましたが、基本はインターネットでも全く変わりません。複雑さは桁違いですが、ルーティングの基本は変わりません。
そういった、インターネットならではの特徴に関して、下記の本が参考になるかもしれません。