ネットワーク

インターネット(Internet)

 インターネットの基本原理は、「end-to-end 通信」と「双方向性」であり、end-to-end 通信とは、中間の機器に縛られることなく、末端の機器同士が自由に通信できる機能。双方向性とは、2つの通信機器のどちらからも通信を開始できる機能。
 インターネットで送信するすべての情報はTCP/IPというプロトコルによって伝達される。インターネット上ではすべてのコンピュータがこのプロトコルを理解しているので、各コンピュータは他のどのコンピュータとも通信できることになる。TCPとIPはこのプロトコルを構成する独立した要素である。
 インターネットはパケット交換網であり、情報はTCPTransmission ControI Protocol )によってパケットに分割される。各パケットには伝達する情報とともに送信側コンピュータと受信側コンピュータのアドレスが入っている。
 IP(Internet Protocol )は宛先までのパケットの経路を指定する。インターネット上でパケットごとに経路が異なっていてもかまわない。またパケットは断片に分割されることもある。パケットはインターネット上でルーターからルーターへ移動していく。ルーターは宛先のアドレスを調べ、パケットを次のルーターに転送する。IPはパケット配送の確実性を保証していない。
 宛先のコンピュータではTCPがパケットを結合して完全な情報にする。受信時にパケットの順序が変わっている場合にはTCPはパケットを元の順序に戻す必要がある。パケットが断片に分割されている場合には元通りに組み立てる必要がある。パケットの欠落がある場合にはTCPはそのパケットの再送を要求する。

 TCP/IPネットワークでは、さまざまなサービスが提供されているが、それぞれのサービスは特定の「ポート」と呼ばれるものを通じて通信を行なう。データ通信には、通信されるデータがメール送信なのかホームページ閲覧なのかを識別するために、識別番号が割り当てられている。その識別番号をポート番号という。「ポート」というのは、たとえて言えばテレビのチャンネルのようなもので、23番というポートを指定すると、Telnetというサービスを利用できるようになるし、80番ポートを指定すると、WWWサービスが利用できるようになる。メール送信には、一般に25番(Port25)が割り当てられている。メール送信はSMTPというプロトコルで動作していることから、Port25はSMTPポートとも言われている。
 インターネット上に存在するほとんどのサーバーは、これらのポートのすべてを開けているのではなく、特定のサービスに限ってボートを開け、その上で限定的に外部と接続するようになっている。
 他人のコンピュータに悪さをしようとするクラッカーの手口というのは、まずそのコンピュータが使用しているポートを調査し、そのポートを利用しているソフトウェア上にセキュリティ上の欠陥(セキュリーティホール)があるかどうかを確認し、セキュリティホールが見つかった場合は、それを利用して相手のシステムに侵入し、各種の犯罪行為を行なう、というものである。自分のコンピュータを外敵から守りたいなら、ブロードバンドルータを導入して、フィルタリング設定をしっかり行なっておく必要がある。

 サービス

ベースバンド(Base Band )
  同時に1つのデータしか送信することが出来ない変調方式でそのまま0と1を表す。

ブロードバンド(Broad Band )
  周波数変調をかけて複数の信号を周波数的に重ねて送る。

 URLUniform Resource Locator

http://www.mickey-son.co.jp :80/ network/ index.html
ホスト名(下記参照) ポート。通常は記載しない ファイルのある場所(フォルダー名など) ファイル名
http ://www .mickey-son .co .jp :80/
アプリケーションプロトコル。接続の確立に使われる。
Web参照のための最も一般的なプロトコルはhttpでスキーム名といい、これにより、URLが指し示すリソースの種類を表わす。他のプロトコルを入力しなければブラウザはアプリケーションプロトコルがhttpであると想定する。httpのほかには、FTP、file、mailto、telnetなどがある。
サブドメインと呼ばれる。ドメインを持っている組織、人が自由に決める。 ドメインの本体部分。組織名、会社名など所有者そのものを表現する名前が付けられる。 ルートドメインまたは最上位ドメイン。ドメイン所有者の種別を表す。一般的なルートドメインにはcom、net、edu、org、mil、govなどがある。
coは企業、acは教育機関
国名を表す2文字のトップドメイン名。カントリコードともいう。たとえばcaはカナダ、ukは英国を表す。 URLの中でポートはほとんど見ることのない構成要素で、ポート番号はホスト名とコロンの後にある。
 ポートはソケットとも呼ばれ、通信するプログラムの識別番号で通信を確立しようとしているリモートコンピュータ上の特定のアプリケーションまたはサーバーの場所を示す。ポートにより1台のコンピュータで複数のサーバーを実行できる。たとえば、インターネット上の多くのコンピュータはWebサーバとFTPサーバの両方を実行する。
 ポートには16ビットの数値で10進数の1から65535までの番号が割り当てられ、ポート1から1023は推奨ポートで、一般的に知られているサーバープログラム(インターネットアプリケーション)のデフォルトのポートである。

 コンピュータ自体で自己確認するための特定のURLが1つあり、それにはlocalhostが含まれる。コンピュータにWebサーバーがあればhttp://localhostと入力してWebページを見るとlocalhostに対応するIPアドレスは127.0.0.1である。

参考
 file:///c:\ とインターネットエクスプローラのアドレスバー内に打ち込むと自分のパソコンのCドライブの内容が表示される。

 WWWWorld Wide Web )

 Web情報はページとしてWebサーバに格納され、ページごとにURLと呼ばれる重複のない名前が割り当てられる。
 WebブラウザでアドレスバーにWebアドレスを入力するかリンクをクリックして新しいWebサイトに移動すると、表示したいページのURLがブラウザに提供される。
 各URLはWebページを格納するコンピュータのIPアドレスにマップされる。URLの方が覚えやすく入力しやすいのでIPアドレスの代わりに使われるのが常である。
 ブラウザはページを要求する前にDNSサーバーにWebサイトのIPアドレスを問い合わせる。IPアドレスは32ビットの数値からなり、0から255の4つの10進数をピリオドで区切って206.204.104.148のように表す。インターネット上のコンピュータごとに重複のないIPアドレスが割り当てられている。
 IPアドレスを取得したブラウザはWebサーバへのTCP接続を確立してページを要求する。表示する各ページはWebサーバーとの新しい接続を要求するが、実際には各グラフィックには(他の多くのページ要素と同様に)固有の接続が必要なので、ほとんどのページが複数の接続を要求する。
 ページがロードされるとすべての接続が解除され、ブラウザがサイトのIPアドレスを記憶しているが、サイトのページごとに処理が最初からやり直される。

 サーバはUNIXで動くhttpd、ApacheとWindowsNTで動くIISなどがよく使われている。
httpdはCERN版とNCSA版があり、初期のほとんどのサーバで使用されていたがその後、より高機能なApacheが主流となってきている。
 Webサーバの基本的な動きは、ブラウザから要求されたファイルを送信するという至って単純なものである。写真と文章が混在したごく一般的なWebページがブラウザに表示される例を考えてみると
まずブラウザにhtml文書のアドレス(URL)が入力される。例えば、次のように入力されたとする。
 http://www.mickey-son.co.jp/
http://はアプリケーションプロトコル。接続の確立に使われる。Web参照のための最も一般的なプロトコルはhttpで、他のプロトコルを入力しなければブラウザはアプリケーションプロトコルがhttpであると想定する。
 mickey-son.co.jpドメインのwwwという名のhttpサーバにこのアドレスが転送される。mickey-son.co.jpの後がスラッシュ/で終わっているのは、サーバのhttpのホームディレクトリにあるデフォルトファイルを要求していることを意味している。つまり、そのサーバにアクセスした場合、最初にアクセスするディレクトリと、最初に表示されるペきWebページを参照しようとしている。デフォルトファイルとは、スラッシュの後にファイル名が省略されたとき暗示的に示されるファイルのことで、index.htmlまたはdefault.htmlがよく使われる。デフォルトファイル名は、サーバの設定によって変更できる。
 ここでは、デフォルトファイル名は、index.htmlと仮定すと、その要求をもらったサーバは、ルートディレクトリのindex.htmlをクライアントに送信する。このとき送信されるのはhtmlファイルのみで、画像ファイルはまだ送信されない。htmlファイルは、タグと呼ばれる制御文字とテキストで構成されるファイルで、その中にイメージタグが含まれると、ブラウザから改めて画像ファイルのアドレスがサーバに送信され、そのファイルの転送が始まる。画像ファイルを受け取ったフラウザは、先に受信していたhtmlファイルの適切な場所に画像ファイルを表示する。つまり、サーバは単純に要求されたファイルを転送するだけで、クライアントであるブラウザが、文書と画像のレイアウトを解析し表示している。
 httpサーバの機能は、基本的にはこのような簡単なものであるが、CGlを使うことによって、対話型のWebを構築することができる。CGlはブラウザから入力されたデータを、プログラムに渡すことができるインタフェースで、Webを使ったデータベース参照システムや受発注システムに利用されている。

 WWWを構成する技術にも多くのものがあるが、 その中で中心になる技術の一つがハイパーテキストもしくはハイパーメディアと言われる技術である。 ファイルの内容がテキストだけの時はハイパーテキストと言い、 画像や音声が関係するがマルチメディアと言うわけでハイパーメディアとなる。
 ホームページの中身であるHTML(HyperText Markup Language)はこのハイパーテキスト/メディアを記述する言語で、 ファイルの中の言葉や事項から他のファイルを呼ぶ所をリンクと呼ぶ。 WWWのシステムとして優れた所はこのリンクにインターネットを使った事で、ネットワークを越えて他のコンピュータのファイルにアクセス出来るようにした事である。 もちろん、それぞれのコンピュータではWWWサーバが動いている事が必要である。 あるWWWサーバにあるホームページを見た時に、ある事項をクリック(選択)すると、 リンクされた別のファイルが呼び出されるが、 そのファイルが別のコンピュータにある場合はそのコンピュータのWWWサーバが呼び出されてユーザが意識せずとも違うコンピュータにアクセスしている事になる。
 メールサーバと違って、ユーザがホームページのリンクをアクセスしたら別のWWWサーバの所在があったので、その別のWWWサーバにアクセスに行くといった方が正しい。ユーザからみるとWWWのブラウザーで世界の情報を取る事が出来るのでWWWという名前をつけたと思う。
 WWWサーバは、ユーザからのURLで指定されたアクセスに対して、当該のホームページ(ウェブサイト)のファイルをユーザに送りつけるソフトウェアである。このWWWサーバは、Apacheと呼ばれるソフトウェアが現在は多く使われている。このApacheだけではないが、有力なWWWサーバはユーザからのアクセスを制御する機能がありり、制御の仕方としては基本的には、

 HTTPHyperText Transfer Protocol ) ポート番号:80

 WWWサーバからWWWクライアントに対してHTMLで記述されたドキュメントを送受信するための通信プロトコル。HTML自体は<>内に指定されたタグと呼ばれる予約語によって、他の文書へのリンクや画像ファイルのある場所などが記述されたテキストファイル。このHTMLファイルを読み込んで、表示するためのソフトがWebブラウザである。

 WWWクライアントは、リクエストとして表示したいWWWページのURLのパス名を送信する。これに対しWWWサーバは、自分が持つHTMLの文書をクライアントに送信する。たとえば、あるWWWサーバにアクセスし、接続が完了したところで、クライアント側から「GET /」を送信するとサーバからの応答として、HTMLのデータが返ってくる。この1回のデータ取得のたびにサーバへの接続を行ない、データの受信を終えると接続を切断することから(この1回の操作をセッションと呼ぶ)、1つの操作で複数のWebページを参照するような場合でも、あるページから他のページにわたる際のステータスが保持できないという欠点がある。このため典型的な例としては、データベース検索時の絞り込み処理(直前の検索結果を対象として、さらにデータの絞り込みを行なう処理)などを実現することが難しい。
 HTML文書は通常のテキストエディタやワープロソフトなどを使っても作成できる。

 HTTPリクエストはメソッドと呼ばれる命令が何種類かある。最もよく使われるのはGETメソッド。これは、指定のファイルを要求する「ください」命令である。例えばアドレスバーに「http://www.mickey-son.co.jp/index.html」と入力した場合、ブラウザーはmickey-son.co.jp/のWebサーバーと接続を確立した後、「GET/index.htmlHTTP/1.1」というHTTPリクエストを送信する。これは「HTTPバージョン1.1の方式に従ってindex.htmlというファイルをください」という意味である。

 実際のリクエストでは、ブラウザーの種類(User−Agent)やCookie(クッキー)なども一緒に送られる。IE以外でアクセスするとエラーが表示されるサイトでは、こうした情報を利用している。また、リンクをクリックした場合はリンク元ページのURL(Referer)も送られる。特定のリンクをたどらないと表示されない画像などは、サーバー側でRefererをチェックしている可能性が高い。 HTTPリクエストを受け取ったWebサーバーは、index.htmlが存在するなら「HTTP/1.1 200 OK」という返事に続けてindex.htmlの内容を返してくる。送信が終了するとHTTPのやり取りも終了する。つまり、「GET(ください)」と「OK(どうぞ)」を繰り返すことで、Webブラウザーは必要なデータをWebサーバーから送ってもらい、それらを組み立てて1枚のWebページを表示する。なお、レスポンスの「200 OK」はステータスコードと呼ばれるもので、要求を問題なく処理できた場合には200番のOKを返す。
 何らかの理由で処理できなかった場合には、400番台あるいは500番台のエラーを返す。例えば当該リソースが存在しない場合には「404 Not Found」が返され、ブラウザーはエラーメッセージを表示する。ただし、ブラウザーのエラーメッセージは味も素っ気もないので、Webサイトの多くは404番を返すと同時にエラー表示用のコンテンツ(HTMLファイル)を返してくる。Webサイトによってエラー画面が異なるのはこのためである。
 404番以外によく日にするのは、「401 Unauthorized(認証に失敗しました)」や「403 Forbidden(アクセスが許可されていません)」。前者はユーザー認証が必要なページで認証に失敗した場合、後者は当該リソースへのアクセスが許可されていない場合に返される。

 HTTPでは、1つのリクエストに対して1つのレスポンスを返すとTCP/IPのセッションを閉じる。つまり、「GET/index.html」で送られてくるのはindex.htmlという名前のHTMLファイルだけである。Webブラウザーはこれを解析し、画像などが埋め込まれている場合、それらを芋づる式にダウンロードする。
 例えば「<imgsrc=”photo.jpg”>」といった命令(タグ)を見つけると、新たにTCP/IPのセッションを開いてダウンロードする。画像が5個貼られたページなら5つのセッションが追って開かれることになる。Webページにアクセスするとまず全体が表示され、追って画像が徐々に表示されていくのはこのためである。
 画像が存在しない場合の処理はブラウザーによって異なる。例えばIEでは、画像が貼られるべきところに、「×」アイコンを表示する。
 WebブラウザーがURLで“GET”するリソースは、必ずしも実在のファイルとは限らない。例えば「/」で終わるURLはフォルダーを表し、「http://www.mickey-son.co.jp/」といった具合にルート(最上位フォルダー)を指定する場合や、「http://www.mickey-son.co.jp/internet/」などとフォルダーを指定するケースもある。これらをどう処理するかはWebサイト側が決める。
 一般に、ファイル名を省略した場合にはウェルカムページと呼ばれるページが返る。通常は「index.html」である。

参考
wwwの有る無し
 Webサイトを訪問するとwwwが無いサイトのURLを見かる。www有りか無しでどちらが良いのか?結局の所どちらでも良い。GoogleのSEO(検索エンジン対策)やサイトの表示スピードなどにも影響はせず、有りでも無しでもどちらでも変わらない。一般的にwwwが無く短いほうが覚えやすいやwwwが合ったほうがWebサイトを象徴しているようで分かり易いなどのような理由で意見は分かれるが、全体的にサービスサイトは「www無し」でコーポレートサイトは「www有り」のURLが多い傾向にあるようだ。但しURLは1サイトに1つが原則ですのでどちらかに統一をする必要がある。サイトのルートフォルダに「.htaccessファイル」で「301リダイレクト」設定をし、どちらのURLを入力してもサイトが見れるよう転送設定をしておく必要がある。

