woshidan's loose leaf

ぼんやり勉強しています

ネットワークの勉強に関するメモ

インフラ周りわからなすぎて最近ネットワークの勉強をしているのですが、わかってないことだけひたすらわかっていき、闇。

ICMP(Internet Control Message Protocol)

ICMPはIPメッセージが送信元から相手に届くまでの間に起きたエラー関連の情報を送信元に通知するためのプロトコル、とありますが、では具体的にそのプロトコルを使ったソフトウェアに何があるかと言いますと、まずpingですね。

ほら、pingのログを見るとicmpって書いてあります。

ping hatenablog.com
PING hatenablog.com (52.192.41.52): 56 data bytes
Request timeout for icmp_seq 0
64 bytes from 52.192.41.52: icmp_seq=1 ttl=52 time=17.178 ms
64 bytes from 52.192.41.52: icmp_seq=2 ttl=52 time=26.477 ms
64 bytes from 52.192.41.52: icmp_seq=3 ttl=52 time=23.490 ms
^C
--- hatenablog.com ping statistics ---
4 packets transmitted, 3 packets received, 25.0% packet loss
round-trip min/avg/max/stddev = 17.178/22.382/26.477/3.876 ms

今日思い出そうとして書いたら、SCMP(System Control Message Protocol)って書いてて、いやSystemって広すぎでしょ、と言ってました。

他には、tracerouteコマンドなどがあります。

http://www.atmarkit.co.jp/ait/articles/0108/30/news003.html

# 現在の端末から指定したホストがつながっているルータのIPや接続時間などを表示して2つの端末館のネットワーク経路の状態を示す.
# 中身としてはTTLを1,2..と小さいものから設定してIPパケットを飛ばして、TTLが0になったところでICMP Time Exceededエラーが返ってくるのを利用してる
$ traceroute hatenablog.com
traceroute to hatenablog.com (52.192.41.52), 64 hops max, 52 byte packets
 1  aterm.me (192.168.10.1)  1.339 ms  0.996 ms  1.008 ms
 2  ntt.setup (192.168.1.1)  1.936 ms  2.079 ms  1.618 ms
 3 * * * <= セキュリティ上の要件でICMPパケットをフィルタしていたり、ルータが対応してなかったりするときは、ICMP Time Exceededエラーが受け取れないので結果が表示されない

ARPRARP

IPアドレス(ソフトよりの方)からMACアドレス(ハード寄りの方)を引くのがARP. 起動終了毎にIPアドレスがリセットされてしまうから都度設定する必要があるなどの理由でMACアドレスからIPアドレスを引くときに使うのがRARP.

ARPMACアドレスを探索する場合に、

  • ハード寄りの設定としてはネットワーク寄りの全部の端末に呼びかけたいので、イーサネットヘッダの宛先MACアドレスはFF-FF-FF-FF-FF-FF.
  • ソフト寄りの設定としては呼びかけたいIPアドレスが決まってないため、ARPの探索するMACアドレスは00-00-00-00-00-00

LANケーブルについて

UTP, STPは金属のより対線でUTPは非シールド。だいたい4対で、5e, 6eは4本使えばノイズが大きいけれど通信速度があげることも可能。

1000BASE-TXあたりまでが金属で、だいたい最長は100m.

それ以上は光ファイバケーブルで最大距離もぐっと伸びる。