计算机网络——应用层

第六章:应用层

《1》DNS域名解析协议

DNC服务作用:负责解析域名,将域名解析成IP地址

一、DNS原理

域名系统概述
域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址,机器在处理IP数据报时,并不是使用域名而是使用IP地址。这是因为IP地址长度固定,而域名的长度不固定,机器处理起来比较困难。
因特网规模很大,所以整个因特网只使用一个域名服务器是不可行的。因此因特网采用层次树状结构的命名方法,并使用分布式的域名系统DNS。并采用客户服务器方式。DNS使大多数名字都在本地解析(resolve),仅有少量解析需要在因特网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机除了故障,也不会妨碍整个DNS系统的正常运行。

因特网的域名结构
由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。这里,“域”(domain)是名字空间中一个可被管理的划分。
从语法上讲,每一个域名都是有标号(label)序列组成,而各标号之间用点(小数点)隔开。
例:
在这里插入图片描述
DNS规定,域名中的标号都有英文和数字组成,每一个标号不超过63个字符(为了记忆方便,一般不会超过12个字符),也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的字符写在最右边。由多个标号组成的完整域名总共不超过255个字符。DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级域名代表什么意思。各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。用这种方法可使每一个域名在整个互联网范围内是唯一的,并且也容易设计出一种查找域名的机制。

域名分类
域名只是逻辑概念,并不代表计算机所在的物理地点。据2006年12月统计,现在顶级域名TLD(Top Level Domain)已有265个,分为三大类:
(1)国家顶级域名nTLD:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)。
(2)通用顶级域名gTLD:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。
(3)基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。
在这里插入图片描述

域名服务器
如果采用上述的树状结构,每一个节点都采用一个域名服务器,这样会使得域名服务器的数量太多,使域名服务器系统的运行效率降低。所以在DNS中,采用划分区的方法来解决。

    一个服务器所负责管辖(或有权限)的范围叫做区(zone)。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机到域名IP地址的映射。总之,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区是DNS服务器实际管辖的范围。区 <= 域。

下图是区的不同划分方法的举例。假定abc公司有下属部门x和y,部门x下面有分三个分布们u,v,w,而y下面还有下属部门t。图a表示abc公司只设一个区abc.com。这是,区abc.com和域abc.com指的是同一件事。但图b表示abc公司划分为两个区:abc.com和y.abc.com。这两个区都隶属于域abc.com,都各设置了相应的权限域名服务器。不难看出,区是域的子集。

在这里插入图片描述
上图b中abc公司划分的两个区为例,给出了DNS域名服务器树状结构图。这种DNS域名服务器树状结构图可以更准确地反映出DNS的分布式结构。图中的每一个域名服务器都能够部分域名到IP地址的解析。当某个DNS服务器不能进行域名到IP地址的转换时,它就会设法找因特网上别的域名服务器进行解析。

域名服务的种类(根据域名服务起的作用划分)
根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助根域名服务器。所以根域名服务器是最重要的域名服务器。假定所有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。需要注意的是,在很多情况下,根域名服务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
在这里插入图片描述顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。
权限域名服务器:负责一个“区”的域名服务器。
本地域名服务器:本地服务器不属于下图的域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。

域名的解析过程
1、本地hosts文件
2、本地DNS缓存    
3、本地DNS服务器
4、发起迭代查询
一、主机向本地域名服务器的查询一般都是采用递归查询。所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

二、本地域名服务器向根域名服务器的查询的迭代查询。迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。
在这里插入图片描述

假定域名为m.xyz.com的主机想知道另一个主机y.abc.com的IP地址。例如,主机m.xyz.com打算发送邮件给y.abc.com。这时就必须知道主机y.abc.com的IP地址。下面是上图a的几个查询步骤:

    1、主机m.abc.com先向本地服务器dns.xyz.com进行递归查询。

    2、本地服务器采用迭代查询。它先向一个根域名服务器查询。

    3、根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。

    4、本地域名服务器向顶级域名服务器dns.com进行查询。

    5、顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。

    6、本地域名服务器向权限域名服务器dns.abc.com进行查询。

    7、权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。

    8、本地域名服务器最后把查询结果告诉m.xyz.com。

整个查询过程共用到了8个UDP报文。

为了提高DNS查询效率,并减轻服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛使用了高速缓存,用来存放最近查询过的域名以及从何处获得域名映射信息的记录。

二、配置视屏
https://www.bilibili.com/video/av92161458/
三、配置图片
https://cloud.tencent.com/developer/article/1078030

《2》动态主机配置协议DHCP

一、DHCP原理

功能:自动为主机配置IP地址也可以手配置
DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。后面可以看到,在用Wireshark过滤显示DHCP包,需要输入过滤条件BOOTP,而不是DHCP。
IP地址分为:静态ip、动态ip。
静态ip:一般分给特定的服务器,主机的位置相对比较稳定。
动态ip:主机位置不固定,手动配置容易形成地址冲突。

DHCP实现
在这里插入图片描述
DHCP的实现分为4步,分别是:
第一步:Client端在局域网内发起一个DHCP Discover包,目的是想发现能够给它提供IP的DHCP Server。
第二步:可用的DHCP Server接收到Discover包之后,通过发送DHCP Offer包给予Client端应答,意在告诉Client端它可以提供IP地址。
第三步:Client端接收到Offer包之后,发送DHCP Request包请求分配IP。
第四步:DHCP Server发送ACK数据包,确认信息。

