<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post/6280/</link>
<title><![CDATA[[网络基础]四层和七层负载均衡的区别]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Wed, 24 Apr 2013 01:47:50 +0000</pubDate> 
<guid>http://www.jackxiang.com/post/6280/</guid> 
<description>
<![CDATA[ 
	背景：近来发现一内网的IP如：192.168.1.8 这样的，居然可以通过配置另外一个Host进行外网的访问，刚开始以为是Nginx作的反向代理，如果要加一个虚拟机的域名还得再添加一次Nginx的反向代理，也就是添加一个Nginx的反向代理的配置，于是否，也就向运维了解了下情况，说是因F5作了四层代理给那台内网IP了（确定了下：四层），不是用的Nginx，只需要自己在92.168.1.8上加一个域名就可以了，这样一来，就不像Nginx代理那样需要设置一次nginx.conf，并nginx -s reload一下，扯多了，停：这里涉及到四层代理 ，于是就有下面的文章了，如下：<br/><br/>负载均衡设备也常被称为&quot;四到七层交换机&quot;，那补充：<br/>所谓四层就是基于IP+端口的负载均衡；七层就是基于URL等应用层信息的负载均衡；同理，还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。<br/>换句换说，二层负载均衡会通过一个虚拟MAC地址接收请求，然后再分配到真实的MAC地址；三层负载均衡会通过一个虚拟IP地址接收请求，然后再分配到真实的IP地址；<br/>四层通过虚拟IP+端口接收请求，然后再分配到真实的服务器；七层通过虚拟的URL或主机名接收请求，然后再分配到真实的服务器。 <br/>===================================================================================================================<br/>所谓的四到七层负载均衡，就是在对后台的服务器进行负载均衡时，依据四层的信息或七层的信息来决定怎么样转发流量。<br/>比如四层的负载均衡，就是通过发布三层的IP地址（VIP），然后加四层的端口号，来决定哪些流量需要做负载均衡，对需要处理的流量进行NAT处理，转发至后台服务器，并记录下这个TCP或者UDP的流量是由哪台服务器处理的，后续这个连接的所有流量都同样转发到同一台服务器处理。<br/>七层的负载均衡，就是在四层的基础上（不能空中楼阁，没有四层是绝对不可能有七层的），再考虑应用层的特征，比如同一个WEB服务器的负载均衡，除了根据VIP加80端口辨别是否需要处理的流量，还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。举个例子，如果你的web服务器分成两组，一组是中文语言的，一组是英文语言的，那么七层负载均衡就可以当用户来访问你的域名时，自动辨别用户语言，然后选择对应的语言服务器组进行负载均衡处理。 <br/>么四层和七层两者到底区别在哪里？<br/>负载均衡器通常称为四层交换机或七层交换机。四层交换机主要分析IP层及TCP/UDP层，实现四层流量负载均衡。七层交换机除了支持四层负载均衡以外，还有分析应用层的信息，如HTTP协议URI或Cookie信息。<br/>1、负载均衡分为L4 switch（四层交换），即在OSI第4层工作，就是TCP层啦。此种Load Balance不理解应用协议（如HTTP/FTP/MySQL等等）。例子：<br/>LVS，F5<br/>2、另一种叫做L7 switch（七层交换），OSI的最高层，应用层。此时，该Load Balancer能理解应用协议。例子：<br/>haproxy，MySQL Proxy<br/>注意：上面的很多Load Balancer既可以做四层交换，也可以做七层交换。<br/>如果单纯要做HTTP的负载均衡，用haproxy好了。性能很强。<br/>另外，F5和Alteon这样的硬件LB是LVS等软件赶不上。<br/><br/>来自摘抄，其更多内容查看：http://blog.csdn.net/21aspnet/article/details/6583762<br/>__________案例是七层上某个URL访问有问题，而转成4层就好了，也就是说七层上可以对某位上URI作过滤，不让你访问就是____________<br/>TCP(传输层)<br/>TCP是面向连接的通信协议，通过三次握手建立连接，通讯完成时要拆除连接，由于TCP是面向连接的所以只能用于端到端的通讯。<br/>TCP提供的是一种可靠的数据流服务，采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制，所谓窗口实际表示接收能力，用以限制发送方的发送速度。<br/>如果IP数据包中有已经封好的TCP数据包，那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查，同时实现虚电路间的连接。TCP数据包中包括序号和确认，所以未按照顺序收到的包可以被排序，而损坏的包可以被重传。<br/>TCP将它的信息送到更高层的应用程序，例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层，TCP层便将它们向下传送到IP层，设备驱动程序和物理介质，最后到接收方。<br/>面向连接的服务（例如Telnet、FTP、rlogin、X Windows和SMTP）需要高度的可靠性，所以它们使用了TCP。DNS在某些情况下使用TCP（发送和接收域名数据库），但使用UDP传送有关单个主机的信息。<br/><br/>IP地址（网络层）<br/>在Internet上连接的所有计算机，从大型机到微型计算机都是以独立的身份出现，我们称它为主机。为了实现各主机间的通信，每台主机都必须有一个唯一的网络地址。就好像每一个住宅都有唯一的门牌一样，才不至于在传输资料时出现混乱。<br/>Internet的网络地址是指连入Internet网络的计算机的地址编号。所以，在Internet网络中，网络地址唯一地标识一台计算机。<br/>我们都已经知道，Internet是由几千万台计算机互相连接而成的。而我们要确认网络上的每一台计算机，靠的就是能唯一标识该计算机的网络地址，这个地址就叫做IP（Internet Protocol的简写）地址，即用Internet协议语言表示的地址。<br/>在Internet里，IP地址是一个32位的二进制地址，为了便于记忆，将它们分为4组，每组8位，由小数点分开，用四个字节来表示，而且，用点分开的每个字节的数值范围是0~255，如202.116.0.1，这种书写方法叫做点数表示法。<br/><br/><br/>http://www.2cto.com/net/201310/252965.html<br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post/6280/#blogcomment63864</link>
<title><![CDATA[[评论] [网络基础]四层和七层负载均衡的区别]]></title> 
<author>23jsj &lt;80949884@qq.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 25 Apr 2013 12:33:49 +0000</pubDate> 
<guid>http://www.jackxiang.com/post/6280/#blogcomment63864</guid> 
<description>
<![CDATA[ 
	学习了。谢谢楼主分享
]]>
</description>
</item>
</channel>
</rss>