無線LANの干渉について

無線LAN機器は使っている周波数が同一のものもしくはそれに近いものがあれば、勝手に出力を下げます。

使っている周波数というのは、親機のチャンネル番号であり、2.4GHzの場合5MHzずつ区切られているが、普通の規格だと、少なくとも20MHz使用するので4チャンネル離れてても干渉する。5チャンネル離れていなければならない。

なので、1ch、6ch、13chの組み合わせがベストと言えるだろう。

なぜか、無線LANが途切れるなど、悩んでいる人は、5GHzの無線LANを使用するのを推奨するが、そうも行かないとき、WiFi Anaryzer classcで、強い電磁波のチャンネルを探し、5ch以上離したchに設定することを推奨する。

ubuntuでlaravelを動かす手順

DocumentRootの変更

sudo gedit /etc/apache2/sites-enabled/000-default.conf
ここでDocumentRootの変更をする
DocumentRootの設定変更を次のようにする。
sudo gedit /etc/apache2/apache2.conf

mod_rewriteが利用可能となっているかを確認する。

cat /etc/apache2/mods-available/rewrite.load
次のように表示されればインストールはされている
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
有効にするには
sudo a2enmod rewrite
そして
sudo systemctl restart apache2
とすれば有効になる

携帯電話、スマートフォンで使われる電磁波について

2020年東京オリンピックが開催されるが、それに合わせて日本でも「5G」と言う通信方式で携帯電話、スマートフォン、もっと言うと、「5G」とは、もっと多くのデバイスを管理運用するための規格である。

前の韓国の冬のオリンピックでも5Gを使ってドローンを大量に飛ばしたと言っている。

現在は、4Gもしくは、LTEと言う規格の電磁波が使われている。憶測などは勉強する必要はないが、言えることは、2020年までに、新しい通信方式のスマートフォンなどが出るということである。それまで、新しいスマートフォンをいたずらに買うのは控えたほうがいいのだろう。「3GPP」という標準化団体が最終案を出すだろうから、いつか、それに準拠した、日本の技適を通過したスマートフォンが出るのだろう。私は、これが出るまで、今使ってるスマートフォンが壊れない限り、買い換えるつもりはない。

話がそれたが、

800MHz,1900MHz,などの周波数の電磁波を今は使っており、憶測ではあるが「5G」は3.7GHz、4.5GHzなどを使う案などがあるそうである。

通信方式も無線LANと酷似しているが、これも発展途上にある。

無線LANについて

目まぐるしく発達している無線LANだが、自分なりに書いてみる。

無線LANの種類と特徴

2.4GHz帯 IEEE802.11 b/g 直線40mぐらいまでパワーが出る無線機が市販されていて、無線免許が必要ない

5.2 5.3 5.6GHz帯 IEEE802.11 a/ac 直線10mぐらいまでパワーが出る無線機が市販されており、5.2GHz 5.3GHzは屋内の使用は無線免許が必要ないが、屋外では無線免許が必要である。5.6GHzは屋外の使用も無線免許が必要ないが、気象レーダーを回避する無線機を使用しなければならない。

IEEE 802.11 n は両方の帯域を使って速度を出す仕様だったと思う。

この帯域の電磁波の特徴

2.4GHz帯は極超短波(UHF)であり、周波数300~3000MHz、波長1m~100mm、UHFテレビ放送(地デジ含)、電子レンジ、携帯電話、無線LAN、Bluetoothに分類される。

5.2 5.3 5.6GHz帯はセンチメートル波(SHF)であり、周波数3~30GHz、波長100mm~10mmに分類される。

波長の長さまで、迂回できるので、5GHz帯は、多くて、10cmしか、迂回できない。

暗号化方式

WEP,WPA-PSK,WPA-PSK2,などがあるが、どれも、脆弱性が発見されており、WPA-PSK3が出るまで、新しい無線機を買わないほうがいいと思われる。

ネットワークについて

ネットワーク技術は物理的、論理的に構築されているが、今回は、次のことについて書こうと思います。

