计算机网络原理(二):网络应用

时间:2023-02-13 20:30:55

网络应用

计算机网络应用体系结构

客户/服务器(c/s)结构网络应用

最典型、最基本的网络应用。
客户端发送请求,服务器响应请求。

纯P2P结构网络应用

端对端的应用,每个对等端同时扮演客户端和服务器的角色。

混合结构网络应用

以上两种结构的混合态。


网络应用通信基本原理

网络应用的本质是运行在不同的主机上(当然也可运行在同一主机上)的应用之间的通信。
进程之间通信并非是高层与高层之间直接通信,而是层层封装,最终形成比特流在物理链路上进行传输。到达目的端的相应层之后,再拆分开来,取出每一层对应的头部信息。
两个应用进程看起来就像在直接通信一样,其实并非如此,而是逻辑上可以这样抽象地看待,所以也称为逻辑通信。


域名系统

为服务器主机ip地址起的一个更容易读懂和记忆的别名。
域名解析就是将这个别名映射为真实的ip地址的过程,实现域名解析需要域名服务器。

层次化域名空间

树形结构

域名服务商

一个服务器所负责管辖的(或有权限的)范围叫做区。每个区设置相应的权威域名服务器,用来保存该区中所有的主机域名到ip地址的映射。
每台主机在进行网络配置时,都会配置一个域名服务器作为默认域名服务器,这个域名服务器被称为本地域名服务器。

根据域名解析过程中的作用和保存的域名信息,可以将域名服务器分为4类:

根域名服务器:最重要的域名服务器。全球13个,知道所有的*域名服务器的域名和ip地址,当本地域名服务器无法解析地址,首先请求根域名服务器。
*域名服务器:对应域名最后一个名字,对一个行业的命名,如com、org等,或对一个区域的命名,如cn、us等。
权威域名服务器:负责一个区的域名服务器,任何一个拥有域名的的主机,其域名和ip信息都保存在所在网络的权威域名服务器上。
中间域名服务器:不属于前三者。比如www.abc.xyz.com,则com是*域名服务器,中间域名服务器xyz.com,权威域名服务器abc.xyz.com。

域名解析过程

递归解析和迭代解析:
提供递归解析的域名服务器,会进行层层递归查询,将最终的结果返回给查询主机或服务器。
提供迭代解析的域名服务器,则会将下一步需要查询的域名服务器信息返回给查询主机和服务器。

通常本地域名服务器都提供递归查询服务。
根域名服务器通常只提供迭代查询服务。

为了缓解根域名服务器的压力,通常通过机制来达到:

  • 各域名服务器将每次的结果缓存起来,下次查询到相同的域名时候直接从本机取。
  • 本地域名服务器中存储*域名服务器的信息。


万维网应用

world wide web.
使用超文本传输协议(http)进行数据交互。

Http

概述

web应用的应用层协议,定义web服务器与客户端如何进行交互。

Http连接

http基于传输层的Tcp传输报文。在发送请求之前需要建立tcp连接。

  • 非持久连接
  • 并行连接
  • 持久连接
HTTP报文

由起始行、首部行、空白行、实体主题组成。
可分为请求报文和响应报文两类。

解决Http无状态的问题。
cookie技术包括下面4部分内容:

  1. 响应头的set-cookie字段。
  2. 客户端本地存储cookie文件。
  3. 再次请求时会发送存储的cookie头行。
  4. 服务器根据cookie的id维护用户数据。


Internet电子邮件

电子邮件系统结构

计算机网络原理(二):网络应用

邮件的发送与接收过程:

  1. 用户A首先利用用户代理撰写邮件,包括填写收件人邮箱地址等,然后基于SMTP将邮件发送到其注册的邮件服务器A的外出邮件队列中,等待邮件服务器发送;
  2. 邮件服务器A从队列中取出用户A的邮件,基于SMTP发送给邮件服务器B;
  3. 邮件服务器B将邮件存放到用户B的邮箱中;
  4. 在某个时刻,用户B利用用户代理连接邮件服务器B上运行的邮件读取服务,基于邮件读取协议(POP、IMAP),将其邮箱中的邮件传输到本地,或者对邮箱中的邮件进行阅读、移动等操作。

    用户代理指的是客户端软件

SMTP

电子邮件中核心应用层协议,实现邮件服务器之间或客户端到邮件服务器之间的邮件传输。
熟知端口号25。

电子邮件格式与MIME

MIME是SMTP的扩展,实现了将非7位ASCII码转换成7位ASCII码文本内容的标准,然后再利用SMTP进行传输。

邮件读取协议

POP3、IMAP、HTTP,其中HTTP被用作web mail系统的邮件读取协议。

  • POP3
    最简单的邮件读取协议。熟知端口110。明文传输。
    下载到客户端本地查看。
  • IMAP:
    对服务器远程操作。
  • HTTP
    客户端和邮件服务器之间的交互无论是发送还是接收邮件都是http协议。

FTP

文件传送协议。
使用两个并行的tcp连接,一个是控制连接(熟知端口21),一个是数据连接(熟知端口21)。

p2p应用

优势:每个对等端既是客户端(上传者)又是服务端(下载端),随着对等端的增加几乎不会影响网络性能,而相对的c/s结构的性能瓶颈在于服务器的带宽。

socket编程

socket套接字:应用层调用传输层的接口。

计算机网络原理(二):网络应用

计算机网络原理(二):网络应用