クリプキクローネ日記帳

ある種の音楽と数学とランニングはミニマルなところが似ていると思う。

マスタリングTCP/IP 入門編 [竹下隆史, 村山公保, 荒井透, 苅田幸雄(著)]

TCP/IPは末尾がPの略称が多すぎて混乱します。
結局ある程度自分で格闘したことのあるプロトコルしか覚えられないんですよね。


イーサネットといえばCSMA/CDだと思ってましたが、
スイッチングハブは全二重通信できてCollision Detection不要ということを知りました。
スイッチで全二重する方式が「ATMでも採用されている」という記述は
恥ずかしながらいわゆる「現金自動預け払い機(ATM)」だと思って読んでいました。
この本は著者が4人もいるので、まだ説明されていない言葉が断りなく出てきます。
あと無線のCSMA/CAも単語だけ出てきて中身の説明がなかったので少し驚きました。

無線はLANとWANの他に、PAN, MAN, RANというパチモンみたいな言葉があることを知りました。
とは言っても普段の会話ではまとめて無線LANでいい気がする。

HDMIでTCP/IPの通信ができるのは知りませんでした。
InfiniBandは名前よく聞くし大事そうですね。

VPNもいろいろあるんですね。
IP-VPNは、ラベルで通信を制御するMPLSを使って通信事業者が提供するVPNです。
企業が独自にVPNを構築するときはIPsecで暗号化します。
さらに通信事業者がデータリンク層に構築したVLANをそのまま用いる手もあります。
実際どれがどれくらい使われているんでしょうか。
IPsecの暗号化はなんとなく重そうだけど。

IPv4の苦しい台所事情もあらためてよく分かりました。
NATとNAPTはよく頑張っています。
しかし、別のクライアントがルーターの外では同じIPの別のポートになるというのは何度聞いてもしっくり来ません。
あと、IPv6の普及は全世界で一気にやらないと意味ないから絶望的に大変だな、と思っていましたが、
NAT-PTルーターによってIPv4とIPv6を変換してくれることを知りました。
少しずつでもIPv6普及するといいですね。
そしてIPアドレスの胴元のICANNはオバマさんを連想してしまいます。

IPv6はただ単に長いだけかと思ってましたが、
DHCPサーバーがなくてもMACアドレスからIPアドレスを自動生成できるなんてオシャレ仕様になっていることを知りました。

IPv4のTTL(Time to Live)とIPv6のHop Limitはどちらも1バイトですが、
将来最短パスでもルーターを256個経由するようなことにはならないのかな、と思いました。
素人が心配することなんてとっくに考慮された上で1バイトになっているんだろうけど。

DNSはサーバーだけどARPとRARPはサーバーじゃないので注意。
ICMPはネットワーク層の、SNMPはアプリ層のトラブルシューティング用プロトコル。紛らわしい。

TCPのスリーウェイハンドシェイクはなんか1往復無駄だなと思っていたんですが、
セグメントの最大長MSSをお互いに交換し合って低い方に合わせるという意味もあることを知りました。
MSSはデータリンク層の最大転送単位MTUによって決まるそうです。似た概念が多い!
そもそもスリーウェイハンドシェイクのしっかりした説明がないのはいいんだろうか。

確認応答をする前に少し待って返事のデータパケットと合わせて1つのパケットにするピギーバックは地味だけど重要ですね。

トランスポート層はTCPとUDPだけと思ってましたが、
UDP-Lite(ヘッダだけチェックサム計算したりできる)とか、
SCTP(複数のコネクションを統合できる。NIC2枚とか)などもあるようです。

ルーターのテーブルを作るルーティングプロトコルはなかなかどれも大変そうです。
RIPは自分の情報をブロードキャストしてそれを受け取ったルーターが距離+1しながらリレーする。
ループがあると厄介。

OSPFは経路のトポロジーを全ルーターで共有する。すごい。
グラフ理論でお馴染みダイクストラ法で最短パスを求める。
自律システム(AS)でグルーピングすることで、経路グラフを小さく抑える。

広域のBGPではAS Path Listという目的地までに通過するAS番号のリストを保持する。

アプリ層はお馴染みの言葉が多め。
MIMEはメール関係だという認識しかなかったけど、
テキスト以外も扱えますというところが特徴なのか。
IMAPはサーバー上でメールを管理するプロトコル。

RTPはデータ部に時刻を追加するプロトコル。
NTPサーバと一瞬混同しました。

というわけでだらだら書きましたが、プロトコル多すぎです。
入門編とか書いてあったので読む意味ないかなと思ったら全くそんなことありませんでした。
核となる部分は古い規格なのに、これだけインターネットが大規模になった今日でも
拡張が繰り返されて運用されているというそのスケーラビリティにあらためて驚きました。
  1. 2017/05/01(月) 00:36:06|
  2. | トラックバック:0
  3. | コメント:0
<<テスト駆動開発による組み込みプログラミング [ James W.Grenning(著), 蛸島昭之(監訳), 笹井崇司(訳)] | ホーム | イラストレイテッド 光の実験 [大津元一(監修), 田所利康(著)]>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://myumbrella.blog42.fc2.com/tb.php/369-7047a143
この記事にトラックバックする(FC2ブログユーザー)