So-net無料ブログ作成

本のベストセラー
プログラミング ブログトップ
前の3件 | 次の3件

ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか [プログラミング]

すっごく細かい話を、すっごくわかりにくいテクニックで解くプログラミングの本。

どう使っていいのかもはやよくわからないが、

「へえー」っとなるプログラミングを集めたもの。

半分は数学みたいだった。

1序論
表記の法則が書かれていた。
Cの式評価優先順位とコンピュータ代数、その説明の一覧がついていた。
命令セットと実行時間モデルは、汎用RISCコンピュータの命令セットに似た命令セット備えたマシン用と考える。
基本RISC命令セット、Opcode簡略表記、オペランド、説明の一覧
同様の表記で「完全RISC」で追加される命令
実行時間は城山、除算、剰余意外のすべての命令は1サイクルで実行されると仮定し、乗算等には特別な時間を仮定しない。
分岐命令は分岐するにせよ、しないにせよ、1サイクルかかるとする。

2基本操作として
・右端のビット操作いろいろ、x&(x-1)だと1ワードで最右の1のビットをオフにするなど、いろいろな方法が示されている。
・論理演算と組み合わせた加算、-x=¬x+1とか
・論理式と算術式での不等式、符号なし整数と解釈される値を持つ2進論理式の不等式の例
・絶対値整数、マシンに命令がないなら、3つまたは4つの命令で分岐不要で行える。
・符号の拡張、1ワードの中にあるビット位置を符号ビットと考えて、それが、その他のビットの存在は無視して左に伝播すること。
・符号なしあkら符号付右シフトをつくる方法、マシンにsift right signed命令が無い場合。
・符号(sign)関数、ほとんどのマシンで4命令
・三つの値を持つ比較関数、sighnを少し一般化したもの。
・符号の移送、FortoranでISIGNとされるもの、ほとんどのマシンで4命令
・Zero Means 2**nフィールドのでコード、0または負の値が数量として何の意味も持たない場合、0の値を持つnびっとフィールドを2^Nとみなして0以外の値は通常の2進数としてエンコードする。
・比較述語、二つの量を比較する関数、比較が真なら1、偽なら0の単一ビットを生成。評価結果をふごういちにいれる分岐不要の式の例
・オーバーフローの検出、算術結果をターゲットレジスタで正確に表すには大きすぎるかまたは小さすぎることをいう。発生したときに状況ビットを使用することなくプログラマが検出するのに利用できる方法を検討
・add subtract multiplyの状況コードの結果、マシンの多くが状況コードを提供している。
・循環シフト、0-32の値域のnについてシフトがmod32の場合でもなりたつ。
・2倍長のadd/subtract、符号なしの加算と原産のオーバーフローの式の一つを使い、マシンのキャリービットにアクセスすることなく、2倍長の加算と減算を容易に実装する方法。
・2倍長のシフト、32ビットワードの対と考える
・他バイトのadd subtract 絶対値、1ワードで操作するとたいていはもっと早く実行できる。
・doz(difference or zero) max min dozでは多く引きすぎると結果が0になる。これをminとmaxの実装に使える。
・レジスタ交換、二つのレジスタの内容を3番目のレジスタを使わずに交換する方法
・二つ以上の値の交換、変数xは二つの値a,bだけを持つことができ、現在の値でないもう一方の値をxに代入したいが、コードがa、bの値から独立したい場合のコード

3 2のべき乗の境界
・符号なし整数を次に小さい8の倍数へ切り上げる、切り下げる。符号付整数で行う。符号付整数を0の方向に向かってもっとも近い8の倍数に丸めるなど。
・もっとも近い整数の代わりにもっとも近い2の整数乗に向かって丸める、floorやdeilingに似た関数を定義。
・2のべき乗の境界越えの検出。記憶域がアドレス0から2のべき乗のサイズのブロックに分割されているとして、境界越えを検出。

4 算術的な境界
・整数の境界の検査。整数xが富津の境界aとbの間にあることの検証。符号なし、符号付で検証。
・加算や減算による境界の伝播。最適化コンパイラが行う式の「範囲解析」。
・論理演算による境界の伝播。上と同じ変数の境界が与えられているとして符号なしで検証。符号付は途中まで。

5 ビットの数え上げ
・1のビットの数え上げ。IBM Stretchではワード中の1ビットや0ビットの個数を数えられた。この命令がないマシンでは2ビットごとに区切った各フィールドにもともとそこにあった二つのビットの和をセットし、その次に隣接する2ビットのフィールドの和を求め、その結果を4ビットの各フィールドにセットするを繰り返す。→分割統治という戦略。1ビットが少ないワード、配列の方法も解説。
・パリティ。ワードのパリティ計算。7ビット量にパリティビットを付加する。
・先頭から続く0を数える。二分木探索を用いて先頭から続く0を数える方法。右に伝播させる方法など。
・末尾へ続く0を数える。上と同じ問題に転換してしまうとよい。

6 ワードの探索
・最初の0バイトの検出。Cのストリング表現は明示的な長さを持たない。末尾は0。長さを知る関数strlenの高速版をつくるには、ワード境界まで1バイトづつロードして検査、境界に達したらワード単位でレジスタにロードし、その中に0倍とが含まれているか調べる。単純な検査、分岐不要コード、nlzを用いない最左の0バイト検出、多項式の評価による最左の0バイト検出方法など。
・指定された長さを持つ最初の1のビット列の検出。shifとandを用いた例

7 ビットやバイト単位の並べ替え
・ビットやバイトの逆転、リトルエンディアンとビッグエンディアン形式でのデータ交換操作に必須。
・ビットのシャッフル。暗号化に応用できる。外側完全シャッフル演算など解説。
・ビット行列の転置。行と列の転換。8×8行列、32×32行列の転置例解説。
・圧縮あるいは一般化された抽出。extract命令への類推からそう呼ばれる。APL言語のcompress演算と同じ。
・一般的順列あるいは「羊と山羊」演算。順列を表現する方法を検討。
・並べ替えと添え字変換。配列の要素数がコンピュータのワードかそれ以上の場合に有益。

8 乗算
・多倍長乗算。筆算の方法でおこなうより、部分関野配列を展開するより、それぞれの新しい行を計算しながら積になる行に加えていくほうが効果的。
・64ビット積の上位32ビット。32ビット整数の積の上位32ビットを計算する問題を考える。
・積の上位半分の符号付と符号なしの間の変換。
・定数の乗算。sift、left, addの連続で定数の乗算が行える。

9 整数除算
・この章と次の章でコンピュータの除算に関する秘訣とアルゴリズムを与える。式の定義、使う定理について定義。
・多倍長除算。伝統的筆算の方法でできるが複雑。クヌースのアルゴリズムDwoCでコーディングしたものの例。
・符号付の除算から符号なしのshort除算へ。short除算は1ワード同士の除算。符号付のlong除算を使う方法。符号付のshort除算を使う方法。
・符号なしのlong除算。long除算はダブルワードを単独のワードで割る除算を表すことにする。0で割った場合を含むオーバーフローの結果は不定。ハードウェアのshift-and-subtractアルゴリズムを使う方法、short除算を使う方法解説。

