请选择 进入手机版 | 继续访问电脑版

[相关技巧] 具体 讲解计算机网络——应用层

[复制链接]
查看102 | 回复13 | 2021-9-13 09:58:38 | 显示全部楼层 |阅读模式
目次

应用层协议

在传输层之上,便是应用层。传输层的 UDP 报文和 TCP 报文段的数据部分就是应用层交付的数据。

在这里插入图片形貌

应用层直接为用户提供服务,应用层有很多协议,每一个协议对应着计算机上的一个服务。

不同范例 的网络应用有不同的通讯 规则,因此应用层协议是多种多样的,比如DNS、FTP、Telnet、SMTP、HTTP、RIP、NFS等协议都是用于办理 其各自的一类题目 。

在这里插入图片形貌

应用层协议(application-layer protocol)定义了运行在不同端体系 上的应用程序怎样 相互传递报文。

应用层协议定义了:

在这里插入图片形貌

一、DNS

1、DNS 是什么

DNS 全名叫 Domain Name Server,中文俗称“域名服务器”

在 Internet 上域名与 IP 地址之间是逐一 对应的,域名固然 便于人们记忆,但机器之间只能互相认识 IP地址,它们之间的转换工作称为域名分析 ,域名分析 必要 由专门的域名分析 服务器来完成,DNS 就是举行 域名分析 的服务器,将域名(机器名) 转换为 IP地址。

DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。

这里的分布式数据库是指,每个站点只保留它本身 的那部分数据。

假如 整个因特网都使用 一个域名服务器,负荷太大, 以是 DNS 计划 成一个分布式的数据库,即使单个主机出故障也不会妨碍整个 DNS 体系 。

别的 DNS 使得大多数域名都能在本地分析 ,仅少量分析 必要 在因特网上通讯 ,因此 DNS 服从 很高。

域名和 IP 是一对一关系吗?

  • 现实 上域名和 IP 是多对多关系。
  • 一个 IP 可以被多个域名指向(购买的假造 主机)
  • 一个域名下也可以有多个 IP(负载平衡 )

2、域名布局

  • 域名指的是用点符号分割的计算机名字。
  • IP地址对应着网络上的各个机器,但由于IP地址没有详细 字面含义,难以记忆,偶然 IP地址还会常常 更换。
  • 引入域名来标识某台机器。域名是环球 唯一的,每次申请域名,都会在域名服务器上查询是否存在。
  • 全部 域名都是以“ . ”开始的。

在这里插入图片形貌

域名布局 是树状布局 ,树的最顶端代表根域名

  • 下一层是 .com、.cn 等顶级域名。
  • 再下层就是二级、三级、四级域名。

在这里插入图片形貌

  • 顶级域名代表服务器或网站的性子 常见有com(商用)、cn(中国)、net(提供信息)、edu(教诲 )、gov(当局 )等等。

 

在这里插入图片形貌

  • 二级域名:每个人都可以申请的,可以在顶级域名下申请,比如 www.esyc.com中esyc就是一个二级域名。在二级域名下你就可以注册其他域名了。
  • 三级域名:www.mail.esyc.com中mail就是三级域名。在www.esyc.com这个域名注册这个三级域名的时间 无需在征得com域名的同意。即一个域创建子域的时间 不必要 征求上级同意。

当然域名可以3级可以4级可以5级等等,级别是没有限定 的,只必要 满足 ,一个域名的各个构成 部分不超过63个字符长,总长不超过255个字符长。

3、域名服务器

在这里插入图片形貌

● 根域名服务器:最高层次的域名服务器,根域名服务器知道全部 顶级域名服务器的域名和IP地址。任何一个本地域名服务器要对互联网上的任何域名举行 分析 ,只要本身 无法分析 ,就会起首 告急 于根域名服务器。

● 顶级域名服务器:管理在该顶级域名服务器下注册的全部 二级域名。当收到DNS查询哀求 时,就给出相应的回答(大概 是末了 的结果 ,也大概 是下一步必要 去找的域名服务器的IP地址)。

● 权限域名服务器(权势巨子 域名服务器):负责一个区的域名服务器。当一个权势巨子 域名服务器不能给出终极 的查询结果 时,就会告诉发出哀求 方,下一步应该去找哪一个权势巨子 域名服务器。

● 本地域名服务器(递归服务器):主机发出 DNS 查询哀求 时,该哀求 起首 会发给本地域名服务器。

理论上讲,任何标准域名的分析 都必要 颠末 层级式的域名分析 。

即起首 要通过第一层的根域名服务器的指引,才能去下面的顶级域名服务器探求 。

但是现实 应用,提供接入服务的服务商的缓存域名服务器上大概 已经有了域名与 IP 映射的缓存。

4、DNS 分析 流程

● 在欣赏 器中输入 www.qq.com 域名,欣赏 器先检查自身缓存中有没有被分析 过的这个域名对应的 IP 地址,假如 有,就调用这个 IP 映射,完成域名分析 。

● 假如 欣赏 器缓存中未掷中 ,操作体系 会检查本地的 hosts 文件是否有该域名和 IP 的映射,假如 有,就调用这个IP地址映射,完成域名分析 。

● 假如 hosts 里也没有这个域名的映射,则向本地域名服务器(LDNS)发送哀求 ,看是否有这个域名的映射关系,假如 有,直接返回,完成域名分析 。(LDNS 一样平常 在城市的某个角落,间隔 你不会很远,一样平常 都会缓存域名分析 结果 ,大约 80% 的域名分析 到这里就完成了)

