MacにVirtualBoxをインストールする
- 目的 : Linux環境でSSHの鍵作成から設定まで勉強したい!
- 環境
- OS : macOS Sierra Version10.12.4
- インストールするVirtualBox : Version 5.1.22 r115126 (Qt5.6.2)
インストーラをダウンロードする。
Oracle VM VirtualBox からOSに合うインストーラをダウンロードする。
今回ダウンロードしたのは「VirtualBox-5.2.18-124319-OSX.dmg」である。
インストーラでインストールする。
- 「VirtualBox-5.2.18-124319-OSX.dmg」を押下する。
- VirtualBox.pkgをDouble click on this iconする。
- [続ける]を押下する。
- [インストール]を押下する。
- インストール完了を待って[閉じる]を押下する。
VirtualBoxを起動してみる。
参考図書
ラベンダーのポプリを無駄なく作る方法
ポプリというのは、花などを乾燥させ「熟成」させたものです。
sinsin-kenkou.net
ポプリは花で作ると見た目が良い。が、ラベンダーは枝と葉が多い。
とても勿体無いのでポプリはいつも葉・茎を大量に混ぜています。
今年は花メインで作ってみます。
材料
- ラベンダー40cmぐらいのを5本ほど
- フリンジラベンダー
- エストカスラベンダー
- 紐(リース用)
- 流しのゴミネット(入浴剤用)
- ポプリの入れ物(ポプリ用)
今年またエストカスラベンダーを買ってしまった。いろいろ頭を使わないと小さな花壇がラベンダー園になってしまう。
① ラベンダーを刈る
穂先だけを取ると必要な部位だけを採取できるものの刈戻しを別途行わければ、その後芽が育たない。
別途刈戻しをすればその時に葉と茎が結局出てしまう。
なのでバッサリ刈る
② ポプリを作る
花を採取してザルにでも入れて風通しの良い何処かにおいておく。
1ヶ月以上後に思い出したらメッシュの袋かなんかに入れてポプリ完成。
③ リースを作る
残った枝に葉をつけたまま紐を巻くように巻きつけて円状にしてリースにする。
繁茂するラベンダーの使い道
入浴剤
用意するもの
- 台所の流しで使うゴミネット
- 繁茂するラベンダー
やること
- ラベンダーをゴミネットに入る大きさにちぎる
- ゴミネットに入れる
- 浴槽に投げ込む
- お風呂を入れる
下駄箱の消臭剤
用意するもの
- 台所の流しで使うゴミネット
- 繁茂するラベンダー
やること
- ラベンダーをゴミネットに入る大きさにちぎる
- ゴミネットに入れる
- 下駄箱に投げ込む
ドライフラワー
用意するもの
- キッチンペーパー
- お菓子とかいただき物についているリボンかゴム
- 繁茂するラベンダー
やること
- ラベンダーを手頃な長さで収穫する
- 下葉を取る
- からげる
- キッチンペーパーで邪魔にならないぐらいの太さに巻く
- リボンかゴムでしばる
- どっかに吊り下げて放置する
- 思い出したらリボンかゴムを締める
「Log4J」と「SLF4J」ってなんだ?ログの出力先探索記
ことのきっかけ
お仕事でコンソールにバーって出てるけどログファイルはどこにあるんだろうと探していた時のことでした。
こんなのを見た、「Logger」だからログはいてくれるのでしょう。
import org.slf4j.Logger;
ログは見るけど出力とかよくわからない・・・いつもはBossや先輩に設定場所と内容の指示をもらってやっているだけ・・・ソフトウェアデザインの2017-03月号でも特集していた「ログ」・・・自分関わっているのだけでも知らなきゃ!となったのがきっかけでした。
「slf4j Logger」でググってみました。「SLF4J」は他のものと一緒に使われるようで、よく目にしたのが・・・
① 「Log4J」
Log4J は Jakarta プロジェクトで開発が進められている Java プログラム用のログ API です。Log4J を利用することで、様々なロギングが可能になります。
1. Log4J の基本 | TECHSCORE(テックスコア)
Log4J はロギングのためのクラス・ライブラリである。開発元は言わずと知れた Apache のサブプロジェクトの一つである。
www.nurs.or.jp
log4jはjavaで最もポピュラーなロギングフレームワークだと思います。
log4jだけでも良いのですが、SLF4Jを使うことでprintfライクな文法でログを出力できるところが気に入り利用することにしました。
yokuno.hatenablog.com
いろいろ読んでみてを理解しはじめました。
www.slideshare.net
www.bunkei-programmer.net
「SLF4J」はインターフェース的なログファサードライブラリ。
Facadeパターンは、既存のクラスを複数組み合わせて使う手順を、「窓口」となるクラスを作ってシンプルに利用できるようにするパターンです。
15.Facadeパターン | TECHSCORE(テックスコア)
「SLF4J(Simple Logging Facade For Java)」はいろんなログ出力ライブラリを切り替えて使うためのインターフェース的なもの。
だから実装的なライブラリと一緒に使うということになるのですね。
で、結局出力するログの出力先はどこなんでしょう?
① ログ出力ライブラリを調べる
ライブラリなのでまずはMavenさんのpom.xmlをみてみました。
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.x.x</version> </dependency>
ぐぐったら実装的なログ出力ライブラリは「Log4j」のようでした。
② 設定ファイルを探す
「Log4j」の代表的な設定ファイル名は「log4j.properties」「log4j.xml」で、
このファイルがなかったらソースから追えば設定ファイルが見つかるようです。
設定ファイルを使用するには、org.apache.log4j.PropertyConfigurator クラスを使用します。クラスメソッドconfigure( ) メソッドで設定ファイルを読み込みます。
2. 設定ファイルの利用 | TECHSCORE(テックスコア)
③ 設定方法を知る
大きな構成は3つで「Loggerさん」「Appenderさん」「Layoutさん」
Logger は Log4J パッケージの中心クラスで、ロギングを行う部分をグループ化し、必要なグループのログだけを出力したり、カテゴリーに優先順位をつけることにより様々な出力方法を指定することができます。
Appender はログの出力先を指定するものです。Appender で設定できる出力先は、冒頭でも述べたように、ファイル、OutputStream、Java.io.Writer、リモート Log4J サーバ、リモート Unix Syslog デーモン、Windows NT イベントログなどです。
Layout はその名の通り、ログの出力フォーマットを指定するものです。単純なテキスト出力、ユーザが指定したレイアウト、HTML のテーブルレイアウトなどを指定することができます。
1. Log4J の基本 | TECHSCORE(テックスコア)
Logger
ここに「Loggerさんの名前」「ログレベル」「Appenderさんの名前」を設定します。
# RootLogger log4j.rootLogger={ログレベル},{Appenderさんの名前} # Logger log4j.logger.{Loggerさんの名前}={ログ出力レベル|INHERITED},{Appenderさんの名前}
RootLoggerのログレベルを継承したいときは、「INHERITED」と書きます。
↓Loggerさん
This is the central class in the log4j package. Most logging operations, except configuration, are done through this class.
Logger (Apache Log4j 1.2.17 API)
Appender
カンマ区切りで複数指定できます。複数指定できるのでログを、コンソールとファイルに同時に出力することが可能です。
gungnir-odin.hatenablog.com
Appener
Appenderさんの「クラス」「オプション」「使うLayoutのクラス」の設定をします。
# 使用するAPPENDERの設定 log4j.appender.{Appenderさんの名前}={Appenderさんのクラス} # オプションの設定 log4j.appender.{Appenderさんの名前}.{オプション}={オプションの設定値} log4j.appender.{Appenderさんの名前}.layout={使うLayoutさんのクラス}
↓{Appenderさんのクラス}は「All Known Implementing Classes:」から選びます。
Interface Appender
All Known Implementing Classes:
AppenderSkeleton, AsyncAppender, ConsoleAppender, DailyRollingFileAppender, ExternallyRolledFileAppender, FileAppender, JDBCAppender, JMSAppender, LF5Appender, NTEventLogAppender, NullAppender, RewriteAppender, RollingFileAppender, SMTPAppender, SocketAppender, SocketHubAppender, SyslogAppender, TelnetAppender, WriterAppenderImplement this interface for your own strategies for outputting log statements.
Appender (Apache Log4j 1.2.17 API)
- ConsoleAppender (Apache Log4j 1.2.17 API) : コンソールに出力
- SyslogAppender (Apache Log4j 1.2.17 API) : Syslogに出力
- ローカルでのデバックに使えると思ったら・・・
org.apache.log4j.net.SyslogAppender であることからも判るように、実際にはネットワーク系の Appender である。つまり、root でこれを使ったアプリを動かしても、ローカルマシンの syslog で取り扱って貰えるわけではない、ということを最初に言っておこう。
www.nurs.or.jp
- FileAppender (Apache Log4j 1.2.17 API) : ファイルに出力
- DailyRollingFileAppdender : 週や日時毎にファイル出力
- 書き方サンプルはこんな感じです >>> log4j.propeties の書き方
log4j.category.com.fc2web.himtodo.test=DEBUG, TEST log4j.appender.TEST=org.apache.log4j.DailyRollingFileAppender log4j.appender.TEST.File=C:/logs/test.log log4j.appender.TEST.DatePattern='.'yyyy-MM-dd log4j.appender.TEST.layout=org.apache.log4j.PatternLayout log4j.appender.TEST.layout.conversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS} [%p] - %m%n
↓{使うLayoutさんのクラス}は「Direct Known Subclasses:」から選ぶか実装します。
Class Layout
Direct Known Subclasses:
DateLayout, EnhancedPatternLayout, HTMLLayout, PatternLayout, SimpleLayout, XMLLayoutExtend this abstract class to create your own log layout format.
Layout (Apache Log4j 1.2.17 API)
他は見たら調べよう・・・覚えられないし・・・。
論理演算の応用系を勉強します。
論理演算の基本系を勉強します。
勉強のきっかけになった過去問
論理式P,Qがいずれも真であるとき,論理式Rの真偽にかかわらず真になる式はどれか。ここで," ̄"は否定,"∨"は論理和,"∧"は論理積,"→"は含意("真→偽"となるときに限り偽となる演算)を表す。
基本編
論理和は「OR」です。
論理積は「AND」です。
否定は「NOT」です。
否定は「1」なら「0」になります。
A | NOT |
1 | 0 |
0 | 1 |
- 否定の論理回路はこれです。
- ベン図はこうなります。
- 否定はで表されます。
- キーボードで何を打てば出るかわかりませんでした。「¬」も否定の記号です。「ひてい」とうって変換したら出ました。
含意は「AならばB」ということらしいです。
「ふくい」ではなく「がんい」とよみます。
kotobank.jp
言葉遊びのようで日本語が弱いためよくわかりません。
含意の命題「ならば」をあらわす論理記号 A⇒B [数学についてのwebノート]
他の方法で考えます。
英語でわかるわけがありません。
connotation、entailment、implication、implicature、intent、connote、imply、imply、stand for、signify、intend、meanなどなど
記号はわかりません。
「A→B」「A⇒B」「A⊃B」
※. 正しくは「A→B」と「A⇒B」は異なるらしいけれどそんなレベルにはいません。
論理包含 - Wikipedia
真理値表はよくわかりません。
A | B | 含意 |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 1 |
0 | 0 | 1 |
- 10進数にしても全くわかりません。
- A = 12 = 1100
- B = 5 = 0101
- A ⊃ B = 1011 = 11
ベン図は不思議に感じます。
解りにくければ、A≦B と覚えればOK!
softwaredevelop.web.fc2.com
NASって何?SANって何?
勉強のきっかけになった過去問
NAS(Network Attached Storage)の特徴と,特徴を生かした適用業務について述べたものはどれか。
- 各種OSからファイルを共有することができるので,データを交換する業務に適している。
- データの読み書きを高速に行うことができるようになるので,負荷が高い業務に適している。
- データベースのデータを扱うことが容易なので,簡易言語で情報検索を行う業務に適している。
- ファイルの改ざんを監視することが容易なので,個人情報を管理する業務に適している。
NASはファイルサーバです。
簡易なコンピュータ本体にハードディスクやSSDなどの記憶装置と、ネットワークインターフェース、OS、管理用ソフトウェアなどを内蔵したファイルサーバ専用機で、記憶装置をネットワークに直に接続したように扱うことができる
e-words.jp
ネットワークに繋ぐのでみんなで使えます。
NASはパソコンに1対1で繋ぐのではありません。
ネットワークに対して繋ぐので、そのネットワークにつながっているパソコンで使えます。
アクセス権限を設定して決まった人々だけで使うことだってできます。
個別にファイル管理するよりもNASのほうが記憶領域の有効活用できます。
個々のパソコンに付いているハードディスクの空きスペースは、それぞれの人がどんな使い方をしているかによってまちまちです。
大量のデータを保存している人のハードディスクスペースが足りなくなる一方で、あまりデータを保存していない人のハードディスクスペースが余るというのは効率が良くありませんが、NAS であればそれぞれの人が必要に応じてスペースを利用できるので有効活用ができます。
navi.dropbox.jp
ネットワークに接続された各種OSでのデータ共有ができます。
SANはネットワークです。
複数のコンピュータとストレージ(外部記憶装置)の間を結ぶ高速なネットワーク。
e-words.jp
SANは2種類あります。
FC-SANはファイバチャネルを使用したネットワークです。
接続にFibre Channel(ファイバーチャネル)を使います。
ファイバーチャネルっていうのは・・・
コンピュータ本体と外部記憶装置を接続するのに利用されているデータ転送方式
e-words.jp
おまけ
NAS電池は電力貯蔵システムです。
多分、ファイルサーバのNASとは関係ないと思います。
負極(マイナス極)にナトリウム(Na)、正極(プラス極)に硫黄(S)、両電極を隔てる電解質にファインセラミックスを用いて、硫黄とナトリウムイオンの化学反応で充放電を繰り返す蓄電池(二次電池)です。
www.ngk.co.jp
暗号方式の種類
- 前回の勉強内容
- 勉強のきっかけになった過去問
- 共通鍵暗号方式では、「送信側で暗号化する鍵」と「受信側で復号化する鍵」は同じ鍵を使います。
- 公開鍵暗号方式では、「送信側で暗号化する鍵」は公開鍵・「受信側で復号化する鍵」は秘密鍵と異なる鍵を使います。
- 共通鍵暗号方式と公開鍵暗号方式を組み合わせたハイブリッド暗号方式
- 出典
前回の勉強内容
勉強のきっかけになった過去問
暗号方式のうち,共通鍵暗号方式はどれか。
ア. AES イ. ElGamal暗号 ウ. RSA エ. 楕円曲線暗号
平成28年春期問37 共通鍵暗号方式はどれか|応用情報技術者試験.com
共通鍵暗号方式では、「送信側で暗号化する鍵」と「受信側で復号化する鍵」は同じ鍵を使います。
メリット : 公開鍵暗号方式にくらべて処理が高速である
デメリット : 複数人と通信する場合は鍵の受け渡しが煩雑になってしまう
https://jp.globalsign.com/knowledge/pki_keycryptosystem.html
昔アメリカで標準規格として採用されていたDES
共通鍵暗号方式を採用した暗号方式です。
鍵長は56ビットです。
e-words.jp
公開鍵暗号方式では、「送信側で暗号化する鍵」は公開鍵・「受信側で復号化する鍵」は秘密鍵と異なる鍵を使います。
メリット : 複数人とやり取りする際に鍵の管理が容易である
デメリット : 処理速度は遅くなってしまう
https://jp.globalsign.com/knowledge/pki_keycryptosystem.html
離散対数問題の困難さを利用したElGamal暗号
公開鍵暗号方式を採用した暗号方式です。
公開鍵や暗号文から秘密鍵が割り出されることを防ぐため、逆算が困難な演算を用いて鍵を造ります。
e-words.jp
大きい数の素因数分解の困難さを利用したRAS
公開鍵暗号方式を採用した暗号方式です。
公開鍵で暗号化、秘密鍵で復号を行うだけでなく、秘密鍵で暗号化、公開鍵で復号できます。
オイラーの定理を使っているそうですが、難しくてよくわかりません。
mathtrain.jp
楕円曲線上の離散対数問題の困難さを利用した楕円曲線暗号
楕円曲線を利用した暗号方式の総称です。
公開鍵暗号方式を採用していることが多いそうです。
暗号通貨の「ビットコイン」で採用されました。
RSA暗号と比べて、短い鍵長で同レベルの安全性が実現できます。
公開鍵暗号方式は暗号化・復号に要する計算量が多いため、RSAの鍵長は処理負荷の面でネックとなっています。代わりに、鍵長が少なくて済む楕円曲線暗号の人気が高まってきています。
平成31年春期問39 楕円曲線暗号の特徴はどれか|基本情報技術者試験.com
公開鍵暗号方式でありTLSにも利用されています。
楕円曲線によって定義された有限可群上の離散対数問題を解く際の計算量の多さを安全性の根拠とし、同じ強度を想定した場合、RSAより鍵長を短くできる利点があります。
平成30年秋期問37 楕円曲線暗号に関する記述|応用情報技術者試験.com
公開鍵暗号方式に関する記述として,適切なものはどれか。
答. RSAや楕(だ)円曲線暗号などの暗号方式がある。
平成20年秋期問71 公開鍵暗号方式|応用情報技術者試験.com
クラスタリング方式によるシステムの構成
勉強のきっかけになった過去問
仮想サーバの冗長化設計における可用性評価に関する記述のうち,クラスタソフトウェアを用いた評価として,適切なものはどれか。
- OS,アプリケーション及びハードウェアの障害に対応し,障害時に障害が発生していないサーバに自動的に処理を引き継ぐので,切替え時間の短い安定した運用が求められる場合に有効である。
- 仮想サーバを停止させずに物理サーバ間で仮想サーバを移動することが可能となるので,メンテナンスなど業務移行の際も含めて業務の停止が全く許容できない場合に有効である。
- 物理サーバに備わっている機能を利用するので,ハードウェアの障害にだけ対応し,障害時に業務停止が許容される場合に有効である。
- 物理サーバのリソース(CPU,メモリなど)をブロック単位に物理的に分割し,あるブロックの障害が他のブロックに影響しないようにするので,障害時に業務の停止が許容できない場合に有効である。
クラスタリング方式の概要
複数のサーバでサービスを稼働させます。利用者にはあたかも1つサーバを利用しているかのごとく。
この方式では更に2種類の方式があります。
アクティブ・スタンバイクラスタ
スポーツの大会で選手と補欠がいて、選手が怪我しても補欠がいるからなんとかなるイメージです。
稼働(アクティブ)しているサーバと停止(スタンバイ)しているサーバを使います。
停止しているサーバはサボっているのではなく稼働しているサーバを監視しています。
稼働しているサーバで故障などので停止したら、停止しているサーバが稼働してサービスを引継ぎます。
稼働するサーバを切り替えることをフェールオーバーといいます。
故障は直してまた使えるようにします。
使えるようになったらまた稼働して、稼働していたサーバがまた停止します。
これで、故障前の状態に戻ります。
停止したサーバがまた稼働して元の状態に戻ることをフェールバックといいます。
注意ポイント : サーバを切換える時に蓄積データを移行する方法が必要であること。
データを蓄積しているメールサーバやファイルサーバ、データベースサーバでこの方式を使う時は注意する必要があります。
負荷分散クラスタ
会社で1つの作業を複数人で作業して、1人だけ残業し内容にしたり誰かがインフルエンザで休んでも作業が止まらないようにするイメージです。
複数のサーバを一緒に稼働させて処理を分散させます。
ロードバランサなどで処理を振分けていきます。
問題が発生したサーバには処理を振分けないようにします。
停止したサーバに処理を振分けてもできないものはできません。
特定のサーバのスペックが残念な場合は、処理が滞らないようにそのサーバに振分ける処理を少なくしたりもします。
注意ポイント : データをサーバ間で共有する方法が必要であること。
使っているサーバみんなで違うデータを見ていたら悲しい状態になります。
注意ポイント : 処理を振り分ける装置にはサーバを監視する機能も必要であること。
どのサーバは問題なくて、どのサーバには問題が発生しているかを監視して振分けを決められないといけません。
クラスタリング方式は、停止時間を最小限にしたいサービスに向いています。
IPアドレスとサブネットマスク
- 前回の勉強内容
- 勉強のきっかけになった過去問
- サブネットマスク(subnet mask)というものがあります
- サブネットマスクの10進数表記
- 出典
前回の勉強内容
勉強のきっかけになった過去問
次のIPアドレスとサブネットマスクをもつPCがある。このPCのネットワークアドレスとして,適切なものはどれか。
IPアドレス: 10.170.70.19
サブネットマスク:255.255.255.240ア. 10.170.70.0 イ. 10.170.70.16 ウ. 10.170.70.31 エ. 10.170.70.255
平成31年春期問34 ネットワークアドレス|応用情報技術者試験.com
サブネットマスク(subnet mask)というものがあります
サブネットマスクとは、ネットワーク部がどこからどこまでかを定義する数値です。
IPアドレスは、「ネットワーク部」と「ホスト部」からできています。
その「ネットワーク部」がどこからどこまでかを定義する32ビットの数値です。
そもそもサブネットというのは、小さく分割したネットワークです。
大きなネットワークを複数の小さなネットワークに分割して管理する際の管理単位となる小さなネットワーク。
サブネットとは - IT用語辞典 e-Words
例えば、「Cクラスを使うにはホストが多すぎる」が「Bクラスを使うにはホストが少なすぎる」
こんな場合「Bクラスを小さなネットワークに分割」してその1つを使えばちょうどいい。
この小さなネットワークがサブネットです。
サブネットにするから「ネットワーク部」がクラスとは変わります。
上記の例で考えると「Bクラスを小さなネットワークに分割」したので「Bクラスのネットワーク部」とは違う「ネットワーク部」になります。
そうなると、どこからどこまでが「ネットワーク部」かわからなくなります。
そこで、
サブネットマスクの「ネットワーク部」には見方があります。
サブネットマスクを2進数でみると先頭から途中まで「1」が連続しています。
「1」が連続している範囲が、「ネットワーク部」です。
「0」が連続している範囲が、「ホスト部」です。
「勉強のきっかけになった過去問」で考えます。
サブネットマスクは、「255.255.255.240」です。
これを2進数にすると
11111111 11111111 11111111 11110000
です。
ピンクの部分がCクラスより小さくネットワークを分割しています。
そのネットワークに繋がるIPアドレス「10.170.70.19」のホストがあります。
この「ネットワーク部」を見てみます。
① ホストのIPアドレスを2進数にします。
00001010 10101010 01000110 00010011
② サブネットマスクと見比べます。
00001010 10101010 01000110 00010011
11111111 11111111 11111111 11110000
③ 2つをAND演算(論理積)すると「ネットワーク部」になります。
結果は、00001010 10101010 01000110 00010000 です。
「ネットワーク部」は、00001010 10101010 01000110 00010000 です。
④ 2つをOR演算(論理和)すると「ホスト部」になります。
結果は、11111111 11111111 11111111 11110011 です。
「ホスト部」は、11111111 11111111 11111111 11110011 です。
⑤ 10進数に戻します。
「ネットワーク部」は、10.170.70.16です。
「ホスト部」は、255.255.255.243です。
という感じでサブネットマスクにおける「ネットワーク部」「ホスト部」を見分けます。
対象 | 10進数 | 2進数 |
---|---|---|
サブネットマスク | 255.255.255.240 | 11111111 11111111 11111111 11110000 |
IPアドレス | 10.170.70.19 | 00001010 10101010 01000110 00010011 |
ネットワーク部(AND演算) | 10.170.70.16 | 00001010 10101010 01000110 00010000 |
ホスト部(OR演算) | 255.255.255.243 | 11111111 11111111 11111111 11110011 |
IPアドレスのクラス
IPアドレスにはクラスとういう分類方法があります。
① IPアドレスは32bitの数値です。
例えば、localhostのIPアドレス「127.0.0.1」は
2進数にすると「01111111 00000000 00000000 00000001」の32bitです。
② 先頭のbitパターンでクラス分けします。
Aクラス : 先頭が「0」
0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
00000000 00000000 00000000 00000000 〜 01111111 11111111 11111111 11111111
だから「0.0.0.0 〜 127.255.255.255」が使えます。
Bクラス : 先頭が「10」
10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
10000000 00000000 00000000 00000000 〜 10111111 11111111 11111111 11111111
だから「128.0.0.0 〜 191.255.255.255」が使えます。
Cクラス : 先頭が「110」
110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
11000000 00000000 00000000 00000000 〜 11011111 11111111 11111111 11111111
だから「192.0.0.0 〜 223.255.255.255」が使えます。
Dクラス : 先頭が「1110」
1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
11100000 00000000 00000000 00000000 〜 11101111 11111111 11111111 11111111
だから「224.0.0.0 〜 239.255.255.255」が使えます。
クラスDのIPアドレスは、特定のグループに所属する全てのホストに同時送信を行う「マルチキャスト」で使用されるアドレスです。
ビット列の割り振りは、32ビットのうち先頭4ビットがクラスDを表す「1110」で、アドレスの残りの28ビットが送信対象となるグループ番号を指定する部分として使われます。
Eクラス : 先頭が「1111」
1111xxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
「11110000 00000000 00000000 00000000 〜 11111111 11111111 11111111 11111111」
だから「240.0.0.0 〜 255.255.255.255」が使えます。
ただし、このクラスは「実験的」な目的のためにTCP/IP(IPv4)の開発当初から予約されており、実際に使われることはない。
第8回 アドレス・クラスとさまざまなIPアドレス:基礎から学ぶWindowsネットワーク(1/3 ページ) - @IT
③ なんでクラス分けするのかです。
ネットワークを表す部分
と
ネットワーク内にあるホスト(パソコンとかサーバとか)を表す部分
に分けるから。
Aクラスを使えばたっくさんつながるホストを割当てられるし、
Eクラスを使えば少いホストしか割当てられない。
この
「ネットワークを表す部分」をネットワーク部
「ネットワーク内にあるホストを表す部分」をホスト部
といいます。
④ クラス内で予約済みのIPアドレスがあるのです。
予約済みのIPアドレスはホストに割り当ててはなりません。
ネットワークアドレス
ホスト部の2進数のビットが全て 0 になっているアドレスのことです。
ネットワーク自体を指すアドレスとして使われているから割当ててはならないのです。
Aクラス : 00000000 00000000 00000000 00000000 (0.0.0.0)
Bクラス : 10000000 00000000 00000000 00000000 (128.0.0.0)
Cクラス : 11000000 00000000 00000000 00000000 (192.0.0.0)
Dクラス : 11100000 00000000 00000000 00000000 (224.0.0.0)
ブロードキャストアドレス
ホスト部のビットが全て 1 になっているアドレスのことです。
セグメントに接続されている全てのホストにパケットを送信するためのアドレスとして使われているから割当ててはならないのです。
Aクラス : 01111111 11111111 11111111 11111111 (127.255.255.255)
Bクラス : 10111111 11111111 11111111 11111111 (191.255.255.255)
Cクラス : 11011111 11111111 11111111 11111111 (223.255.255.255)
Dクラス : 11101111 11111111 11111111 11111111 (239.255.255.255)
ループバックアドレス
先頭が「01111111」(127)である自分自身(localhost)を表すIPアドレスのことです。
自分自身用で自身で動作する別のソフトウェアからアクセスしたりネットワークを利用するソフトウェアのテストなどで使うので割当ててはならないのです。
IPv4ではいつも「127.0.0.1」になると思っていましたが、どうも間違っていたようです。
IPv6ではループバックアドレスは「::1」しか用いることができないと定義されているが、IPv4の「127.0.0.1」は慣習的に決められたもので、正式なものではない。このため、OSによってはこれ以外のIPアドレスをループバックアドレスとして使用できる場合もある(が、通常は別のアドレスは使わない)。
ループバックアドレス(127.0.0.1)とは - IT用語辞典 e-Words