ssl在tcp之上
ssl采用c/s脚骨
ssl服务器采用443端口提供ssl服务
HTTPS=HTTP Over SSL
ssl协议架构
握手层:负责建立ssl连接,建立tcp连接和密钥交换
1、客户端向服务器发起tcp连接请求,建立tcp连接
2、客户端向服务器发起client-hello报文,携带本地所有支持的加密算法
3、服务器端收到后,返回sever-hello报文,服务器选择双方都支持的加密算法的最高版本,通知客户端
4、客户端向服务器索要证书
5、服务器向客户端发送证书
*6、服务器向客户端索要证书,(可选)用户登陆时
7、客户端和服务器在证书的保护下协商出数据加密的密钥
8、服务器使用数据加密密钥来传输http的数据
9、客户端和服务器通过四次挥手断开tcp连接
记录层:负责对报文进行加解密
数据加密,验证数据完整,数据压缩传输,
ssl工作在tcp层不会被nat和防火墙影响
客户端可以借助浏览器登陆
接入
1、web接入
客户端和路由器之间跑https,路由器和内部web服务器跑http,路由器在中间进行了一波协议翻译
优点:客户端无需解析http页面,客户端免控件
缺点;协议转换非常消耗资源
2、tcp接入
客户端安装TCP抓取控件,由该插件抓取客户端访问内网tcp 流量,进行公网封装
优点:支持访问所有基于tcp的服务
缺点:需要安装控件,万一这个控件不兼容,那就是哥大问题,不支持UDP服务
3、ip接入
需要在客户端安装虚拟网卡,分配虚拟地址,并自动产生到达内网服务器的路由指向虚拟网卡,由虚拟网卡完成公网封装
支持所有tcp、udp,icmp服务
1、如果远程用户访问内网资源是基于tcp,首选tcp
2、如果用户浏览器控件不兼容导致无法访问内网web,则用web接入
3、其它非tcp服务,使用ip接入
单臂模式:旁挂模式
双臂模式:网关在内网和外网之间