作者:进击攻城狮
个人主页:欢迎访问我的主页
首发时间:2022年9月18日星期日
订阅专栏:计算机网络
如果文章有错误,欢迎在评论区指正。
第六章 应用层
6.1网络应用模型
应用层概述
应用层对应程序的通信提供服务
应用层协议定义:
应用进程交换的报文类型,请求还是响应?
各种报文类型的语法,如报文中的各个字段及其详细描述
字段的语义,即包含在字段中的信息的含义
进程何时、如何发送报文,以及对报文进行响应的规则
应用层的功能:
文件传输
电子邮件
虚拟终端
查询服务和远程作业登录
应用层的重要协议:
FTP
SWTP,POP3
HTTP
DNS
网络应用模型
客户/服务器模型(Client/Server)
P2P模型(Peer-to-peer)
客户/服务器模型
服务器:提供计算服务的设备
- 永久提供服务
- ‘永久性提供访问地址/域名
客户机:请求计算服务的主机
- 与服务器通信,使用服务器提供的服务
- 间接性接入网络
- 可能使用动态IP地址
- 不与其他客户机总结通信
P2P模型
不存在永远在线的服务器
每个主机既可以提供服务,也可以请求服务
任意端系统/节点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
可扩展性好
网络健壮性强
6.2DNS系统
DNS系统
IP地址太长了,记不住,域名替代IP地址,通过记住域名访问网址
www.baidu.com
域名---->IP地址
域名通过DNS服务器解析IP地址
域名
www.cskaoyan.com
顶级域名:cn,us,uk(中国,美国,英国)
通用顶级域名: com公司和组织,net提供信息的网络机构,org开源网站
gov政府,int国际,aero用于军队,museum博物馆,travel旅游
基础结构域名/反向域名 arpa ip地址到域名映射
域名服务器
根域名服务器(老大,知道所有顶级域名服务器)
顶级域名服务器
权限域名服务器
本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器
域名解析过程
递归查询
迭代查询
域名解析过程
高速缓存:加快查询速度,解析完后就缓存,以后就找本地域名服务器,定期更新(本地和主机都有高速缓存,先主机后本地)
6.3文件传输协议FTP
文件传输协议FTP
提供不同种类主机系统之间的文件传输能力
简单文件传送协议TFTP
FTP服务器和用户端
FTP是基于客户/服务器(C/S)的协议
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端
FTP客户端软件
FTP工作原理
登录ftp地址 用户名和密码
匿名登录
FTP使用TCP实现可靠传输
FTP传输模式
文本模式:ASCII模式,以文本序列传输数据
二进制模式:Binary模式,以二进制序列传输数据
6.4电子邮件
电子邮件系统概述
电子邮件系统概述–电子邮件的信息格式
电子邮件:信封 [email protected],
内容:首部 主体
电子邮件系统概述–组成结构
简单邮件传送协议SMTP
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息
负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器
SMTP规定了14条命令和21种应答信息(三位数字代码+简单文字说明)
1.连接建立
发送方—>发送方邮件服务器—>接收方邮件服务器
2.邮件发送
3.邮件释放
邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回“221”,表示同意释放TCP连接
MIME
SMTP的缺点:
- SMTP不能传送可执行文件或者其他二进制对象
- SMTP仅限于7位ASCII码,不能传送其他非英语国家的文字
- SMTP服务器会拒绝超过一定长度的邮件
MIME协议
邮局协议POP3
POP3工作方式:
下载并保留
下载并删除
网际报文存取协议IMAP
IMAP协议比POP协议复杂。当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮箱,该邮箱才上传到用户的计算机上。
IMAP可以让用户在不同的地方使用不同的计算机随机上网阅读处理邮件,还允许只读取邮件中的某一个部分
基于万维网的电子邮件
6.5万维网和HTTP协议
万维网概述
万维网是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。
超文本传输协议HTTP
HTTP协议定义了浏览器,怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
HTTP协议的特点
HTTP是无状态的
实际工作中,一些万维网站点常常希望能够识别用户
Cookie是存储在用户主机中的文本文件,记录一段时间内某用户的访问记录。
提供个性化用户
HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的