开始时间:2022年2月25日20:07:53

6.1 应用层概述

各层解决的问题
image.png

应用层:解决通过应用进程的交互来实现特定网络应用的问题
应用层是设计和建立计算机网络的最终目的


小结
image.png


6.2 客户/服务器方式 和 对等方式

引入
image.png
客户/服务器方式(C/S方式)
对等方式(P2P方式 Peer-to-Peer)


客户/服务器方式(C/S方式)
服务器总是处在运行状态,并等待客户的服务请求
有固定的端口号
运行服务器的主机也要有固定的IP地址
image.png

image.png


对等方式(P2P方式 Peer-to-Peer)
image.png

image.png


小结
image.png


6.3 DHCP(动态主机配置协议)

引入
在众多PC的局域网内,所有主机的IP地址,子网掩码,默认网关,DNS服务器等信息,都靠手工配置是一件无趣且痛苦的事情。

故此,希望有 可为其他各主机配置网络的服务器——DHCP服务器


DHCP介绍

DHCP是TCP/IP体系中应用层的协议
使用运输层的UDP所提供的服务
(即,DHCP报文在运输层会被封装成UDP报文)

DHCP服务器 使用的UDP端口号为 67
DHCP客户 使用的UDP端口号为 68


举例说明DHCP的工作过程
image.png


DHCP客户寻找DHCP服务器

当客户主机启用DHCP,DHCP客户将广播 DHCP发现报文
DHCP发现报文:
源地址0.0.0.0
目的地址255.255.255.255
事物ID
DHCP客户端的MAC地址 等…
广播发送DHCP发现报文的原因:
主机并不知道有几哪个DHCP服务器及其IP地址
DHCP用户广播DHCP发现报文,所有主机和服务器都会收到
其他DHCP客户会丢弃该报文
(因为所有DHCP客户的应用层都不会监听UDP67端口的进程【DHCP服务器进程】)


DHCP服务器提供IP租用

所有DHCP服务器收到该报文后,层层解封装,接收并做出响应
(因为DHCP服务器的应用层始终运行着DHCP服务器进程UDP67)
DHCP服务器根据DHCP发现报文内的DHCP客户的MAC地址,在自身的数据库查看是否有针对该MAC的配置信息
if 有
采用已匹配的配置信息构建并发送DHCP提供报文
else
采用默认配置信息构建并发送DHCP提供报文

DHCP提供报文:
源IP地址:服务器的IP
目的地址:255.255.255.255
事物ID
配置信息【IP,子网掩码,地址租期,默认网关,DNS服务器等】

关于DHCP提供报文的目的地址仍使用广播地址的原因:
DHCP客户还没有配置IP地址,

所以DHCP客户此时只能根据事物ID来辨识是否该接收

其他DHCP服务器会接受到该报文但会丢弃(原因上述类似)


DHCP客户接受IP租约

当存在多个DHCP服务器,每个服务器受到DHCP发现报文后都会广播自己的DHCP提供报文,DHCP客户的选取原则是:先到先用

DHCP客户端,选择了某一DHCP服务器的DHCP提供报文,并向其发送DHCP请求报文 ,请求对分配下来的配置信息的使用

DHCP请求报文:
源IP地址:0.0.0.0
目的IP地址:255.255.255.255
{目的地址为广播地址的原因是:不用向所有DHCP服务器单播发送
DHCP请求报文}
事物ID
DHCP客户的MAC地址
配置信息内的IP地址
DHCP服务器的IP地址


DHCP服务器确认IP地址租约

若DHCP服务器愿意提供IP租赁
则返回 DHCP确认报文{源IP:DHCP服务器自身的IP
目的IP:255.255.255.255}
DHCP客户会使用ARP检测该IP是否被网络中其他主机占用,
未被占用则开始使用,
若被占用,发送DHCP谢绝报文给服务器,重新开始新一轮的DHCP获取过程

DHCP客户续约IP的情况

