夏休み2018(7月編)

 や~7月もあっという間に終わりですね・・・なにか有意義なことを私はこのジュライにしたのでしょうか・・・振り返ってみたいと思います。

館林美術館
個人的には外観は国立西洋美術館を凌ぐんじゃないかと思っている美術館。ただ、常設展示がほとんどないのが残念(あと日陰もない)。※常設展示には、ヘンリー・ムーアなどの近現代の彫刻作品があります。あと、なんちゃらポンポンとかいう動物の彫刻を上手に作る人。
特別展はデンマークのデザイン展。つーかレゴブロックってデンマークで生まれたのね。正式には無限連結式ブロック玩具だそうな・・・ちょっとテトリスができた経緯と似てるな。
しかし、色相対比が独特で、また、プロダクト的な民芸といったコンセプトも面白い。この国だからIKEAが生まれたのか・・・と思ったら、IKEAはデンマークじゃなかった。

宇津野洞窟
葛生の山中にひっそりとある鍾乳洞。
DjF05UUU0AAogn_.jpg
心霊スポット感がすごいが、なんというかキリスト教の教会建築もラスコー壁画もそうだけど、こういう真っ暗なところって古代から神聖な霊的なスポットして扱われがちだよね。化学的には関東ローム層由来の石灰岩で、それが雨に溶けて穴になった。
で、ホラー的に涼しくなるというか、本当に物理的に寒い。冷房がガンガンかかった部屋というよりは冷凍庫入った感じに近い。だから昔はこういうところを氷室にしてたんだろうな。
イメージとしては、デザーテッドアイランドの洞窟だね。小規模ってのも似ているし。

なかがわ水遊園
特別展のエリマキトカゲに会いに。エリマキトカゲってすごい好きなんだけど思い返せば人生で一度も生で見たことがない!ってことではるばる大田原に・・・
DjWFw4rU4AIRZ8x.jpg
と・・・遠い!!なんつー交通のアクセスの不便さ(´;ω;`)富岡の群馬県立自然史博物館でさえインターチェンジはまあまあ近かったぞ!
なんか噴水とか浅いプールとかもあって地元のファミリーの憩いのスポットみたかった。
目的の水族館は想像以上に立派で、控えめに言ってもメチャメチャよかった。そして勉強になった。ギンブナってあんなインチキSFみたいな繁殖の仕方するのか!みたいな(オスがいないので他の種類の魚の精子で自分の卵を受精させる)。
・・・でエリマキトカゲなんだけど、私、この特別展てっきり爬虫類と触れ合えるかと思ったらオサワリ禁止で、ケースのエリマキトカゲもエリマキも開いてくれなかった・・・危機的状況でしか開かないんだろうな。威嚇手段っぽいもんね。

DjPwf1IUwAA8ZJn.jpg
水族館内のアマゾンカフェ。結構雰囲気がいい。照り焼きピラルクーなんてここを逃したら一生食べることもないぞ!って思ったんだけど、不覚にも行きにダブルチーズバーガーを食べてしまい、お腹がパンパンだった・・・(´;ω;`)なんか、イメージとしてはホッケみたいな淡白な白身な気がする・・・ピラルクー。

DjWGhBWVsAEOcDv.jpg
生前のピラルクー。でかい。登場BGMはオーシャン・ハンターで。

