计算机网络应用体系结构
三种类型:
- 客户/服务器结构(C/S):最主要的特征是通信只在客户与服务器之间进行,客户与客户之间不进行直接通信。
- P2P结构(Peer to Peer):每个对等端都同时具备C.S应用的客户与服务器的特征,是一个服务器与客户的结合体,对等端之间直接通信。
- 混合结构:既有中心服务器的存在,又有对等端(客户)减的直接通信。
网络应用通信基本原理:
C/S通信基本原理:服务器端运行的是服务器进程,被动地等待客户请求服务;客户端运行的是客户进程,主动发起通信,请求服务器进程提供服务。应用进程间遵循应用层协议交换应用层报文。
应用层的作用
通过位于不同主机中的多个应用进程之间的通信和协同工作来完成。应用层的内容就是具体定义通信规则。
应用层中常见的协议
- 域名系统DNS:
- 域名结构:每一个域名用标号隔开。如www.baidu.com。三级域名.二级域名.顶级域名。
- 层次化域名空间:国家顶级域名nTLD;通用顶级域名gTLD;基础结构域名。
- 域名服务器:
- 实现域名解析:将域名映射为IP地址的过程。
- 为了实现域名解析,建立分布式数据库,存储网络中域名与IP地址的映射关系数据,这些数据库存储在域名服务器上,域名服务器根据用户的请求提供域名解析服务。
- 分类:根域名服务器、顶级域名服务器、权威域名服务器、本地域名服务器。
- 域名解析过程:
- 递归查询
- 迭代查询
- 电子邮件系统:
- 结构:邮件服务器、简单邮件传输协议(SMTP)、用户代理、邮件读取协议等。
- SMTP:使用传输层TCP实现可靠传输,端口号25。通过三个阶段完成应用层交互完成邮件的传输,分别是握手阶段、邮件传输阶段、关闭阶段。
- 电子邮件格式:首部、空白行、主体。有To、Subject、Cc、From、Date、Reply-To等关键字。
- MIME:多用途互联网邮件扩展。将非7位ASCⅡ码文本内容转换为7位ASCⅡ码文本内容,再利用SMTP进行传输。在邮件首部增加MIME首部行,说明主体内容原本的数据类型以及才有的编码标准等。
- 邮件读取协议:POP3(第三版的邮局协议,Post Office Protocol-Version 3),IMAP(互联网邮件访问协议,Internet Mail Access Protocol),HTTP。
- 文件传输协议FTP:
- 使用TCP连接,传输数据。
- C/S模式,采用控制连接(21端口)传输控制命令,数据连接(20端口)传输文件内容。
- 远程终端协议TELNET:
- 使用TCP连接,远程登录到远地的另一台主机上。
- 端口号是23。
- 万维网和HTTP协议:
- 超文本传输协议,是一个简单的请求——响应协议。
- 端口号是80。
- 电子邮件协议:
- SMTP电子邮件传输协议,端口号25。
- POP3邮局协议版本3,端口号110。
- DHCP动态主机配置协议:
- 指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
- 端口号是68。
万维网应用
- 万维网应用结构:Web服务器、浏览器、超文本传输协议HTTP。
- HTTP:超文本传输协议,定义浏览器如何向Web服务器发送请求以及Web服务器如何向浏览器进行响应。
- 版本:HTTP/1.0和HTTP/1.1。
- HTTP连接:非持久连接和持久连接。
- HTTP报文:
- 请求报文(客户向服务器发送请求报文):GET、HEAD、POST、OPTION、PUT(存储文档)等。
- 响应报文(从服务器到客户的回答)。
- Cookie:小型文本文件。弥补了HTTP协议无状态性的不足,有利于进行用户跟踪并提供针对性的服务,但也带来一些安全问题。服务器端生成。
- P2P应用:充分聚集利用了端系统(对等方主机)的计算能力以及网络传输带宽,对服务器依赖很小。
- Socket接口模型:网络应用进程通信时需要通过API接口请求底层协议的服务。可以创建数据报类型套接字SOCK_DGRAM、流式套接字SOCK_STREAM、原始套接字SOCK_RAW。