ネットワークの勉強に関するメモ
インフラ周りわからなすぎて最近ネットワークの勉強をしているのですが、わかってないことだけひたすらわかっていき、闇。
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エラーが受け取れないので結果が表示されない
ARPとRARP
IPアドレス(ソフトよりの方)からMACアドレス(ハード寄りの方)を引くのがARP. 起動終了毎にIPアドレスがリセットされてしまうから都度設定する必要があるなどの理由でMACアドレスからIPアドレスを引くときに使うのがRARP.
- ハード寄りの設定としてはネットワーク寄りの全部の端末に呼びかけたいので、イーサネットヘッダの宛先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.
それ以上は光ファイバケーブルで最大距離もぐっと伸びる。