質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
IPv6

IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

IPv4

IPv4(Internet Protocol version 4)は、インターネットプロトコルの一つ。インターネットに繋がったコンピューターや機器を識別するためのIPアドレスを32ビット表記で表わします。しかしIPv4は、限界があるため、IPv6が次世代プロトコルとして注目されています。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

Q&A

解決済

2回答

3903閲覧

TCP/IPでのデータの送受信方法と暗号・復号化のタイミング

makoto-n

総合スコア436

IPv6

IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

IPv4

IPv4(Internet Protocol version 4)は、インターネットプロトコルの一つ。インターネットに繋がったコンピューターや機器を識別するためのIPアドレスを32ビット表記で表わします。しかしIPv4は、限界があるため、IPv6が次世代プロトコルとして注目されています。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

1グッド

1クリップ

投稿2020/03/14 12:09

TCP/IPでのデータ(パケット?)の送受信・流れ方について

(とりあえず表を)
イメージ説明

4アプリケーション層アプリケーション間のやり取り
3トランスポート層プログラム間の通信、通信の制御
2インターネット層インターネットワークでの通信
1ネットワークインターフェイス層同一ネットワーク上での通信、ハードウェア仕様など

今回はインターネットメールの送受信を例にあげてお聞きしたいと思います

(私はOSI参照モデルやTCP/IPを知ってはいるのですが、実際のデータの流れについては無知です。
なので下記に書くものは私の解釈です。間違っている可能性が高いです。)

自分のPCでメール文を書き、相手に送信・受信してもらう場合

自分のメールアプリ(アプリケーション層)で本文を書き、
送信をすると自分側のTCP/IP4,3,2を通り、ルータを通じて相手のネットワーク層にたどり着き
相手側のTCP/IPを2,3,4の順番でメールを受信する。
相手は自身のアプリケーション層に位置する相手のメールアプリで受信したメールを読むことになる。

自分相手
4(メール)4(メール)
3↓3↑
2→→→2↑

このような解釈で間違いはありませんか?

TLSやS/MINEといった暗号・復号化はどの層で行われているのでしょうか?

公開鍵暗号化や共通鍵暗号化・ハイブリッド鍵暗号化方式の構造は熟知しているのですが、
どのタイミングで暗号・復号化されるのかについて無知です。

恥ずかしながら、ご教授願いたいです。
よろしくお願いします。

s.k👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2020/03/16 00:27

> HTTPも、DHCP、DNSなども、インターネットでは全部「アプリケーション層」に含まれます。SSL/TLSもアプリケーション層にありますが、その中でHTTPなどの他のプロトコルよりは下の層に位置しています。OSIほど層が細かく区別されてはいません。 ありがとうございます。 URLも参考になりました!
guest

回答2

0

S/MINEはアプリケーション層です。

TLSはトランスポート層とアプリケーション層の中間的なところです。

S/MINEはメールに特化したものなのでアプリケーション層確定です。TLSのTLはトランスポートレイヤの意味なのでトランスポート層とも言えますが、アプリケーションが一体的に利用することも多く中間的な性質があります。

一般的なパソコンを例にすればTCP/IPスタックだとこんな感じです。

各種ソフトウェア:アプリケーション層
OS、ミドルウェア:トランスポート層
ルータ:インターネット層
スイッチ、アクセスポイント、NIC、ケーブルor電波→それ以下

逆に伝送路信号側から見るとこんな感じです。

TCPやUDPのペイロード部分を扱う:アプリケーション層
TCPヘッダやUDPヘッダを扱う:トランスポート層
IPヘッダを扱う:インターネット層
Ethernetヘッダ等を扱う(さらにいえば電気信号の物性も):それ以下

投稿2020/03/14 14:34

HogeAnimalLover

総合スコア4830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2020/03/16 00:33

回答ありがとうございます。 何を暗号化をするか・暗号化方式をどうするかによって層が変わると認識してよろしいでしょうか?
HogeAnimalLover

2020/03/17 13:59

それはあります。各層ごとに仕事が違うからです。例えばIPSec(トンネルモード)は宛先情報を含めて暗号化します(元来のIPヘッダを含めて暗号化し、さらにIPヘッダを付与する)。ですのでIPSecはインターネット層での暗号化です。逆にHTTPSの場合はHTTPコンテンツのみを対象とするのでアプリケーション層とトランスポート層の中間での暗号となります。
makoto-n

2020/03/19 16:34

わかりました! ありがとうございます
guest

0

ベストアンサー

暗号・復号化

「暗号化」と「復号」です。

TLSやS/MINEといった暗号・復号化はどの層で行われているのでしょうか?

OSIだとプレゼンテーション層です。

前半。

自分のメールアプリ(アプリケーション層)で本文を書き、

