计算机网络第6章(应用层)

news2024/11/20 11:39:31

6.1、应用层概述

在这里插入图片描述在这里插入图片描述我们在浏览器的地址中输入某个网站的域名后,就可以访问该网站的内容,这个就是万维网WWW应用,其相关的应用层协议为超文本传送协议HTTP
在这里插入图片描述用户在浏览器地址栏中输入的是“见名知意”的域名,而TCP/IP的网际层使用IP地址来表示目的主机,从域名到IP地址的装转换,由属于应用层范畴的域名系统DNS,在后台帮用户完成
在这里插入图片描述常见的应用
在这里插入图片描述总结
在这里插入图片描述

6.2、客户/服务器方式(C/S方式)和对等方式(P2P方式)

概念

在这里插入图片描述

客户/服务器方式(C/S方式)

在这里插入图片描述

对等方式(P2P方式)

在这里插入图片描述

总结

在这里插入图片描述

6.3、动态主机配置协议DHCP

概念

互联网广泛使用的动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。

这种机制允许一台计算机加入新的网络和获取 IP 地址,而不用手工配置。

DHCP的作用

在之前,如果要正常访问Web服务器,需要该主机手动配置网络的相关配置信息
在这里插入图片描述

如果主机数很多,就工作量大,容易出错

如果我们给网络中添加一台DHCP服务器
在这里插入图片描述

DHCP的工作过程

DHCP 使用客户 - 服务器方式

需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文 (DHCP DISCOVER),这时该主机就成为 DHCP 客户。

本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。

DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCP OFFER)。

DHCP 工作方式

DHCP 使用客户-服务器方式,采用请求/应答方式工作。

DHCP 基于 UDP 工作(DHCP报文在运输层会被封装成为UDP用户数据报),DHCP 服务器运行在 67 号端口, DHCP客户运行在 68 号端口。

DHCP交互过程
在这里插入图片描述DHCP客户端将广播发送DHCP发现报文(DHCP DISCOVER)

事务ID

DHCP客户端的MAC地址

封装该报文的IP数据报的源IP地址为0.0.0.0,这是因为主机目前还未分配到IP地址,因此使用该地址代替

**目的IP地址为广播地址255.255.255.255,之所以广播发送,是因为主机现在并不知道网络中有哪几个DHCP服务器。**它们的IP地址各是什么

DHCP服务器收到DHCP发现报文后,根据其中封装的DHCP客户端的MAC地址来查找自己的数据库,如果查到匹配信息,则使用这些配置信息来构建并发送DHCP提供报文,如果没有则采用默认配置信息来构建报文并发送
在这里插入图片描述DHCP服务端将广播发送DHCP提供报文(DHCP OFFER)

事务ID:DHCP客户端会与之前DHCP发现报文的事务ID做对比,来判断该DHCP提供报文是否是自己的

配置信息:

  • IP地址:DHCP服务器从自己的IP地址池中挑选待租用给主机的IP地址(使用ARP来确保所选IP地址未被网络中其他主机占用)

  • 子网掩码

  • 地址租期

  • 默认网关

  • DNS服务器

源IP地址:发送DHCP提供报文的DHCP服务器的IP

目的地址:因为目的主机还没分配到IP,所以使用广播地址

在本例中,DHCP客户会收到两个DHCP服务器发来的DHCP提供报文,DHCP客户从中选择一个,一般选择先到的,并向所选择的DHCP服务器发送DHCP请求报文
在这里插入图片描述DHCP客户端将广播发送DHCP请求报文(DHCP REQUEST)

事务ID

DHCP客户端的MAC地址

接收的租约中的IP地址

提供此租约的DHCP服务器端的IP地址

源地址:0.0.0.0,因为此时DHCP客户才从多个DHCP服务器中挑选一个作为自己的DHCP服务器。它首先要征得该服务器的同意,之后才能正式使用向该DHCP服务器租用的IP地址

目的地址:广播地址,这样可以一次性向所有DHCP服务器发送DHCP请求报文,来告知它们是否请求它们作为自己的DHCP服务器

在本例中,假设DHCP客户端选择DHCP服务器1作为自己的DHCP服务器,DHCP服务器1接受该请求,于是DHCP服务器1给DHCP客户端发送DHCP确认报文
在这里插入图片描述源地址:DHCP服务器1的IP地址

目的地址:广播地址

DHCP客户收到该报文后就可以使用租用的IP地址

在使用前还会进行ARP检测
在这里插入图片描述剩下流程图示
在这里插入图片描述

DHCP中继代理

下图的网络拓扑中的各主机是否可以通过DHCP来自动获取到网络配置?
在这里插入图片描述使用DHCP中继代理是因为我们不用给每一个网络上都设置一个DHCP服务器,这样会使DHCP服务器的数量太多

总结

在这里插入图片描述

6.4、域名系统DNS

概述

域名相比IP地址更容易记忆
在这里插入图片描述因特网是否可以只使用一台DNS服务器?

不行
在这里插入图片描述在这里插入图片描述在这里插入图片描述名称相同的域名其等级未必相同
在这里插入图片描述在这里插入图片描述

域名解析过程

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

