
云服务器通常运用到的技术有关于分布式存储、资源调度方面和虚拟化技术。分布式存储用于将大量服务器整合为一台超级计算机,提供海量的数据存储和处理服务。
SSL证书的工作原理:
客户端向服务器请求> 客户端向服务器传送客户端SSL协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。 服务器确认并返回证书 服务器向客户端传送SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。 客户端验证服务器发来的证书 客户端利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果验证通过,将继续进行。 信息验证通过,客户端生成随机密钥A,用公钥加密后发给服务器 从第③步验证过的证书里面可以拿到服务器的公钥,客户端生成的随机密钥就使用这个公钥来加密,加密之后,只有拥有该服务器(持有私钥)才能解密出来,保证安全。 服务器用私钥解密出随机密钥A,以后通信就用这个随机密钥A来对通信进行加密 这个握手过程并没有将验证客户端身份的逻辑加进去。因为在大多数的情况下,> TLS/SSL的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。 解决上述身份验证问题的关键是确保获取的公钥途径是合法的,能够验证服务器的身份信息,为此需要引入权威的第三方机构CA。CA 负责核实公钥的拥有者的信息,并颁发认证"证书",同时能够为使用者提供证书验证服务,即PKI体系。 基本的原理为,CA负责审核信息,然后对关键信息利用私钥进行"签名",公开对应的公钥,客户端可以利用公钥验证签名。CA也可以吊销已经签发的证书,基本的方式包括两类 CRL 文件和 OCSP。CA使用具体的流程如下:
传递媒体数据有两个信息,必须经过信令服务器进行交换
通过SDP来表示,如编解码器是什么?是否支持音频视频?编码方式是什么?等
这些信息是通过SDP协议描述出来,通过信令服务器中转的
两个WebRTC客户端会尽可能选择P2P进行连接,那么进行连接前是如何发现对方的?就是通过信令服务器。
首先将你所有网络相关信息传到信令服务器,服务器帮你交换到对端,对端拿到你的信息后,
若在同一局域网内,直接通过P2P传输;若不在,首先进行P2P穿越,看是否能打通,打通则传输,打不通则中转等。
还有一点也需要信令服务器进行传输,比如加入房间,离开房间,禁言等功能
在传输时,一般有两种协议 TCP和 UDP
底层协议使用 UDP主要用于流媒体传输(音频视频)还有文本,文字聊天等,但 UDP是不可靠传输,是可以丢包的,当然音频视频是可以丢包的,丢失一帧只会卡顿下,还可以继续工作。
但信令服务器不能丢失数据,所有的包必须保证到达,否则断开连接,所以信令服务器一般使用TCP可靠性传输。
websocket底层使用的就是 TCP协议, socketio 使用的也是TCP
在websocket官方中,是有三个服务器的,ROOM服务器(提供用户进出房间服务)、信令服务器、流媒体(中转)服务器
选用socketio 即不用单独写ROOM服务器,这里ROOM和信令是同一个服务器
socketio是一个基于Nodejs的库,在现有的Node Server上增加个socketio即可
在任何终端都可以引入socketio客户端的库,通过客户端的库就可以连接到 Nodejs中 socketio服务器上
这样就可以建立连接,然后就可以创建,加入房间,这样房间内的人就可以通信了
多个 sockeio可以串行通信。
电子邮件服务器工作原理:
1) 发件人用户代理撰写电子邮件,点击“发送邮件”,发送邮件的 工作交个用户代理来完成,用户代理用SMTP协议发给发送方服务器,用户代理充当SMTP客户,发送服务器充当SMTP服务器;发送之前建立TCP连接;
2) SMTP服务器收到客户端发送来的邮件,将其放到邮件缓冲队 列中,等待发送到接收发的服务器中;
3) 发送服务器的SMTP客户端与接收服务器的SMTP服务器建立 TCP连接,然后把缓冲队列中的邮件发到目的服务器;
4) 运行在接收方服务器的SMTP服务器进程收到邮件后,把邮件 发如收件人信箱,等待读取;
5) 收件人打开计算机,运行客户端软件,使用POP3(IMAP)协 议读取邮件。
邮件服务器采用的是客户端服务器模式,其工作过程如下图所示:
(说明:一个电子邮件系统有三个主要构件组成:用户代理(客户端应用程序),邮件服务器,邮件发送和邮件接收协议)
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于>欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)