OSI参照モデル

物理層,データリンク層,ネットワーク層,トランスポート層,セション層,プ レゼンテーション層,アプリケーション層からなり、一つずつ説明するとする。

物理層

よく、無線LAN,有線LANなどで出てくる、IEEE802.11 は無線LANの規格(プロトコル)だし、IEEE802.3 は有線LANの規格である。物理的な規格を物理層の規格と言う。

データリンク層

物理層で物理的に繋がっている状態で、隣接ノード間でのデータの送受、伝送誤りの検出と回復を行うプロトコルである。IEEE802.3のCSMA/CD方式など、複数のノードでの衝突回避もこの層である。コネクションの確立・解放もしますが、よく勘違いするのが次のネットワーク層やトランスポート層でも、似たような役割を担いますが、インターネットで言う家庭内LANや、社内LANだけでなく、インターネットを介して相手との通信のデータの授受をするのが、データーリンク層より上の層の役割です。

ネットワーク層

インターネット・プロトコルの根幹をなす、IP層がこの層に当たります。ルーティングテーブルに基づいて通信経路を選択し,パケットを転送します。データが大きい場合,複数のパケットにフラグメント化して転送します。

トランスポート層

TCPやUDPがこの層にあたります。アプリケーションプログラムに通信機能を提供します。また、使用するネットワークの伝送品質に応じて適切なエラー検出機能や回復機能を選択することによって、データを授受するエンドツーエンドの端末間に信頼性の高いトランスペアレントなデータ転送を提供します。途中に光ケーブルであったりADSLであったり、違いがあっても、この層で吸収します。

セッション層

種々のアプリケーションを実現するのに必要な共通の通信機能を提供します。FTP, telnet等で,ログインしてからログアウトするまでが,一つのセッション になります。

プレゼンテーション層

利用者に対して、共通の情報表現形式に関する機能を提供する。整合のため抽象構文と転送構文間の変換をする。データ圧縮・伸張、暗号化およびその逆過程もこの層の役割である。データのフォーマットを変換し、表現体系を共通のものにする。
コード体系などの情報表現形式の差異を吸収する。

アプリケーション層(応用層)

各層のうち、最も利用者に近い部分であり、ファイル転送や電子メール などの多岐にわたる応用(アプリケーション)が実現されている。

サイバー攻撃について

サイバー攻撃の種類と特徴について

  • SQL インジェクション
    脆弱性のあるHTMLフォームなどにSQL文を書き関係するデータベースの値を盗み取る手法、なので、対策としては、phpではフォームの値を使用したデータを操作する場合、必ず、php-pdoを使用しなければならないし、昔のASP(Active Server Page)には、そのようなライブラリがないので脆弱性があり、ASP.NETに移植するなどしなければならない。
  • クロスサイトスクリプティング
    Web広告など、異なったサイトのスクリプトが実行され、cookieなどに入っているパスワードが盗まれたりすること。
  • DoS 攻撃
    大量の要求をし、そのサービスが使えなくすること。
  • フィッシング
    何らかの通信手段、e-mailなどを用いて、誘導し、詐欺行為を行うこと。例えば、パソコンの速度を早めるソフトがあるかのようなWebページを作成し、ソフトをダウンロードさせ、インストールすると、パソコンが固まるなど、使えなくし、金銭を要求して、さらに、指示に従ったとしても、さらに、使えなくし、金銭を要求すること。
  • パスワードリスト攻撃
    辞書などを用いて、総当りでパスワードを盗み取ること。
  • 標的型攻撃
    抽象的だが、特定の情報を持った人を攻撃すること、これも、e-mailにウイルスなどを添付したものが多いらしい。フィッシングと同類もしくは、顧客情報を盗み取るなどがある。

待ち行列理論について

待ち行列理論とは、スーパーやコンビニのレジに並ぶ客の待ち時間を統計的に算出するものであり、他の何らかの処理系がありそれを利用する待ち行列があるときに応用される。各種性能の問題などで、平均待ち時間などを算出する理論である。