● 假如 LDNS 仍旧 未掷中 ,LDNS 就向根服务器发送查询哀求 ,根服务器内里 记录的都是各个顶级域地点 的服务器 IP,根服务器会根据域名后缀返回对应的顶级域名服务器位置。当向根哀求 www.qq.com 的时间 ,根服务器就会返回 .com 服务器的位置信息。

● LDNS 拿到 .com 的权势巨子 服务器地址以后,就会扣问 .com 的权势巨子 服务器,知不知道 www.qq.com 的位置。这个时间 .com 权势巨子 服务器查找并返回 www.qq.com 服务器的地址。LDNS 继续向 www.qq.com 的权势巨子 服务器去查询这个地址,由 www.qq.com 的服务器给出了 IP 地址:202.173.11.10

● LDNS 服务器得到了 www.qq.com 对应的 IP 地址后以 DNS 应答包的方式传递给客户机,并把域名和对应的 IP 地址在本地缓存下来。

● 客户机根据 IP 地址建立毗连 ,并在客户端缓存域名/IP映射。

在这里插入图片形貌

简单来说,着实 只有四步:

在这里插入图片形貌

5、DNS 服务器查询方式

在这里插入图片形貌

(1)迭代查询

DNS 服务器会向客户机提供其他可以或许 分析 查询哀求 的 DNS 服务器地址。

  • 当客户机发送查询哀求 时,DNS 服务器并不直接回复查询结果 ,而是告诉客户机另一台 DNS 服务器地址,
  • 客户机再向这台 DNS 服务器提交哀求 ,依次循环直到返回查询的结果 为止。
  • 迭代查询返回的是最佳的查询点或者主机地址。本地域名服务器向根域名服务器的查询通常是采用迭代查询。

在这里插入图片形貌

(2)递归查询

DNS 服务器必须使用 一个正确 的查询结果 回复客户机。

  • 假如 DNS 服务器本地没有存储查询目的 的 DNS 信息,那么该服务器会去扣问 其他服务器(即代替客户机去查询,而不是让客户机本身 举行 下一步查询),并将返回的查询结果 提交给客户机。
  • 因此,递归查询返回的查询结果 或者是所要查询的IP地址,或者是报错(表示无法查询到所需的 IP 地址)。主机向本地域名服务器的查询一样平常 都是采用递归查询。

在这里插入图片形貌

6、DNS 缓存机制

DNS 缓存不仅产生于操作体系 ,欣赏 器、应用程序以及 ISP(网络服务提供商)都会对 DNS 举行 缓存。

一条域名的 DNS 记录会在本地有两种缓存:欣赏 器缓存和操作体系 缓存。

  • 在欣赏 器中访问的时间 ,会优先访问欣赏 器缓存,假如 未掷中 再访问OS缓存,
  • 末了 再访问 DNS 服务器(一样平常 是ISP提供),然后 DNS 服务器会递归式的查找域名记录并返回结果 。

DNS 记录会有一个 TTL 值(Time To Live,存活时间),单位是秒,代表这条记录最长有效 期是多少。

欣赏 器 DNS 缓存的时间跟 DNS 服务器返回的 TTL 值无关。

应用程序的 DNS 缓存是由应用程序控制的,比如 Java 网络应用程序的 DNS 缓存是由 JVM 的缓存策略控制的。

OS 缓存会参考 DNS 服务器相应 的 TTL 值,但是不完全等于 TTL 值。

● 欣赏 器 DNS 缓存:欣赏 器在获取网站域名的现实 IP 地址后会对其 IP 举行 缓存,减少网络哀求 的斲丧 。每种欣赏 器都有一个固定的 DNS 缓存时间,此中 Chrome 的过期时间是 1 分钟,在这个限期 内不会重新哀求 DNS。Chrome 欣赏 器看本身的 DNS 缓存时间比较方便,在地址栏输入:chrome://net-internals/#dns,就能看到看欣赏 器的缓存。

● Java DNS 缓存:Java 网络应用程序的 DNS 缓存是由 JVM 的缓存策略控制的,可以直接设置缓存过期时间:java.security.Security.setProperty(“networkaddress.cache.ttl”, 10);

● ISP DNS 缓存:一样平常 ISP 服务器上缓存时间(15 min)比 OS 缓存时间长,就算革新 了本机操作体系 的缓存,ISP 上仍旧 保留。

● Windows DNS 缓存:Windows 访问 DNS 后会把记录保存一段短暂的时间,可通过 ipconfig /displaydns 查看 windows 的 DNS 缓存、通过 ipconfig /flushdns 来扫除 缓存。

● IOS DNS 缓存:按照官方文档说法,IOS 装备 上每 24 小时革新 一次 DNS 缓存。

7、DNS 使用 UDP 还是 TCP

DNS 占用 53 号端口,同时使用 TCP 和 UDP 协议。

DNS 在举行 地区 传输的时间 使用 TCP 协议,别的 时间 则使用 UDP 协议;

DNS 有两种范例 的 DNS 服务器:主 DNS 服务器和辅助 DNS 服务器

  • 在一个区中主 DNS 服务器从本身 本机的数据文件中读取该区的 DNS 数据信息而辅助 DNS 服务器则从区的主 DNS 服务器中读取该区的 DNS 数据信息。
  • 当一个辅助 DNS 服务器启动时,它必要 与主 DNS 服务器通讯 ,并加载数据信息,即地区 传输(zone transfer)。

