[计网笔记] 应用层
应用层 |
---|
传输层 |
网络层 |
数据链路层 |
物理层 |
应用层的功能 :
-
文件传输, 访问和管理
-
电子邮件
-
虚拟终端
-
查询服务和远程作业登录
网络应用模型
- 客户/服务器模型 (Client/Server)
- P2P模型 (Peer-to-peer)
客户/服务器模型
服务器 : 提供计算服务的设备 特点 : 永久提供服务, 永久性访问地址/域名
客户机 : 请求计算服务的主机 特点 : 与服务器通信, 间歇性接入网络, 可能使用动态IP地址, 不与其他客户机直接通信
P2P模型
特点 :
- 不存在永远在线的服务器
- 每个主机既可以提供服务, 也可以请求服务
- 任意端系统/节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可扩展性好
- 网络健壮性强
DNS
DNS : 域名解析系统
域名树 :
DNS服务器 :
-
根域名服务器 : 知道所有顶级域名服务器的ip地址
-
顶级域名服务器 : 管理所有顶级域名服务器注册的二级域名
-
权限域名服务器 : 负责一个区的域名服务器
-
本地域名服务器 : 当一个服务器发出DNS查询请求时, 这个查询请求报文就发给本地域名服务器
域名解析过程
- 递归查询
- 迭代查询
高速缓存 : 本机高速缓存, 本地域名服务器高速缓存
文件传送协议FTP
FTP : file transfer protocol
提供不同种类的主机系统之间的文件传输能力
TFTP : Trivial File Transfer Protocol 简单文件传送协议
FTP是基于客户/服务器的协议 :
按照FTP协议提供服务, 进行文件传送的计算机就是FTP服务器
链接FTP服务器, 遵循FTP协议与服务器传送文件的电脑就是FTP客户端
Anonymous(匿名文件传输) : 用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件 , 而不必是该远程主机的注册用户. 用户使用特殊的用户名" anonymous "登录FTP服务, 就可以访问远程主机上公开的文件
FTP使用TCP实现可靠传输
FTP工作原理 :
控制连接始终保持, 数据连接只保持一会
是否使用TCP 20端口建立数据连接与传输模式有关 : 主动方式使用TCP 20端口, 被动方式由服务器和客户端自行协商决定 (端口 > 1024)
电子邮件
电子邮件系统的组成结构 :
-
两个协议 : SMTP协议, POP3协议
-
都是用TCP连接
1. SMTP协议
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息.
负责发送邮件的SMTP进程就是SMTP客户, 负责接收邮件的进程就是SMTP服务器
SMTP规定了14条命令(几个字母) 和21种应答信息(3位数字代码 + 简单文字说明) SMTP过程 :
STMP的缺点 :
- SMTP不能传送可执行文件或者其他二进制对象
- SMTP仅限于传送7位ascii码, 不能传送其他非英语国家的文字
- SMTP服务器会拒绝超过一定长度的邮件
改进扩充 : 通用因特网邮件扩充MIME
MIME :
2. 邮局协议POP3
POP3工作方式 :
3. IMAP网际报文存取协议
IMAP协议比POP协议复杂, 当用户在pc上的IMAP客户端打开IMAP服务器的邮箱时, 用户可以看到邮箱的首部, 若用户需要打开某个邮件, 该邮件才上传到用户的计算机上
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读和处理邮件, 还允许只读取邮件中的某一个部分
4. 基于万维网的电子邮件
发送和接收方使用HTTP协议, 发送邮件使用SMTP协议
万维网和HTTP协议
万维网WWW ( World Wide Web ) 是一个大规模的, 联机式的信息储藏所/资料空间, 是无数个网络站点和网页的集合
统一资源定位符URL --- 唯一标识 --- > 资源 ( 文字, 音频, 视频... )
URL的一般形式 :
<协议>://<主机>:<端口>/<路径> e.x. http://www.pku.edu.cn (url不区分大小写)
http 域名
ftp ip地址
万维网以客户/服务器方式工作, 用户使用的浏览器就是万维网客户程序, 万维网文档所驻留的主机运行服务器程序
万维网使用超文本标记语言HTML, 使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面, 并能在自己的屏幕上显示出来
超文本传输协议HTTP
HTTP协议定义了浏览器怎样向万维网服务器请求万维网文档, 以及服务器怎样把文档传送给浏览器.
HTTP协议的特点 :
-
HTTP协议是无状态的
但是在实际工作中, 一些万维网站点常常希望能够识别用户---cookie
Cookie : 是存储在用户主机中的文本文件, 记录一段时间内某用户 ( 使用识别码 ) 的访问记录.
-
HTTP采用TCP作为运输层协议, 但是HTTP协议本身是无连接的 ( 通信双方在交换HTTP报文之前不需要先建立HTTP连接 ) .
HTTP协议的连接方式 :
非持久连每次需要三次握手+传输文档
持久连接一定时间内请求不需要再三次握手
HTTP报文 :
五种状态码 :