メールアプリは、プロトコルじゃないので、括弧内は違います。

自分側のTCP/IP4,3,2を通り、
ルータを通じて相手のネットワーク層にたどり着き

ここは表現が微妙。

各層は、相手の各層と通信します。その下の階層は意識しません。
その裏方として、1つ下の階層の通信があります。
一番下は、物理層です。
ルーターは、ネットワーク層を構成する一要素です。

投稿2020/03/14 14:14

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2020/03/16 00:45

> 「暗号化」と「復号」です。 ありがとうございますm(_ _;)m > メールアプリは、プロトコルじゃないので、括弧内は違います。 おっしゃるとおりです。失礼しました。 受信したデータをメールアプリなどで閲覧する、ですね。 ルータを中継にするならば物理層は通らないだろうと解釈しています。 > 各層は、相手の各層と通信します。その下の階層は意識しません。 > その裏方として、1つ下の階層の通信があります。 データの流れとして考えれば、どのようになりますか? 自分のアプリケーション層にあるデータが ゲートウェイ、ルータなどをかいさずに 相手のアプリケーション層に届く、と考えれないです。 もうしわけないですが、知っておいででしたらご教授願いたいです。 よろしくお願いします。
otn

2020/03/16 05:20

> ルータを中継にするならば物理層は通らないだろうと解釈しています。 物理層(電線、光ファイバー線)を通らないと相手のところまでいきません。 > 自分のアプリケーション層にあるデータがゲートウェイ、ルータなどをかいさずに相手のアプリケーション層に届く、と考えれないです。 階層に分かれている意味を理解できていないということだと思います。 ネットワーク入門書なら、階層の説明が出てきた部分で、階層の概念を十分説明しているはずです。 ハガキをポストに投函すると、相手の郵便受けに届きます。 それ以外のことを意識する必要はないのと同じです。 我々は住所層のみ知っていればいい。その下の階層は、郵便局の担当です。 さらに下に、鉄道会社層があるかもしれない。
makoto-n

2020/03/16 15:36

3→3 層 2→2 層 1→1 層 それぞれの層で問い合わせ、名前解決おこなった後、TCPやUDPで アプリケーション層の通信を可能にする 4→4 層 という考えで間違えはありませんか? > > 自分のアプリケーション層にあるデータがゲートウェイ、ルータなどをかいさずに相手のアプリケーション層に届く、と考えれないです。 すみません、データを2進数などに分解して送受信するものかと思っていました。
otn

2020/03/16 15:56

> それぞれの層で問い合わせ、名前解決おこなった後、TCPやUDPでアプリケーション層の通信を可能にする 全範囲はいいと思います。後半は何が言いたいのかよくわかりません。TCPやUDPは第四層のプロトコルです。 > データを2進数などに分解して送受信するものかと思っていました。 データはもともと2進数ですが? 最終的には、電圧の高低や、光の明暗になりますよ。
makoto-n

2020/03/19 16:31

> 全範囲はいいと思います。後半は何が言いたいのかよくわかりません。TCPやUDPは第四層のプロトコルです。 それぞれの層で問い合わせ、名前解決おこなった後、http通信やsmtpなどの通信を可能にする。 ※すみません、TCPやスリーウェイハンドシェイクとかの言葉を使ってみたかった為、何が言いたいかよくわからなくなってしまいました。 > データはもともと2進数ですが? 以前、人に教わるとき 名前解決・階層の理解をする前に 4 4 ↓ ↑ 3 3 ↓ ↑ 2 2 ↓ ↑ 1→1 この形だけ習ってしまっていたので 各層での問い合わせを理解していませんでした。 もうしわけないです。
otn

2020/03/20 02:41

すいません。ミスタイプです。「全範囲」→「前半」 > この形だけ習ってしまっていたので これは正しいですね。 > それぞれの層で問い合わせ、名前解決おこなった後、 これは「問い合わせ」「名前解決」の意味するところによっては間違いかもしれません。
makoto-n

2020/03/20 05:25

1,2,3層でデータの送受信先の正誤をおこない、 正しければ4層での送受信を可能にするってことですね
otn

2020/03/20 05:29

ちょっと理解できません。
HogeAnimalLover

2020/03/23 01:44

だいたいこんな感じで分業してます→ネットワークインタフェース層:近範囲のデータ送受を確立する(例:単区間のケーブル、接続端子)。インターネット層:任意の端末間のデータ送受を確立する(例:宛先に応じた経路判定、転送処理)。トランスポート層:プログラム間の通信制御(例:単機上で並列処理される複数のソフトウェアと通信データの対応付):アプリケーション層:ソフトウェア毎の処理(例:メーラ、ブラウザ)
makoto-n

2020/03/26 00:53

HogeAnimalLover さん、ありがとうございます。 わかりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問