地区 传送(主、辅 DNS 服务器通讯 )时使用 TCP

辅 DNS 服务器会定时(一样平常 时3小时)向主域名服务器举行 查询以便相识 数据是否有变动。

如有变动,则会实行 一次地区 传送,举行 数据同步。

地区 传送将使用 TCP而不是 UDP,由于 数据同步传送的数据量比较大。

TCP是一种可靠的毗连 ,保证了数据的正确 性。

域名分析 时使用 UDP

客户端向 DNS 服务器查询域名,一样平常 返回的内容都不超过 512 字节,用 UDP 传输即可。不用颠末 TCP 三次握手,如许 DNS 服务器负载更低,相应 更快。固然 从理论上说,客户端也可以指定向 DNS 服务器查询的时间 使用 TCP,但毕竟 上,很多 DNS 服务器举行 设置 的时间 ,仅支持 UDP 查询包。

二、万维网

1、万维网概述

  • 万维网 WWW (World Wide Web) 并非某种特别 的计算机网络。
  • 万维网是一个大规模的、联机式的信息储藏所。
  • 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而自动 地按需获取丰富的信息。

这种访问方式称为“链接”。

在这里插入图片形貌

平凡 的来说万维网的使用 就是我们通过游览器举行 网络的通讯 ,得到的是网页及其其他的数据。

(1)超媒体与超文本

  • 万维网是分布式超媒体 (hypermedia) 体系 ,它是超文本 (hypertext) 体系 的扩充。
  • 一个超文本由多个信息源链接而成。
  • 使用 一个链接可使用 户找到另一个文档。
  • 这些文档可以位于天下 上任何一个接在互联网上的超文本体系 中。
  • 超文本是万维网的基础。
  • 超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,乃至 活动视频图像。

(2)万维网的工作方式

  • 万维网以客户/服务器方式工作。
  • 欣赏 器就是在用户计算机上的万维网客户程序。
  • 万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。
  • 客户程序向服务器程序发出哀求 ,服务器程序向客户程序送回客户所要的万维网文档。
  • 在一个客户程序主窗口上表现 出的万维网文档称为页面(page)。

(3)万维网必须办理 的题目

1)怎样标志分布在整个互联网上的万维网文档?

使用 同一 资源定位符 URL (Uniform Resource Locator) 来标志万维网上的各种文档。使每一个文档在整个互联网的范围内具有唯一的标识符 URL。

2)用何协议实现万维网上各种超链的链接?

在万维网客户程序与万维网服务器程序之间举行 交互所使用 的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。HTTP 是一个应用层协议,它使用 TCP 毗连 举行 可靠的传送。

3)怎样使各种万维网文档都能在互联网上的各种计算机上表现 出来,同时使用 户清楚 地知道在什么地方存在着超链?

超文本标记语言 HTML (HyperText Markup Language) 使得万维网页面的计划 者可以很方便地用一个超链从本页面的某处链接到互联网上的任何一个万维网页面,并且可以或许 在本身 的计算机屏幕大将 这些页面表现 出来。

4)怎样使用 户可以或许 很方便地找到所需的信息?

为了在万维网上方便地查找信息,用户可使用 各种的搜刮 工具(即搜刮 引擎)。

2、超文本传送协议 HTTP

(1)HTTP 的操作过程

为了使超文本的链接可以或许 高服从 地完成,必要 用 HTTP 协议来传送统统 必须的信息。

从层次的角度看,HTTP 是面向事件 的(transaction-oriented)应用层协议,它是万维网上可以或许 可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的告急 基础。

在这里插入图片形貌

(2)哀求 一个万维网文档所需的时间

在这里插入图片形貌

每次的数据传输度必要 举行 建立毗连 与开释 毗连 的过程,为了进步 传输的服从 ,提出了以下几种方案:

不开释 毗连 、流水操作、代理服务器。

1)不开释 毗连

  • HTTP/1.0 协议每次传完一个万维网文档后会开释 毗连 ,故每哀求 一个文档必要 2×RTT的开销。
  • 万维网服务器在发送相应 后仍旧 在一段时间内保持这条毗连 ,使同一个客户(欣赏 器)和该服务器可以继续在这条毗连 上传送后续的 HTTP 哀求 报文和相应 报文。
  • 这并不范围 于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。
  • 现在 一些盛行 的欣赏 器(比方 ,IE 6.0)的默认设置就是使用 HTTP/1.1。

2)流水与非流水

  • 非流水线方式:客户在收到前一个相应 后才能发出下一个哀求 。这使得客户每访问一次对象都只必要 一个 RTT 时间。但服务器在发送完一个对象后,其 TCP 毗连 就处于空闲状态,浪费了服务器资源。
  • 流水线方式:客户在收到 HTTP 的相应 报文之前就可以或许 接着发送新的哀求 报文。一个接一个的哀求 报文到达服务器后,服务器就可一连 发回相应 报文。使用 流水线方式时,客户访问全部 对象只必要 花费一个 RTT时间,使 TCP 毗连 中的空闲时间减少,进步 了下载文档服从 。

3)代理服务器

  • 代理服务器 (proxy server) 又称为万维网高速缓存 (Web cache),它代表欣赏 器发出 HTTP 哀求 。
  • 万维网高速缓存把近来 的一些哀求 和相应 暂存在本地磁盘中。
  • 当与临时 存放的哀求 雷同 的新哀求 到达时,万维网高速缓存就把暂存的相应 发送出去,而不必要 按 URL 的地址再去互联网访问该资源。
  • 代理服务器既是一个服务器,偶然 也是一个客户。