总结

在这里插入图片描述

6.5、文件传送协议FTP

概念

在这里插入图片描述

文件传送协议FTP的应用

FTP采用C/S方式(客户/服务器方式)

FTP客户计算机可将各种类型的文件上传到FTP服务器计算机
在这里插入图片描述FTP客户计算机也可以从FTP服务器计算机下载文件
在这里插入图片描述在这里插入图片描述在这里插入图片描述

FTP基本工作原理

FTP服务器监听熟知端口(端口号为 21),使客户进程能够连接上。

FTP客户随机选择一个临时端口号与其建立TCP连接,这条TCP连接用于FTP客户与服务器之间传送FTP的相关控制命令(这条连接是FTP客户与服务器之间的命令通道)
在这里插入图片描述下图为建立数据通道的TCP连接

FTP服务器使用自己的熟知端口号20与其建立TCP连接,这条TCP连接用于FTP客户与服务器之间传送文件
在这里插入图片描述

上面例子是主动模式:建立数据通道时,FTP服务器主动连接FTP客户

下图实例为被动模式
在这里插入图片描述两种模式对比
在这里插入图片描述

注意两种模式都是

控制连接在整个会话期间保持打开状态

数据连接传输完毕后就关闭

总结

在这里插入图片描述

6.6、电子邮件

概念

在这里插入图片描述

邮件发送和接收过程

在这里插入图片描述

简单邮件传送协议SMTP(Simple Mail Transfer Protocol)的基本工作原理在这里插入图片描述## 电子邮件的信息格式在这里插入图片描述## 邮件读取在这里插入图片描述

基于万维网的电子邮件

在这里插入图片描述

总结

在这里插入图片描述

6.7、万维网WWW

概念

概述

万维网 WWW (World Wide Web) 并非某种特殊的计算机网络。

万维网是一个大规模的、联机式的信息储藏所

万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。

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

万维网的工作方式

万维网以客户 - 服务器方式工作。

浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器

客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档

在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。
在这里插入图片描述在这里插入图片描述万维网应用举例

访问网页
在这里插入图片描述怎样标志分布在整个互联网上的万维网文档?
在这里插入图片描述万维网的文档
在这里插入图片描述

超文本传输协议HTTP(Hyper Transfer Protocol)

概念和传输过程

在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。

HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。
在这里插入图片描述每个万维网网点都有一个服务器进程,它不断地监听 TCP 的端口 80,以便发现是否有浏览器向它发出连接建立请求。

一旦监听到连接建立请求并建立了 TCP 连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。

最后,TCP 连接就被释放了。
在这里插入图片描述

HTTP报文格式

HTTP请求报文格式
在这里插入图片描述HTTP响应报文格式
在这里插入图片描述

使用Cookie在服务器上记录用户信息

在这里插入图片描述

万维网缓存与代理服务器

在这里插入图片描述如果该请求有缓存
在这里插入图片描述如果该请求没有缓存
在这里插入图片描述

若WEb缓存的命中率比较高

则会大大减小了该链路上的通信量,因而减少了访问因特网的时延

假设原始服务器的文档被更改,这样代理服务器的文档就不是最新的

所以原始服务器通常会为每个响应的对象设定一个修改时间字段和一个有效日期字段

若未过期
在这里插入图片描述若过期并且代理服务器的文档和原始服务器的文档一致,原始服务器则给代理服务器发送不包含实体主体的响应
在这里插入图片描述若过期并且代理服务器的文档和原始服务器的文档不一致,原始服务器则给代理服务器发送封装有该文档的响应报文
在这里插入图片描述

总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1442527.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何让内网client通过公网地址访问内网server?

第一步,实现任意公网用户访问内网server。按教育网规矩,公网过来的流量要访问校内网的server必须从教育专线(路由器接口G0/0/1)进入。 第二步,实现内网主机通过公网地址210.43.2.3能够访问内网server192.168.1.2,图中①…

动漫风博客介绍页面源码

动漫风博客介绍页面源码,HTML源码,图片背景有淡入切换特效 蓝奏云:https://wfr.lanzout.com/iIDZu1nrmjve

科研绘图-半小提琴图-

文章目录 前言1.软件安装-Origin 20222.绘制半小提琴图3.绘制径向条形图 前言 本文叙述记录的是一些科研绘图的实现方法,具体介绍从软件安装到实现图表绘制的详细过程。 1.软件安装-Origin 2022 Origin是一款具有丰富绘图功能的科研绘图软件,安装过程…

百卓Smart管理平台 uploadfile.php 文件上传漏洞(CVE-2024-0939)

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

基于opencv-python模板匹配的银行卡号识别(附源码)

目录 介绍 数字模板处理 银行卡图片处理 导入数字模板 模板匹配及结果 介绍 我们有若干个银行卡图片和一个数字模板图片,如下图 我们的目的就是通过对银行卡图片进行一系列图像操作使得我们可以用这个数字模板检测出银行卡号。 数字模板处理 首先我们先对数…

2024Node.js零基础教程(小白友好型),nodejs新手到高手,(六)NodeJS入门——http模块

