LoginSignup
8
新規開発や新技術の検証、導入にまつわる記事を投稿しよう!

(5月・お盆・お正月)休みに IEEE Ethernet規格(英文:個人利用無料)を読もう。1日1000ページ目標。:英語(48)

Last updated at Posted at 2020-08-02

お盆 お正月休みに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 で単語帳

bash
$ docker run -v /Users/[user]/Downloads/wireless:/home/wireless -it ubuntu /bin/bash

[user]は実際の利用者名。

ubuntu
# 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の記述は下記。

wc.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を編集して調整するか、複合語を分解するプログラムを作るとよい。

各頁には次のような記載がある。

IEEE802
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 単語帳

<作業中>

おすすめ参考文献

コンピュータネットワーク
第5版 2013/9, Andrew S. Tanenbaum/アンドリュー・S・タネンバウム, デイビッド・J・ウエザロール
61spCRPEsUL._SX386_BO1,204,203,200_.jpg
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
41JKEBSDJTL._SX334_BO1,204,203,200_.jpg
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.ホルツマン
ダウンロード (11).jpeg
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

これらは、本文を読み終えたら、取り組むかも。

無線網(Wi-Fi)空中線(antenna)(0) 記事一覧(122/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>

文書履歴(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.

このエントリーをはてなブックマークに追加

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8