定义了运行在不同端系统上的应用程序进程间传递报文的格式和方式 用人话说就是这个应用系统要干什么

应用层是TCP/IP四层的最高层,是用户应用程序与网络的接口。应用进程通过应用层协议为用户提供最终服务。所谓应用进程是指在为用户解决某一类应用问题时在网络环境中相互通信的进程。应用层协议是规定应用进程在通信时所遵循的协议。

主要功能

应用层确定进程之间通信的性质以满足用户的需要。应用层不仅要提供应用进程所需要的信息交换和远地操作,而且还要作为互相作用的应用进程的用户代理(user agent),来完成一些为进行语义上有意义的信息交换所必须的功能。

网络应用程序的研发要点:

写出能够分别在不同端系统运行,并通过网络相互通信的程序.应用程序软件只在端系统运行,不需在网络核心设备上运行

网络应用程序的体系结构

客户机/服务器结构(Client-Server, C/S)

服务器:

  • 7*24小时提供服务
  • 永久性访问地址/域名
  • 利用大量服务器实现可扩展性

客户机:

  • 与服务器通信,使用服务器提供的服务
  • 间歇性接入网络
  • 可能使用动态IP地址
  • 不会与其他客户机直接通信

    点对点结构(Peer-to-peer, P2P)

  • 没有永远在线的服务器

  • 任意端系统/节点之间可以直接通讯
  • 节点间歇性接入网络
  • 节点可能改变IP地址
  • 优点:高度可伸缩 缺点:难于管理

    混合结构

文件传输使用P2P结构
文件的搜索采用C/S结构——集中式

进程如何通信、进程标识

进程

主机上运行的程序

进程如何通信

1.C/S模式 2.共享存储 3.管道通信 4.消息队列 5.消息交换

客户机进程: 发起通信的 进程
服务器进程: 等待通信请 求的进程

标识符

不同主机上的进程间通信,那么每个进程必须拥有标识符
进程的标识符 IP地址+端口号

网络应用对传输服务的需求

  • 数据丢失(data loss)/可靠性(reliability)
  • 时间(timing)/延迟(delay)
  • 安全性(security)