6.0 章节概述
6.1.1 网络应用模型
应用层概述
- 应用层对应用程序的通信提供服务。
- 应用层协议定义:
- 应用进程交换的报文类型,请求还是响应?
- 各种报文类型的语法,如报文中的各个字段及其详细描述
- 字段的语义,即包含在字段中的信息的含义。
- 进程何时、如何发送报文,以及对报文进行响应的规则。
- 应用层的功能:
- 文件传输、访问和管理
- 电子邮件
- 虚拟终端
- 香询服务和远程作业登录
- 应用层的重要协议
- FTP
- SMTP、POP3
- HTTP
- DNS
网络应用模型
- 两种模型:客户/服务器模型、P2P模型
客户/服务器(C/S)模型
- 服务器:提供计算服务的设备。
- 永久提供服务
- 永久性访问地址/域名
- 客户机:请求计算服务的主机
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态IP地址
- 不与其他客户机直接通信
P2P模型
- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可以请求服务
- 任意端系统/节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可扩展性好
- 网络健壮性强
6.2 域名解析系统DNS
域名
- 当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器。若查不到就向根域名服务器查询,若还查不到就向顶级域名服务器查询,再向权限域名服务器查询。
域名解析过程
- 两种查询方式:
- 递归查询【本地域名服务器查不到,让根域名那个服务器查,再查不到,让权限域名服务器查】
- 迭代查询【本地域名服务器查不到,本地域名服务器自己去顶级域名服务器中查,再查不到本地域名服务器自己去权限域名服务器里查】
- 高速缓存:主机和域名服务器会将查找过的域名对应IP地址存入高速缓存中,便于下一次查找。高速缓存内容动态变化。
6.3 文件传输协议FDP
文件传输协议
- 文件传输协议FTP
- 简单文件传输协议TFTP
FTP服务器和用户端
FTP是基于客户/服务器(CS)的协议。
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
FTP工作原理
- 登录
- ftp地址、用户名&密码
- 匿名登录
- FTP使用TCP实现可靠传输
- FTP的服务器进程由两大部分组成:一个主进程,负责接收新的请求;另外由若干个从属进程,负责处理单个请求。
- 客户端和服务端之间要建立两个并行的TCP连接:“控制连接”【传请求】、“数据连接”【传文件】
- 在连接过程中,控制连接始终保持。数据连接保持一会。
- 建立数据连接是否使用TCP 20端口与传输模式有关
- 主动方式使用TCP 20端口
- 被动方式由服务器和客户端自行协商决定(端口>1024)
6.4.1 电子邮件
电子邮件的信息格式
电子邮件系统的组成结构
- 用户代理(电子邮箱客户端软件)——>功能:1.撰写 2.显示 3.处理 4.通信
- 邮件服务器——>功能:1.发送&接收邮件 2.向发件人报告邮件传送结果【C/S】
- 协议——>SMTP(发)、POP3和IMAP(收)
简单邮件传送协议SMTP
- SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
- 负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器
- SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)
- 注:
- SMTP协议使用TCP连接
- 协议端口号为25
- 使用C/S模式
- SMTP通信三个阶段:连接建立——>邮件发送——>连接释放
SMTP通信三个阶段
通用因特网邮件扩充MIME
- SMTP的缺点:
- SMTP不能传送可执行文件或者其他二进制对象
- SMTP仅限于传送7位ASCI码,不能传送其他非英语国家的文字。
- SMTP服务器会拒绝超过一定长度的邮件。
- 使用MIME使得电子邮箱系统可以支持声音、图像、视频、多种国家语言等等。使得传输内容丰富多彩
邮局协议POP3
网际报文存取协议IMAP
基于万维网的电子邮件
脑图时刻
6.5 万维网和HTTP协议
万维网概述
- 万维网WWW(World Wide Web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。
- 统一资源定位符URL:对资源(文字、视频、音频……)的唯一标识【URL不区分大小写】
- URL一般形式:<协议>://<主机>:<端口>/<路径>【协议:http或ftp;主机:域名或IP地址】
- 用户通过点击超链接(htp://www.baidu.com)获取资源,这些资源通过超文本传输协议 HTTP 传送给使用者
- 万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。
- 万维网使用超文本标记语言HTML 使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来
超文本传输协议HTTP
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
HTTP协议的特点
HTTP协议的连接方式
- 非流水线式(上图的持久连接就是非流水线式的):发送一个请求后,等收到传输过来的数据后才能发送下一个请求报文
- 流水线式:万维网客户可以同时发送多个HTTP请求,服务器在收到请求后一次响应请求
超文本传输协议HYYP——报文结构
请求报文实例: