王道计算机网络笔记整理 6网络层
6.1 网络应用模型
1 应用层概述
应用层对应用程序通信提供服务
(1)应用层协议定义:
- 应用进程交换的报文类型(请求or响应)
- 各种报文类型的语法(如报文中各个字段及其详细描述)
- 字段的语义(包含在字段中的信息的含义)
- 进程何时、如何发送报文,以及对报文进行响应的规则
(2)功能:
- 文件传输、访问和管理
- 电子邮件
- 虚拟终端
- 查询服务和远程作业登录
2 客户/服务器(C/S)模型
服务器:提供计算服务的设备
- 永久提供服务
- 永久性访问地址/域名
客户机:请求计算服务的主机 - 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态IP地址
- 不与其他客户机直接通信(与服务器通信)
*应用:Web,文件传输FTP,远程登陆,电子邮件
3 P2P模型
特点:
- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可以请求服务
- 任意端系统/节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可扩展性好
- 网络健壮性强
6.2 DNS系统
1 DNS系统
DNS服务器:实现域名到IP地址的转换
无法访问网站:网站崩溃;DNS服务器出问题,域名解析失败
2 域名
要求域名全球唯一
域名树
二级域名可自行注册
获得二级域名的单位可获得三级域名
3 域名服务器
DNS服务器有很多台!
*本地域名服务器不属于域名服务器的层次系统
**根域名服务器掌握的是各个顶级域名服务器以及其对应的IP地址,因特网上有13个不同IP地址的顶级域名服务器(由a.rootservers.net----m.rootservers.net命名)
4 域名解析过程
-
递归查询(靠别人)
本地---->根---->顶级---->权限
-
迭代查询(靠自己)
本地–1–>根
本地–2–>顶级
本地–3–>权限
*高速缓存:存放近期查过的域名以及从哪里获得域名解析的记录---->若查询相同网站会在本地域名服务器的高速缓存中查询,查询到IP地址返回给主机;若查询到的是顶级域名服务器的地址也可直接前往而跳过根域名服务器(减少查询时间,减轻负荷)
*高速缓存需动态更新(设置计时器定期更新表项)
*主机在开机时同样会在本地域名服务器中下载域名和地址的数据库置于本机的高速缓存中,在查询地址时首先查看本机的高速缓存
6.3 文件传输协议FTP
1 文件传送协议
文件传送协议FTP:提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力---->拷贝(上传、下载)
简单文件传送协议TFTP:很小且易实现的协议,非常适用于UDP环境,代码块内存小,面向小文件
2 FTP服务器和用户端
FTP基于==客户/服务器(C/S)==的协议
用户通过一个客户及程序连接至在远程计算机上运行的服务器程序
- FTP服务器:依照FTP协议提供服务,进行文件传送的计算机
- FTP客户端:连接FTP服务器,遵循FTP协议与服务器传送文件的电脑
3 FTP工作原理
登录 FTP地址 用户名&密码
匿名登录 ---->使服务器负荷不至于过大
FTP使用TCP实现可靠传输
FTP服务器或FTP服务器的进程可以为多个客户进程提供服务
- 一个主进程:接受新的请求,打开实现文件传输的熟知端口(端口号21),使客户进程成功连接,等待客户进程发出连接请求
- n个从属进程:处理单个客户请求
*控制进程与数据传送进程都属于从属进程
*用户界面用于与用户接口
TCP控制连接在整个会话(即整个传送过程)中保持打开,FTP客户发送的传送请求都需要通过控制连接发送给服务器端的控制进程---->控制连接(端口21):传请求、始终保持
FTP服务器端在收到文件传输请求后会创建一个数据传输进程和数据连接(传文件),在传送完文件后会关闭数据连接---->数据连接(端口20):传文件、保持一会至文件传送完毕后关闭
是否使用TCP20端口建立数据连接与传输模式有关:
- 主动方式:使用TCP20接口
*客户端发送数据传输请求时告诉服务器端自己的数据传送进程端口号,服务器端用使用自己传送数据的20号端口与客户端建立数据连接 - 被动方式:由服务器端和客户端自行协商决定(端口>1024)
*客户端向服务器端传送命令,询问使用哪一个端口号,服务器端会返回一个>1024的端口号并等待客户端回应
4 FTP传输模式
- 文本模式:ASCII模式,以文本序列传输数据
- 二进制模式:Binary模式,以二进制序列传输数据
6.4 电子邮件
1 格式信息
2 组成结构
3 简单邮件传送协议SMTP
(1)概述
SMTP规定了在两个相互通信的SMTP进程之间如何交换信息
SMTP用户:负责发送邮件的SMTP进程
SMTP服务器:负责接收邮件的SMTP进程
*SMTP规定14条命令(字母)和21种应答信息(三个数字+简单文字说明)
*TCP连接
*端口号25
*C/S
(2)通信阶段
连接建立---->邮件传送---->连接释放
*HELLO命令发送时会附上发送方主机名
(3)MIME----对SMTP的扩展
缺点:
- 不能传送可执行文件或其他二进制对象
- 仅限于传送7位ASCII码,不能传送其他非英语国家的文字
- SMTP服务器会拒绝超过一定长度的邮件
通过因特网邮件扩充MIME
*转换---->是电子邮件系统可以支持声音、图像、视频、多种国家语言等
4 邮局协议POP3
*TCP连接
*端口号110
*C/S
(1)工作方式
- 用户读取邮件后下载并保存在服务器中
- 用户读取邮件后下载并删除
5 网际报文存取协议IMAP
当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上
---->IMAP可以让用户在不同地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一部分(先看正文,有WiFi时再下载附件)
6 基于万维网的电子邮件
6.5 万维网和HTTP
1 万维网概述
万维网WWW是一个大规模的、联机式的信息储藏所、资料空间,是无数个网络站点和网页的集合
(1)URL:统一资源定位符----唯一标识---->资源
URL一般形式(不区分大小写):
<协议>://<主机>:<端口>/<路径>
- 协议:常用是http和ftp
- 主机:域名、IP地址
- 端口和路径:一般可省略
(2)用户通过点击超链接获取资源,这些资源通过==超文本传输协议(HTTP)==传送给使用者
(3)万维网以C/S方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序
(4)万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便从一个界面的链接转到另一个界面,且能够在自己的屏幕上显示出来
2 超文本传输协议HTTP
定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
*浏览器显示时可以只下载文本部分
3 HTTP协议特点
-
无状态:同一客户第二次访问同一个服务器上的界面时,服务器的响应和第一次是相同的(无记忆)
*Cookie小饼干:存储在用户主机中的文本文件,记录一段时间内某用户的文本记录---->使用识别码识别用户 -
采用TCP作为运输层协议,但HTTP协议本身无连接(即通信双方在交换HTTP报文之前无需先建立HTTP连接)
-
连接方式:
-
持久连接(Keep-alive):分为非流水线和流水线
每发送完一次数据不立即断开连接而是维持一会,要再发送请求报文不需要重新建立连接---->效率高,时间消耗小
*非流水线式:每发送一个报文,收到响应后才可以继续发送报文
*流水线式:可以连续发送多个报文---->TCP连接空闲时间少,提高文档下载速度 -
非持久连接(Close)
每发送完一次数据则断开连接,要再发送请求报文需要重新建立连接---->时间消耗长(2RTT+响应报文传输时间)
4 HTTP报文结构
HTTP报文面向文本,在报文中每一个字段都是ASCII码串
-
类型:
- 请求报文
- 响应报文
*首部行:说明浏览器、服务器和报文主体的一些信息(可有多行也可以不用)
*CRLF回车换行,在首部行结束后存在回车换行标识首部行的结束和实体主体的开始
知识总结导图及要点