More Related Content More from Ken SASAKI (20) RFC 〜 ネットワーク勉強会7. RFC:791
INTERNET PROTOCOL
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Example Internet Datagram Header
差出元
宛先
8. RFC:8200
Internet Protocol, Version 6 (IPv6) Specifcation
3. IPv6 Header Format
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Source Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Destination Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
差出元
宛先
9. こんなヘッダとして実装されている
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TCP Header Format
RFC793
10. RFC 793 に書いてあること
2.10. Robustness Principle TCP
implementations will follow a general
principle of robustness: be conservative in
what you do, be liberal in what you accept
from others.
己のなすことには慎重たれ、 他人のなすことに
は寛容たれ
11. こんなヘッダとして実装されている
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Source | Destination |
| Port | Port |
+--------+--------+--------+--------+
| | |
| Length | Checksum |
+--------+--------+--------+--------+
|
| data octets ...
+---------------- ...
User Datagram Header Format
RFC768
3ページ!!
12. WELL KNOWN PORT NUNBERS
●
IANA(Internet Assigned Numbers Authority)が管理してい
る。
●
UNIX系OSでは /etc/services というファイルに記述されてい
る。
●
一般的に良く使われるポート番号
– TCP/22: SSH (リモート接続)
– TCP/25: SMTP (メール送信)
– TCP/80: HTTP (ウェブアクセス)
– UDP/123: NTP (時刻同期)
– TCP/443: HTTPS (セキュアなウェブアクセス)
15. RFC は何の略?
●
Request for Comments(リクエスト フォー コメンツ、略称:
RFC)
– 直訳すると「求むコメント」
– インターネット技術の研究開発は、 米国国防総省のARPA/DARPAが
資金援助を行い研究開発活動が推進されたために、 研究開発の結
果は、広く公開できないことになっていた。
– しかし、研究結果を公開し、インターネットに関わる人々に広くその
仕様を流布し 普及させることが重要。
– 「コメントを広く募集する」ための、ドキュメント であって、研究成果
を公開しているのではない、むしろ、研究成果をより良いもの にす
るために、外部からのコメントを募集するためのドキュメントであ
る、というトリック。
25. Joke RFC 一覧
●
英語版のWikipediaを参照するのが一番楽
– https://en.wikipedia.org/wiki/April_Fools%27_
Day_Request_for_Comments
●
日本語版はない
●
Joke RFCはたいてい誰かが日本語訳をしてる。
– http://www.kt.rim.or.jp/~ksk/joke-RFC/index.ht
ml
– http://naglly.com/archives/2009/04/rfc.php
●
でも意外と新しいのはないのでうまく翻訳すれば
buzzるかもしれないよ。
34. The Internet is for Everyone
●
RFC3217
– https://tools.ietf.org/html/rfc3271
●
2002年にInternet Societyから出された文書
●
インターネットに関わる人が増えてきて、お金も沢山動く
ようになって、インターネットは誰の物か?、という議論
が盛んになったころに出された声明。
●
RFCを正しく理解するにはContext(文脈)を知っておくほう
が良いことが多い。歴史と一緒。
●
新し目のRFCではContextが省かれていることが多いので
行間を想像しつつ読むほうがより面白いよ。