-
2022-03-06 17:37:29
什么是HTTPS?
HTTPS 是在HTTP(Hyper Text Transfer Protocol)的基础上加入SSL(Secure Sockets Layer),在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。依此避免HTTP的明文传输容易被窃听、不验证身份容易被伪装、无法验证报文完整性容易被篡改等问题。除了被广泛用于互联网上安全敏感的通讯,大部分网站也正在广泛采用 。
HTTPS的通信机制
HTTPS不仅仅是把
http://
换成https://
看上去那么简单,HTTPS的通信机制要比HTTP的复杂一些。第一步,客户端向服务端发送
Client Hello
报文。在报文中描述了客户端支持的SSL版本,还有客户端支持的加密算法及密钥长度。第二步,服务端向客户端发送
Server Hello
报文作为应答。在报文中描述了服务端和客户端可以共同使用的SSL版本、加密算法及密钥长度,以此作为后续报文传输的加密方式。第三步,服务端向客户端发送
Certificate
报文。在报文中包含由数字证书认证机构(Certificate Authority,CA)和其相关机构颁发的公共密钥证书。第四步,服务端向客户端发送
Server Hello Done
报文,通知客户端SSL握手协商部分结束。第五步,当客户端收到服务端SSL握手结束的报文后,客户端首先验证证书的合法性和可靠性,然后向服务端发送
Client Key Exchange
报文。在报文中包含了使用证书中公开密钥加密的随机密钥。第六步,客户端向服务端发送
Change Cipher Spec
报文。这个报文是为了提示服务端之后的通信都使用那个随机密钥进行对称加密。第七步,客户端向服务端发送
Finished
报文。这个报文包含从开始连接到现在全部报文的整体校验值。服务端,握手协商成功。第八步,当服务端能够正确解密并验证客户端的校验值时,同样向客户端发送Change Cipher Spec报文。
第九步,服务端向客户端同样发送
Finished
报文。第十步,服务端和客户端的
Finished
报文交换完毕之后,SSL连接就建立完成了。当通信会受到 SSL 的保护后,开始发送 HTTP 请求和相应。尾声
目前越来越多的核心技术被“卡脖子”,之前也传出一些开源软件禁止我国的使用。我有一个担心,万一CA也别被“卡脖子”,甚至被“征用”,那么我国的网络安全会受到极大的威胁。
竟然已经看到这里了,你我定是有缘人,留下你的点赞和关注,他日必成大器。
更多相关内容 -
基于ARM11 MPCore的多核间通信机制研究-综合文档
2021-05-18 12:44:57基于ARM11 MPCore的多核间通信机制研究 -
客户与服务器程序的同步与通信机制的设计
2017-05-31 12:54:20南邮 客户与服务器程序的同步与通信机制的设计 本博客有分步教程 -
消息缓冲通信机制
2018-06-14 18:13:34模拟两个进程间带有缓冲序列的通信机制,可实现进程间的消息发送、查看进程消息状态、查看进程的缓冲序列的消息状态 -
Binder通信机制与AIDL的使用
2021-01-03 20:06:37Android进程间通信(Inter-Process Communication, IPC)采用Binder通信机制,是一种client/server结构。 AIDL(Android Interface Define Language):Android接口定义语言,帮助开发者自动生成实现Binder通信机制... -
操作系统之进程通信:高级通信机制四大类
2021-08-25 21:02:39目前,高级通信机制可归结为四大类:共享存储器系统、管道通信系统、消息传递系统以及客户机-服务器系统。 共享存储器系统 在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区,进程间能够通过这些...概述
进程通信是指进程之间的信息交换。
在进程同步之中,也需要进程间交换一些信息,所以也可以归入进程通信中,但只能称为低级的进程通信。因为进程同步间的消息交换效率低、对用户不透明。
在进程间要传送大量数据的时候,可以使用OS提供的高级通信工具,该工具的最主要特点是:使用方便、高效。进程通信的类型
目前,高级通信机制可归结为四大类:共享存储器系统、管道通信系统、消息传递系统以及客户机-服务器系统。
一、共享存储器系统
在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区,进程间能够通过这些空间进行通信。因此也可以根据共享的内容划分成以下两种类型:
- 基于共享数据结构的通信方式:要求进程公用某些数据结构,借此实现进程间的信息交换,如生产者—消费者问题的有界缓冲区。操作系统仅提供共享存储器,由程序员负责对公用数据结构的设置及对进程间同步的处理。 这种通信方式仅适合传递相对较少的数据,通信效率低下,属于低级通信。
- 基于共享存储区的通信方式:为了加粗样式,在内存中划出了一块共享存储区域,各个进程可以通过对该共享区进行读写,实现通信,数据的形式和位置甚至访问控制都是由进程负责,而不是OS。当读写完成,不再需要的时候,将其归还给共享存储区。属于高级的通信方式。
二、管道(pipe)通信系统
管道:指用于连接一个读进程和一个写进程,以实现它们之间通信的一个共享文件,又名pipe文件。
向管道(共享文件)提供输入的发送过程(写进程)以字符流形式将大量的数据送入管道;而接受管道输入的接受进程(读进程)则从管道中接受数据。由于发送进程和接收进程是利用管道进行通信,故又称管道通信。
为了协调双方的通信,管道机制必须提供以下三方面的协调能力:互斥、同步、确定对方是否存在(确定存在才能通信)
三、消息传递系统
该机制,进程不必借助任何共享存储区或数据结构,而是以格式化的消息为单位,将通信的数据封装在消息中,并利用操作系统提供的一组通信命令(原语),在进程间进行消息传递,完成进程间的数据交换。该方式属于高级通信方式。
该方式隐藏了通信细节,使通信过程对用户透明化,降低通信程序的复杂性和错误率,称为当前应用最广泛的一类进程间的通信机制。例如:计算机网络中的格式化消息为报文。
其实现方式有两种:
(1)直接通信方式:指发送进程利用OS所提供的发送原语,直接把消息发送给目的进程。- 直接通信原语:
1.1 对称寻址方式:要求发送进程和接收进程必须以显式方式提供对方的标识符。
send(receiver,message); 发送一个消息给接收进程
receive(sender,message); 接收Sender发来的消息
1.2 非对称寻址方式:某些情况,接收进程可能需要与多个发送进程通信,无法事先指定发送进程,因此这种方式接收进程原语不需要命名发送线程。
send(P,message); 发送一个消息给进程P
receive(id,message); 接收任何进程的消息 - 消息格式:定长、不定长
- 进程的同步方式:有三种,发送进程和接收进程都阻塞直到有消息;发送进程不阻塞,接收进程阻塞;发送进程和接收进程均不阻塞,仅当发生某事件使它无法继续运行时才阻塞等待。
- 通信链路:在发送进程和接收进程两者间建立一条通信链路。
(2)间接通信方式:指发送和接收进程,都通过共享中间实体(邮箱)的方式进行消息的发送和接收,完成进程间的通信。
- 信箱通信:通过某种中间实体来完成进程通信。在公用缓冲区上暂存发送进程发送的消息,接收进程可以从该中间实体取出消息,该中间实体称为邮箱。每个邮箱都有一个唯一标识符。消息在邮箱中可以安全的保存,只允许核准的目标用户随机读取。
邮箱的类型:
① 私用邮箱:用户进程自己创建,并作为进程的一部分,邮箱拥有者从邮箱中读取消息,其他用户只能发送消息到该邮箱,可采用单向链路的邮箱实现。
② 共享邮箱:由某进程创建,创建时指出共享进程的名字。邮箱拥有者和共享者都能够取走发送给自己的消息
③ 公用邮箱:由操作系统创建,并提供给系统中所有核准进程使用。可读可发送,应该采用双向通信链路的邮箱来实现。
四、客户机-服务器系统
该机制是网络环境的各种应用领域当前主流的通信实现机制,主要实现放肆有:套接字、远程过程调用和远程方法调用。
套接字
一个套接字就是一个通信标识类型的数据结构,包含了通信目的地址、通信使用的端口号、通信网络的传输层协议、进程所在的网络地址,以及针对客户或服务器程序提供的不同系统调用等,是进程通信和网络通信的基本构建。
套接字是为客户/服务器模型设计的,通常包括两类:
- 基于文件型:通信进程都运行在同一台机器的环境中,一个套接字关联到一个特殊的本地文件,通信双方通过对这个特殊文件的读写实现通信,原理类似管道。
- 基于网络型:该类型通常采用的是非对称方式通信,即发送者需要提供接受者命名。通信双方的进程运行在不同主机的网络环境下。
工作过程:一般地,发送进程(客户端)发出连接请求时,随机申请一个套接字,主机为之分配一个端口,与该套接字绑定,不再分配给其它进程。接收进程(服务端)拥有全局公认的套接字和指定的端口(如ftp服务器-21,http服务器80等),并通过监听端口等待客户请求。因此任何进程都可以向它发出连接请求和信息请求,以便进程之间通信连接的建立。
接收进程一旦收到请求,就接收来自发送进程的连接,完成连接,即在主机间传输的数据可以准确地发送到通信进程,实现进程间的通信;当通信结束时,系统通过关闭接收进程的套接字撤销连接
套接字的优势在于,不仅使用与一台计算机内部的进程通信,也适用于网络环境中不同计算机间的进程通信。并且每个套接字拥有唯一的套接字号,确保了通信双方之间逻辑链路的唯一性。
远程过程调用和远程方法调用
远程过程(函数)调用 RPC:是一个通信协议,用于通过网络连接的系统。该协议允许运行于一台主机(本地)系统上的进程,调用另一台主机(远程)系统上的进程(例如在公司,远程调用关闭家里的空调),而对程序员表现为常规的过程调用,无需额外地为此编程。如果涉及的软件采用面向对象编程,那么远程过程调用也可称作远程方法调用。
负责处理远程过程调用的进程有两个,一个是本地客户进程,另一个是远程服务器进程,这两个进程通常也被称为网络守护进程,主要负责在网络间的消息传递,一般情况下,这两个进程都是处于阻塞状态,等待消息。
为了实现RPC的透明性,即就像调用本地过程一样,RPC引入一个存根的概念:在本地客户端,每个能够独立运行的远程过程都拥有一个客户存根,本地进程调用远程过程实际是调用该过程关联的存根,即调用的时候将控制权转移给存根,让存根来执行。
本文为《计算机操作系统》第四版 学习笔记+个人总结
-
ROS通信机制概述
2022-03-13 22:53:23ROS通信机制原理(概述) ROS最常用的三种通信方式有:话题通信、服务通信和共享参数。 1.1话题通信机制——异步通信机制 特点1:节点间用来传输数据的重要总线: 特点2:使用发布/订阅模型,数据由发布者传输到订阅...ROS通信机制原理(概述)
ROS最常用的三种通信方式有:话题通信、服务通信和共享参数。
1.1话题通信机制——异步通信机制
特点1:节点间用来传输数据的重要总线:
特点2:使用发布/订阅模型,数据由发布者传输到订阅者,同一个话题的 订阅者或发布者不唯一。通俗理解:
发布者(Publisher)发布消息给话题(Topic),订阅者(Subscriber)从指定话题订阅话题。
消息(message):发送或者接收的消息类型可以使用已有的消息类型,也可以自己定义消息类型。
图1.1-1 简述话题通信机制图以小海龟程序为例,利用键盘对乌龟进行操作的指令如下图所示:
图1.1-2 键盘控制小海龟进行操作的节点图1.2服务通信机制——同步通信机制
*特点1:*使用客户端/服务端(C/S)模型,客服端发送请求数据,服务器完成处理后返回应答数据:
*特点2:*使用编程语言无关的.srv文件定义请求和应答数据结构,编译过程中生成相应的代码文件。服务通信过程:
1.注册Talker和Listener
2.ROS Master进行信息匹配并向Listener提供Talker的TCP地址信息
3.Listener尝试与Talker建立网络连接
4.Talker向Listener发布服务数据**服务编程流程:**创建服务器、创建客户端、添加编译选项、运行可执行程序
以《ROS入门21讲》运行小海龟的server为例,服务通信模型如下:
图1.2 小海龟的服务模型1.3共享参数机制——全局共享字典
特点1:可通过网络访问的共享、多变量字典;
特点2:节点使用此服务器来存储和检索运行时的参数;
特点3:适合存储静态、非二进制的配置参数,不适合存储动态配置的数据。参数共享机制类似于程序中的全局变量,Talker去更新全局变量(共享的参数),Listener去获取更新后的全局变量(共享的参数);这个通信过程不涉及TCP/UDP的通信。当Listener知道共享参数变化是,需要不断的找ROS Master获取数据。
图1.3 共享参数机制 -
Angularjs的Controller间通信机制实例分析
2020-11-28 15:11:03本文实例讲述了Angularjs的Controller间通信机制。分享给大家供大家参考,具体如下: 在Angularjs开发一些经验总结中提到我们需要按照业务区分angular controller,避免过大无所不能的上帝controller,我们把... -
TCP通信机制
2021-10-04 11:12:27一、TCP三次握手机制 第一次握手: 1.客户端主动从CLOSED状态,变成主动打开状态; 2.客户端发向服务器发送连接请求报文,然后变成SYN_SENT状态,即同步已发送状态。 第二次握手: 1.服务器从CLOSED状态,变成LISTEN...一、TCP三次握手机制
第一次握手:
1.客户端主动从CLOSED状态,变成主动打开状态;
2.客户端发向服务器发送连接请求报文,然后变成SYN_SENT状态,即同步已发送状态。第二次握手:
1.服务器从CLOSED状态,变成LISTEN状态,等待客户端的连接;
2.服务器收到连接请求报文,然后变成被动打开状态;
3.服务器向客户端发送确认和连接请求报文,然后变成SYN_REVD状态,即同步已接收状态。第三次握手:
1.客户端发向服务器发送确认报文,然后变成ENTABLISHED状态;
2.服务器收到确认报文后,最后变成ENTABLISHED状态;
3.客户端和服务器完成TCP连接。二、TCP四次挥手机制
第一次挥手:
1.客户端主动从ENTABLISHED状态,变成主动关闭状态;
2.客户端发向服务器发送释放连接请求报文,然后变成FIN_WAIT_1状态,即等待确认状态。第二次挥手:
1.服务器收到释放连接请求报文,然后变成CLOSE_WAIT状态,此时TCP连接进入半关闭状态;
2.服务器向客户端发送确认报文。第三次挥手:
1.服务器向客户端发送完剩余数据,然后变成被动关闭状态;
2.服务器向客户端发送释放连接请求报文,然后变成LAST_WAIT状态,即最后确认状态。第四次挥手:
1.客户端收到确认报文,然后变成FIN_WAIT_2状态,即等待服务器释放连接请求状态;
2.客户端收到释放连接请求报文,然后变成TIME_WAIT状态;
3.客户端向服务器发送确认报文,等待两个MSL,最后进入CLOSED状态;
4.服务器收到确认报文,最后进入CLOSED状态。 -
基于CAN总线的继电保护装置内部通信机制设计
2021-01-27 10:20:05为了解决继电保护装置内部通信问题,提出了一种基于CAN总线的继电保护装置内部通信机制设计方案。通过对装置内CPU模件与开入、开出模件通信的特性进行分析,对CAN总线ID分段、数据传输及重发机制、通信故障处理机制... -
php中socket通信机制实例详解
2020-10-24 23:03:36主要介绍了php中socket通信机制,讲述了socket通信机制的原理,并以实例形式较为详细的分析了socket通信机制的用法,需要的朋友可以参考下 -
ROS的通信机制
2019-08-29 15:55:53文章目录写在前面的话ROS 的通信机制话题通信机制服务通信机制共享参数机制话题与服务的区别 写在前面的话 文档没有任何商业因素,本着共享的精神进行分享,如有素材侵权,请给我留言; 文档都是自己平时看书或工作... -
Windows通信机制和DLL机制实验报告.doc
2022-07-07 03:21:52Windows通信机制和DLL机制实验报告 -
ROS学习笔记---ros的通信机制
2022-04-27 08:55:40ros通信机制包含两种模式,话题和服务两种方式 RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过... -
ROS架构(五)——ROS的通信机制
2021-01-11 22:12:34ROS架构(四)——ROS的通信机制 ROS的核心——分布式通信机制 -
论文研究-开放系统桌面进程通信机制研究.pdf
2019-07-22 19:11:58桌面系统由一系列应用程序组成,它们之间需要协作一致来完成特定的任务,这就要求应用程序能够...通过对各种通信机制进行分析和比较,抽象桌面进程通信的基本架构和特点,总结出设计和选择桌面进程通信机制的基本原则。 -
基于关键业务通信机制的铁路智能调度通信技术研究.pdf
2021-09-02 22:55:30基于关键业务通信机制的铁路智能调度通信技术研究.pdf -
wsn中支持语音传输的mac通信机制分析与实现-综合文档
2021-05-18 15:26:11wsn中支持语音传输的mac通信机制分析与实现 -
理解同步和异步通信:以ROS的3中典型通信机制为例
2020-12-20 00:13:17一、ROS中的几种通信机制 在ROS中,不同的进程可以可以被视为不同的节点,节点之间的数据传输需要通过消息通信来完成,常见的消息通信类型有话题、服务、动作、参数等,我们可以用下面这张表来说明。 二、不同通信... -
WebSocket 的通信机制
2021-12-09 00:17:36WebSocket 的通信机制建立连接数据传输关闭连接 这里假设通信的发送方名叫 client,接收方名叫 server,且接收方已事先开启端口号。 建立连接 首先进行 TCP 三报文握手。这个过程如果不成功,后面的通信将... -
利用Linux的消息队列通信机制实现两个线程间的通信
2019-08-05 20:56:153)利用Linux的消息队列通信机制实现两个线程间的通信 编写程序创建三个线程:sender1线程、sender2线程和receiver线程,三个线程的功能描述如下: ①sender1线程:运行函数sender1(),它创建一个消息队列,然后... -
一种改进型SPI高可靠通信机制设计
2020-07-26 06:34:22本文通过对嵌入式系统中的SPI通信机制的研究与分析,设计了一种高可靠性的SPI通信机制。这种SPI通信机制的高可靠性通过系统长期的现场应用得到了验证。 -
【AutoSAR】【多核】通信机制
2021-06-16 10:50:44目录 前言: 一、RPC(Remote Procee Call) 二 、Satellite机制 三、Proxy机制 前言: 多核应用软件架构,如下图: -
UNIX操作系统中进程通信机制的应用Windows系统 电脑资料.doc
2020-08-29 09:47:33UNIX操作系统中进程通信机制的应用Windows系统 电脑资料 UNIX操作系统中进程通信机制的应用 UNIX系统具有丰富的进程通信手段其中包括信号信号灯管道消息传递等这些进程通信机制能有效地完成多个进程之间的信息共享和... -
java进程间通信机制.ppt
2019-08-08 09:35:42java进程间通信机制.ppt -
高级操作系统-分布式通信机制.rar
2021-09-06 19:37:57高级操作系统-分布式通信机制 -
基于Linux数据链路层MPI通信机制的设计与实现.pdf
2020-05-29 23:41:335/28/2020 基于Linux数据链路层MPI通信机制的设计与实现 摘 要 针对MPI集群通信的特点通过分析当前网络的通信结构和MPI的点到点通信模式提出了一种基 于数据链路层的集群通信机制用以减少协议开销和内存拷贝次数从而...