10 整数定数による除算
多くのコンピュータで除算は非常に時間がかかるので可能なら避けるべき。除数が定数のときdivide命令をさける方法。
・2のべき乗による符号付除算、shirf right asigned をkビット行うと、数値を2のk乗で割れると仮定するのは過ち。
・2のべき乗による除算の符号付剰余。計算方法解説。
・2のべき乗以外での符号付除算と剰余。基本となる秘訣は、およそ2の32乗/dであるような、除数dの逆数の1種をかけて、咳の左32ビットを取り出す。もうすこし複雑なので例(3、7の除算)で解説。
・除数が2以上の符号付除算。上の例のなかで3つの例があるだけとして、説明。
・除数が-2以下の符号付除算。いったん他の例におきかえて商をマイナスにする方法を解説。
・コンパイラへの組み込み。コンパイラが定数による除算を乗算にかえる方法解説。
・その他の話題。他の定理の証明など。
・符号なし除算。2のべき乗による符号なし除算は、単一のshift right logical命令で実装でき、剰余はand immediateで命令できる。3、7の例。
・除数が1以上の符号なし除算解説。
・コンパイラへの組み込み。(符号なし)ここでの証明で使った式は実行に困難。キーポイントを解説。
・その他の話題(符号なし)。符号なしの場合のその他の定理について解説。
・modulusおよびfloor除算への応用、非定数が負なら1加えるステップを省略する方法ではうまくいかない。
・類似した方法、magicアルゴリズムをコーディングする代わりに、いくつかの小さい除数についてマジックナンバーとシフト量を与える表を用意する方法。
・マジックナンバーのサンプル、W=32とW=64の表。
・定数による整除算。整除算=事前に何らかの方法で剰余が0とわかっている除算。定理で解説。ユークリッドのアルゴリズムによる乗法の逆元の計算、ニュートン法による乗法の逆元の計算を使用して解説。
・定数による除算後に剰余が0か調べる。除数dの乗法の逆元を使う。

11 いくつかの初等関数
・整数平方根。符号なし。ニュートン法による解説。初期近似値を二分探索。ハードウェアのアルゴリズム解説。
・整数立方根。ニュートン法はあまり効果なし。ハードウェアのアルゴリズム解説。
・整数乗。nの2進数分解法によるxのn乗の計算。
・整数対数。logの計算。底2と10の例。単純なテーブル検索、10の繰り返し乗算。修正版二分探索。底2の対数から底10の整数対数への変換(2つのテーブル検索などいろんな方法で)

12 数の表現のための一風変わった基数
実用的でhあないが、面白い数の位取りの表現についての議論。
・-2進数。明示的な符号や、その他の最上位ビットに負の重みをもたせるような不規則なものを用いることなしに、不でもせいでも整数を表すことができる。
・-1+i進数。すべての複素整数を明示的な符号やその他の変則的なことなしに、一つの数として表すことができる。
・その他の基数について解説。
・どれか最も効率的な基数か?ここの計算では2進表現はe進表現より焼く1.0632倍コスト高としていた。

13 グレイコード
・グレイコード・・・nビットから成る数を一度に1ビット変えていくだけで2のn乗すべての組み合わせを循環的に表す。これがグレイコードの性質。グレイコード化された整数とその次の整数とで1ビットだけが異なるコード化の方法。
この概念は10進数などの任意の基数に対して応用できるように一般化可能。ここでは、2進数のグレイコードについてのみ議論。
その中でも反射2進グレイコードについてのみ議論。
・グレイコード化された整数のインクリメント
・-2進のグレイコード
・簡単な歴史と応用。ベル研究所のフランク・グレイにちなんで命名された、位置センサーに使われている。

14 ヒルベルト曲線
ペアノは平面曲線で「平面空間を充填する(うめつくす)」という、驚くべき特性を有するものを発見。これは基数3の小数を使って証明できる。
ヒルベルトはペアノ曲線の一つの変種を発見。正方形の各々の辺を2等分し、もとの正方形を4つの小さな正方形に分割。そしてそれがさらにちいさな4つの正方形に分割と続く。その分割の各々の段階で正方形をたどる曲線を与える、これがペアノーヒルベルト曲線。ヒルベルト曲線は分割処理の極限の曲線。ヒルベルト曲線は基数2の小数、つまり2進小数で説明できる。
ここでは次数nのヒルベルト曲線をその曲線列のうちのn番目の曲線と意味して使う。
・ヒルベルト曲線を生成する再帰的アルゴリズムを考える。
・ヒルベルト曲線の道のりから座標を求める方法解説。
・ヒルベルト曲線上の座標の距離を求める方法解説。
・ヒルベルト曲線の座標のインクリメント方法解説。
・非再帰型の生成アルゴリズム
・その他の空間充填曲線解説。
・応用。空間充填曲線は圧縮やハーフトーン化、テクスチャ解析といった画像処理へ応用できる。

15 浮動小数点
整数演算と論理演算を使った浮動小数点数値の操作の提案はIEEE算術としてしられているが美しくない。
・IEEE規格の解説。単精度と倍精度形式に限定して。
・整数演算を用いた浮動小数点数値の比較。非数でない数値ではそれを符号と大きさを持った整数とみなしたとき正しく順序づけられる。
・先頭桁の分布。なんか先頭桁が1の割合について考えているようだ、指数フィールドを大きくとりすぎるとかなんとか。
・種々の数値一覧。正確でない値は表現可能なもっとも近い数に丸められている。ー極大とか。

16 素数に関する式
・素数に関する式の歴史からハイライトを復習。フェルマとか。
・ウィランズの式、n番目の素数を求める。
・ウォーメルの式、ウィランズの式を改良して三角関数とfloor関数を取り除いた。原理的には整数演算だけを使う簡単なコンピュータプログラムで計算可能。
・その他の面倒な関数を表す式。

付録A 4ビットマシンのための算術表
加算、減算(行一列)、符号付乗算、符号なし乗算、符号付short除算(行÷列)、符号なしshort除算(行÷列)、符号付short除算の剰余(行÷列)、符号なしshort除算の剰余(行÷列)

付録B ニュートン法
手短な解説。


ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか

ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか

  • 作者: ジュニア,ヘンリー・S. ウォーレン
  • 出版社/メーカー: エスアイビーアクセス
  • 発売日: 2004/09
  • メディア: 単行本




nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:

今すぐ使えるかんたんmini Windows7基本技 [プログラミング]

見開き2ページ(時には数ページ使って)で1セクション機能を解説。
セクション名は具体的な作業で、解説と、やり方が番号順にのっている。
画面の該当箇所が拡大されてのっているのでわかりやすい。
最後にはメモやヒントが解説されている。
全部で64セクション。