3、万维网的文档

(1)超文本标记语言 HTML

HTML

(HyperText Markup Language) 中的 Markup 的意思就是“设置标记”。

在这里插入图片形貌

当欣赏 器从服务器读取 HTML 文档后,就按照 HTML 文档中的各种标签,根据欣赏 器所使用 的表现 器尺寸和分辨率大小,重新排版并恢复出所读取的页面。

两种不同的链接:

在这里插入图片形貌

HTML还规定了链接的设置方法。每个链接都有一个出发点 和止境 。

XML
  • XML (Extensible Markup Language)是可扩展标记语言,它和HTML很相似。
  • 但XML的计划 宗旨是传输数据,而不是表现 数据(HTML是为了在欣赏 器上表现 数据)。
  • XML 不是要更换 HTML,而是对 HTML 的补充。
XHTML
  • XHTML (Extensible HTML) 是可扩展超文本标记语言,它与 HTML 4.01 几乎是雷同 的。
  • 但 XHTML 是更严格 的 HTML 版本,也是一个 W3C 标准(2000年1月),是作为一种 XML 应用被重新定义的 HTML,并将渐渐 代替 HTML。
  • 新的欣赏 器都支持 XHTML。
CSS
  • CSS (Cascading Style Sheets) 是层叠样式表,它是一种样式表语言,用于为 HTML 文档定义布局。
  • CSS 与 HTML 的区别就是:HTML 用于布局 化内容,而 CSS 则用于格式化布局 化的内容。

(2)动态万维网文档

静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户欣赏 的过程中,内容不会改变。

动态文档是指文档的内容是在欣赏 器访问万维网服务器时才由应用程序动态创建。

动态文档和静态文档之间的告急 差别表现 在服务器一端。

这告急 是文档内容的天生 方法不同。而从欣赏 器的角度看,这两种文档并没有区别。

在这里插入图片形貌

CGI (Common Gateway Interface) 是一种标准,它定义了动态文档应怎样 创建,输入数据应怎样 提供给应用程序,以及输出结果 应怎样 使用 。万维网服务器与 CGI 的通讯 依照 CGI 标准。

在这里插入图片形貌

(3)活动万维网文档

欣赏 器屏幕的一连 革新

在这里插入图片形貌

每当欣赏 器哀求 一个活动文档时,服务器就返回一段程序副本在欣赏 器端运行。

活动文档程序可与用户直接交互,并可一连 地改变屏幕表现 。

由于活动文档技术不必要 服务器的一连 更新传送,对网络带宽的要求也不会太高。

在这里插入图片形貌

三、HTTP 与 HTTPs 协议

  • HTTP 是用于从万维网(WWW)服务器传输超文本到本地欣赏 器的传送协议,是基于 TCP/IP 协议之上的应用层协议。
  • HTTP 定义了客户端怎样 从服务器哀求 Web 页面,以及服务器怎样 把 Web 页面传送给客户端。
  • HTTP 采用了哀求 / 相应 模子 ,客户端向服务器发送一个哀求 报文,服务器以一个状态行作为相应 。

1、HTTP 特点

(1)简单快速:

客户向服务器哀求 服务时,只需传送哀求 方法和路径。

哀求 方法常用的有 GET、HEAD、POST。

每种方法规定了客户与服务器接洽 的范例 不同。

由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通讯 速率 很快。

(2)机动 :

HTTP 答应 传输恣意 范例 的数据对象。 正在传输的范例 由 Content-Type 加以标记。

(3)无毗连 :

无毗连 的含义是限定 每次毗连 只处理一个哀求 。

服务器处理完客户的哀求 ,并收到客户的应答后立即 断开毗连 。

采用这种方式可以节省 传输时间。

HTTP使用 TCP协议作为它的支持 运输协。

HTTP客户起首 发起一个与服务器的TCP毗连 ,一旦建立毗连 ,该欣赏 器和服务器就可以通过套接字接口访问TCP。

(4)无状态保存:

HTTP 协议是无状态协议。无状态是指协议对于事件 处理没有记忆本领 。

  • 缺少状态意味着假如 后续处理必要 前面的信息,则它必须重传,如许 大概 导致每次毗连 传送的数据量增大(缺点)。
  • 另一方面,在服务器不必要 先前信息时它的应答就较快,可以更快地处理大量事件 (长处 )。

补充:对于无状态保存,假如 用户登录一家购物网站,盼望 即使用 户跳转到该站的其他页面也能继续保持登录状态。HTTP/1.1 固然 是无状态协议,但为了实现保存状态的功能,引入了 Cookie 技术。

对于无毗连 ,早期的 HTTP 是哀求 相应 之后直接断开,但现在 的 HTTP/1.1 不直接断开,而是等几秒钟,假如 用户在这几秒钟之内有新的哀求 ,那么还是通过之前的毗连 通道来收发消息,假如 过了这几秒钟用户没有发送新的哀求 ,那么就会断开毗连 ,如许 可以进步 服从 ,减少短时间内建立毗连 的次数,由于 建立毗连 也是耗时的。

(5)支持 B/S 及 C/S 模式。

2、HTTP 各版本比较

在这里插入图片形貌

3、HTTP 的哀求 与相应 报文

