TCPコネクションは毎回行われるのではない?
広告
八王子さん
(No.1)
この問題なのですが、プロキシ→サーバ間はTCPコネクションが行われないのでょうか。
機器同士が通信を行う際は、トランスポート層はTCPとUDPの2種類しかない以上、必ずそのどちらか、あるいはICMP通信が行われるものだと思っていました。
UDPは名前解決とかバイト数が少なくていいものor速さが求められる通信、ICMPは論外とするとほぼ毎回TCPが確立されるのだと思っていたのですが…
https://www.ap-siken.com/s/kakomon/17_haru/q51.html
機器同士が通信を行う際は、トランスポート層はTCPとUDPの2種類しかない以上、必ずそのどちらか、あるいはICMP通信が行われるものだと思っていました。
UDPは名前解決とかバイト数が少なくていいものor速さが求められる通信、ICMPは論外とするとほぼ毎回TCPが確立されるのだと思っていたのですが…
https://www.ap-siken.com/s/kakomon/17_haru/q51.html
2023.08.11 16:17
GinSanaさん
★AP プラチナマイスター
(No.2)
プロキシサーバとWebサーバ間でもTCPコネクション張るから、2つ張りますって解説でも書いてますよね。
2023.08.11 19:15
八王子さん
(No.3)
すみません!疑問に思っているのはプロキシ→サーバではなく、プロキシ→ルータ間です。失礼しました。
プロキシからwebサーバへの通信を行う途中でルータも通過するのですからプロキシ→ルータ間でもTCP通信を行う以上、ここでもTCPコネクションが確立されるのではないでしょうか?
プロキシからwebサーバへの通信を行う途中でルータも通過するのですからプロキシ→ルータ間でもTCP通信を行う以上、ここでもTCPコネクションが確立されるのではないでしょうか?
2023.08.11 20:10
GinSanaさん
★AP プラチナマイスター
(No.4)
TCPコネクションは、ホスト同士で確立するので、間に存在するL3機器(今回で言えばルータ)は基本的に関与しない、つまりTCPコネクションを確立しない と考えてください
2023.08.11 21:06
atsusugiさん
(No.5)
基本的にTCP/UDPヘッダは「届いたパケットを相手の/自分のどのアプリケーションに渡せばよいか」を示すことが最大の目的です。その疎通を事前に行い、かつ信頼性を高める(例えば、データに抜け落ちが無いことや確実に届いたことを確認できる状態にする)ために、送信元と宛先間で所定のやり取りをします(ハンドシェイク)。このハンドシェイク後の、送信元と宛先がお互いを認識(記憶)し合っている状態を、コネクションが張られていると表現します。
ルーターやL2/L3スイッチはあくまでMACアドレスやIPアドレスに基づき通信を中継するためのものです。自身のアプリケーションでデータの中身を見ることもありませんし、誰から来たパケットなのかも意識しません。したがってハンドシェイクを行う必要がなく、コネクションが張られているとも言いません。
少し長くなってしまいましたが、少しでも理解の一助となれば幸いです。、
ルーターやL2/L3スイッチはあくまでMACアドレスやIPアドレスに基づき通信を中継するためのものです。自身のアプリケーションでデータの中身を見ることもありませんし、誰から来たパケットなのかも意識しません。したがってハンドシェイクを行う必要がなく、コネクションが張られているとも言いません。
少し長くなってしまいましたが、少しでも理解の一助となれば幸いです。、
2023.08.11 22:11
八王子さん
(No.6)
つまり、間にあるL3SWなどは、ホストからの通信をトランスポート層でのTCP通信を用いて中継はいるが、3wayハンドシェイク(TCPコネクション)は行っていないという事ですかね?
3wayハンドシェイクはホスト同士以外の機器ともいちいち行っているものと思っていました。ありがとうございます。
3wayハンドシェイクはホスト同士以外の機器ともいちいち行っているものと思っていました。ありがとうございます。
2023.08.11 23:50
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告