计算机网络-笔记-第六章-应用层

 🌸章节汇总 

一、第一章——计算机网络概述

二、第二章——物理层

三、第三章——数据链路层

四、第四章——网络层

五、第五章——运输层

六、第六章——应用层

目录

六、第六章——应用层

1、应用层概述

2、(C/S)客户-服务器方式 & (P2P)对等方式

(1)客户-服务器方式【C/S】

(2)对等方式【P2P】

3、DHCP——动态主机配置协议

(1)诞生原因

(2)工作原理

(3)DHCP中继代理

4、DNS——域名系统

(1)域名分类

(2)域名解析

(3)本地的hosts文件 & 加速器原理

(4)DNS修改

(6)总结 & 习题

5、文件传输协议FTP

(1)FTP服务器

(2)FTP服务器——访问方式

(3)FTP服务器——工作原理

(4)习题

6、电子邮件

(1)读取邮件 & 发送邮件 (大致过程)

(2)邮件 & 文本数据

(3) 邮件协议(SMTP发送、POP3读取)

(4)基于万维网的电子邮件

(5)习题

7、万维网

(1)浏览器(软件)

(2)万维网的工作方式

(3)统一资源定位符URL

(4)HTTP——超文本传输协议

(4)HTTP——报文格式

(4)HTTP——响应状态码

(5)cookie

(6)万维网缓存 & 代理服务器

(7)B/S应用程序结构

(8)总结 & 习题


六、第六章——应用层

1、应用层概述

终于学到最顶层了,啊哈哈,这是最轻松,最愉悦的了!

因为我们无时无刻都在接触这些应用,感受他们带给我们生活的便利!

2、(C/S)客户-服务器方式 & (P2P)对等方式

(1)客户-服务器方式【C/S】

1、这里是:客户端/服务器(C/S)方式 (他包含了(C/S) & (B/S)架构

C/S架构和B/S架构都是客户端/服务器模型的不同实现方式,适用于不同的应用场景和需求。

万维网以C/S方式,即客户/服务器的方式工作。其中,浏览器就是在用户主机上的万维网客户程序。万维网文档(web文档)所驻留的主机则运行服务器程序,如IIS 、Apache、Nginx等。所以这个主机也叫作万维网服务器或者Web服务器。

注意:电子邮件(SMTP)、FTP、HTTP等,都是C/S方式

(2)对等方式【P2P】

注意:

这里和数据链路层中的——点对点协议PPP(point to point protocol)不是同一个东西

迅雷下载是使用P2P下载协议的,P2P加速利用P2P技术进行用户之间的加速,该通道产生的上传流量会提升通道的健康度,从而提升通道加速效果。

原理:若其他迅雷用户下载过本文件,则下载时可以由其他用户上传给自己。

这里:用户既可以是服务的请求者,也可以是服务的提供者!

3、DHCP——动态主机配置协议

动态主机配置协议 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 是 RFC 1541(已被 RFC 2131 取代)定义的标准协议,该协议允许服务器向客户端动态分配 IP 地址和配置信息。

DHCP的主要目的是简化网络管理,使网络中的设备能够自动获取所需的网络配置信息,包括IP地址、子网掩码、默认网关、DNS服务器等。

使用DHCP,管理员可以集中管理IP地址资源,并确保网络上的设备都能够获得有效的网络配置,无需手动配置每个设备的网络参数。

(1)诞生原因

手动配置太麻烦!!!(容易出错,效率低)

1、给网络中,添加一个DHCP服务器

2、管理员只需要设置好【网络中其他各主机配置的网络配置信息】

3、网络中的主机,自动获取【配置信息】

(2)工作原理

1、主机没有(上网的相关配置信息),就开始发送广播(请求DHCP服务器给他分配一个)

2、DHCP服务器就根据【客户】的请求,给他分配一个,并把相关的配置信息发给他

3、【客户】表明,使用这个IP,发出请求

4、【DHCP服务器】收到请求后,发出确认请求(让主机放心使用)

注意:【IP是有租期的哟!会过期,主机得不断申请】当然,【管理员】也可以配置为不过期!

完整版!!!(细节很多!)蛋老师之前也讲过DHCP,不过没有这个完整!

(3)DHCP中继代理

为了防止DHCP数量太多(太多了,不就于我们的目的,背道而驰了么?)

我们就是为了管理中心化,所以专门搞了一个DHCP服务器!

所以:给路由器配置好DHCP服务器的IP地址,让其变成DHCP的中继代理

当一个客户端发送DHCP请求时,如果它所处的子网没有DHCP服务器,或者DHCP服务器不在同一个子网上,这时就需要使用DHCP中继代理。

实现过程:

  1. 客户端发送DHCP请求广播消息,该消息带有特殊的DHCP中继标记字段。
  2. 当路由器接收到该DHCP请求广播消息时,会检查其中的DHCP中继标记字段,并判断是否需要进行中继操作。
  3. 如果路由器确定需要进行中继,它会将DHCP请求消息封装在一个新的DHCP请求消息中,并将新消息的目标地址设置为预先配置的DHCP服务器的IP地址。
  4. 路由器通过本地网络将新的DHCP请求消息转发给预先配置的DHCP服务器。
  5. DHCP服务器接收到经过中继的DHCP请求消息后,解析其中的内容,并生成相应的DHCP响应消息。
  6. DHCP服务器将DHCP响应消息发送给路由器。
  7. 路由器再次将DHCP响应消息进行封装,并使用广播方式发送给客户端。
  8. 客户端接收到经过中继的DHCP响应消息后,获取到分配的IP地址和其他配置参数,并进行网络配置。

4、DNS——域名系统

DNS是什么?

DNS可理解为:专门记录手机电话的通讯录(在这里就是记录了IP和域名的映射关系)

(1)域名分类

(2)域名解析

1、查询本地域名(递归查询)【负担大!!!】

2、其他查询(迭代查询)

高速缓存(本地域名服务器一般有缓存!!!有时间限制!TTL)

(3)本地的hosts文件 & 加速器原理

DNS解析默认都是运营商的;

我们本地也会记录映射哟!hosts文件!

所在路径:C:\Windows\System32\drivers\etc

这里的steam++,本质上就是修改了我的hosts文件,让我们的电脑知道了这些域名的存在,当我们访问【运营商的DNS服务器】时,他们不会告诉我们那个IP,就会导致我们访问失败,但是当我们自己的主机就知道了映射关系,就不会再去问【DNS服务器】了

注意:

Hosts文件有大小限制你不可能存放全世界所有公网ip,去访问他们!(就好像你不可能在手机中存储全世界中所有人的电话号码!)

修改hosts文件只是在本地生效,只有当前计算机能够使用这个映射关系,其他设备或计算机并不受影响。

修改hosts文件可能存在安全风险,因为它可以被恶意软件或攻击者滥用,导致用户被重定向到恶意网站或遭受其他攻击。

因此,在修改hosts文件之前,务必确保你信任所添加的映射关系,并且要小心维护该文件的安全性。

(4)DNS修改

为什么要修改DNS呢?

1、提高访问速度:某些公共DNS服务器可能无法提供快速和稳定的解析服务。

2、绕过网络封锁:在某些地区或网络环境中,特定的网站或服务可能被屏蔽或封锁。

3、过滤广告或恶意网站:一些DNS服务器提供了广告拦截或恶意网站过滤功能。

4、配置专用网络服务:在局域网或企业网络中,可能需要配置专用的内部DNS服务器,以提供特定的网络服务和解析内部域名。

一般我们都是用默认的,就是我们使用网络的供应商提供的DNS

但是,他们并不是把所有ip(全球的电话号码)都收录在里面了的

肯定是有疏漏的!!!

所以…我们可以自行配置DNS,让主机自己去网络上找理想的DNS服务器(手机号码收录比较全的通讯录~),而不是默认用网络供应商的!(下图,是互联网大厂的DNS【他们的通讯录】)

并且DNS服务器离我们的路径距离,也会影响我们的上网体验,毕竟我们访问IP,都要去问一遍DNS!

如何修改?

DNS劫持是指黑客通过恶意手段攻击DNS服务器或用户计算机,篡改DNS解析结果,让用户访问的网站指向错误的IP地址,从而实现攻击目的。常见的DNS劫持方式包括:本地Hosts文件修改、路由器被劫持、DNS服务器被劫持等。

DNS污染(也称为DNS缓存投毒)是指攻击者在DNS系统中注入虚假信息,使得DNS服务器会缓存错误的DNS响应结果,导致所有用户的访问都受到影响。攻击者可以伪造一个DNS响应,将正确网站的域名映射到错误的IP地址,使得用户在浏览器或应用程序中输入正确的网址时,被重定向到错误的网站上。

虽然DNS劫持和DNS污染之间有些不同,但它们都会导致用户访问受阻、信息泄露、网络安全受损等风险,因此用户需要采取必要的防范措施,如使用安全和可信赖的DNS服务器,避免使用不明来源的网络服务和软件,定期检查和更新网络设备和安全软件等。

比如:

访问A网站的地址,打开的却是B网站的页面,跳出恶意广告。

如果黑客利用DNS劫持,让你进入假冒的钓鱼网站,可能造成自己的重要信息泄露。

注意:DNS劫持与HTTP劫持的不同

DNS劫持:在DNS服务器中,将某个域名对应的IP地址进行了篡改,你解析出来的域名对应的IP,在劫持前后不一样,访问的是另外一个网站。

HTTP劫持:你DNS解析的域名的IP地址不变,在和网站交互过程中的劫持了你的请求。

比如当你正常访问一个无广告的页面时,页面上出现广告弹窗,那么可能是运营商劫持了HTTP。

(6)总结 & 习题

注意!!!这里的本地域名服务器有缓存!!!(并且采用的是迭代查询

  1. 当用户在浏览器中输入一个域名时,操作系统会向所配置的DNS解析器发送一个DNS查询请求。
  2. DNS解析器接收到请求后,首先检查自己的缓存,如果命中缓存,则直接返回对应的IP地址。
  3. 如果缓存中没有找到对应的IP地址,DNS解析器会向根域名服务器发送请求,询问顶级域名(如.com.org)的权威域名服务器的地址。
  4. 根域名服务器返回顶级域名服务器的地址。
  5. DNS解析器接着向顶级域名服务器发送请求,询问该域名的权威域名服务器的地址。
  6. 顶级域名服务器返回权威域名服务器的地址。
  7. DNS解析器最后向权威域名服务器发送请求,获取要查询的域名对应的IP地址。
  8. 权威域名服务器返回IP地址给DNS解析器。
  9. DNS解析器将获取到的IP地址返回给操作系统和应用程序。
  10. 操作系统和应用程序使用获取到的IP地址进行网络通信。

5、文件传输协议FTP

FTP(File Transfer Protocol)是一种用于文件传输的标准协议。FTP协议规定了客户端和服务器之间交互的方式,使得用户可以通过网络上传、下载和管理文件。

FTP协议采用客户端-服务器(Client-Server)结构来进行文件传输。

用户在客户端上使用FTP客户端应用程序连接到FTP服务器,并进行文件上传和下载操作。

FTP客户端应用程序通常包含一个图形用户界面(GUI)和文件管理功能,使得用户可以方便地浏览和管理文件。

(1)FTP服务器

如何在电脑上,搭建FTP服务器?

Windows可以选择合适的FTP服务器软件。有很多不同的FTP服务器软件可供选择,例如FileZilla Server、ProFTPD、VSFTPD等。根据你的需求和操作系统选择最适合你的FTP服务器软件。

详情搭建链接:如何在个人电脑上快速搭建FTP服务器? - 知乎

注意:

FTP协议在传输过程中使用明文传输,包括命令和数据内容,因此存在安全风险。

为了增加安全性,可以使用安全的FTP协议(FTPS)或使用虚拟专用网络(VPN)来加密FTP传输过程。

(2)FTP服务器——访问方式

(3)FTP服务器——工作原理

21端口用于连接,20端口用于传输数据。

21端口——连接通道(控制连接)

20端口——数据通道(传输完文件,就关闭!避免性能浪费)

(4)习题

6、电子邮件

(1)读取邮件 & 发送邮件 (大致过程)

        

读取邮件和发送邮件的过程涉及两个常用的协议:

SMTPSimple Mail Transfer Protocol)和POP3Post Office Protocol version 3)。

