通信はTCP/IPだけど、言葉ではOSI参照モデルの対応の言葉をよく使う
- TCP
- 信頼性を保つ通信(スリーハンドシェイク)互いにやり取り
- UDP
- 質は多少アレでもデータを早く送りたい(音声電話など)
IPアドレスに基づきルーティングが行われる
- IPv4 一般的。32bit 10進数
- IPv6 新しいやつ。128bit 16進数(阿部寛のホームページがIPv6で草っていうのを見た気がする)ドコモとかのサービスブロバイダではわりと普及してきている
サブネットマスク
先頭から1を24個並べる(下の黒文字のやつ)
1がかかっている部分がネットワーク部
つまり、/nとなっている場合、2進数IPアドレスの先頭からn個がネットワーク部、それ以降がホスト部
ネットワークアドレス
ホスト部だけ全て0に変更したやつ
ネットワークアドレスはネットワークの中でめっちゃ大事らしい
ホスト部で部屋番号を表す
ブロードキャストアドレス
全部1のやつ(例:255)
Q. /24だから最大が255というだけだよね。これはただの一例なのか、わりとよくあるパターンなのか
A. 大きいネットワークを作りたいときは/16のようにサブネットを小さくする。
ルーティングはマンションまでの行き先を示す
まずは、A子さんはルーターまで歩く
ルーター「Bくんのマンションはこっちやで」
データを送るのはフォワーディング
と呼ばれる
IPアドレス
プライベートアドレス
被ってもいい。会社や家の中でしか使えない
localhost:3000的な?わからん。
マンション内ではかぶり得る。NATでグローバルアドレスに変換されるので基本的に大丈夫!
グローバルアドレス
世界に一つだけ。ナンバーワンじゃなくていい。元々特別なオンリーワン
192.168.
というのは決まっている。
MACアドレス
データリンク層で使われる。
同じネットワーク内の通信に使われる
Q. MACアドレスの詐称って技術的には可能でしょうか?
A. 可能です。設定で変更できることもある。
Q. MACアドレスは枯渇しませんか?
A. 今のところはその心配はない。
IP, MACには宛先と届け元が絶対についている
URL => IPアドレス
1つのネットワーク内で通信する場合
最初の時点でMACアドレスを知らない。
マンション全員に「みんなー!MACアドレス教えて!(自分のMACアドレスを添えて)」
B子「はーいMACアドレスあげるー」
D君「俺じゃないな」
Q. IPアドレスとMACアドレスの違いがよくわかりません
A. IP…インターネットにおける住所
MAC…同じネットワーク内で必要
$ arp -a
コマンドでipアドレスとmacアドレスの組み合わせが見れる
(アープテーブル 基本4時間残る)
broadcasthost (255.255.255.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]
ff:ff:……
は全員宛。どの部屋の人でも開ける
「みんなー!教えてー」はこれで送っている
複数ネットワーク間の通信
宛先IPアドレス: 最終目的地
どこの部屋から外部のネットワークに行けるのかなー(ルーティングテーブルを確認、お、.254
から行けるんだ)
宛先MACアドレス: さっき確認したルータのMACアドレス!!!!!
(なぜならMACアドレスは同一ネットワーク内の通信で使うから)
では梱包したからデータ送るぞー
.254
にて
MACアドレスが自分宛てだからOPEN
IPアドレスは自分宛てじゃないな?
.254
のルーターが自分のルーティングテーブルを見る(こいつは二つのマンションと時空がつながっている部屋)
「あー、こっちのマンションのBくんに出せばいいんだな」
BくんのMACアドレスを宛先にする
MACアドレスの送信元は、192.168.1.254
と紐づくものではなく、192.168.2.254
と紐づくものになる!だってこっち側のネットワークだから!
ルーターはそれぞれ複数のMACアドレスを持っている
さらに経由する場合は、そのネットワーク内の別のルータに送って、MACアドレスだけを付け替えてどんどん送っていく
レイヤースリー? というIPアドレスを設定できる機器は基本的にルーティングテーブルをもっている。