お世話になっております。
また質問させて頂きます。
TCP/IPモデルのアプリケーション層でヘッダが付加されるのか?されないのか?という質問です。
色んな教材、サイトを調べましたが、ヘッダがある派とヘッダが無い派が半々くらいでした。
ただし何故あるのか無いのかにまでに言及しているところは殆どなく
一番信憑性があったのが、
ヘッダは分割しなくてはならないから付加するのであって分割前にヘッダは付加されない
またアプリケーション層で出てくるヘッダとういうのは
メールやHTTPファイル等のソース本文に記載されてるヘッダ情報ではないのか?
というものでした。
実際に、アプリケーション層で扱われるヘッダは存在しますか?
何を指してヘッダと呼んでいますか?
教えてください。
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
回答の前提として、
TCP/IP階層モデルにおけるアプリケーション層はこんな感じの層です。
1.
PDUで言えばペイロードのデータそのものです。
https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3 …
の、「インターネット・プロトコル・スイートの階層」の図の黄緑部分になります。
2.
プロトコルとしてはWebやメールなどのアプリケーションが扱うデータフォーマット、
接続手順などを規定するものになります。
3.
Ethernet、IP、UDPの層はOSが処理しますが、
アプリケーション層は、ブラウザやメールサーバのように
ユーザープロセスのアプリケーションが処理します。
4.
アプリケーション層のプロトコルは、例えばhttp、ftp、ntp、LDAP、SIP、POP、SMTP、RTPなどなどたくさんあります。
RFCで規定されている他に、自分でも定義できるので、
それこそ星の数ほどあります。
それぞれでデータフォーマットも接続手順も異なります。
5.
Web、メール、IP電話などといったサービスごとにプロトコルは違います。
(ただ、スマホのアプリケーションはほとんどhttpでなんでも扱うといったように
httpなどちょっと特殊なのはあるのですが)
以下から回答になります。
例えばメールやWebのアプリケーションで扱うデータを
HeaderとBodyと分けて使う場合の、Headerの部分をいいます。
例えば下記の「メッセージ構文」の内容が参考になるでしょう。
http://www.tohoho-web.com/ex/http.htm
ここでいうHeaderもBodyも先程の「インターネット・プロトコル・スイートの階層」の図では"黄緑部分"です。
RTPなどはTCP/IPの教科書などでよく見られる
IPやTCP、UDPのヘッダフォーマットと見た目が似ていますが、
これもヘッダ含めて全て黄緑部分"です。
http://www.geekpage.jp/technology/rtp/rtp.php
アプリケーション層のプロトコルはユーザで定義し放題であり、
オレ流アプリケーションのオレ流アプリケーション層プロトコルもあって問題なく
それらでは必ずしもヘッダがある必要はないのですが、
RFCなどで規定されている、皆で仕様を合わせて使う
アプリケーション層のプロトコルは
ほとんどのケースでヘッダがあると思って良いです。
通信を行うアプリケーションは送られてきたデータを
何かを取っ掛かりにして処理をしますが、
取っ掛かりを探す処理としては、"黄緑部分"の先頭から何バイト目とか
(RTPのような"黄緑部分"がバイナリフォーマットの場合)、
"To:"などの文字列を検索する(Mailやhttpのような
テキストフォーマットの場合)などがあります。
その取っ掛かりの集まりがヘッダです。
先頭に置くのはそのほうが処理しやすく効率がよいからです。
ただ、昔から様々なアプリケーションプロトコルが作られ、
そのスタイルが踏襲されているからであって、
取っ掛かりを"黄緑部分"の最後尾に置くようなプロトコルは
有りえます
(処理がめんどくさいし、わざわざ最後尾に置く理由はないですが)。
以上、参考になりますでしょうか。
いつもありがとうございます。
感動しました。
どのテキストや参考サイトよりも
正確で適切でした。
なるほどそうだったのかと理解ができました。
自分はmakunanaman様にテキスト作ってもらいたいと思いました。
No.2
- 回答日時:
TCPヘッダと、アプリケーションで付加されるヘッダ(メールヘッダなど)と混同されている気がします。
アプリケーションで使われるヘッダは、TCPデータの中ではペイロードに含まれます。
TCPヘッダはこれらとは全く別ものでトランスポート層で付加され、アプリケーション層で感知されるものではありません。
例えばメールヘッダといえば、Return-PathとかContent-typeとかSubjectなどの部分になります。
メールヘッダ、HTTPヘッダで検索すれば詳細が見つかると思います。
# 的外れでしたらご容赦ください。
回答ありがとうございます。
アプリケーションヘッダが別にあるのか無いのかが気になっていたので
教材や参考サイトを使って学習しているんですけど
アマゾンでお勧めの教材にアプリケーション層でアプリケーションヘッダが付加されるとイラスト付きで掲載されていたり
某有名PC雑誌サイトでも同じ様に書かれていていました。
なので混乱してしまい確認したかったのです。
No.1
- 回答日時:
TCPヘッダのことを言っているのであれば
アプリケーション層では付加されないです
質問者さんが言っている通り
ヘッダというのがなにを指しているかです
ヘッダという言葉だけなら色々なものを指しますが
アプリケーション層に関係するヘッダは無いと私は認識してます
TCPヘッダ、IPヘッダ、イーサネットヘッダなどなら分かるのですが
アプリケーションヘッダといわれる物は聞いたことありません
私も今調べてみましたが
そこに関する誤記、誤解が多いらしく
アプリケーション層のヘッダはおそらくメールヘッダとか
そういった各ソフトウェアやプログラムに関係するヘッダのことかと思います
ありがとうございます。
統一されていないので判断が難しいですね。
有名なPC雑誌ではしっかりヘッダは付加されると案内されていましたから
迷ってしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- JavaScript JSON について 1 2022/06/09 18:17
- その他(パソコン・スマホ・電化製品) ワードでテキストボックス内の文字を連動させない方法 2 2023/02/09 16:56
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- ネットワーク OSI参照モデルの各層の役割がわかりません。 3 2023/04/21 21:12
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- その他(プログラミング・Web制作) PHPの$_SERVER["REQUEST_URL"]の0文字目は必ず"/"になることになってるの? 1 2023/07/07 17:42
- その他(パソコン・スマホ・電化製品) 人間の長期記憶に関するモデルについて。 下記の内容をもとに、一番下の質問の具体例が思いつく方いたら具 1 2023/06/30 18:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MACアドレスが知られた場合の危...
-
tcp/ip通信で特定のデータが送...
-
通信用語 FR・CR接続って...
-
MTUとRWINの調整
-
TTL
-
ICMP Echo Message はtcp,udp...
-
ネットワーク基礎で 全二重通...
-
FWの設定について(片方向のル...
-
NAT配下のDNSどうやって外から...
-
異常なパケット数…「ローカルエ...
-
ネット回線の上がりと上りの通...
-
携帯電話のパケット(128バイト...
-
受信パケットと送信パケットの...
-
TCPとUDP
-
HUBの種類、動作原理について
-
ネットワークアドレスの異なるP...
-
インターネット回線を分岐させ...
-
ホスト辞めたらどうなるんです...
-
「OS/DB/DC」の「DC」って何?
-
ホストとホステスの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MACアドレスが知られた場合の危...
-
tcp/ip通信で特定のデータが送...
-
デフォルトルート(ゲートウェ...
-
FWの設定について(片方向のル...
-
通信用語 FR・CR接続って...
-
NAT配下のDNSどうやって外から...
-
ブロードキャスト転送できるか...
-
sftpとインターネットVPN
-
UDPパケットの分割について
-
MACアドレスの情報はどこに保存...
-
ICMP Echo Message はtcp,udp...
-
TTL
-
Redhat Linux7.1でrcpコマンド...
-
NATとリバースプロキシについて
-
NTTサービス『131』って何ですか?
-
PONシステムのTDMAとTDMの違い...
-
ARPに失敗したときの動作
-
PADについての質問です。
-
ネットワーク基礎で 全二重通...
-
IP Messengerについて
おすすめ情報
HP製作やJavaやCでのプログラミング経験もあるのでソースのヘッダ情報とレイヤモデルのヘッダを混同はしていません。区別しています。
手持ちの教材や専門サイトに公然とアプリケーション層にヘッダが付加されると書いてあり、
ネットワークの学習を進めている上で、これは誤りではないのかと感じてきました。
ですが、上述の通りある派と無い派が半々いること、
また自分もその根拠に辿りついていないことから相談いたしました。
宜しくお願いします。