DHCP客户成功租赁后,当到达0.5倍租用期,DHCP客户会再次发送DHCP请求报文
if DHCP服务器愿意继续提供租赁
return DHCP ACK DHCP客户无忧继续使用
else
if 不愿意
return DHCP NACK DHCP客户立即停止使用,重新DHCP获取
else
DHCP服务器不做响应 DHCP客户在0.875倍租用期再次发送DHCP请求

若DHCP不愿意提供IP租赁
则返回 DHCP否认报文
DHCP客户收到后,重新开始新一轮的DHCP获取过程


DHCP客户随时解约

DHCP客户可以随时提前终止DHCP服务器提供的IP租赁服务,发送DHCP释放报文给服务器即可
DHCP释放报文{
源IP:0.0.0.0
目的IP:255.255.255.255
}

DHCP客户在租用期到期后必须立即停止使用租用的IP地址,开始新一轮的DHCP获取


DHCP中继代理
引入
PC如何向处在不同子网的DHCP服务器请求IP地址(配置信息)?
前文回顾
路由器既隔离广播域又隔离冲突域
DHCP客户首先是广播DHCP发现报文
实现
将与该网络相关联的路由器配置上DHCP服务器的IP,使之成为DHCP中继代理
image.png


6.4 DNS(域名系统)

DNS介绍
DNS:域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网
image.png

image.png

image.png


DNS服务器类型
1.根域名服务器
2.顶级域名服务器
3.权限域名服务器
4.本地域名服务器
image.png


域名解析过程
迭代查询
递归查询
image.png


提高DNS的查询效率
域名服务器上使用高速缓存
高速缓存用来存储
最近查询过的域名,及何处获得域名信息
image.png

image.png


题目
image.png


6.5 FTP(文件传输协议)

引入
image.png
文件传输协议FTP的常见应用
1.在计算机间传输文件,尤其是用于批量传输文件
2.让Web设计者将构成网站内容的大量文件批量上传到他们的Web服务器
image.png


FTP的基本工作原理

1.建立控制连接通道
[控制连接在整个会话期间一直保持打开,传送FTP相关控制命令]
FTP服务器 持续监听熟知端口号21
FTP客户 随机选择一个临时端口号,与FTP服务器建立TCP连接

这条TCP连接用于FTP客户与服务器之间传送FTP相关控制命令

2.来自FTP客户的通知
FTP客户有数据要传输时,FTP客户通过命令通道,告知FTP服务器来与自己的另一临时端口建立TCP连接,建立数据通道【主动模式】

FTP客户有数据要传输时,FTP客户通过命令通道,告知FTP服务器开启某个临时端口被动等待TCP连接,建立数据通道【被动模式】

3.建立数据连接通道
【数据连接用于文件传输,在每次传输文件时才建立,传输结束就关闭】
主动模式(建立数据通道时,FTP服务器主动连接FTP客户)

被动模式(建立数据通道时,FTP服务器被动等待FTP客户的连接)

image.png
可以这样理解主/被动模式
主:你和快递员说,必须送货上门
被:你和快递员说,先放在驿站,等会我自取

主被动一说是对于服务器而言的
客户都是在下达命令


题目
image.png

6.6 电子邮件

引入
image.png


介绍电子邮件
电子邮件系统
采用C/S方式
组成构件:用户代理 邮件服务器 电子邮件所需的协议

用户代理(又称电子邮件客户端软件):用户与电子邮件系统的接口
邮件服务器:发送和接收邮件,同时负责维护用户的邮箱的服务器
电子邮件所需的协议:分为邮件发送协议(如:SMTP)和邮件读取协议(如:POP3,IMAP)

邮件发送和接收的过程
image.png


邮件发送的SMTP(简单邮件传送协议)
基本工作原理
以发送方邮件服务器给接收方邮件服务器发送待转发的邮件为例
发送方邮件服务器周期性地扫描邮件缓存
if 存在待转发的邮件
发送方的服务器与接收方邮件服务器进行TCP连接(端口号25)
STMP客户(处在发生方邮件服务器)给接收方发送14种SMTP命令
STMP服务器(处在接收方邮件服务器)回复21种STMP应答
else
下一周期继续扫描邮件缓存
图片.png


