基本情報技術者試験 -2ページ目

UML (ユーエムエル)【 Unified Modeling Language 】


オブジェクト指向のソフトウェア開発における、プログラム設計図の統一表記法。


オブジェクト指向は、「オブジェクト」という単位ですべてをとらえる考え方です。


システム化対象となるビジネスを、

   ・オブジェクト間のコミュニケーションとして考える、

   ・システムをオブジェクトの集合ととらえる、

   ・オブジェクトの振る舞いをプログラムで記述する、

というように、

ソフトウェアに要求される機能を、オブジェクトとして考えていく

のがオブジェクト指向です。



UMLモデル


オブジェクト群がどのような構造を持っているのか、

オブジェクトの間でどのようなメッセージが交わされるのか、

といった言葉だけでは伝えづらいの情報を、図(ダイアグラム)を使って表します。

そうした図のことをモデルといいます。


UMLは、表記法を統一し、標準化することで、

技術者間でより正確にオブジェクトに関する情報や考えを交換することができます。


UMLで表記法が定義されている図は、

システムの構造をモデル化するための構造図 

システムの動作をモデル化するための振る舞い図

に分けることができます。


構造図

|----クラス図

|(システムを構成する各要素を、属性と操作を持ったクラスとして分離し、それらの関係を記述する)

|----複合構造図

|(構成要素間の結びつきや役割、外部との境界を定義)

|----コンポーネント図

|(物理的な構成要素 (ファイル、ヘッダ、ライブラリ、モジュール、実行可能ファイルやパッケージなど) からシステムの構造を表現)

|----オブジェクト図

|(クラスを実体化して生成されたオブジェクト同士の関係を表現する)

|   

|----パッケージ図

|(パッケージ同士の依存関係を描画することで論理的なグルーピングをする)

|   

|---配置図

 (システムの要素がサーバなどの物理的な実体に対してどのように配置されるのかを記述する)



振る舞い図

|----状態遷移図(ステートチャート図)

|(ひとつのオブジェクトが内部に持つ状態が変化するようすを記述)

|---アクティビティ図

| (システムなどのフローを記述する表記法)

|---ユースケース図

| (システムに要求される機能を、ユーザの視点から示したもの)

|----相互作用図

|(オブジェクト間の相互作用をメッセージのやり取りとして記述する)

   |   

   |----シーケンス図

   |(オブジェクト間の相互作用を時系列に特に着目したモデルを表記)

   |----コラボレーション図

   |(オブジェクト間の相互作用をメッセージのやり取りとして記述する)

   

パケットフィルタリング 【 packet filtering 】


ルータやファイアウォールが持っている機能の一つで、
送られてきたパケットを検査して通過させるかどうか判断する機能。


「パケット」とは、IP(Internet Protocol TCP/IPなどで使われる現在主流のネットワーク層プロトコル)などで使用される、適切なサイズに分割されたデータのことです。


フィルタリングのルールで使用される主な情報には、
○ パケットの通信方向(LAN→WAN/WAN→LAN)
○ IPアドレス(送信元・あて先)
○ プロトコルの種類(TCP/UDP/etc.)
○ ポート番号(送信元・あて先)

等があります。


一般的なブロードバンドルータは、
LANのセキュリティを維持するような、パケットフィルタリングを行うようになっています。

基本的なポリシーとしては、

 通信方向がLAN→WANのパケット:全て許可
 通信方向がWAN→LANのパケット:全て遮断

ですが、このままでは、インターネット側からのデータを受け取ることができません。


そこで、LAN側から送信されたパケットへの返信パケットのみが通過できるように
自動的にフィルタリングルールを更新します。



LAN側から始まった通信が終了するまで、更新されたルールは維持されるので、返信パケットが遮断されることはありません。


通信が終了すると、追加されたルールは自動的に削除され、元の状態に戻ります。


最も一般的かつ簡便なセキュリティ技術としてよく知られているだけに
破る手段も多く、他の技術と併用することが必要となっています。


ポート番号 【 port number 】


インターネット上の通信において、
複数の相手と同時に接続を行うためにIPアドレスの下に設けられたサブ(補助)アドレス。

TCP/IPで通信を行うコンピュータは
ネットワーク内での住所にあたるIPアドレスを持っていますが、
補助アドレスとして0から65535のポート番号を用いています。


ひとつのコンピュータ上で動いている複数のプログラムのうちの
一つのプログラムを通信相手として指定するために、
ポート番号を用いています 。


サーバにとっては、
複数のコンピュータと同時に通信するために、
サーバ上のサービスを特定するための番号であるといえます。


IPアドレスとポート番号を組み合わせたネットワークアドレスを「ソケット」と呼び、
実際にはデータの送受信はソケット単位で行われています。


●ポート番号は大別して 3 種類に分けることができます。


WELL KNOWN PORT NUMBERS ウェルノウンポート

0番 - 1023番 一般的なTCP/IPアプリケーション(ftp・smtp・dns・http等)を対象に、

IANA(Internet Assigned Numbers Authority)がポート番号を割り当てています。

他のポート番号でも動かないわけではありませんが、

広く一般に供するサーバはこの番号で動作させるというのが慣例化しています。


REGISTERED PORT NUMBERS

1024番 - 49151番 各ソフトウエア・ベンダーが、

IANA(Internet Assigned Numbers Authority)に独自アプリケーション用に申請し、

IANAが管理しています。

ただし,IANAに申請せずにこの領域の番号を使うアプリケーションもあり,

利用番号が重複する場合もあります。



DYNAMIC AND/OR PRIVATE PORTS ダイナミックポート

49152番 - 65535番 一時的な通信のために自由に利用できるポート。


★ポート番号をウェルノウンポートエフェメラルポート ephemeral(短命な) ports・・ダイナミックポートと同義)と考えることもできます。


サーバ側のポートは目的のサービスが稼動しているポート(多くの場合、ウェルノウンポート)である必要がありますがクライアント側はどんなポートを使用していても問題ありません。


サーバとのやり取りの際、

クライアント側のOSは、空いているエフェメラルポートの中から適当なものを選んで割り当て作業を行い、

通信が終了するとそのポートを解放します。


エフェメラルポートは、OSにより割り当てが異なり、

Windowsを始め多くのOSでは1024番から5000番をエフェメラルポートとして割り当てていますが、

例えば、FreeBSD 5.0等では49152番から65535番を割り当てています。