应用层
网络应用模型
应用层概述
应用层对应用程序的通信提供服务。
应用层协议定义:
- 应用进程交换的报文类型,请求还是响应?
- 各种报文类型的语法,如报文中的各个字段及其详细描述。字段的语义,
- 即包含在字段中的信息的含义。
- 进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的功能:
- 文件传输、访问和管理电子邮件
- 虚拟终端
- 查询服务和远程作业登录
应用层的重要协议:
- FTP
- SMTP、POP3
- HTTP
- DNS
客户/服务器(C/S)模型
服务器:提供计算服务的设备。
- 永久提供服务
- 永久性访问地址/域名
客户机:请求计算服务的主机。
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态IP地址
- 不与其他客户机直接通信
应用: Web,文件传输FTP,远程登录,电子邮件
P2P模型
- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可以请求服务
- 任意端系统节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可扩展性好
- 网络健壮性强
DNS系统
域名
域名服务器
本地域名服务器
- 当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器
根域名服务器
- 他了解所有的顶级域名服务器
顶级域名服务器
- 管理该顶级域名服务器注册的所有二级域名
权限域名服务器
- 负责一个区的域名服务器
域名解析过程
文件传输协议FTP
文件传送协议FTP (File Transfer Protocol)
提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
FTP服务器和用户端
- FTP是基于客户/服务器(C/S)的协议。
- 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。依照
- FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
- 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户
FTP工作原理
登录
-
ftp地址 用户名&密码
-
——匿名登录
互连网中有很大一部分FTP服务器被称为“匿名”(Anonymous)FTP服务器。这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。
Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“anonymous”登陆FTP服务,就可访问远程主机上公开的文件。 -
FTP使用TCP实现可靠传输。
-
FTP传输模式
- **文本模式:**ASCI模式,以文本序列传输数据;
- 二进制模式: Binary模式,以二进制序列传输数据。
简单文件传送协议TFTP (Trivial File Transfer Protocol)
- 很小、易于实践的一种文件传输协议
- 十分适用于UDP 环境的
- 代码块所占的内存比较小
- 面向小文件的文件传输协议
电子邮件
电子邮件的信息格式
电子邮件
- 信封
- abc@163.com
- 内容
- 首部
- 主体
- 首部
组成结构
简单邮件传送协议SMTP
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。
SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
TCP连接 端口号25 c/S
SMTP通信三个阶段:
-
连接建立
-
邮件传送
-
连接释放
邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回“221”,表示同意释放TCP连接。
SMTP的缺点
- SMTP不能传送可执行文件或者其他二进制对象。
- SMTP仅限于传送7位ASCIl码,不能传送其他非英语国家的文字。
- SMTP服务器会拒绝超过一定长度的邮件。
所以诞生了因特网邮件扩充MIME
使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。使得传输内容丰富多彩
POP3邮局协议
接收端邮件服务器
POP3工作方式
- 下载并保留(在服务器)
- 下载并删除
网际报文存取协议IMAP
IMAP协议比POP协议复杂。当用户pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。
基于万维网的电子邮件
方便
万维网
万维网wwW (World Wide Web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。
统一资源定位符URL
——> 唯一标识 ——> 资源(文字、视频、音频…)
用户通过点击超链接(http://www.baidu.com)获取资源,这些资源通过超文本传输协议(HTTP〉
传送给使用者。万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。
万维网使用超文本标记语言HTML
)使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
超文本传输协议HTTP
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
HTTP特点
-
HTTP是无状态的
- 但是在实际工作中,一些万维网站点常常希望能够识别用户。 —— Cookie小饼干
- Cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别,如“123456”)的访问记录。——提供个性化服务
-
HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)。
-
HTTP的连接方式
- 持久连接Keep-alive
- 非流水线
- 流水线
- 非持久连接Close
- 持久连接Keep-alive
HTTP 报文结构
HTTP报文
- 请求报文
- 响应报文
HTTP报文是面向文本的,因此在报文中的每一个字段都是一些ASCIl码串。