应用层概述
应用层对应用程序的通信提供服务。
应用层协议定义:
规定应用进程交换的报文类型,是请求报文还是响应报文。
各种报文类型的语法,如报文中的各个字段及其详细描述。
字段的语义,即包含在字段中的信息的含义。
进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的功能:文件传输、访问和管理;电子邮件、虚拟终端;查询服务和远程作业登录。
应用层的重要协议:FTP;SMTP、POP3;HTTP;DNS;
网络应用模型
-
客户/服务器(C/S)模型
服务器::提供计算服务的设备。
1.永久提供服务
2.永久性访问地址/域名
客户机:请求计算服务的主机。
1.与服务器通信,使用服务器提供的服务
2.间歇性接入网络
3.可能使用动态IP地址
4.不与其他客户机直接通信
应用:WEB,文件传输FTP,远程登陆,电子邮件
-
P2P模型
不存在永远在线的服务器
每个主机既可以提供服务,也可以请求服务
任意端系统/节点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
可扩展性好
网络健壮性强
DNS系统
域名(不区分大小写)
域名服务器
域名解析过程
文件传送协议
文件传送协议FTP(File Transfer Protocol):
FTP服务器和用户端
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
FTP是基于客户/服务器(C/S)的协议。
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
- FTP工作原理
ftp地址 用户名&密码
匿名登录(了解即可,用于防止访问过多):无需注册,只是访问远程主机上公开的文件。
FTP使用TCP实现可靠传输
FTP服务器进程【1个主进程;n个从属进程】
简单文件传送协议TFTP(Trivial File Transfer Protocol)
- 控制连接始终保持
- 数据连接保持一会
- 是否使用TCP20端口建立数据与传输模式有关
- 主动方式使用TCP 20端口
- 被动方式由服务器和客户端自行协商决定(端口>1024)
FTP传输模式:
文本模式:ASCII模式,以文本序列传输数据;
二进制模式:Binary模式,以二进制序列传输数据。
电子邮件系统概述
那我们来讲一下SMTP【简单邮件传送协议】
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。
SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)
TCP连接 端口号25 C/S
SMTP通信三个阶段:
-
连接建立
-
邮件传送
- 连接释放
邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回“221”,表示同意释放TCP连接。
SMTP的缺点:
1.SMTP不能传送可执行文件或其他二进制对象。
2.SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。
3.SMTP服务器拒绝超过一定长度的邮件。
因此,通用因特网邮件扩充MIME
邮局协议POP3
网际报文存取协议IMAP
IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一部分(先看正文,有Wi-Fi的时候再下载附件)。
基于万维网的电子邮件
万维网和HTTP协议
万维网www(world wide web)是一个大规模的联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。
统一资源定位符URL唯一标识资源(文字、视频、音频……)
URL一般形式:<协议>://<主机>:<端口>/<路径>
万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。
万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
超文本传输协议HTTP
HTTP协议的特点
1.HTTP是无状态的(无记忆)。但实际工作中,一些万维网站点常常希望能够识别用户。
HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)。
HTTP连接方式
超文本传输协议HTTP--报文结构
HTTP报文
- 请求报文
-
响应报文
HTTP报文是面向文本的,因此在报文中的每一个字段都是一些ASCII码