HTTPステイタスコード(クライアントエラー関係)
HTTPステータスコード 説明
400 Bad Request 一般的なクライアントエラー
401 Unauthorized アクセス権が無い、または認証に失敗
402 Payment Required 料金の支払いをするまでリクエストを処理できない状態
403 Forbidden 閲覧権限が無いファイルやフォルダ
404 Not Found Webページが見つからない
405 Method Not Allowed 送信するクライアント側のメソッドが許可されていない
406 Not Acceptable サーバ側が受付不可能な値(ファイルの種類など)であり提供できない状態
407 Proxy Authentication Required プロキシサーバ経由で通信を行う際にプロキシサーバの認証情報が不足している
408 Request Timeout リクエスト送信後のやり取りに時間が長すぎるため時間切れ
409 Conflict サーバに既に存在しているデータが競合しているためリクエストを完了できない
410 Gone ファイルが削除されたため、ほぼ永久的にWebページが存在しない
411 Length Required Content-Lengthとはリクエストヘッダに送るデータ容量が書いてある項目
サーバの方でContent-Lengthヘッダが無いためアクセスを拒否した
412 Precondition Failed エラーヘッダで定義された前提条件が満たされていない場合にアクセス拒否される
413 Payload Too Large ファイルをアップロードする際にサーバで定めたファイル容量の
上限を超えてしまった為アクセス拒否された
414 URI Too Long エラー指定したURLが長すぎる
415 Unsupported Media Type サーバで許可していないリクエストの種類の為アクセス拒否された
416 Range Not Satisfiable サーバーがリクエストされた範囲(容量)を提供できない
417 Expectation Failed サーバが拡張されたステータスコードを返すことが出来ない
422 Unprocessable Entity WebDAVの拡張ステータスコード
リクエストは適正だが意味が異なるためサーバが返すことが出来ない
423 LockedWeb DAVの拡張ステータスコード
リクエスト内容がロックされているためサーバが返すことが出来ない
425 Too Early サーバが繰り返し処理が発生される可能性のあるリクエストと判断したため
処理が出来ないと判断した
※ 無限ループでサーバに高負荷がかかるリスクの可能性がある為
426 Upgrade Required Upgrading to TLS Within HTTP/1.1の拡張ステータスコード
HTTP/1.1にアップグレードが必要な為、サーバが処理できない
429 Too Many Requests 一定時間内にリクエスト数が多すぎるためアクセスを拒否した
※ DDos攻撃によるサーバダウンのリスクを回避する為
431 Request Header Fields Too Large リクエストヘッダーが長すぎるためサーバ処理が拒否した

 FTP(File Transfer Protocol ) ポート番号:20、21

 インターネットなどのTCP/IPネットワークを通してリモートコンピュータとの間で相互にファイルをコピーするための標準プロトコル。FTPによるファイル転送は、2つのTCPコネクションで行われる。データ用の「20」番と制御用の「21」番という2つのポートである。
 どうして、二つもポートをつかっているのかというと、データのやりとりをスムーズにおこなうためである。大きなデータを転送している最中は、そのポートを使って他の情報を送ることができない。
例えば、転送をキャンセルしたいとサーバーに伝えたくても、データの転送が終わるまで伝えることができないのでデータと制御のポートを分けることで、転送中にコマンドをサーバーに送信できるようにした。
 FTP専用ソフトを使うと、大きなファイルの分割ダウンロードや、回線が切断されても残りの部分をダウンロードするレジューム機能を利用できる。
 FTPのファイル転送モードには、ASCIIモードとBinaryモードの2種類がある。
  1. FTPクライアントがFTPサーバの2l番ポートにアクセスする。これがデータ制御用の通信になる。
  2. データ制御用の通信が確立したら、FTPクライアント側がFTPサーバ側にデータを受け取る用の自分のポート番号を通知する。
  3. FTPクライアント側がFTPサーバに対してデータの通信要求を行う。
  4. FTPサーバが、2ーの手順で伝えられたFTPクライアン卜のポートに対して、データ転送用の通信を行います。このときのFTPサ一バのポート番号が20番になる。
  5. ファイルの転送を開始する。
 通信が終ると、サーバ側からデータ転送用のコネクショシを切断する。複数のファイルをやりとりする場合でも、1度データ転送用の通信を切断してからまた3〜5番が繰り返される。この間にもデータ制御用の通信はつながりっぱなしである。そして通信が終ると、FTPクライアントからデータ制御用の通信を切断する。
 このように、FTPサーバがFTPクライアントに対して転送用の通信を行うモードを「Activeモード」といいう。
 しかし、ルータを使ってLANを組み、プライベートIPアドレスを持ちながらIPマスカレードを使ってインターネットにアクセスするクライアントでは、Activeモードでは問題が生じる可能性が出てくる。
 FTPサーバ側からFTPクライアントに向かって通信を行うため、ルータを間に介しているとうまく通信ができなくなる可能性がある。FTPクライアントは、FTPサーバに向かって自分がデータを受け取る用ポート番号を通知するが、IPマスカレード機能などでサーバとクライアントの間にあるルータがポート番号を書き換えてしまうと、うまく通信を確立することができない。
 そういったときのためにあるのがPassiveモード(PASV)である。Passiveモードでは、FTPサーバからFTPクライアントに通信を行わず、常にFTPクライアントからFTPサーバに向かって通信を行う。
PasSiveモードでの通信の流れは次のようになっている。
  1.  FTPクライアントがFTPサーバの21番ポートにアクセスする。これがデータ制御用の通信になる。
  2. データ制御用の通信が確立したら、FTPクライアント側がFTPサーバ側にデータを受け取る用の自分のポート番号をPASVモードで通知する。
  3. FTPサーバはFTPクライアントに対してポート番号を通知する。
  4. FTPクライアントは3の手順で伝えられたFTPサーバのポートにアクセスをして、通信を行う。
  5. 通信が確立する。
  6. ファイルの転送が行われる。
 ファイルの転送を開始する前に、このうち適切なモードを選択しなければならない。このうちASCIIモードは、基本的にテキストファイルを転送するためのもので、転送時に行末コード(UNIXでは0Ah、DOS/Windowsでは0Dh、0Ah)に関する変換や、漢字コードの変換(FTPクライアントによる)が行なわれる。一方のBinaryモードはディスクのイメージをそのまま転送するモードで、別名をイメージモード(I MODE)とも呼ばれる。プログラムファイルやアーカイブファイル、ビットマップファイルなどを転送する場合には、このBinaryモードを指定しなければならない。