平均待ち時間を計算するには、処理系が処理する性能の分布(レジの数)と客の数などの待ち行列の分布が必要になる。それを記号で表記する、M/M/1モデルであれば、ランダム分布の客に、ランダム分布の処理系が1つある場合である。これをケンドール記法という。次にケンドール記法に使われる記号を示す。

M ランダム分布あるいは指数分布
G 一般分布
D 一定値

サービス要求の発生額度分布/サービス処理時間分布/サービス窓口数

単位時間あたりの平均到着数 λ
単位時間あたりの平均処理件数 μ
窓口の利用率 ρ
処理中のトランザクションを含めたシステム内に帯留するトランザクション数の平均 L
平均到着数 λ = 1 / ts
平均サービス率 μ = 1 / t

M/M/1の待ち行列モデル

M 単位時間あたりのトランザクションの到着数 ランダム到着としてポアソン分布に従う。
M 1件あたりのサービス時間 指数分布に従う。
1 サービス窓口の数 1つ
窓口の利用率(ρ)
待たされる確率
= 処理時間の割合
= 単位時間あたりの処理時間
= 単位時間あたりの平均到着数(λ) * 1件の平均処理時間(1 / μ)
= 単位時間あたりの平均到着数(λ) / 単位時間あたりの処理できる件数(μ)
=λ / μ

系内にだれもいない確率 = 1 – ρ

系内の平均客数
=処理中のトランザクションを含めたシステム内に帯留するトランザクション数の平均( L )
= ρ/(1-ρ)
この式は、数列を使用して算出されたものであり、必ず覚えること。

待ち行列内の平均客数
=サービス待ち行列の客数の平均( Lq )
= L-ρ
=ρ2/(1-ρ)

sql(structured query languege)について

関係データーベースを操作する言葉、言語として、sqlがあります。しかしながら、データベースによって違いがあり、標準化されていません。でも、まとめを書いてみるとします。

sqlと言っても、ddlとdmlがあります。ddlとは、データベースを作成したり、テーブルを作成したりします。dmlとは、データの操作、データの抽出、変更、削除など、CUID(Create Update Insert Delete)を指します。

その中でも、まずは、基本中の基本、抽出と言うか、表示をするコマンドを書きます。

select フィールド名 from テーブル名;

コマンドのあとに条件式を入れることもできます。

select フィールド名 from テーブル名 where フィールド名 = 値;

次にデータを変更するsqlを書きます。

update テーブル名 set フィールド名=更新する値 where 更新する行を選択する条件式;

update テーブル名 set フィールド名=更新する値,フィールド名=更新する値 where 更新する行を選択する条件式;

次にデータを追加するsqlを書きます。

insert into テーブル名 (フィールド名,フィールド名) values (追加する値, 追加する値);

次にデータを削除するsqlを書きます。

delete from テーブル名 where 削除するデータの条件式;

DMLの以上になります。

データベースについて

いろいろな種類と特徴があるが、関係データベースについて、書いてみようと思う。

関係データベースとは

表形式にデータを格納し(テーブルと言う)、複雑なデータ構造の場合は、データごとにインデックスや主キーなど番号を振り、複数のテーブルをリンクさせて、データを格納するものである。(正規化と言う)

関係データベースの種類と特徴

今、このブログのデータは、mysqlと言うデータベースに格納されている。サーバーであり、常に起動していて、データに関する要求に答えてくれる。sqliteと言うデータベースは、常に起動しているわけではなくて、要求があったときだけ、要求に答えてくれる。主に、小中規模のデータを扱うときに使用される。phpフレームワークであるLaravelは、この2つのデーターベースをサポートしています。

正規化の必要性

複雑でかつ大規模なデータ構造のデータには、複数のテーブルに分けて、適切にリンクさせる必要があります。しかし、小規模のデーターでは、必ずしもテーブルを分けない方法もあり、正規化レベルの設定は、データ量に依存し、要求されるデータ操作の速度要求レベルにも依存します。