インターネット(ネットワーク)
学習のポイント
現在のコンピュータネットワークの標準プロトコル「TCP/IP」の理解を深めましょう。「IP」「TCP」「UDP」を中心にデータがどのように相手に届くのか、その仕組みについて理解しましょう。
1. TCP/IPモデル | ||||||||||||||||||||||||||||||||
●インターネットの標準プロトコル体系 OSI参照モデルをもとに実装したTCP/IPモデルです。各層でのデータの名称、及び、3種類のアドレスがあることを確認してください。
|
||||||||||||||||||||||||||||||||
2. MACアドレス | ||||||||||||||||||||||||||||||||
●MACアドレスとは? LANで使用するNIC「ネットワークカード」に付けられた固有の番号のことです。LANでは、MACアドレスをたよりに直接つながっている相手に送信します。 ●MACアドレスの構成 MACアドレスは16進数で、「A0:B2:D5:7F:81:B3」のように表されます。「48ビット」となります。 A0:B2:D5の最初の24ビットがベンダーIDといい メーカー名になります。 残りの24ビットが「メーカー固有の番号」となります。MACアドレスは世界中で重複しないようになっています。 |
||||||||||||||||||||||||||||||||
3. IP | ||||||||||||||||||||||||||||||||
●IP IPは、2つのホストのデータ交換を行うプロトコルです。 IPは、物理的に離れた場所の相手に送信をします。この時、頼りにするのが「宛先IPアドレス」です。宛先IPアドレスを基にしていくつかのルータを経由して(ルーティング)、目的の相手にIPパケットを届けます。目的のコンピュータが所属するネットワークまで到着したら、相手のコンピュータのMACアドレスを取得して、あとは、「イーサネット」に任せます。IPアドレスからMACアドレスを取得するには、「ARP」というプロトコルを使用します。 ※IPは「コネクションレス型」です。つまり相手の状態を確かめずにすぐに送る。●IPアドレス 宛先を識別するものをIPアドレスと言います。32ビット(IPv4)。 IPアドレスの管理は「NIC」が行ってあり、日本では、JPNICから「JPRS」が行っています。 IPアドレスの上位部分を「所属を表すネットワーク部」、下位部分を「各ホストを識別するホスト部」から構成されています。 ●クラス
ホスト部が「すべて0」のアドレスのことで、ネットワークそのものを指します。 ●ブロードキャストアドレス ホスト部が「すべて1」のアドレスのことで、ブロードキャスト通信に使用されます。 例えば、クラスCで、210.111.2.0がそのネットワーク自身を示し、210.111.2.255がネットワーク内でのブロードキャストアドレスを示しています。上記の2つのアドレスは、ホストに割りあてることはできません。 ●3つの通信方法
ネットワーク部を「1」、ホスト部を「0」とすること。 ●プライベートアドレス そのネットワーク内だけで通用するIPアドレスのこと。以下が例です。
●IPのその他の機能 上記以外にも、IPには下記の役割があります。 1. ARPを使用したMACアドレスの取得 2. IPレベルでのエラーチェックであるICMP 3. 物理的に離れだ場所へ送るための「ルーティング」 4. 次世代のIPアドレスの規格で、128ビットからなる「IPv6」 ※これらは、後述します。 |
||||||||||||||||||||||||||||||||
4. IPアドレスとMACアドレスをつなくARP | ||||||||||||||||||||||||||||||||
前述したようにIPは、宛先IPアドレスを頼りに、物理的に離れた場所にある相手にIPパケットを送信します。ただ、目的のコンピュータが所属するネットワークの特定までがIPの役割です。では、その後の通信はどのようになるのでしょうか? ●ARP ARPとは、「IPアドレスからそのIPアドレスを持ったホストのMACアドレスを取得するプロトコル」です。ARPの仕組みは以下のようになっています。
1. ブロードキャストで、このIPアドレスを持ったホストの方、MACアドレスを教えてください。「ARP要求」といいます。
・IPによって、遠く離れた場所にある相手のホストの所属するネットワークを特定し、 ●RARP MACアドレスからIPアドレスを取得するプロトコル。これは、ハードディスクを持ちないコンピュータの場合に利用されます。 |
||||||||||||||||||||||||||||||||
5. サブネット(ネットワークの中のネットワーク) | ||||||||||||||||||||||||||||||||
1つのネットワークを複数のネットワークへ分割することを「サブネット化」といいます。具体的には、「ホスト部の先頭の数ビットをサブネット部」とします。 例
ネットワークアドレス 192.168.1.0 CIDR表記とは、ネットワーク部のビット数をIPアドレスと共に表示する方法です。上記の場合は、 192.168.1.64/26 となります。 |
||||||||||||||||||||||||||||||||
6. ルーティング | ||||||||||||||||||||||||||||||||
IPでは、いくつかのルータを経由して、目的のコンピュータが所属するネットワークを特定します。この時、ルータが最適に経路を示しています。ルータには、地図に該当する「ルーティングテーブル」を持っています。これを頼りに適切なルートが決定されます。 |
||||||||||||||||||||||||||||||||
7. ICMP(IPレベルでエラーを検知) | ||||||||||||||||||||||||||||||||
IPはコネクションレス型のプロトコルで、エラーが発生しても再送などは行いません。そこで、IPレベルで信頼性を向上するために「ICMP」があります。ICMPは「エラーの状態を報告するのみ」です。
エラーや問合せには「タイプ」があります
●タイプ 0…エコー応答 問い合わせ |
||||||||||||||||||||||||||||||||
8. IPv6(次世代IP) | ||||||||||||||||||||||||||||||||
IPアドレスは、現在広く利用されているIPv4(IPバージョン4)で32ビット幅、IPv6では128ビット幅となっています。 IPv4アドレスは、32ビットを8ビットずつ4つに“.” (ピリオド)で区切った数値列を“192.168.0.1” のように10進数で記述しています。 IPv6アドレスは、128ビットを16ビットずつ8つに“:” (コロン)で区切った数値列を、16進数で表記します。 ● IPv6の特徴 ・IPsecが標準装備され、セキュリティの強化。 ・ブロードキャストの廃止、同様の通信は、マルチキャストで行う。 ・DHCPがなくてもIPアドレスが自動設定される。 ・IPヘッダが簡略化され、処理の高速化が行える。 ● 規則により、アドレス表記を短くすることができます。 ・16ビットで先行する「0」を省略できる。 ・連続する“0” は省略可能です。また、“::” は16ビットの0が複数連続していることを示します。但し、この指定は1か所のみです。 記述例
ABCD:EF01:0000:0000:ABCD:008D:2345:6789 |
||||||||||||||||||||||||||||||||
9. TCPとUDP | ||||||||||||||||||||||||||||||||
●TCP 相手に送信してもいいですか、というように確認して送受信する方法を「コネクション型」といいます。 TCPは、コネクション型の通信を実現するプロトコル。エラー検出や再送制御を行い信頼性の高い通信を実現します。よって、TCPは「1対1通信」となります。 ・スリーウェイハンドシェイク TCPでコネクションをとるための手順のことです。具体的には、以下のようにします。
・送信側…接続要求(SYN)「送信していいですか?」 スリーウェイハンドシェイクで、コネクションを確立してから、データの送受信は、データを送ったら、相手から「データを受け取りました」と返答があって、次のデータを送ります。返答がない場合は、再送信します。 ●UDP コネクションを一切取らないで一方的に送信することを「コネクションレス型」といいます。 UDPは、コネクションレス型で、再送制御は行いません。UDPは品質よりも速度を重視したものです。よって、UDPは、「1対N通信」が可能です。 ●ポート番号 TCPとUDPの共通の機能として「ポート番号」があります。こちは、IPやイーサネットによって目的のホストへデータが届いた場合、そのホストのどのアプリケーションに渡すのかを識別するのがポート番号です。コンピュータの中の住所のようなものとです。 ボート番号は、16ビットからなるもので、トランスポート層で稼動しているアプリケーションの種類を識別します。 予約済みポート番号(ウェルノウンポート番号) 0~1023の範囲で、登録済みのポート番号で、勝手に使用することはできません。
|
||||||||||||||||||||||||||||||||
10. アプリケーションプロトコルの種類 | ||||||||||||||||||||||||||||||||
●アプリケーションプロトコルの種類
|
||||||||||||||||||||||||||||||||
11. HTTP | ||||||||||||||||||||||||||||||||
HTTPは、このクライアント(ブラウザ)とサーバー(Webサーバ)は、 (1)ブラウザへURLを入力 (2)スリーウェイハンドシェイクで、コネクションの確立 (3)クライアントからサーバーに「リクエスト(要請)」を送り (4)サーバーが必要な処理を行って (5)サーバーからクライアントに「レスポンス(返答)」を返す (6)コネクションの切断 という流れで通信の処理を進めます。HTTPでは、1回のやりとりで処理できる情報は1つに限られます。そのため、複数の情報を処理したいときは、この動作を複数回繰り返します。 |
||||||||||||||||||||||||||||||||
12. SMTP・POP3 | ||||||||||||||||||||||||||||||||
●SMTP メールの送信は、SMTPを使用します。SMTPは、自分が契約しているメールサーバまでメールを送信し、宛先の方がが契約しているメールサーバまで、転送します。この時、いくつかのメールサーバを経由します。宛先のメールサーバまで届いたら、宛先の方のメールボックスへメールを格納します。 ●POP3 POP3では、自分が契約しているメールサーバと接続し、自分のメールボックスより、メールをダウンロードします。 ●MIME 本来電子メールはUS-ASCIIしか使用できませんでした。MIMEとは、画像のようなバイナリデータをASCII文字列に変換(エンコード)する方法や、データの種類を表現する方法などを規定しています。これにより、日本語や画像のようなデータもメールで送受信することが可能となりました。 MIMEでエンコードする際には「Base64」が使用されています。 |
||||||||||||||||||||||||||||||||
13. DNS | ||||||||||||||||||||||||||||||||
●DNS IPアドレスとドメイン名の名前解決の変換を行うプロトコルで、名前解決するサーバを「DNSサーバ」といい、名前解決を依頼するクライアントを「DNSリゾルバ」といいます。 実際にこのDNSがどのように利用されているのかをみてみましょう。 ある人がWebブラウザを使って「http://kawase.co.jp」のホームページにアクセスする場合を考えます(①)。「kawase.co.jp」のWebサーバーをみつけるためには、「kawase.co.jp」のIPアドレスが必要となります。このIPアドレスを調べるために、DNSが利用されます。 ・ルートDNSサーバーに、「『kawase.co.jp』のIPアドレスは?」と聞くと(②)、 ・「kawase.co.jp」の最後の部分、「.jp」の部分に着目して、「『.jp』のDNSサーバーに聞いて」といった返事が返ってきます(③)。 ・ルートサーバーは、トップレベルドメインごとのDNSサーバーがどこにあるか、という情報だけをもっているのです。 ・今度は「.jp」のDNSサーバーに、「『kawase.co.jp』のIPアドレスは?」と、さきほどと同じ問い合わせをおこないます。すると「.jp」のDNSサーバーは、「『co.jp』のDNSサーバーに聞いて」といった返事だけを返します(④)。 ・「.jp」のDNSサーバーも、最終的なIPアドレスの情報ではなく、それをもっているであろうDNSサーバーの場所だけを示す、というわけです。 ・今度は「co.jp」のDNSサーバーに、「『kawase.co.jp』のIPアドレスは?」と、さきほどと同じ問い合わせをおこないます。すると「co.jp」のDNSサーバーは、「『kawase.co.jp』のDNSサーバーに聞いて」といった返事だけを返します(⑤)。 ・「co.jp」のDNSサーバーも、最終的なIPアドレスの情報ではなく、それをもっているであろうDNSサーバーの場所だけを示す、というわけです。 ・今度は「kawase.co.jp」のDNSサーバーに「『kawase.co.jp』のIPアドレスは?」と問い合わせます。ここでようやく、「『kawase.co.jp』のIPアドレスは、『192.0.20.100』です」という回答を得ることができるのです(⑥)。 ・こうして目的のWebサーバーに辿りつき、ホームページを見ることができる、というわけです(⑦)。 |
||||||||||||||||||||||||||||||||
14. DHCP | ||||||||||||||||||||||||||||||||
DHCPとは、インターネットに接続するコンピュータに、IPアドレスなど必要な情報を自動的に割り当てるプロトコル。ネットワーク設定を手動で行わなくてもすぐに適切な設定で接続することができます。 DHCPで設定情報を提供する機能を持ったコンピュータやネットワーク機器を「DHCPサーバ」といいます。これには、 ・デフォルトゲートウェイのIPアドレス ・サブネットマスク ・クライアントに割り当ててもよいIPアドレスの範囲 など、ネットワークに接続するために必要な情報が設定されています。 |
||||||||||||||||||||||||||||||||
15. NATとIPマスカレード | ||||||||||||||||||||||||||||||||
●NATとIPマスカレード 「NAT」は、プライベートアドレスをグローバルアドレスへ1対1で変換する。 「IPマスカレード」は、NATを拡張してプライベートアドレスとTCP層のポート番号を組合わせて変換てきるようにしたもの。1つのグローバルアドレスを共有できます。 |
||||||||||||||||||||||||||||||||
16. PPP | ||||||||||||||||||||||||||||||||
●PPP ダイヤルアップ接続で認証、データリンクの確立を行うこと。また、PPP接続をイーサネット上で実現するプロトコルを「PPPoE」。ATM網上で実現するプロトコルを「PPPoA」と言います。 |