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

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

上一篇文章《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地址完成数据交换

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

==【完】==

目录
相关文章
|
9月前
|
网络协议 数据安全/隐私保护 网络架构
网络七层架构
网络七层架构是指ISO/OSI模型,它是国际标准化组织(ISO)制定的一种用于计算机网络体系结构的参考模型。该模型将计算机网络的功能划分为七个层次,每个层次都有特定的功能和责任,从物理连接到应用层。
120 2
|
存储 网络协议 算法
一篇文章带你了解网络七层架构
网络包括 7 层架构:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,这里一篇文章带你了解网络七层架构原理和协议
1418 1
一篇文章带你了解网络七层架构
|
缓存 负载均衡 监控
开发必备知识:通过网站架构演进与计算机网络模型深入理解“网关”、“正向代理”、“反向代理”含义
反向代理与网关都是从网站架构中发展而来的产物,原来在Web1.0与Web2.0时代,一般都用反向代理,采用前置反向代理来完成反向路由、负载均衡、日志监控、缓存、兼容熔断等功能,常见的就是Nginx等等,反向代理一般采用静态配置,是因为Web时代中网站更新换代是不快的。
开发必备知识:通过网站架构演进与计算机网络模型深入理解“网关”、“正向代理”、“反向代理”含义
|
弹性计算 负载均衡 网络协议
第二讲配套实验-访问四层&七层CLB场景对比|学习笔记
快速学习第二讲配套实验-访问四层&七层CLB场景对比。
409 0
第二讲配套实验-访问四层&七层CLB场景对比|学习笔记
|
XML JSON 网络协议
后端工程师,老师教的七层网络模型你用在了哪里?
计算机网络算是计算机课里公认比较难的课之一。OSI七层网络模型,这个词估计大部分人都还记得,但还能完全的背出具体都有哪些层吗?更不用说每层具体的含义,我是有点模糊了。除了具体的开发语言,数据结构和算法算是平时用到比较多的课程了。 都说学以致用,那么这个网络模型对于我们实际工作中有什么用途呢?比如我写了个web页面,或者一个Restful API,这和七层网络模型是怎么对应的呢? 首先从我们熟悉的请求处理过程开始。
660 0
后端工程师,老师教的七层网络模型你用在了哪里?
|
网络协议 算法 Java
后端工程师,老师教的七层网络模型你用在了哪里?(一)
计算机网络算是计算机课里公认比较难的课之一。OSI七层网络模型,这个词估计大部分人都还记得,但还能完全的背出具体都有哪些层吗?更不用说每层具体的含义,我是有点模糊了。除了具体的开发语言,数据结构和算法算是平时用到比较多的课程了。 都说学以致用,那么这个网络模型对于我们实际工作中有什么用途呢?比如我写了个web页面,或者一个Restful API,这和七层网络模型是怎么对应的呢? 首先从我们熟悉的请求处理过程开始。
400 0
后端工程师,老师教的七层网络模型你用在了哪里?(一)
|
缓存 网络协议 算法
后端工程师,老师教的七层网络模型你用在了哪里?(二)
计算机网络算是计算机课里公认比较难的课之一。OSI七层网络模型,这个词估计大部分人都还记得,但还能完全的背出具体都有哪些层吗?更不用说每层具体的含义,我是有点模糊了。除了具体的开发语言,数据结构和算法算是平时用到比较多的课程了。 都说学以致用,那么这个网络模型对于我们实际工作中有什么用途呢?比如我写了个web页面,或者一个Restful API,这和七层网络模型是怎么对应的呢? 首先从我们熟悉的请求处理过程开始。
322 0
后端工程师,老师教的七层网络模型你用在了哪里?(二)
|
负载均衡 网络协议 应用服务中间件
浅谈大型网站之负载均衡架构
概念 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
229 0
浅谈大型网站之负载均衡架构
|
弹性计算 负载均衡 数据安全/隐私保护
DLB负载均衡实践
在高并发的情况下,经常会导致服务器响应速度慢,严重的情况会直接导致服务器停止服务。此时,会导致企业的业务中断,影响客户的正常访问。 本场景通过使用阿里云负载均衡SLB以及对负载均衡SLB后端服务器ECS的权重进行修改,可以快速解决上述的问题。
DLB负载均衡实践
|
域名解析 负载均衡 算法
四层和七层负载的区别
负载均衡设备也常被称为"四到七层交换机",那么四层和七层两者到底区别在哪里?

相关实验场景

更多