应用层
应用层对应用程序的通信提供服务
应用层协议定义:
应用进程交换的报文类型,请求还是响应?
各种报文类型的语法,如报文中的各个字段及其详细描述,
字段的语义,即包含在字段中的信息的含义。
进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的功能:
- 文件传输、访问和管理
- 电子邮件
- 虚拟终端
- 查询服务和远程作业登录
DNS:将域名(网址)转换为 IP 地址
FTP:用于文件传输
HTTP:常用于浏览网页
SMTP、POP3:用于电子邮件(Email)
一、网络应用模型
客户/服务器模型
“服务器”本质上也是一台主机(可理解为性能强悍的电脑)
工作流程:
- 服务器处于接收请求的状态。
- 客户机发出服务请求,并等待接收结果,
- 服务器收到请求后,分析请求,进行必要的处理,得到结果并发送给客户机。
体会 C/S 模型特点:
- 网络中各计算机的地位不平等,服务器可通过对用户权限的限制来达到管理客户机的目的。整个网络的管理工作由少数服务器担当,因此网络的管理非常集中和方便。
- 客户机相互之间不直接通信。例如,在 Web 应用中两个浏览器并不直接通信
- 可扩展性不佳。受服务器硬件和网络带宽的限制,服务器支持的客户机数有限
服务器:提供计算服务的设备。
- 永久提供服务
- 永久性访问地址/域名
客户机:请求计算服务的主机。
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态IP 地址
- 不与其他客户机直接通信
应用:web,文件传输 FTP,远程登录,电子邮件
P2P(对等)模型
在 CS 模型中,服务器性能的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就必然成为系统的瓶颈。
P2P 模型的思想是整个网络中的传输内容不再被保存在中心服务器上,每个结点都同时具有下载、上传的功能,其权利和义务都是大体对等的。
在 P2P 模型中,各计算机没有固定的客户和服务器划分。相反,任意一对计算机——称为对等方(Peer),直接相互通信。实际上,P2P 模型从本质上来看仍然使用客户/服务器模型,每个结点既作为客户访问其他结点的资源,又作为服务器提供资源给其他结点访问。
体会 P2P 模型特点:
1)减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,因此大大提高了系统效率和资源利用率。
2)多个客户机之间可以直接共享文档。
3)可扩展性好,传统服务器有响应和带宽的限制,因此只能接受一定数量的请求。
4)网络健壮性强,单个结点的失效不会影响其他部分的结点。
P2P 模型缺点:
在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存影响整机速度。
- 经常进行 P2P 下载还会对硬盘造成较大的损伤
- 当前 P2P 程序已占互联网 50%~90%的流量,使网络变得非常拥塞
因此各大ISP(互联网服务提供商,如电信、网通等)通常都对 P2P 应用持反对态度。
二、域名系统DNS
域名系统是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名
转换为便于机器处理的IP 地址。
相对于 IP 地址人们更喜欢使用具有特定含义的字符串来标识因特网上的计算机。
值得注意的,DNS 系统采用客户/服务器模型,其协议运行在UDP 之上,使用53号端口。从概念上可将 DNS 分为三部分:层次域名空间、域名服务器 和 解析器