回答編集履歴

4

注記

2017/02/21 11:54

投稿

ikedas
ikedas

スコア4443

test CHANGED
@@ -20,6 +20,8 @@
20
20
  ---
21
21
 
22
22
  コメントのご指摘を受けて、あらためてRFCを読み直してみました。
23
+
24
+ ※なお、以下で「アプリケーション層」「トランスポート層」という用語は、OSIモデルの意味ではなくインターネットでの意味で使われています。
23
25
 
24
26
  > (...) The protocol is composed of two layers: the TLS Record Protocol and the TLS Handshake Protocol. At the lowest level, layered on top of some reliable transport protocol (e.g., TCP \[TCP]), is the TLS Record Protocol. (...)
25
27
  > (...)

3

typo\.

2017/02/21 11:54

投稿

ikedas
ikedas

スコア4443

test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  というふうに重なっています。そして、TLSレコード・プロトコルは「適切なトランスポート〔層〕プロトコル (例えばTCP/IP) の上の層」だと言っているので、**TLSは最上位のアプリケーション層に属する**ように思います。
44
44
 
45
- あるいは、**アプリケーション層にもトランスポート層にも属さない**かです。TLSの次のバージョンであるTLS 1.3のドラフトでは、「何らかの適切なトランスポート〔層〕プロトコル (例えばTCP/IP) の上の層」といった表現がなくなっています。一方で、「TLSはアプリケーション〔層〕プロトコルとは独立している」(TLS is application protocol independent) という表現も見られます ([draft-ietf-tls-tls13-18](https://tools.ietf.org/html/draft-ietf-tls-tls13-18))。つまり、もともと他のプロトコルから独立しているので、どちらに属するかを考えても意味がない、ということなのかもしれません。
45
+ あるいは、**アプリケーション層にもトランスポート層にも属さない**かです。TLSの次のバージョンであるTLS 1.3のドラフトでは、「何らかの適切なトランスポート〔層〕プロトコル (例えばTCP/IP) の上の層」といった表現がなくなっています。一方で、「TLSはアプリケーション〔層〕プロトコルとは独立している」(TLS is application protocol independent) という表現は1.2のま残っています ([draft-ietf-tls-tls13-18](https://tools.ietf.org/html/draft-ietf-tls-tls13-18))。つまり、もともと他のプロトコルから独立しているので、どちらに属するかを考えても意味がない、ということなのかもしれません。
46
46
 
47
47
  ---
48
48
 

2

RFCを読み直して補足

2017/02/21 11:48

投稿

ikedas
ikedas

スコア4443

test CHANGED
@@ -19,3 +19,32 @@
19
19
 
20
20
  ---
21
21
 
22
+ コメントのご指摘を受けて、あらためてRFCを読み直してみました。
23
+
24
+ > (...) The protocol is composed of two layers: the TLS Record Protocol and the TLS Handshake Protocol. At the lowest level, layered on top of some reliable transport protocol (e.g., TCP \[TCP]), is the TLS Record Protocol. (...)
25
+ > (...)
26
+ > The TLS Record Protocol is used for encapsulation of various higher-level protocols. One such encapsulated protocol, the TLS Handshake Protocol, allows the server and client to authenticate each other and to negotiate an encryption algorithm and cryptographic keys before the application protocol transmits or receives its first byte of data. (...)
27
+
28
+ \-- [RFC 5246](https://tools.ietf.org/html/rfc5246): The Transport Layer Security (TLS) Protocol Version 1.2. §1. Introduction.
29
+
30
+ (試訳)
31
+
32
+ > (…) このプロトコル〔TLS 1.2〕は二つの層から成る。TLSレコード・プロトコルとTLSハンドシェーク・プロトコルである。最下部は、何らかの適切なトランスポート〔層〕プロトコル (例えばTCP/IP) の上の層である、TLSレコード・プロトコルである。(…)
33
+ > (…)
34
+ > TLSレコード・プロトコルは、様々な上位レベルのプロトコルをカプセル化する。そのようなプロトコルの一つ、TLSハンドシェーク・プロトコルは、アプリケーション〔層〕プロトコルがデータの最初のバイトを送信または受信をする前に、サーバとクライアントが互いを認証できるように、また暗号化アルゴリズムと暗号鍵の折衝をできるようにする。(…)
35
+
36
+ つまり、上から
37
+
38
+ - アプリケーション層
39
+ - TLSハンドシェーク・プロトコル
40
+ - TLSレコード・プロトコル
41
+ - トランスポート層
42
+
43
+ というふうに重なっています。そして、TLSレコード・プロトコルは「適切なトランスポート〔層〕プロトコル (例えばTCP/IP) の上の層」だと言っているので、**TLSは最上位のアプリケーション層に属する**ように思います。
44
+
45
+ あるいは、**アプリケーション層にもトランスポート層にも属さない**かです。TLSの次のバージョンであるTLS 1.3のドラフトでは、「何らかの適切なトランスポート〔層〕プロトコル (例えばTCP/IP) の上の層」といった表現がなくなっています。一方で、「TLSはアプリケーション〔層〕プロトコルとは独立している」(TLS is application protocol independent) という表現も見られます ([draft-ietf-tls-tls13-18](https://tools.ietf.org/html/draft-ietf-tls-tls13-18))。つまり、もともと他のプロトコルから独立しているので、どちらに属するかを考えても意味がない、ということなのかもしれません。
46
+
47
+ ---
48
+
49
+ 長くてすみません。
50
+

1

つまらない蘊蓄を削除

2017/02/21 11:40

投稿

ikedas
ikedas

スコア4443

test CHANGED
@@ -5,13 +5,13 @@
5
5
  - インターネット層 (IP、ICMP、IPv6など)。
6
6
  - リンク層 (ARP、PPPなど)。
7
7
 
8
- OSIで言うと、「アプリケーション層」はだいたいセッション層から上 (5-7層) に、「インターネット層」はネットワーク層 (第3層) に、「リンク層」はデータリンク層 (第2層) に対応しているという意見もあります (他にも諸説あります)。物理層 (第1層) にあたるものは、「リンク層」に含まれていると言う人もいますし、インターネットでは物理層は特に定義されていないと言う人もいます\[1]。しかしこういった議論は純粋に理論上の考察にすぎず、**本当は、インターネットとOSI参照モデルは関係ない**というのが正しいです。
8
+ OSIで言うと、「アプリケーション層」はだいたいセッション層から上 (5-7層) に、「インターネット層」はネットワーク層 (第3層) に、「リンク層」はデータリンク層 (第2層) に対応しているという意見もあります (他にも諸説あります)。物理層 (第1層) にあたるものは、「リンク層」に含まれていると言う人もいますし、インターネットでは物理層は特に定義されていないと言う人もいます。しかしこういった議論は純粋に理論上の考察にすぎず、**本当は、インターネットとOSI参照モデルは関係ない**というのが正しいです。
9
9
 
10
10
  ウィキペディアの「[TCP/IP参照モデル](https://ja.wikipedia.org/wiki/TCP/IP参照モデル)」の記事では、次のようにまとめています。
11
11
 
12
12
  > これまでIETFはインターネット・プロトコル・スタックを RFC 1122 で定義された4層から変更した事はない。IETFは7層からなるOSI参照モデルに従うような試みはせず、また標準化過程 (Standards Track) にあるプロトコル仕様やその他の構造上の文書をOSI参照モデルに対して参照する事もしない。
13
13
 
14
- HTTPも、DHCP、DNSなども、インターネットでは全部「アプリケーション層」に含まれます。SSL/TLSもアプリケーション層にありますが、その中でHTTPなどの他のプロトコルよりはの層に位置しています。OSIほど層が細かく区別されてはいません。
14
+ HTTPも、DHCP、DNSなども、インターネットでは全部「アプリケーション層」に含まれます。SSL/TLSもアプリケーション層にありますが、その中でHTTPなどの他のプロトコルよりはの層に位置しています。OSIほど層が細かく区別されてはいません。
15
15
 
16
16
  ですから、質問の正解は「層」でしょう。それ以外の答えはすべて不正解だと思います。
17
17
 
@@ -19,5 +19,3 @@
19
19
 
20
20
  ---
21
21
 
22
- \[1] 物理層が特に定義されていないので、ethernet以外の方式でパケットを送ることもできます。実際、伝書鳩でパケットを送る実験をしたひともいます ([実験の報告](http://www.blug.linux.no/rfc1149/))。さすがにこれは実用にはなりませんが (ラウンドトリップタイムが数100万ミリ秒、パケットロス50%以上とか)。
23
-