第1章 Windows7の基本 
Section01 Windows7とは・・・OSとはコンピュータを使う上で必要不可欠なソフト。Windows7は歴代のWindowsで7番目の家庭向けOS.動作すするパソコンは、CPU 1GH以上、メモリ32ビットなら1GB以上、64ビットなら2GB以上、ハードディスク32ビットなら16GB、64ビットなら20GB以上、ビデオカードはWDDM1.0以上のドライバーを搭載しDirectX9対応のもの。

Section02 Windows7n種類・・・
下位エディション→上位エディション
Stater(ネットブック向け)、HomePremium(家庭向け)、Professional(ビジネス・上級者向け)、Ultimate(全機能)
EnterPriseは企業向け、HomeBasicは日本で発売されない。

Section03 Windows7の起動と終了・・・電源をいれると起動、パスワードを入力するとデスクトップが表示される。終了は「スタートボタン」をクリックし、シャットダウンを選択すると電源が切れる。シャットダウン以外にも、ロック=ユーザ選択画面、スリープ=消費電力を著しく抑えた状態もある。

Section04 Windows7の画面構成・・・デスクトップの名称と役割。言語バーをタスクバーに格納するには、クリックしてドロップする。元に戻すとkには見美クリックして「言語バーの復元」を選ぶ。

Seciton05 スタートメニューを表示する・・・作業を開始するとき利用。メニューから目的の項目を選ぶ。上にはよく使うアプリケーションが表示されていて、右側にはWindows7の機能が表示されている。閉じるにはデスクトップの何もないところを押すか、Escキーを押す。

Section06 アプリケーションの起動と終了・・・スタートメニューからソリティアを起動するのを例に解説。終了時にはタイトルバーの×ボタンをクリック、またはメニューからアプリケーションの終了を選択。

Section07 ウィンドウの基本操作・・・サイズ変更方法、タスクバーからウィンドウを開く方法、ウィンドウの移動、アクティブウィンドウの切り替え解説。

Section08  文字入力・・・ワードパットで解説。IMEパッドで直接文字を入力する方法も解説。

Seciton09 タスクバーの基本操作・・・タスクバーのアイコンはアプリケーションの状況によって色が変化。起動ちゅのアプリケーションのアイコンを右クリックして「託すバーにこのプログラムを表示する」を選ぶと、アプリケーションを終了した後もアイコンが常に表示されるようになる。タスクバーのプロパティでアイコンを小さくできる。


第2章 ファイルとフォルダーの基本操作 

Section10 ファイルとフォルダーを知る・・・様々なデータをファイルと呼ばれる単位で管理。ファイルのアイコンの解説。フォルダーとはファイルを分類して管理するとき使用される保管場所。フォルダーの中にフォルダーをつくることもできる。

Section11 エクスプローラーの基本操作・・・フォルダーやファイルを表示するにはエクスプローラーと呼ばれるウィンドウを使う。エクスプローラーの画面構成とフォルダーの内容を表示する方法を解説。フォルダーをお気に入りにドラッグ&ドロップすると独自のお気に入りを登録できる。アドレスバーをクリックすると現在のフォルダーがパス名で表示される。

Section12 フォルダーを表示する・・・ダブルクリックと右クリックメニュー二つの方法を解説。

Section13 ファイルを作成する・・・ワードパットで文章を作成して保存する方法で解説。

Seciton14 フォルダーを作成する・・・「新フォルダー」をクリックしてフォルダーを作成し、名前をつける方法を解説。

Seciton15 フォルダーの名前を変更する・・・名前を変更するフォルダーをクリックし、メニューの「整理」をクリック、「名前の変更」をクリック。名前を入力。

Seciton16 フォルダーやファイルの移動とコピー・・・ドラッグドロップで移動する方法、メニューの「整理」を使ってコピーする方法を解説。

Section17 フォルダーやファイルを削除する・・・メニューの「整理」を使って削除する。こうするとフォルダーがゴミ箱に移動する。ゴミ箱を空にすると完全に削除される。

Section18 フォルダーやファイルの表示方法を変更する・・・「中アイコン」から「大アイコン」に変更する方法を解説。

Section19 ライブラリの基本操作・・・ライブラリはエクスプローラーのナビゲーションウィンドウに準備されたカテゴリ。新しく作って、一括管理したフォルダーを登録することができる。

Section20 新しいライブラリを作成する・・・メニューの「新しいライブラリ」で作成する方法を解説。

Section21 ライブラリにフォルダーを使いかする・・・ライブラリを開き「フォルダーを追加」から行う方法を解説。

Section22 ふぁるだー内のファイルを検索する・・・スタートメニューの検索ボックスから探す方法を解説。エクスプローラーの検索ボックスで探す方法を解説。違いはエクスプローラ-なら場所まで表示されること。

Section23 ファイルを種類ごとに分類する・・・画面右上の「フォルダー」をクリックして種類で並べ替える方法を解説。同じく名前順で並べ替える方法を解説。



第3章 インターネットの活用 

Section24 インターネットとは・・・世界中のコンピュータまたはコンピュータネットワークを相互に接続している通信網。Internet Explorer8(IE8)とは、Webブラウザー、IE8の画面構成を解説。

Section25 Internet Explorerを起動する・・・初めてIE8を起動する場合はタスクバーのアイコンをクリックして起動。セットアプ方法、終了方法解説。

Section26 Webページを表示する・・・アドレスバーにURLを入力するか、表示中のハイパーリンクをたどる。

Section27 見たいWebページを検索する・・・IE8の右上にあるディフォルトのクイック検索ボックスで検索する方法を解説。

Section28 よく見るWebページを登録する・・・「お気に入り」に登録する方法を解説。

Section29 最初に表示するホームページを登録する・・・「ホーム」の下矢印をクリックして、「ホームページの追加と変更」をクリックし、一つのWebページを登録する方法を解説。複数のWebページをホームページに登録する場合も同様。

Section30 過去に見たWebページを表示する・・・IE8ではディフォルトで過去20日間の履歴が保存される。お気に入りの履歴から検索できる。履歴は「セーフティ」から削除できる。

Seciton31 Webページを上手に印刷する・・・メニューの「印刷」の下ボタンをクリックしてプレビューで確認。

Section32 クイック検索をGoogleに変更する・・・初期値はマイクロソフトのBing。検索ボックス横の下矢印ボタンをクリック、アドオンギャラリーが開くので「検索プロバイダーを作成する」をクリックして、アドレスバーにGoogleのURLをいれてTESTと入力して検索をおこない、そのURLをアドレスバーからコピーして、「検索プロバイダーを作成する」タブをクリックして戻りURLにいれる。

Seciton33 Webページからファイルをダウンロードする・・・Webページを開き、メニューのダウンロードを選んでダウンロードする方法を解説。警告メッセージが表示されるときには消してから。


第4章 写真・動画・音楽の活用 
Section34 デジタルカメラの写真をパソコンに保存・・・接続すると「自動再生」ダイアログボックスが表示されうので、「画像とビデオの読み込み」をクリックして読み込む。

Section35 保存した写真を表示する・・・ナビゲーションウィンドウの「ピクチャ」を使う方法解説。Windowsフォトビューアーの操作方法解説。