(1)HTTP 哀求 (Request)

客户端发送一个 HTTP 哀求 到服务器的哀求 消息包括:哀求 行(request line)、哀求 头部(header)、空行和哀求 数据四个部分。

在这里插入图片形貌

HTTP 哀求 行

在这里插入图片形貌

HTTP 哀求 头

哀求 头信息为 “名:值” 对,之间用冒号分隔。

哀求 头参数包括:

在这里插入图片形貌
 
在这里插入图片形貌
在这里插入图片形貌

空行

HTTP 哀求 头的末了 会有一个空行,表示哀求 头部竣事 ,接下来为哀求 数据,空行肯定 要有。

哀求 数据

哀求 数据不肯定 有,比如 get 哀求 就没有哀求 数据。

(2)HTTP 相应 (Response)

服务器汲取 并处理客户端发过来的哀求 后会返回一个 HTTP 的相应 消息,相应 包括:状态行、相应 头部、空行和相应 正文四个部分。

在这里插入图片形貌

状态行:

包括协议版本、状态码和状态码形貌 。协议版本和哀求 报文划一 ,状态码是一个 3 位数字。

在这里插入图片形貌

比较常见的状态码有:

  • 200 表示相应 成功;
  • 302 表示跳转,跳转地址通过相应 头中的 Location 属性指定;
  • 400 表示客户端哀求 有语法错误,不能被服务器辨认 ;
  • 403 表示服务器汲取 到哀求 ,但拒绝提供服务(认证失败);
相应 头部

这里是引用

4、HTTP 哀求 相应 步骤

(1)客户端毗连 到 Web 服务器

用户确定要访问网页的URL,并将其输入到欣赏 器的地址栏中,欣赏 器向DNS服务器发出哀求 ,获取Web服务器域名所对应的IP地址。

HTTP 客户端通常就是欣赏 器,与 Web 服务器的 HTTP 端口(默以为 80)建立一个 TCP 套接字毗连 ,比如http://www.abc.com;

(2)发送 HTTP 哀求

通过 TCP 套接字,客户端向 Web 服务器发送一个哀求 传输网页的 HTTP 哀求 报文。

一个哀求 报文由哀求 行、哀求 头部、空行和哀求 数据 4 部分构成 ;

(3)服务器担当 哀求 并返回 HTTP 相应

Web 服务器分析 哀求 ,定位哀求 资源并将资源复本写到 TCP 套接字,由客户端读取。

一个相应 由 状态行、相应 头部、空行和相应 数据 4 部分构成 ;

(4)开释 TCP 毗连

若 connection 模式为 close,则服务器自动 关闭 TCP 毗连 ,客户端被动关闭毗连 ,TCP 毗连 开释 ;

若 connection 模式为 keepalive,则该毗连 会保持一段时间,在该时间内可以继续汲取 哀求 ;

(5)客户端欣赏 器分析 HTML 内容

客户端欣赏 器起首 分析 状态行,查看表明哀求 是否成功的状态代码。

然后分析 每一个相应 头,相应 头告知以下为多少 字节的 HTML 文档和文档的字符集。

客户端欣赏 器读取相应 数据 HTML,根据 HTML 的语法对其举行 格式化,并在欣赏 器窗口中表现 ;

在这里插入图片形貌

5、HTTPS 协议

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议,使用 安全套接字层(SSL)举行 信息交换

即 HTTPS 是使用 了 TLS/SSL 加密的 HTTP 协议,基于非对称加密算法和对称加密算法的协作使用 。

TLS/SSL 指加密的规范,介于 TCP 和 HTTP 之间的安全协议,不影响原有的 TCP 和 HTTP 协议。

在这里插入图片形貌
在这里插入图片形貌

(1)TLS/SSL协议的三个特性

TLS/SSL 协议就是客户端和服务器之间实现安全交换信息的协议。

在这里插入图片形貌

TLS/SSL 的功能实现告急 依靠 于三类基本算法:散列函数 Hash、非对称加密和对称加密。

  • 先使用 非对称加密实现身份认证和密钥协商
  • 再通过对称加密算法用协商好的密钥对数据加密
  • 末了 基于散列函数验证信息的完备 性

在这里插入图片形貌

(2)SSL 握手过程

● ClientHello:客户端哀求 建立 SSL 毗连 ,向服务器提供以下信息:

1)支持的 SSL 协议版本,比如 TLS1.0;

2)客户端天生 的随机数,用于后续对称加密阶段天生 对话密钥;

3)支持的加密方法,比如RSA公钥加密。

● SeverHello:服务器对客户端的哀求 发出回应,包括以下信息:

1)确认使用 的 SSL 协议版本,假如 服务器与客户端支持的版本不划一 ,服务器关闭通讯 ;

2)服务器天生 的随机数,用于后续对称加密阶段天生 对话密钥;

3)确认使用 的加密方法,比如 RSA 公钥加密;

4)服务器证书。(假如 服务器也必要 确认客户端的身份,就会再包含一项信息,即要求客户端提供客户端证书,比如金融机构只答应 认证客户连入本身 的网络)

● 客户端收到服务器回应后,验证服务器证书的合法性,假如 证书非可信机构颁布、证书已过期等,会提出告诫 ,选择是否还要继续通讯 。假如 证书没有题目 ,客户端就从证书中取出服务器的公钥。然后向服务器发送三个信息:

1)用公钥加密的随机数(pre-master key);

