お盆 お正月休みにIEEE Ethernet規格(英文:個人利用無料)を読もう。1日1000ページ目標。
<この項は書きかけです。順次追記します。>
目標
英語に慣れる。英語を英語だと思わずに、プログラミング言語と同じ単語が並んでいる仕様書だと思って読む。日本語の仕様書を読むより遥かにプログラミングしやすい。いちいち、プログラミング言語の単語に変換しなくてもよい分楽だということに気がつくかなって思うんです。
Etehrnetに馴染む。Wiresharkを利用しながら、具体的なパケットを見ながら読むと理解が深まるかもしれない。自動車分野でCANに馴染んだ方ならEthernetは怖くない。CANと同じcontroler peripheral方式のEthernetであるEthercatは工場でも導入が進んでいる。
Wi-Fi(Wireless)を制覇する。次々出る新しい仕様に、目をくらませないように、安価な機器が登場したらすぐに運用、保守ができる知識を蓄えておく。
セキュリティ対策を立てるための基礎知識を固める。二次資料に基づく判断をするのではなく、一次資料と生データから判断できるようにする。
IEEE802.3(Ethernet)とIEEE802.11(Wireless/Wi-Fi)の違いを9つ探す上からの理解と、単語帳を作る下からの理解とを両方実施して体系的な理解を深める。
はじめに
人生で2度目のお盆休み。(最初の就職時と、今年の転職後の2度目。その間はお盆休みのない仕事をしていた。)
9連休。
何をしようかと考えた。
9日間で読み切れるものは何だろう。
人によっては、AUTOSARの文書を全部読みするのもいいかもしれない。
私は、今年に入って、一度全部読みしているので今更感がある。
http://www.autosar.org
Autosar 資料のまとめ
https://qiita.com/kaizen_nagoya/items/8511de0e6819dfa1acaf
ちょうどIEEE 802.3(Ethernet)とIEEE 802.11(Wireless)をダウンロードしたら802.3が5600ページ、802.11が3534ページで、合計9134ページ。
英語の論文は1日1000ページくらい読むのがちょうどいい速さだから、お盆休みでちょうど読み切れる感じ。
IEEE GET 802 Program
https://ieeexplore.ieee.org/browse/standards/get-program/page/series?id=68
IEEEが802を個人利用で無償で提供しているのはもう10年以上になる気がする。
数年前に、先頭ページが変わった。802のダウンロードの好評を受けて、ほかの企画にも拡張したのかもしれない。
IEEE GET Program™
https://ieeexplore.ieee.org/browse/standards/get-program/page
注意することは、個人利用に限られていることだ。
そうはいっても、英語の不得意な方、ネットワークが不得意な方は両方は難しいかもしれない。
そこで、5種類考えてえて見た。
分類 | 対象 |
---|---|
英語が不得意・ネットワーク不得意 | IEEE 802.3のみ |
英語が得意・ネットワーク不得意 | IEEE 802.3 及び802.3追補 |
英語が不得意・ネットワーク得意 | IEEE 802.3, IEEE 802.11 |
英語が得意・ネットワーク得意 | IEEE802.3及び802.3追補、IEEE 802.11及び802.11追補 |
英語が得意・ネットワーク得意かつ時間が余った | IEEE802.3及び802.3追補、IEEE 802.11及び802.11追補, RFC文書類好きなだけ |
ここでは、IEEE 802.3及びIEEE 802.11の原文だけの単語帳を作っている。
dockerで作業し、ソフトとAWKのスクリプトと単語帳の現状をdocker hubに登録した。
時間があれば、それぞれの追補を追加するかもしれない。
注意事項としては、作業は自分のローカルディスクのままで、docker側とフォルダ共有して、docker hub側にはIEEE文書を残さないようにすること。そうでないと利用条件に違反することになるかなって思います。
RFC文書で、当面仕事で必要そうなものは、下記の資料中のRFC
AUTOSAR related Standard
https://qiita.com/kaizen_nagoya/items/13b163f8515615ecc648
作業
1日1000ページ読むにはいくつかの前提と作業が必要。
前提条件1
まず、第一に、分野が同じ4頁以上の論文か、または一つまたは10冊以内の書籍であること。
前提条件2
電子ファイルであれば、単語帳を作り、頻出1000語の日本語訳を作ること。
前提条件3
前提条件1に関連するが、それぞれの参考文献の重要な文献に既読の文献があること。
1冊でも10冊でもあればよい。重要な参考文献が読んであるのとないのでは違うかも、
docker で単語帳
$ docker run -v /Users/[user]/Downloads/wireless:/home/wireless -it ubuntu /bin/bash
[user]は実際の利用者名。
# apt update; apt -y upgrade
# apt install -y poppler-utils vim
# cd home/wireless
# mkdir text
# mkdir /tmp/wireless
# pdftotext -q 8023-2018.pdf ./text/8023-2018.txt
# pdftotext -q 80211-2016.pdf ./text/80211-2016.txt
# tr 'a-z' 'A-Z' < ./text/8023-2018.txt >./text/8023-2018s.txt
# tr 'a-z' 'A-Z' < ./text/80211-2016.txt >./text/80211-2016s.txt
# awk -f /tmp/wireless/wc.awk ./text/8023-2018s.txt > 8023-2018wc.txt
# awk -f /tmp/wireless/wc.awk ./text/80211-2016s.txt > 80211-2016wc.txt
ここでExcelに読み込んで編集して802.xlsxファイルに保存。
# cp 802.xlsx /tmp/wireless
docker hubに登録
$ docker commit d9e9cf194f11 kaizenjapan/ieee802
# docker push kaizenjapan/ieee802
利用する場合は、
/Users/[user]/Downloads/wirelessにダウンロードしたファイルがある場合には、
$ docker run -v /Users/[user]/Downloads/wireless:/home/wireless -it kaizenjapan/ieee802 /bin/bash
で起動すると単語帳を作成するソフトが入った状態になる。
念のために、
AWKの記述は下記。
# Print list of word frequencies
# https://researchmap.jp/blogs/blog_entries/view/78451/c0ebdc81d4af21931f12f1993584b633
{
$0 = tolower($0) #
gsub(/[^a-z_ \t]/, " ", $0) #
for (i = 1; i <= NF; i++)
freq[$i]++
}
END {
for (word in freq)
printf "%s\t%d\n", word, freq[word]
}
standard | word | count |
---|---|---|
IEEE 802.3 | 17,280 | 1,740,824 |
IEEE802.11 | 13,465 | 1,336,366 |
変数名で_でつないだ単語、文字の空白がつまって複合語になっているものを
整理すれば、wordの種類は2割近く減り、総語数は2割くらい増えるかもしれない。
AWKのscriptを編集して調整するか、複合語を分解するプログラムを作るとよい。
各頁には次のような記載がある。
Copyright © 2016 IEEE. All rights reserved.
Authorized licensed use limited to: Ogawa Kiyoshi. Downloaded on January 02,2019 at 00:51:05 UTC from IEEE Xplore. Restrictions
単語帳を作る場合には、上の行に出てくる単語を減算するとよい。
802.3 word | count | Japanese | 802.11word | count | Japanese | |
---|---|---|---|---|---|---|
the | 111234 | その | the | 97716 | その | |
of | 40370 | の | a | 31618 | 一つの | |
to | 35602 | に | of | 30282 | の | |
a | 33234 | 一つの | is | 29491 | です | |
and | 30146 | そして | in | 26016 | に | |
is | 30021 | です | and | 24865 | そして | |
in | 28379 | に | to | 24573 | に | |
for | 23529 | ために | for | 15334 | ために | |
ieee | 12250 | ieee | sta | 14924 | sta | |
as | 11549 | なので | dot | 13033 | 点 | |
be | 10715 | なる | frame | 12788 | 枠 | |
bit | 10415 | 2進数 | field | 11717 | 領域 | |
this | 10032 | この | or | 9953 | または | |
that | 9961 | それ | an | 9944 | の | |
m | 9934 | m | this | 9368 | この | |
shall | 9083 | する | that | 9280 | それ | |
are | 8596 | である | as | 8356 | なので | |
by | 8585 | 沿って | ieee | 8287 | ieee | |
or | 8440 | または | by | 8270 | 沿って | |
pma | 8020 | PMA | request | 7877 | 要求 | |
gbase | 7781 | gbase | shall | 7790 | する | |
with | 7781 | と | element | 7462 | 素子 | |
yes | 7729 | はい | mac | 7125 | mac | |
s | 7692 | s | if | 6802 | もし | |
pmd | 7674 | pmd | set | 6684 | 設定する | |
b | 7611 | b | ap | 6674 | ap | |
value | 6983 | 値 | with | 6616 | と | |
data | 6926 | 与件 | channel | 6290 | 溝 | |
link | 6811 | 連携 | be | 6160 | なる | |
when | 6759 | いつ | phy | 6132 | phy | |
transmit | 6497 | 送信する | information | 6053 | 情報 | |
not | 6496 | ない | are | 5646 | である | |
at | 6475 | で | value | 5521 | 値 | |
standard | 6471 | 標準 | when | 5287 | いつ | |
phy | 6418 | phy | not | 5207 | ない | |
x | 6415 | x | mesh | 4908 | 網の目 | |
table | 6411 | 表 | defined | 4717 | 定義済 | |
pcs | 6281 | 個 | n | 4637 | n | |
std | 6239 | std | x | 4549 | x | |
base | 6214 | 基づく | table | 4392 | 表 | |
ethernet | 6089 | ethernet | specific | 4228 | 明確な | |
d | 6056 | d | figure | 4165 | 図 | |
figure | 5908 | 図 | response | 4146 | 応答 | |
function | 5887 | 関数 | b | 4124 | b | |
on | 5845 | 上に | it | 3968 | それ | |
limited | 5841 | 限定的 | standard | 3954 | 標準 | |
apply | 5835 | 適用する | from | 3948 | から | |
section | 5741 | 節 | local | 3932 | 地元 | |
test | 5521 | 試験 | part | 3828 | 部 | |
state | 5454 | 状態 | type | 3793 | 型 | |
defined | 5384 | 定義済 | std | 3759 | std | |
n | 5326 | n | requirements | 3747 | 要件 | |
t | 5322 | t | data | 3721 | 与件 | |
an | 5289 | 一つの | s | 3712 | s | |
from | 5270 | から | status | 3640 | 状態 | |
receive | 5218 | 受け取る | limited | 3618 | 限定的 | |
signal | 5212 | 信号 | address | 3588 | 住所 | |
register | 5201 | 登録 | wireless | 3566 | 無線 | |
e | 5123 | e | networks | 3533 | 網 | |
control | 5112 | 制御 | lan | 3520 | lan | |
interface | 5023 | 界面 | area | 3510 | 範囲 | |
one | 5017 | 1 | format | 3505 | 形式 | |
clause | 4735 | 句 | primitive | 3502 | 原始的 | |
c | 4722 | c | specifications | 3492 | 仕様書 | |
set | 4603 | 設定する | measurement | 3477 | 測定 | |
r | 4420 | r | technology | 3427 | 技術 | |
if | 4391 | もし | metropolitan | 3426 | 大都市の | |
lane | 4366 | 通路 | frames | 3412 | 枠 | |
mode | 4280 | 状態 | report | 3330 | 報告する | |
bits | 4256 | 2進数 | mhz | 3290 | mhz | |
see | 4063 | 見る | access | 3154 | 接続 | |
specified | 4022 | 指定済 | no | 3114 | 番号 | |
mac | 4009 | mac | subfield | 3111 | 副域 | |
status | 3967 | 状態 | ht | 3084 | ht | |
power | 3907 | 力 | dmg | 3070 | dmg | |
receiver | 3753 | 受信機 | indicates | 3066 | 示す | |
f | 3729 | f | bss | 3023 | bss | |
sublayer | 3674 | 副層 | non | 2951 | 非 | |
used | 3652 | 中古 | transmit | 2948 | 送信する | |
no | 3460 | 番号 | vht | 2921 | vht | |
each | 3448 | 各 | number | 2908 | 数 | |
type | 3446 | 型 | mlme | 2855 | mlme | |
transmitter | 3405 | 送信機 | management | 2715 | 管理 | |
may | 3352 | だろう | time | 2698 | 時間 | |
fec | 3331 | fec | used | 2647 | 中古 | |
all | 3294 | すべて | received | 2644 | 受け取った | |
mdi | 3281 | MDI | which | 2631 | どれ | |
optical | 3216 | 光 | control | 2616 | 制御 | |
it | 3172 | それ | description | 2610 | 解説 | |
frame | 3169 | 枠 | key | 2547 | 鍵 | |
loss | 3084 | 損失 | at | 2541 | で | |
physical | 3060 | 物理的 | current | 2498 | 電流 | |
variable | 3037 | 変数 | on | 2376 | 上に | |
has | 3001 | 持っている | present | 2362 | プレゼント | |
received | 2781 | 受け取った | beacon | 2359 | ビーコン | |
db | 2776 | db | stas | 2351 | 星 | |
requirements | 2756 | 要件 | see | 2295 | 見る | |
time | 2745 | 時間 | peer | 2286 | 同輩 | |
output | 2726 | 出力 | i | 2220 | 私 | |
between | 2719 | の間に | TRUE | 2172 | 真 |
英語の短縮系(short name)とその記述(description)も一覧にするとよい。
IEEE 802.3 Ethernet 単語帳
https://qiita.com/kaizen_nagoya/items/4c31491f1883dd5ecfae
<作業中>
おすすめ参考文献
コンピュータネットワーク
第5版 2013/9, Andrew S. Tanenbaum/アンドリュー・S・タネンバウム, デイビッド・J・ウエザロール
https://www.amazon.co.jp/dp/482228476X/
https://bookmeter.com/books/7166017
https://booklog.jp/item/1/482228476X
現代のオペレーシングシステムは、ネットワーク対応が基本だと思います。
その視点で、タネンバウムのオペレーティングシステムと、このネットワークは、ちょうど
UNIXとTCP/IP
のように、ペアになっていると考えるとよいかもしれない。
基本的な枠組みを提示している。
英語の原典を読むとよい。日本語訳は、英語がわからないところを調べるために辞書のように利用するとよい。
翻訳の質が悪いと思ったら、翻訳者や出版社に変更案を送ると、次の印刷から変更してくれることがある。その際、最新版を送ってくれることは1度や2度ではない。
もし、気がついたことがあれば、気軽に翻訳者や出版社にメールを送ろう。
感想歌 MINIXネットワークは基本ですUnixでもLinuxでも TCP/IP学ぶ前準備ネットの勉強ここから始め
基礎からわかるTCP/IP JAVA ネットワークプログラミング
小高 知宏, オーム社, 2002
https://www.amazon.co.jp/dp/4274064867/
https://bookmeter.com/books/307690
https://booklog.jp/item/1/4274064867
JAVA研修のテキストとしてこの本を使いました。
JAVAでプログラムを書くのに、ネットワークの利用は必須だと思います。
そのネットワークの基本的なプログラミングの仕方を説明するのに、本書は本当に役立ちました。
JAVAの利点を余すことなく活用できるこの本は、JAVAを覚える最初に使うのがよいと思います。
データベースを利用するためにJAVAを使う人も、ネットワークごしのデータベースであれば、データベースの問題と、ネットワークの問題の切り分けが必要になります。
そのためには、データベースより前に、ネットワークのプログラミングを覚え、
ネットワークの試験プログラムが書けるようになっていると、
その後で、データベース試験プログラムを書くのが楽になると思います。
コンピュータプロトコルの設計法
正しいプロトコルの設計と検証へ導く総合解説書 (コンピュータ通信シリーズ)1994/11, Gerard J. Holzmann/ジェラード・J.ホルツマン
https://www.amazon.co.jp/dp/4906391109/
https://bookmeter.com/books/6806883
https://booklog.jp/item/1/4906391109
長年持っていたのに、積ん読で活かしてきませんでした。
訳者の近辺で勉強していたのに、うまくSPIN(Simple Promela(protocol/process meta language) Interpreter)を使えていませんでした。産業技術総合研究所の「モデル検査 初級編」でようやく手を動かしました。
今になって持ち歩いています。初期の頃のPromelaと現在の姿との間の違いがまだうまく説明できません。ごめんなさい。感想歌 spinなら時系列図を出力す記述簡単効果覿面 この本がspinの本だと知られずに英語の本を読む人多し
おすすめの道具
802.3, 802.11を読むならWiresharkを動かしながらだとなお良い。
実際のパケットの中身を見ながら読むと現実味がある。
上記の参考文献もWiresharkで確かめながらだとすごくよく理解できる。
「基礎からわかるTCP/IP JAVAネットワークプログラミング」Eclipseでコンパイル。Wiresharkでデバッグ。
https://qiita.com/kaizen_nagoya/items/14519536b827fdadb32e
「かんたんな疎通確認」をwiresharkで
https://qiita.com/kaizen_nagoya/items/93acbe7ea1a43ffd56e4
WindowsにWireshark(64)を導入
https://qiita.com/kaizen_nagoya/items/8f780005ef37f1a84533
MacintoshにWiresharkを導入する7つの壁
https://qiita.com/kaizen_nagoya/items/69eb2d357a125f5368e1
おまけ
AUTOSAR文書を読まれる方には、
No. Number in the AUTOSAR document list
https://qiita.com/kaizen_nagoya/items/25bac8e0e14bda6067ec
overlapped definition in AUTOSAR abbreviation
https://qiita.com/kaizen_nagoya/items/9a171ee6a74163d128e9
ふりかえり
IEEE 802.3(Ethernet)とIEEE 802.11(Wireless)は、博論(端末間経路選択のための片方向遅延差測定方式)の題材でもあり、2004年に全部読みしている。
その後は、「WLANの基礎知識 技術者基礎講座シリーズ:いまさら聞けない無線LAN・Wifiの初級知識」
https://www.monodukuri.com/seminars/detail/7760
でIEEE 802.11はは読み直している。
802.3シリーズは拾い読みしかしてこなかった。
これまでは、802.3シリーズと、802.11シリーズの改定の仕組みがよくわかっていなかった。802.3, 802.11の後のアルファベット文字がついたAmendmentは、次の改定で本文または付録に追記され本体に合体する。そのため、IEEE get programでは入手できなくなる。
いろいろな参照や引用のために、文書を特定したい方は、一度ダウンロードした文書は、長らく保存しているとよいかもしれない。
IEEE 802.3も、IEEE 802.11も、その後の改定は、アルファベットのついた資料群。
IEEE 802.3 2018 の追補は、
802.3cn-2019
802.3cn-2019 - IEEE Standard for Ethernet - Amendment 4: Physical Layers and Management Parameters for 50Gb/s, 200Gb/s, and 400Gb/s Operation over Single-Mode Fiber
802.3cd-2018
802.3cd-2018 - IEEE Standard for Ethernet - Amendment 3: Media Access Control Parameters for 50 Gb/s and Physical Layers and Management Parameters for 50 Gb/s, 100 Gb/s, and 200 Gb/s Operation
802.3bt-2018
802.3bt-2018 - IEEE Standard for Ethernet Amendment 2: Physical Layer and Management Parameters for Power over Ethernet over 4 pairs
802.3cb-2018
802.3cb-2018 - IEEE Standard for Ethernet - Amendment 1:Physical Layer Specifications and Management Parameters for 2.5 Gb/s and 5 Gb/s Operation over Backplane
IEEE 802.11:2016 も同様で追補は、
802.11aq-2018
802.11aq-2018 - IEEE Standard for Information technology--Telecommunications and information exchange between systems Local and metropolitan area network--Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 5: Preassociation Discovery
802.11ak-2018
802.11ak-2018 - IEEE Standard for Information technology-Telecommunications and information exchange between systems Local and metropolitan area networks-Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 4: Enhancements for Transit Links Within Bridged Networks
802.11aj-2018
802.11aj-2018 - IEEE Standard for Information Technology--Telecommunications and information exchange between systems Local and metropolitan area networks--Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 3: Enhancements for Very High Throughput to Support Chinese Millimeter Wave Frequency Bands (60 GHz and 45 GHz)
802.11ah-2016
802.11ah-2016 - IEEE Standard for Information technology--Telecommunications and information exchange between systems - Local and metropolitan area networks--Specific requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 2: Sub 1 GHz License Exempt Operation
802.11ai-2016
802.11ai-2016 - IEEE Standard for Information technology--Telecommunications and information exchange between systems - Local and metropolitan area networks--Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 1: Fast Initial Link Setup
これらは、本文を読み終えたら、取り組むかも。
802.1Q-2022 - IEEE Standard for Local and Metropolitan Area Networks--Bridges and Bridged Networks
https://qiita.com/kaizen_nagoya/items/c6832e7e79ff0131c6f0
自己参照
無線網(Wi-Fi)空中線(antenna)(0) 記事一覧(122/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001
物理記事 上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff
数学関連記事100
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d
言語・文学記事 100
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6
医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82
通信記事100
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7
自動車 記事 100
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5
日本語(0)一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68
仮説(0)一覧(目標100現在40)
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df
安全(0)安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409
OSEK OS設計の基礎 OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3
プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945
Ethernet 記事一覧 Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794
Wireshark 一覧 wireshark(0)、Ethernet(48)
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0
線網(Wi-Fi)空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001
プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945
資料集 [あなたもdocker私もdocker一覧] docker(0) to 166+61=227
https://qiita.com/kaizen_nagoya/items/45699eefd62677f69c1d
Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8
一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
文書履歴(document history)
ver. 0.01 初稿 20200802 22時
ver. 0.02 目標追記 20200802 23時
ver. 0.03 表題改定・誤植訂正 20200802 24時
ver. 0.04 誤植訂正 20200804
ver. 0.05 「IEEE802.3(Ethernet)とIEEE802.11(Wireless/Wi-Fi)の違いを9つ探す上からの理解と、単語帳を作る下からの理解とを両方実施して体系的な理解を深める。」追記 20200807
ver. 0.06 Wi-Fi参考資料追記 20200927
ver. 0.07 お盆 お正月 標題変更 20201227
ver. 0.08 標題変更 20211120
ver. 0.09 書式補正、 Ethernet 単語帳追記 20220612
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.
https://b.hatena.ne.jp/guide/bbutton
https://b.hatena.ne.jp/kaizen00/add