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

系列文章目录

计算机网络 第1章(概述)
计算机网络 第2章(物理层)
计算机网络 第3章(数据链路层)
计算机网络 第4章(网络层)
计算机网络 第5章(运输层)
计算机网络 第6章(应用层)


文章目录

  • 系列文章目录
  • 1. 应用层概述
  • 2. 客户/服务器方式(C/S方式)和对等方式(P2P方式)
    • 2.1 概念
    • 2.2 客户/服务器方式(C/S方式)
    • 2.3 对等方式(P2P方式)
    • 2.4 总结
  • 3. 动态主机配置协议DHCP
    • 3.1 概念
    • 3.2 DHCP的作用
    • 3.3 DHCP的工作过程
    • 3.4 DHCP中继代理
    • 3.5 总结
  • 4. 域名系统DNS
    • 4.1 概述
    • 4.2 域名解析过程
    • 4.3 总结
  • 5. 文件传送协议FTP
    • 5.1 概念
    • 5.2 文件传送协议FTP的应用
    • 5.3 FTP基本工作原理
    • 5.4 总结
  • 6. 电子邮件
    • 6.1 概念
    • 6.2 邮件发送和接收过程
    • 6.3 简单邮件传送协议SMTP(Simple Mail Transfer Protocol)的基本工作原理
    • 6.4 电子邮件的信息格式
    • 6.5 邮件读取
    • 6.6 基于万维网的电子邮件
    • 6.7 总结
  • 7. 万维网WWW
    • 7.1 概念
    • 7.2 超文本传输协议HTTP(Hyper Transfer Protocol)
      • 7.2.1 概念和传输过程
      • 7.2.2 HTTP报文格式
      • 7.2.3 使用Cookie在服务器上记录用户信息
      • 7.2.4 万维网缓存与代理服务器
    • 7.3 总结


1. 应用层概述

在这里插入图片描述

在这里插入图片描述

我们在浏览器的地址中输入某个网站的域名后,就可以访问该网站的内容,这个就是万维网WWW应用,其相关的应用层协议为超文本传送协议HTTP

在这里插入图片描述

用户在浏览器地址栏中输入的是“见名知意”的域名,而TCP/IP的网际层使用IP地址来表示目的主机,从域名到IP地址的装转换,由属于应用层范畴的域名系统DNS,在后台帮用户完成

在这里插入图片描述

常见的应用

在这里插入图片描述

总结

在这里插入图片描述

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

2.1 概念

在这里插入图片描述

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

在这里插入图片描述

2.3 对等方式(P2P方式)

在这里插入图片描述

2.4 总结

在这里插入图片描述

3. 动态主机配置协议DHCP

3.1 概念

  • 互联网广泛使用的动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。
  • 这种机制允许一台计算机加入新的网络和获取 IP 地址,而不用手工配置。

3.2 DHCP的作用

在之前,如果要正常访问Web服务器,需要该主机手动配置网络的相关配置信息

在这里插入图片描述

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

如果我们给网络中添加一台DHCP服务器

在这里插入图片描述

3.3 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提供报文是否是自己的
  • 配置信息:
    (1)IP地址:DHCP服务器从自己的IP地址池中挑选待租用给主机的IP地址(使用ARP来确保所选IP地址未被网络中其他主机占用)
    (2)子网掩码
    (3)地址租期
    (4)默认网关
    (5)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检测
在这里插入图片描述

剩下流程图示

在这里插入图片描述

3.4 DHCP中继代理

下图的网络拓扑中的各主机是否可以通过DHCP来自动获取到网络配置?

在这里插入图片描述

使用DHCP中继代理是因为我们不用给每一个网络上都设置一个DHCP服务器,这样会使DHCP服务器的数量太多

3.5 总结

在这里插入图片描述

4. 域名系统DNS

4.1 概述

域名相比IP地址更容易记忆

在这里插入图片描述

因特网是否可以只使用一台DNS服务器?

不行

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

名称相同的域名其等级未必相同

在这里插入图片描述

在这里插入图片描述

4.2 域名解析过程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.3 总结

在这里插入图片描述

5. 文件传送协议FTP

5.1 概念

在这里插入图片描述

5.2 文件传送协议FTP的应用

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

FTP客户计算机可将各种类型的文件上传到FTP服务器计算机

在这里插入图片描述