2)编码改变关照 ,表示随后的信息将用双方 探究 好的加密方法和密钥发送;

3)客户端握手竣事 关照 ,这一项同时也是前面发送的全部 内容的 hash 值,用于供服务器校验。

● 服务器的末了 回应,服务器收到客户端的 pre-master key 之后,计算天生 本次会话所用的会话密钥,然后向客户端发送以下信息:

1)编码改变关照 ,表示随后的信息将用双方 探究 好的加密方法和密钥发送;

2)服务器握手竣事 关照 ,这一项同时也是前面发送的全部 内容的 hash 值,用于供客户端校验。

握手阶段竣事 ,客户端和服务器进入加密通讯 阶段,就是使用 HTTP 协议,只不过通讯 内容都用上面商定的会话密钥举行 了加密。

在这里插入图片形貌

(3)非对称加密和对称加密

1)非对称加密:用于在 SSL 握手过程中加密天生 的暗码 。一对多通讯 ,分为公钥和私钥,公钥加密的信息只有私钥能解开(乃至 公钥都不能解密出本身 加密的信息),因此把握 公钥的不同客户端之间不能互相解密信息。常见非对称加密算法有 RSA、ECC、DH 等。

2)对称加密:用于加密真正要传输的数据。一对一通讯 ,使用 雷同 的密钥对信息举行 加密和解密,只有把握 密钥才能获取信息,可以或许 防止信息窃听。常见的对称加密算法有 AES-CBC、DES、3DES、AES-GCM 等。不同节点采用的对称密钥不同,从而保证了信息只能由通讯 双方 获取。

3)Hash 算法:用于验证数据的完备 性。哈希函数特性是单向不可逆,对输入非常敏感,输出长度固定,对原始数据的任何修改都会改变散列函数的结果 ,在这里用于防止信息篡改并验证数据的完备 性。常见的算法有 MD5、SHA1、SHA256(Secure Hash Algorithm,安全哈希算法)。散列函数不能离开 加密举行 信息防篡改,由于 明文传输时中心 人可以修改信息后重新计算信息择要 ,因此必要 对传输的信息及信息择要 举行 加密。

6、HTTP 和 HTTPs 区别

在这里插入图片形貌

HTTPS 长处 :

在这里插入图片形貌

HTTPS 缺点:

在这里插入图片形貌

7、Web 缓存

Web缓存(Web cache)也叫代理服务器(proxy server)。

在这里插入图片形貌

(1)WEB缓存的作用

在这里插入图片形貌

(2)工作过程

1) 欣赏 器和代理服务器建立TCP毗连 ,并将HTTP哀求 发送到代理服务器

2)代理服务器见检查本地已存储对象复本。假如 存储对象在此中 ,代理服务器向欣赏 器发送HTTP相应 报文返回该对象

3)假如 代理服务器中没有该哀求 对象,代理服务器和源服务器建立TCP毗连 ,然后代理服务器向源服务器发送一个目的 对象的HTTP哀求 。源服务器接到哀求 后,将哀求 对象通过HTTP相应 发送给代理服务器

4)代理服务器收到哀求 的对象时,在本地建立该对象的副本,然后通HTTP相应 将对象发送给欣赏 器。

8、Web 页面哀求 过程

(1)DHCP 设置 主机信息

假设主机最开始没有 IP 地址以及别的 信息,那么就必要 先使用 DHCP 来获取。

① 主机天生 一个 DHCP 哀求 报文,并将这个报文放入具有目的 端口 67 和源端口 68 的 UDP 报文段中。

② 该报文段则被放入在一个具有广播 IP 目的 地址(255.255.255.255) 和源 IP 地址(0.0.0.0)的 IP 数据报中。

③ 该数据报则被放置在MAC 帧中,该帧具有目的 地址 FF:FF:FF:FF:FF:FF,将广播到与交换机毗连 的全部 装备 。

④ 毗连 在交换机的 DHCP 服务器收到广播帧之后,不断地向上分解得到 IP 数据报、UDP 报文段、DHCP 哀求 报文,之后天生 DHCP ACK 报文,该报文包含以下信息:IP 地址、DNS 服务器的 IP 地址、默认网关路由器的 IP 地址和子网掩码。该报文被放入 UDP 报文段中,UDP 报文段有被放入 IP 数据报中,末了 放入 MAC 帧中。

⑤ 该帧的目的 地址是哀求 主机的 MAC 地址,由于 交换机具有自学习本领 ,之前主机发送了广播帧之后就记录了 MAC 地址到其转发接口的交换表项,因此现在 交换机就可以直接知道应该向哪个接口发送该帧。

⑥ 主机收到该帧后,不断分解得到 DHCP 报文。之后就设置 它的 IP 地址、子网掩码和 DNS 服务器的 IP 地址,并在其 IP 转发表中安装默认网关。

(2)ARP 分析 MAC 地址

①: 主机通过欣赏 器天生 一个 TCP 套接字,套接字向 HTTP 服务器发送 HTTP 哀求 。为了天生 该套接字,主机必要 知道网站的域名对应的 IP 地址。

②: 主机天生 一个 DNS 查询报文,该报文具有 53 号端口,由于 DNS 服务器的端标语 是 53。

③: 该 DNS 查询报文被放入目的 地址为 DNS 服务器 IP 地址的 IP 数据报中

④: 该 IP 数据报被放入一个以太网帧中,该帧将发送到网关路由器。