发送邮件的过程(使用SMTP协议)如下:

  1. 连接到SMTP服务器:邮件客户端通过TCP连接到SMTP服务器,默认端口为25
  2. 身份验证(可选):如果需要身份验证,客户端发送用户名和密码给SMTP服务器进行身份验证。
  3. 发送邮件信息:客户端向SMTP服务器发送包含邮件内容的命令,包括发件人、收件人、主题和正文等。
  4. SMTP服务器处理:SMTP服务器接收到客户端发送的邮件信息后,会根据地址解析和路由规则,将邮件传递给负责接收邮件的服务器。
  5. 接收服务器处理:接收服务器根据收件人的地址接收邮件,并存储在相应的邮箱中。

读取邮件的过程(使用POP3协议)如下:

  1. 连接到POP3服务器:邮件客户端通过TCP连接到POP3服务器,默认端口为110
  2. 身份验证:客户端发送用户名和密码给POP3服务器进行身份验证。
  3. 检查邮件列表:客户端发送命令给POP3服务器,请求检查邮件列表。
  4. 下载邮件:客户端发送命令给POP3服务器,请求下载特定的邮件。服务器将邮件通过数据连接发送给客户端。
  5. 标记已读/删除邮件:客户端发送命令给POP3服务器,标记已读或删除特定的邮件。在标记删除后,邮件仍然存在于服务器上,只是处于被标记为删除的状态。

