| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 计算机网络「六」 应用层 -> 正文阅读 |
|
[系统运维]计算机网络「六」 应用层 |
文章内容预览??可点击一键跳转一、应用层概述应用层是计算机网络结构的 最顶层,是 设计和建立计算机网络在最终目的。其在计算机网络体系结构中的地位如下: 应用层最重要的内容如下,本章将陆续对它们展开介绍: 二、C/S 方式和 P2P 方式1. 客户/服务器(C/S)方式应用层的许多协议都是基于客户/服务器方式的,所以我们先来看什么是客户/服务器方式:各个计算机之间以客户机和服务器的关系进行工作与交换信息,客户机首先向服务器发送请求,然后服务器完成请求的操作,并把结果返回给客户机。其要点说明如下:
客户/服务器方式是因特网上传统的、同时也是最成熟的方式,很多网络应用都是此方式。包括万维网 WWW、电子邮件、文件传输 FTP 等。 此外,基于客户/服务器方式的应用服务通常是 服务集中型 的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。由于一台服务器计算机要为多个客户机服务,在客户/服务器应用中,常会出现服务器计算机跟不上众多客户机请求的情况 。为此,在客户/服务器应用中,常用 计算机集群(或服务器场)来构建一个强大的 虚拟服务器 。 2. 对等(P2P)方式在 P2P 方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,被称为 对等方 。对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。 但实际上,P2P 方式从本质上来说,也是客户/服务器方式,每个结点既可以作客户访问其他结点资源,又可以作服务器提供资源。
目前在因特网上流行的 P2P 应用主要包括 P2P 文件共享、即时通信、P2P 流媒体、分布式存储等。 三、动态主机配置协议 DHCP1. DHCP 的作用DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段 IP 地址范围,客户机登录服务器时就可以自动获得服务器分配的 IP 地址和子网掩码等网络配置信息。 如下图,网络中各主机开机后自动启动 DHCP 程序,向 DHCP 服务器请求自己的网络配置信息。这样就解决了人工配置网络信息的麻烦。 2. DHCP 的工作过程DHCP 知识铺垫
下面来看 DHCP 客户与 DHCP 服务器的交互过程 ① 寻找 DHCP 服务器:当启用主机的 DHCP 后,DHCP 客户广播发送 DHCP 发现报文。源 IP 地址: 0.0.0.0,因为此时主机未分配到 IP 地址。对于 DHCP 发现报文,里面装着 事务 ID 和 DHCP 客户端 MAC 地址 。 ② 提供 IP 地址租用:服务器收到报文时,根据报文中 MAC 地址来查找对应配置信息。如果有,根据这些配置信息构建和发送 DHCP 提供报文;如果没有,采取默认配置信息构建和发送 DHCP 提供报文。为了客户可以收到,同样广播发送。 ③ 接收 IP 地址租约:客户根据 DHCP 提供报文中的事务 ID 判断该报文是否为自己所请求的。DHCP 提供报文中还封装有配置信息,如 IP 地址、子网掩码、地址租期、默认网关、DNS 服务器。此后,向服务器发送 DHCP 请求报文。这时客户才确定要选择哪个服务器作为自己的 DHCP 服务器,它首先要争得该 DHCP 服务器的同意才能正式使用租用来的 IP 地址。 ④ 确认 IP 地址租约:被选择的 DHCP 服务器接收请求后,会向客户发送 DHCP 确认报文。客户接收该确认报文后,就可以使用所租用的 IP 地址了。 ⑤ IP 地址续约:租用期过一半时,客户会向服务器发送 DHCP 请求报文,请求更新租用期。DHCP 服务器若同意,则发回 DHCP 确认报文,那么客户就得到新的租用期;DHCP 服务器若不同意,则发回否认报文,这时,客户必须立即停用租用的 IP 地址,同时重新发送 DHCP 发现报文重新申请 IP 地址;如果 DHCP 服务器没有响应,则在租期过 87.5% 后客户再次发送 DHCP 请求报文请求其更新租期。 ⑥ 随时解约:DHCP 可随时终止 IP 的租用,只需向服务器发送 DHCP 释放报文段即可。 ?? 需要注意,DHCP 服务器挑选 IP 地址时,使用 ARP 确保所选 IP 地址未被占用。DHCP 客户在使用租用的 IP 地址前,也会使用 ARP 检测该 IP 地址是否被占用。 ? 3. DHCP 中继代理当 DHCP 客户发送的 DHCP 发现报文通过路由器转发时,因为是广播发送的,而路由器为避免广播风暴一般不会对广播消息进行转发。那么应该怎么做呢? 解决的办法就是,给该路由器配置 DHCP 服务器的 IP 地址,并使之称为 DHCP 中继代理。这样就解决了问题。当该路由器收到广播的 DHCP 发现报文后,会将其单播转发给 DHCP 服务器。如下图: 四、域名系统 DNS域名系统 DNS 是因特网使用的命名系统,用来把便于记忆的具有特定含义的主机名(如域名 https://www.csdn.net)转换为方便机器处理的 IP 地址 (如 IP 地址 39.106.226.142)。 DNS 系统采用客户/服务器方式,其 协议运行在 UDP 之上,使用 53 号端口 。 从概念上可以将 DNS 分为 3 部分:层次域名空间、域名服务器 和 解析器 ,下面逐一介绍。 1. 层次域名空间先思考一个问题:因特网是否可以只使用一台 DNS 服务器 ? 答案是否定的。这是因为因特网规模很大,会导致域名服务器超负荷,而且如果出现问题会导致整个因特网瘫痪。 其实早在 1983 年,因特网就开始采用 层次结构的命名树 作为主机的名字(即域名),并使用 分布式的域名系统 DNS。DNS 使大多数域名都在本地解析,因此系统效率很高。同时,由于 DNS 是分布式系统,即使单个计算机出现故障,也不妨碍整个系统的正常运行。 层次树状结构的域名系统 因特网采用 层次树状结构的域名结构 。域名的结构由若干分量组成,各分量之间用 “ 点 ” 隔开,分别代表不同级别的域名。 ① 国家顶级域名 nTLD:国家和某些地区的域名。如 cn 表示中国、us 表示美国、uk 表示英国等。 ② 通用顶级域名 gTLD:最常见的通用顶级域名有七个,即: com(公司企业)、net(网络服务机构)、org(非营利性组织)、int(国际组织)、edu(教育机构)、gov(国家或政府部门)、mil(军事部门) ③ 反向域 arpa:用于反向域名解析,即 IP 地址反向解析为域名。 在国家顶级域名下注册的二级域名均有该国家自行确定。例如,顶级域名为 jp 的日本,将其教育和企业机构的二级域名定为 ac 和 co ,而不用 edu 和 com。 我国的二级域名划分为以下两类: 域名空间的树状结构 2. 域名服务器域名和 IP 地址的映射关系必须保存在域名服务器中,供所有其他应用查询。没有一台域名服务器具有因特网上所有主机的映射,相反,该映射分布在所有的 DNS 上。采用分布式设计的 DNS,是一个在因特网上实现分布式数据库的精彩案例。 主要有以下 4 种域名服务器 ① 根域名服务器 根域名服务器是最高层次的域名服务器。每个根域名服务器都知道顶级域名服务器的域名及其 IP 地址。因特网上共有 13 个不同 IP 地址的根域名服务器,虽然它们被视为单个服务器,但是实际上每个服务器都是由分布在世界各地的计算机构成的 服务器群集 。根域名服务器通常不直接对域名进行解析,而是返回该域名所属顶级域名的顶级域名服务器的 IP 地址。 根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特网上的任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。 ② 顶级域名服务器 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。收到 DNS 查询请求时,就给出相应的回答(可能是最后结果,也可能是下一步应当查找的域名服务器的 IP 地址) ③ 权限域名服务器 这些域名服务器负责 管理某个区的域名 。每台主机都必须在某个权限域名服务器处登记,因此权限域名服务器知道其管辖的域名与 IP 地址的映射关系。另外,权限域名服务器还知道其下级域名服务器的地址。 ④ 本地域名服务器 本地域名服务器不属于上述的域名服务器的等级结构。当一个主机发送 DNS 请求时,这个报文首先被送往该主机的本地域名服务器。本地域名服务器起着代理的作用,会将该报文转发到上述的域名服务器的等级结构中。每一个因特网服务提供者 ISP ,一个大学,甚至一个大学里的学院,都可以拥有一个本地域名服务器,它有时也称为 默认域名服务器 。本地域名服务器的 IP 地址需要直接配置在需要域名解析的主机中。 3. 域名解析的过程域名解析是指把域名映射成为 IP 地址或把 IP 地址映射成域名的过程。前者称为 正向解析 ,后者称为 反向解析 。当客户端需要域名解析时,通过本机的 DNS 客户端构造一个 DNS 请求报文,以 UDP 数据报方式发往本地域名服务器。 域名解析有两种方式:递归查询 和 迭代查询 首先来看递归查询,如下图: 高速缓存 为了提高 DNS 的查询效率,并减轻根域名服务器的负荷和减少因特网上的 DNS 查询报文数量,在域名服务器中广泛地使用了 高速缓存 。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。 不但本地域名服务器中需要高速缓存,在用户主机中也很需要。许多用户主机在启动时从本地域名服务器下载域名和 IP 地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到域名时才向服务器查询。同理,主机也需要保持高速缓存中内容的正确性。 最后,来几个练习题压压惊 练习一 五、文件传送协议 FTP1. FTP 的基本工作原理文件传输协议 (File Transfer Protocol)是因特网上使用得最广泛的文件传送协议。FTP 提供 交互式访问,允许客户 指明文件的类型与格式,并允许文件具有存取权限。FTP 屏蔽了各计算机系统的细节,因而适用于在异构网络中任意计算机之间传送文件。 FTP 提供以下功能:
FTP 采取 客户/服务器 工作方式,使用 TCP 可靠的传输服务。一个 FTP 服务器进程可同时为多个客户进程提供服务。 FTP 的服务器进程由 两大部分 组成:
举例 FTP 的应用
因特网上的 FTP 客户计算机可将各种类型的文件上传到 FTP 服务器计算机,FTP 客户计算机也可以从 FTP 服务器计算机下载文件。 根据应用需求的不同,FTP 服务器可能需要一台高性能高可靠性的服务器计算机,也可能只需要一台普通的个人计算机即可。 至于如何在 Windows 系统中添加 FTP 站点,可查阅此文 >> win10中搭建并配置ftp服务器的方法 添加站点后,可以使用命令行窗口来进行下载和上传文件,如下: 除此之外,也可以使用更友好的第三方的 FTP 客户工具软件。通过友好的用户界面来完成 FTP 服务器的登录以及文件的上传和下载。 可以参考此文 >> FileZilla的下载与安装以及简单使用(有图解超简单) 2. 控制连接与数据连接FTP 在工作时使用两个并行的 TCP 连接:一个是 控制连接(端口号 21)、一个是 数据连接(端口号 20)。使用两个不同的端口号可使协议更加简单和容易实现。 1. 控制连接 控制连接用来传输控制信息(如连接请求、传送请求等),并且控制信息都以 7 位 ASCII 格式传送。 FTP 客户发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。 在传送文件时还可以使用控制连接(如客户在传输中途发一个中止传输的命令),因此控制连接在整个会话期间一直保持打开状态。 2. 数据连接 数据连接有两种传输模式:主动模式 PORT 和 被动模式 PASV 。
?? 注意:由于 FTP 使用了一个分离的控制连接,所以也称 FTP 的控制信息是带外(Out-of-band)传送的。 相关题目 六、电子邮件电子邮件是一种异步通信方式,通信时不需要双方同时在场。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可以随时上网到自己使用的服务器进行读取。 电子邮件系统采用 客户/服务器方式 。有三个主要构件:
简单介绍电子邮件收发的过程
1. 电子邮件的信息格式一个电子邮件有 信封 和 内容 两部分。而内容又由 首部 和 主体 两部分构成。 首部和主体的信息都需要由用户来填写。用户写好首部后,邮件系统自动地将信封所需的信息提取出来并写在信封上,用户不需要亲自填写信封上的信息。 邮件内容的首部包含一些首部行,每个首部行由一个关键字后跟冒号再后跟值组成。有些关键字是必需的,有些是可选的。最重要的是 2. MIME由于 SMTP 协议 只能传送 ASCII 码文本数据,不能传送可执行文件或其他的二进制对象。因此提出了 多用途网络邮件扩充(MIME)。 MIME 主要包括以下三部分内容:
3. SMTP简单邮件传输协议 SMTP 是一种提供可靠且有效的电子邮件传输的协议,它控制两个相互通信的 SMTP 进程交换信息。由于 SMTP 使用 客户/服务器方式,因此,发送邮件的进程为客户,接收邮件的进程为服务器。 此外,SMTP 用的是 TCP 连接,端口号为 25 。 SMTP 通信有以下三阶段:
4. POP 和 IMAP常用的邮件读取协议有以下两个:
POP3 和 IMAP4 都采用 基于 TCP 连接的客户/服务器方式 。POP3 使用熟知端口 110,IMAP4 采用熟知端口 143 。 5. 基于万维网的电子邮件七、万维网 WWW万维网(World Wide Web,WWW)并非某种特殊的计算机网络 。它是一个大规模、联机式的信息储藏所,是运行在因特网上的一个 分布式应用 。 万维网利用网页之间的 超链接 将不同网站的网页链接成一个逻辑上的信息网。 为了方便地访问在世界范围的文档,万维网使用 统一资源定位符 URL 来指明因特网上任何种类 “ 资源 ” 的位置。 URL 的一般形式由以下四个部分组成:
什么是万维网文档呢 万维网文档也就是前端三剑客:HTML、CSS 和 JavaScript,详细可参考博主的其他文章。 工作流程如下:
1. 超文本传输协议 HTTPHTTP 定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器。
HTTP/1.0 采用 非连续连接 方式。在该方式下,每次浏览器要请求一个文件都要与服务器建立 TCP 连接,当收到响应后就立即关闭连接。
HTTP/1.1 采用 持续连接 方式。在该方式下,万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。
为了进一步提高效率,HTTP/1.1 的持续连接还可以使用 流水线 方式工作,即浏览器在收到 HTTP 的响应报文之前就能连续发送多个请求报文。这样一个接一个请求报文到达服务器后,服务器就发回一个接一个的响应报文。节省了很多个 RTT 时间,使得 TCP 连接中的空闲时间减少,提高了下载文档的效率。 2. HTTP 报文格式HTTP 是 面向文本 的,其报文中的每一个字段都是一些 ASCII 码串,并且每个字段的长度都是不确定的。
举例说明,如下
3. Cookie早期的万维网应用非常简单,仅仅是用户查看存放在不同服务器上的各种静态文档。因此 HTTP 被设计为一种 无状态 的协议。这样可以简化服务器的设计。 现在,用户可以通过万维网实现各种复杂的应用,如网上购物、电子商务等。这些应用往往需要万维网服务器能够识别用户。那么怎么做呢? 在实际应用中,通常使用 Cookie 在服务器上记录用户信息。Cookie 提供了一种机制使得万维网服务器能够记住用户,而无需用户主动提供标识信息。 下说明 Cookie 工作原理 4. 万维网缓存与代理服务器在万维网中还可以使用缓存机制以提高万维网的效率。 万维网缓存又称 Web 缓存 ,可位于客户机,也可位于中间系统上,位于中间系统上的 Web 缓存又称为 代理服务器 。 Web 缓存把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按 URL 的地址再次去因特网访问该资源。 前文阅读: 系列文章完结撒花🎉🎉 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 4:13:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |