1 网络应用模型
1.1 概述
1.2 网络应用模型
1.2.1 客户/服务器模型(Client/Server)
1.2.2 P2P模型(Peer-to-Peer)
在P2P模型中,各计算机没有固定的客户和服务器划分。相反,任意一一对计算机一称为对等方(Peer)
, 直接相互通信。
2 域名系统DNS
DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据。
2.1 域名
因特网采用层次树状结构的命名方法
。采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名(Domain Name)
。
域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。
DNS 可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。大多数情况下 DNS 使用 UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性。在两种情况下会使用 TCP 进行传输:
- 如果返回的响应超过的 512 字节(UDP 最大只支持 512 字节的数据)。
- 区域传送(区域传送是主域名服务器向辅助域名服务器传送变化的那部分数据)。
2.2 域名服务器
因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型
。DNS服务器有很多台,根据层次结构分为三层,根域名服务器、顶级域名服务器、权限域名服务器。
2.3 域名解析过程
域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程。前者称为正向解析,后者称为反向解析。
- 当客户端需要域名解析时,通过本机的DNS客户端构造一个
DNS请求报文
,以UDP数据报
方式发往本地域名服务器
。 - 域名解析有两种方式:递归查询和递归与迭代相结合的查询。
3 文件传送协议FTP
文件传输协议( File Transfer Protocol, FTP)是因特网上使用得最广泛的文件传输协议。
- 提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
- 以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力。
- 以匿名FTP的方式提供
公用文件共享
的能力。
FTP 使用 TCP 进行连接,它需要两个并行连接来传送一个文件:
- 控制连接:服务器打开端口号 21 等待客户端的连接,客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答。
- 数据连接:用来传送一个文件数据,端口号为20。
根据数据连接是否是服务器端主动建立,FTP 有主动和被动两种模式:
-
主动模式:服务器端主动建立数据连接,其中服务器端的端口号为 20,客户端的端口号随机,但是必须大于 1024,因为 0~102