ネットワーク基礎的な事 IP編
今日なに書いていいか全然思いつかなかったから、
とりあえず基礎ができていないということでネットワークの基礎
かなり広いからIP編
ていってもIPもかなり広いから全体像など
「IP」(internet protocol)
まずIPがなにに使われているか
一番有名なのがインターネットです
よく聞くtcp/ipですね
ほかにもいろいろあるけど省略
IPは、「IPパケット」という単位でデータをやりとりする。
上位プロトコル(TCP/IPの場合は、TCPやUDP)から渡されたデータを、IPアドレスに基づいて、最終的なあて先として指定されたコンピュータまで届ける。
このIPパケットの先頭部分(IPヘッダの部分)には、パケットの送信元のIPアドレスとあて先のIPアドレス、そして上位層から渡されたデータや上位のプロトコル・タイプ、IPルーティング作業を実行するために必要な情報などが入っている。
流れ的な事でいうとhttpはtcpを利用して、tcpはipを使って通信をしている。
IPアドレスはIPパケットのあて先を示すために使われる情報である。
パソコンやサーバーなどのコンピュータには、1台ずつ異なるIPアドレスを割り当てる。また、そのようなコンピュータが所属するネットワークにも、IPアドレスを割り当てる。
コンピュータ(ホスト)に割り当てるIPアドレスを「ホスト・アドレス」。
ネットワークに割り当てるIPアドレスを「ネットワーク・アドレス」。
ネットワークアドレスが同一のグループは1つの“ネットワーク”として扱われます。
つまり198.168.1.0というネットワークアドレスなら
198.168.1.1というホストアドレスや198.168.1.2、198.168.1.3...など割り当てられます。
198.168.2.0だったら198.168.2.2、198.168.2.3...などね
IP(V4)には、通信方式に対応して4種類のアドレスが用意されている。(1)ユニキャスト・アドレス、(2)マルチキャスト・アドレス、(3)ブロードキャスト・アドレス、(4)ループバック・アドレス
(1)のユニキャスト・アドレスは、2台のコンピュータ同士が1対1でIPパケットを送受信するために使われる。
(2)のマルチキャスト・アドレスは、特定のグループに所属するパソコンだけに、同じデータを同時に送信するために使う。例えば、映像配信をパソコンで受信するような場合、パソコンにマルチキャスト・アドレスを割り当てる。ルーターは、パソコンからの要求に応じて、マルチキャストのパケットを送るようになる。このほか、特定の機器がマルチキャストを利用する場合などは、その機器に決められたマルチキャスト・アドレスを割り当てておく。
(3)のブロードキャスト・アドレスは、LAN内のすべての端末に同じデータを同時に送信するときに使われる。
(4)は、自分自身を示すためのアドレス。
このIPパケットを運ぶ役割を果たすのは「ルーター」です
ルータの主な機能は、その名のとおりに経路(ルート)の計算です。
IPパケットを受け取ったルーターは、適切な転送先を判断してIPパケットを中継する。いくつものルーターがこうした処理を繰り返すことで、IPパケットはバケツ・リレーのように転送され、最終的なあて先に届けられる。
ルータは、IPアドレスに基づいてIPパケットのあて先を判断し、最適な経路を選択して、IPパケットを送信する。
この動作を「ルーティング(routing)」といいます。
ルータには(通常は)2つ以上のネットワーク・インターフェイスが装備され、同時に複数のネットワークへ接続されています。ネットワーク間でのパケットのルーティングを担当するため、同時に2つ以上のネットワークに接続されていなければならないからです。
ルーターは接続されたネットワーク・アドレスの違いを基にしてパケットの中継を行う機器であるが、
このときに使われるのが
「ルーティング・テーブル」
と呼ばれるネットワーク・アドレス(とネットマスク)とネットワーク・インターフェイスの対応表である。
実際にはルータだけでなく、TCP/IPをサポートしたシステムは必ずこのルーティング・テーブルを持っている。
ルーティング・テーブルには、どのネットワークあてのパケットを、どのインターフェイスを使って送信すればよいかが記述されている。具体的には、「Network Destination」と「Nemask」が送信先のネットワーク・アドレスを表し、「Interface」が送信に使用するネットワーク・インターフェイスを表している。
またルータ同士が相互に接続された場合には、それぞれのルータが接続されているネットワークのアドレスもお互いに知っておかないと正しいルーティングができないからです。例えば多数のルータが1つのLAN上で相互接続されているとする。あるルータがIPパケットをあて先Aに向けて送りたい場合、どのルータに向けてパケットを送信するのが最適かを判断するためには、それぞれのルータがどのネットワーク・アドレスを持っているかを知っていなければなりません。
TCP/IPネットワークでは、ネットワークの接続形態は「ツリー」ではなく、くもの巣のように相互に接続されている。そのため、あるノードから別のノードへの経路は一本だけでなく、複数存在することになる。これにより障害が発生しても別の経路へ迂回したり、負荷を分散したりすることができる。また通信量の多いネットワーク同士を直接接続することにより、スムーズに通信させたり、ほかのネットワークに与える影響を少なくしたりすることができる。
ルーティング・テーブルには、あて先ネットワーク・アドレスと使用するインターフェイスが記述されているが、その中に1つだけ「デフォルト・ルート」という特別なエントリが含まれている。デフォルト・ルートは、通常は「あて先ネットワーク・アドレス=0.0.0.0、ネットマスク=0.0.0.0」のエントリとして表現されている。
これは、ほかのどのエントリも一致しなかった場合に利用される、特別なエントリである。IPパケットを送信する場合、まずルーティング・テーブルを検索して一致するネットワーク・アドレスを見付けるが、そのどれとも一致しない場合、つまり明示的なルートが指定されていない場合は、このデフォルトのルートが使用される。デフォルトのルートに指定されたあて先のIPアドレスを特別に「デフォルト・ゲートウェイ」と呼ぶ。
まとめ
ちょっと書きすぎたてかコピリ過ぎ
図を乗っけていないのでググってみた方がわかりやすいかも 笑