1.应用层概述
应用层对应用程序的通信提供服务
1.1应用层协议定义
- 应用进程交换的报文类型,请求还是响应?
- 各种报文类型的语法,如报文中的各个字段及其详细描述。
- 字段的语义,即包含在字段中的信息的含义。
- 进程何时、如何发送报文,以及对报文进行响应的规则
1.2应用层的功能
- 文件传输、访问和管理
- 电子邮件
- 虚拟终端
- 查询服务和远程作业登录
1.3应用层的重要协议
- FTP
- SMTP、POP3
- HTTP
- DNS
2.网络应用模型
2.1 客户/服务器模型(Client/Server)

服务器:提供计算服务的设备
- 永久提供服务
- 永久性访问地址/域名
客户机:请求计算服务的主机
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态IP地址
- 不与其他客户机直接通信
应用:
- Web
- 文件传输FTP
- 远程登陆
- 电子邮件
2.2 P2P模型(Peer-to-peer)
在P2P模型中,各计算机没有固定的客户和服务器划分。相反,任意一一对计算机一称为对等方(Peer), 直接相互通信。
P2P 模型从本质上来看仍然使用客户/服务器方式,每个结点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问。
当前比较流行的P2P应用有PPlive、Bittorrent 和电驴等。

- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可以请求服务
- 任意端系统/结点之间可以直接通讯
- 节点间歇性接入网络
- 结点可能改变IP地址
- 可扩展性好
- 网络健壮性强
与C/S模型相比,P2P 模型的优点主要体现如下:
- 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,因此大大提高了系统效率和资源利用率(例如,播放流媒体时对服务器的压力过大,而通过P2P模型,可以利用大量的客户机来提供服务)。
- 多个客户机之间可以直接共享文档。
- 可扩展性好,传统服务器有响应和带宽的限制,因此只能接受- -定 数量的请求。
- 网络健壮性强,单个结点的失效不会影响其他部分的结点。
P2P模型也有缺点。在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存,影响整机速度。