(a)アクティブモード(Active Mode
 アクティブモードは、FTPサーバからクライアントにデ−タ転送のコネクションを張るモードである。FTPクライアントから得たファイル転送用のデータポートへサーバがコネクションを張ってファイルを転送する。データー転送はサーバーの20番ポート、制御は21番ポートを使用。
(b)パッシブモード(Passive Mode
 パッシブモードは、クライアント側からFTPサーバにデータ転送用のコネクションを張るモードである。現在、FTPで広く使用されているのはパッシブモードである。データー転送はサーバーの任意ポート、制御は21番ポートを使用。

注意)
 通常は、「21」番のポート番号を使用して転送するが、パッシブ モードで通信を行うときは、毎回違う通信ポートを使用する。その時に、普段はファイヤーウォールやセキュリティーソフトに 引っかからない通信ポートを使用しているが、時折使用してはいけない通信ポートを使用してしまった時に、応答が返ってこないことがある。
FTP-data  ポート番号:20
 データ転送用のTCPコネクションは、データを転送するための専用のコネクションである。制御ポートを用いてクライアントからコマンドによる要求があると、FTPサーバは制御ポートでコマンドに対する応答を返す。その後、データポートを使用して、ファイルの転送を行う。このTCPコネクションには「データポート」を用いる。データポートについては、PORTコマンドで別の番号のポートを指定することもできる。
 ファイルを送受信するためのサービスで、FTPサーバ上にファイルを送信する、または、FTPサーバ上のファイルを受信する形で利用される。サーバにファイルを送信することをアップロード、サーバ上のファイルを受信することをダウンロードという。
 Webページファイルを固有のWebサイトに、アップロードするのにも使われる。
 コンピュータ関連機器のメーカが、アップグレード用のファイルをFTPサーバにアップロードして一般公開し、利用者はそれをダウンロードする方法が一般的である。
 一般公開される場合、FTPサーバは誰でもダウンロードできるようにanonymous(匿名ユーザ)のアクセスを許可するように設定されている。また、ユーザ認証を行って、特定のユーザだけにアクセスを許可する設定も可能である。
FTP-controll  ポート番号:21
ファイルをやり取りしながら細かい制御を行う
 制御用のTCPコネクションは、FTPの制御に用いる。ログインする際のユーザ名の確認とパスワードによる認証、転送するファイルの指定や、転送方法の指定に用いる。このTCPコネクションには、「制御ポート」を用いる。このポートを用いて、コマンドと応答がやり取りされる。コマンドには、クライアントがファイルのダウンロードをサーバに要求するRETR(retrieveの略。FTPソフトによってはGETコマンド)や、クライアントがサーバへファイルをアップロードするSTOR(storeの略。FTPソフトによってはPUTコマンド)、クライアントがサーバに保存されているファイルの−覧表示を要求するLlSTなどがある。
アノニマス(anonymous
 通常、サーバにアクセスするためには、そのサーバにログインする権利が必要になる。そのサーバにログインした、つまりはサーバに認証されたユーザだけがファイルを操作できるのである。
 Webサーバのような不特定多数の人にアクセスされるサーバは、認証なしでもアクセスしてページを表示させることができるが、もちろんファイルを操作することはできない。ところが、FTPサーバではファイルのダウンロードやアップロードを行う必要があるため、認証は不可欠になる。
 社内や特定の個人に向けてサービスを提供するときは、FTPサーバで認証を行うユーザを登録しておけばいいのであるが、たとえばフリーソフトウェアなどを公開する不特定多数向けのFTPサーバを構築したい場合、いちいち許可申請をしてもらってユーザを作成したりするのはとても面倒になる。そこで出てくるのがanonymous(=匿名)FTPである。
 anonymous FTPは、ユーザ名に「anonymous」もしくは「FTP」と入れ、パスワードにメールアドレスを入れることによって認証を許可するしくみである。こうすることにより、不特定多数のユーザからのアクセスを受け付けることができるようになる。

  Telnet(仮想端末)  ポート番号:23

 インターネットやUNIXなどにおいて、TCP/IPネットワークで相手先コンピュータにリモート接続するための標準の仮想端末プロトコルである。

 SMTPSimple Mail Transfer Protocol )  ポート番号:25

 送信者は、メールソフトを利用してメールの本文に送り先メールアドレスを書き、自分が所属するドメインのSMTPサーバに送信する。SMTPサーバは、送り先メールアドレスのサーバで示されたPOPサーバにメールを転送する。メールはPOPサーバに一時スプールファイルに保存される。つまりメールアドレスのドメイン名は受信者側のメールサーバーしか特定できない。つまり送信者のメールは受信者本人のIPアドレスは判らないため受信者側のメールサーバーまでしか届かない。その後、DNSの仕組みによってドメイ名がIPアドレスに変換され、受信者側のメールサーバーに転送される。
SMTPサーパ(送信サーパ)へのアクセス(つまり送信動作)には、通常ユーザ認証は行われない。
 メールサーバには、メールを配信する途中でエラーが起こった場合、差出人アドレスにエラーメールを送信する機能を持っている。
メールアドレスは、aaa@bb.cc.jpのように必ず@(アットマーク)がついているが、その右側、bb.cc.jpがドメイン名である。左側aaaがPOPサーバに登録されているユーザアカウントである。
 メールの宛先アドレスを間違って書いてしまうとどうなるであろうか。アドレスの間違いには2とおりある。
まず@の右側が間違っている場合、例えばbb.cc.jpをb.cc.jpと書いてしまうと、送信側SMTPサーバsmtp.yy.zz.jpから「b.cc.jpが見つかりません」という意味のエラーメッセージが差出人に届く。
次に@の左側が間違っている場合、例えばaaaをaaと書いてしまうと、受信側POPサーバpop.bb.cc.jpから「ユーザaaは登録されていません」という意味のエラーメッセージが差出人に届く。

 宛先及び差出人のメールアドレスの内、アカウント名が間違っている場合には差出人にエラー通知を返すことが出来ないため差出人側のメールサーバーにエラー通知メールが届くが差出人には届かない。

 仕様はRFC821などで定義されている。
SMTPは、もともとはサーバ間でメールをやり取りするためのプロトコルだったが、現在ではPOPを用いた電子メールクライアント・ソフトウェアが、サーバに対してメールを送信する際にも利用されている。POPと同様に、SMTPのコマンド体系も簡単なASCII文字列であり、これらの文字によるコマンドをやり取りすることで、メール送信のための通信が行なわれる。
 SMTPでは、まず最初に送信側がHELOコマンドを送り、セッションを開始する。その後MAILコマンドでメール送信者の名前を送り、次にRCPTコマンドでメール受信者の一覧を知らせる。次にDATAコマンドでメールの本文を送信し、最後に“。”(ピリオド)だけの行を送ると、それが本文の終了を意味する。最後にQUITを送ると、実際にメールが送信されることになる。メールを受け取った側では、そのメールが自分のスプール内のユーザー宛であれば、そのままユーザーのスプールに格納するが、他のシステム宛であれば、さらにSMTPプロトコルを使って必要な相手システムに転送を行なう。

 DNS(Domain Name Service )  ポート番号:53

インターネットにおけるドメイン名とIPアドレスとの相互変換を行う。

 POP3Post Office Protocol version3)  ポート番号:110

 送り先メールアドレスのサーバで示されたPOPサーバにメールを転送されたメールはPOPサーバに保存される。受信者側は、POPサーバにアクセスして自分宛てのメールが届いていたらそれを受信する。POPサーバはいわば私書箱のようなもので、届いたメールはPOPサーバに保存され、クライアントがメールソフトを使って受信動作をするまでそのまま放置される。
 基本的にメールデータをローカルPCへダウンロードするだけなのでサーバにメールは残らないのでサーバの記憶容量は少なくて済む。しかしユーザーが複数の方法やデバイスでメールを読みたくなった場合に、一度メールを取り込んで消してしまうと、ほかのアクセスからはそのメールを読む手段がない。
 SMTPサーパ(送信サーバ)へのアクセス(つまり送信動作)には、通常ユーザ認証は行われない。それに対して、POPサーパ(受信サーパ)へのアクセス(つまり受信動作)には、ユーザ認証が必要である。

 NNTP(Network News Transfer Protocol )  ポート番号:119

 ニュースグループ上で送信されるメッセージを管理するためにニュースサーバーとニュースリーダーが使うプロトコル。

 NTP(Network Time Protocol )  ポート番号:123

ネットワーク時刻の同期を提供するサービスに使われるプロトコル。

 IMAP4(Internet Mail Access Protocol version 4 )  ポート番号:143

 POP3と同じく、IMAP4はメールサーバ上のメールボックスからメールを取得するためのプロトコル。