FTP客户计算机也可以从FTP服务器计算机下载文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.3 FTP基本工作原理

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

FTP客户随机选择一个临时端口号与其建立TCP连接,这条TCP连接用于FTP客户与服务器之间传送FTP的相关控制命令(这条连接是FTP客户与服务器之间的命令通道)

在这里插入图片描述

下图为建立数据通道的TCP连接

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

在这里插入图片描述

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

下图实例为被动模式

在这里插入图片描述

两种模式对比

在这里插入图片描述

注意两种模式都是
控制连接在整个会话期间保持打开状态
数据连接传输完毕后就关闭

5.4 总结

在这里插入图片描述

6. 电子邮件

6.1 概念

在这里插入图片描述

6.2 邮件发送和接收过程

在这里插入图片描述

6.3 简单邮件传送协议SMTP(Simple Mail Transfer Protocol)的基本工作原理

在这里插入图片描述

6.4 电子邮件的信息格式

在这里插入图片描述

6.5 邮件读取

在这里插入图片描述

6.6 基于万维网的电子邮件

在这里插入图片描述

6.7 总结

在这里插入图片描述

7. 万维网WWW

7.1 概念

概述

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

万维网的工作方式

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

在这里插入图片描述

在这里插入图片描述

万维网应用举例

访问网页

在这里插入图片描述

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

在这里插入图片描述

万维网的文档

在这里插入图片描述

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

7.2.1 概念和传输过程

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

在这里插入图片描述

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

在这里插入图片描述

7.2.2 HTTP报文格式

HTTP请求报文格式

在这里插入图片描述

HTTP响应报文格式

在这里插入图片描述

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

在这里插入图片描述

7.2.4 万维网缓存与代理服务器

在这里插入图片描述

如果该请求有缓存

在这里插入图片描述

如果该请求没有缓存

在这里插入图片描述

若WEb缓存的命中率比较高
则会大大减小了该链路上的通信量,因而减少了访问因特网的时延

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

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

若未过期

在这里插入图片描述

若过期并且代理服务器的文档和原始服务器的文档一致,原始服务器则给代理服务器发送不包含实体主体的响应

在这里插入图片描述

若过期并且代理服务器的文档和原始服务器的文档不一致,原始服务器则给代理服务器发送封装有该文档的响应报文

在这里插入图片描述

7.3 总结

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[docker] Docker的数据卷、数据卷容器,容器互联

一、数据卷(容器与宿主机之间数据共享) 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容…

【Linux】 开始使用 gcc 吧!!!

Linux 1 认识gcc2 背景知识3 gcc 怎样完成 ?3.1 预处理预处理^条件编译 3.2 编译3.3 汇编3.4 链接 4 函数库5 gcc 基本选项Thanks♪(・ω・)ノ谢谢阅读下一篇文章见!!! 1 认识gcc 我们在windows环…

windows和linux下SHA1,MD5,SHA256校验办法

今天更新android studio到Android Studio Hedgehog | 2023.1.1时,发现提示本机安装的git版本太老,于是从git官网下载最新的git。 git下载地址: https://git-scm.com/ 从官网点击下载最新windows版本会跳转到github仓库来下载发布的git&…

unity 装饰器模式(实例详解)