Section36 写真を印刷する・・・ピクチャライブラリで印刷したい写真をクリックしてメニューから「印刷」をクリックする方法を解説。一枚の用紙に複数の写真を印刷するときには、「画像の印刷」ダイアログで「レイアウトの選択」を行う。

Seciton37 写真をスライドショーで見る・・・再生したいフォルダーをダブルクリックし、メニューの「スライドショー」を選択。終了したいときには画面の適当なところを右クリックして「終了」を選ぶ。

Section38 Windows Media Playerとは・・・スタートメニューからWindowsMediaPlayer12を起動。画面構成の解説。

Section39 パソコンにビデオ映像を取り込む・・・デジタルビデオカメラをパソコンに接続。「自動再生」ダイアログボックスが表示されたら、「画像とビデオの読み込み」をクリック。

Section40 動画を再生する・・・WindowsMediaPlayer12でビデオを再生する方法。

Section41 音楽CDを再生する・・・WindowsMediaPlayer12で音楽CDを再生する方法を解説。

Section42 パソコンに音楽CDをとりこむ・・WindowsMediaPlayer12を起動してプレイビューモードを表示。CDを挿入して、右上の「CDの取り込み」をクリック。

Section43 好きな曲だけを集めた再生リストを作成する・・・WindowsMediaPlayer12のリストウィンドウを開き、リストウィンドウに登録して再生リストを保存。

Section44 CD/DVDに写真を保存する・・・何もかかれていないCD-RをCD/DVDドライブにセット。「自動再生」ダイアログボックスで「ファイルをディスクに書き込む」をクリック。対象ファイルを選んで書き込み、その後おファイルを確認する方法を解説。


第5章 Windows7の活用 
Section45 コントロールパネルを表示する・・・スタートメニューから「コントロールパネル」を表示する方法を解説。コントロールパネルの分類と設定項目が一覧になっていた。

Section46 デスクトップの配色やデザイン変更・・・Windows7ではテーマ機能が強化されたので、配色や背景をまとめて変更できる。コントロールパネルの「テーマの変更」をクリックして「個人設定」ウィンドウから、「デスクトップの背景」をクリックして変更。複数の背景を一定時間で切り替えるには、Ctrlキーを押しながら2つ以上の画像をクリック。

Section47 ガジェットを追加する・・・ガジェットとは時計やカレンダー、天気予報などのちょっとしたことに利用できるアプリケーション。デスクトップの何もないところを右クリックして追加する方法を解説。 

Section48 アカウントにパスワードを設定する・・・コントロールパネルの「ユーザアカウントの追加または削除」をクリック、パスワードを設定したいアカウントをクリックして設定。「アカウントの変更」ウィンドウに戻るとアカウントに「パスワードの保護」と表示される。

Section49 複数のユーザーで一台のパソコンを使う・・・利用したい人数分のアカウントを作成する。コントロールパネルから作成する方法を解説。作成したユーザアカウントでログインしたり、スタートメニューからユーザを切り替える方法を解説。

Section50 コンピュータなどをデスクトップに表示する・・・コントロールパネルの「テーマの変更」から「デスクトップアイコンの変更」を選択。デスクトップに表示したいアイコンにチェックをいれる。

Section51 スタートメニューの順序を変更・・・スタートを右クリックして「プロパティ」を選択、タスクバーとスタートメニューのプロパティがあるので、「カスタマイズ」をクリックして変更。

Section52 ウィンドウのサイズを変更する・・・WindowsAeroを使ってウィンドウサイズをすばやく好みの大きさに変更する方法を解説。
 
Section53 Webページやフォルダーをすばやく利用・・・ジャンプリストを利用する方法を解説。Webページをジャンプリストに登録するにはタスクバーのIE8のアイコンを右クリックして登録したWebページにマウスポインタをあわせ、ピンが表示されたらクリック。フォルダーの場合はフォルダーをドラックしてタスクバーのエクスプローラーにドロップ。

Section54 複数のウィンドウを素早く最小化する・・・Aeroシェイク(残すウィンドウのタイトルバーをつかんでシェイク)の方法と、それをもとにもどすには、同じことをする。

Section55 ファイルを圧縮・展開する・・・圧縮したいファイルを保存しているフォルダーを開き、圧縮したファイルを選択して右クリック、メニューから「送る」→「圧縮(zip形式)」を選択。作成された圧縮フォルダーはもとの場所に作成される。圧縮ファイルを展開するには、展開するファイルを右クリックして「すべて展開」をクリック。

Section56 USBメモリーを利用する・・・USBメモリーは何度でもデータの読み書きができて、コンパクトで持ち運びやすい。パソコンのUSBポートにUSBメモリーを接続すると、「自動再生ダイアログ」が表示されるので「フォルダーを開いてファイルを表示」を選ぶ。データを保存したいときにはドラッグ&ドロップを使う。取り外すときには、スタートメニューのコンピュータから外すUSBメモリーを選んでメニューの「取り出す」をクリック。

Section57 事項再生の設定を変更する・・・コントロールパネルの「ハードウェアとサウンド」をクリック、「自動再生」を選択し、設定を変更したいメディアの下矢印をクリックして変更して保存。すべの自動再生を無効にすることもできる。



第6章 トラブル解決の基本

Section58 日本語入力中に日本語が入力できなくなった・・・代表的な対処方法を紹介。入力モード確認。IMEの設定を初期値にする。パソコン再起動。

Section59 ダブルクリックして起動するアプリケーションが変わった・・・コントロールパネルの「プログラム」をクリック、「あるファイルの種類を特定のプログラムでオープンをクリック、関連付けを変更したいファイルの拡張子をクリックして「プログラムの変更」をクリック、関連付けしたいプログラムを選んでOKをクリック。関連づけたいプログラムが無い場合、「参照」で探す。

Section60 パソコンが固まった・・・フリーズの症状を確認するフローチャートがあた。対処法のひとつとしてタスクマネージャーを使ったアプリケーションの矯正終了方法を解説。パソコン再起動、電源の強制切断を解説。

Section62 ファイルの個人情報を確認・・・ファイルには作成日時や種類などの個人情報が含まれている、プロパティで確認できる。

Section63 フォルダーやファイルの詳細を確認する・・・通常では表示されないファイルやフォルダーを、エクスプローラーのメニューの「整理」をクリックし、「フォルダーと検索のオプション」をクリック、「フォルダーオプション」ダイアログが表示されるので「表示」タブをクリック、「隠しファイル、隠しフォルダーおよび隠しドライブを表示する」をクリック。

Section64 パソコンの動作が不安定になった・・・システムの復元方法を解説。

索引



今すぐ使えるかんたんmini Windows7基本技

今すぐ使えるかんたんmini Windows7基本技

  • 作者: 技術評論社編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2010/09/10
  • メディア: 単行本(ソフトカバー)



今すぐ使えるかんたんmini【1000円以上送料無料】Windows7基本技/技術評論社編集部/オンサイト




nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:

3分間 ネットワーク 基礎講座 [プログラミング]

コンピュータのプロフェッショナルであるエンジニアでも「ネットワークは苦手」「ネットワークは難しい」と感じていることが多い。
理由は、ネットワーク独特の用語、扱う範囲の広さ、目に見えないやりとりなど。
ネットワークの表面的な部分でなく、基礎的な部分に絞って、本質的部分となる技術をしっかり学習し、応用に役立てるのを目的としている。
先生である博士とネットワーク素人の助手の対話形式で、イラストのはいったわかりやすい解説で説明。
2007年10月時点での情報

第1章 ネットワークの基礎知識
第0回 ネットワークとは 
 ネットワークとは何かと何かが網状につながっていて、何かを運ぶこと。コンピュータネットワークならケーブルでつながっていてデータを運ぶ。

第1回 回線交換とパケット交換
 電話は回線交換方式、交換機を介してデータをやりとりする2台がその1本の回線を占有する。使うたびに回線はかわる。
 ネットワークで使われているパケット交換方式は、データを送る単位を宛先つきのパケットにわけて、回線を占有しない。一度に大量のパケットがながれた場合は交換機がためておくので蓄積交換方式ともよばれる。

第2回 LANとWAN
 ネットワークはリソースを共有するためにある。
 スニーカーネットワーク・・・人がデータをもって運ぶこと。
 LAN・・・ケーブルなどをつかって、ある範囲内のデバイスを相互接続すること。
 WAN・・・遠いところ(東京と大阪など)をつないだネットワーク。インターネットもWAN。
 遠距離をつなぐケーブルをもつ業者を通信事業者(NTTやKDDI)と呼ぶ。

第3回 プロトコルと帯域幅
 どのように通信するか決めたルールをプロトコルという。
 インターネットでディファクト・スタンダードになっているのはTCP/IP
 帯域幅・・・ケーブルがデータを運ぶスピード。帯域幅が広いといえば道路が広いようなもので、運べるデータは多くなる=速い。

第4回 OSI参照モデル
 異なるベンダー間で相互通信するために、「ネットワークモデル」という統一規格がある。
 現在使われているのはISO参照モデル。
 通信全体の問題を7つの階層=レイヤにわけて考えており、各階層は独立しているのが特徴
  第1層 物理層 電気・器械的部分をうけもつ
  第2層 データリンク層 隣接機器へのデータ伝送を制御
  第3層 ネットワーク層 伝送ルートや宛先の決定
  第4層 トランスポート層 信頼性の高い(エラーの少ない)伝送を行う
  第5層 セッション層 データのやりとりの順序などを管理する
  第6層 プレゼンテーション層 データの形式を決定する
  第7層 アプリケーション層 ユーザにネットワークサービスを提供する

第5回 カプセル化
 パケット交換方式では、送るときはデータだけでなく制御用データも必要。宅急便の例で説明。梱包伝票など。
 レイヤごとに制御データをつけて(包んで=カプセル化)データを送っている。
 制御データは、データ(レイヤ7-5)、セグメント(レイヤ4)、パケット(レイヤ3)、フレーム(レイヤ2)の順にカプセル化されて送信される。受け取った方は逆の手順で制御用データをはずす。
 制御用データの、データの前につかられるものはヘッダ、後ろにつけられるのはトレーラとよばれる。

第6回 ネットワークに必要なもの
 データのやり取りを行う機器をDTEとよぶ。パソコンなどが一般的。
 DTEとケーブルの仲介をするのはNIC(ネットワークインターフェイスカード)とDCE(Data Circuit terminatiog Equipment=WANで使われる交換機の総称)である。
 これで1対1ならつなげる。複数台のDTEが通信するためにはネットワークで制御がひつよう。その機器をネットワーキングデバイスとよぶ。

補講1 標準化団体
 ISO International Prganization for Standardization
ITU International Telecommunication Union
IEEE The Institute of Electrical and Electronics Engineers
IETF The Internet Engineering Tassk Force
JIS 日本工業規格



第2章 信号の伝達と衝突
第7回 信号と回線
 通信に使用される電気信号は、アナログとデジタルがある。アナログは連続した波。デジタルは非連続なON・OFF
 どちらを使うかは通信回線に依存する。電話回線はアナログなのでモデム。デジタルはADSLとFTTHなど
 どちらの信号でも、減衰、ノイズ、衝突がおこる。
 減衰・・・銅線なら電気抵抗でおこる。光なら光の拡散でおこる。
 ノイズ・・・電気信号の形が崩れること。原因はすぐ隣の銅線、熱雑音、AC電源、雷や無線、蛍光灯など
 衝突(コリジョン)・・・信号同士が衝突して電圧が変になってしまい、元の信号と違った形になる。
  
第8回 ネットワーキングメディア
 レイヤ1はこまごまとして物理的な仕様だが、ここではネットワーキングメディア=ケーブルをとりあげて解説。
 ツイストペアケーブル・・・8本の細い銅線を、2本ずつ4つの組でよりあわせたケーブル。より合わせることで銅線から発生する磁場を互いに打ち消し合って消滅する。外からの干渉も消滅させることができる。ケーブルの外側に金属の網をかぶせて信号の干渉をおさえたものをツールドツイストペア=STPとよぶ、それがないものは非シールドツイストペア=UTP。
 STPは効果になるのでUTPが一般的。
 光ファイバで、1本の強力なレーザ光を通すタイプをシングルモード。複数の弱い光を反射させるタイプをマルチモード。LANではマルチモードが主流。
 IEEEとEIA/TIAによって標準化されている。
 例 100BASE-Tならデータ転送量100Mbps、ベースバンド伝送(信号はデジタルという意味)、Tはツイストぺア。
 転送速度によるカテゴリ分類では
  カテゴリー3 10Mbps、カテゴリー5 100Mbps、 カテゴリー5e(Enhanced)1000Mbps、カテゴリー6 1000Mbps

第9回 リピータ・ハブ
 リピーターは減衰したりノイズが入って信号を増幅、整形する信号増幅器
 ハブは別名マルチポートリピータとよばれていて、きた信号を増幅・整形してすべてのポートに流す。
 ハブでつながれた機器はすべて1本のケーブルでつながった状態と同じになり、混みあうと衝突が起こりやすくなる。
 衝突ドメイン・・・衝突の影響が及ぶ範囲のこと、リピータ・ハブはこの範囲を広げてしまう。

第10回 レイヤ2の機能
 レイヤ2はLLC副層=実際の機器に依存しない部分(データをどのように扱うか)と、MAC副層=伝送媒体との接続部分(だれが伝送を行うか)から成る。
 LANの企画としてイーサネット、IEEE802.3、IEEE802.5、IEEE802.11=無線LANがある。IEEEはLLC副層の規格。イーサネットはIEEE802.2の部分が含まれる。

