王道考研复习-计算机网络-应用层(六)

考纲:

  • C/S,P2P
  • DNS
  • FTP
  • E-mail(MIME,SMTP,POP3)
  • WWW(HTTP)万维网概念与组成结构

网络应用模型-C/S

  • 客户端/服务器模型(C/S)
    • 服务器处于监听状态,需要持续运行
    • 客户机发起请求,并等待接收结果
    • 服务器收到请求后,分析请求,进行必要的逻辑处理,并将结果返回给客户机
  • C/S特点
    • 地位不平等,服务器通过权限限制客户机的增删该操作,来达到管理客户机,或进行其他受限活动
    • 客户机之间不能直接通信
    • 扩展性不佳,都是围绕服务器请求数据,受限于服务器硬件和网络带宽

网络应用模型-P2P

  • 特点,优点
    • 减少服务器压力,去中心化,可将任务分配到各个节点,平衡工作,如流媒体对,区块链技术等
    • 多个客户机可以共享文档
    • 可扩展性高
    • 网络健壮,挂了一台,还有很多替补
  • 缺点
    • 在获取数据的同时,还要提供其他服务,占用较多流量,目前已占用50%~90%的流量,使得网络变得拥塞,各大ISP(互联网服务器供应商)通常对P2P应用持反对态度
      ## 域名系统-DNS
  • Domain Name System,是因特网的命名系统,用于便于记忆主机IP地址
  • {三级域名}.{二级域名}.{顶级域名},反向表示,这也是应用程序包名和组织名也是参照此规则的原因
  • 域名正则校验
    • 标号(上面打括号的内容)中的英文不区分大小写
    • 标号中只支持一种字符-
    • 每个标好不能超过63个字符
    • 从左到右,分别对应低级域名到高级域名
  • 顶级域名:国家顶级域名(nTLD),.cn,.us,.uk
  • 通用顶级域名(gTLD):常见的有.com(公司),.net,.org非营利组织
  • 基础结构域名.只有一个arpa,通过ipfan反查域名(反向域名)

