六.应用层

news/2024/10/8 1:10:05/

目录

​编辑

4.11 DHCP

6.1应用层的概述

6.2网络应用模型

CS

P2P

6.3DNS

域名

www是什么,http是什么,到底什么区别?

DNS出现及演化

DNS概括

DNS域名解析过程

6.4FTP

FTP客户/服务器

FTP工作原理

FTP传输模式

6.5电子邮件

电子邮件的信息格式

电子邮件系统组成结构

SMTP

MIME

邮局协议POP3

网际报文存取协议IMAP

基于万维网的电子邮件

6.6万维网和HTTP

万维网概述WORLD WIDE WEB

统一资源定位符URL

超文本标记语言HTML

HTTP超文本传输协议

HTTP协议的特点

HTTP的链接方式

HTTP报文结构


 

4.11 DHCP

先问一个问题:主机如何获得IP地址?

答案是有两种方法:静态和动态

动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP

DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址,子网掩码,默认网关,DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网路,支持在用地址续租。

其工作步骤举例子:

6.1应用层的概述

应用层对应用程序的通信提供服务。

应用层协议定义:

1.应用进程交换的报文类型,请求还是响应?

2.各种报文类型的语法,如报文中的各个字段及其详细描述。

3.字段的语义,即包含在字段中的信息的含义。

4.进程何时,如何发送报文,以及对报文进行响应的规则。

应用层的功能:

文件传输,访问和管理

电子邮件

虚拟终端

查询服务和远程作业登录

应用层的重要协议

FTP

SMTP,POP3

HTTP

DNS

6.2网络应用模型

CS

Client/Server客户/服务器模型

P2P

Peer to peer p2p对等模型

6.3DNS

DNS(Domain Name System,域名系统)

域名

www :主机名 .sina : 子域 .com : 二级域 .cn : 顶级域 . " : 根域

www.sina.com.cn, mail.sina.com.cn这种完整的表示方式,称为 FQDN (完整合格域名)

www是什么,http是什么,到底什么区别?

1.www是域名系统中的主机名字,例如:www配合http://baidu.com(域名)来用于DNS解析。

2. http是一种访问协议,用于从服务器中取得信息,前提是服务器支持http协议。

当浏览器中输入http://www.baidu.com时,浏览器会自动将其转化为http://www.baidu.com,然后通过DNS层级结构,得到主机名为www,域名为http://baidu.com的主机ip地址,进行http请求,得到服务器中的信息。那为什么主机名是www呢?这里www是最为一种默认的主机名来使用,用www来表示提供web服务的主机,这只是一种习惯问题,你可以用xxyy来表示提供web服务的主机,但是这样主机名毫无意义。目前由于http协议的数据是未加密的,安全性的得不到保障,大多数的http转为了htttps,是将传输层使用的TCP转为了SSL,SSL是TCP的加强版,SSL不仅可以做TCP所做的一切,而且提供了安全性服务。

 

 

DNS出现及演化

网络出现的早期 是使用IP地址通讯的,那时就几台主机通讯。但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件 ( Linux和windows也继承保留了这个文件)。这个文件中记录这主机名称和IP地址的对应表。这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了。

但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放hosts文件,以供下载使用。互联网规模进一步扩大,这种方式也不堪负重,而且把所有地址解析记录形成的文件都同步到所有的客户机似乎也不是一个好办法。这时DNS系统出现了,随着解析规模的继续扩大,DNS系统也在不断的演化,直到现今的多层架构体系。

DNS概括

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址互相映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

DNS的分布数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这棵逆向树称为域名空间(domain name space),如下图所示树的最大深度不得超过127层,树中每个节点都有一个可以长达63个字符的文本标号。

DNS域名解析过程

Tip: 全球共有13根域名服务器。 这13台根域名服务器中名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。 根服务器主要用来管理互联网的主目录,全世界只有13台。 1个为主根服务器,放置在美国。

 

