ネットワーク API


Java とインターネット

Java 言語が登場する以前の言語は、ネットワーク時代到来前のものであり
主にコンソールを中心とした時代に設計されたものです
これに対して Java 言語はネットワークやマルチスレッドが想定され
しかも OS に依存しないという強力なネットワーク性を持つ言語です

そのため、Java 言語を使えば極めてネットワークに強いアプリケーションを建築でき
何よりもセキュリティ面において、高い信頼性があるというメリットがあります

OS に依存しないという言語の性質から、ネットワーク接続手続きをすることはなく
他の手法に比べて極めて簡単に、そして強力にネットワークを利用できます
このようなことから、Java は極めてネットワークに適した言語なのです


TCP/IP

Java ネットワーククラスは TCP/IP ネットワークで動作します
TCP/IP については、この場では詳しく説明することはできませんが
これは4層に分かれる階層モデルで、インターネットの事実上の標準です

アプリケーション層
トランスポート層
インターネット層
ネットワークインターフェイス層

TCP/IP ではこのモデルを元に、物理的にコンピュータ同士が通信しています
下位層にいけばいくほど物理的な処理になります
Java で記述するコードは、このうちのアプリケーション層とトランスポート層が主で
複雑で物理的なネットワークインターフェイス層は完全に隠蔽されます

ネットワークインターフェイス層は、コンピュータの物理的な回線を定義し
ケーブル回線などのハードウェアなどの物理層を含んでいます
インターネット層はコンピュータを識別する方法を定義します
ネットワークで共有されるコンピュータは、常に一意の名前が必要になります
Java が認識できるプロトコルは IP であり、この講座でも IP を用います

IP はインターネットで普及する最も標準の認識プロトコルで
32 ビットの数値によって、世界中のコンピュータを一意に認識します
32 ビットというのはこれを記述している時点であり、
近い将来128ビットを用いる IPv6 が普及するでしょう
なぜならば、IP では 40 億ほどのコンピュータしか識別することができないからです
企業が数千という IP を取得するため、急速に IP が不足し始めたのです
(最新の Java ネットワーク API は、すでに IPv6 に対応しています)

トランスポート層では、受信したデータを保障することです
長距離ネットワークはちょっとした雑音に弱いため、すぐにデータを失います
そこで、受信したデータを調べ、データが壊れていないかをこの層で調べます
トランスポート層は主に TCP と UDP と呼ばれるプロトコルが普及しています

最後のアプリケーション層は、まさに受け取ったデータを加工し
ユーザーにこれを伝えるインターフェイスとなります
多くの場合、ネットワークプログラムはこの層に時間を費やします



戻る次のページへ