注意:

SMTP和POP3协议是明文传输的,因此在传输过程中可能存在安全风险。

为了增加安全性,可以使用加密的SMTP(SMTPS)和POP3(POP3S)协议,或者使用更安全的协议如IMAP(Internet Message Access Protocol)来进行邮件的发送和接收。      

(2)邮件 & 文本数据

(3) 邮件协议(SMTP发送、POP3读取)

SMTP是一种用于发送电子邮件的协议。它定义了电子邮件客户端如何将邮件发送到邮件服务器,并通过互联网将邮件传递给收件人的邮件服务器。SMTP负责将电子邮件从发送方传输到接收方的服务器。(25端口)

注意:SMTP协议——只能传输7比特的ASCII码的内容!!!

在SMTP服务器上启用SMTP认证。常见的备选端口是587和465,它们通常被称为“SMTPS”端口,也可以用于加密的SMTP连接。

POP3是一种用于接收电子邮件的协议。它允许电子邮件客户端从邮件服务器上下载邮件,以便用户可以查看和管理自己的邮件。POP3协议通常与用户的电子邮件软件(如Outlook、Thunderbird等)配合使用,它下载邮件并将其存储在用户的本地设备上。

POP3(无加密):默认端口为110。当客户端与POP3服务器进行简单的明文通信时,使用该端口。

POP3S(加密的POP3):默认端口为995。当客户端通过SSL或TLS进行安全通信时,使用该端口。

注意:

SMTP和POP3协议是明文传输的,因此在传输过程中可能存在安全风险。

为了增加安全性,可以使用加密的SMTP(SMTPS)和POP3(POP3S)协议,或者使用更安全的协议如IMAP(Internet Message Access Protocol)来进行邮件的发送和接收。

(4)基于万维网的电子邮件

类似:IMAP(Internet Message Access Protocol)

(5)习题


总结

7、万维网

万维网(World Wide Web)是基于互联网的一种信息服务系统,它由一系列通过超文本链接连接在一起的文档组成。通过使用标准化的协议和语言,如HTTP(Hypertext Transfer Protocol)和HTML(Hypertext Markup Language)。

万维网使用户能够访问和浏览全球范围内的多媒体信息。

万维网 (World Wide Web,WWW)是存储在Internet计算机中、数量巨大的文档的集合。这些文档称为页面,它是一种超文本(Hypertext)信息,可以用于描述超媒体。

文本、图形、视频、音频等多媒体,也称为超媒体。

超媒体与超文本的区别

超文本文档只包含文本的信息,超媒体文档不仅包含文本的信息,还包含其他多媒体对象,如图片、视频、动画、音频等多媒体。

万维网的文件包括:

(1)浏览器(软件)

浏览器内核又可以分成两部分:

渲染引擎(layout engineer或者Rendering Engine)JS引擎。

