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

转自公众号:架构师之路


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


场景:访问用户通过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的应用层啦。


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

回答:有

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

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


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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tcp建立连接为什么需要三次握手

这是一个看似很“简单”的问题,但貌似并没有一个官方统一的答案。搜索了相关的资料,列举出一些答案。 以下部分转载自:tcp建立连接为什么需要三次握手 在《计算机网络》一书中其中有提到,三次握手的目的是“为了防止已经失效的连…

SFTPUtils工具类及使用

配置maven <dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.54</version> </dependency> 工具类 package com.sftp;import com.jcraft.jsch.*; import com.jcraft.jsch.ChannelSftp.LsE…

国内手机产业混乱:产业一窝蜂 企业捞快钱

对于当前国内手机行业的现状&#xff0c;本报记者采访的多位业内人士表示&#xff0c;目前国内手机行业仍是“红海”格局&#xff0c;多数企业并不了解手机产业规律&#xff0c;看到有钱赚就“一窝蜂”上项目。有行业人士认为&#xff0c;要走出目前行业的现状&#xff0c;企业…

查看私密文章方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我只是记录下&#xff0c;曾经写过一次文章&#xff0c;勾选了私密&#xff0c;再后来就找不到了。 下面这个链接可以查出那篇文章&…

SDUT-3364_欧拉回路

数据结构实验之图论八&#xff1a;欧拉回路 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在哥尼斯堡的一个公园里&#xff0c;有七座桥将普雷格尔河中两个岛及岛与河岸连接起来。 能否走过这样的七座桥&#xff0c;并且每桥只走一次&#xff1f;瑞士数学…

Tcp三次握手和四次挥手状态图

三次握手 四次挥手 正常情况下 同时挥手 SYN攻击&#xff1a; 在三次握手过程中&#xff0c;Server发送SYN-ACK之后&#xff0c;收到Client的ACK之前的TCP连接称为半连接&#xff08;half-open connect&#xff09;&#xff0c;此时Server处于SYN_RCVD状态&#xff0c;当…

QEMU 3.0.0 新特性一览

QEMU 在 2018年8月15发布了版本3.0.0&#xff0c; 正式从 2.12 进入了3.0 时代。 而且到今年位为止&#xff0c;QEMU 已经有15个年头了&#xff0c;出乎意料的长阿&#xff0c;:) 其主要新特性如下&#xff1a; ARM&#xff1a; 在virt机器中支持SMMUv3 IOMMU 在v8M中支持VLLDM…

OpenCL、OpenGL 同时工作

视频处理如果能使用OpenCL、OpenGL、omap将大量提高运算速度&#xff0c;简单介绍OpenCL、OpenGL 同时工作。 OpenCL和OpenGL都能用于操作GPU&#xff0c;但是前者主要用于通用计算&#xff0c;而后者主要用于图像渲染。在某些情况下&#xff0c;我们希望能用OpenCL计得到算图像…

财务自由之路——为什么选择淘宝(下)

接上文~一、淘宝之前的大佬们是怎么试错的?我们看看在淘宝之前的大佬们是怎么试错迭代产品的。都知道飞机是莱特兄弟发明的&#xff0c;但很少有人知道为什么是他们。在内燃机发明后的很长一段时间内全球各地发明家都在投入研究飞机&#xff0c;莱特兄弟相对于其他竞争者&…

java参数后面跟三个点是什么意思

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 AVA中类型后面跟三个点是什么来的。 看代码中那个三点&#xff0c;这样做起到重载的作用&#xff0c;但这是什么意思&#xff1f; cla…

一只视频程序猿的移动直播SDK初体验

本文转自一只视频程序猿的移动直播SDK初体验&#xff0c;此处仅做排版改动。 今早老板召开站会&#xff0c;“移动直播这么火&#xff0c;市面上有一百多个APP&#xff0c;小斌&#xff0c;你下周交个原型APP瞅瞅!” 小弟心中一万匹草泥马奔过&#xff0c;这玩意儿哪儿是几天就…

Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程

Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程 一&#xff1a;前言 最近手上压了一块米联客的Miz7035&#xff0c;一块xilinx zynq-7000系列的开发板&#xff0c;想着正好学习一下linux在ARM9上的移植&#xff0c;网上基本都是ZC702、zed的教程&#xff0c;这对于买了非标…

程序员的创业困境 谁来帮助出出主意?

【编者按】有人说&#xff0c;程序员是吃青春饭的&#xff0c;到一定年龄就得考虑转行&#xff0c;也有人选择自己创业。而当创业使你偏离了之前持续学习专业知识的轨道时&#xff0c;你会选择在创业路上继续坚持还是回归自己的老本行&#xff1f;编程编了十几年的Dan McComas半…

节选—Android 视频直播 ( 从快播到直播,从高清到无码 )十年视频开发项目

本文转载自Android 视频直播 &#xff08; 从快播到直播&#xff0c;从高清到无码 )十年视频开发项目&#xff0c;截取其中技术概念比较相关的部分&#xff0c;并做了重新的排版。 视频和直播的准备&#xff1a; android-java层&#xff1a;camera相关&#xff08;视频&#x…

getDeclaredMethod和getMethod的区别

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 getDeclaredMethod*()获取的是类自身声明的所有方法&#xff0c;包含public、protected和private方法。getMethod*()获取的是类的所有共有…

12.5PMP试题每日一题

在什么情况下项目正式受控于实施整体变更控制过程&#xff1a;A、从项目启动到收尾的所有过程B、只有当项目基准建立之后C、在项目基准建立之前D、只要有人提起变更请求的时候 作者&#xff1a;Tracy19890201&#xff08;同微信号&#xff09; 答案将于明天和新题一起揭晓&…

在线预览word,excel文档

Google Doc 示例&#xff1a;https://jsfiddle.net/7xr419yb/ Microsoft Office 示例&#xff1a;https://jsfiddle.net/gcuzq343/转载于:https://www.cnblogs.com/alexguoyihao/p/10314626.html

如何迁移整个git仓库

转自准备更换git托管&#xff0c;如何迁移原git仓库一个回答 如果你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话&#xff0c;可以通过以下步骤来操作。 从原地址克隆一份裸版本库&#xff0c;比如原本托管于 GitHub。 git clone –bare git://githu…

关于创业:希望有人在N年前就告诉我的一些事儿

【编者按】原文作者为前微软员工、创业家Amir Khella&#xff0c;他离开微软后开始自主创业&#xff0c;并成功创办了多家公司。他经常在博客中分享自己的创业故事和经验。以下是其中一篇博文&#xff0c;他认为创业者想要成功&#xff0c;首先需要找到自己的方向&#xff0c;再…

Rust核心团队前成员Brian Anderson加入PingCAP

昨天&#xff0c;国内新型分布式数据库公司PingCAP联合创始人兼CEO刘奇在朋友圈宣布&#xff0c;Rust核心团队前成员Brian Anderson将加入公司。PingCAP联合创始人兼CTO黄东旭进一步向InfoQ记者证实了此消息&#xff0c;并透露Brian将从事TiKV相关的工作&#xff0c;从存储引擎…