DHCP starvation attack:DHCP饥饿攻击
一些不法分子,伪造合法的MAC地址,不断地向DHCP服务器发出DHCP Request包,最后耗尽服务器的可用IP,于是原有的这台DHCP服务器便不能够给客户端分配IP了,此时不法分子再伪造一台DHCP服务器,给客户端分配IP,将客户端的默认网关和DNS都设置成自己的机器,于是便可以对客户端进行中间人攻击。

跨网段dhcp服务器配置:
在这里插入图片描述当服务器想给不同的网段分配地址需在路由器上配置:
router(config-if)#ip helper-address 192.168.0.100
当配置此命令的时候客户端发起的广播会在路由器的接口上转化成单播,去寻找dhcp服务器,然后dhcp服务器会向客户端分配地址。

二、dhcp原理视频
 https://www.bilibili.com/video/BV1n7411s7cB
三、配置图片
https://blog.csdn.net/weixin_44907813/article/details/90441157
配置dhcp服务器时地址必须为固定地址。

注意:当计算机上没有启动dhcp client服务,将无法自动分配地址。

《3》文件传输协议FTP

一、FTP原理

功能:实现文件的上传与下载。
FTP连接方式
控制连接:标准端口为21,用于发送ftp命令信息,例上传还是下载命令。
数据连接:标准端口为20,用于上传,下载数据
数据连接的建立类型:
主动模式:服务端从20端口主动向客户端发起连接。
被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接。
FTP传输模式
文本模式:ASCLL模式,以文本传输数据
二进制模式:Binary模式,以二进制序列传输数据。

主、被动模式下的防火墙
FTP服务器端如果有防火墙,需要在防火墙开21和20端口,使用主动模式进行数据连接。防火墙只打开21和20端口被动模式FTP不能下载数据。
window配置FTP:

二、原理视频
 https://www.bilibili.com/video/BV1c4411d7jb?p=71
三、配置图片
     https://www.cnblogs.com/goldsunshine/p/10692735.html
   配置视频:https://www.bilibili.com/video/av92161458?p=3

《4》万维网www

一、万维网原理

万维网 WWW (World Wide Web)是一个大规模的、联机式的信息储藏所。万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。
在这里插入图片描述万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。
超文本: 一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。
超媒体:不仅包含文本,还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。

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

万维网必须解决的问题
怎样标志分布在整个因特网上的万维网文档?
使用统一资源定位符 URL (Uniform ResourceLocator)来标志万维网上的各种文档。
使每一个文档在整个因特网的范围内具有唯一的标识符 URL

用何协议实现万维网上各种超链的链接?
在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议HTTP (HyperText Transfer Protocol)。
HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。

怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?
超文本标记语言 HTML (HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来

怎样使用户能够很方便地找到所需的信息?
为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)

统一资源定位符 URL

统一资源定位符 URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。

URL的格式
由以冒号隔开的两大部分组成,并且在 URL中的字符对大写或小写没有要求。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用 HTTP 的 URL
使用 HTTP 的 URL 的一般形式:
http://<主机>:<端口>/<路径>

例如清华大学的官网主页URL为

      http://www.tsinghua.edu.cn/index.htm

开头指明了http,然后是主机域名,这里省略了端口号80,最后是路径名,一htm结尾表示是用超文本标记语言HTML写出的文件

超文本传送协议 HTTP

在这里插入图片描述
HTTP操作过程:

1、浏览器分析超链指向页面的 URL。
2、浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的IP 地址。
3、域名系统 DNS 解析出清华大学服务器的 IP 地址。
4、浏览器与服务器建立 TCP 连接
5、浏览器发出取文件命令:GET /chn/yxsz/index.htm。
6、服务器给出响应,把文件 index.htm 发给浏览器。
7、TCP 连接释放。
8、浏览器显示“清华大学院系设置”文件 index.htm中的所有文本。

HTTP 的主要特点
HTTP 是面向事务的客户服务器协议。
HTTP 1.0 协议是无状态的(stateless)。
HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。
HTTP/1.1 协议使用持续连接。

持续连接的两种工作方式
非流水线方式
流水线方式
在这里插入图片描述

代理服务器(proxy server)

代理服务器(proxy server)又称为万维网高速缓存(Web cache),它代表浏览器发出 HTTP 请求。
万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。
当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。
使用高速缓存可减少访问因特网服务器的时延

HTTP 的报文结构
HTTP 有两类报文:
请求报文——从客户向服务器发送请求报文。
响应报文——从服务器到客户的回答。
在这里插入图片描述
在这里插入图片描述
开始行:用于区分请求报文和响应报文,
方法用于表示实际的操作,URL,版本,CRLF分别代表“回车” 和“换行”,状态码表示返回的状态信息
首部行:用于说明浏览器、服务器或报文主体的一些信息
实体主体:一般不用这个字段
在这里插入图片描述
在这里插入图片描述

原理视频
 https://www.bilibili.com/video/BV1bE41137mf
配置视频
 https://www.bilibili.com/video/av13510878?p=9

《5》web服务

  注意:1.需要改变默认文档
              2.运IP地址访问

配置视频:https://www.bilibili.com/video/av23738902?from=search&seid=10553870130561305167

《6》电子邮件协议(SMTP/POP3/TMAP)

电子邮件(e-mail)是因特网上使用得最多的和最受用户欢迎的一种应用。

发送邮件的协议:SMTP
读取邮件的协议:POP3 和 IMAP

通用互联网邮件扩充MIME 在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等),使用 MIME 可在邮件中同时传送多种类型的数据。
在这里插入图片描述

《7》远程桌面协议RDP

原理及配置视频:

   https://www.bilibili.com/video/av92161458?p=8

文章有应用他人,若侵删。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值