1,在浏览器中输入http://pool.btc.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

2,如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

3,如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

4,如果要查询的域名,不在本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

5,如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(http://BTC.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找http://pool.btc.com域服务器,重复上面的动作,进行查询,直至找到http://pool.btc.com主机。

6,如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

6.4FTP

 

FTP客户/服务器

FTP工作原理

FTP传输模式

6.5电子邮件

电子邮件的信息格式

电子邮件系统组成结构

 

SMTP

 

 

MIME

 

邮局协议POP3

网际报文存取协议IMAP

基于万维网的电子邮件

6.6万维网和HTTP

万维网概述WORLD WIDE WEB

统一资源定位符URL

Uniform Resource Locator用于唯一标识万维网中的资源,不区分大小写。

超文本标记语言HTML

Hyper Text Markup Language可以使一个页面能被大家看到。

HTTP超文本传输协议

HTTP协议的特点

HTTP的链接方式

HTTP报文结构

 


http://www.ppmy.cn/news/1535935.html

相关文章

微服务JMeter解析部署使用全流程

目录 1、介绍 2、下载 3、运行 4、设置简体中文版 5、开始测试 1、添加线程组 2、添加监听器 3、添加请求 先.测试userController里的查询方法 6、查看结果 1、查看结果树 2、汇总报告 3、聚合报告 7、JMeter报错 1、介绍 Apache JMeter 是 Apache 组织基于 Java…

Python知识点:如何使用Kafka与Python进行流数据处理

开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 如何使用Kafka与Python进行流数据处理 Apache Kafka是一个流行的分布式流处理平…

实验 | 使用本地大模型从论文PDF中提取结构化信息

非结构文本、图片、视频等数据是待挖掘的数据矿藏, 在经管、社科等研究领域中谁拥有了_从非结构提取结构化信息的能力_,谁就拥有科研上的数据优势。正则表达式是一种强大的文档解析工具,但它们常常难以应对现实世界文档的复杂性和多变性。而随…

【CSS】水平垂直居中

给父盒子设置属性 flex display: flex;写在父元素上这就是定义了一个伸缩容器justify-content:center 设置主轴对齐方式为居中,默认是横轴。子元素居中。align-items:center 设置纵轴对齐方式为居中,默认是纵轴。子元素居中。 给…

qt_c++_xml存这种复杂类型

demo&#xff0c;迅雷链接。或者我主页上传的资源 链接&#xff1a;https://pan.xunlei.com/s/VO8bIvYFfhmcrwF-7wmcPW1SA1?pwdnrp4# 复制这段内容后打开手机迅雷App&#xff0c;查看更方便 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>#include…

智能手表(Smart Watch)项目

文章目录 前言一、智能手表&#xff08;Smart Watch&#xff09;简介二、系统组成三、软件框架四、IAP_F411 App4.1 MDK工程结构4.2 设计思路 五、Smart Watch App5.1 MDK工程结构5.2 片上外设5.3 板载驱动BSP5.4 硬件访问机制-HWDataAccess5.4.1 LVGL仿真和MDK工程的互相移植5…

【MySQL】子查询、合并查询、表的连接

目录 一、子查询 1、单行子查询 显示SMITH同一部门的员工信息 2、多行子查询 in关键字 查询和10号部门的工作岗位相同的雇员的名字、岗位、工资、部门号&#xff0c;但是筛选出的雇员的部门不能有10号部门 all关键字 查询工资比30号部门中所有雇员工资高的雇员的姓名、…

数据结构之——树形结构

一、树形结构概述 树形结构是一种非线性数据结构&#xff0c;在计算机科学领域有着广泛的应用。它呈现出层次嵌套的特点&#xff0c;就像一棵倒挂的树&#xff0c;根朝上&#xff0c;叶子朝下。 在树形结构中&#xff0c;节点之间存在着 “一对多” 的关系。一个节点可以拥有多…