文章目录 简介1. **组件装饰器(Component Decorators)**:2. **游戏对象特效装饰器(GameObject Effects Decorator)**:3. **输入处理装饰器(Input Handling Decorators)**:4. **性能优化装饰器(P…

JWT登录

JWT JSON Web Token(JSON Web令牌) 是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任,因为它是数字签名的。jwt可以使用秘密〈使用HNAC算法…

行业报告 | 人形机器人的产业研报分析

原创 | 文 BFT机器人 对于人形机器人,相信大家都不陌生。随着科技的飞速发展,人形机器人已经从科幻小说和电影走进了我们的现实生活。 近年来,机器人技术创新不断,人形机器人在教育、医疗、工业生产等各个领域都有广泛的应用前景…

人工智能原理实验4(2)——贝叶斯、决策求解汽车评估数据集

🧡🧡实验内容🧡🧡 汽车数据集 车子具有 buying,maint,doors,persons,lug_boot and safety六种属性,而车子的好坏分为uncc,ucc,good and vgood四种。 🧡🧡贝叶斯求解🧡🧡…

thinkphp5实战之phpstudy v8环境搭建,解决Not Found找不到路径问题

引言 thinkphp以快速、简约的大道至简的思想广受欢迎,适合开发小型项目。本地环境下,phpstudy v8是一款比较优秀的集成环境软件。部署完项目后,访问的时候傻眼,报错。 解决方案 不要慌,这个是伪静态的原因。选择apach…

系统架构15 - 软件工程(3)

软件过程模型 瀑布模型特点缺点 原型化模型特点两个阶段不同类型注意 螺旋模型V 模型特点 增量模型特点 喷泉模型基于构件的开发模型(CBSD)形式化方法模型敏捷模型特点“适应性” (adaptive) 而非“预设性” (predictive)“面向人的” (People-oriented) 而非“面向过程的” (P…

02-Redis持久化、主从与哨兵架构详解

文章目录 Redis持久化RDB快照(snapshot)bgsave的写时复制(COW)机制AOF(append-only file)AOF重写RDB 和 AOF ,我应该用哪一个? Redis 4.0 混合持久化Redis数据备份策略: Redis主从架构redis主从…

2023年我国民用无人机产业规模超过1200亿元,低空经济时代来临

2023年我国民用无人机产业规模超过1200亿元,低空经济时代来临 根据最新数据显示,2023年中国的民用无人机产业规模已经超过了1200亿元,稳居全球榜首。预计到2025年,这个数字将突破2000亿元,届时低空经济对国民经济的综…

STC89C51单片机

本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步! > 发布人:日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

ChatGPT 全域调教高手:成为人工智能交流专家

随着人工智能的快速发展,ChatGPT作为一种强大的文本生成模型,在各行各业中越来越受到重视和应用。想要利用ChatGPT实现更加智能、自然的交流,成为 ChatGPT 全域调教高手吗?本文将为您介绍如何通过优化ChatGPT的训练方法&#xff0…

【c语言】扫雷

前言: 扫雷是一款经典的单人益智游戏,它的目标是在一个方格矩阵中找出所有的地雷,而不触碰到任何一颗地雷。在计算机编程领域,扫雷也是一个非常受欢迎的项目,因为它涉及到许多重要的编程概念,如数组、循环…

Axios取消请求:AbortController

AbortController AbortController() 构造函数创建了一个新的 AbortController 实例。MDN官网给出了一个利用AbortController取消下载视频的例子。 核心逻辑是:利用AbortController接口的只读属性signal标记fetch请求;然后在需要取消请求的时候&#xff0…

php二次开发股票系统代码:腾讯股票数据接口地址、批量获取股票信息、转换为腾讯接口指定的股票格式

1、腾讯股票数据控制器 <?php namespace app\index\controller;use think\Model; use think\Db;const BASE_URL http://aaaaaa.aaaaa.com; //腾讯数据地址class TencentStocks extends Home { //里面具体的方法 }2、请求接口返回内容 function juhecurl($url, $params f…

蓝桥杯备战——2.矩阵键盘

1.分析原理图 由上图可以看到若J5跳线帽接地&#xff0c;就S4~S7就可以当做四路独立按键&#xff0c;若接到P44&#xff0c;则就是4*4的矩阵键盘。 2.独立按键处理 相对传统的按键延时消抖方案&#xff0c;这里我采用更高效&#xff0c;更经典&#xff0c;更偏向产品级应用的…

[bat]基于msg的弹窗提示

一、方案 1、定时自动消失的弹窗 代码&#xff1a; echo off echo method 1 msg * /time:5 "123456" REM echo method 2 REM msg * "123456"pause 效果&#xff1a; 立即弹窗在5秒后消失。 2、一直存在的弹窗 源码&#xff1a; echo off REM echo m…

Python基础之数据库操作

一、安装第三方库PyMySQL 1、在PyCharm中通过 【File】-【setting】-【Python Interpreter】搜索 PyMySQL进行安装 2、通过PyCharm中的 Terminal 命令行 输入: pip install PyMySQL 注&#xff1a;通过pip安装&#xff0c;可能会提示需要更新pip&#xff0c;这时可执行&#…

15- OpenCV:模板匹配(cv::matchTemplate)

目录 1、模板匹配介绍 2、cv::matchTemplate 3、模板匹配的方法&#xff08;算法&#xff09; 4、代码演示 1、模板匹配介绍 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。 它可以在一幅图像中寻找与给定模板最相似的部分。 模板匹配的步骤&#xff1a; &a…