2.1应用层协议原理
应用程序体系结构:两种主流结构:
客户机/服务器体系结构(client-server architecture)
P2P体系结构(P2P architecture)
进程通讯:
进程与计算机网络之间的接口:套接字(socket)
四个方面对应用程序服务要求进程分类:
可靠数据传输(reliable data transfer)
吞吐量。
定时
安全性
因特网提供的运输服务:
TCP服务:面向连接服务、可靠数据传输服务
UDP服务:轻量级传输层协议。无连接,不能保证被接收到,可以乱序到达,没有拥塞控制机制
不提供的服务:不能提供任何有关定时或带宽的保证
进程寻址:用IP地址标识主机,端口号用于标识进程
应用层协议(application-layer Protocol)定义了:
交换的报文类型,如请求报文和响应报文
报文类型的语法
字段的语义
进程何时发送报文以及响应的规则
Web应用和HTTP协议(HyperText Transfer Protocol)
2.2.2:非持久连接(non-persistent connection)和持久连接(persistent connection)
HTTP报文格式:
http请求报文
http响应报文
用户与服务器的交互:cookie
FTP(File Transfer Protocol):
因特网的目录服务
主机的识别方法是它的主机名hostname、IP地址
DNS提供的服务
需要一种能进行主机名到IP地址转换的目录服务,就是域名系统(Domain Name System)
DNS是:
(1)一个由分布的DNS服务器实现的分布式数据库
(2)一个允许主机查询分布式数据库的应用层协议
DNS运行在UDP上,使用53端口
提供一些重要的服务:
主机别名(host aliasing)
邮件服务器别名(mail server aliasing)
负载分配(load distribution)
DNS查询
利用了递归查询(recursive)和迭代查询(iterative query)
Type = A时,Value是主机名的IP地址
Type=NS时,Name是域,Value是知道如何获得该域中的IP地址的权威DNS服务器的主机名
Type = CNAME,Value是主机对应的规范主机名
Type = MX,Value是邮件服务器的规范主机名