探索网络模型与协议:从OSI到HTTPs的原理解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。

一、OSI网络模型


添加图片注释,不超过 140 字(可选)


OSI(Open Systems Interconnection)七层网络参考模型和TCP/IP四层模型都是用于理解和设计计算机网络的框架,但它们之间存在一些差异。

1、七层 vs 四层

OSI七层网络参考模型:

  1. 物理层(Physical Layer):
  • 负责传输比特流,定义物理连接和电气规范。
  • 数据链路层(Data Link Layer):
  • 提供可靠的数据传输,错误检测和纠正。
  • 网络层(Network Layer):
  • 负责数据包的路由、转发和寻址。
  • 传输层(Transport Layer):
  • 提供端到端的通信和数据流控制。
  • 会话层(Session Layer):
  • 管理和维护会话,确保数据的同步和顺序传输。
  • 表示层(Presentation Layer):
  • 负责数据格式的转换,确保数据的可读性。
  • 应用层(Application Layer):
  • 提供网络服务和应用程序接口。

TCP/IP四层模型:

  1. 链路层(Link Layer):
  • 类似于OSI的数据链路层,负责物理网络链路的操作。
  • 网络层(Internet Layer):
  • 类似于OSI的网络层,负责数据包的路由、转发和寻址。
  • 传输层(Transport Layer):
  • 同OSI的传输层,提供端到端的通信和数据流控制。
  • 应用层(Application Layer):
  • 同OSI的应用层,提供网络服务和应用程序接口。

2、关系与比较:

  1. 对应关系:
  • OSI的物理层和数据链路层合并为TCP/IP的链路层。
  • OSI的会话层、表示层和应用层合并为TCP/IP的应用层。
  • 层次数量:
  • OSI有七个层次,而TCP/IP只有四个层次。
  • 发展历史:
  • OSI是一个理论上的参考模型,由国际标准化组织(ISO)提出。然而,TCP/IP是实际应用中首先被广泛采用的协议族,其发展始于美国国防部的ARPANET项目。
  • 广泛应用:
  • 尽管OSI提供了一个理论框架,但TCP/IP在实际应用中更为广泛,成为互联网的基础协议。


二、网络模型与协议

OSI(Open Systems Interconnection)七层网络参考模型是一个标准的理论框架,用于理解和设计计算机网络。每一层都有特定的功能,并且网络协议通常被设计为在这个模型的特定层次上运行。下面是每一层及其与网络协议的关系:

  1. 物理层(Physical Layer):
  • 功能:传输比特流,定义物理连接和电气规范。
  • 协议和设备:以太网(Ethernet)、USB、光纤、网线等。
  • 数据链路层(Data Link Layer):
  • 功能:提供可靠的数据传输,错误检测和纠正。
  • 协议和设备:MAC地址、PPP(Point-to-Point Protocol)、HDLC(High-Level Data Link Control)等。
  • 网络层(Network Layer):
  • 功能:负责数据包的路由、转发和寻址。
  • 协议:IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、OSPF(Open Shortest Path First)等。
  • 传输层(Transport Layer):
  • 功能:提供端到端的通信和数据流控制。
  • 协议:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)等。
  • 会话层(Session Layer):
  • 功能:管理和维护会话,确保数据的同步和顺序传输。
  • 协议:NetBIOS(Network Basic Input/Output System)等。
  • 表示层(Presentation Layer):
  • 功能:数据格式的转换,确保数据的可读性。
  • 协议:JPEG、ASCII、SSL/TLS(Secure Sockets Layer/Transport Layer Security)等。
  • 应用层(Application Layer):
  • 功能:提供网络服务和应用程序接口。
  • 协议:HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)等。

网络协议通常被设计为在特定的OSI层次上运行,每个协议负责执行该层次的功能。例如,TCP和UDP是传输层协议,IP是网络层协议,而HTTP是应用层协议。这种分层结构有助于不同厂商和组织开发和维护独立的技术,从而提高互操作性和可扩展性。

三、Https协议


添加图片注释,不超过 140 字(可选)


几个概念

1、文中的使用非对称加密对称密钥就是数字信封技术

2、https通讯全过程

 TCP三次握手->建立SSL连接(验证双方证书身份、获取对称密钥)->建立https连接(使用对称密钥加密通讯)

HTTPS(Hypertext Transfer Protocol Secure)是一种用于安全数据传输的通信协议,它基于HTTP,但通过使用TLS(Transport Layer Security)或其前身SSL(Secure Sockets Layer)来加密数据。HTTPS的主要目的是保护网站上的用户数据,如登录信息、支付信息等,免受中间人攻击和窃听。

数字信封技术是一种加密通信的方法,用于确保数据的机密性、完整性和身份认证。它通常与非对称加密算法和数字证书结合使用。以下是数字信封技术的基本原理:

  1. 非对称加密: 在数字信封技术中,通常使用非对称加密算法,如RSA。这种算法涉及到一对密钥:公钥和私钥。公钥用于加密,而私钥用于解密。公钥可以公开分享,但私钥必须保持机密。
  2. 数字证书: 数字信封技术通常需要使用数字证书,这是由可信的证书颁发机构(CA)签发的一种电子证明,用于证明公钥的合法性。数字证书中包含了与特定实体(如网站、服务器或个人)相关联的公钥,同时还包含了CA的数字签名,用于验证证书的真实性。
  3. 数字签名: 数字信封技术使用数字签名来确保数据的完整性。数字签名是通过使用私钥对消息或数据进行加密生成的,然后可以使用公钥进行解密验证。如果数据在传输过程中被篡改,数字签名验证将失败,表明数据不再是原始的。
  4. 加密和解密过程: 发送方使用接收方的公钥来加密消息,形成数字信封。这个数字信封可以被任何人截获,但只有拥有相应私钥的接收方才能解密并读取消息。因为私钥只有接收方知道,所以只有接收方能够解密消息,从而确保了数据的机密性。