第11回 レイヤ2アドレッシング
 誰に届けるかのためにアドレスを使う。
 アドレスは通信可能な範囲でユニークである必要がある。
 アドレスにはレイヤ2の物理アドレス=NICにつけられたMACアドレスと、レイヤ3の論理アドレス=どのネットワークの誰に届けるかがある。
 MACアドレスは48ビット、表記するときには16進数12ケタ。先頭24ビットはベンダーコード、後半24ビットはベンダーがつけた識別番号。

第12回 イーサネット/IEEE802.3
 イーサネットはIEEE802.3と同じ。
 イーサネットは特定のだれかに送ったフレームが全機器に到達する。
 CSMA/CD・・・自由に発言権がある会議と同じ。CS(キャリア検知)で信号が流れていないのを確認し、データ送信(発言)多重アクサス(MA)、通信中に衝突が発生したら少し待つ(CD)
 上記のような簡単な仕組みなので制御に特別な機器は必要なくて安価にできる。
 ただ、エラーフレームは破棄してしまうので、送信側はデータが破棄されたかどうかわからない。受け取った側もエラーだからと修正をしない。このような方法をベストエフォート型配送という。

第13回 スイッチ
 ベストエフォートには衝突という重大な欠点がある。
 衝突ドメインを狭くするために、ブリッジかスイッチを使う。
 スイッチは受け取ったフレームを解析して、宛先MACアドレスの機器がつながっているポートからデータを送信する。=MACアドレスフィルタリング。これで衝突ドメインを狭くする。
 スイッチにはメモリがあり、衝突が発生しそうな場合はメモリに退避して待つことができる。

第14回 イーサネットの拡張
 イーサネットは時代にあわせて高速化している。
 半二重通信・・・誰かが送信していると自分は送信できない。
 全二重通信・・・スイッチを使うことで衝突ドメインをすくなくし、さらにバッファがあるので衝突がおこらなくなるのでだれかが送信中でも送信できるようになる。
 全二重で論理値は2倍になるが、実際は1.4-6倍くらい。
 スイッチのバッファが満タンになったときには、IEEE802.3x=ポーズフレームか、バックプレッシャ方式(バッファがいっぱいになりそうになったらJAM信号を送り、相手に衝突がおきたとおもわせる)を使う。

補講2 パケットキャプチャはネットを流れるデータを直接みることができる。



第3章 アドレッシング
第15回 レイヤ3の概要
 レイヤ2はネットワーク内での相互通信の方法
 レイヤ3はネットワーク間での相互通信の方法
 ネットワークを相互通信したネットワークのことをインターネットワークという。
 ネットワークに分けるのはトラフィック制御のため。
 レイヤ3の機能は論理アドレスと経路選択。
 論理アドレスは、どこの誰という情報
 論理アドレスを使って経由するネットワークを選択する経路選択を行う。
 経路選択を行うネットワーク全体の地図をもっているネットワーキングデバイスがルータ。

第16回 インターネットプロトコル
 TCP/IPはインターネットで使用されているプロトコル。今はLANやWANでも使用されているディファクトスタンダード。
 TCPとIPというプロトコルから成り立ち、レイヤ3はIP。
 IPはパケットの転送をうけもち、論理アドレスを決定、経路設定、データ送信を行う。
 転送はベストエフォートで行われる。送ったら送りっぱなしのコネクション・レス型通信。
 IPパケットの中身解説、送信元論理アドレス、宛先論理アドレス。TTL(パケットの生存期間)などがある。

第17回 IPアドレス1
 レイヤ3の論理アドレスは階層型。ネットワーク管理者がつける。
 MACアドレスはNICごとにベンダーがつけるが、論理アドレスはNICではなく各デバイスのネットワークとの接点ごとにつける。だからNICが交換されても同じ論理アドレスを使う。違うネットワークにいくと、NICは同じでも論理アドレスは変わる。
 論理アドレスは、所属するネットワークの番号+ホストの番号。
 ネットワーク番号は接続されているすべてのネットワークでユニークでなければならない。
 ホスト番号は所属するネットワークでユニークでなければならない。
 IPアドレスは32ビット。
 8ビットを1オクテットとして、4つの置くテッドに分割して表記。
 各オクテッドごとに10進数にして、区切りのドットをつける。

第18回 IPアドレス2
 IPアドレスは規模に応じた暮らすという割り振る範囲が決定されている。これをクラスアドレッシングという。
 クラスはAからEまであって、DとEは商用にはわりあてられていない。
 クラスAnoほうがホスト部分が多いので多くのホストがもてる。
 クラスフルアドレッシング・・・・クラスに分けてアドレスを割りふる方法。
 ホスト番号がすべて0はネットワークアドレス(ネットワークそのものをさす)、1はブロードキャストアドレス(全員宛て)。

第19回 サブネッティング
 IPは階層型なので、ネットワークをいくつかの小さなネットワークに分割して管理できる、この小さなネットワークをサブネットワークという。
 サブネットワークに区切った場合、IPアドレスは、ネットワーク番号、サブネットワーク番号、ホスト番号の3つの情報をもつ。
 サブネット番号は、ホスト番号のビットを借りて作成する。
 サブネットに分けたら、どこまでがネットワーク番号、サブネットワーク番号化を示すサブネットマスクが必要。
 サブネットマスクでは、ホスト番号部分を0で他を1で表す。

第20回 DHCP
 LANでのデータ伝送では、送信元IPアドレスとMACアドレス、宛先IPアドレスとMACアドレスの4つのアドレスが必要。
 送信元MACアドレスはNICでわかる。
 送信元IPは、手動でつける静的方法と、サーバから自動的に設定する動的方法と2種類のつけ方がある。
 自動でIPをつける方法をDHCPという。
 DHCPは割り当てるIPアドレスを管理して、割り当てる作業を行うサーバと、割り当ててもらうクライアントから成り立つ。
 事前に管理者が割り当てたアドレス範囲を、要求してきたクライアントに、それぞれがユニークになるように割り当てる。
 IPアドレスにはリース期限がある。継続して使いたい場合はクライアントは期間延長を申し出る形になる。
 DHCP以前に使ってきたBOOTPではIPアドレスしか送れなかったが、DHCPではオプションでIPアドレス以外のホスト設定情報をおくることができる。
 DHCPメッセージは、イーサネットヘッダ、IPヘッダ、UDPヘッダの後ろについて、アドレスの他にサーバのアドレスやサーバのホスト名などを送ることができる。
 DHCPメッセージはお互いにIPがわからない、またはついていないので、全員にブロードキャストで送る。

第21回 ARP
 宛先MACアドレスを知るにはARPを使う。
 ホストはARPテーブルという、宛先IPとMACの対応表をもつ。
 ARPテーブルに宛先のエントリが無い場合ARPが実行される。
 ARPはブロードキャストで、IPに該当するMAC番号を問い合わせる。(ARP要求)
 該当するホストは自分のMACアドレスを返す。(ARP応答)
 ARPパケットは、イーサネットフレームのなかにARPパケットのみが入っている。内容はアドレスタイプ、アドレス帳、送信元MACアドレス、IPアドレスなど。

