文章目录
- 1、应用层概述
- 2、网络应用模型
- 2.1 C/S模型
- 2.2 P2P模型
- 3、DNS系统
- 3.1 域名
- 3.2 域名服务器
- 3.3 域名解析过程
- 4、文件传输协议FTP
- 4.1 FTP工作原理
- 5、电子邮件
- 5.1 电子邮件系统的组成结构
- 5.2 SMTP协议
- 5.3 POP3协议、IMAP协议
- 6、万维网和HTTP协议
- 6.1 万维网概述
- 6.2 超文本传输协议HTTP
1、应用层概述
应用层对应用程序的通信提供服务。
应用层的功能:
- 文件传输、访问和管理(FTP)
- 电子邮件(SMTP、POP3)
- 虚拟终端(HTTP)
- 查询服务和远程作业登录
2、网络应用模型
2.1 C/S模型
服务器:提供计算服务的设备。
- 永久提供服务
- 永久性访问地址/域名
客户机:请求计算服务的主机。
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态IP地址
2.2 P2P模型
特点:
- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可以请求服务
- 任意端系统/节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可扩展性好
- 网络健壮性强
3、DNS系统
3.1 域名
3.2 域名服务器
- 根域名服务器:管理所有顶级域名服务器的地址和IP
- 顶级域名服务器:管理该项级域名服务器注册的所有二级域名
- 权限域名服务器:负责一个区的域名服务器
- 本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器。
3.3 域名解析过程
- 递归查询
- 迭代查询
4、文件传输协议FTP
两种文件传输协议:文件传送协议FTP、简单文件传送协议TFTP
FTP是基于客户/服务器(C/S) 的协议。
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
4.1 FTP工作原理
用户首先要登录 ftp地址+用户名&密码 或匿名登陆
控制连接始终保持,数据连接不是始终保持
是否使用TCP 20端口建立数据连接与传输模式有关
主动方式使用TCP 20端口
被动方式由服务器和客户端自行协商决定(端口>1024)
FTP传输模式:
- 文本模式: ASCII模式, 以文本序列传输数据;
- 二进制模式: Binary模式, 以二进制序列传输数据。
5、电子邮件
5.1 电子邮件系统的组成结构
5.2 SMTP协议
- SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
- 负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。
- SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
- SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
- 负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。
- SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
- TCP连接、端口号25、C/S
SMTP通信的三个阶段
- 连接建立:
- 每隔一段时间对服务器里的邮件缓存进行扫描,如果有要发送的文件,使用SMTP协议与接收方服务器建立端口号为25的TCP连接
- 接收方发送 "220 Service ready"表明连接已经建立好了
- 发送方会发送一个"HELLO"命令,并附上发送方的主机名
- 接收方若有能力接收邮件,回答“250 OK",否则,回答“421 Service not available
- 邮件发送(A表示发送方,B表示接收方):
A: MAIL FROM: <wangdao@163.com>
B: 250 OK/B:451 (452或500...) SMTP服务器是否已经准备好接收邮件
A: RCPT TO:<mooc@163.com> 可以有多个RCPT命令
B: 250 OK /B: 550 No such user here SMTP服务器确定是否有这个用户
A: DATA 要开始传输邮件的内容了
B: 354 start mail input; end with <CR><LF>.<CR><LF> SMTP服务器同意传输
A: Date... 开始传输邮件内容
B: 250 OK 接收结束
- 连接释放:连接释放邮件发完, SMTP客户发送QUIT命令,SMTP服务器返回“221” ,表示同意释放TCP连接。
SMTP的缺点:
- SMTP不能传送可执行文件或者其他二进制对象。
- SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。
- SMTP服务器会拒绝超过一定长度的邮件。
通过因特网邮件扩充(MIME):使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。
5.3 POP3协议、IMAP协议
POP3使用TCP连接,端口号110,C/S模式
POP3工作方式:下载并保留、下载并删除
IMAP协议:IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
基于万维网的电子邮件
6、万维网和HTTP协议
6.1 万维网概述
万维网www (World Wide Web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。
统一资源定位符URL:用来唯一标识每一个资源
URL一般形式:<协议>://<主机>:<端口>/<路径>
URL不区分大小写
用户通过点击超链接获取资源,这些资源通过超文本传输协议(HTTP) 传送给使用者。
万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。
6.2 超文本传输协议HTTP
用户使用URL访问资源的具体过程:
- 浏览器分析URL
- 浏览器向DNS请求解析IP地址
- DNS解析出IP地址
- 浏览器与服务器建立TCP连接
- 浏览器发出取文件命令
- 服务器响应
- 释放TCP连接
- 浏览器显示
HTTP协议的特点:
- HTTP协议是无状态的。
- Cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别,如“123456”)的访问记录。
- HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)
- HTTP的连接方式:持久连接(非流水线、流水线)和非持久连接
HTTP的连接方式
非持久连接
持久连接
HTTP的报文格式
HTTP报文分为请求报文和响应报文
HTTP报文是面向文本的,因此在报文中的每一个字段都是一些ASCII码串。
状态码
- 1xx表示通知信息的,如请求收到了或正在处理。
- 2xx表示成功,如接受或知道了。
- 3xx表示重定向,如要完成请求还必须采取进一步的行动。
- 4xx表示客户的差错,如请求中有错误的语法或不能完成。
- 5xx表示服务器的差错,如服务器失效无法完成请求。