3.1、HTTPS单向身份认证

1、https建立连接过程


添加图片注释,不超过 140 字(可选)


0)客户端与服务器建立tcp通信,经过三次握手。

1)客户端向服务器发送https请求,基本包括SSL证书版本等信息给服务器端建立连接。

2)服务器端确认SSL证书版本、服务器公钥证书、服务器随机数返回给客户端。

3)客户端校验服务器端证书是否合法(通过CA证书来验证服务器身份)。验证通过就继续下一步,验证不通过警告提示(如浏览器的警告提示)。一般CA证书的验证包括:证书信任链验证、证书有效期验证、证书是否吊销等。

4)客户端发送可支持的对称加密方案到服务器端供其选择。

5)服务器端将选择好的加密方案(算法)以明文方式发给客户端

6)客户端收到采用的加密算法后,产生随机码即预主密钥。

7)客户端把预主密钥使用服务器端的公钥(非对称加密)加密后发送到服务器端。

8)服务器端使用私钥(非对称加密)解密后获得预主密钥,并结合服务器随机数计算出主密钥即对称加密的密钥。

9)双方通过对称加密密钥(主密钥)进行加密通讯。

3.2、HTTPS双向身份认证


添加图片注释,不超过 140 字(可选)


1)客户端通过发送Client Hello报文开始SSL通信。报文中包含客户端支持的SSL的指定版本、加密组件列表、所使用的加密算法及密钥长度、随机数Random-A等。

2)服务器可进行SSL通信时,会以Server Hello报文作为应答。和客户端一样,在报文中包含SSL版本以及加密组件(客户端支持中筛选)、服务器生成的随机数Random-B、服务器公钥证书PublicKey-B。

3)客户端校验服务器端证书PublicKey-B是否合法(通过CA证书来验证服务器身份)。验证通过就继续下一步,验证不通过警告提示(如浏览器的警告提示)。一般CA证书的验证包括:证书信任链验证、证书有效期验证、证书是否吊销等。

4)客户端将自己的公钥证书PublicKey-A发送给服务器端,供服务器验证客户端身份。客户端事先也需申请相应的SSL证书。

5)服务器校验客户端证书PublicKey-A是否合法(通过CA证书来验证服务器身份)。验证通过就继续下一步,验证不通过警告提示(如浏览器的警告提示)。一般CA证书的验证包括:证书信任链验证、证书有效期验证、证书是否吊销等。

6)客户端发送可支持的对称加密方案到服务器端供其选择。

7)服务器端将选择好的加密方案(算法)发送给客户端,报文使用客户端公钥PublicKey-A进行非对称加密。

8)客户端使用自己的私钥PrivateKey-A解密报文,并通过Random-A、Random-B推算出Random-C,也就是对称加密的密钥。

9)客户端使用服务器公钥PublicKey-B非对称加密对称密钥Random-C,发送给服务器。

10)服务器使用自己的私钥PrivateKey-B解密报文,解决出对称密钥Random-C。

11)双方完成身份验证,并使用对称密钥Random-C进行加密通讯。

3.3、浏览器Https访问过程


添加图片注释,不超过 140 字(可选)


浏览器通过Https访问https://www.baidu.com的全过程可以分为以下几个步骤:

  • 输入网址

用户在浏览器地址栏中输入网址 https://www.baidu.com

  • DNS解析

浏览器将网址 https://www.baidu.com 发送给本地 DNS 服务器,请求解析域名。

  • 获取IP地址

DNS 服务器将域名 https://www.baidu.com 解析为 IP 地址 14.215.177.39。

  • 建立TCP连接

浏览器使用 IP 地址 14.215.177.39 连接到百度服务器。

  • 发送HTTPS请求

浏览器发送 HTTPS 请求,请求百度服务器返回网页内容。

  • 接收HTTPS响应

百度服务器返回 HTTPS 响应,包含网页内容和证书。

  • 验证证书

浏览器验证证书的有效性。

  • 解析网页内容

浏览器解析网页内容,并显示给用户。



目录
相关文章
|
9天前
|
监控 安全 BI
什么是零信任模型?如何实施以保证网络安全?
随着数字化转型,网络边界不断变化,组织需采用新的安全方法。零信任基于“永不信任,永远验证”原则,强调无论内外部,任何用户、设备或网络都不可信任。该模型包括微分段、多因素身份验证、单点登录、最小特权原则、持续监控和审核用户活动、监控设备等核心准则,以实现强大的网络安全态势。
|
1月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
62 11
|
1月前
|
缓存 安全 网络协议
HTTPS协议的历史发展
HTTPS协议的历史发展
44 8
|
1月前
|
安全 应用服务中间件 Linux
判断一个网站是否使用HTTPS协议
判断一个网站是否使用HTTPS协议
57 4
|
1月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
90 2
|
1月前
|
运维 网络协议 算法
7 层 OSI 参考模型:详解网络通信的层次结构
7 层 OSI 参考模型:详解网络通信的层次结构
199 1
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
77 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
81 0
|
3天前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
|
3天前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析

热门文章

最新文章