⑤: DHCP 过程只知道网关路由器的 IP 地址,为了获取网关路由器的 MAC 地址,必要 使用 ARP 协议。

⑥: 主机天生 一个包含目的 地址为网关路由器 IP 地址的 ARP 查询报文,将该 ARP 查询报文放入一个具有广播目的 地址(FF:FF:FF:FF:FF:FF)的以太网帧中,并向交换机发送该以太网帧,交换机将该帧转发给全部 的毗连 装备 ,包括网关路由器。

⑦: 网关路由器汲取 到该帧后,不断向上分解得到 ARP 报文,发现此中 的 IP 地址与其接口的 IP 地址匹配,因此就发送一个 ARP 回答报文,包含了它的 MAC 地址,发回给主机。

(3)DNS 分析 域名

①: 知道了网关路由器的 MAC 地址之后,就可以继续 DNS 的分析 过程了。

②: 网关路由器汲取 到包含 DNS 查询报文的以太网帧后,抽取出 IP 数据报,并根据转发表决定该 IP 数据报应该转发的路由器。

③:由于 路由用具 有内部网关协议(RIP、OSPF)和外部网关协议(BGP)这两种路由选择协议,因此路由表中已经设置 了网关路由器到达 DNS 服务器的路由表项。

④: 到达 DNS 服务器之后,DNS 服务器抽取出 DNS 查询报文,并在 DNS 数据库中查找待分析 的域名。

⑤: 找到 DNS 记录之后,发送 DNS 回答报文,将该回答报文放入 UDP 报文段中,然后放入 IP 数据报中,通过路由器反向转发回网关路由器,并颠末 以太网交换机到达主机。

(4)HTTP 哀求 页面

①: 有了 HTTP 服务器的 IP 地址之后,主机就可以或许 天生 TCP 套接字,该套接字将用于向 Web 服务器发送 HTTP GET 报文。

②: 在天生 TCP 套接字之前,必须先与 HTTP 服务器举行 三次握手来建立毗连 。天生 一个具有目的 端口 80 的 TCP SYN 报文段,并向 HTTP 服务器发送该报文段。

③: HTTP 服务器收到该报文段之后,天生 TCP SYN ACK 报文段,发回给主机。

④: 毗连 建立之后,欣赏 器天生 HTTP GET 报文,并交付给 HTTP 服务器。

⑤: HTTP 服务器从 TCP 套接字读取 HTTP GET 报文,天生 一个 HTTP 相应 报文,将 Web 页面内容放入报文主体中,发回给主机。

⑥: 欣赏 器收到 HTTP 相应 报文后,抽取出 Web 页面内容,之后举行 渲染,表现 Web 页面。

四、长途 终端协议 TELNET

TELNET 是一个简单的长途 终端协议,也是互联网的正式标准。

用户用 TELNET 就可在其地点 地通过 TCP 毗连 注册(即登录)到远地的另一个主机上(使用 主机名或 IP 地址)。

TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 毗连 返回到用户屏幕。

这种服务是透明的,由于 用户感觉到好像键盘和表现 器是直接连在远地主机上。

客户/服务器方式

现在 由于 PC 的功能越来越强,用户已较少使用 TELNET 了。TELNET 也使用 客户/服务器方式。

在本地体系 运行 TELNET 客户历程 ,而在远地主机则运行 TELNET 服务器历程 。

和 FTP 的环境 相似,服务器中的主历程 等待新的哀求 ,并产生从属历程 来处理每一个毗连 。

TELNET 使用 网络假造 终端 NVT 格式 。

在这里插入图片形貌

网络假造 终端 NVT 格式

客户软件把用户的击键和下令 转换成 NVT 格式,并送交服务器。

服务器软件把收到的数据和下令 ,从 NVT 格式转换成远地体系 所需的格式。

向用户返数据时,服务器把远地体系 的格式转换为 NVT 格式,本地客户再从 NVT 格式转换到本地体系 所需的格式。

五、FTP

文件传输协议(FileTransfer Protocol,FTP)属于 TCP/IP 协议族的应用层协议,其传输层使用 的是 TCP,基于客户机/服务器模式工作,为数据传输提供了可靠保证。

在这里插入图片形貌

FTP的工作过程

着实 就是客户机程序根据用户必要 发送死 令,服务器程序相应 下令 的过程。

必要 建立两种范例 的毗连 :控制毗连 和数据毗连 。

  • 控制毗连 传送客户机程序发出的下令 和服务器返回的相应 信息
  • 而数据毗连 则负责传输文件的内容。

在这里插入图片形貌

流程

(1)启动FTP服务器:

由于FTP采用了客户机/服务器工作模式,因此在创建FTP会话之前,起首 必须启动FTP服务器,并使其处于等待客户机程序的FTP哀求 状态。

(2)启动FTP客户机程序并建立控制毗连 :

启动FTP客户机程序,并向FTP服务器的21端口(控制毗连 端口)发出自动 毗连 的哀求 ,以期获得FTP服务器的相应权限。服务器相应 哀求 后便在用户协议表明 器和服务器协议表明 器之间建立了一条TCP毗连 。

(3)建立数据毗连 并举行 文件传输:

用户通过客户机程序输入FTP下令 ,服务器汲取 下令 。假如 下令 精确 且必要 举行 文件传输,服务器使用 TCP20端口在双方 之间建立另一条TCP毗连 ,即数据毗连 ,并通过该毗连 举行 文件传输。当本次下令 的文件传输完毕,关闭该数据毗连 。

