应用层协议封装到传输层协议中是什么意思?

应用层协议封装到传输层协议中是什么意思?

我正在阅读这篇维基百科文章:

http://en.wikipedia.org/wiki/TCP/IP_model#Application_layer

它讨论了 TCP 和 UDP 是如何作为传输层协议的,它们分别旨在通过面向连接或无连接措施将一台主机连接到另一台主机。它提到 IP 是一种互联网层协议,它通过使用网关将数据包传输到适当的链路层,从一台主机到达另一台主机。链路层是用于在本地网络内互连主机的物理网络组件。

内容如下:

“根据应用层协议编码的数据随后被封装到一个或多个传输层协议(例如 TCP 或 UDP)中,而传输层协议又使用较低层协议来实现实际的数据传输。”

FTP被封装到TCP里是什么意思呢?

答案1

FTP被封装到TCP里是什么意思呢?

我认为有帮助的一个类比是将 TCP/IP 的 4 层与运输网络进行比较:

  • 应用层-货物(应用指令/数据)
  • 传输层-城市(可靠性、拓扑隐藏)
  • 互联网层-汽车(寻址、数据包交换、路由)
  • 链路层-道路(物理连接)

以下是一个示例:

  • 应用层 - “嗨,马克 - 听着,我需要这封信(应用程序数据) 已发送给我的朋友 Alicia。您能帮我发送吗?”
  • 传输层 - “嗨,乔,你能把这个箱子寄到芝加哥吗?那是艾丽西亚所在的地方(拓扑隐藏)。我知道你知道去芝加哥的路,谢谢!这是盒子里的东西(纠错)。如果没有成功,请告诉我,我会发一份副本(流量控制)”
  • 互联网层 - 好的,我现在在 35th west 和 Lexington Ave. 我该如何到达 King St 和 9th east (寻址)?让我们在我新买的 Android 上打开 Google 地图。好的,最短/最不繁忙的路线就是这条(翻译为:路由器跳数/带宽)...我们走吧!(路由
  • 链接层 - 我现在在十字路口。我唯一能看到的是下一个红绿灯。让我们到达那里,不要撞到任何人或任何东西。(纠错- 如果您确实被另一辆车撞了,而且只是轻微损坏,您可能会在这片街道上找一个机械师来修理您的车,您仍然可以继续送包裹)

这是一个有点粗略的类比,但希望它能有所帮助。回到你最初的问题:

FTP被封装到TCP里是什么意思呢?

FTP 允许您传输文件。例如,您可以连接到具有地址的服务器192.168.1.50(如何到达该服务器由 IP 处理,而您实际上是否可靠地到达该服务器由 TCP 处理)。因此您可以说:

ftp> get file.txt

file.txt这将从远程 FTP 服务器获取名为的文件。get file.txt这是带有数据的 FTP 命令。这是上述运输类比中的货物。FTP 客户端希望服务器获取此文件并执行某些操作。file.txt服务器发回的文件(即的内容)也是货物,只是方向相反。

应用层 (FTP) 并不关心货物如何到达那里。这是下一层即 TCP 的工作。因此,会发生以下情况:

  • FTP(应用层)告诉 TCP:“嘿 TCP,这是一封信(get file.txt)。请确保这封信到达我的目的地”
  • TCP(传输层)会将其放入一个更大的盒子中,并在上面盖上一些附加数据,例如“内容:一个字母”。那个更大的盒子就是封装。TCP 需要更多信息才能执行其工作(流量控制、错误更正等)。当另一端收到它时,另一端的 TCP 层可以说“好的,我希望这个盒子包含一个字母”,然后搜索盒子。如果找到一个字母,那就没问题(错误更正)。如果没有,那么这个盒子可能是发给别人的,所以让我看看该怎么做……
  • 然后 TCP 将其发送到(链路层)IP(“嘿 IP,请将此盒子发送到192.168.1.1”),等等。

希望这可以帮助。

答案2

是的。您可以在任何 IP 数据包构建的数据包图中直观地看到这一点。该有效载荷可以是任何东西,在 IP 层完全没有意义;这取决于更高级别的协议。

这样做的结果是,应用层协议可以在许多不同的传输协议上运行。至少在理论上是这样。在过去,你确实可以让 FTP 等协议在 IP 和 Novell 的异戊二烯,这是另一种已不再使用的面向连接的传输层协议。不过现在它几乎一直都是 IP。

相关内容