应用层
功能
对应用程序通信提供服务
网络应用模型
C/S(描述的是进程之间服务与被服务的关系)
客户是服务请求发,服务器是服务提供方
客户(client):
-
可能使用动态IP地址
-
使用服务器提供服务
-
间歇性接入网络
-
不与其他客户机直接通信
服务器(server):
-
永久性访问地址/域名
-
永久提供服务
P2P
- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可以请求服务
- 任意端系统/节点之间可以直接通信
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可扩展性好
- 网络健壮性好
DNS域名系统(Domain Name System)
DNS是互联网的命名系统,能够把互联网上的主机名字转换为IP地址
互联网采用层次树状结构命名方法,并使用分布式的域名系统DNS
任何一个连接在互联网上的主机或路由器,都有唯一一个层次结构的名字,即域名(domain name),每一个域名都由一个标号序列组成,而各标号之间用点隔开
例:mail.cctv.com.(根)
DNS规定:
-
域名中的标号都由英文字母和数字组成
-
每一个标号不超过63个字符
-
不区分大小写
-
标号中除连字符(-)外不能使用其他标点符号
-
级别最低的域名写在最左边,级别最高的域名写在最右边
-
由多个标号组成的完整域名总共不超过255个字符
顶级域名(由ICANN管理):
- 国家顶级域名nTLD:国家顶级域名下注册的二级域名均有该国家自行确定
- 通用顶级域名gTLD:
- 基础顶级域名(infrastructure domain)(反向域名):只有一个,即arpa,用于反向域名解析
我国的二级域名:
-
类别域名(7个):
-
ac:科研机构
-
com:企业
-
edu:教育机构
-
gov:政府机构
-
mil:国防机构
-
net:提供互联网络服务的机构
-
org:非营利性组织
-
-
行政区域名(共34个):适用于我国的各省,自治区,直辖市等
一旦某个单位拥有了一个域名,就可以自己决定是否要进一步划分其下属的子域,不必由其上级机构批准
域名只是个逻辑概念,并不代表计算机所在的物理地点,互联网的名字空间是按照机构的组织来划分的,与物理的网络无关,与IP地址中的子网也没有关系
DNS采用划分区的办法来解决域名服务器数量太多运行效率低的问题:
- 一个服务器所管辖的(或有权限的)范围叫做区(zone)
- 每一个区设置相应的权限域名服务器(authoritative name server)来保存该区中的所有主机域名到IP地址的映射
- DNS的管辖范围以区为单位(区是域的子集)
域名服务器:
- 根域名服务器(root name server):
- 最高层次的域名服务器,也是最重要的域名服务器
- 知道所有顶级域名服务器的域名和IP地址
- 只使用13(A~M)个不同IP地址的域名,实际上,互联网中是由13套装置构成这13组根域名服务器,每一套装置在很多地点安装根域名服务器(也可称为镜像根服务器),但都使用同一个域名
- 采用任播(anycast)技术,互联网上的路由器可以找到离这个DNS客户最近的一个根域名服务器
- 顶级域名服务器(TLD服务器):负责管理该顶级域名服务器下注册的所有二级域名
- 权限域名服务器:负责一个区的域名服务器
- 本地域名服务器(local name server)
采用主域名服务器(master name server)和辅助域名服务器(secondary name server)可以提供域名服务器的可靠性:
- 当主域名服务器出现故障时,辅助域名服务器可以保证DNS查询工作不会中断
- 主域名服务器定期把数据复制到辅助域名服务器中
- 更改数据只能在主域名服务器中进行
互联网的域名系统DNS被设计为一个联机分布式数据库系统,并采用C/S方式
域名—>IP地址的解析过程:
- 当某个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序(resolver),并成为DNS的一个客户
- 把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发送给本地域名服务器(使用UDP为了减小开销)
- 本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回,应用进程获得目的主机IP地址后即可进行通信
- 若本地域名服务器不能回答该请求,则次域名服务器就暂时成为DNS中另一个客户,并向其他域名服务器发送查询请求,直至找到能够回答该请求的域名服务器为止
- 主机向本地域名服务器查询一般采用递归(靠别人)查询
- 本地域名服务器向根域名服务器查询通常采用迭代(靠自己)查询
为了提高DNS查询效率,在域名服务器/主机中广泛使用了高速缓存(存放最近查询过的域名以及从何处获得域名映射信息的记录)
FTP文件传送协议(File Transfer Protocol)
- 是互联网上使用最广泛的文件传送协议
- 提供交互式的访问
- 屏蔽了OS的差异,适合在异构网络中任意计算机之间传送文件
- 基于TCP :FTP的控制信息是带外(out of band)传送的
- 控制连接:21号端口
- 数据连接(传输文件):20号端口(主动);>1024(被动)
- 复制整个文件,若要存取一个文件,就必须先获得一个本地的文件副本,若要修改,只能修改副本,再将副本传回原结点
- 使用C/S方式 :FTP服务器:(主进程与从进程是并发进行)
- 一个主进程:接受新的请求
- 若干从属进程:处理单个请求
TFTP简单文件传送协议(Trivial File Transfer Protocol)
- 采用C/S方式
- 基于DUP 69
- TFTP代码所占内存小
- 每次传送报文有512B,最后一次可不足
- 数据报文按序编号,从1开始
- 支持ASCII和二进制传输
- 可对文件读写
- 工作很像停止等待协议(发完后等对方确认,若收不到则重发)
TELNET远程终端协议/终端仿真协议
-
基于TCP
-
采用C/S方式
-
定义了NVT(Network Virtual Terminal)网络虚拟终端即数据和命令通过互联网的方式
NVT格式使用8位一个字节,所有可打印字符在NVT和ASCII码中一样
WWW万维网(World Wide Web)
-
万维网是一个大规模的联机式的信息储藏所
-
是一个分布式的超媒体(hypermedia)系统,是超文本(hypertext)系统的扩充
-
超文本(包含指向其他文档的链接的文本)是万维网的基础
-
采用C/S方式
-
www使用统一资源定位符URL(Uniform Resource Locator)来标志万维网上的各种文档:
-
URL实际上就是互联网上的资源的地址
-
统一资源定位符URL用来表示从互联网上得到的资源位置和访问这些资源的方法
-
一般形式:<协议>://<主机>:<端口>/<路径> (<端口>/<路径>有时可省略)
<协议><主机>部分不区分大小写,但<路径>有时候区分大小写
-
-
使用HTTP超文本传送协议(HyperText Transfer Protocol)来实现www上各种链接
-
定义了浏览器怎样向www服务器请求www文档以及服务器怎样把文档传送给浏览器
-
默认端口号是80
-
面向事务(transaction-oriented)的应用层协议
-
基于TCP
-
HTTP协议本身是无连接的,通信双方在交换HTTP报文之前不需要先建立HTTP连接
-
HTTP协议是无状态的,即第二次访问同一个服务器上的页面时,服务器的响应与第一次时的相同
可采用存储在用户主机中的文本文件——cookie来记录一段时间内某用户的访问记录
-
请求一个www文档所需的时间是该文档的传输时间+2RTT
-
面向文本的(text-oriented),报文中的每个字段都是一些ASCII码串,长度不确定
-
HTTP1.0——非持续性连接
-
HTTP1.1——持续连接(persistent connection):发送响应后仍然在一段时间内保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文
- 非流水线方式(without pipelining):收到前一个响应后才能发出下一个请求
- 流水线方式(with pipelining):收到响应报文之前就能够接着发送新的请求报文,客户访问所有对象只需花费一个RTT时间
-
HTTP的报文结构:
-
请求报文:客户向服务器发送请求报文
-
响应报文:从服务器到客户的回答
-
-
HTTP请求报文的一些方法
方法(操作) 意义 OPTION 请求一些选项的信息 GET 请求读取由URL所标志的信息 HEAD 请求读取由URL所标志的信息的首部 POST 给服务器添加信息 PUT 在指明的URL下存储一个文档 DELETE 删除指明的URL所标志的资源 TRACE 进行环回测试的请求报文 CONNECT 用于代理服务器
-
HTTP状态码
1XX 表示通知信息 2XX 表示成功 3XX 表示重定向 4XX 客户的差错 5XX 服务器的差错
-
-
-
HTML超文本标记语言(HyperText Markup Language)解决页面制作标准化问题,消除了不同计算机之间信息交流的障碍
-
www的信息检索系统:
-
全文检索搜索:用户查询时只要输入关键词,就从建立的索引数据库里进行查询
(谷歌是全球最大的全文检索搜索引擎)
-
分类目录搜索:更加准确
(雅虎是最著名的分类目录检索搜索引擎)
-
电子邮件
- 信封:最重要的就是收件人的地址:用户名@邮件服务器域名
- 内容:
- 首部
- 主体
电子邮件系统
- 用户代理UA(User Agent):用户与电子邮件系统的接口:
- 撰写
- 显示
- 处理
- 通信
- 邮件服务器:必须能同时充当客户和服务器
- 邮件发送协议和邮件读取协议
SNMP简单邮件传输协议(Simple Mail Transfer Protocol)
- 只能传送可打印的7位ASCII码邮件
- 不能传送其他非英语国家的文字
- 会拒绝超过一定长度的邮件
- 基于TCP
- 使用C/S
邮件读取协议
POP3邮局协议第三个版本:
-
基于TCP
-
使用C/S
-
只要用户从POP3服务器读取了邮件,POP3服务器就把该邮件删除
IMAP网际报文存取协议(Internet Message Access Protocol):
- 基于TCP
- 使用C/S
- 是一个联机协议,用户可以看见邮件的首部,若需要打开才传到用户计算机上,在未删除之前,IMAP服务器邮箱中的邮件一直保存(想要查阅自己邮件,必须先上网)
基于www的电子邮件
不管在什么地方,只要能够找到上网的计算机,在打开任何一种浏览器后,就可以非常方便的收发电子邮件
浏览器和互联网上的邮件服务器之间传送邮件时仍然使用HTTP协议,但在各邮件服务器之间传送邮件时 ,仍然使用SMTP协议
通用互联网邮件扩充MIME
使传输内容丰富多彩
DHCP动态主机配置协议(Dynamic Host Configuration Protocol)
-
即插即用
-
使用C/S
-
基于UDP
- 客户 UDP 68
- 服务器 UDP 67
-
以广播交互
-
允许地址重用
-
允许移动用户加入网络
-
允许在用地址续租
SNMP简单网络管理(Simple Network Management Protocol)协议
网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。
- 使用C/S
组成:
- SNMP本身
- SMI管理信息结构(Structure of Management Information)
- MIB管理信息库(Management Information Base)
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/288630.html