メーラからサーバのメールボックス全体を管理可能にする。すなわちサーバにメールを保管しメールの未読や既読もメールサーバで管理されるのでどの端末から利用しても同じ状態になっている。当然、どれかの端末で削除されたメールは他の端末から見ても削除されている。

  IRC(Internet Relay Chat )  ポート番号:194

 https(Hyper Text Transfer Protocol Secure )  ポート番号:443

 暗号化を使って安全にデータを伝送するHTTP。暗号化にはSSL(Secure Socket Layer)を使う。
 HTTPではデータが生のまま送られる。このため同じネットワークのパソコンや無線LANの電波をキャッチできるパソコンで特殊なソフトや装置を使うと、Webサーバーに送信されるパスワードなどを盗聴できてしまう。大事な情報を守るには、HTTPとは異なる仕組みを用いる必要がある。それがSSLと呼ばれるプロトコル。SSLを用いれば、HTTPでやり取りされる情報を暗号化できる。また、サーバーの認証も行われるので、相手のWebサーバーが本物か確認できる。
 SSLで保護されたHTTPはHTTPSと呼ばれ、対応しているサイトのURLは「https://」で始まる。また、Webブラウザーはカギマークなどを表示して、SSL対応サイトにアクセスしていることが分かるようにしている。「個人情報を送るときにはカギマークを確認」と言われるのはこのためである。

 ポートの解放

 ネットワークゲームには大きく分けるとクライアントサーバ型とピアツーピア型に分類することができる。ほとんど変わりはない。TCPもしくはUDPのポートを使い、特定のポ−トでデ−タのやりとりを行う。そのため、オンラインゲームを行うためには、IPマスカレードなどのポート番号を変換するルータが入っている環境では動作せず、グローバルIPアドレスが割り当てられている必要があるものもある。
 クライアントサーバ型は、ゲーム会社が用意したサーバに接続をしてゲームを行うタイプのゲームであり、MMORPGと呼ばれるゲームなどがこの形式を採用している。
 ゲームのデータはクライアント側で保存をする場合と、サーバ側で保存する場合と、両方で保存する場合とがある。
 一方、ユーザ同士が直接接続をしてゲームを行うタイプのものをピアツーピア型ネットワークゲームといいます。1対1などで対戦するタイプのゲームがこれにあたる。ユーザのIPアドレスを直接指定して接続するので、グローバルIPアドレスが必要になる。また、ルータを介するときはルータの設定をきちんと行わなくてはならない。

 ドメインネームシステム DNS(Domain Name System

 TCP/IPネットワークで用いられるネームサービスのしくみで、インターネット上の「255.254.253.0」などの数字の羅列で表されているIPアドレスを、人が覚えやすいようにドメイン名と呼ばれるmickey-son.co.jpなどの名前に置き換えるシステム。インターネット上にはDNSサーバというIPアドレスとドメイン名の対応表を持っているサーバがあり、ユーザーはそこに接続することによりドメイン名でIPアドレスを持つサーバにアクセスできるようになる。

 ドメインを効率よく管理できるよう、ドメインは階層構造になっている。どのドメインも、必ず自分のドメイン名を管理している上位ドメインを持っています。このとき、すべてのドメインの最上位にあたるドメインを「ルートドメイン」といい、記述するときは「.」(ピリオド)で表します。ドメイン名は「.」を頂点とした階層構造になっている。
 それぞれのドメインは、そのドメインを管理しているDNSサーバが存在する。それらのDNSサーバは、自分のすぐ下のドメインを管理しているDNSサーバ名とそのIPアドレスを持っている。
 たとえば、ルートドメインだったら、トップレベルドメインを管理しているDNSサーバ名とIPアドレスを知っているのである。
 また、DNSサーバは問い合わせを受けたとき、問われたドメイン名が自分の知らないドメイン名のときは、代わりに他のDNSサーバに問い合わせをするという機能を持っている。
 このような階層構造と、他のDNSサーバへの問い合わせ機能のおかげで、1つのDNSサーバにアクセスが集中したり、処理が集中することがなくなる。
 こういった、1つの事柄を多くのコンピュータ(サーバ)で分散して処理を行うことを分散処理という。
 なお、ドメイン名は正確に記述すると、最後にルートドメインを表す「.」が入る。たとえば「www.mickey-son.co.jp」は「www.mickey-son.co.jp.」になる。このようにルートドメインまで記述したドメイン名を絶対ドメイン名といったり、完全修飾ドメイン名(FQDN)と呼んだりする。

 ドメイン名をlPアドレスに変換するシステムであるため、ドメイン名とlPアドレスは1対1に対応する。DNSは、lPアドレスとドメイン名が1対1に対応することを利用して、ドメイン名からlPアドレスを検索したり、その逆を求めたりする仕組みである。
 ドメイン名は、インターネットにおいて組織を表す名前であり、半角英数字63文字以内で構成されている。また大文字と小文字の区別はない。通常、「.」(ピリオド)で区切られた文字列で示され、一番右側から左側に向かって第1レベル、 第2レベル、第3レベル、第4レベルとなる。原則として、アメリカを除く国については第1レベルが国名を表し、左に行くに従って狭い範囲を示すように構成される。日本では、第1レベルに「jp」、第2レベルは組織の属性,第3レベルは組織の名前を示す。さらに、そのなかで細かい組織構成を示す名前が左側に続くことがある。日本では、第4レベルまでがほぼ標準とされている。
 しかし、同一ドメインにおいて複数の利用者がいるときには、利用者の識別が必要である。そのため、ユーザ名という識別子が付けられる。これで、メールアドレスが決まる。そして、ユーザ名とドメイン名の間には「@」を置く約束になっている。
ドメイン名
DNS home .city .co .jp
名前 組織構成 組織名 組織属性 国名
 レベル 第4レベル 第3レベル 第2レベル 第1レベル
ドメインの種類
 
第1レベル  国、地域 .au、.cn、.de、.eu.、.jp、.uk、.ru
第2レベル  組織 .com、.net、.org、.edu、.gov、.int

 ダイナミックDNS

  一般的なインターネットアクセスでは、IPアドレスは接続のたびに変化するため、外出先から自宅にアクセスしようとしてもIPアドレスがわからなければ接続できない。ダイナミックDNSサービスは、変化するIPアドレスに「***.Mickey-son.net」というユーザー毎の名称をつけ、会社や外出先からのリモートアクセスを可能にする。

 

 xDSLx Digital Subscriber Line

 '90年頃に米ベルコア研究所によって開発された。「加入者線」と一般に呼ばれる従来の電話回線(既設の2芯の銅線をそのまま使う)を利用し、専用のモデム経由で高速なデータ伝送を可能にしたデジタル技術(xDSL)の1つ。音声通話と別の周波数帯域を利用するため、インターネット利用中も音声通話が可能で、データ通信はNTT交換機を通らないため、従来のダイヤルアップ接続と違ってインターネット利用時の通話料金(電話代)がかからない。アナログ回線を利用してサービスを提供するため、現在ISDNをご利用の場合はそれを解約してアナログに戻す必要がある。
 音声で使う周波数帯域に比べ、ADSLで利用する高周波帯域は交換機を通過することができない。
そこでxDSLでは、インターネットアクセスする際に電話交換機を経由しないよう、NTT電話局舎内に専用の機器を設置している。

 ADSLAsymmetric Digital Subscriber Line)は、xDSL技術のうち現在もっとも普及している方式で、データ伝送の向き(ユーザーから見て発信の「上り」と受信の「下り」)の速度の違いが「非対称(Asymmetric)」になる。1対の加入者線で上り2Mbps、下り12Mbpsの速度などで通信が可能。xDSLにはほかにも、複数対の加入者線を使う「HDSL」や、ADSLの超高速版の「VDSL」(Very-high-speed Digital Subscriber Line)などもある。
 ADSLでは上り下りの速度が大きく異なるのは、これがもともとベルコア(現テルコーディア)が電話回線を経由してビデオを配信するために開発した技術であったことに由来する。ADSLのこの特性は、送信データより受信データが圧倒的に多いというインターネットの利用形態においても適している。
  本来、通信の世界では、上りと下りのスピードは同じものだと相場が決まっていた。ISDNは両方とも64kbps出るし、社内ネットワークなどでよく使われているEthernetも、上りと下りは同じ。10Base-Tなら10Mbps、100Base-TXなら100Mbpsでる。そして光ファイバー(FTTH)も上りと下りは同じスピードが出る。
 ADSLは「非対称デジタル加入者回線」という名前の通り、上りと下りのスピードが「非対称」である。たとえばADSLの12Mbpsコースでは、下りが12Mbpsなのに対し、上りは1Mbpsであり、1/10以下になっている。もう少し詳しくいうと、8MbpsのADSLの場合、1本の回線の中で上りは25.875kHz〜138kHzを、下りは138kHz〜1104kHzの周波数を使っている。上りに比べて、下りに使われる帯域が圧倒的に広く、その結果下りの方がスピードが速い。
 ADSLで現在主流の伝送方式では、上りと下りの帯域をそれぞれ4kHz刻みで分けている。こうすると、周波数帯域全体では、上りが25本、下りが223本のデータ転送用の道路ができる。下りに関して言えばアナログモデムを223本束ねて使っていることになるので、高速にデータがやりとりができる。1本当たり最大15ビットのデータが割り当てられ、1秒に4000回送信している。しかし、ADSLの場合は下りが何Mbpsであろうと上りの理論値は1Mbpsが上限となる。
 本来、音声通信が使用用途である電話のメタルケーブルは、銅線が持つ周波数帯域のごく一部(300Hz〜3.4KHz:「4KHz帯域」という)しか使われていない。ADSLは、この4KHz帯域を超える高周波数の帯域幅を利用することで、広帯域のデータ通信を行なうものである。標準化されているADSLとしては、1.1MHzまでの帯域を使うG992.1勧告のG.dmt方式(Annex A フルスペック)と、その半分の552KHzまでの帯域を使うG.992.2勧告のG.lite方式(Annex C ハーフレート)の2種類がある。高帯域までを利用するほうが伝送速度は上がるが、逆に音声通信を干渉するためスプリッタという装置が必要だったりするデメリットもある。したがって、ADSLといえばG.lite方式のほうが一般的である。
 電話局と加入者宅を結ぶ加入者線の両端にADSLモデムという装置を取り付け、このモデム間(電話局と加入者宅間)での高速なデータ通信を実現する。ただし、距離が長くなると減衰やノイズの影響などによって最大転送レートが下がるため、通常は電話局から数kmまでの範囲でしか利用できない。電話収容局から電話機設置場所までの回線の距離に比例して減衰が生じる以外に、放送波や電磁波などの影響、電話回線の品質などのユーザが利用する電話回線の環境によって、通信速度が変わってくる。
 ISDNとの干渉を避けるG.liteのAnnex Cという国内仕様が勧告され、ISDNが強い信号を送っているときには、ADSL回線ではあまりデータを送らないようにセーブし、ISDNの信号が弱いタイミングのときには、通常のデータ通信を行うというもの。
 またNTTがメタルケーブル(ドライカッパ)を開放するにつれ、ADSLサービス事業者が徐々にADSLサービスを本格的に提供するようになってきた。
