计算机网络——网络应用

一、计算机网络应用体系结构

  1. 三种类型
    • 客户/服务器(C/S)结构。
    • P2P(Peer to Peer)结构 ——点对点结构(对等端可以进行直接通信)。
    • 混合结构:既有中心服务器的存在,又有对等端(客户)间的直接通信。

二、网络应用通信基本原理

  1. C/S通信的基本原理:
    • 服务器端运行的是服务器进程,被动的等待客户请求服务。
    • 客户端运行的是客户进程,主动发起通信,请求服务器进程提供服务。
    • 应用进程间遵循应用层协议交换应用层报文。

三、域名系统(DNS)**

  1. 层次树状结构的命名方法

    • 国家顶级域名nTLD
    • 通用顶级域名gTLD
    • 基础结构域名
  2. 域名服务器

  • 域名解析
    • 将域名映射为IP地址的过程。
  • 域名服务器
    • 实现域名解析,需要建立分布式数据库,存储网络中域名和IP地址的对应关系。
  • 域名服务器分类
    • 根域名服务器
    • 顶级域名服务器
    • 权威域名服务器
    • 本地域名服务器
  1. 域名解析过程
  • 递归查询
    • 代替查询主机或其他域名服务器。
    • 进行进一步的域名查询。
    • 并将最终解析结果发送给查询主机或服务器。
  • 迭代查询
    • 只是将下一步要查询发服务器告知查询你主机或服务器。

四、万维网应用结构

  1. 万维网的结构包括:
  • Web服务器

  • 浏览器

  • 超文本传输协议(http)

    • 超文本传输协议,定义浏览器如何向Web服务器发送请求以及Web服务器如何向浏览器响应。
    • 版本:HTTP/1.0 和 HTTP/1.1
    • HTTP连接非持久连接,持久连接。
  • HTTP

    • 请求行:请求方法+URL+版本、首部行:值。

    • 请求方法:GET、HEAD、POST、OPTION、PUT等。

    • 状态行:版本+状态码+短语、首部行字段:值。

    • HTTP响应报状态码

      状态码 作用 描述
      1XX 信息提示 通告信息,可能还需要进一步交互
      2XX 成功 成功完成客户端请求的操作,并进行响应
      3XX 重定向 表示资源已移走,需要向新URL发送请求
      4XX 客户端错误 由于客户端请求错误,无法成功响应
      5XX 服务端错误 由于服务端错误,无法成功响应
    • 某些网站为了辨别用户身份、进行会话跟踪而存储在用户本地终端上的数据。

    • 弥补HTTP协议无状态的不足,有助于进行用户跟踪并提供针对性的服务。

五、电子邮件系统结构

  1. 电子邮件系统包括:邮件服务器、简单邮件传输协议(SMTP)、用户代理和邮件读取协议等。
  2. SMTP 协议
    • Internet电子邮件中核心应用层协议,实现邮件服务器之间用户代理到邮件服务器之间的邮件传输。
    • SMTP使用传输层TCP实现可靠数据传输,端口号25
    • SMTP通过三个阶段的应用层交互完成邮件传输,分别是:握手阶段邮件传输阶段关闭阶段
  3. 邮件读取协议
    • 第三版的邮件协议(Post Office Protocol-Version 3,POP3)
    • 互联网邮件访问协议 (Internet Mail Access Protocol, IMAP)
    • HTTP

六、文件传送协议(FTP)

  • FTP:在互联网的两个主机之间实现文件互传的应用层协议。
    • C/S模式,采用控制连接(21端口)传输控制命令,数据连接(20端口)传输文件内容。
    • 如图所示:
      C/S模式

七、P2P应用

  • P2P应用的优势
    • 充分聚集利用了端系统(对等方主机)的计算能力以及网络传输带宽。
    • 对服务器的依赖很小。
  • P2P示意图
    P2P示意图

八、socket编程基础

  1. 网络应用进程通信时需要通过API接口请求协议的服务,可以创建:
    • 数据报类型套接字SOCK_DGRAM
    • 流式套接字SOCK_STREAM
    • 原始套接字SOCK_RAW
      通过API接口请求协议的服务