pcのネットワークに詳しくなる

無線LANは、無線のローカルエリアネットワーク。
WI-FIは、無線LANの規格の一種。もっとざっくりいうと無線LANの一種。

無線LANルーターは無線でLANを構築できる機能を持ったルーター
無線LANルーターだと、LANを構築するのに有線を使う必要がなくなる。

普通のルーターは、有線でPCを接続しなければならない。

ルーターは複数のネットワークを相互に接続し、パケットの転送やルーティングを行うためのネットワークデバイスである。ルーターには少なくとも2つ以上のネットワークインターフェースが搭載されている。

ルータのWAN向けのネットワークインターフェースに、グローバルIPアドレスを割り当てる必要がある。(個別の端末にグローバルIPアドレス割り当てたら、端末の数だけグローバルIPアドレスが必要になってしまって高くつくため)
グローバルIPアドレスはインターネットプロバイダーによってインターネットにリクエストするたびに払い出される。IPv4が枯渇していたり、管理やコスト面からISPはグローバルIPアドレスを採用している。

自分のPCとルーターが同一ネットワークに所属していて、そのルーターを経由してインターネットにアクセスしている。
インターネット ⟷ ISPのネットワーク ⟷ ONU ⟷ ルーター ⟷ 家庭内デバイス(PC/スマホなど)
ONUは、光信号とデジタル信号を相互に変換し、インターネット接続を行うための機器である。
ONUは光回線のインターネットを使う時に使う

コンピュータネットワークとは、複数台のコンピュータを相互に接続して、相互に情報をやりとりする技術や状態のこと

コンピュータネットワークを構築するためには、物理的な設定をした後に、論理的な設定をする必要がある

ネットワークインターフェースを通じて、ネットワークに参加している。

同じネットワークに所属していれば、ルーターを使わずとも通信できる

tracerouteコマンドを使うことで、指定したホスト(IPアドレス)までのパケットの経路を追跡することができる。また、-nオプションを付けることで、ホスト名の逆引きを行わずにIPアドレスで表示することができる。
tracerouteコマンドを使って、パケットがどのような道順で目的につくのか確認できる。
パケットが通る道順のことは、一般に「経路(Route)」と呼ばれる。
tracerouteコマンドの結果として表示される一つ一つの行は、パケットが通過した一つ一つのルータを表している。それぞれの行に表示されているIPアドレスは、パケットが通過したルータが持っているIPアドレスである。
traceroute google.com

/etc/hostsはホスト名とIPアドレスを対応させるためのファイル。
ssh local.video-b.comを実行すると、127.0.0.1のホストにSSHで接続できる。
DNSが普及するよりも前に使われていたそう。
cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 local.video-b.com
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost

名前解決(ホスト名やドメイン名に対応するIPアドレスを見つけること)で、DNSサーバーに問い合わせる前にHostsファイルへの参照が行われる

これ追加して、google.com開いたら、確かにひらけんかった。/etc/hostsファイルが優先的に参照されていることがわかった。
cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 google.com
google.com:3000で、localhost:3000のページが見れたのは確認できた。

ifconfig【interface configuration】コマンドはネットワークインターフェースの設定変更や表示を行うコマンド

inet: IPv4のIPアドレスを表している。
つまり、この端末のネットワークインターフェースに割り当てたipアドレスは、172.20.10.5ってことか。
0xfffffff0は2進数に直すと、11111111.11111111.11111111.11110000。
つまり、先頭から 28 ビットがネットワーク部で、残りの 4 ビットがホスト部。
ホスト部は4ビットだから、16個のipアドレスが利用できる。つまり、このネットワークに16台の端末が参加できるということ。実際には、
- ネットワークアドレス(最初のアドレス、ホスト部がすべて 0)
- ブロードキャストアドレス(最後のアドレス、ホスト部がすべて 1)
これらのアドレスは端末に割り当てられないから、実際に利用できるipアドレスは14個。つまりこのネットワークに参加できる端末は14台だということ。
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether f8:4d:89:8b:f2:7c
inet6 fe80::494:461e:2c6e:5a84%en0 prefixlen 64 secured scopeid 0xe
inet 172.20.10.5 netmask 0xfffffff0 broadcast 172.20.10.15
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active