VDSLが50Mビット/秒で伝送できる距離は300m程度と短い。これは、高速で通信するために最大12MHzという高い周波数の電気信号を使うから。8Mや12MのADSLで使うのが最大1.1MHzの電気信号だから、10倍以上の違いだ。電気信号は、周波数が上がれば上がるほど減衰しやすくなり、伝送距離が短くなる。伝送距離が300mしかないのでは、ADSLと同じようには使えない。
追記
 Annexとは、ADSLの伝送規格であるG.992の付帯規格で、地域の事情に合わせて定められた仕様のこと。国際電気通信連合(ITU)ではA、B、Cの3規格を策定している。Annex Aは北米・韓国の仕様、Annex Bは欧州仕様、Annex Cが日本仕様である。
 しかし、ケーブル内の同一カッド(加入者線メタルケーブルの束の最小単位)に異なる方式の通信が混在すると、それぞれが干渉し合い、伝送速度が低下するといわれる。高速の12Mbpsサービスになると、干渉の影響は大きくなり、とりわけ、Annex Aの拡張規格Annex A.exは干渉が大きいと一部で指摘されている。
 NTT東西の加入者線は1カッド当たり2回線が収容され、電話回線・ADSL回線として使用されている。このケーブルに、第2グループ、すなわち標準以上に干渉が大きいと判定された伝送方式のADSL回線を収容した場合、もう1回線には標準的な方式の回線を収容できない。

 スプリッタ

 ADSLの信号は、電話の音声信号と混じって電話回線に一緒に流れ出て行く。ユーザー側からの信号を送り出すときは、電話とADSLの両方の信号をそのまま流すだけで、スプリッタは特に仕事をしない。信号を受信するときは電話とADSLの信号を分ける役割を果たす。
 スプリッタは電話側に流れる高い周波数の信号をカットするので、ADSL側から電話側へ与える影響を防ぐために使うものと考えがちであるが、電話側からADSL側へ与える影響を防ぐ役割も持っている。スプリッタがないと、受話器を取って回線を接続した状態と、受話器を置いて回線を切断した状態で、信号の伝わり方が変わる。受話器を置いた状態だと電話器の回路は回線から切り離された状態であるが、受話器を取るとそれが回線につながった状態になり、そちらまで信号が流れて行ってしまう。信号の伝わり方が変わると雑音などの影響も変わるので、回線の状態を調べるトレーニングのやり直しが必要になり、その間数10秒程度通信が中断する。スプリッタはそれを防ぐ役割も持っている。高速にトレーニングをやり直す仕組みがあればスプリッタがなくても支障が起こらかという考え方もあり、G.992.2仕様にはその仕組みが盛り込まれたが、その仕組みを実現した機器が製品化されていない、ADSLの信号が雑音と別電話の声が聞き取りにくくなる、といった理由からG.992.2仕様のADSLでもスプリッタを使うのが一般的である。

 FTTHFiber To The Home

 各家庭まで高速・大容量の光ファイバを敷設することで、将来的に高速な情報通信環境を整備しようと郵政省等が推進している。全国中の加入者線までを光化する為には多大なコストがかかるが、電話局同士→アクセス網の基幹線である「き線」→「き線」の終端から電信柱までの「配線系」と、光化は徐々に進められている。

 電力線通信(PLC:power line communication

 電力線通信は10k〜450kHzを使う低速タイプが国内で既に実用化されている。2M〜30MHzの高周波数帯を利用する高速電力線通信はアマチュア無線や短波放送など、他の無線が利用しているため、干渉問題が懸念されている。

 プロキシサーバProxy Server )

 インターネットと内部ネットワークとの接続点にプロキシサーバ(代理サーバ)を設置し、外部とのやり取りはすべてプロキシサーバを経由して行う方法である。
 プロキシーサーバーは、プロキシー(proxy:代理)という名前の通り、社内からのインターネットへのアクセスを代行するサーバーのことで、中・大規模な社内LANなどでよく使われる。LAN端子を最低2個備えており、一方を社内LAN側に、もう一方をインターネット側に接続して設置されるのが一般的である。
 プロキシーサーバーを設置するメリットはいろいろある。社内からのアクセスを代行するので、グローバルIPアドレス(インターネットで利用できるIPアドレス)を節約できる他、外部からの不正侵入を防ぐために、社外から社内へのアクセスを禁止する機能も備えている。業務と関係のないWebサイトへのアクセスを禁止する設定も可能であり、またユーザーがどんなWebサイトを見たのか、通信の記録(ログ)を取る機能もある。

匿名性
 Proxyサーバがそのコンピュータの代りにインターネットヘアクセスすると、サーバ側からどのクライアントがアクセスしてきたのかはわからない。
 まず、内部のコンピュータがインターネットのページに対してリクエストを送信する。Proxyサーバではコンピュータが出したリクエストを中継するときに、送り元を自分に置き換えてサーバにアクセスする。こうすると、サーバ側からはProxyサーバからリクエストがきたように見えるので、Proxyサーバに対してデータを送る。Proxyサーバはデータを受け取ったら、それをリクエストを出したクライアントに対して返す。こうすることによって、ネットワーク内部のコンピュータは一切外部に情報を漏らさなくて済むのである。

フィルターリング
 利用者のリクエストを受け取ったプロキシーサーバーは、あらかじめ許可されている安全なIPアドレスやURLだけに通信を制限することができる。

ウィルスチェック
 Webサーバーからのレスポンスは、プロキシーサーバーを経由して利用者に渡される。したがって、利用者に渡す前に、プロキシーサーバーでウイルスチェックを確実に行える。

 プロキシーサーバーには、利用者のリクエストとWebサーバーのレスポンスが記録されている。したがって、もしも問題が生じたときには、その記録を解析して、原因を調べることができる

キャッシング
 また、Proxyサーバはアクセスして取得してきたデータを一時的に保存する(キャッシュする)機能を持っている。これにより、同じネットワーク内の違うコンピュータが、以前にアクセスしたときと同じWebサイトに対して要求を出すと、キャッシュしてあるデータを返す。インターネット上をやりとりするよりも、LAN内の方が高速にデータ転送が行えるので、ユーザ側はネットワークが高速につながったような印象を受ける。 また、インターネット上をデータが流れないので、インターネット内のデータ通信の混雑緩和にも役に立つ。

負荷分散
 プロキシーサーバー(サーバー側に置かれるリバースプロキシー)は、利用者のリクエストが特定のWebサーバーに集中しないように分散させることができる。
これらは、アクセス速度の向上となる。

 多くの場合に、プロキシーサーバーは、「DMZ」という領域に配置される。DMZはファイアウォール(通信データの通過を制限する仕組み)によって、内部ネットワークと分離されたネットワークであり、プロキシーサーバーのほかにも、社外に公開するWebサーバー、メールサーバー、DNSサーバー(ドメイン名とIPアドレスを変換するサーバー)などが配置されている。危険が潜むインターネットに接しているので、DMZ(De−Militarized Zone、非武装地帯)と呼ばれる。社内ネットワーク内のパソコンは、ファイアウォールを経由してプロキシーサーバーにアクセスする。プロキシーサーバーは、ファイアウォールを経由してインターネットにアクセスすることによって、社内ネットワークとインターネットが直接つながらないようにしている。 自分のパソコンが、プロキシーサーバーを使っているかどうか確認するにはWindowsのコマンドプロンプトを起動して「C:\>netsh winhttp show proxy」とキー入力して「Enter」キーを押す。現在のプロキシーサーバーの設定が表示される。

まとめ

セキュリティの強化
匿名性の確保 利用者のIPアドレスを通信相手に知らせない
フィルタリング 安全なIPアドレスやURLだけに通信を制限できる
ウィルスチェック 利用者に渡す前にウィルスチェックを確実に行える
アクセスログの解析 通信の記録が残るので問題が生じた時に解析できる
アクセス速度の向上
キャッシング コンテンツを保存して再利用できるようにする
 負荷分散 特定のサーバーにリクエストが集中しないように分散させる

 

 送受信

 パケット

 インターネットの世界では、文字や画像、音声など、膨大なデータが常に送受信されている。このため、誰かが大きなデータをまとめて送信すると、ネットワーク全体に負荷がかかり、ほかの人のデータ送受信に影響がでてしまう。そこで、それぞれのデータを複数の小さなデータに分割して送受信する仕組みが考えだされた。この小さなデータのことを「パケット」とよぶ。

 MTUMaximum Transmission Unit


 このパケットの1つずつが送信時に持てるデータ量の最大値を、頭文字をとって「MTU」という。