(4)关闭FTP:

用户实行 完其所需的FTP下令 后,发出退出FTP下令 ,控制毗连 关闭,本次FTP服务竣事 。

常见的下令 下:

在这里插入图片形貌

六、电子邮件传输协议

一个电子邮件体系 由三部分构成 :

用户代理、邮件服务器以及邮件协议。

在这里插入图片形貌

必要 发送者邮件代理、发送者邮件服务器、汲取 者邮件服务器,汲取 者代理4个程序的参与。

● 邮件服务代理(邮件服务器)MTA:邮件服务代理通常是计算机体系 中的一个历程 ,负责把邮件从源端传输到目的 端。

● 用户代理:用户代理就是我们平常 见到的Gmail,QQ邮箱之类的,此中 有查看邮件等功能。

● 邮件传输过程:用户编写邮件后会存放在邮件服务器,发送时根据目的 邮箱地址从DNS查找对方的邮件服务器地址并发送,目的 邮件服务器将邮件存储 。

邮件协议包含发送协媾和 读取协议,发送协议常用 SMTP,读取协议常用 POP3 和 IMAP。

电子邮件格式:

在这里插入图片形貌

1、SMTP(Simple Mail Transfer Protocol)

简单邮件传输协议SMTP(下层协议TCP,端口25):一样平常 用于发送邮件即由用户代剃头 送到邮件服务器,或邮件服务器到达目的 邮件服务器。 SMTP 是建立在传输层协议 TCP 上的可靠高效的邮件传输协议,采用哀求 /应答方式来实现。整个工作过程包括毗连 建立、邮件传送和毗连 开释 3个阶段。

(1)毗连 建立:SMTP是基于客户机/服务器模式工作的,邮件服务器在TCP的25端口等待 客户机的哀求 。当必要 发送邮件时,发送主机的SMTP客户机向毗连 主机的SMTP服务器的TCP端口25发出建立毗连 哀求 ,得到服务器确认后毗连 建立。此后,SMTP客户机再次向SMTP服务器发送HELO下令 ,并附上发送方主机名以确认SMTP服务器是否已经准备 好汲取 邮件。假如 SMTP服务器应答“250 XXXX”表示已准备 好汲取 邮件。(2)邮件传送:SMTP客户机得到SMTP服务器的肯定回答后,随即可使用 MAIL下令 告诉SMTP服务器新的邮件发送操作已经开始。假如 SMTP服务器已经准备 好汲取 邮件,则以250应答代码应答。厥后 SMTP客户机可以用RCPT下令 发送邮件汲取 者的目的 地址,以便SMTP服务器把邮件内容终极 传送到收件人的邮箱中。假如 下令 被汲取 ,则返回250应答码。然后SMTP客户机可使用 DATA下令 告诉SMTP服务器下面将要发送邮件内容。假如 下令 被汲取 ,则SMTP服务器以354应答码应答,并认定以下的各行都是邮件内容。发送完毕后,再发送

2、POP3

邮局协议版本3POP3协议(下层协议TCP,端口110)用于由邮件服务器汲取 邮件到用户代理端。

(1)只要用户从服务器上读取了邮件,就把该邮件删除,但是现在 改进的 POP3 已经全面支持下载而不删除原邮件。

(2)无论你在客户端做了任何操作(如移动、标记),都不会反映到服务器上,也就是只能单方面地从服务器“读取”。POP3协议所用的是110端口。

3、IMAP

交互邮件访问协议IMAP协议(下层协议TCP,端口143)用于由邮件服务器汲取 邮件到用户代理端。

IMAP 协议中客户端和服务器上的邮件保持同步,假如 不手动删除邮件,那么服务器上的邮件也不会被自动 删除。

IMAP 这种做法可以让用户随时随地去访问服务器上的邮件。

同时它与 POP3 的本质区别在于,在客户端的操作(包括删除)都会反映到服务器上,是一个双向的通讯 。

七、Socket

TCP下的socket

处于应用层和运输层之间,给出了一个接口,可以使用 TCP协议举行 通讯 。

在这里插入图片形貌

TCP 下 socket 流程:

在这里插入图片形貌

到此这篇关于详细 讲解计算机网络——应用层的文章就先容 到这了,更多相干 计算机网络应用层内容请搜刮 脚本之家从前 的文章或继续欣赏 下面的相干 文章盼望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 红军利物浦2017 | 2021-9-19 04:26:08 | 显示全部楼层
admin楼主又闹绯闻了!
回复

使用道具 举报

avatar 爱过就是完全脖 | 2021-9-21 07:49:10 | 显示全部楼层
收藏了,admin楼主加油!
回复

使用道具 举报

avatar 韶景于璃 | 2021-9-24 12:38:41 | 显示全部楼层
刚看见一个妹子,很漂亮!
回复

使用道具 举报

avatar 叫啥不行靠 | 2021-10-6 11:40:19 | 显示全部楼层
今天过得很不爽!
回复

使用道具 举报

avatar 千无情实 | 2021-10-6 12:27:58 | 显示全部楼层
内容很有深度!
回复

使用道具 举报

宇宙第一贴诞生了!
回复

使用道具 举报

admin楼主写的很经典!
回复

使用道具 举报

avatar dw3995 | 7 天前 | 显示全部楼层
admin楼主说的我也略懂!
回复

使用道具 举报

在哪里跌倒,就在那里多爬一会儿!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则