第一节 计算机网络应用体系结构
三种类型
:
1. 客户/服务器(c/s)结构
最主要的特征是通信只在客户与服务器之间进行,客户与客户之间不进行直接通信。
2. P2P(Peer to Peer) 结构
每个对等端
都同时具备C/S应用的客户与服务器的特征,是一个服务器与客户的结合体,对等端之间直接通信。
3. 混合结构
既有中心服务器的存在,又有对等端(客户)间的直接通信。
第二节 网络应用通信基本原理
C/S通信基本原理:
服务器端运行的是服务器进程
,被动地等待客户请求服务;客户端运行的是客户进程
,主动发起通信,请求服务器进程提供服务。应用进程间遵循应用层协议
交换应用层报文
第三节 域名系统(DNS)
层次树状结构
的命名方法:
1. 国家顶级域名nTLD; ---- cn
2. 通用定义域名gTLD; ----- com net org edu gov
3. 基础结构域名。
*优点
:便于分布式查询,存储和管理
二、 域名服务器:
1. 域名解析
将域名映射为IP地址的过程。
2. 域名服务器
为了实现域名解析,需要建立分布式数据库
,存储网络中域名与IP地址的映射关系数,这些数据库存储再域名服务器上,域名服务器根据用户的请求提供域名解析服务。
分布式数据库: 是指多台域名服务器, 并且服务器之间相互合作
3. 域名服务器分类:
- 根域名服务器: 全球总共13台根域服务器
大多数根域服务器都是由独立的多台物理服务器构成的服务器集群,有的根域服务器则是由分布在不同地理位置
的多台镜像服务器组成的.
-
顶级域名服务器
-
权限域名服务器
-
本地域名服务器
三 域名解析过程
1. 递归查询:
代替查询主机或其他域名服务器,进行进一步的域名查询,并将最终解析结果发送给查询主机或服务器.
缺点
: 若数据量大,解析过程会过长,根域服务器压力大
2. 迭代查询
只是将下一步要查询的服务器告知查询主机(客户端)或服务器.
优点
: 根域服务器压力减少
第四节 万维网应用
Web服务器
浏览器
超文本传输协议(HTTP)
二、HTTP
概念:超文本传输协议,定义浏览器如何向Web服务器发送请求以及Web服务器如何向浏览器进行响应
版本L:HTTP/1.0和HTTP/1.1
HTTP连接:非持久连接、持久连接
非持久连接:
串行方式请求每个对象都要新建立TCP连接
缺点:耗时
并行连接:
并行方式请求每个对象每个建立一个TCP
连接
非流水方式持久连接:
流水方式持久连接:
两者都是建立一个TCP连接,传入多个对象
HTTP报文:
请求报文 -------- 从客户向服务器发送请求报文。
响应报文 --------- 从服务器到客户的回答。
HTTP请求报文: HTTP典型的请求方式有GET\HEAD\POST\OPTION\PUT等。
-
GET:请求读取URL所标识的信息
-
HEAD:请求读取由URL所标识的信息首部,无须在响应报文中包含对象。
-
POST:给服务器添加信息
-
OPTION:给服务器添加一些选项的信息
-
PUT:在指明的URL下存储一个文档
HTTP响应报文:
HTTP状态码分类:
三、Cookie:
Cookie中文名称为小文件文本文件,指某些网站为了辨别用户身份、进行会话跟踪而存储在用户本地终端上的数据。
弥补了HTTP协议无状态性的不足,有利于进行用户跟踪并提供针对性的服务,但也带来一些安全问题。
第五节 Internet电子邮件
一、电子邮件系统结构
电子邮件系统主要包括邮件服务器、简单邮件传输协议(STMP)、用户代理和邮件读取协议等。
二、SMTP:
SMTP是internet电子邮件中核心应用层协议,实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输。SMTP使用传输层TCP实现可靠数据传输,端口号25
. SMTP通过3个阶段的应用层交互完成邮件的传输,分别是握手阶段
、邮件传输阶段
和关闭阶段
SMTP的基本交互方式是SMTP客户端发送命令,命令后面可能携带参数,SMTP服务器对命令进行应答。
三、电子邮件格式与MIME
-
电子邮件包括首部、空白行、主体三部分。
To、Subject、Cc、From、Date、Replay-To等关键词。
-
MIME(多用途互联网邮件扩展)
将非7为ASCII码文本内容转化为7为ASCII码文本内容,然后在利用SMTP进行传输
在邮件首部增加MIME首部行,说明主题内容原本的数据类型以及采用的编码标准等
四、邮件读取协议
-
第三版邮局协议(pop3)
客户端把邮件下载下来,对邮件进行操作
是本地进行的
不需要网络
-
互联网邮件访问协议(IMAP)
通过互联网来操作邮件
需要网络
-
HTTP
不需要依赖邮件客户端软件,只需要浏览器即可
第六节 FTP
文件传送协议(FTP):在互联网的两个主句间实现文件互传的应用层协议
C/S模式。采用控制连接(21端口
)传输控制命令,数据连接(20端口
)传输文件内容。
第七节 P2P应用
一、P2P应用的优势:
充分聚集利用了端系统(对等方主机)的计算能力以及网络传入带宽,对服务器的依赖性小。
适合大用户量的,大数据量的系统
第八节 Socket编程基础
Socket接口模型:
网络应用进程通信时需要通过API接口请求底层协议的服务。可以创建数据报类型套接字SOCK_DGRAM
、流式套接字SOCK_STREAM
和原始套接字SOCK_RAW
。
UDP:不可靠,高速的 SOCK_DGRAM
TCP:可靠的,效率高的,稳定的 SOCK_STREAM
SOCK_RAW:直接调用网络层服务,不在依赖传输层的服务
基于TCP的Socket编程
客户端不创建特定端口,通过socket来创建临时接口