047_http模块_获取请求行和请求头 hello,大家好,那第二节我们来介绍一下如何在这个服务当中来提取 HTT 请求报文的相关内容。首先先说一下关于报文的提取的方法,我在这个文档当中都已经记录好了,方便大家后续做一个快速的查阅。 …

Python速成篇(基础语法)下(新年快乐♥)

引言 一天不学编程手就痒,今天是除夕,学C艹vector的话就没时间出去玩了,所以就写写博客。今天要讲的内容是关于,list(列表),tuple(元组),字典(di…

C#,巴都万数列(Padonve Number)的算法与源代码

1 巴都万数列(Padovan Sequence) 巴都万数列(Padovan Sequence)是一个整数数列。 首数个值为1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37 ... 此数列以建筑师理察巴都万命名,他的论文Dom(1994年&a…

Select 选择器 el-option 回显错误 value

离谱 回显的内容不是 label 而是 value 的值 返回官方看说明: v-model的值为当前被选中的el-option的 value 属性值 value / v-model 绑定值有3种类型 boolean / string / number 根据自身代码猜测是:tableData.bookId 与 item.id 类型不一致导致 &…

C++入门学习(二十六)for循环

for (初始化; 条件; 递增/递减) { // 代码块 } 打印1~10&#xff1a; #include <iostream> using namespace std; int main() { for (int i 1; i < 10; i) { cout <<i<<endl; } return 0; } 打印九九乘法表&#xff1a; #include <iostream…

大模型基础架构的变革:剖析Transformer的挑战者(下)

上一篇文章中&#xff0c;我们介绍了UniRepLKNet、StripedHyena、PanGu-π等有可能会替代Transformer的模型架构&#xff0c;这一篇文章我们将要介绍另外三个有可能会替代Transformer的模型架构&#xff0c;它们分别是StreamingLLM、SeTformer、Lightning Attention-2&#xff…

1、学习 Eureka 注册中心

学习 Eureka 注册中心 一、创建 Eureka 微服务0、SpringBoot 和 SpringCloud 版本1、引入 Eureka 服务端依赖2、启动类加 EnableEurekaServer 注解3、配置 yaml 文件&#xff0c;把 Eureka 服务注册到 Eureka 注册中心4、访问 Eureka 服务端&#xff0c;查看注册中心的服务列表…

Blazor Wasm Gitee 码云登录

目录: OpenID 与 OAuth2 基础知识Blazor wasm Google 登录Blazor wasm Gitee 码云登录Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasmBlazor SSR/WASM IDS/OIDC 单点登录授权实例3-服务端…

[神奇代码岛】皮肤功能使用

前言 最近有很多人在制作地图的时候&#xff0c;因该会用到皮肤的功能&#xff0c;但是皮肤操作只知道UI操作&#xff0c;但缺点是&#xff0c;只能设置地图默认皮肤&#xff0c;根本都做不到想要的什么皮肤购买功能&#xff0c;自主穿戴功能&#xff0c;而API官方又放在非常隐…

Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasm

目录: OpenID 与 OAuth2 基础知识Blazor wasm Google 登录Blazor wasm Gitee 码云登录Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasmBlazor SSR/WASM IDS/OIDC 单点登录授权实例3-服务端…

SpringCloud-Ribbon实现负载均衡

在微服务架构中&#xff0c;负载均衡是一项关键的技术&#xff0c;它可以确保各个服务节点间的负载分布均匀&#xff0c;提高整个系统的稳定性和性能。Spring Cloud 中的 Ribbon 就是一种负载均衡的解决方案&#xff0c;本文将深入探讨 Ribbon 的原理和在微服务中的应用。 一、…

12 ABC串口接收原理与思路

1. 串口接收原理 基本原理&#xff1a;通过数据起始位判断要是否要开始接收的数据&#xff0c;通过采样的方式确定每一位数据是0还是1。 如何判断数据起始位到来&#xff1a;通过边沿检测电路检测起始信号的下降沿 如何采样&#xff1a;一位数据采多次&#xff0c;统计得到高…

大水仙花数求解

输入位数&#xff0c;求解水仙花数。暴力求解&#xff0c;位数如果太多&#xff0c;会超时。 思路&#xff1a; &#xff08;1&#xff09;11333355和33331155看上去是不一样的两个数&#xff0c;但是它们又一样&#xff0c;因为相同数字出现的次数一样。 &#xff08;2&…

【Makefile】入门

一、编译工具及构建工具介绍 二、Makefile的简单讲解 1. 编译的四个阶段2. Makefile的规则 a. 基本规则b. 伪目标c. 变量赋值和预定义变量d.注释和换行符e. 变量的替换引用f.常见函数 一、编译工具及构建工具介绍 在之前的课程&#xff0c;都是直接使用gcc对代码进行编译&a…

JAVA设计模式之代理模式详解

代理模式 1 代理模式介绍 在软件开发中,由于一些原因,客户端不想或不能直接访问一个对象,此时可以通过一个称为"代理"的第三者来实现间接访问.该方案对应的设计模式被称为代理模式. 代理模式(Proxy Design Pattern ) 原始定义是&#xff1a;让你能够提供对象的替代…