帰りは、あまりに距離が遠いので、途中で宇都宮に寄って餃子を堪能しました。複数の餃子専門店が入っているビルがあってさ、そこで各店の餃子が食べ比べできるようになってたのは面白かった。
ただし、ダブルチーズバーガーの腹持ちの良さが(以下略

西部劇鑑賞
なんか『恐竜大陸サウラシア』の脚本を『風と翼』みたいにリブートしたくて、西部に関する書籍とか映画とかいろいろ見てるんだけど、とどのつまり私は狭い国土のジャパニーズなので、アメリカの桁外れの広大さ、勝てば官軍的なむちゃくちゃさ、暴力や搾取の正当性などがイメージできないなあって。
お金を貯めてアメリカ旅行してもいいんだけど、なんか旅行経験のある北海道の広さもさイメージできてないからね。札幌と函館ってあんなに距離あるんだ、みたいな。桃鉄だとすごい近く感じるからね。
そうなるとアメリカなんて一つの国だって考えちゃまずいと思うのよ。やっぱり合衆国なんだなって。
で、西部劇もいくらか見たので、簡単な感想。

『マグニフィセント・セブン』
カエルさんお勧め映画。公開当時も見に行こうとは思ったんだけど、とうとう今となった。
七人が国際色豊かなのは、なんかあからさますぎるかなあ。『ズートピア』もそうだったけど、あまりに露骨だと気になっちゃってね。
あと、登場人物が村を守る動機がほとんど描かれてないのはどうなんだろうか。プリンシパルの村人側のある種の冷酷さやエゴとかも描かれず、悪い奴はとことん悪く、いいやつはとことんいいという分かりやすい話であったな。やっぱり、黒澤明のあれを見ちゃうとどうしても厳しいよね。ヴィンセント・ドノフリオとエンディングの例のテーマはよかった。

『真昼の決闘』
こちらは打って変わって、そんな冷たい住民のせいでギャングと孤軍奮闘する羽目になった保安官のお話。驚くのは、こういう話って、最後の最後はやっぱり住民たちが勇気を振り絞って保安官を助けに駆けつけてくれるもんなんだけど・・・マジで誰も来ない。(´;ω;`)
この、保安官さんが人望がないとかそういう風に描いてない(むしろ町思いで有能な人物として描かれている)のもリアルで、本当に辛い映画。

『許されざる者』
これは凄い。今まで見た西部劇で一番面白かった。クリント・イーストウッドはアメリカの郷愁を描かせたら敵なしって感じだよな。
結局アメリカの歴史ってすごい後ろめたさがあるじゃん。いや、他の国もそういう侵略をして現在の国土があるのかもわからないけど、アメリカってさ、歴史が浅いから、ほかの国なら古代とかに遡る羽目になって良くも悪くも霞んでしまう部分、建国のいきさつが鮮明にあるんだよね。祖先が具体的に何をやって今のアメリカがあるかっていうのが。これは、アメリカのすごい特異なところだと思うよ。自然国家じゃないんだよね。理念がまずあって、それで作ろうぜって国を作ってるわけで。
つまり、本当に原罪なんだよね。ストレンジャーかつ荒くれ者のDNAがあるわけで、ほいで、同じようなことやってるけど上品ぶっている英国人をメチャメチャに痛めつけたり(^_^;)オレたちは居直るぞ!っていう。
例えとしてどうかわからないけど、なんとなくこれってゴジラ映画に近いよね。イーストウッドがなんかそういうアメリカを体現する大魔神みたいな存在でさwウルトラマンじゃないんだよ。ゴジラなんだよ。真のハリウッド版ゴジラですよ、これ。

・・・で、ここまで見てさ。西部劇ってなんかやっぱり、土地が広大だから、さみしさがあるよね。『アーロと少年』の時も思ったけど。人がいない。動物もいない。背景だけ。っていう。スカスカっていう。人口密度が日本の想像以上に低いぞっていう。
この土地では、生き物そのものがよそ者って感じ。彼岸というか。死が近いというか。全然違うぞジャップ!ってデモインとかフェニックスとかチワワとかに住んでる人に怒られそうだけど(^_^;)
なんか、すごい勉強してもやっぱりフロンティア・スピリットってのは描けない気もするよな。せいぜい淀川さんにテンプラ・ウエスタンなんて呼ばれるのが関の山で。

追記:ユル・ブリンナーの『荒野の七人』も鑑賞しました。『マグニフィセント・セブン』よりも全然面白かった!クリント・イーストウッドの作品は渋くて近寄りがたい西部に対する畏敬の念みたいなのがあるけど(ゴジラ)、『荒野の七人』は『七人の侍』の形式で宮崎アニメやってる感じ。みんな爽やかでいいやつなんだ。『七人の侍』にはいなかった鉱山を狙う山師や上品な賞金稼ぎみたいなキャラもいて、かなり上手に西部劇に置き換えている。つーか置き換わるもんなんだなって、どっちも見てると感心するよねw

データベースシステム覚え書き①

 や~連日暑いですね。私は数年ぶりにかき氷を食べたのですが・・・

ブルーハワイ.jpg

 まさかのビーカー。ブルーハワイが塩化銅水溶液に見えてならない!

DBMS
データベース・マネジメント・システム。
大企業などの膨大なデータを一括管理する(各事業所がそれぞれにデータベースを作ると効率が悪くミスも起きやすい)ためのデータベースシステム。
複数のユーザが同時にデータを更新しないように順番待ちをさせる(順序制御)、アクセス権を限られたユーザのみに設定する(権限確認)などの工夫ができる。

RDBMS
リレーショナル・データベース・マネジメント・システム。
リレーショナル理論を採用したDBMSのこと。
リレーションとは、学級名簿など、縦列(フィールド)と横列(行。レコード)の二次元の表形式のこと。簡単に言うとエクセルのような表(テーブル)。
ツリーやネットワークと違って、データ同士の関係は定義されず、各データをかなり柔軟に扱うことができる。
異なる表のデータはID(キー)をつけることでやりとりすることができる(リレーションシップ)。

SQL(シーケル)
ストラクチャード・クエリ・ラングエージの略。
とどのつまりデータベース言語。これを用いた命令文をSQL文という。
セミコロンで命令を一段落させるなど、C言語と重なる部分もあるが、文法のキーワードが大文字でも小文字でもOKだったり、文が長くなったら好きな場所で改行ができるなど柔軟性が高い。

CREATE文
データベースのテーブルを作成するためのコマンド。
C言語の構造体の宣言などと似ている。
もC言語と同様で、整数値はINT、文字列はCHARなど(かっこの数字は桁数)。※INTEGERはNULLも入れることができる整数型。
具体的な文法は以下のようになる(このように見やすいように改行してもだいじょうぶ)。

CREATE TABLE 商品表
(
 商品コード CHAR(4),
 商品名 CHAR(16),
 単価 INTEGER,
 PRIMARY KEY(商品コード)
);

SELECT文
データベースの特定の列を選択するためのコマンド。
具体的な文法は以下の通りで、セレクト~(どの列を選ぶのか)と、フロム~(どのテーブルから選ぶのか)のふたつのフレーズで構成される文を書く。

SELECT 商品コード、商品名 FROM 商品表 ;

※ちなみにセレクトなどのキーワードは小文字でも大丈夫だが、読みやすいと言うことで、大文字で記述するのが慣例になっている。

ファイル
以下のタイプがある。

マスターファイル
社員情報や商品情報など、元帳の役割を果たす基本ファイル。一度作成・登録すると、頻繁に修正をおこなう必要はないもの。

トランザクションファイル
売り上げ情報や在庫情報など、日々発生する変動的データを扱うファイル。

ワークファイル(テンポラリーファイル)
作業中一時的に作成されるファイル。

ヒストリカルファイル(ログファイル)
ファイルに対してアクセスした履歴情報を管理するファイル。

データの整理
わりと重要な部分。

非正規形
データが整理されておらず、重複するデータがセルに存在する。

発注番号 取引先コード 取引先名 商品コード① 商品名① 商品コード② 商品名②
H001 T123 リカード商会 S456 毛織物 S789 ぶどう酒

第1正規形
非正規形から重複データをなくしたもの。
ただし、部分関数従属性(同一の発注番号から参照するコードが二つ以上ある)は残っている。

発注番号 取引先コード 取引先名 商品コード 商品名
H001 T123 リカード商会 S456 毛織物
H001 T123 リカード商会 S789 ぶどう酒

第2正規形
第1正規形から部分関数従属性をなくしたもの。
それぞれのコードごとに別の表を作成している。
ただし最初のテーブルだけ、推移的関数従属性(発注番号→取引先コード→取引先名・・・とデータがたらい回しになっている部分)があり、中途半端。

発注番号 取引先コード 取引先名
H001 T123 リカード商会

発注番号 商品コード
H001    S456
H001    S789

商品コード 商品名
S456    毛織物
S789    ぶどう酒

第3正規形
第2正規形から推移的関数従属性をなくしたもの。
ここまで細かくテーブルを分割すると、部分的なデータの変更が非常に楽。また、データの重複や冗長性もない。

発注番号 取引先コード
H001    T123

取引先コード 取引先名
T123    リカード商会

発注番号 商品コード
H001    S456
H001    S789

商品コード 商品名
S456    毛織物
S789    ぶどう酒

キー
ふつうに鍵という意味。レコードを識別するフィールド(データ項目)で、例えばある条件にあったデータ項目だけを複数の各レコードから引き出したい場合に用いる。

主キー
プライマリー・キー。
あるレコードのテーブルからデータを引っぱってくる際に、最も頼りになる鍵のこと。
例えば生徒名簿では学籍番号がそれで、仮に同姓同名の生徒がいても学籍番号は重複がないユニークなデータ(一意制約)なので、欲しいデータをしっかりと特定して引っぱることができる。
そのため、データが空のNULL値は主キーとして認められない。

複合キー
コンパウンド・キー。複数の項目をまとめて一つのキーにしたもの。
うまくまとめれば主キーのような働きができる(欲しいデータをちゃんと特定できる)。

候補キー
主キーの候補となるいくつかのキーのこと。

データ編集
エクセルの経験があればわりとピンとくる。

ロック・アンロック制御
データベースを複数のユーザが同時に利用する場合(マルチ-ユーザ機能)における配慮。
ロックとは、ファイルやレコードに対して鍵をかけることで他のユーザの読み込みや書き込みを制限する機能。アンロックとはそれを解く機能。
これにより、複数ユーザの同時書き込みを解消している。
つまり、先に誰かがデータベースを編集している場合、他のユーザはそのデータを編集することができない(先の人の編集が終わるまで待つ)。

デッドロック
二人のユーザがAとBの二つのデータベースをそれぞれ同時に編集する際、各データベースの更新にお互いデータベースのデータが必要な場合(Aの更新にBが必要、Bの更新にAが必要など)、どちらのデータベースにもロックがかかり更新できず半永久的に待ちの状態になってしまうこと。

システム障害への対策
今までの苦労が水の泡にならないありがた~い機能。

ロールバック
システム障害が起きたとき、チェックポイントの部分から障害発生までのログファイルを確認し、この間にコミット(編集を確定)してないトランザクション(一連の処理の単位)については、ログファイル内の更新履歴を破棄して、トランザクション開始以前の状態に戻すこと。トランザクションの取り消し処理。

ロールフォワード処理
システム障害が起きたとき、チェックポイントの状態まで巻き戻したあと、障害発生時点でコミット済みのトランザクションについてログファイルを参照し、データベースへの反映(トランザクション)をもう一度行うこと。

ジュラシック・ワールド/炎の王国

 「面白い度☆☆ 好き度☆☆」

 あとがあればね。

 このシリーズは本当に数字順につまらなくなっていくな。つまり毎回最低記録を更新するという。恐竜バイヤーのトビー・ジョーンズさんのエレベーターのシーンだけは許してやろう。あれは不覚にも笑ったwあとは駄作。
 もうさ、子どもの観客も映画がつまらなくて飽きちゃって後ろから席蹴られるし、ひどい目にあったwなんか別の映画見に来た感じ。登場人物が本当に誰にも感情移入できないのが凄い。
 坪内逍遥は小説の真髄は登場人物の心理描写であると言ってたけど、それが全くない。あるのかもしれないけど、一般的な倫理観とは掛け離れているんだよな。そういう人もいるはいるんだが、ほとんどそういう人ばっかりだからリアリティがない。別の世界の話というか。どうでもいい。
 顕著なのが、「人命<恐竜」という危ないイデオロギーの連中をなんとなく善人として描いていることで、これがロストワールドだと保護する側もハントする側もどっちも食べられちゃったりして皮肉が効いてたんだけど、これは、なんかすごいオタクが作った典型的なダメな作品。
 今朝、ガネオ・トカゲさんが『外来種は本当に悪者か?』の書評記事を紹介してくれたんだけど、こんな一文がある。引用させていただきたい。

 ところで、本書は一部の専門家には評判が悪いようだ。例えば「悪書、著者は生き物がそんなに好きではないのでは? 生き物が好きでないなら余計なことは考えず(黙っていてほしい)」「雑な本がわざわざ翻訳されてそれを門外漢が書評する」などなど。

僕は、悪書や雑な本は「第3者による検証が不可能な「新資料」「新事実」に基づいたもので、学問的な実証手順を抜きにして組み立てられたもの」と理解しているが、本書がそれに当たるのだろうか。「著者は生き物が嫌いでは」と言う人はおそらく生き物が大好きなのだろう。しかし、地球は生き物が好きな人だけに任せておいていいのだろうか。


 地球を生き物が好きな人だけに任せた結果がこの映画の結末だよね(笑)。ようこそジュラシック・ワールドへ。ただし、あの個体数だと繁殖はできない気がするけどな。この作品は前半と後半で綺麗に作風を変えるけど、『猿の惑星』路線を考えているのだったらすごい浅はかだぞ。
 一番可能性があるのは、数匹いたコンプソグナトゥスという小さな恐竜で、これはミナミオオガシラとかグリーンイグアナのように根絶不可能な侵略的外来種になりそうw
 ただし、マルカム博士のセリフを引用するならば、恐竜は現代の環境と何から何まで異なる世界にいた動物だから適応なんてできないのかもしれない。ステゴサウルスなんか苦しそうに呼吸しているじゃないか。まあ、生命は道を探し出すとも言っているが。

 ただし!内容とは対照的にこの映画のアクションフィギュアの出来はいい。マテルに権利が移ったんだけど、ティラノサウルスとかアロサウルス(なぜか背中のボタンを押すと開いていた口が閉じて鳴き声が出るギミック)が特にいいよ。
 モササウルスもでかい割に値段が安いのでおすすめ。このサイズなら、前作のインドミナスのアクションフィギュアをつかって例のシーンも再現できます。

 あ、インドミナスで思い出したけど、最初の潜水艇のシーンもさ・・・ああいうハイブリッドな恐竜なんだから組み換えDNAサンプルくらい控えておかなかったのかね。島の外の研究施設とかもあるだろうし。よくわかんね。
 最初は、パーク管理者とは全く関係のない組織が違法に忍び込んでやってるのかって思ったけど(とはいえ大掛かりだが)、ヘンリー・ウー博士がいたしなw
 もっと言えば、インドミナスの死骸が転がってると思いきや、モササウルスが死んでて、インドミナスはまだ生きててどっかに潜んでる・・・とかのほうがずっと怖いと思うけどな。
 結局、実在している恐竜の方をえこひいきしちゃうんだから、だったら架空の恐竜なんか出すなよ、とも思う。全然怖くないじゃんっていう。

 まあ、あれだ。富野由悠季監督か何かが「アニメはアニメオタクが作りだしたらつまらなくなった」とか言ってた気がするんだけど、それだな。恐竜映画を恐竜オタクが作るとつまらないんだよね。知性がなくなるからね。

コンピュータネットワーク覚え書き④

 こんばんは、インターネットの技術第4回です。う~ん、この単位はとにかくアルファベットの略語が多いよね。国際経済の講義かっていうくらい。そしてネコも杓子もプロトコル。そうは思わんかね??

参考文献:中岡快二郎著『インターネット技術入門』

ARPプロトコル
アドレス・リソリューション・プロトコル。
相手のIPアドレスからMACアドレスを知るための仕組み。
通常、コンピュータは自分のMACアドレスは認識しているが、情報を届けたい相手のMACアドレスは知らないし、全ての相手先のMACアドレスを記憶するのは現実的ではない。
ARPは、宛先IPアドレスを手がかりに、そのパケットを次に受け取るべきホストのMACアドレスを獲得するプロトコルである。ちなみに同一LAN上に宛先IPアドレスを持つホストが存在せず、ルータを経由する場合は、ルータのMACアドレスを獲得する。
ARPリクエストはブロードキャスト(同じネットワークアドレスを持つLANに所属する全てのホストに送信すること)として送信されるため、リクエストが届く範囲は、同じネットワークに接続されているホストのみに限られる。つまりARPリクエストパケットはルータを通過できない。

ARPの手順
ホストA(IPアドレス:192.168.10.15)がホストC(IPアドレス:192.168.10.17)にデータを届ける場合、ホストAはホストCのIPアドレスは知っているが、ホストCのMACアドレスは知らない。
そのためホストAは、ホストCのMACアドレスを得るためにARPリクエストパケットをブロードキャストする。リクエストパケットには、宛先IPアドレスには、LANのブロードキャストアドレスが入る。
このパケットの中には、ホストAのIPアドレスや、データを届けたいホストCのIPアドレスも入っている。ここでホストAが送るイーサネットフレームの宛先MACアドレスフィールドには、ブロードキャスト用の特殊なアドレス(ff:ff:ff:ff:ff:ff)が入る。
同一ネットワーク上の全てのホストは、ARPリクエストパケットを受信し、自分のIPアドレスが192.168.10.17と一致するかを確認する。
一致しないホストBとDはリクエストパケットを破棄し、返事をしない。
一致したホストCはARPレスポンスパケットをホストAに返送する。この中には、ホストCのIPアドレスとMACアドレスが入っており、ホストAはホストCのMACアドレスを知ることができる。
ホストAは毎回問い合わせをしなくて済むようにホストCのIPアドレスとMACアドレスをメモリに保存する(ARPキャッシュ)。接続状況が変わった場合でも正しく通信できるようにするため、このキャッシュは一定時間経つと消去される。

IPv4(インターネット・プロトコル・バージョン4)
インターネット・プロトコルとは、パケットの配送や準備をするプロトコルで、OSI参照モデルではネットワーク層に当たる。現在主流のバージョンがこの4。
アドレスは32ビットで42億通りのアドレスを作ることができる・・・が現在はそれを凌ぐアドレスが必要となっている。
データの先頭に置かれる補足データのことをヘッダと言うが、このヘッダのフォーマット(形式)は以下のように決まっている。

①バージョン(4ビット)
IPv4ではバージョンは4なので0100となる。

②ヘッダ長(4ビット)
IPヘッダの長さを32ビットなら1として表す。この値によって、パケットの中の本データの先頭位置(=IPヘッダの終わり)を知ることができる。

③サービスタイプ(8ビット)
送信しているIPパケットのサービス品質を表す。最大限の信頼性や、最低限の遅延を要求することになるが、ほとんどのネットワークはこの要求を無視し、現在のインターネットでは形骸化している。

④パケット長(16ビット)
IPヘッダとデータを合わせたパケット全体の長さを表す。最大サイズは65535バイト。

⑤識別子(16ビット)
あたりまえだが分割されたデータのIPヘッド内の識別子は全て同じものが入る。

⑥フラグ(3ビット)
パケットの分割(フラグメンテーション)に関する情報が入る。そのフラグメント(断片)がデータの途中のものか最後のものかを判断する。

⑦フラグメントオフセット(13ビット)
フラグメントが元データのどこに位置しているかを示す。0~8192までの値がシーケンス番号として格納される。

⑧生存時間TTL(8ビット)
タイム・トゥ・ライブ。
本来は、そのパケットがネットワークに存在してよい時間を秒単位で示したものであるが、実際には何個のルータを経由してよいかという意味になり、整数値で表す。
ルータを通過する度に、この整数値は1つずつ減っていき0になったらパケットは破棄される。

⑨プロトコル(8ビット)
上位層のプロトコルが何かを示す。ICMP(エラーや診断を担当)というプロトコルなら1、TCPでは6、UDPでは17が入る。

⑩ヘッダチェックサム(16ビット)
IPヘッダが送信途中で壊れてないかどうかを検出するために使う。

⑪送信元IPアドレス(32ビット)

⑫送信先IPアドレス(32ビット)

⑬オプション(可変長の長さ)
通常は使用しない。
例えば、任意の順番でIPアドレスを巡らせたい場合に用いるソースルーティングなど。

⑭パディング(32ビット-オプションのビット長)
オプションが必要な場合はIPヘッダが32ビットの整数倍になるように調整する。

IPv6(インターネット・プロトコル・バージョン6)
アドレスは128ビットで天文学的な数のアドレスを作ることができる。
バージョン4の問題点をすべて解決しているが、バージョン4が広く普及しているため、バージョン6へすぐには移行できない状況になっている。
ヘッダフォーマットは以下の通り。

①バージョン(4ビット)
6を示す二進数の0110が入る。

②パケット長(16ビット)
IPv4と異なり、IPヘッダの長さを除いたサイズが入る。最大サイズは65535バイト。

③次のヘッダ(8ビット)
ヘッダに続くデータのプロトコルを指定する。

④ホップリミット(8ビット)
IPv4でいう生存時間に当たる。

⑤送信元IPアドレス(128ビット)

⑥送信先IPアドレス(128ビット)

⑦拡張ヘッダ(可変長)
中継点オプション、ルーティング、フラグメント、宛先オプション、認証、暗号ペイロードの6種類がある。

TCPプロトコル
IPプロトコルの上位プロトコルで、OSI参照モデルではトランスポート層に該当する。
TCPは信頼性のあるコネクション型プロトコルで、送受信データの脱落や重複、誤りがない、使いやすい通信路を提供する。
TCPとIPの両プロトコルは60年代後半、アメリカ国防総省が中心となってパケット技術(データを決められた長さに区切り、それぞれの細切れデータ=パケットに宛先と自分のアドレスをつけて回線に送り出す技術)を利用したデータ伝送の研究をおこなう際に開発された。

ポート番号
IPアドレスは宛先のコンピュータを指定するだけであるため、インターネット通信においては、それぞれのコンピュータ内で動作しているプログラムを指定するための番号が必要になる。それがポート番号で、様々なアプリケーションプログラムを区別する。
ポート番号は16ビットで構成され、0~65535までの数値である。
このうち、0~1023まではインターネット上で利用するアプリケーション用(ウェルノウンポート)として予約されている。例えばHTTPのポート番号は80で全世界共通である。
なお、サーバ側とクライアント側では用いるポート番号が異なり、1023以降はクライアントのアプリケーション識別に使用される。

TCPセグメント
TCPでは、信頼性のある通信を実現するために、上位層から受け取ったデータを決められた長さに分割し、それらにTCPヘッダを付け加える。
この分割データとTCPヘッダを合わせたものをTCPセグメントという。
TCPセグメントは以下のフィールドで構成される。

①送信元ポート番号(16ビット)

②送信先ポート番号(16ビット)
上位層のアプリケーションを判断するための、各アプリに対応したポート番号を指定する。

③シーケンス番号(32ビット)
分割されたTCPセグメントが、送信データ全体のどの部分のものかを指定する。
これにより、分割されて送られてきたデータを順番通りに受信するストリーム伝送が実現される。

④確認応答番号(32ビット)
受信側がACKセグメント(正常に受信したことを送信側に知らせるセグメント)を返すとき、送信側が次に送るべきデータのシーケンス番号が入る。これにより、送信側は受信側が誤りなくデータを受信したことが確認でき、次のデータを送信しても良いことがわかる。

⑤コードビット(6ビット)
1~6の各ビットはTCP通信の各種制御を特定するためのフラグとして使用される。
フラグは以下の通り。
・URG(アージェント・フラグ)
このビットが1の時は緊急に処理すべきデータが含まれている。
・ACK(アクノウレッジ・フラグ)
このビットが1の時は、確認応答番号のフィールドが有効。
・PSH(プッシュ・フラグ)
このビットが1の時は、受信したデータをすぐに上位のアプリケーションに渡す。
・RST(リセット・フラグ)
このビットが1の時は、コネクションが強制的に切断される。
・SYN(シンクロナイズ・フラグ)
このビットが1の時は、コネクションの確立を要求する。
・FIN(フィン・フラグ)
このビットが1の時は、データの送信は終了。

⑥ウィンドウサイズ(16ビット)
受信側が現在受信可能なデータサイズを送信して知らせる。

⑦チェックサム(16ビット)
IPアドレス、ポート番号、プロトコルに誤りがないかを検査する。

⑧緊急ポインタ(16ビット)
URGが1の時に有効。緊急に処理するデータの場所を示す。

WWW
ワールド・ワイド・ウェブ。
インターネット上で不特定多数の人々が比較的簡単にマルチメディア情報を発信・受信することを可能にしたシステム。以下の3つの実現要素がある。
①URL
ホームページアドレスを一意の名前で指定する。
②HTTP
HTMLファイルの画像データをホスト間で移送するためのプロトコル。
③HTML
Webページを記述するための規格。

URL
ユニフォーム・レスポンス・ロケ―ター。サイトの住所の様なもの。
みたいWebページがネット上のどのサーバのどこに格納されているかを示す。
最初のhttpは、ダウンロードする際のアクセスプロトコル
次のwww.○○.ac.jpは、サイトを管理するウェブサーバのドメイン名
次の80は、ポート番号で標準ポート番号の80だったら省略可能
最後のindex.htmlは、ウェブサーバ内のファイル名である。

HTTPプロトコル
ウェブサーバとウェブブラウザ間でHTMLのテキストファイルや、画像や音声のデータファイルなどを交換するためのプロトコル。
また、HTTPプロトコルの処理をするウェブサーバとブラウザをHTTPサーバ、HTTPクライアントという。
HTTPプロトコルの特徴は、命令は単純で少ない。通信の負荷が少ない。マルチメディアの転送が可能であることである。
通信は「ブラウザからサーバへのリクエストメッセージ」と「サーバからブラウザへのレスポンスメッセージ」の2つのHTTPメッセージだけで行われる。
HTTPメッセージは、ヘッダ部とボディ部のふたつで構成されるシンプルなもので、ヘッダ部はテキスト文字で構成され要求行には「GET」「POST」などの各種メソッドが入る。
ボディ部には転送されるデータが入る。
ただし単にデータを取得するときのリクエストメッセージ、エラーを返す場合のレスポンスメッセージのボディには、何も含まれないこともある。
なおHTTP通信ではTCPプロトコルが使われている。

FTP
異なるコンピュータ間でのファイル転送サービスを提供する。
ファイル転送はリモートホストにあるファイルを自分のコンピュータに持ってきたり、その逆を行ったりすることである。
通常、FTPサーバは許可を受けたユーザしかアクセスできないが、anonymousFTPサーバは誰でもアクセスできる。
FTPは、その目的から信頼性のあるコネクションが要求されるのでTCPプロトコルが使われ、ポート番号は20と21を使う。

DNSサーバ
ドメイン・ネーム・システムを管理するコンピュータのこと。
これを運用するためには専用のサーバプログラム(インターネットではBINDというソフトが一般的)が必要である。
サーバは、ドメイン中のホスト名とIPアドレスの情報、またはほかのDNSサーバがどこに存在するかといった情報を持っている。
これによりホスト名とIPアドレスを対応づけることができ、自分の管轄外のドメイン名であったときは、他のDNSサーバに問い合わせる。なおDNSサーバは組織の中で最低1台以上稼働していなければならない。

リゾルバ
クライアントがDNSサーバに名前を照会するためのソフト。
リゾルバはDNSサーバのIPアドレスを最低1つは知っている必要がある。
具体的には、ユーザがブラウザに階層的なドメインを持つURL(例:www.do-johodai.ac.jp)を入力すると、リゾルバは所属する組織のネームサーバDNSに問い合わせる。DNSサーバはそのIPアドレスを知っていれば返事をするが、知らなければルートネームサーバに問い合わせる。
ルートサーバはjpドメインを管理するネームサーバを知っているから、それをDNSサーバに教える。次にDNSサーバはjpドメインを管理するネームサーバに問い合わせると、ac.jpドメインを管理するネームサーバのIPアドレスを教えてもらえる。
このようにして、組織のネームサーバは最終的にそのURLのIPアドレスを所得すると、クライアントに通知をする。
DNSサーバは問い合わせ結果をテーブルに残しておくことができるので、二回目以降は自分が直接応えて処理の効率を高める。
なおDNSサーバはトランスポート層のプロトコルとしてTCP(サーバ間でのやりとり)とUDP(クライアントとのやりとり)を利用する。

コンピュータネットワーク覚え書き③

参考文献:中岡快二郎著『インターネット技術入門』

OSI参照モデル
オープン・システム・インターコネクション(開放型相互接続システム)の略。
各社が独自にコンピュータ・ネットワークを設計、開発するとお互いの互換性がなくなり、コンピュータ発展の障害になるため、1977年に発表されたアプリケーション開発の共通理解(プロトコル)。
アプリケーションソフトの多種多様の機能をまとめて1つに扱うと、開発段階での障害の対処や完成後のメンテナンスが大変で、一部の手直しが全ネットワークの見直しへと広がりかねないため、OSIモデルではそれぞれの機能を各階層(レイヤー)に割り当てている。
モデル内の各階層は、それぞれ独自の役割と目的を持ち、その上下の階層に対して明確な出入力を規定している。また、各階層は他の階層でおこなわれる処理には関係なく独自の処理をおこなえる。

OSIモデルの階層
プロトコルの種類別に以下の7階層ある。

①物理層(フィジカル層)
伝送線路やコネクタの形状、0と1のビット列を電気信号に変換する形式などが規定されている。

②データリンク層
データ形式のプロトコルが規定されている階層。
上位層のネットワーク層から受け取ったデータにMACアドレスを付加してフレームを構成し、同じネットワークに接続された別のコンピュータにそのフレームを届ける機能を規定している。
また受信側でフレームの誤りを検査できる機能も規定している。

③ネットワーク層
複数のLANが接続されたインターネット上で、自身が所属するLANとは異なるLANに接続されたホストコンピュータにデータを届けるための経路を選択する機能が規定されている。この階層で構成されるデータはパケットと呼ばれる。

④トランスポート層
アプリケーション層から受け取ったデータにアプリケーションの種類を付加する、あるいはネットワーク層から受け取ったデータをどのアプリケーションに渡すかを決める。
また分割されて送られてきたデータを正しく並べ替える機能なども規定されている。
この階層で構成されるデータはセグメントと呼ばれる。

⑤セッション層
コネクション型通信(電話など双方が応答確認をしておこなう通信方法)を実現するプロトコルが規定されている階層。
異なるコンピュータで動作しているアプリケーションソフト同士の対話処理をおこなう。
たとえばアプリケーション間の通信の開始と切断を制御する機能を規定している。

⑥プレゼンテーション層
文字コード、画像データのフォーマット、動画データの形式、圧縮形式、暗号化の方法などを規定。

⑦アプリケーション層
ユーザーが利用する電子メール、ファイルの送受信、ウェブを閲覧するなどさまざまなアプリケーションが規定されている。

IPアドレス
インターネット・プロトコル・アドレスの略。
インターネットで使用するネットワーク層のプロトコルとして代表的なもので、複数のコンピュータが同じネットワークアドレス(LAN)を共有していたり、異なるネットワークアドレスで認識される複数のLANがルータで接続されている際に、誤りのないデータ伝送をするため、各コンピュータもしくは各ルータに固有のアドレス(通し番号)を指定する。つまり、同姓同名のような重複したアドレスは許されない。
IPアドレスは32ビットの整数値で表される。この32桁の数字は、8桁×4組に小分けにされ、各8桁の二進数は十進数で表すことになっている。

例えば
11000000.10101000.00001010.00000101は
192.168.10.5となる。

ちなみに、このコンピュータ版マイナンバーは誰が決めているのかというと、全世界でICANNという組織が一元的に管理している。
日本ではJPNICという機関がIPアドレスを割り当てている。インターネットが普及する前は、この機関から直接IPアドレスの取得を申請しなければならなかったが、今はインターネットサービスプロバイダが代わりに申請をしてくれる。

ネットワーク部とホスト部
ネットワーク部はネットワーク(ブリッジやリピータを含むLAN)の識別に使うアドレス部分。IPアドレス前半が当たる。
ホスト部はコンピュータやルータの識別に使うアドレス部分。IPアドレス後半が当たる。

サブネットマスク
32ビットのIPアドレスのビットパターン(ビット列)だけでは、どこまでがネットワーク部で、どこからがホスト部か区別することができない。
そこでネットワーク部を表すビットを1、ホスト部を表すビットを0に設定したビットパターンを使って、どこまでがネットワーク部かを表す方法のこと。
例えば、IPアドレス32桁中、24桁がネットワーク部の場合は
11111111 11111111 11111111 00000000
または
255.255.255.0/24(※スラッシュ以降の値がネットワーク部の桁数を表す部分=プレフィクス)となる。

ネットワークアドレス
ホスト部の全てのビットを0にしたアドレス。
これはネットワーク自体を識別するアドレスなので、ホスト部には当てられない。
例えばアドレスが192.168.10.0/24の場合には
ネットワークアドレスは192.168.10.0となる。

ブロードキャストアドレス
ホスト部の全てのビットを1にした(つまり個々のホストコンピュータの識別はしない)アドレス。このアドレスは、同じネットワークアドレスを持つLANに所属する全てのホストコンピュータにパケットを送信するときに使用する。
例えばネットワークアドレスが192.168.10.0の場合には
ブロードキャストアドレスは192.168.10.255(ホスト部の8桁が全て1なので255)となる。

ホストへのIPアドレスの割り当て
ネットワークアドレスが192.168.10.0/24のLANにコンピュータ(ホスト)を接続する場合、IPアドレスの残り8桁256パターンがホストに割り当てられることになる。しかし、00000000と11111111はネットワークアドレスとブロードキャストアドレスが使っているので、ホストに当てられるアドレスはさらに2個減って254となる。

アドレス変換
現在、ネットワークのほとんどはプライベートIPアドレスを使って運用されている。この理由はIPアドレスが不足していてグローバルIPアドレスを割り当てられないからである。
例えばIPv4では32ビットのIPアドレスを使用しているので、理論上は40億台程度のホストコンピュータに個別のIPアドレスを割り振ることができるが、世界中のホストの総数はそれを遙かに超えるため、IPアドレスが足りなくなっている。
プライベートIPアドレスのパケットはルータが中継しないため、組織内のネットワークからインターネットに接続することはできない。
そこで組織内で使っているローカルなプライベートIPアドレスとグローバルIPアドレスを相互変換する必要があるのである。

NAT
アドレス変換の方法の1つ。ネットワーク・アドレス・トランスレーションの略。
プライベートIPアドレスとグローバルIPアドレスを一対一に対応させて変換する。
したがって、1つのグローバルIPアドレスを使ってインターネットに接続できるホストは1つだけとなる。このアドレス変換はアクセスルータがおこなう。
NATでは、保有するグローバルIPアドレスと同じ数のホストしかネットワークに接続できないため、IPアドレス不足の解決にはならない。

IPマスカレード
NATの問題点を解決した手法。別名拡張NATもしくはNAPT(ネットワーク・アドレス・ポート・トランスレーション)。
IPマスカレードは、プライベートIPアドレスと同時に、IPアドレスよりも上位プロトコルであるTCPあるいはUDPヘッダ内のポート番号も変換することで、1つのグローバルIPアドレスを使って複数のホストがインターネットに接続できるようにしている。
つまり、それぞれのホストに異なるポート番号を変換して与えてやれば、同じグローバルIPアドレスを用いる各ホストが区別できるのである。
こうしてIPマスカレードでは1つのグローバルIPアドレスを複数のプライベートIPアドレスに対応させることができる。
長所としては、アドレスが変換されてネットにつながっているため、ネット上からプライベートIPアドレスを持つ組織内のホストに直接アクセスができず、セキュリティ的に利点があるということ。
欠点としては、一部のアプリはポート番号が変わってしまうと通信できない。

PKI(公開鍵暗号基盤)
パブリック・キー・インフラストラクチャー。
公開鍵暗号方式を利用してインターネット上でセキュリティを確保して通信する必要がある場合、その基盤(インフラ)となるシステムを構築する上で必要な環境をまとめたもの。
具体的には
①通信相手の身元を確認する(なりすまし防止)。
②通信の途中でデータが盗聴されないことを保証する(盗聴の防止)。
③通信途中でデータが書き替えられていないことを確認する(改ざんの防止)。
PKIの基本技術は以下の5つがある。

①共通鍵暗号方式
送信側と受信側が同じ鍵、同じルールを使って暗号化し、復号化する方式。
従来のこの方式では通信をおこなう当事者以外には鍵とルールは秘密にしていたが、現在ではルールは公開し、鍵だけを秘密にするしくみが一般的になっている。
この方式の特徴は、同じ鍵を使って暗号化・復号化できるので処理が高速化されることで、できるだけ速くデータを復号したい場合にむいている。
デメリットは、鍵の管理と配布で、共通鍵は第三者には秘密にしなければならないので、一組の送受信者ごとに異なる鍵が必要になってしまう。また、共通鍵は盗聴やコピーの危険があるため通信ネットワークを使って送ることができないので、通信相手への鍵の配布も問題なる。これらのデメリットのため、この方式が単独で用いられることはない。
共通鍵暗号の方式にはアメリカ標準のDES(データ・エンクリプション・スタンダード)や、世界中で使用されているIDEA(インターナショナル・データ・エンクリプション・アルゴリズム)などがある。前者は56ビット、後者は128ビットの鍵を使う。
DESの仕組みは、暗号化される前の平文を、いくつかのブロックに分割し、各ブロックに様々な操作(変換表にしたがってビット列を並び替える。暗号鍵と平文とで排他的論理和などの論理演算をおこなう)を加え暗号化する。
この操作がわかっていれば、逆の手順をおこなうことで必ず元のデータを復元することができる。

②公開鍵暗号方式
公開鍵と秘密鍵のふたつの鍵を使って暗号化・復号化する方式。
ふたつの鍵には、暗号化に使った鍵は復号化には使えない(鍵をかけるのに使った鍵は、鍵を開けるのには使えない)という性質がある。
手順は以下の通り。
受信側は公開鍵と秘密鍵のふたつを作成し、公開鍵は公開する(メールで相手に直接送るなど)。
送信側は公開鍵を受信側から取得し、その公開鍵でデータを暗号化して受信側に送信する。
受信側は自分だけが持つ秘密鍵でそのデータを復号する。
公開鍵暗号方式のひとつであるRSA暗号は、桁の多い合成数の素因数分解の難しさと、逆に、正解の素数をかけて合成数を作るのはたやすいことを利用している。つまり、10873=83×131という因数分解を利用する場合、10873が暗号化に使う公開鍵、83と131が復号化に使う秘密鍵ということになる。
この方式では、鍵の管理・配布という問題が生じることはない。利用者は自分の秘密鍵だけを他人にばれないように管理すればいい。
ただし、共通鍵方式と比較して暗号化と復号に時間がかかる。

③ハッシュ関数
長い文章といった大きなデータをハッシュ関数に通すと「ハッシュ値(もしくはダイジェスト)」と呼ばれる決まった長さの小さなビット列に変換される。
このビット列は、単にデータを圧縮したものではなく、そのデータの特徴を反映している。
したがって、元データが1ビットでも変わるとハッシュ値も変わるため、ハッシュ関数はデータの改ざんの検知に使われている。
また、ハッシュ関数には元データからハッシュ値は簡単に求められるが、ハッシュ値から元データを復元することはできないという特徴もある。同じハッシュ値を持つデータは無数にあるからである。
たとえば、もとの文章が17文字のハッシュ値128ビットの場合、ハッシュ値から求められる元の文章の候補は256個もある。
この特徴を利用しておこなわれるユーザ認証もある。たとえば、パスワードのハッシュ値を送った場合、仮に盗聴されてハッシュ値を盗まれたとしても、それをもとにパスワードを復元することはできない。このような意味で、ハッシュ関数は正確には暗号ではないが、広義の暗号として扱われている。

④電子署名
その名のとおり電子的に行う署名。文章を作成した人物が自分であることを証明する。
具体的には、文書を送るときに、その文書を自分の秘密鍵で暗号化して送る。その後、受信者が送信者から送られてきた公開鍵を使って文書を復元できれば、その文書は公開鍵の所有者から送られてきたものであることがわかる。
もう少し厳密に言うと、送信者Aは受信者Bに、文書データと、その文書データのハッシュ値をさらに秘密鍵で暗号化した電子署名を送信する。
これを受け取ったBは、文書データからハッシュ値を求め、さらに電子署名をAから送られた公開鍵を用いてハッシュ値に戻し、ふたつのハッシュ値を比較する。
このふたつのハッシュ値が一致すれば、受信した文書は確かにAが送ったもので、さらに途中で誰かに改ざんされていないことが分かるのである。

⑤電子証明書
電子署名では、受信した公開鍵が送信者本人のものであるという前提がないとセキュリティとして成立しない。そこで公開鍵以外にも、同じような証明が必要な場合がある。
例えば、オンラインショッピングなどでは、店舗側のWebページが信用できるものである(正規に実在する企業が運営している)ことを証明する必要がある。
このような電子証明書は、公開鍵を管理する組織である認証局(CA:サーティフィケート・オーソリティ)が発行する。
電子証明書の中には、公開鍵、その公開鍵の所有者名、署名アルゴリズム、メールアドレス、有効期限などが記載され、認証局の電子署名がついている。この電子署名は、電子証明書のハッシュ値を認証局の秘密鍵で暗号化したものである。
つまり、認証局は電子証明書を受け取れば、その中に記載されている公開鍵が、その証明書に書かれている人や組織のものであることを、証明書の情報から確認できる。
電子証明書を取得したい依頼者は、名前やメールアドレスなどの登録情報を入力した申請書を認証局に依頼する。
Calendar
<< July 2024 >>
SunMonTueWedThuFriSat
 123456
78910111213
14151617181920
21222324252627
28293031
search this site.
tags
archives
recent comment
recent trackback
others
にほんブログ村 科学ブログへ にほんブログ村 科学ブログ 恐竜へ カウンター
admin
  • 管理者ページ
  • 記事を書く
  • ログアウト

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342