概述
应用层的任务是通过应用进程之间的交互来完成特定的网络应用
应用层协议定义的是应用进程间通信和交互的规则。
每一个应用层协议一般都会使用到两个传输层协议(TCP
和 UDP
)之一:
使用
TCP
协议的应用层协议:HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于浏览万维网上的超文本。
万维网 (英文 World Wide Web,亦作WWW、Web) 是一个透过互联网访问的,由互相链接的超文本组成的系统
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。
FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。
POP3(Post Office Protocol, version 3,邮局协议),下载邮件用。
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。
IMAP(Internet Message Access Protocol,因特网信息访问协议),用来访问远程服务器上的邮件
TELNET(Teletype over the Network,网络电传),通过一个终端(terminal)登陆到网络。
SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。
使用
UDP
协议的应用层协议:BOOTP(Boot Protocol,启动协议),应用于无盘设备。
NTP(Network Time Protocol,网络时间协议),用于网络同步。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
其他:
DNS(Domain Name System,域名系统),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。
SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。
ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。
DNS 域名系统
域名系统 DNS (Domain Name System
),互联网使用的命名系统,用来把主机名字转换为 IP 地址。
早期网络上只有数百台计算机,那时使用一个叫做 hosts
的文件列出所有主机名及其对应的 IP 地址。
互联网发展到如今,计算机规模庞大,更新频繁,使用 hosts
文件已不能满足使用,需要由专门的域名服务器来提供主机名和 IP 地址转换服务。
单个域名服务器无法承担负荷,并且容灾能力差,因此 DNS 被设计成一个联机分布式数据库系统,并采用客户服务器方式。DNS 使大多数名字都在本地解析,仅有少量解析需要在互联网上通信,因此 DNS 系统的效率很高。
域名结构
域名由 标号
序列组成,各标号之间用点 .
隔开,例如:mail.cctv.com
由三个标号组成,其中标号 mail
为三级域名,标号 cctv
为二级域名,标号 com
为顶级域名
顶级域名分类
国家顶级域名
如
cn
表示中国,us
表示美国,uk
表示英国等等。通用顶级域名
如
com
表示公司企业,net
表示网络服务机构,org
表示非营利性组织,int
表示国际组织,edu
表示教育机构,gov
表示政府部门等等。基础结构域名
这种顶级域名只有一个
arpa
,用于反向域名解析
域名服务器
互联网上的 DNS 域名服务器也是按照层次安排的,每一个域名服务器都只对域名体系中的一部分进行管辖。
根据域名服务器所起的作用,可以把域名服务器划分成以下四种不同的类型:
根域名服务器
根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。
不管是哪一个本地域名服务器,若要对互联网上的任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。假定所有的根域名服务器都瘫痪了,那么整个互联网中的 DNS 系统就无法工作。
全世界的互联网中,由 13 套装置构成了 13 组根域名服务器,每一套装置在很多地点镜像根域名服务器,但都是用同一个域名,因此 13 组根域名服务器只使用 13 个不同 IP 地址的域名。到 2016年 2 月,全世界已经在 588 个地点(数值还在不断增加)安装了根域名服务器
根域名服务器并不直接把待查询的域名转换成 IP 地址(根域名服务器也没有存放这种信息),而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询。
顶级域名服务器
顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的 IP 地址)
权限域名服务器
权限域名服务器负责一个区,当一个权限域名服务器还不能给出最后的查询时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器。
本地域名服务器
主机发出的 DNS 查询请求首先到达的就是本地域名服务器。
网络属性中的首选 DNS 服务器和备用 DNS 服务器的 IP 地址就是本地域名服务器的 IP 地址
每一个互联网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器。
域名解析的过程
本地服务器不管采用迭代查询还是递归查询,都需要 8 个 UDP 用户数据报的报文。
为了查询效率,并减轻根域名服务器的负荷和减少互联网上的 DNS 查询报文数量,在各级域名服务器中广泛使用高速缓存来存放最近查询的域名以及从何处获得域名映射信息的记录。
万维网 WWW
万维网 (英文 World Wide Web,亦作WWW、Web) 是一个透过互联网访问的,由互相链接的超文本组成的系统。
万维网以客户服务器方式工作,客户程序向服务器程序发出请求,服务器程序向客户程序返回客户所要的万维网文档。
URI、URN 和 URL 标识资源
统一资源名称(URN)表示资源的名称
统一资源定位符(URL)表示资源的位置
URN和URL是统一资源标识符(URI)的两种形式,都可以标识一个资源。
常见的指定 URI 的方式有:
完整的URL
相对首部字段 HOST的 URL
*
(用于对服务器本身发起请求,而不针对具体的资源,比如 OPTIONS 方法)
HTTP 超文本传送协议
HTTP 协议定义了浏览器(万维网客户端)怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把文档传送给浏览器。
代理服务器
代理服务器又称万维网高速缓存,把请求和响应暂存在本地磁盘中,当新请求满足条件时,返回暂存的响应,而不需要通过 URL 去互联网访问资源
代理服务器可在客户端或服务端工作,也可以在中间系统上工作
万维网的文档
HTML 超文本标记语言,是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍。
HTML 的宗旨是显示数据,还有一种可扩展标记语言(XML),宗旨是传输数据
邮件系统
POP3(Post Office Protocol, version 3,邮局协议),下载邮件用。
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。
IMAP(Internet Message Access Protocol,因特网信息访问协议),用来访问远程服务器上的邮件
FTP 文件传送协议
文件传送协议 FTP (File Transfer Protocol) 是互联网上使用最广泛的文件传送协议。
FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
FTP 屏蔽了各计算机系统的细节,适合于在异构网络中任意计算机之间传送文件
FTP 是基于 TCP 的,还有一种基于 UDP 的简单文件传送协议 TFTP。
TELNET 远程终端协议
TELNET 是一个简单的远程终端协议,又称为终端仿真协议。
TELNET 可以使用户在其所在地通过 TCP 连接注册(即登录)到远地的另一台主机上,将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。
- 启用 A 机(如Win2003)的telnet服务,并设置IP地址为 192.168.80.20
- 从 B 机上登录 A 机:telnet 192.168.80.20,然后输入用户名和密码后就直接进入到了 A 机的 cmd 命令提示符下。这时可以操作 A 机,如创建/删除文件、查看 A 机的 IP 地址(ipconfig /all)等。
远程终端协议与远程桌面协议(RDP)不是一回事