学习笔记之计算机网络(王道考研) 第六章 应用层

  • 在C/S模型中,服务器总是处于打开状态(除非某人把它关了)
  • 常见的使用C/S模型的英应用包括Web、文件传输(FTP)、远程登录和电子邮件等 
  • C/S模型的主要特点:
  1. 网络中各计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的
  2. 客户机相互之间不能通信
  3. 可扩展性不佳。受服务器硬件和网络带宽的限制,服务器支持的客户机数有限
  • P2P模型:整个网络中的传输内容不再被保存在中心服务器上,每个节点都同时具有下载、上传的功能,其权利和义务都是大体对等的
  • 在P2P模型中,各计算机没有固定的客户机和服务器的划分。任意一对计算机称为对等方,直接相互通信。
  • 实际上,P2P本质上仍然是使用C/S模式,每个节点既作为客户机去访问其他节点的资源,也作为服务器去提供资源给其他节点访问。
  • 当前比较流行的P2P应用有PPLive、Bittorrent、电驴等
  • 与C/S模型相比,P2P模型的优点主要体现在:
  1. 减轻了服务器的计算压力
  2. 多个客户机之间可直接共享文档
  3. 可扩展性好
  4. 网络健壮性强
  • P2P模型的缺点:在获取服务的同时,还要给其他节点提供服务,因此会占用较多的内存,影响整机运行速度
  • DNS系统采用C/S模型,其协议运行在UDP之上,使用53号端口
  • 级别最低的域名写在最左边,级别最高的顶级域名写在最右边。比如:www.cskaoyan.com,其中,顶级域名为com,二级域名为cskaoyan,三级域名为www
  • 顶级域名(Top Level Domain,TLD)包括以下三类:
  1. 国际顶级域名nTLD。如“cn”、“us”、“uk”、“hk”等
  2. 通用顶级域名gTLD。如“com”、“net”、“org”和“gov”等
  3. 基础结构域名。这种顶级域名只有一个,为“arpa”
  • 因特网的域名系统被设计成一个联机分布式的数据库系统,并采用C/S模型
  • 根域名服务器:用来管辖顶级域,通常它并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询
  • 顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名
  • 授权域名服务器(权限域名服务器):每一个主机都必须在授权域名服务器处登记。为了更加可靠地工作,一个主机最好至少有两个授权域名服务器。实际上,许多域名服务器都同时充当本地域名服务器和授权域名服务器。授权域名服务器总是能够将其管辖的主机名转换为该主机的IP地址
  • 本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器。
  • 域名解析是指把域名映射成IP地址或把IP地址映射称为域名的过程。前者称为正向解析,后者称为反向解析
  • 域名解析的两种方式:递归查询递归与迭代相结合的查询
  • 两种域名解析方式工作原理图:

  • 递归与迭代相结合方式图解:
  1. 主机向本地域名服务器的查询采用的是递归查询。即如果本地主机所询问的本地服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询
  2. 本地域名服务器向根域名服务器的查询采用迭代查询。当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器,“你下一步应该想哪一个顶级域名服务器进行查询”
  • 为了提高DNS的查询效率,并减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。当一个DNS服务器接收到DNS结果时,它能将该DNS信息缓存在高速缓存中。
  • 主机名和IP地址之间的映射不是永久的,所以DNS服务器在一段时间后丢弃高速缓存中的信息
  • 主机、域名、IP之间并不具有一 一对应的关系
  • FTP采用C/S的工作方式,使用TCP可靠地传输服务。
  • FTP的服务器进程由两大部分组成:一个主进程,负责接收新的请求;另外有若干个从属进程,负责处理单个请求
  • FTP在工作时使用两个并行的TCP连接,一个是控制连接(端口号21),一个是数据连接(端口号20)。使用两个不同的端口号可使协议更加简单和更容易实现
  • 控制连接用来传输控制信息(如连接请求,传送请求等)。在传输文件时还可以使用控制连接(例如,客户在传输中途发一个终止传输的命令),因此控制连接在整个会话期间一直保持打开状态
  • 数据连接在文件传输完毕后关闭
  • 一个电子邮件系统的三个最主要的组成构件:用户代理、邮件服务器和电子邮件使用的协议,如SMTP、POP3(或IMAP)。注意:三段TCP连接

  • 用户代理:用户与电子邮件系统的接口,实际上就是一个运行在PC上的程序
  • 邮件发送协议:用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,通常使用的是SMTP
  • 邮件读取协议:用于用户代理从邮件服务器读取邮件,如POP3
  • MIME(多用途网际邮件扩充):解决了SMTP无法传送其他非英语国家文字的问题
  • SMTP采用TCP连接,使用25号端口。SMTP不使用中间的邮件服务器,TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立
  • POP也是采用TCP连接,使用110号端口
  • 以上的端口号指的都是服务器端的端口号,客户端端口号随机分配
  • 很多基于万维网的电子邮件的特点:用户浏览器与这些电子邮件服务器之间的发送或接收邮件是使用HTTP协议(指的是你登录邮件服务器是使用http协议,比如登录mail.qq.com),而仅在不同邮件服务器之间传送邮件才使用SMTP协议(登录之后传送邮件仍然是使用SMTP+POP/IMAP
  • 万维网的内核部分由以下三个部分构成:
  1. 统一资源定位符(URL)
  2. 超文本传输协议(HTTP)
  3. 超文本标记语言(HTML)
  • URL的一般形式为:<协议>://<主机>:<端口>/<路径>。常见的协议有http,ftp等。<主机>是存放资源的主机在因特网中的域名,也可以是IP地址;<端口>和<路径>可以省略,URL中不区分大小写
  • HTTP包含两类报文:请求报文和响应报文
  • HTTP协议是无状态的。即同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同
  • Cookie存在与用户主机,Session存在于服务器
  • HTTP协议本身是无连接的,即虽然HTTP使用了TCP连接,但通信的双方在交换HTTP报文之前不需要先建立HTTP连接
  • HTTP1.0为非持久连接,HTTP1.1为持久连接
  • 对于非持久连接,每一个网页元素对象(比如一个JPEG图、FLASH等)的传输都需要建立一个TCP连接。在TCP连接建立时,可以在第三次握手的报文段中捎带客户对万维网文档的请求。也就是说,请求一个万维网文档的时间是该文档的传输时间(服务器将该文档完全发送至链路)加上两倍RTT(前一个RTT对应于TCP连接建立的前两次握手,另一个RTT对应于请求(TCP建立连接第三次握手)和接收文档
  • 所谓持久连接就是万维网服务器在发送响应后仍然保持这条连接,使同一个客户和服务器可继续在这条连接上传送后续的HTTP请求和响应报文
  • 持久连接又分为非流水线流水线两种方式。
  • 对于非流水线方式,客户在收到一个响应后才能发出下一个请求。
  • HTTP1.1的默认模式是使用流水线的持久连接,这种情况下客户每遇到一个对象引用就立即发出一个请求,因而客户可以一个接一个地连续发出对各个引用对象的请求。如果所有的请求和响应都是连续发送的,那么所有引用到的对象共计经历1个RTT延迟,而不是像非流水线版本那样,每个引用都必须有一个RTT延迟
  • HTTP是面向文本的
  • 常见应用层协议总结:
应用程序 FTP数据连接 FTP控制连接 TELNET SMTP DNS TFTP HTTP POP3 SNMP
使用协议 TCP TCP TCP TCP UDP UDP TCP TCP UDP
熟知端口号 20 21 23 25 53 69 80 110 161
  • 当客户端使用非持续连接向服务器发送HTTP请求报文时,第一个获得的对象是HTML基本文件,然后才会获得自己实际想要的对象

猜你喜欢

转载自blog.csdn.net/smart_ferry/article/details/85012471