パケットが大きければ大きいほど、1度で送ることができるデータの量が増え、何度もデータを送信しなくて済むので効率よくデータを送れる。 しかし途中でデータの送信に失敗して最初からやり直しとなった場合、再送しなければならないパケット量が大きくなり、ムダが増えるというリスクも発生する。通常のLANではMTUの値は1500バイトとなる。
 Windowsパソコンのなかでも、「ブロードバンド用」といわれている「Windows XP」を使っていない人、特に「Windows 98」や「Windows Me」では、MTU設定を変えてみるとスピードアップ効果がある。
MTUの最適値の求め方
コマンドプロンプト(MS-DOSプロンプト)を使うと、現在の環境でベストなMTU値がわかる。ここではCATV10Mbpsの環境で、Windows XPマシンを使って実験してみる。
 最初にスタートメニューのプログラム、アクセサリからコマンドプロンプトを選ぶ。出てきた画面で、次のようにコマンドを打ち込み、[Enter]を押す。

ping -l 1300 -f www.yahoo.co.jp

 このコマンド意味は、「1300バイトのデータを細分化せずにwww.yahoo.co.jpに送りなさい」という意味である。データの送り先となるサイトはどこでもよい。ドメイン名ではなく、IPアドレスが分かっていたら、直接打ち込んでもよい。
 [Enter]を押してしばらくすると、下記のように表示されたら通信成功。1300バイトのデータは何の問題も無く、通過できたことになる。
 その下を見ると
Packets:Sent = 4 , Receive =4 , Lost = 0 (0% loss)
 と書いてある。ひとつも失敗しないで、ちゃんと送ったデータを完璧に受け取れたわけである。これで「1300バイトは余裕」ということがわかったので、数字を「1350」「1400」「1500」と大きくし、もっと大きなパケットも送れるかどうか試してみる。
数字を徐々に大きくしていくと、ある値を入れたところで、

Packet needs to be fragmented but DF set.

と表示されるようになる。これは「データが大きすぎて、断片化してしました」という意味である。 さらに

Pakets:Sent = 4 , Receive =0 , Lost = 100 (100% loss)

  で「ひとつも受け取れてません」ということもわかる。要するに、この表示が出たら「MTUが大きき過ぎ」である。
 実際のMTUの値は、pingコマンドを使った場合のヘッダー部分のデータ量を足した値になる。pingコマンドでは、ICMP(Internet Control Message Protocolというプロトコルを使ってデータを送るが、このときパケットの先頭(ヘッダー)に28バイト分の情報を足している。従って、MTUの最適値とは、「パケットが断片化しないギリギリの数字+28」となるのである。

 RWIN(Receive Window Size)

 RWINはMTUの値からヘッダー部分の40バイトを引きそれを整数倍した値である。RWINは大きければ大きいほど、その分短時間に大量のデータの受け渡しができることになる。逆に途中でエラーが発生したり、何らかの理由でうまく受け取れなかった場合は、その分まとめて再送しなければならないので、結局時間がかかるというデメリットもある。
 TCP/IPの仕組みでは、データを受け取ったAck(確認応答)が得られると、再びサーバーがデータを送信する。pingコマンドで往復に34msかかったとすると、PCがサーバーからデータを受け取って、その確認応答がサーバーに戻るまでに34msはかかるということである。
 要するに34ms間は、何の確認もなしにデータを受け取り続けられるのだから、この時間分のデータ量をRWINに設定すればよい。
RWINの最適値を求め方
 RWINの最適値を求める基本的な考え方を説明する。RWIN値は、MTUの最適値から算出することができる。計算式は次の通りである。
 なぜMTU値から40バイトを引くのかというと、TCP/IPで運んだ純粋なデータサイズを算出するため。パケットにはTCPヘッダー、IPヘッダーと呼ばれる制御情報がくっついていて、それぞれが20バイトずつある。「MTU値」から 40バイトを引いた、純粋なデータサイズを「MSS(Maximum Segment Size)」と呼ぶ。
 さて、今回実験したwww.yahoo.co.jpの環境で、断片化するギリギリの値が「1472」であったとする。この値から、MTU、MSSそれぞれを計算してみる。
MTU = 1472 + 28 = 1500
MSS = 1500 - 40 = 1460
 MSSについては、先ほど述べたとおりで、インターネットも含め、TCP/IP通信で送られるデータの先頭(ヘッダ)にくっついているデータが40バイトあるので、1500バイトから40バイトを引いた1460バイトが最適のデータサイズとなる。そして、一度に受け取る最大のデータサイズRWINは、この値を整数倍化したものとなる。
 計算は次のように行う。まずは、回線の実効速度(スループット)を求める。スループットは、「RBBTODAY」などの速度測定サイトで求められる。スループットは3Mbpsであったとすると。
 3Mbps(300万ビット/秒)で、平均34ms(34/1000秒)のスピードで応答が返ってきたのだから、
 最低でもこのデータ量までは一度に受け取れることになる。単位を「バイト」に直してみると1バイトは8ビットだから、
102000 / 8 = 12750バイト
 これが、実験した環境で一度に受け取れるデータサイズである。ややこしいが、ここで計算したデータ量は、あくまでも単純に「現在一度に受け取っている量」であり、RWINの最適値ではない。
 では、先ほど算出した「12750バイト」は、1パケットあたり1460バイト(=MSS値)で送信を行うと、何パケット分となるかを計算してみる。これで、この回線では「一度に何パケットまで送っても大丈夫なのか」がわかる。
 つまり、この回線だと、1回のデータのやりとりは10パケットまではいっぺんに送っても大丈夫である。ただし、このとき、Windowsは2パケット単位でデータを送信するので、必ず偶数値に切り上げることが必要。
 さて、10パケットは結局どれだけのバイト数かと考えていくと、
1460 × 10 = 14600バイト
 となる。この環境でのRWINの最適値は14600バイトとなる。
 ちなみにWindows 98では、RWINのデフォルト値は8192バイトと小さい。ブロードバンド回線には小さすぎる値であれば、変更したほうがよい。Windows 2000/XPでは、RWINのデフォルト値が1万6384バイトと大きくなっており、FTTHなどの高速回線でない限りデフォルト値でも問題はないだろう。
この項は「WPC ARENA」日経BP社を参照

 IP電話(VoIP)

 IP電話とは、IPネットワーク(インターネット)を利用した電話サービスのことをいう。IP電話はVoIPVoice over IP)という技術を使って、デジタル化した音声を専用のVoIP基盤ネットワークでやり取りする。プロトコルはSIPsession initiation protocol)。今までの固定電話はNTTなどの電話回線を使って各電話が1本の回線を占有していたが、その一部または全部をIPネットワークに置き換えた電話サービスである。つまり複数の回線を複数の利用者が共同で利用する。
 またIP電話は、普通の電話機から普通の電話機へ通話できる「Phone to Phone」型のサービスということも特徴の1つで、電話の使い方は今までの固定電話と変わらない。つまり、
 ・現在使っている電話機がそのまま使える
 ・ダイヤルや通話の方法もそのまま
 ・電話する際にパソコンの電源が入っている必要はない
