ネットワーク基礎知識

ここではネットワーク基礎知識として役立ちそうなことを紹介していきたいと思います。

※WWW(World Wide Web)
WWWはハイパーテキストの形で、情報を閲覧できる仕組みです。
ハイパーテキストは文章内の文字を関連付けして相互参照できるようにしたもので、
WWWの情報を画面に表示するクライアント側のソフトウェアのことをWebブラウザといいます。
WWWの特徴は、実際にどのロケーションにデータがあるのか全く意識せずに関連する情報を
閲覧する事ができるもので、そもそもがCERNの情報共有の仕組みとして開発されたので、
相互発信性にすぐれ、誰でも世界に向けて情報を送信することができます。
通信と放送の垣根を無くした点で画期的です。
WWWを構成する主要技術には以下の3つがあります。

(1)URL(Uniform Resource Locator)
情報アクセス手段とし位置情報の定義です。
インターネット上にある資源の位置を表す規格で書式は以下のようになります。
スキーム://ホスト名/絶対パス
スキーム://ホスト名:ポート番号/絶対パス

(2)HTML(Hyper Text Markup Language)
情報表現のフォーマット定義です。
ハイパーテキスト情報を記述するための言語でブラウザの画面に表示する文字フォントの大きさ、
位置、色などに関する情報を持っています。
Markup言語というのは割と普遍的な考え方で、プレーンテキストに対してメタ情報を持つものです。
HTMLでは、メタ情報として上記のような表示に関する情報を扱います。

(3)HTTP(Hyper Text Transfer Protocol)
情報の転送に関する定義です。
ハイパーテキストのやり取りするためのコマンド群で、コマンドリストは以下の通りです。

GET    指定URLのデータを取得
PUT    指定したURLにデータを保存
POST   指定したURLにデータを登録
DELETE 指定したURLのデータを削除
HEAD   メッセージヘッダを取得


※電子メール
パソコン通信のメールとの違いは、パソコン通信はVAN(Value Added Network)
を提供している事業者が管理している環境下において成立しています。
サーバは一つであることが多いです。
それに対して、インターネットのメール環境は世界中のマシンを中継して送受信がなされます。
まず最初に中継を行うメールサーバ(自ドメインのメールサーバ)と最終目的地のメールサーバ
(宛先のユーザが所属しているドメインのメールサーバ)は全く別であることが普通です。
電子メールの構成要素は電子メールアドレス、データ形式(フォーマット)、転送プロトコルで、
電子メールのプロトコルは以下の2つがあります。

(1)SMTP(Simple Mail Transfer Protocol)
SMTPは電子メールの配送を担当するプロトコルです。
下位プロトコルとしてはTCPを使います。ポート番号は25番。
クライアントはテキストコマンドで要求してサーバは3桁の数字で応答を行い、以下の通りになります。

SMTP                     クライアントコマンド
HERO<domain>             通信開始
MAIL FROM:<reverse−path>   送信者
RCPT TO:<forword−path>     受信者
DATA                      メールの本文
EXPN<string>               メーリングリスト受信者
QUIT                      終了

SMTP応答メッセージ
220 サービス開始
221 サービス終了
250 メール処理完了通知
251 ユーザは自分のとこには居ないので転送する
354 .(ピリオド)要求
452 ディスクオーバーフロー
500 文法間違いできない
551 ユーザが存在しない

(2)POP(Post Office Protocol)
SMTPはメールを配送するプロトコルで、全てのコンピュータがいつもネットワークに
繋がっていて、電源も入っているのであればSMTPだけでメールを実現できますが、
パソコンのような個人端末が普及してきたことでこの形態は不便になって、パソコンでも
メールをやり取りできるように受信専門のプロトコルが考え出されます。
それが受信専門のプロトコルのPOPです。
POPの仕組みはSMTPと同様に、サーバとクライアントの間でTCPのコネクションを
はってやり取りが行われます。また、送信だけのSMTPと違って受信行為を行うため、
ユーザ認証の仕組み(パスワード)を組み込んでいます。
サーバ、クライアント間のやり取りはSMTPと同じ考え方で、短いコマンドのやり取りで
実現されるもので、応答メッセージは2種類しかありません。

POPコマンドリスト
USER<userid> ユーザ名の送信
PASS<passwd> パスワードの送信
QUIT         通信終了
STAT         状態の通知
LIST         メール一覧表の取得
RETR<n>     n番目のメッセージ取得
DELE<n>     n番目のメッセージ消去

POP応答通知
+OK  正常通知
−ERR 異常通知


※ポート番号
ポート番号は16桁の2進数で表します。
IPアドレスでも2進数では人間が見づらいので簡易表現形式が定められていましたが、
ポート番号では単純に10進数に変換することで簡易表現形式とします。
IPアドレスと比較すると極めて単純な構造で、コンピュータの中のどのアプリケーションに
渡すのか、という情報を取り扱うので、そもそもIPほどのアドレスの量が必要ではありません。
経路制御などを考慮する必要が無いので、体系化しなくても大丈夫です。

ポートには静的割当と動的割当があります。有名なアプリケーションは静的割当です。
Webサービスのポート番号がサイトごとに違っていたらサービスしづらいもので、
HTTP、SMTP、POP3など非常によく利用されるアプリケーションは、
あらかじめ番号が定められています。
こうした万人が使うポート番号に関しては、0〜1023までの番号にまとめられ、
ユーザが勝手に使ってはいけないものになっているのです。
この0〜1023までの番号のことをWell knownポートと呼びます。
メールの送信は25番、メールの受信は110番になります。

動的割当によるポート番号は1024〜65535までのポート番号で、ユーザが
自由に設定してよいことになっています。
ユーザ割当というのは、通常の用途では無縁なイメージです。
動的ポートの使用例を挙げると、以下の通りになります。
Web通信を考えた時にWeb=httpプロトコルでポート番号は80番です。
これだとIEを2つ立ち上げた時の通信を説明できません。
80番というのは、クライアントから見ての宛先ポートになります。
それに対して、送信先ポートは10000番などが使われ、IEのウインドウごとに違います。

荒らし幕府征夷大将軍 ゆかり



[もどる]