wifi変えたらen0が変わった
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether f8:4d:89:8b:f2:7c
inet6 fe80::494:461e:2c6e:5a84%en0 prefixlen 64 secured scopeid 0xe
inet 192.168.0.13 netmask 0xffffff00 broadcast 192.168.0.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
routerに書いてあるのがルーターのipアドレス

netstatコマンドは、ホストのネットワーク接続状態などを表示するコマンド。
ESTABLISHEDは、TCPコネクションが確立して通信している状態。

ルーティングテーブルは、インターネットにつながるノードがそれぞれ持っているもの。
TCP/IPの世界では、次にパケットを渡すべき相手をルーティングテーブル(RoutingTable)というもので管理している。
netstat -rで見れるルーティングテーブルは、そのコマンドを実行しているローカルコンピュータ自身のルーティングテーブルである。
defaultは他のどの宛先にも該当しないときに使われる宛先。デフォルトルートと呼ばれる。
netstat -r
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.0.1 UGScg en0
127 localhost UCS lo0
localhost localhost UH lo0
169.254 link#14 UCS en0 !
169.254.169.254 link#14 UHLSW en0 !
192.168.0 link#14 UCS en0 !
192.168.0.1/32 link#14 UCS en0 !
192.168.0.1 fc:4a:e9:de:ad:5 UHLWIir en0 1139
192.168.0.13/32 link#14 UCS en0 !
192.168.0.255 ff:ff:ff:ff:ff:ff UHLWbI en0 !
224.0.0/4 link#14 UmCS en0 !
mdns.mcast.net 1:0:5e:0:0:fb UHmLWI en0
239.255.255.250 1:0:5e:7f:ff:fa UHmLWI en0
255.255.255.255/32 link#14 UCS en0 !
Internet6:
Destination Gateway Flags Netif Expire

nsloockupコマンド(name server lookup"(ネームサーバー検索))で、ドメインに紐づくipアドレスを調べたりできる
上のServerは検索に使ったDNSサーバーの名前。AddressはそのDNSサーバーのipアドレス
下のNameはドメイン名。Nameの下のAddressはドメイン名に紐づくipアドレス
nslookup google.com
Server: 219.110.4.84
Address: 219.110.4.84#53
Non-authoritative answer:
Name: google.com
Address: 172.217.175.110
このipアドレスで検索するとちゃんとページが表示される。

tracerouteで調べてみて、ちゃんと上のipアドレスにたどり着いたから、大丈夫そう
traceroute google.com
traceroute to google.com (172.217.175.110), 64 hops max, 52 byte packets
1 192.168.0.1 (192.168.0.1) 150.390 ms 2.876 ms 1.947 ms
2 10.153.128.1 (10.153.128.1) 18.276 ms 122.405 ms 16.912 ms
3 h219-110-8-049.catv02.itscom.jp (219.110.8.49) 11.030 ms 13.285 ms 152.081 ms
4 h220-215-129-036.catv02.itscom.jp (220.215.129.36) 12.944 ms 10.874 ms 137.188 ms
5 h220-215-130-034.catv02.itscom.jp (220.215.130.34) 15.778 ms 11.771 ms 148.017 ms
6 core1-ichi.ngbb.itscom.jp (175.177.7.69) 15.715 ms 11.673 ms 12.517 ms
7 asbr1-kote.bb.itscom.jp (219.110.0.237) 138.119 ms 15.025 ms 140.827 ms
8 74.125.118.26 (74.125.118.26) 15.756 ms 143.904 ms 16.764 ms
9 216.239.58.179 (216.239.58.179) 13.509 ms
108.170.248.179 (108.170.248.179) 13.994 ms
216.239.58.179 (216.239.58.179) 11.962 ms
10 108.170.235.103 (108.170.235.103) 14.666 ms
108.170.233.191 (108.170.233.191) 13.146 ms 14.292 ms
11 nrt20s21-in-f14.1e100.net (172.217.175.110) 16.522 ms 15.534 ms 12.437 ms

大体わかったのでクローズ。