一分钟了解四层/七层反向代理 | 架构师之路

简介: 一分钟了解四层/七层反向代理

上一篇文章《session一致性架构设计实践》,对于其中的第三种“反向代理hash法”,不少同学留言问:

什么是四层反向代理hash

什么是七层反向代理hash

中间还有三层那里去了

...

今天花几分钟简单和大家解释一下。

场景:访问用户通过proxy请求被访问的真实服务器

路径:用户 -> proxy -> real-server

什么是代理?

回答:[proxy]代表[访问用户],此时proxy是代理。

例如:

在家访问xxoo网站,不希望xxoo网站trace到我们的真实ip,于是就找一个proxy,通过proxy来访问,此时proxy代表用户,网站以为proxy的ip就是用户的ip。

什么是反向代理?

回答:[proxy]代表[被访问的服务器],此时proxy是反向代理。

例如:

web-server希望对用户屏蔽高可用、屏蔽web-server扩展、web-server内网ip等细节,于是就找了一个proxy隔在中间,此时proxy代表web-server集群,用户以为proxy的ip就是被访问web-server的ip(web-server是集群,具体访问了哪个web-server,用户不知道),由于web-server集群有多台,此时反向代理服务器要具备负载均衡的功能。

一般怎么做反向代理,负载均衡?

回答:nginx/apache,lvs,F5

什么是四层(转发/交换),什么是七层(转发/交换)?

回答:这个是来源于OSI七层模型

大学“计算机网络”课程,之前都是用这个七层模型,新版教程用TCP/IP五层模型,这两个模型之间有一个对应关系如下:

可以看到,四层是指传输层,七层是指应用层。

更具体的,对应到nginx反向代理hash:

四层:根据用户ip+port来做hash

七层:根据http协议中的某些属性来做hash

为什么中间少了几层?

回答:OSI应用层、表示层、会话层合并到TCP/IP的应用层啦。

image.png

上面有四层,七层,那有没有二层,三层呢?

回答:有

二层:根据数据链路层MAC地址完成数据交换

三层:根据网络层IP地址完成数据交换

希望解答了大伙之前的一些疑问,希望这一分钟没有浪费,如果有描述不准确的地方,欢迎指正。

==【完】==

目录
相关文章
|
Shell
Shell 脚本输出命令结果保持原格式,保留换行
Shell 脚本输出命令结果保持原格式,保留换行
418 0
|
7月前
|
运维 负载均衡 安全
别再混为一谈了!一文读懂内网穿透的三大技术:VPN、反向代理与零信任
总而言之,三者并非简单的替代关系,而是演进与互补。理解其核心差异,才能为企业构建起既高效又安全的远程访问体系。
|
8月前
|
数据安全/隐私保护
阿里云无影云电脑如何开通使用?一文详解
一文读懂如何使用阿里云无影云电脑EDS?细数那些容易被忽视的操作,让无影云电脑产品更易理解和使用~
|
SQL 弹性计算 数据库
达梦(DM)1、安装达梦数据库(Windows篇)
DM8是达梦公司在总结DM系列产品研发与应用经验的基础上,坚持开放创新、简洁实用的理念,历经五年匠心打磨,推出的新一代自研数据库。
2019 0
达梦(DM)1、安装达梦数据库(Windows篇)
|
Java Maven
使用 maven 自动将源码打包并发布
使用 maven 自动将源码打包并发布
716 0
|
网络安全 开发工具
搭建麒麟桌面操作系统V10 SP1 2303
【7月更文挑战第15天】通过搭建麒麟桌面操作系统V10 SP1 2303的内网仓库,您不仅可以提高软件安装和更新的速度,还能增加网络的安全性。
1715 2
|
安全 C# 数据安全/隐私保护
WPF安全加固全攻略:从数据绑定到网络通信,多维度防范让你的应用固若金汤,抵御各类攻击
【8月更文挑战第31天】安全性是WPF应用程序开发中不可或缺的一部分。本文从技术角度探讨了WPF应用面临的多种安全威胁及防护措施。通过严格验证绑定数据、限制资源加载来源、实施基于角色的权限管理和使用加密技术保障网络通信安全,可有效提升应用安全性,增强用户信任。例如,使用HTML编码防止XSS攻击、检查资源签名确保其可信度、定义安全策略限制文件访问权限,以及采用HTTPS和加密算法保护数据传输。这些措施有助于全面保障WPF应用的安全性。
364 0
|
Ubuntu Linux 测试技术
下载ISO镜像的方法 Debian、Red Hat 、CentOS、Ubuntu、Kali Linux🌐
Debian、Red Hat、CentOS、Ubuntu与Kali Linux均为知名Linux发行版。下载Debian须访问官网并按计算机架构选ISO文件。Red Hat下载通常需订阅账户,可从官网登录后获取。CentOS可从官网或镜像站点下载,注意CentOS 8已停更。Ubuntu下载简便,官网直接选取版本及架构即可。Kali Linux专为安全测试设计,官网提供直接下载ISO镜像服务。
5932 0
|
Ubuntu
Ubuntu 20.04通过udev规则修改网卡名称(例如eth0)
注意:这种方法可能会对系统的网络配置产生影响,因此在生产环境中使用时需要谨慎。
1769 1
|
关系型数据库 MySQL Linux
性能分析之解决 jbd2 引起 IO 高问题
【8月更文挑战第19天】性能分析之解决 jbd2 引起 IO 高问题
1829 0