第22回 DNS
 ユーザもしくはアプリケーションが宛先を決定する。ブラウザにhttp://からの宛先をいれたりするのがそう。
 IPアドレスを知っていれば、それを利用することもできる。
 IPアドレスは覚えにくいので、ドメイン名とホスト名が使われる。これは要するにコンピュータ名。
 http://の後ろがコンピュータの名前。「www5e.biglobe.ne.jp」ならwww5eがコンピュータ名=ホスト名、biglobe.ne.jpがドメイン名。
 ドメイン名はIPアドレスと同じくICANNが管理している。ホスト名はネットワーク管理者が管理している。
 DNSは名前とIPを対応させるデータベースシステム。
 DNSのデータベースをもっているのがDNSサーバ。各組織に一つづつあって、その組織のドメイン名とホスト名を管理する。
 DNSは世界中のドメイン名・ホスト名を管理する分散型DBといえる。現在のインターネットを支える基幹技術。
 DNSサーバに、ホスト名に対するIPアドレスを問い合わせる。

補講3 ICANNの組織説明。株組織IANAと地域の担当解説。

 
第4章 ルーティング
第23回 ルータ
 経路選択はどのネットワークを経由してパケットを届けるかということ。
 経路選択はルータが行う。
 ルータがルートを決定することで、ネットワークは相互にデータ転送ができる。
 ルータはそれぞれのネットワークに所属し、ポートにIPアドレスを持つ。
 他のネットワークへの転送を希望するホストはルータに送って届けてもらうという形をとるので、IPアドレスが必要。
 ルータが無い場合、同じネットワーク内にしかデータは転送できない。
 ルータはルーティングテーブルをもち、それをもとにデータの転送先を決定する。
 ルーティングテーブルには、宛先ネットワークまでの距離、次に中継するルータ、そのルータにつながっている自分のポートなどがのっている。
 ルータが宛先ネットワークまで(時には他のルータを経由して転送したあとは)レイヤ2機能で宛先ホストに届ける。

第24回 デフォルトゲートウェイ
 ルータにはブロードキャストを他のネットワーク(ドメイン)に流さないという役割もある。
 衝突の影響範囲が及ぶ衝突ドメインは、スイッチやブリッジがわける。ブロードキャストドメインはルータがわける。ハブはどちらにも影響がない。
 ARPはブロードキャストなので、宛先MACアドレスを知るときに困る。
 そこでインターネットワーク(ネットワーク通信)ではディフォルトゲートウェイが必要。
 ディフォルトゲートウェイはネットワークの接点になるデバイス。主にルータ。
 他ネットワークにデータを送るホストはディフォルトゲートウェイにパケットを送る形をとる。
 MACアドレスはディフォルトゲートウェイのものをいれて、4つのアドレスを揃える。
 ディフォルトゲートウェイのIPアドレスは手動またはDHCPサーバに問い合わせる。
 
第25回 ルーティングテーブル
 ルータはルーティングテーブルを参照し、宛先(ネットワークまでで、ホストは考慮しない)へのルートを決定する。
 ルーティングテーブルには、宛先ネットワーク、次の中継ルータ、距離、送信ポートが記載されている。
 ルーティングテーブルをつくるために、ルータは他のネットワークへのルートを知る必要がある。
 知る方法として静的ルーティングと動的ルーティングがある。
 静的ルーティングは管理者が手動で行うが、う回路などの問題がある。
 動的ルーティングは、ルータが自動で情報を交換し合い、ルートを知る方法などで、常に最新のルートが得られるが、そのために帯域帯を使用することと、得られた情報から最適ルートを計算するという処理が必要。また、すべてのルータが最新の情報を持つ必要があるという最大の弱点がある。しかし自動で障害のあるルートを避けられるのは大きな利点。
 コンバージェンスとは、すべてのルータが最新のルート情報をもっていること。
 
第26回 ルーティングプロトコル
 動的ルーティングはルーティングプロトコルで実装される。
 自律システム(AS)・・・・一つの管理断代によって管理されるネットワークの集合体。
 ルーティングプロトコルはAS間のルーティング用=EGPとAS内部のルーティング用=IGPの2種類がある。
 また、動作によって4種類にわけられる。
 EGPではBGPがスタンダード。
 ルータが交換する情報はルーティングプロトコルごとに違う。
 いつ、どうやって、誰におくるかはルーティングプロトコルで決定する。

第27回 RIP
 ルータが選ぶのは最適ルートで最短ルートではない。
 最適ルートを決定する際の判断基準はメトリック。
 メトリックはホップ数、回線のスピード、混み具合、エラー発生率などの値から計算して決める。
 ルータが交換する情報をルーティングアップデートという。
 ルーティングアップデートではルーティングテーブルをそのまま交換し合う。そして更新があれば差し替える。
 定期的に更新を行い、アップデートが6回なかったら、そのルータは障害ルータとして消す。
 RIPはディステンスベクタ動作のルーティングプロトコル。
 ディステンスベクタ型は距離と方向から判断する。
 RIPではアップデートを受け取ると、自分の知らないネットワークをテーブルに追加。その際中継ルータを送ってきたルータにし、送信ポートをアップデートを受け取ったポートにし、メトリックに1を足す。 
 すでにテーブルに存在するネットワークについて、新たな情報がアップデートで来た場合、新しい方がメトリックが小さければそちらをテーブルに乗せる。

第28回 ICMP
 エラーメッセージなどを転送するプロトコルがICMP
 ICMPはネットワークの制御・管理に使用される。
 ICMPはIPヘッダ+ICMPメッセージにカプセル化されている。
 ICMPメッセージのタイプは11種類あり、QueryメッセージとErrorメッセージに分けられる。
 Queryメッセージは状態を調査する。
 Errorメッセージはエラーを通知する。
 タイプが3なら、宛先到達不能メッセージ(Destination Unreachable)
 
第29回 EchoとTime Exceeded
 ICMPのタイプ0はEchoメッセージ応答。8はエコー要求。
 pingはこのEchoの仕組みを利用したコマンドで、エコー要求に応答が返るなら接続されている。応答時間からネットワークの状態を調べることもできる。
 ICMPのタイプ11はTime Exceededメッセージ。
 IPで説明したTTLが切れるとパケットは破棄され、破棄したことを通知するメッセージTime Exceededが流される。
 tracerouteコマンドはこの機能を利用して宛先までのルートを教えてくれるコマンド。
 クラッカーにもpingやtracerouteは有効なので、管理者は運用に注意する必要がある。
 
補講4 IPv4とIPv6
 IPv4は32ビットのアドレス。約43億個のアドレスがとれる。1980年代初頭に設定。2010年ごろ枯渇するといわれている。
 IPv6は128ビットのアドレス。すでに多すぎて単位が「澗(カン)」という単位になる。1990年代初頭に設定。セキュリティやアドレスの自動設定、ルータの負荷軽減などの技術が導入されている。
 2014年1月にしらべたら枯渇した地域もある。


