文章目录
一、互联网协议基础
OSI模型
OSI模型将其划分为7层,如下
【模型分层的优点】:
- 促进标准化工作,允许各个厂商进行开发
- 各层之间相互独立,把网络操作分为低复杂度单元
- 灵活性好,某一层内容不变不会影响到别层,设计者可专心设计和开发模块功能
【OSI数据封装和解封装】:
封装过程是自上而下,一层一层加头
解封装过程是一层一层去掉头
【OSI模型存在的问题】:
- 先定义模型,后定义协议。制定周期太长,设备无法及时进入市场
- 协议复杂度较高,严格按照层次模式编程运行效率低
- 层次划分不合理,会话层很少用到,表示层几乎为空,数据链路层与网络层有很多子层插入
TCP/IP模型
TCP/IP模型是事实上的工业标准,五层更好理解。
TCP/IP的封装
UDP和TCP的封装(传输层)
共同特点:包括源端口和目的端口
传输层协议用端口号来标识和区分各种应用程序
网络层
【IP协议特点】
【IP地址】
网络中用来唯一标识主机的一串二进制地址。
32位长,采用点分十进制。
IP头中包括源地址和目的地址。
【IP地址分类】
ipv4根据网络地址和主机地址的长度不同分为:A、B、C类地址
【数据链路层】
数据链路层是MAC地址,实现IP地址到MAC地址的转换会使用到ARP协议和RARP协议。
ARP协议是地址解析协议,是广播协议,当一个主机想知道某个IP所对应的mac时会向网络发送广播消息包。拥有这个ip地址的主机会向其回复一个单播消息,包含他的mac地址。
RARP是实现mac地址向IP地址的转换
HTTP协议
应用最广泛的应用层协议
【特点】:
- 灵活性,可传输任何一种数据对象
- 无连接,每次请求都会建立一个连接,服务器处理请求后即断开连接
- 无状态,协议对于事物处理没有记忆功能
【工作原理】:
用户点击请求
- 浏览器向dns请求解析
- dns服务器将ip地址返回
- 浏览器和服务器建立tcp连接
- 发送和接收报文
- 释放tcp连接
【http报文内容】:
状态码:http基础
具体报文有什么可自行查看
【HTTP应用调度方式】:
- DNS调度方式
- 应用层调度
对于现在很多视频网站,站点会部署入口服务器和媒体服务器。用户请求首先向入口服务器发起请求,入口服务器根据用户请求内容向其返回302消息(临时转移),进而将用户请求引导到对应的媒体服务器上。
【安全性】:
http协议是明文协议,https可用于用户密码
https协议就是在http协议和tcp协议中间插入SSL/TLS层
【HTTPS交互流程】
可以分为四块 - 安全连接的建立请求
- 客户端和服务端之间返回证书和公钥,非对称密钥的协商过程
- 协商对称密钥
- 加密传输
DNS协议
从ip地址到对应域名的映射会使用到dns协议
有效、可靠、分布式系统
可以用到TCP也可以用到UDP,53号端口
【解析过程】
DNS技术基础
DNS概念
DNS系统就是为了管理主机名字和IP地址的映射关系而产生的一种互联网域名服务系统,以资源记录形式存储了地址和域名映射关系。是一个层次命名系统。
现在多采用层次命名机制
DNS域名结构与系统结构
1、域名空间和资源记录,域名空间是一个树状结构,资源记录是与名字相关的一些数据。从概念上说,每个结点和域名空间树的叶子结点都有一定的信息,而查询是要查询出一些与之相关的特定信息。
2、名字服务器是服务器程序,它保留域名树结构和相应的信息,它可以缓冲各种数据,保存域名树中的任何部分,但是通常它保存域名空间的一个子集,如果需要查询其它信息可以通过指向其它名字服务器的地址寻找。
这个名字服务器是这一部分的认证权威,所有的认证信息组成一个单元称为区,这些区可以分布于不同的服务器上以保证数据的冗余。
3、解析器:客户端程序
DNS域名分级
全世界域名的最高管理机构,叫做 ICANN,ICANN 负责管理全世界域名系统的运作。它的一项主要工作,就是规定顶级域名(top level domain,简写为 TLD)。
所谓顶级域名(TLD),就是最高层级的域名。简单说,就是网址的最后一个部分。比如,网址www.example.com的顶级域名就是.com
由于 ICANN 管理着所有的顶级域名,所以它是最高一级的域名节点,被称为根域名(root domain)。在有些场合,www.example.com被写成www.example.com.,即最后还会多出一个点。这个点就是根域名。
比如,我要访问www.example.com,就必须先询问 ICANN 的根域名列表,它会告诉我.com域名由 Verisign 托管,我必须去找 Verisign,它会告诉我example.com服务器在哪里。
域名系统:
层次较低的域名写在最左边
域名的层次分级主要分为三层
- 根域
全世界有13台根服务器,用点表示 - 顶级域
分为地理域和机构域,比如表示公司的.com,表示教育机构的.edu。 - 子域
除去根域和顶级域之外的,就是子域。
比如www.sina.com.cn
sina.com是cn的子域,sina是com.cn的子域,www是主机的名字
DNS数据库整个域名系统可以认为是一个大的分布式数据库系统。将对应的名字及对应ip地址以特定结构存储于DNS服务器上。
查询:
DNS服务器
分类(信息获取方式来分):
- 主服务器
- 次名字服务器
- 惟高速服务器
DNS服务器有多种途径来获取信息,第一种方式是由管理员去编辑一个原始的区域文件。这类服务器就是主服务器。
第二类是从其他DNS服务器copy一份原始区域文件,这就是次名字服务器,可称辅域服务器。
第三类,没有区域文件,帮助完成名字解析,缓存一段时间解析结果。
按照服务区域:
- 根域名服务器
负责根域和顶级域的管辖,不直接对顶级域下的域名进行解析 - 权威域名服务器
负责权威配置和解析,一般称为源站DNS - 递归服务器
负责进行递归查询域名解析,一般称local DNS。