SSL与SSH、TCP与ICMP解析
1 SSL与SSH
从高层次来说,SSH与SSL都是帮助加密和验证两台计算机(例如:我们的笔记本电脑和我们网站的服务器)之间传递的数据的技术。基本上,它们都可以让事情变得更加安全。
通俗来讲,通常SSL用于加密两个位置之间传输的数据,例如我们的Web浏览器和我们正在访问的站点的服务器。SSL是在浏览器中添加"绿色挂锁"的东西,如果我们想在我们的网站上安全地接受信用卡信息(或其他敏感数据),那么SSL就是我们要使用的东西。
SSH主要用于远程登录到另一台计算机(例如我们的云服务器)并创建安全连接以发出命令(通过SSH隧道的形式)。例如,如果我们想要连接到站点的服务器以使用WP-CLI执行命令,这个时候我们就可以使用SSH。当我们想要使用SFTP访问连接到我们的服务器时,我们也会用到SSH。
1.1 SSL(Secure Sockets Layer,安全传输信息)
SSL代表安全套接层,它是一种网络协议可在非安全网络中提供安全传输。SSL需要证书并适用于公钥加密。SSL在网络环境的各种操作中实现,例如网页浏览、消息传递、电子邮件和FTP等其他协议。
1.1.1 产生原因
传统的HTTP协议采用明文传输数据,用户数据存在被窃取和篡改的风险。而部署了SSL证书的网站,就可以使用安全的HTTPS息协议进行访问(例如:百度)。当浏览器访问以https:// 开头的URL时,浏览器通过SSL连接使用HTTP。SSL协议会在数据传输之前对数据进行加密再进行网络传输,保证了用户护具在数据链路上的安全。
主要原因:就是保证用户数据的安全【传输用户数据之前,前进行加密】
1.1.2 作用
SSL证书,主要是部署在网站服务器中,通过SSL协议实现浏览器客户端与网站服务器通信链路上的数据加密,并认证网站服务身份,防止钓鱼网站。它用来保证我们的浏览器和网站服务器之间的安全通信,避免网络"中间人"窃取信息。
1.1.3 拓展(SSL两个子协议)
SSL协议包含了两个子协议:
- 记录协议(SSL Record Protocol):说明了该如何封装SSL的数据包。位于OSI七层模型的会话层,为不同机器上的用户建立和管理会话。
- 握手协议(SSL Handshake Protocol):说明通信双方如何协商共同决定使用什么算法以及算法使用的key。它在OSI七层模型会话层的下一层— — 表示层上,对他们之间的网络连接进行加密解密。
1.2 SSH(Secure Shell,安全登录远程服务器)
SSH代表安全外壳,是一种加密的网络协议,提供了一种安全的方式来远程登录到另一台计算机并发出命令,同时允许我们通过网络将文件从一台机器传输到另一台机器。(本地文件上传到云服务)
1.3 SSL与SSH区别
编号 | SSL | SSH |
---|
1 | SSL没有像SSH这样的用户名/密码验证系统 | SSH是加密隧道协议,有用户名/密码认证系统 | 2 | 工作在443端口 | 工作在22端口 | 3 | 是异步的,因为它取决于证书 | 完全依赖于网络隧道 | 4 | SSL加密浏览器和服务器之间的通信 | SSH加密了两台计算机之间通过互联网的通信 | 5 | SSL通常适用于X.509数字证书以进行服务器和客户端身份验证 | SSH适用于服务器和客户端身份验证过程的三阶段过程 | 6 | SSL最适合安全传输信用卡和银行等关键数据 | 使用有效地在互联网上安全地执行命令 | 7 | SSL采用对称、非对称加密算法的组合来提供数据隐私 | SSH通过对称密钥算法提供数据机密性 |
2 TCP、UDP与ICMP
TCP、UDP都是网络传输协议,承载数据包传输用的
- TCP(TCP,Transmission Control Protocol):传输控制协议,特点:可靠传输,有3次握手保证数据传输的可靠性。如果有丢包,则重新传输数据。像FTP文件传送,远程登录,POP3电子邮件,这些都是基于TCP协议的,因为他们需要保证传输的完整性。
- UDP(UDP,User Datagram Protocol):用户数据报协议,特点:实时性强,有丢包还继续传输,通常像语音、电话、视频都是UDP传输,偶尔丢几个报不影响通信。
- ICMP(Internet Control Message Protocol):Internet控制报文协议,它是TCP/IP协议簇的一个子协议。不承载数据,不是用来传输用户数据的,是用来传递控制消息的。即:网络通不通,主机是否可达。
ping命令就是基于ICMP的 。 - IGMP(Internet Group Management Protocol):因特网组管理协议,是TCP/IP协议簇中负责IP组播成员管理的协议,在组播网络中,IGMP协议在最后一跳路由器与组播接收者间运行,通俗说即:“IGMP协议运行于主机与主机直接相连的组播路由器之间,主要用于维护组播成员关系。”【将一个ip包拷贝给多个host】
关系:
- TCP、UDP、ICMP、IGMP都是TCP/IP协议簇的
- TCP、UDP:传输数据
- ICMP:不传数据,只传输控制消息
- IGMP:将一个ip包拷贝给多个host,查询特定子网的组哪些是活动的,哪些是非活动的
3 拓展(TCP/IP协议簇)
3.1 TCP/IP协议簇
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够古在多个不同网络间实现信息传输的协议簇。
TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议簇中TCP与IP协议最具代表性,所以被称为TCP/IP协议。
TCP/IP协议簇中常见协议:
SLIP 协议、 PPP协议 、IP协议、 ICMP协议 、 ARP协议 、 TCP协议 、 UDP协议 、 FTP协议 、 DNS协议 、 SMTP协议
3.2 TCP/IP与OSI七层模型对比
TCP/IP传输协议严格来说是一个四层的体系结构,
各层之间的对比:
OIS七层模式每层对应的功能及协议:
名称 | 功能 | 常见 | 协议 |
---|
物理层(比特Bit) | 设备间接收或发送比特流;说明电压、线速和线缆等 | 中继器、网线、集线器、HUB等 | RJ45、CLOCK、IEEEE802.3 | 数据链路层(帧Frame) | 将比特组合成字节,进而组合成帧;用MAC地址访问介质,错误可以被发现但不能被纠正 | 网卡、网桥、二层交换机等 | PPP、FR、HDLC、VLAN、MAC等 | 网络层(数据包Packet) | 负责数据包从源到宿的传递和网际互连 | 路由器、三层交换机、防火墙等 | IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP等 | 传输层 | 可靠或不可靠的数据传输;数据重传前的错误修正 | 进程、端口(socket) | TCP、UDP、SPX | 会话层 | 保证不同应用程序的数据独立;建立、管理和终止会话 | 服务器验证用户登录、断点续传 | NFS、SQL、NetBIOS、RPC | 表示层 | 数据表示;加密与解密、数据压缩与解压缩、图像编码与解码等特殊处理过程 | URL加密、口令加密、图片编解码等 | JPEG、MPEG、ASCII | 应用层 | 用户接口 | - | FTP、DNS、Telnet、SNMP、SMTP、HTTP、WWW、NFS |
OSI各层对应的作用: 详细链接:https://blog.csdn.net/aron_conli/article/details/86774269
|