ドットコムマスター ★★ Chapter2
2.1.1 IPアドレス IPアドレスは、インターネット上の住所のようなものです。IPアドレスの構造などについての詳細は、こちらです↓ IPアドレスを管理する団体は、ICANN(Internet Corporation for Assigned Names and Numbers アイキャン)です。ICANNから各地域のNIC(Network Information Center)へ、そこからさらに各国別のNICへとIPアドレスの割り当て権限を委譲しています。 日本は、APNIC(Asia Pacific NIC)からJPNIC(JaPan NIC)へ、さらにJPNICから基準を満たしたISPへとIPアドレス割り当ての権利が委譲されています。 |
2.1.2 ネットマスク IPアドレスは、ネットワークアドレスとホストアドレスから構成されます。ネットワークアドレスとホストアドレスの区切りを示すために、ネットマスク(サブネットマスク)を利用します。 サブネットマスクについて詳しくはこちら↓ ネットワークアドレスとホストアドレスの区切りは、「クラス」と呼ばれる概念である程度わかります。しかし、IPアドレスを有効に利用するためにひとつのネットワークアドレスを複数のサブネットにわけるということを行います。これを「サブネッティング」と呼んでいます。 サブネッティングは、サブネットマスクを右にずらすことによって、ひとつのネットワークを複数のサブネットに分割します。 サブネッティングについて詳しくはこちら↓ サブネッティングの考え方を拡張して、完全にクラスの概念を無くしてしまう方法として、CIDR(Classless Interdomain Routing)と呼ばれる手法があります。 サブネットマスクを自由に変更することによって、効率よくIPアドレスの割り当てを行うことができます。 ネットワークを分割するサブネッティングは、サブネットマスクを「右に」ずらします。その逆で、複数のネットワークをひとつにまとめるスーパーネッティングと呼ばれる方法があります。スーパーネッティングは、サブネットマスクを「左」にずらすことによって、複数のネットワークをまとめることができます。 スーパーネッティングを行うことによって、ルータのルーティングテーブルのサイズを小さくすることができ、ネットワークの安定性も向上します。 |
2.2.1 ルーティング 「ルーティング」とはルータが行う重要な機能です。ルータは異なるネットワークを相互接続します。ルータはこの異なるネットワーク間のデータを中継して、通信を可能にしています。 ルータの機能について詳しくはこちら↓ パソコンの設定で、「デフォルトゲートウェイ」という項目を設定しますが、これは、異なるネットワークへの「出口」を意味しています。デフォルトゲートウェイは、同じネットワークに接続されているルータのIPアドレスを指定することになります。 |
2.2.2 ルーティング手法に関する知識 ルータがルーティングするためには、やってきたパケットの送信先IPアドレスと自分が持っている「ルーティングテーブル」を照らし合わせて、中継先を判断しています。 ルーティングテーブルには、次のような情報が含まれています。 ・あて先ネットワーク ・ネクストホップアドレス ・メトリック ・出力インタフェース ・経路を学習してからの時間 ルーティングテーブルを誰がどのように作成して維持するかによって、ルーティングの方法は大きく2種類に分類されます。 スタティックルーティング 管理者が手作業で、ルータにルーティングテーブルを設定する方法 スタティックルーティングについて詳しくはこちら↓ ダイナミックルーティング ルータで「ルーティングプロトコル」を動作させることによって、ルータ同士が情報を交換し、自動的にルーティングテーブルを設定する方法。ダイナミックルーティングについて詳しくはこちら↓ スタティックルーティングとダイナミックルーティングの比較についてはこちら↓ |
2.3.1 IPに関する基礎知識 IPはインターネット上で利用されているプロトコルです。特徴としては、「パケット」と呼ばれる細かいデータに分割して送信します。パケット一つ一つの経路はわかりません。パケットに分割して送ることで、通信回線を占有せず、効率のよい通信を行うことができます。 IPパケットには、IPヘッダがつけられています。IPヘッダには、さまざまな機能を実現するための制御情報が記述されます。 IPヘッダの詳細についてはこちらです↓ IPアドレス以外に、ネットワークではさまざまなアドレスを利用します。これらの違いは、OSI参照モデルの階層で理解するとわかりやすいでしょう。IPアドレスはOSI参照モデルのネットワーク層のアドレスです。LANで通信する場合のMACアドレスは、データリンク層でのアドレスになります。 MACアドレスは、NIC(Network Interface Card)に焼き付けられている48ビットのアドレスです。最初の24ビットはベンダID、残りの24ビットがシリアル番号です。 LANのフレームに通信したい相手のMACアドレスを指定して、送り出すとそのMACアドレスを持つNICが受信して、上位層のプロトコルの処理を行っていきます。 MACアドレスについて詳しくはこちら↓ イーサネットのフレームフォーマットはこちら↓ ただし、自分のMACアドレスなら簡単にわかりますが、通信相手のMACアドレスはわかりませんよね?そこで、通信相手のMACアドレスを求める仕組みが必要です。それがARP(Address Resolution Protocol)です。ARPによって、IPアドレスからMACアドレスを求めることができます。 ARPについて詳しくはこちら↓ |
2.3.2 TCP/UDPに関する知識 インターネットはIPだけで成り立っているわけではありません。4つの階層にわかれたさまざまなプロトコルから成り立っています。 TCP/IPの階層構造について詳しくはこちら↓ TCP/IP階層構造の中でトランスポート層に含まれるプロトコルがTCPとUDPです。この2つのプロトコルは主にデータを転送する目的で利用します。 TCPはコネクション型プロトコルと呼ばれ、信頼性の高いデータ転送を行うことができます。信頼性が高い分、さまざまな処理を行うのでデータの転送効率はあまりよくありません。 TCPについて詳しくはこちら↓ UDPはコネクションレス型プロトコルといい、信頼性はあまり高くないのですが、データの転送効率にすぐれています。 UDPについて詳しくはこちら↓ TCP、UDPの使い分けはどのようなデータを転送するかによります。データサイズが大きくて、もしも途中でデータが失われると最初からやり直ししなくてはいけないようなデータはTCPを利用します。データサイズがあまり大きくなくて、少しぐらい途中でデータが失われてもそれほど問題がない音声データなどはUDPを利用すると効率が良いです。 |
2.3.3 アプリケーションプロトコル 公式テキストでなぜこの位置にOSI参照モデルがやってくるのかちょっとよくわかりませんが、OSI参照モデルはさまざまなネットワークの仕組みを考える上で、基準となるものです。7階層から成り立ち、それぞれの階層で通信の仕組みをモデル化しています。 OSI参照モデルについて詳しくはこちら↓ TCP/IPには、OSI参照モデルと同じくアプリケーション層が存在し、さまざまなアプリケーションプロトコルがあります。 TCP/UDPから上位のアプリケーションを識別するために使う番号が、ポート番号です。ポート番号は、あらかじめ決められウェルノウンポート番号があり、サーバのアプリケーションを識別します。クライアント側は通信するときに、ランダムポートが割り当てられます。 ポート番号について詳しくはこちら↓ WWWの80番、メール受信(POP)の110番、メール送信(SMTP)の25番などの有名なポート番号は覚えておいた方がいいかもしれませんね。 |
2.4.1 ドメインに関する知識 TCP/IPで通信をするには、必ずIPアドレスが必要です。しかし、IPアドレスは数字の羅列なので非常に覚えにくいです。そのため、わかりやすく名前をつけようということになります。TCP/IPの世界でコンピュータにつける名前をホスト名と呼びます。また、ドメイン名と呼ぶこともあります。厳密な使い分けは次のようになります。 たとえば、www.yahoo.co.jpでは、wwwがホスト名、yahoo.co.jpがドメイン名となります。 でも、このあたりの使い分けはあいまいで、www.yahoo.co.jp全体でホスト名といったり、ドメイン名ということもあります。このあたりは、前後の文脈からよみとらなければいけません。 もっと正式に言うと、完全修飾ドメイン名(Fully Qualified Domain Name : FQDN)という呼び方もあります。 |
2.4.2 ドメインの登録と管理 ドメイン名の登録と管理は、2001年5月まではJPNICによって行われていましたが、現在は、汎用ドメインのみJPRSが行っています。その他は、JPNICのままです。 ドメインは、先に取得した方が優先される「先願主義」がとられています。が、企業の名前などを想起させるドメイン名をあらかじめ取得して、転売するなどの手口もありますね。 |
2.4.3 名前解決 ドメイン名からIPアドレスを求めることを「名前解決」と呼んでいます。名前解決の仕組みは、WEBサーバ、ブラウザ、メールサーバ、メールクライアントなどのほとんどのアプリケーションで必要となるものです。 そのため、わざわざ名前解決の仕組みをアプリケーションプロトコルに組み込むことはあまり効率が良くありません。そのため、名前解決を行うための専用のモジュールを利用しています。このモジュールを「リゾルバ」と呼んでいます。 ホスト名で通信をしようとすると、クライアントのアプリケーションは、リゾルバを使って、DNSサーバにホスト名に対するIPアドレスを要求し、通信相手のIPアドレスを解決して、IPパケットを作成しネットワークに送り出しています。 DNSについて詳しくはこちら↓ |
2.5.1 セキュリティに関する考え方 インターネット上で起こりうる不正行為として、次のようなものが挙げられます。 盗聴 改ざん なりすまし 不正アクセス(踏み台、DOS、不正侵入) これら不正行為によって、機密情報が漏洩してしまったり、踏み台となって、不正アクセスの加害者として損害賠償請求されてしまう可能性もあります。金銭的な損害だけでなく、企業としての信用も失墜するかもしれないほどの大きな脅威となるので、セキュリティをしっかりと確保することは非常に大切です。 |
2.5.2 セキュリティを実現する技術知識 セキュリティを実現するためには、ファイアウォールの導入が挙げられます。ファイアウォールによって次のような機能を実現し、ネットワークのセキュリティを確保します。 パケットフィルタリング アプリケーションゲートウェイ ログの取得 パケットフィルタリングは、やってくる(あるいは出て行く)パケットをある条件に照らし合わせて、通過させるかどうかを判断します。条件は、IPアドレスだけでなくTCP/UDPポート番号も含めてチェックすることができます。また、高機能なものでは、社内から外に出て行くパケットの返信パケットを動的に通過させるダイナミックフィルタリングの機能を備えているものもあります。 ただし、きちんとフィルタリングルールを設定しないと意味がありません。設定漏れで、不要なポートが開いていると、セキュリティホールになります。また、ファイアウォールでは「正常に見える」パケットを拒否することができません。たとえば、WEBサーバのダウンを狙って、ポート80番に大量のTCPコネクション確立要求が送信されても、ファイアウォールから見ると正常なパケットに見えるので、このような攻撃を防ぐことができません。 アプリケーションゲートウェイは、HTTPやFTP、SMTPといったアプリケーションプロトコルのデータを中継する機能です。アプリケーションゲートウェイを介すことによって、さらに詳細なデータ(ログインするユーザ名など)をチェックしてセキュリティレベルを向上することができます。 どのようなパケットが通過して、どのようなパケットが拒否されたかなどの情報を一定期間ログとして残しています。ログをみることによって、不正アクセスの兆候を発見したり、万が一、不正アクセスがあった場合の証拠となります。ログは非常に膨大な量が出力されるので、どのような情報を残しておけばいいのかという取捨選択と定期的に行うチェックが非常に重要です。 さらに、セキュリティレベルを向上させるために「データの暗号化」を行うことも考えられます。 暗号化の方式として、次のようなものがあります。 共通かぎ暗号方式 公開かぎ暗号方式 共通かぎ暗号方式は、データの暗号化と復号化で同じかぎを利用する方式です。DES(Data Encryption Standard)が有名です。 公開かぎ暗号方式は、データの暗号化と復号化で異なるかぎを利用します。RSA(Riest Shamir Adleman)が有名です。 |
メールマガジンの購読はこちら↓
| 『ネットワークのおべんきょしませんか?』 を購読しませんか? | |
(C) Copyright 2000-2002 Gene All Right Reserved