Application Layer——应用层
-
应用层
-
应用层解决位于不同主机中多个应用进程之间的通信和协调工作
-
域名系统 DNS,是一个联机分布式数据库系统,采用C/S结构,主要使用UDP(域名解析),偶尔使用TCP(区域传输),由许多分布在互联网上的域名服务器共同完成,把互联网上的主机名(域名)解析为IP地址,大多数在本地解析(此本地是一个相对概念,更靠近用户的那级服务器就叫做本地DNS服务器),前身为ARPANET使用叫做hosts的文件
-
域名由标号序列组成,各标号用点隔开,例:mail.cctv.com,从左到右依次为三级域名.二级域名.顶级域名
-
顶级域名分为三大类
-
nTLD 国家顶级域名,如:cn表示中国,us表示美国
-
gTLD 通用顶级域名,最先确定了7个:com(公司企业)、net(网络服务机构)、org(非营利性组织)、int(国际组织)、edu(美国专用的教育机构)、gov(美国的政府部门)、mil(美国的军事部门),后续增加了13个:aero、asia、biz、cat、coop、info、jobs、mobi、museum、name、pro、tel、travel
-
基础结构域名(反向域名),只有1个:arpa,用于反向域名解析
-
-
二级域名在我国分为两大类
-
类别域名,7个:ac(科研机构)、com(工、商、金融等企业)、edu(中国的教育机构)、gov(中国的政府机构)、mil(中国的国防机构)、net(网络服务机构)、org(非营利性组织)
-
行政区域名,34个,例如:bj表示北京市、js表示江苏省
-
-
域名服务器有四种类型
-
根域名服务器,知道所有顶级域名服务器的域名和IP,全球有13个(不代表是13台机器组成),a.root-servers.net到m.root-servers.net,不把待查询的域名直接转换成IP地址,而是告诉本地域名服务器应该找哪一个顶级域名服务器进行查询
-
顶级域名服务器(TLD服务器),负责管理该顶级域名服务器**册的所有二级域名,收到DNS查询请求时,可能给出最后结果也可能给出下一步应该找的域名服务器的IP地址
-
权限域名服务器,负责一个区的域名服务器(区小于等于域)
-
本地域名服务器(默认域名服务器),距离用户较近
-
主机向本地域名服务器一般采用递归查询,本地域名服务器向根域名服务器一般采用迭代查询,但也可采用递归查询
-
-
域名服务器广泛使用了高速缓存来存放最近查询过的域名以及从何处获得域名映射信息的记录
-
-
FTP 文件传输协议,采用C/S结构,基于TCP,提供交互式访问,允许文件具有存取权限,存取一个文件需要先获得一个本地的文件副本,可同时为多个客户进程服务,文件传输时需要建立两个并行的TCP连接:控制连接和数据连接
-
TFTP 简单文件传输协议,采用C/S结构,基于UDP,只支持文件传输不支持交互,不能对用户身份鉴别,代码所占内存较小
-
NFS 网络文件系统,采用C/S结构,提供联机访问,对共享文件的透明存取
-
TELNET 远程终端协议(终端仿真协议),采用C/S结构,通过TCP连接登录到远地的一台计算机上,目前已较少使用
-
NVT 网络虚拟终端,统一不同主机不同终端的差异,将命令转换为NVT格式,相当于桥梁
-
-
WWW 万维网(英文简称Web),采用C/S结构,是一个分布式超媒体(包含其他形式的信息)系统,是超文本(包含指向其他文档的连接的文本)系统的扩充,可以非常方便的从互联网上的一个站点链接到另一个站点,使用URL来标志互联网上的文档
-
URL 统一资源定位符,一般形式为<协议>://<主机>:<端口>/<路径>,最常用的协议是HTTP,其次是FTP,协议和主机部分不区分大小写
-
构建Web内容的技术,详情见HTTP笔记和HTML笔记
-
代理服务器(万维网高速缓存),代理用户去取得网络信息,可以把最近的一些请求和响应暂存在本地磁盘,下次访问时直接返回暂存的响应
-
接受用户的HTTP请求时,代理服务器作为服务器
-
向互联网上的源点服务器发送请求时,代理服务器作为客户
-
-
万维网的搜索工具叫做搜索引擎,分为四种类型
-
全文检索搜索引擎,通过爬虫程序到互联网上的各网站收集信息后按照一定规则建立一个在线索引数据库供用户查询(非实时检索),例如:百度,Google(Google采用了PageRank网页排名算法)
-
分类目录搜索引擎,不采集网站任何信息,各网站向搜索引擎提交其网站的关键词和描述后,经人工审核编辑后,输入到分类目录的数据库中供用户查询,例如:新浪,网易,搜狐
-
垂直搜索引擎,针对某一特定领域、人群、需求提供搜索服务
-
元搜索引擎,把用户提交的检索请求发送到多个独立的搜索引擎上搜索,将结果统一处理后返回,是搜索引擎之上的搜索引擎
-
-
网络交流方式
-
e-mail 电子邮件
-
电子邮件过程
-
User Agent 用户代理,是代表使用者行为的软件代理程序所提供的对自己的一个标识符,在这里是电子邮件客户端软件
-
SMTP 简单邮件传输协议,采用C/S结构,是基于push的协议,用于用户代理向邮件服务器发送邮件或邮件服务器之间发送邮件,缺点:不能传送可执行文件或其他二进制对象,只能传送7位ASCII文本,服务器会拒绝超过一定长度的邮件
-
MIME 通用互联网邮件扩充,定义了许多邮件内容格式(多媒体)和传送编码,并未取代SMTP,与SMTP关系如下:
-
常用的三种邮件内容传送编码
-
7位ASCII编码,每行不超过1000个字符,MIME对这种由ASCII码构成的邮件主体不进行任何转换
-
quoted-printable编码,除了等号外,对所有可打印的ASCII码不改变,其余的将每个字节的二进制代码用两个十六进制数字表示并在前面加上一个等号
-
base64编码,可对任意的二进制文件使用,把二进制代码划分为一个个24位长的单元并分为4个6位组,每个组转换成对应的base64编码值(0到63依次为A~Z,a~z,0~9,+,/),再用=或==表示最后一个单元只有8位或16位
-
-
邮件读取协议
-
POP3 邮局协议第3个版本,采用C/S结构,是基于pull的协议
-
IMAP 网际报文存取协议,采用C/S结构,是基于pull的协议
-
-
基于万维网的电子邮件,在浏览器和互联网上的邮件服务器之间传送邮件使用HTTP协议,邮件服务器之间发送邮件仍然使用SMTP协议
-
-
BBS 电子公告牌(网络论坛)
-
IM 即时传信
-
blog 博客、microblog 微博
-
SNS 社交网站(例如Facebook,另外新浪微博、Twitter也是一种提供微博服务的社交网站,微信也属于社交网站)
-
-
DHCP 动态主机配置协议,采用C/S结构,基于UDP,提供即插即用联网机制,每一个网络内至少有一个DHCP中继代理(多网段用一个DHCP服务器的情况),DHCP客户(收到需要IP地址的主机,68端口)以广播形式发送的发现报文(目的地址全为1,即255.255.255.255)后,以单播方式将此报文转发给DHCP服务器(67端口),DHCP服务器回答的报文叫提供报文,分配的IP地址有租用期
-
SNMP 简单网络管理协议,采用C/S结构,基于UDP,网络管理员通过管理站运行的管理程序(SNMP客户程序,162端口)控制被管设备运行的代理程序(SNMP服务器,161端口),SNMP的网络管理由三部分组成:
-
SNMP本身,负责读取和改变各代理的对象名及其状态数值
-
SMI 管理信息结构,建立规则
-
被管对象的命名
-
被管对象的数据类型
-
编码方法
-
-
MIB 管理信息库,对变量进行说明
-
-
当互联网标准化的应用协议无法满足特定应用需要的互联网支持时
-
大多数系统使用系统调用机制在应用程序和操作系统之间传递控制权(系统调用类似程序设计中的函数调用)
-
API 应用编程接口(系统调用接口),API就是应用程序和操作系统之间的接口,实现应用进程的控制权和操作系统的控制权进行转换
-
套接字,是应用程序和运输层协议之间的接口,实现应用进程获得网络通信服务而与操作系统进行交互时使用的一种机制(现在TCP/IP协议软件已留驻在操作系统中,目前有几种可供应用程序使用TCP/IP的API)
-
最著名的就是加利福尼亚大学伯克利分校为Unix系统定义的socket API(又称为套接字接口)
-
微软在其操作系统里定义了Windows Socket
-
名词socket的多种意思
-
运输层中端口号拼接到IP地址
-
运输层和应用层间的一种接口,称为socket API,简称socket
-
socket API中使用的一个函数名socket
-
调用socket函数的端点称为socket,例如:创建一个数据报socket
-
调用socket函数时,返回值称为socket描述符,简称socket
-
操作系统内核中联网协议的Berkeley实现,称为socket实现
-
-
-
并发方式工作的服务器实现
-
-
P2P应用,范围很广,例如:文件分发,实时音频/视频,数据库系统,网络服务支持(P2P打车软件,P2P理财)
-
P2P文件分发不需要集中式的媒体服务器,所有音频/视频文件都在普通的互联网用户之间传输
-
具有集中目录服务器的P2P,文件定位时客户向集中目录服务器查询文件位置在哪一个主机上(B/S方式),文件传输时客户从查询到的文件位置处下载(P2P方式),可靠性差,性能有瓶颈
-
具有全分布式结构的P2P,没有集中目录服务器,采用有限范围的泛洪查询,查询范围受限,影响文件定位准确性
-
具有分散定位和分散传输技术的P2P,每一台主机接收文件的同时,利用自己的上传能力向其他主机传送文件(BT)
-
-
在P2P应用中,广泛使用的索引和查找技术是分布式散列表DHT
-
-
各应用协议在层次中位置