物理层,数据链路层,网络层,浏览器组成部分,https协议

24 阅读16分钟

物理层: 最底层或第一层,该层包括物理联网媒介,双纹线、同轴电缆、光纤等。物理层的协议产生并检测电压以便发送和接收携带数据的信号,一般是01信号。传输这种信息就要用到物理媒体,双纹线、同轴电缆、光纤等,但具体的物理媒体不在OS]的7层模型内,有人把物理媒体当做第0层。物理层的任务就是为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性。如规定使用电缆和接头的类型、传送信号的电压等。在这一层,数据还没有被组织,仅作为原始的位流或电气电压外理,单位是bit比特。 数据链路层: 给电信号分组(以太网帧),并以广播的方式在子网中传播(每一个接收者比较目标MAC地址和自己的MAC地址可知自己是不是对方要找的人)。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的物理地址以及检错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。如果在传送数据时,接收点检测到所传送的互数据中有养错,就要通知发送方重发这一帧。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。交换机工作在这一层。数据链路层协议的代表有:SDLC、HDLC、PPP、SIP、帧中继等。 网络层: 给主机分配"P地址,判断两个P是否属于同一子网,是则通过链路层发送,否则交给网关转发,实现了数据从子网A到子网B的传送。其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。网路层通过综合考虑发送优先权、网络拥寒程度、服务质量以及可路由的话费来决定从一个网络中节点A到另一个网络中节点B的最佳路径。由于网络层处理,并智能指导数据传送,路由器连接网络各段,所以路由器工作在网络层。网络层是可选的,它只用于当两个计算机系统处于不用的路由器分割开的网段这种情况,或者当通信引用要求某种网络层或传输层提供给的服务、特性或者能力时。例如,当两台主机处于同一个LAN网段的直接相连这种情况,他们之间的通信只使用LAN的通信机制就可以了(即OSI参考模型的一二层)。 传输层:OSI模型中最重要的一层。传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割。例如,以太网无法接收大于1500字节的数据包。发送方节点的传输层将数据分制成较小的数据片,同时对每一数据片安排一序列号。工作在这一层的协议是TCP(传输控制协议)、UDP(用户数据报协议)。TCP提供面向连接的可靠传输,UDP是面向非连接的非可靠传输(OQ即时通讯)。 会话层:负责在网络中的两节点之间建立、维持和终止通信。会话层的功能包括;建立通信连接,保持会话过程通信连接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送。 表示层:应用程序和网络之间的翻译官,在表示层,数据按照网络能理解的方案进行格式化;这种格式化也因所使用的网络的类型不同而不同。表示层管理数据的解密与加密,如系统口令的处理。例如:在heme上查询你银行账户,使用的即是一种安全连接。你的账户数据在发送前被加密,在网络的另一端,表示层将对接收到的数据解密。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。 应用层:应用层也称为应用实体,它由若干个特定应用服务元素(SASE)和一个或多个共用应用服务元素(CASE)组成。例如文件传输访问和管理(FTAM)、电子文电处理(MHS)、虚拟终端协议(VAP)等。应用层负贵对软件提供接口以使程序能使用网络服务,应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理等。代表协议有SMTP、FTP、HTTP等。

物理层:

最底层或第一层,该层包括物理联网媒介,双绞线、同轴电缆、光纤等。物理层的协议产生并检测电压以便发送和接收携带数据的信号,一般是0 1

信号。传输这种信息就要用到物理媒体,双绞线、同轴电缆、光纤等,但具体的物理媒体不在OSI的7层模型内,有人把物理媒体当做第0层。物理

层的任务就是为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性。如规定使用电缆和接头的类型、传送信号的电压等。在

这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是bit比特。

数据链路层:

给电信号分组(以太网帧),并以广播的方式在子网中传播(每一个接收者比较目标MAC地址和自己的MAC地址可知自己是不是对方要找的

人)。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,还包括发

送方和接收方的物理地址以及检错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。如果在传送数据时,

接收点检测到所传送的互数据中有差错,就要通知发送方重发这一帧。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理

地址寻址、数据的成帧、流量控制、数据的检错、重发等。交换机工作在这一层。数据链路层协议的代表有:SDLC、HDLC、PPP、STP、帧中继

等。

网络层:

给主机分配IP地址,判断两个IP是否属于同一子网,是则通过链路层发送,否则交给网关转发,实现了数据从子网A到子网B的传送。其主要功能是