というように、利用する回線(ネットワーク)が違うだけで、見かけ上は今までの電話と何も変わらない(ただし、110番、119番の緊急電話に代表される3桁特番、そのほか0120、0990などの番号など利用できない番号もある)。しかし、その場合には自動的に固定電話回線に切り替わるので、通常は問題ない。
 IP電話は、IPネットワークを利用した電話サービスなのでADSLや光ファイバーなどのブロードバンド回線が必要となる。接続は、IP電話対応のADSLモデムやTA(Telephony Adaptor)をご家庭で利用している電話機と接続して使う。
 IP電話は受話器を上げてダイヤルすると、NTTなどの電話回線ではなくプロバイダのIPネットワーク網を経由して音声通話が開始される。相手が同じIP電話サービスを利用している人であれば、IPネットワーク網だけを経由して通話する。普通の固定電話に電話をかける場合は、IPネットワークからNTTなどの電話網に接続して、着信することになる。このとき、IP電話へ電話をかけた場合は通話料が無料に、普通の固定電話に電話をかけた場合は、普通の固定電話同士の通話よりも料金が格安になる。
 IP電話では音声データをIPパケット化(具体的には、約20msごとにパケット化し、1秒間には50個のパケットを送リ出している)して送受信するが、ビットレートでいうと64Kビット/秒程度となっており、音質がよいとされるPHSでも、32Kビット/秒程度であることを考えると、音質的にもまったく問題ない。ただし、IPネットワークをほかのユーザーと共有しているという性質上、極端に通信量が増大した場合に、一時的に音質が劣化する可能性はある。
 実際には64Kビット/秒のデータにIPヘッダーなどの情報が付く。さらに、呼制御プロトコル用の情報分なども加算して考えると、実効スループットとして、片道当たり、だいたい100Kビット/秒近くの速度が必要になる。
 ただし、100Kビット/秒というのはIP電話しか使わない場合のギリギリの数値。あるプロバイダによれば、実用上の安定性を考慮するなら、インターネットの通信分も含めて320Kビット/秒程度が目安になる。
 電話サービスに使うIPネットワークはもともと、特定のデータを優先させるといった処理をしないもの。したがって、パソコンによるデータ通信とIP電話を同時に使うと、音声パケットが処理できずに破棄されたり、処理が遅れたりして、品質が劣化する可能性が出てくる。
 キャッチホンやナンバーディスプレイなど、NTT東西が提供しているサービスは、IP電話では利用できない。つまり、電話が着信したときにかかってきた電話を固定電話として受けている場合、キャッチホンを利用することは可能である。そのときに、どちらの方式で電話を使っているかによって、キャッチホンなどが使えるかどうかが変わることになる。

 IP電話に加入すると、今までの電話番号に加えて「050」で始まるIP電話専用番号を持てる。一般の固定電話や公衆電話からは今までの番号なら一般回線に、この「050」で始まる専用番号を回せばIP電話にかけることができる。当然全国一律の通信値段となる。NTTグループなど光ファイバー網を使い、110番など緊急通報に対応できる場合には、「03」など通常の固定電話の番号が割り当てられる。

 ストリーミングStreaming

 ディジタル化された映像コンテンツをサーバからIPネツトワーク経由で配信して、クライアント側のパソコンやPDA(携帯情報端末)で視聴する方法は2つある。例えば、映画1本分の映像データを一塊のデータファイルとして扱い、サーバからクライアントへファイル転送(ダウンロード)して、クライアントでは全部受信し終わってから、ファイルを開き、再生して視聴する方法が1つ。でも、映像データファイルの大きさは、データ圧縮技術を駆使してもまだまだ巨大で、現在の誰でも利用できるインターネット程度の速度のネットワークでは、転送時問が膨大なものとなってしう。受信を開始してから再生が始まるまで長時間待たされるので、リアルタイムで見たいといったニーズには合いません。
 もう1つが、サーバから連続的に送信される映像デ一夕をクライアントで受信しながら順次再生を開始して、映像データ全部のダウンロード完了を待つことなく視聴できるようにする方法であり、これが映像ストリーミングである。

  映像ストリーミング

 サーバにはストリーミングサーバソフトウェアを、クライアントにはストリーミング映像再生ソフトウェア(プレーヤ:PIayer)やWebブラウザソフトウェアを用意しておく。サーバから連続的に送出される映像データパケットが、IPネットワーク経由でクライアントに到着して受信されると、それらは内部のバッファ(メモリ)に蓄えられていく。一定量の映像データが蓄えられたら、それらを読み出して復号化を行い、再生した映像をクライアントのディスプレイに表示する。
 このように映像ストリーミングでは、連続的な映像伝送と再生が同時に処理できるので、コンサートやイベントのライブ中継のようなリアルタイムの映像配信(ライブ配信)に適している。もちろん、サーパに蓄積されている映像コンテンツを利用者がいつでも好きなときに視聴するようなオンデマンド映像配信にも活用できる。また、映像ストリーミング技術によれば、映像データがファイルとしてクライアントに残らないため、視聴者の不正な複製行為による著作権侵害も防ぐことができる。

 ライブ映像ストリーミング

 テレビの生中継のように、ライブ映像をリアルタイムに配信する方法(ライブ配信)。イベント会場などでビデオカメラで撮影された映像は、エンコーダに送られて圧縮された形のディジタル符号列に変換される。このディジタル映像データ(ビットストリーム)は、直ちに配信サーバに転送されてIPネットワーク上に送信される。

 オンデマンド映像ストリーミング配信

 ビデオテープやDVDのように録画済みの映像を利用者の要求に応じて、IPネットワーク経由で配信する方法(オンデマンド配信)。ディジタル映像コンテンツをサーバにあらかじめ蓄積しておき、利用者からの要求があると配信サーバからストリーミングに適したディジタル符号形式で配信する。この方法なら、いつでも好きなときにお気に入りの映像コンテンツを選んで視聴できる。

 バッファリング

 クライアントへのIPパケット到着間隔の変動(遅延変動)は、IPネットワークでのトラヒック輻輳に伴うパケット転送遅延や、エラー訂正に起因するパケット再送の発生などによって生じる。ネットワークの速度が遅いと到着間隔時間のゆらぎの絶対値が大きくなる。その場合、クライアントの映像データ受信バッファを大きくすれば映像の再生開始タイミングは遅れるものの、一部のパケット未着(=データ欠落)の影響による映像の乱れを回避できる。
 連続して映像の再生ができるように数〜数十フレーム分の映像デー夕を蓄積しておく。遅れて到着するIPパケットが、数〜数十フレーム分の時間内に間に合えば、正しい映像が再生できるわけである。バッファリングされるデータ量(バッファの大きさ)はプレーヤによって異なるし、実際のネットワーク環境に合わせて視聴者がバッファの大きさを、例えば「秒単位」で設定変更することもできる。

 IPパケット配信方式

(1)ユニキャスト
サーバから送信するIPパケットの宛て先アドレスを、クライアント(受信者)ごとに指定する1対1の配信形態。映像ストリームの配信数は受信者数に比例して増加する。そのため、多数の受信者に配信するときには、ネットワークの帯域を多く占有すると同時にサーバに多大な負荷がかかる。
(2)ブロードキャスト
受信者を特定せず、ネットワーク上のすべての受信者が、受信可能な宛て先アドレス(ブロードキャストアドレス)を付したIPパケットをサーバから送信すると途中のルータでパケットを複製していくことによって、1本の映像ストリームをネットワーク上のすべての受信者に配信する。サーバからの映像ストリーム送信は受信者の数とは関係なく、1つのコンテンツにつき1本だけで済む。ただし、ネットワークの隅々まで映像ストリームが伝送されることにより、帯域が無駄に使われてしまうので、この方式での配信が妥当かどうかの見極めが必要である。
(3)マルチキャスト
ユニキャストは1対1、ブロードキャストはネットワーク上のすべての受信者に対する配信方式であるが、マルチキャストは、1つの宛て先アドレスで、同じコンテンツを同時に複数の受信者に配信する。サーバからの送信が一度で済み、さらに特定の受信者群だけに配信する点が特徴である。例えば、ネットワーク内にコンテンツAを視聴する受信者グループ、コンテンツBを視聴する受信者グループが混在しているとする。この場合、配信先の受信者グループを指定する特別な宛て先アドレス(マルチキャストアドレス)をIPパケットに付して送信すると、途中のルータでパケットがグループ向けに複製されていき、ネットワーク上の特定の受信者グループだけにコンテンツ(AまたはB)を配信することができ、ネットワークの帯域を無駄なく使える。

 インターネットの新しい利用法

 EDI(Electronic Data lnterchange:電子データ交換)
 EDlは、異なる企業間での商取引をコンピュータネットワークによる電子データの交換で行うために、商取引データのフォーマットとその手順を決めたものである。個々の企業だけでなく、参加企業全体のコスト削減、効率化、迅速化、正確性の向上などを目的としているが、一部の業界や企業グループ内での標準化や規格化が見られるものの、国全体としての標準化や規格化は検討段階である。

 CALS(Commerce At Light Speed )
 CALSは、EDlをさらに推進したもので、企画・開発、設計から、調達、製造、運用、保守に至る製品のライフサイクルに関する情報を統合データベースで−元管理し、取引情穀や技術情報などを調達側と供給側の双方で共有し、製造業の活性化と国際協力の強化をすることを目的としている。

 EC(Electronic Commerce:電子商取引)
 ECは、商品やサービスの販売を店舗や従来型の通信販売で行うのではなく、インターネットなどを介して行う方法である。小規模資本で開業できるとともに、無店鋪、少人数経営により運営コストを低く抑えることができ、顧客別に異なる情報の提供が可能となる。
 ECを浸透させるためには、電子決漬の仕組みが必要である。電子決済は、決済をコンピュータネットワーク上で行う仕組みで、一般にクレジットカードで決済される。また,電子マネーなどの実験も進められている。
 電子決済の中心となるのは暗号化技術である。