它负责取得网页的内容(HTMLXML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至 显示器或打印机。

浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。

(编程语法相同,效果不同!)

(2)万维网的工作方式

万维网以C/S方式,即客户/服务器的方式工作。其中,浏览器就是在用户主机上的万维网客户程序。万维网文档(web文档)所驻留的主机则运行服务器程序,如IIS 、Apache、Nginx等。所以这个主机也叫作万维网服务器或者Web服务器。

当浏览器向web服务器发送出对某个Web文档的请求时,Web服务器返回浏览器请求的Web文档,浏览器将该文档在窗口中显示出来。Web文档呈现在浏览器窗口中的就是我们所说的网页和页面。

(3)统一资源定位符URL

统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。只有对资源定位,系统才可以对资源进行各种操作。如存取、更新、替换和查找其属性等。

例如:http://127.0.0.1:8080/index

(4)HTTP——超文本传输协议

HTTP(Hypertext Transfer Protocol)是一种用于在Web浏览器和Web服务器之间进行通信的协议。

它是一种无状态、可靠的协议,用于传输超文本和其他资源。

HTTP协议使用传输层中的TCP协议来传输信息,并且使用了系统端口号80

万维网上的服务器进程不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求。一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览器某个页面的请求,服务器接着就返回所请求的页面作为响应。通信结束后释放TCP连接。

(4)HTTP——报文格式

响应报文 & 请求报文

(4)HTTP——响应状态码

HTTP协议定义了一系列的状态码,用于表示服务器对客户端请求的响应状态。每个状态码都有特定的含义,以下是常见的HTTP状态码:

1xx:信息类(Informational

  • 100 Continue:服务器已接收到请求的初始部分,客户端可以继续发送剩余部分。
  • 101 Switching Protocols:服务器已理解请求,将切换到新的协议。

2xx:成功(Successful

  • 200 OK:请求成功,服务器返回所请求的资源。
  • 201 Created:请求成功,并在服务器上创建了新的资源。
  • 204 No Content:请求成功,但服务器没有返回任何内容。

3xx:重定向(Redirection

  • 301 Moved Permanently:所请求的资源已永久移动到新的URL。
  • 302 Found(或者302 Found):所请求的资源暂时移动到新的URL。
  • 304 Not Modified:客户端缓存的资源仍然有效,可以直接使用缓存的版本。

4xx:客户端错误(Client Error

  • 400 Bad Request:服务器无法理解客户端的请求。
  • 401 Unauthorized:请求要求身份验证。
  • 403 Forbidden:服务器拒绝访问所请求的资源。
  • 404 Not Found:所请求的资源不存在。

5xx:服务器错误(Server Error

  • 500 Internal Server Error:服务器遇到了意外的错误,无法完成请求。
  • 502 Bad Gateway:作为代理或网关的服务器从上游服务器接收到非法响应。
  • 503 Service Unavailable:服务器当前无法处理请求,通常是由于过载或维护导致。

(5)cookie

cookie、session、token这三者的区别:cookie、session、token这三者的区别 - 简书

(6)万维网缓存 & 代理服务器

万维网缓存和代理服务器CDN(内容分发网络)有一些相似之处,但它们并不完全相同。

万维网缓存(Web Cache)是一种用于存储常见网页资源的服务器。当客户端请求访问一个网页时,如果该网页已经存在于缓存服务器中,缓存服务器会直接将资源返回给客户端,而不必向原始的web服务器重新请求。这可以显著提高页面加载速度,减轻原始服务器的负载压力。万维网缓存通常被部署在网络边缘,例如在ISP(互联网服务提供商)或组织内部。

代理服务器(Proxy Server)是一种充当客户端和原始服务器之间中间人角色的服务器。当客户端发送请求时,请求首先发送到代理服务器,然后代理服务器会转发请求到目标服务器,并将响应返回给客户端。代理服务器可以用于多种目的,包括缓存数据、提供安全性和隐私保护、限制或过滤访问、负载均衡等。代理服务器通常是由组织自己搭建和管理。

CDN(内容分发网络)是一种分布式网络架构,通过将内容复制到位于全球各地的边缘节点上,以便更快地将内容提供给最终用户。CDN的边缘节点通常配备有缓存服务器,可以直接向用户提供所需的内容,从而提高响应速度和用户体验。CDN还可以通过负载均衡、智能路由以及其他优化技术来实现更高效的内容分发。

尽管万维网缓存和代理服务器在某些方面与CDN有相似之处,但CDN通常具有更广泛的网络基础设施,可以提供更全面的内容分发服务,并具备更强大的性能优化和负载均衡能力。

(7)B/S应用程序结构

浏览器/服务器(Browser/Server)方式,一种特殊的C/S方式。

利用动态和活动网页,通过通用的浏览器为用户提供人机交互的界面。

优点是用户不需要安装单独的应用程序,简化了应用的开发、维护和使用。

越来越多的网络应用采用B/S结构,例如购物网站、电子邮件、搜索引擎、博客等等。

(8)总结 & 习题

难点(三次握手时,第三次就会发请求页面!!!注意啦!!!)

到这里,计算机网络已经全部学习完啦!!!

学完计算机网络,大家对计算机之间如何通信,有了一个大致的认识。

学无止境,继续加油,为了自己!!!你的梦想,你的未来!

你不能停在这里!!!

时间:2023年8月30日15:09:29

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pan_peter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值