将数据传送到正确的目的应用程序

最后,在目的终端设备接收帧。 当数据向上传递到目的设备中的协议栈时,对数据进行解封和重组。 数据将不断地向上层传递,从网络接入层到网络层,到传输层,直到最终到达应用层,然后对它进行处理。 但是,设备如何确保应用程序进程的正确?

如图所示,回想一下,在传输层,PDU 报头中包含的信息可以确定目的主机设备上运行的特定进程或服务,它们会作用于数据。 无论主机是 Internet 上的客户端还是服务器,都可以同时运行多个网络应用程序。 使用 PC 的人通常都在运行电子邮件客户端的同时运行 Web 浏览器、即时消息程序和若干流媒体,甚至可能还同时运行游戏。 这一切独立运行的程序都是典型的单独进程。

查看网页至少要调用一个网络进程。 单击超链接会导致 Web 浏览器与 Web 服务器通信。 与此同时,电子邮件客户端可能正在后台发送和接收电子邮件,而一位同事或朋友可能正在发送即时消息。

假设某台计算机只有一个网络接口。 在 PC 上运行的由应用程序所创建的所有数据流都通过这一个接口传入和传出,但是即时消息不会突然出现在字处理程序文档中,电子邮件也不会出现在游戏界面中。

这是因为在源主机和目的主机上运行的单独进程会彼此通信。 每种应用程序或服务在第 4 层都由一个端口号来代表。 设备之间的独有的对话则用代表两个正在通信的应用程序的一对第 4 层源端口号和目的端口号来标识。 主机收到数据时会检查端口号,从而确定哪个应用程序或进程是该数据的正确目的。