域名服务器

  • 根域名服务器:共13个,知道所有顶级域名服务器的IP地址,管理顶级域(如.com),并不直接把待出查询的IP地址转换为域名,而是告诉本地域名服务器下一步影单找哪个顶级域名服务器进行查询。
  • 顶级域名服务器: 管理顶级域名服务器注册的所有二级域名,收到DNS查询请求时,就给出响应的回答(可能是最后的结果,也有可能是下一步应当查找的域服务器的IP地址
  • 授权域名服务器(权限域名服务器): 每台足迹都必须在授权域名服务器处进行登记,为了更加可靠的工作,一台主机至少有两个授权域名服务器,实际上,许多域名服务器都同时充当本地域名服务器和授权域名服务器,授权域名服务器总能将其管辖的主机转换为主机的IP地址
  • 本地域名服务器: 每个英特网的服务器提供者(IPS),都可以拥有一个本地域名服务器,当主机发出DNS查询请求时,这个查询请求报文就发送给主机的本地域名服务器。

域名解析过程

  • 向本机域名服务器查询是递归查询
  • 本机域名服务器向根域名服务器查询是迭代查询
  • 访问y.abc.com过程
    1. 客户机向本地域名服务器发出DNS请求报文
    2. 本地域名服务器接收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求
    3. 根域名服务器收到请求后,判断是否属于.com域名,将对应的顶级域名服务器器地址dns.comIP地址返回给本地域名服务器.
    4. 本地域名服务器向顶级域名服务器dns.com发出解析请求报文
    5. 顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.comIP地址返回给本地域名服务器。
    6. 本地域名服务器向授权域名服务器 dns.abc.com发起解析请求报文
    7. 授权域名服务器dns.abc.com收到请求后,将查询结果返回给本机域名服务器
    8. 本机域名服务器将查询结果保存到本地缓存,同时返回给客户机。

文件传输协议(FTP)

  • File Transfer Protocol: 是因特网上使用最广泛的协议
  • FTP提供交互式的访问,允许客户指定文件类型和格式,并允许文件具有只读权限,屏蔽了计算机的细节实现,适合在异构网络中任意计算机之间传送文件.

    • Mac上的FTP默认是关闭的
  • FTP功能:

    • 提供不同主机(硬件系统可以不同),文件传输能力
    • 以用户权限管理的方式提供对远程FTP服务器上的文件管理能力
    • 以匿名的FTP的方式提供公共文件共享的能力
      • FTP采用了C/S的工作方式,使用可靠的TCP传输服务
      • 一个FTP服务器同时可以为多个客户进程提供服务
      • FTP服务器由两大部分组成: 一个主进程,负责接收新的请求,另外有若干个从属进程,负责处理单个请求
    • FTP的工作步骤
      1. 打开21控制端口,使客户端能够访问
      2. 等待客户进程发送连接请求
      3. 启动从属进程等待客户进程发来的请求,主进程和从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止。
      4. 回到等待状态,继续接受其他客户进程的请求
    • FTP服务器必须在整个会话期间保留用户的状态信息,特别是服务器必须把指定的用户账户与控制联系起来,服务器追中用户在远程目录树上的当前位置。
  • FTP-控制连接:

    • 服务器监听21号端口,等待客户连接,建立在这个端口上的连接称为控制连接,控制连接用户传输控制信息(如连接请求,传送请求等),
    • 控制信息以7位的(ASCII)格式传送
    • 客服发出的传送请求通过控制连接发送给服务器端的控制进程,控制连接并不用来传送文件.
    • 在传输文件的时候还可以使用控制连接来终止文件传输命令,因此控制连接在整个回话期间一直保持打开状态. (类似一个父进程可以同时管理多个子进程)
  • FTP-数据连接:

    • 服务器端端控制进程在接受到FTP客户发来的文件传输请求后,就创建数据传送进程数据连接
    • 数据连接用来传送客户端和服务器端的数据传送进程
    • 数据传送进程实际完成文件的传送,在传送完毕后关闭数据传送连接并结束运行
    • FTP使用了一个分离的控制连接, 修改远程文件需要先下载再上传,在NFS文件系统下,允许复制远程文件小部分片段。

电子邮件

  • 概念: 电子邮件是因特网上一种一步通信的方式
  • 由三部分组成
    • 用户代理(User-Agent,UA),客户端邮件应用,用于和邮件服务器通信。
      -邮件服务器, 收发,通知
    • 电子邮件使用的协议.(数据报的封装格式)
  • 邮件的收发过程
    1. 发信人调用用户代理撰写邮件(邮件客户端软件),用户代理用SMTP把邮件传送给发送方的服务器
    2. 发送方将邮件放入到邮件缓存队列中,等待发送
    3. 运行发送方邮件服务器的SMTP客户进程,发现邮件缓存中有待发送的邮件,就向运行在接受方邮件服务器的SMTP服务器进程建立TCP连接
    4. TCP连接建立以后,SMTP客户进程开始向远程SMTP服务器进程发送邮件,当所有待发送邮件发送完成后,SMTP关闭建立的TCP连接
    5. 运行在接收方邮件服务器的SMTP服务器接受到邮件后,将邮件放入收信人的用户邮箱,等待收信人在方便时读取.
    6. 收信人打算收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收方邮件服务器的用户邮箱中取回.

电子邮件格式与MIME

  • 电子邮件报文
  • 邮件扩充: 因为SMTP只能传送一定长度的ASCII码,许多非英文国家地区的文字无法传送,也无法传送二进制,增加了MIME(Multipurpose Internet Mail Extension),定义了ASCII码的编码规则,对护具进行封装和解封
    • 用户数据 <-> MIME转换 -> 7位ASCII码 -> SMTP -> SMTP -> MIME转换 <-> 用户数据
    • MIME主要包括了下面3部分内容: MIME参考手册
      • 5个新的邮件首步字段, MIME-Version,Content-Type(内容描述),Message-Id(内容标示),Content-Transfer-Encoding内容编码和类型
      • 定义了许多邮件内容的格式,对多媒体,电子邮件表示方法进行标准化
      • 定义了传送编码,可对任意内容的格式进行转换,而不会被邮件系统改变
        ## SMTP协议
  • SMTP: (Simple Mail Transfer Protocol,进程端口25
  • 连接建立:
    • 发送邮件到服务器的邮件缓存后,
    • SMTP每隔一段时间扫描,
    • 如果发现邮件使用25端口与接收方邮件服务器建立TCP连接
    • 连接建立后,接收方SMTP服务器发出220(Service ready)
    • SMTP客户向SMTP服务器发送HELLO命令,并附上发送方主机名
  • 邮件传送
    • 邮件从MAIL命令开始,如MAIL FROM: xxx@xxx,
    • 若SMTP服务器准备好接收,则回答`250·
    • 接着SMTP客户端发送一个或多个RCPT(recipient收件人),格式为RCPT TO: xxx@xxx, 250成功,550无此用户
    • 然后执行DATA命令,354成功.
  • 连接释放

    • 发送完成后,SMTP客户发送QUIT命令, 221表示服务器关闭,同意释放TCP连接
  • 小结: TCP Connected -> MAIL -> RCPT -> DATA -> QUIT -> TCP Disconnected

POP3协议

  • Post Office Protocol,邮局协议,采用Pull的方式, C/S工作模式,工作在110端口
  • 两种工作模式: 下载删除,下载保留(保留副本在服务器)

IMAP协议

  • 报文存取协议,提供了创建文件夹功能,维护了用户会话状态信息
  • IMAP4协议的特性
  • IMAP4协议的默认端口:143
  • IMAP4协议默认传输协议:TCP/IP
  • IMAP4协议适用的网络构架:C/S
  • IMAP4协议访问模式:离线/在线
  • IMAP4协议存储邮件模式:分布式
  • RFC3501定义

万维网

  • World Wide Web, WWW, 是一个资料空间,这些资源通过URL标识,这些资源通过超文本传输协议(HTTP)传送给使用者,也可以单击访问获取资源.
  • 由三部分组成:
    • URL: 负责标示各种文档,使得每个文档在万维网的范围内具有唯一的标示符URL
    • HTTP: 使用TCP进行可靠传输,是万维网客户程序和服务器程序之间交互所必须严格遵守的协议
    • HTML: 超文本白㷣集语言,一种文档结构的标记语言,它使用一些约定的标记对页面上的各种信息(包括文字,声音,图像,视频等)格式进行描述
      ## HTTP协议
  • 定义了万维网客户进程(浏览器)怎样访问万维网服务器请求万维网文档,以及服务器怎样把文档传给浏览器,默认端口80
  • HTTP的操作过程,以单击鼠标为例
    • 浏览器分析连接指向页面URL
    • 浏览器DNS请求解析URL中域名的IP地址
    • 域名系统DNS解析出服务器的地址
    • 浏览器与该服务器建立TCP连接(默认端口80)
    • 浏览器发出HTTP请求: GET /xxx/xxx.html
    • 服务器通过HTTP响应吧文件index.html发送给浏览器
    • TCP连接释放
    • 浏览器解析index.html,并将Web页显示给用户
  • HTTP特点

    • 无状态,不同时刻访问服务器处理方式一样
    • Cookie机制,记录用户信息,下次请求时附加到HTTP请求报文中,服务器可以搜集用户行为和信息

    • HTTP支持持久连接和非持久连接

    • 持久连接又分非流水和流水线,HTTP/1.1 默认采用流水线持久连接

      • 在流水线连接下,客户端每遇到一个对象引用就立即发出一个请求,因此客户可以逐个连续发出对各个引用对象的请求,如果所有的请求和响应都是连续的发送的,那么所有引用对象共经历1个RTT延迟,而不是像非流水线那样每个引用都必须有1个RTT延迟(Round trip time)
  • HTTP的报文结构

    • HTTP是面向文本的
    • 报文格式

参考

百度百科
rfc2616

  • 发展阶段:
    • 0.9: 信息简介,仅限文字,
    • 1.0: 每一次请求/响应建立并拆除一次连接
    • 1.1: rfc2616
    • 2.0: RFC 7540
原文地址:https://www.cnblogs.com/wwoo/p/wang-dao-jiang-shuji-suan-ji-wang-luo-di-liu-zhang.html