第5章 コネクションとポート番号
第30回 レイヤ4概要
 レイヤ4では送信元から宛先まで、正確、確実に届けるための制御を行う。
 具体的にはエラーが発生した場合やり直す方法をとる。
 応答確認とフロー制御で、信頼性の高いデータ転送を行う。
 フロー制御とは、処理能力を上回った情報が送られた場合、あふれ出てしまうのを防ぐ(受信側から受信可能データ量を伝える)ということ。
 レイヤ2は同一LAN内のノードとノードの接続、レイヤ3はネットワークとネットワークの接続。
 レイヤ4はアプリケーション間の接続を行う。(エンドツーエンドの接続)
 レイヤ4ではホストのどのアプリケーションへのデータが判別するためにポート番号を使う。
 レイヤ4にはTCPとUDP二つのプロトコルがある。

第31回 コネクションとセグメント
 TCPでのデータ転送にはコネクションの確立が必要。
 コネクションとは、アプリケーション間のデータのやり取りを行うデータの道で、仮想的な通信路。
 データ転送を始める前に事前に確認のやり取り(スリーウェイハンドシェイク)で行う。
  SYNビットが1のコネクション確立要求→
  ←ACKとSYNが1のコネクション確立応答+確立要求
  ACKビットが1のコネクション確率応答→
 これで双方向の通信が可能になる。
 コネクションの切断も、双方が終了要求を送り合う。
 大きいデータはセグメントに分割して、シーケンス番号をつけてカプセル化して送る。
 MSS・・・最大セグメント長
 
第32回 ウィンドウ制御
 TCPではシーケンス番号でデータの受信の確認をする。
 シーケンス番号は送るデータの先頭バイト番号。確認応答番号は次に送ってほしいデータの先頭バイト番号。これによって受信側がどこまでデータをうけとったかわかる。
 データが相手に届かなかったら再送を行う。
 RTT・・・これまで送ったデータに対し、確認応答が返ってくるまでの時間。初期値を設定しておき、その後は応答の時間から動的に変更する。
 RTTが再送の基準になる。
 1回ごとに送信確認だと時間がかかるので、複数のセグメント転送→応答確認にすると効率がいい。
 ウィンドウ制御は、上記のときにフロー制御をするもので、具体的にはTCPで受け取ったデータを一時的に保管しておくバッファの使えるサイズ(ウィンドウサイズ)を送り、オーバフローしない仕組みにするもの。
 このウィンドウサイズまでは応答確認なしで送ることができるということになる。

第33回 レイヤ4ポート番号
 通信はアプリケーション間で行われる。
 どのアプリケーションのデータかはポート番号で識別する。
 よく使われるサーバアプリケーションには事前にきめられた番号があるので、送信側はそれを使う。
  20→FTP、21→FTPコントロール、25→SMTP、53→DNS、67→DHCPサーバ、68→DHCPクライアント、80→HTTP、110→POP3、443→HTTPS、520→RIPなど。
 送信元のポートは1024以降のランダムでユニークなポート番号を使う。

第34回 UDP
 TCPは信頼性の代わりにスループットが犠牲になることがある。
 UDPは制御を何もしない、コネクションも確立しない。UDPヘッダにはポート番号しかない。だから高速。
 VoIPや動画のストリーミング配信など高速リアルタイムなやりとりが必要なアプリケーションで使われる。
 ブロードキャストが必要なアプリケーションにも使われる。DHCPなど。
 TCPはコネクションが必要なのでブロードキャストは難しい。

第35回 ネットワークアドレス変換
 ICANNが管理しているアドレスはグローバルIPアドレス。
 インターネットにつながらないネットワークのためのアドレスがプライベートIPアドレス。クラスは3つ。
 インターネット接続台数が多く、IPアドレスが枯渇してきたので、考え出されたのがIPv6やクラスアドレッシング。現在もっともつかわれているのがネットワークアドレス変換。
 ネットワークアドレス変換(NAT)・・内部ネットワークにはプライベートIPアドレスを割り振る。これを外部通信のときにはグローバルIPアドレスに変換する。
 NATでは保有するグローバルIPアドレス以上の台数は接続できない。

第36回 NAPT
 NAPT(Network Address Port Translation)=IPマスカレードとは、1つのグローバルIPアドレスで複数台を接続できる。
 IPアドレスとポート番号両方を変換する方法で実現している。
 ポート番号をつかうことでセキュリティもあがる。
 LAN内部に公開したいサーバがある場合は、静的NAPTを使う。HTTPならポート番号80番がくるがNAPTでは変換されなくなってしまうので、手動で変換を入力しておく。
 FTPはデータ部分にも送信元のIPアドレスとポート番号が記述されるので、NAPTでは使えない。
 同じくデータ部分にIPアドレスが入るアプリケーションは使えないので、個別にルータが対応する必要がある。

第37回 レイヤ5-7
 TCP/IPではレイヤ5-7はまとめて一つのプロトコルとして実装されている。
 レイヤ5はセッションの開始、維持、管理、終了を行う。
 レイヤ6はデータの変換・圧縮・暗号化を行う。この機能で異なるハードウェアやOS間でデータ形式の違いを考えないでデータ転送ができる。
 レイヤ7はユーザアプリケーションにネットワークサービス(HTTPやFTPなど)を提供する。

第38回 OSI参照モデルまとめ
 各レイヤは上位レイヤにサービスを提供する。
 各レイヤは独立している。下のレイヤの都合はまったく考えない。他のレイヤに影響は及ぼさない。
 必ず「順序」と「機能」を前提に分けて考える。
 レイヤ5-7はレイヤ4以下の機能でアプリケーション別に届いたデータを処理する。
 レイヤ4 TCPとUDP、レイヤ3以下の機能でホストに届くデータに対し信頼性の高いデータ通信を各アプリケーション(ポート番号で識別)のレイヤ5に提供する。
 レイヤ3はレイヤ2以下の機能で物理的に接続されたデバイス間のデータ通信を使って、異なるネットワーク間の接続をレイヤ4に提供する。=ルーティング
 レイヤ1はレイヤ1の機能で電気的なデータの受け渡しを使って異なるデバイス間の接続をレイヤ3に提供する。=イーサネット、CSMA/CD(衝突が発生しないように効率的にレイヤ3にデバイス間接続を提供)
 レイヤ1は電気と信号を担当し、ビット列の転送をレイヤ2に提供する。
 最終的にはレイヤ7がユーザアプリケーションにネットワークサービスそのものを提供している。
 

索引。


3分間 ネットワーク 基礎講座

3分間 ネットワーク 基礎講座

  • 作者: 網野 衛二
  • 出版社/メーカー: 技術評論社
  • 発売日: 2007/11/17
  • メディア: 単行本(ソフトカバー)



新しい版がでているようです。

[改訂新版] 3分間ネットワーク基礎講座

[改訂新版] 3分間ネットワーク基礎講座

  • 作者: 網野 衛二
  • 出版社/メーカー: 技術評論社
  • 発売日: 2010/09/11
  • メディア: 単行本(ソフトカバー)



タグ:網野 衛二
nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:
前の3件 | 次の3件 プログラミング ブログトップ