連載
|
|
|
先にご紹介したWindowsネットワークのプロトコル・レイヤの図では、TCP/IP(NBT)としてひとまとめに描いてしまったが、TCP/IPプロトコルの内部にもう一歩踏み込むと、次のようになっている。
TCP/IPのプロトコル・レイヤ |
ネットワーク層の処理とトランスポート層の処理が混然一体となっていたNetBEUIとは異なり、TCP/IPでは両者がプロトコルとして完全に独立されている。このように実際のTCP/IPは、TCPやUDP、IPなどといった複数の独立したプロトコルを組み合わせて通信を行う。 |
このようにTCP/IPは、トランスポート層の処理を行うTCP(Transmission Control Protocol)とUDP(User Datagram Protocol)という上位層と、ネットワーク層の処理を行うIP(Internet Protocol)層に分離されている。このうちIPは、異なるネットワーク間でのデータのルーティングや転送を可能にし、TCP/UDPはIPの機能を使ってエンド・トゥ・エンド(ネットワーク上に存在する2つのノード間)での通信を可能にする。このうちTCPはコネクション指向のプロトコルであり(通信の信頼性が保証される)、UDPはコネクションレス指向のプロトコルである(通信の信頼性は保証されない)。またこれ以外にも、実際にはARP(Address Resolution Protocol。IPアドレスから、物理層のMACアドレスを取得するためのプロトコル)やICMP(Internet Control Message Protocol。IP接続をテストしたり、通信経路でのエラー報告などを行ったりするためのプロトコル。pingコマンドはこのICMPを使って実装されている)など、一連のさまざまなプロトコルがある。一般に「TCP/IPプロトコル」といった場合には、これら一連のプロトコルもひとまとめにして指す。
TCP/IPの全体像はこのようなものだが、以後この連載では、ネットワーク層プロトコルであるIPに注目して解説を行う。IPの上位レイヤであるTCPやUDPについては、IPの解説を一通り終えたところで手を付けることにしよう。
IPアドレス始めの一歩
IPネットワークでは、IPアドレスと呼ばれる数値をネットワーク内の各ノードに割り当て、通信の制御を行う。詳細は以後の連載で解説するとして、まずはIPアドレスがどのようなものか、簡単に見てみよう。
IPアドレスは32bitの数値で、通常はこれを8bit単位に区切り、各バイトの値を10進数で表記する(ここではIPv6は対象外として解説する*1)。なおIPアドレスなど、ネットワーク・データを表す場合には、「バイト(byte)」ではなく「オクテット(octet)」という用語を使うことが多い。オクテットは、環境によらず常に8bitのサイズを表す単位である。現在では、1byte=8bitのシステムがほとんどなので、「オクテット」と「バイト」は同じ8bitであるが、過去には1byteが8bitではないシステムも存在していた。このため表記上の混同を避ける目的から、常に8bitを表すオクテットという単位が導入されたという経緯がある。
*1 説明を簡単にするために、ここでは、現在でも広く一般に使われているIPv4の説明だけを行う。IPアドレスの枯渇問題などを解決するため、IPv4の後継として128bit幅のアドレス・フィールドを持つIPv6も実用化されているが、ここでは触れない。 |
10進数で表記した各オクテットの値は、ドット「.」で区切って表記する。例えば次のようになる。
IPアドレスの例 |
IPアドレスは、32bitの数値で、通常はこれを8bitずつに区切り、10進表記をして、区切り記号にはドットを使う。32bit固定長の数値表現は、人間にとっては分かりづらいかもしれないが、コンピュータにとっては処理が容易である。 |
IPアドレスは数値であることから、コンピュータを使った系統的な管理が容易である。例えば上図において、上側の2つはアドレスの上位16bitがまったく同じアドレス同士であり(正確には上位20bitが同じであるが、8bit単位で数えると、上位16bitが同じとなる)、下側の2つは上位24bitが同じアドレス同士である。このように、アドレス値の一部が同じもの同士をまとめて処理するなどが非常に簡単にできる。実際、IPネットワークでは、サブネット・マスクと呼ばれる値を使って、このようなアドレスのグループ処理(サブネット化/スーパネット化)を行い、効率よくネットワーク・アドレスを管理できるようにしている。具体的なIPアドレスの管理方法やルーティングのメカニズムについては、次回以降で解説する。
ここでおさらいの意味も含めて、NetBIOS名についても図にしてみよう。
NetBIOS名の例 |
NetBIOSでは、16bytesの任意の文字列(ただし最後の1byteはリソース・タイプに使用)をネットワーク・アドレス(およびサービス・タイプ)として使用する。図中の数値は、各文字コードを16進表記したものだ。人間にとっては読みやすく覚えやすい名前を付けることが可能だが、機械的な処理には向かない。 |
NetBIOSでは、16byteの文字列でアドレッシングを行う(最後の1byteはリソース・タイプを表すために使われることは以前に説明した)。任意の文字列を割り当てられるので、人間にとっては読みやすく、また覚えやすい名前を付けることが可能だが、コンピュータから見たアドレスのデータには規則性がなく、機械的な処理には向かない。IPアドレスで可能なサブネット・マスクのような処理も不可能である。NetBIOSは、ルーティングが必須の大規模ネットワークなどを想定して設計されたものではないことがよく分かるだろう。
■
次回はIPアドレスについて、さらに詳しく解説する予定である。
INDEX | ||
[連載]基礎から学ぶWindowsネットワーク | ||
第6回 TCP/IP始めの一歩 | ||
1.TCP/IPとは何か? | ||
2.TCP/IP=IP+TCP+UDP… | ||
連載 |
- 第107話 シャープな人々 (2008/1/15)
先輩、先輩の時計、進んでません? ああほら、1分も進んじゃってる。電波時計じゃないんですか。これならほら、秒までぴったりですよ - Windows TIPS (2008/1/11)
− Wordをセーフ・モードで起動する
− Adobe Readerのバージョンをリモートから確認する
− Active Directory移行ツールでドメイン情報を移行する - 強化されたActive Directoryサービス(後編) (2008/1/10)
強化されたActive Directory機能解説の後編。専任の管理者がいないブランチ・オフィスをサポートするための機能について詳説 - SharePoint2007のプロファイル機能を理解する (2008/1/9)
SharePointのプロファイル機能について解説。情報共有において重要な認証の仕組みとセキュリティについて学ぶ
|
|
スポンサーからのお知らせ
- - PR -
お勧め求人情報
**先週の人気講座ランキング**
〜プロジェクトマネジメント編〜
◆ | New! 納得の開発環境「MyEclipse」で構築する Amazon Webサービスを利用したECサイト! |
◆ | New! “予防”と“発見”で強化する内部統制 ――@IT主催内部統制セミナー詳細 |
◆ | 「番次郎さん、WSSが使えそうです!」 “いぶき”がついに、難題突破口を発見! |
◆ | ORACLE MASTER取得者へ林優子氏が指南! 「次に身に付けるべきスキルとは……」 |
◆ | フロントシステムの4つの課題を解決! 企業システムでAjaxが実用化段階に |
◆ | サン&オラクル推奨のデータベース環境。 驚きのパフォーマンス性能に迫る! |
◆ |
2008年:これが成功するITエンジニア像だ! 〜エンジニア・キャリア進化論(第2回)〜 |
◆ | オープンソースのアプリケーションサーバ GlassFishのレシピを紹介します! |
◆ | 「地方のエンジニアも幸せにしたい」 その思いがニアショア開発へとつながった |
◆ | 「学ぶ」だけで「経験」が身に付く? ITエンジニアの私が大学に入学した理由 |
◆ | ■ メール管理者の悩みを軽減する! ■ 情報漏えい、スパム対策の最新アプローチ |
◆ | マーケティングのプロがSPSSを選んだ 理由:「プロでなくても使えるから」 |
◆ | フリーエンジニアのための社会保険入門 万が一の時、リスクにどう備えるべきか? |
◆ | ■ボトルネックバスターズ 2■ 連載 第2話 「彗星寺先生」現る!――答えはどっちだ!? |
◆ | 障害の発生前に事前通知!!復旧時間を 早める切札で、サーバ管理がラクになる! |