电子邮件的信息格式
电子邮件的信息格式不是有SMTP定义,而是RFC标准文档所规定
电子邮件{
信封{ 邮件系统从首部自动提取相关信息到信封 }
内容{ 首部 主体 }
}图片.png


SMTP的缺点及解决

SMTP协议只能传输ASCII码文本数据
不能满足传输多媒体文件邮件(音、视频,图片)

为解决smtp无法传输非ASCII码文本的问题,提出了多用途因特网邮件扩展MIME
MIME对接收双方的STMP类的邮件中的非ASCII码文本进行格式转化,将非ASCII码文本转换为ASCII码文本
使得SMTP协议上也可以传输非ASCII码文本数据
图片.png


邮件接收的协议 POP3 IMAP4

两者均是邮件读取协议,均是基于TCP连接的C/S方式
{
POP3
采用 TCP的110端口
简单,功能有限
用户只能在服务器上以下载并删除方式或下载并保留方式进行操作
不允许用户在邮件服务器上管理自己的邮件
IMAP
采用TCP的143端口
功能强大,是一个联机协议
用户在自己的计算机上就可以操控邮件服务器中的邮箱
}



基于万维网的电子邮件
图片.png


小结image.png

6.7 WWW(万维网)

介绍WWW
WWW是一个大规模的,联机式的信息储藏所,是运行在因特网上的一个分布式应用

为了方便的访问世界范围的文档,万维网使用URL来指明因特网上任何种类“资源”的位置

统一资源定位符URL:
{
由协议 主机 端口 路径 四部分组成
}
<协议>://<主机>:<端口>/<路径>
如:http://www.hnust.cn:80/ggtz/119945.html


万维网的文档
前端三件套 HTML,CSS,JS。。。。


超文本传输协议HTTP
HTTP是面向文本的,其报文中的每一个字段都是一些ASCII码串,且每个字段的长度都不确定

HTTP定义了浏览器(即万维网客户进程)如何向万维网服务器请求万维网文档(前端页面),以及万维网服务器怎么把万维网文档传给浏览器图片.png
HTTP1.0
采用非持续连接方式
浏览器每要请求一个文件都要与服务器建立一次TCP连接,且收到响应后便立即关闭TCP连接
由下图可知,每次请求都要2RTT+文档的传输时延

为了减小时延,浏览器同时向服务器建立多个并行的TCP连接同时请求多个对象
大大加重了服务器端的负担

注意:
TCP三报文握手建立连接时

第三个报文(TCP普通确认报文)的数据载荷部分就是HTTP请求报文

图片.png
HTTP1.1
采用持续连接方式
万维网服务器发送了响应后,仍保持这条连接,使同一个客户和和该服务器可以继续在这条连接上传送后续的HTTP请求和响应报文
为提高效率,HTTP1.1还可以使用流水线方式工作
连续发,连续收。。节省很多个RTT时间
图片.png


HTTP的报文格式
HTTP请求报文格式
请求行
方法:主要是GET和POST两种
URL:资源所在位置
版本:http/1.0 http/1.1
首部行
键值对形式存在的相关信息
空行
实体主体(通常不用)
image.png


HTTP响应报文格式
状态行
版本:http1.0 or http1.1
状态码:服务器的返回给用户的消息类型的符号代表意
短语:对出现的状态码进行解释
首部行
相关信息
空行
实体主体(有些响应把稳不用)
image.png


Cookie
引入
早期:人们上网就是看看新闻,浏览咨询等并不需要登录,保持登录状
态等。因此HTTP被设计成一种无状态的协议,简化服务器的设计

现在,各大购物平台,视频平台都要登录,确认并维持身份
需要万维网服务器能够识别用户

Cookie提供一种机制使得万维网服务器能够“记住”用户,而无需用户主动提供用户标识信息
也就是说:Cookie是一种对无状态的HTTP进行状态化的技术

举例说明
如图
图片.png


题目
image.png

image.png

完结撒花:2022年2月28日21:03:13