将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。网路层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可

路由的话费来决定从一个网络中节点A到另一个网络中节点B的最佳路径。由于网络层处理,并智能指导数据传送,路由器连接网络各段,所以路由

1器工作在网络层。网络层是可选的,它只用于当两个计算机系统处于不用的路由器分割开的网段这种情况,或者当通信引用要求某种网络层或传输

层提供给的服务、特性或者能力时。例如,当两台主机处于同一个LAN网段的直接相连这种情况,他们之间的通信只使用LAN的通信机制就可以了

(即OSI参考模型的一二层)。

传输层:

OSI模型中最重要的一层。传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能

处理的最大尺寸将较长的数据包进行强制分割。例如,以太网无法接收大于1500字节的数据包。发送方节点的传输层将数据分割成较小的数据片,

同时对每一数据片安排一序列号。工作在这一层的协议是TCP(传输控制协议)、UDP(用户数据报协议)。TCP提供面向连接的可靠传输,UDP是面向

非连接的非可靠传输(QQ即时通讯)。

会话层:

负责在网络中的两节点之间建立、维持和终止通信。会话层的功能包括:建立通信连接,保持会话过程通信连接的畅通,同步两个节点之间的对

话,决定通信是否被中断以及通信中断时决定从何处重新发送。

表示层:

应用程序和网络之间的翻译官,在表示层,数据按照网络能理解的方案进行格式化;这种格式化也因所使用的网络的类型不同而不同。表示层管理

数据的解密与加密,如系统口令的处理。例如:在Internet上查询你银行账户,使用的即是一种安全连接。你的账户数据在发送前被加密,在网络的

另一端,表示层将对接收到的数据解密。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。

应用层:

应用层也称为应用实体,它由若干个特定应用服务元素(SASE)和一个或多个共用应用服务元素(CASE)组成。例如文件传输访问和管理

FTAM)、电子文电处理(MHS)、虚拟终端协议(VAP)等。应用层负责对软件提供接口以使程序能使用网络服务,应用层提供的服务包括文

件传输、文件管理以及电子邮件的信息处理等。代表协议有SMTP、FTP、HTTP等。

浏览器组成部分

用户界面 用户界面后端 浏览器引擎 javascript解析器 渲染引擎 数据存储模块 网络模块

,用户界面:包括地址栏,前进/后退按钮,书签菜单等。除了浏览器主窗口显示的您 请求的页面外,其他显示的各个部分都属于用户界面。 浏览器引擎:在用户界面和呈现引擎之间传送指令 .渲染引擎-负责显示请求的内容。如果请求的内容是html,它就负责解析html 和css内容,并将解析后的内容显示在屏幕上

浏览器引擎:在用户界面和呈现引擎之间传输指令 用户界面:包括地址栏,前进后退按钮,书签菜单等,除了浏览器主窗口显示的请求的内容外,其他显示的各个部分都属于用户界面

渲染引擎:负责显示请求内容,如果请求的内容是html,他就负责解析html和css内容,并且将解析结果内容显示在屏幕上

网络模块:用于网络调用,比如htt请求,其接口和平台无关,并且为所有的平台提供底层实现 用户界面后端:用于绘制基本的窗口小部件,比如组合框和窗口,其公开了和平台无关的通用接口,而在底层使用操作系统的用户界面方法 javascript解释器:用于解析和执行javascript代码 数据存储模块: 这是持久层,浏览器需要在硬盘上保存各种数据例如:cookie,sessionStorage,localStorage

二、HTTPS协议

1. 什么是HTTPS协议

超文本传输安全协议(Hypertext Transfer Protocol Secure,简称:HTTPS)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,利用SSL/TLS来加密数据包。HTTPS的主要目的是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议TLS/SSL具有身份验证、信息加密和完整性校验的功能,可以避免此类问题发生。

安全层的主要职责就是对发起的HTTP请求的数据进行加密操作 和 对接收到的HTTP的内容进行解密操作

2. TLS/SSL的工作原理

TLS/SSL全称安全传输层协议(Transport Layer Security), 是介于TCP和HTTP之间的一层安全协议,不影响原有的TCP协议和HTTP协议,所以使用HTTPS基本上不需要对HTTP页面进行太多的改造。

