一.应用层协议原理
应用软件通常在网络边缘的端系统中运行,而不是在网络核心的交换机和路由器上运行,这种模式促进了大量应用的开发和部署。网络核心的交换机和路由器只专注于数据包(分组)的转发。
1.网络应用程序体系结构
应用程序都有一个体系结构。网络应用程序所使用的两种体系结构包括:客户机/服务器(C/S)体系结构或对等(P2P)体系结构。
在客户机/服务器体系结构中,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户机的主机请求。
一个典型的例子是Web 应用程序,当 Web 服务器接收到来自某客户机浏览器对某对象的请求时,它向该客户机发送所请求的对象作为响应。注意到客户机/服务器体系结构中,客户机相互之间不直接通信。服务器具有固定的、周知的地址,称为 IP 地址,并且总是处于打开状态。
在客户机/服务器体系结构中,常用主机群集之类的虚拟服务器对客户机提供服务。
在 P2P 体系结构中,对作为基础设施的服务器依赖很少。相反,主机与主机之间—称为对等方,直接相互通信,互相提供服务。
2.进程通信
运行在多个端系统上应用程序之间的互相通信,对于操作系统来说,实际上是进程之间的通信。进程可以被认为是程序的一次执行。同一台主机上的进程间通信的可以使用操作系统的进程间通信机制,例如共享内存、信号量等。但运行在不同端系统(可能具有不同的操作系统)上的进程间的通信,需要交换消息来实现相互通信。发送进