应用层
网络应用模型
C/S模型
客户/服务器模型
服务器:提供计算服务的设备 1. 永久提供服务 2. 有永久性访问地址/域名
客户机:请求计算服务的主机 1. 与服务器通信,使用服务器提供的服务 2. 间歇性接入网络 3. 可能使用动态IP地址 4. 不与其他客户机之间通信
C/S模型的应用:Web、FTP、telnet/SSH、SMTP
P2P模型
对等模型
- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可由请求服务
- 任意系统/节点之间可用直接通信
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可扩展性好
- 网络健壮性强(一个节点down了,对整个网络系统影响小)
DNS域名解析系统
DNS:域名服务,为客户机提供域名解析服务器
域名组成
如“www.baidu.com”是一个域名,从严格意义上讲,“baidu.com”才被称为域名(全球唯一),而“www”是主机名
“主机名.域名”称为完全限定域名(FQDN)。一个域名下可以有多个主机,域名全球唯一,所以“主机名.域名”也是全球唯一的
以“sina.com.cn”域名为例,一般管理员在命名其主机的时候会根据其主机的功能而命名,比如网站的是www,博客的是blog,论坛的是bbs,那么对应的FQDN为“www.sina.com.cn”,“blog.sina.com.cn”,“bbs.sina.com.cn”。这么 多个FQDN,我们只需要申请一个域名即"sina.com.cn"即可。
域名组成
树形结构:
- 根域 .(如“www.baidu.com”,实际上为“www.baidu.com.”,但是最后的那个点默认不写)
- 顶级域
- 国家顶级域 cn、jp、hk、uk
- 商业顶级域
- com 商业机构
- gov 政府机构
- mil 军事机构
- edu 教育机构
- org 民间组织机构
- net 互联网
- 一级域名
- 二级域名
- ……
如:www.baidu.com. .为根域 .com为顶级域 baidu为一级域名 www为主机名
监听端口
TCP53、UDP53
DNS解析种类
- 按查询方式分类
- 递归查询:客户机与本地DNS服务器之间的解析过程
- 迭代查询:本地DNS服务器与根DNS服务器等其他DNS服务器之间的解析过程
- 按查询内容分类
- 正向解析:已知域名,解析IP
- 反向解析:已知IP,解析域名
FTP文件传输协议
FTP可以提供不同类型主机系统(硬、软件体系等都可以不同)之间的文件传输能力
FTP是基于C/S模型的协议 用户通过客户机程序连接至再远程计算机上运行的服务器程序 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端
监听端口
TCP20/21
工作模式
-
主动模式
- 21端口:控制进程端口
- 20端口:数据传输进程端口
-
- 客户机访问服务器的21端口,建立控制进程连接
- 客户机给出进行数据连接要使用的端口号
- 服务器主动使用20端口与客户机提供的端口进行连接
- 此模式下,客户机需要关闭防火墙
-
被动模式
- 21端口:控制进程端口
- 服务器与客户机自行协商数据传输端口(端口号 >= 1024)
-
- 客户机访问服务器的21端口,并请求服务器提供一个端口进行数据传送连接
- 服务器被动提供一个端口号给客户机,客户机对该端口进行连接
- 此模式下,服务器需要关闭防火墙
-
注意:
主被动模式的选择权在客户机上
主被动的“主”和“被”是站在服务器角度上判断的
SMTP、POP3电子邮件
电子邮件信息格式
-
信封:abc@163.com abc:用户名,163.com:服务器名 -
内容:
-
首部: To:abc@163.com Subject:Hello -
主体: 信息内容
组成结构
用户代理:撰写、显示、处理、通信(与邮件服务器之间的通信)
邮件服务器:发送与接收邮件(与邮件服务器之间的通信)、向发件人报告邮件传输结果 邮件服务器可以同时充当服务器与客户端的角色
相关协议
SMTP
使用TCP25端口
用于发送的协议 如,发件人将邮件发送至邮件服务器 邮件服务器将邮件发送至接收方的邮件服务器
SMTP协议规定了两个相互通信的SMTP进程之间应如何交换信息 负责发送邮件的SMTP进程就是SMTP客户,负责接收有邮件的进程就是SMTP服务器 SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)
通信的三个阶段:
-
连接建立: -
邮件发送 发:MAIL FROM: <abc@163.com> 收:250 OK/451 (452、500…) 告知是否准备好接受邮件 发:RCPT TO:<cba@163.com> 收:250 OK/550 No sush user here 服务器确定是否有这个用户 发:DATA 收:354 start mail input; end with <CR><LF>.<CR><LF> SMTP服务器同意传输 发:Date…… 收:250 OK -
释放连接:邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回”221“,同意释放TCP连接
通用因特网邮件扩充MINE
由于SMTP有着一系列缺点:
- 不能传送可执行文件或其他二进制对象
- 仅限传送7位ASCII码,不能传送其他非英语国家文字
- 拒绝传送超过一定长度的邮件
所以产生了MIME,对SMTP功能进行了拓展:
POP3、IMAP
POP3
使用TCP110端口
用于接收的协议 如,接收方从接收方服务器中接收邮件
工作方式(接收方读取邮件时):
IMAP
IMAP协议比POP复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮件的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还运行只读取邮件的某一个部分(先看正文,有条件了再下载附件)
万维网和HTTP协议
万维网是一个大规模的、联机式的信息储藏所/资料空间,存储着众多资源,而客户通过使用统一资源定位符(URL)访问这些资源
URL:是各种资源(文字、视频、音频)的唯一标识 URL一般形式:<协议>://<主机>:<端口号>/<路径> URL中最常用的就是超文本传输HTTP协议 用户点击超链接 (“http://www.baidu.com”) 获取资源,这些资源通过HTTP协议传给使用者
万维网使用超文本标记语言HTML,使得人们可以方便的从一个界面跳转到另一个界面,并能够在自己的屏幕上显示出来
超文本传输协议HTTP
使用TCP80端口
HTTP协议规定了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
具体过程:
- 浏览器分析URL
- 浏览器向DNS请求解析IP地址
- DNS解析出IP地址
- 浏览器与服务器建立TCP连接
- 浏览器发出取文件命令
- 服务器响应
- 释放TCP连接
- 浏览器显示
特点:
-
HTTP协议是无状态/无记忆的(当希望存储用户信息时,使用Cookie存储用户信息) -
HTTP采用TCP作为运输层协议,TCP是面向连接的,但HTTP协议是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接) -
连接方式分为两种
-
持久连接:在服务器发送完数据后的一段时间内,仍然保持连接状态 -
非持久连接:每次请求数据都需要三次握手
报文结构
HTTP有两种报文:请求报文和响应报文。 HTTP报文是面向文本的,因此在报文中的每一个字段都是ASCII串码 )
-
连接方式分为两种
-
持久连接:在服务器发送完数据后的一段时间内,仍然保持连接状态 [外链图片转存中…(img-S1omph9Q-1627966844080)] -
非持久连接:每次请求数据都需要三次握手 [外链图片转存中…(img-uvihSsmk-1627966844080)]
报文结构
HTTP有两种报文:请求报文和响应报文。 HTTP报文是面向文本的,因此在报文中的每一个字段都是ASCII串码
|