TLS/SSL的功能实现主要依赖三类基本算法:散列函数hash、对称加密、非对称加密。这三类算法的作用如下:

基于散列函数验证信息的完整性

对称加密算法采用协商的秘钥对数据加密

非对称加密实现身份认证和秘钥协商

散列算法:函数不可逆,对输入敏感,输出长度固定,完整校验,

(1)散列函数hash 常见的散列函数有MD5、SHA1、SHA256。该函数的特点是单向不可逆,对输入数据非常敏感,输出的长度固定,任何数据的修改都会改变散列函数的结果,可以用于防止信息篡改并验证数据的完整性。

特点:在信息传输过程中,散列函数不能三都实现信息防篡改,由于传输是明文传输,中间人可以修改信息后重新计算信息的摘要,所以需要对传输的信息和信息摘要进行加密。

(2)对称加密

对称加密的方法是,双方使用同一个秘钥对数据进行加密和解密。但是对称加密的存在一个问题,就是如何保证秘钥传输的安全性,因为秘钥还是会通过网络传输的,一旦秘钥被其他人获取到,那么整个加密过程就毫无作用了。 这就要用到非对称加密的方法。

常见的对称加密算法有AES-CBC、DES、3DES、AES-GCM等。相同的秘钥可以用于信息的加密和解密。掌握秘钥才能获取信息,防止信息窃听,其通讯方式是一对一。

特点:对称加密的优势就是信息传输使用一对一,需要共享相同的密码,密码的安全是保证信息安全的基础,服务器和N个客户端通信,需要维持N个密码记录且不能修改密码。 (3)非对称加密

非对称加密的方法是,我们拥有两个秘钥,一个是公钥,一个是私钥。公钥是公开的,私钥是保密的。用私钥加密的数据,只有对应的公钥才能解密,用公钥加密的数据,只有对应的私钥才能解密。我们可以将公钥公布出去,任何想和我们通信的客户, 都可以使用我们提供的公钥对数据进行加密,这样我们就可以使用私钥进行解密,这样就能保证数据的安全了。但是非对称加密有一个缺点就是加密的过程很慢,因此如果每次通信都使用非对称加密的方式的话,反而会造成等待时间过长的问题。

常见的非对称加密算法有RSA、ECC、DH等。秘钥成对出现,一般称为公钥(公开)和私钥(保密)。公钥加密的信息只有私钥可以解开,私钥加密的信息只能公钥解开,因此掌握公钥的不同客户端之间不能相互解密信息,只能和服务器进行加密通信,服务器可以实现一对多的的通信,客户端也可以用来验证掌握私钥的服务器的身份。

特点:非对称加密的特点就是信息一对多,服务器只需要维持一个私钥就可以和多个客户端进行通信,但服务器发出的信息能够被所有的客户端解密,且该算法的计算复杂,加密的速度慢。

综合上述算法特点,TLS/SSL的工作方式就是客户端使用非对称加密与服务器进行通信,实现身份的验证并协商对称加密使用的秘钥。对称加密算法采用协商秘钥对信息以及信息摘要进行加密通信,不同节点之间采用的对称秘钥不同,从而保证信息只能通信双方获取。这样就解决了两个方法各自存在的问题。

3. 数字证书是什么?

现在的方法也不一定是安全的,因为没有办法确定得到的公钥就一定是安全的公钥。可能存在一个中间人,截取了对方发给我们的公钥,然后将他自己的公钥发送给我们,当我们使用他的公钥加密后发送的信息,就可以被他用自己的私钥解密。然后他伪装成我们以同样的方法向对方发送信息,这样我们的信息就被窃取了,然而自己还不知道。为了解决这样的问题,可以使用数字证书。 首先使用一种 Hash 算法来对公钥和其他信息进行加密,生成一个信息摘要,然后让有公信力的认证中心(简称 CA )用它的私钥对消息摘要加密,形成签名。最后将原始的信息和签名合在一起,称为数字证书。当接收方收到数字证书的时候,先根据原始信息使用同样的 Hash 算法生成一个摘要,然后使用公证处的公钥来对数字证书中的摘要进行解密,最后将解密的摘要和生成的摘要进行对比,就能发现得到的信息是否被更改了。

这个方法最要的是认证中心的可靠性,一般浏览器里会内置一些顶层的认证中心的证书,相当于我们自动信任了他们,只有这样才能保证数据的安全。