某試験に向けてのメモ的な何か4

Geekなぺーじ : TCP、UDP

スタック/キューは来ない確率のほうが高いように感じる


構造化プログラミング
構造化プログラミングとは、コンピュータのプログラム上の手続きをいくつかの単位に分け、メインとなる処理では大まかな処理を記述し、サブルーチンによって細部を記述していくという方法論のことであり、1960年代にダイクストラによって提唱された。背景として、大規模化したプログラムを効率よく記述しプログラム設計上のミスが起こりづらいようにしたいというニーズが挙げられ、理論的には、「1つの入り口」と1つの出口を持つようなプログラムは、順次・反復・分岐の3つの基本的な論理構造によって、記述できる」とう構造化定理に基づく。
構造化プログラミングでは、順次・反復・分岐という3つの基本的な論理構造を組み合わせてプログラムを記述する。「順次」とは、プログラムに記された順に、逐次処理を行っていくものである。「反復」は、一定の条件が満たされている間処理を繰り返すものである。「分岐」は、ある条件が成立するなら処理Aを、そうでなければ処理Bを行なうものである。
構造化プログラミングによりプログラムを記述するには、サブルーチン分割や構造化制御をサポートするプログラミング言語を用いるほうがよい。そのような言語は構造化言語と呼ばれ、C,Javaをはじめ、現在の手続き型言語は構造化の機能を提供している。たとえば、Cでは、関数内に文を並べることが「順次」であり、「反復」の制御構造としてfor,while,do〜whileが、「分岐」の制御構造としてif〜else,switch〜caseが利用可能である。
サブルーチンとして機能を記述することで、データと機能を直行させ、可能な限り互いの文脈に依存しないように分割することが容易となる。これにより、プログラムのモジュール性を高め、設計保守が容易となる。ただし実際には、多種多様なデータを扱うのに十分とは言えず、1980年代には、データ(オブジェクト)を中心に捉えたオブジェクト指向の分析・設計法やプログラミングパラダイムに関心が移った。


ソートアルゴリズム

バブルソート:実装が容易な内部ソートの一種。隣接交換法とも呼ばれる。最悪の計算量はO(n^2)である。アルゴリズムは、ソートする配列を端から走査していき、現在注目している要素と隣接する次の要素同士を比べ、逆順になっている場合それらを入れ替える。配列の要素数をNとしたとき、これを配列の逆の端まで、つまりN-1回繰り返すと、その逆の端の値は整列済みの値の手前の要素までおこなう。このような走査と入れ替えをN-1回繰り返すと、整列した配列を得ることができる。

クイックソート:分割統治法の一種。実装の容易さに対して比較的高速であるがゆえに一般的によく用いられるアルゴリズム。安定ソートではない。最悪の計算量はO(n^2)であるが、平均計算量はO(nlogn)である。昇順にソートする場合のアルゴリズムは、まずソートする配列のなかの1つの値を適当に選ぶ。この値はピボットと呼ばれる。ピボットは、中央値が一般的に用いられる。次に、配列のピボット以外の値のうち、ピボットよりも小さいすべての値をピボットより前に、ピボットよりも大きいすべての値を後ろに移動させる。移動完了後、ピボットより前の部分的な配列と後ろの部分的な配列において、新たにピボットをそれぞれ設定し、それぞれの部分的な配列の中でピボットより小さい値は前に移動させ、大きい値は後ろに移動させる。上記の処理を繰り返すとソート済みの配列を得ることができる。


TCPはOSI階層モデルの第4層あるいはトランスポート層に属する


階層構造の...
メリット:階層構造にすることで、各層を部分的に入れ替え可能にした。これにより、新しい機能を追加するときには、該当する階層だけを入れ替えれば、他の部分は入れ替えずに済むというメリットがある。分割して開発を行うことができる。機能の理解が容易になる。

デメリット:階層を持つために、それぞれの層ごとにある程度完結する必要があるため、純粋な効率を考えると無駄が発生する。具体的には、層ごとにヘッダが必要になる。


コンピュータネットワークの接続形態(トポロジー)
スター型(ネットワーク)

特徴:中心となる通信機器を介して、端末を接続する形態であり、配線の自由度が高い。中心となる通信機器が故障すると端末間の通信が行えなくなる。
断線が起こった場合、その線に接続している端末のみ通信が行えなくなる。

バス型(ネットワーク)

特徴:バスと呼ばれる一本のケーブルに端末を接続する形態であり、送信した信号が全ての端末で受信される。断線が起こった場合、それより遠方のノードとの通信が行えなくなる。

リング型(ネットワーク)

リング上にケーブルを配置した形態であり、断線が起こった場合に、逆向きに伝送することが可能である。

・その他
メッシュ型(ネットワーク)
フルコネクト型(ネットワーク)
ツリー型(ネットワーク)
ポイント・ツー・ポイント型(ネットワーク)


組織のセキュリティ向上のために、ネットワーク管理者がすべきこと

・システムの定期的なアップデート作業
・セキュリティポリシの整備
・ウィルス対策ソフトの導入および更新
・定期的なPC利用者へのセキュリティ教育
・データの定期的なバックアップ
・ネットワークの利用状況の把握や監視
・組織構成員の変更に伴うユーザ管理