一、网络
网络七层模型主要包括:
- 物理层:主要定义物理设备标准,即模数转换与数模转换。数据为比特。
- 数据链路层:对物理层接收数据进行MAC(网卡)地址的封装与解封。数据为帧。设备是交换机。
- 网络层:对物理链路层接收数据进行IP地址的封装与解封。数据为数据包。设备为路由器。
- 传输层:定义传输数据的协议和端口号。如TCP、UDP。
- 会话层:通过传输层建立数据传输通道。
- 表示层:对接收数据进行解释、加密与解密、压缩与解压等。
- 应用层:终端应用。如web、qq。
1)、TCP/IP原理
TCP/IP协议:因特网整个TCP/IP协议族。从协议分层模型来说,TCP/IP由四个层次组成:
- 网络接口层:指出主机必须使用某种协议与网络连接。
- 网络层:互联网层使用IP协议。
- 传输层:定义了两个端到端的协议,即TCP协议和UDP协议。
- 应用层:所有高层协议。如文件传输协议FTP、电子邮件传输协议SMTP
2)、TCP三次握手与四次挥手
数据包说明:
- 16位源端口号
- 16位目的端口号
- 32位序列号
- 32位确认号
- 4位首部长度
- 6个保留位
- URG、ACK、PSH、RST、SYN、FIN6个控制位
- 16位窗口大小:从确认号开始,可以接收的字节树。最大位65535字节
- 16位TCP校验和
- 16位紧急指针
- 选项(可选)
- 数据
三次握手
四次挥手
3)、HTTP原理
HTTP是一个无状态协议。无状态指客户机和服务器之间不需要建立持久连接,意味着当一个客户端向服务器端发出请求,然后服务端返回响应,连接就被关闭了。在服务端不保留连接的有关信息。HTTP遵循请求/应答模型。客户机向服务器发送请求,服务器处理请求并返回适当的应答。所有HTTP连接都被构建成一套请求和应答。传输流程如下:
- 地址解析:解析出协议号http,主机号,端口号,对象路径
- 封装HTTP请求数据包:将上述信息结合本机信息封装成一个HTTP请求数据包
- 封装成TCP包,并建立连接:TCP三次握手
- 客户机发送请求命令:
- 服务器响应:
- 服务器关闭TCP连接:Connection:keep-alive,TCP连接在发送后仍保存打开状态
HTTP状态码:
- 消息响应:100继续,101切换协议
- 成功响应:200成功,201已创建create,202已创建accepted
- 重定向:301永久移除,302临时移除,307临时重定向,308永久重定向
- 客户端错误:400错误请求,401未授权,402需要付款,403禁止访问,404找不到,405不允许使用该方法,406无法接收,408请求超时
- 服务器端错误:500内部服务器错误,501未实现,502网关错误,503服务不可用,504网关超时,505HTTP版本不受支持
HTTPS:以安全为目标的HTTP通道。安全基础为SSL,所用端口号443。过程如下
- 建立连接获取证书:SSL客户端通过TCP和服务器建立连接之后(443端口),在tcp三次握手过程中向服务器请求证书。
- 证书验证:客户端收到证书后进行验证
- 数据加密和传输:若证书有效,客户端生成密钥并使用服务器的公共密钥进行加密,然后发送给服务器。服务器使用它的私钥进行解密,成功则进行通信
CDN原理:一般含分发服务系统、复制均衡系统、管理系统
分发服务系统:承担内容同步、更新和响应用户请求
负载均衡系统:对用户请求进行调度,确定提供给用户的最终访问地址
管理系统:网络管理(设备管理、拓扑管理、链路监控和健康管理),运营管理(用户管理、产品管理、计费管理、统计分析)