文章结合了两篇文章,分别以简、繁的方式叙述了OSI中的多层交换技术
以下摘自:http://www.10tiao.com/html/249/201502/203264551/1.html
二层交换
交换原理: 根据第二层数据链路层的MAC地址来实现端到端的数据交换;
工作流程:
(1)交换机某端口收到数据包,读取源MAC地址,得到源MAC地址机器所连端口;
(2)读取目的MAC地址,在地址表中查找对应端口;
(3)如果地址表中有目的MAC地址对应端口,直接复制数据至此端口;
(4)如果地址表中没有目的MAC地址对应端口,广播所有端口,当目的机器回应时,更新地址表,下次就不需要广播了;
不断的循环上述过程,全网的MAC地址信息都可以学习到,二层交换机就这样学习和维护它的地址表。
第二层交换机根据MAC选择端口转发数据,算法又很简单,其方便采用廉价芯片实现,且速度快。
三层交换
**交换原理:**根据第三层网络层的IP地址来完成端到端的数据交换;
场景:A(ip1) => 三层交换机 =>B(ip2)
工作流程:
(1)A发数据给B,根据B的ip地址+子网掩码,A能够判断出B和自己是否在同一个网段;
(2.1)B如果和A在同一个网段内,但A不知道B的MAC地址,A会发送一个ARP请求,以获取B的MAC地址,并根据MAC通过二层交换机将数据发送给B;
(2.2)B如果和A不在同一个网段内,且不知道B的MAC地址,A会将数据包发送给网关(A的本地一定有网关的MAC地址)。网关收到数据包后,将源MAC地址会修改为网关自己的MAC地址,目的IP对应的MAC地址为目的MAC地址,以完成数据交换。
看似第三层交换机是第二层交换机+路由功能的组合,实际并非这样:数据通过第三层转发设备后,会记录IP与MAC的映射关系,下次需要转发时,不会再经过第三层设备。
四层交换
二层和三层交换设备都是基于端到端的交换,这种基于IP和MAC地址的交换技术,有着很高效传输率,但是缺乏根据目的主机应用需求动态交换数据的功能。
四层设备不但能够完成端到端的交换,还能够根据目的主机的应用特点,分配或限制其流量;
四层设备基于传输层数据包交换,是一类建立在TCP/IP应用层至上,实现用户应用需求的设备;
它实现一类应用层的访问控制与质量保证服务,与其说它是硬件设备,不如说它是软件网络管理系统。
四层交换核心技术
(1)包过滤
利用四层信息定义过滤规则,能够控制指定端口的TCP/UDP通信,它可以在高速芯片中实现,极大提高包过滤速率;
(2)包优先级
三层以下设备只有MAC,PORT,IP等信息,因为缺乏四层信息,无法确认TCP/IP等四层优先级信息;
四层设备允许基于目的地址/端口(即应用服务)的组合来区分优先级。
(3)负载均衡
将附加有负载均衡服务的IP地址,通过不同的物理服务做成一个集群,提供相同的服务,并将其定义为一个单独的虚拟服务器;
这个虚拟服务器是一个有独立IP的逻辑服务器,用户数据流只需要流向虚拟服务器IP,而不与物理服务器进行通信;
只有通过交换机执行网络地址转换(NAT)后,才能得到真实访问;
虚拟服务器组里转换通信流量实现均衡,其中具体关系到OSPF、RIP、VRRP等协议;
(4)主机备用连接
同(3)所含技术类似,可以实现主备同IP自动切换;
七层交换
交换原理: 比四层更进一步,可以根据应用层的数据报文来完成更多的复杂交换功能(例如根据http报文路由)
以下摘自:https://bbs.csdn.net/topics/168097
来源:Bernardus160 、中华黑客联盟
最初听到第三层交换这个词时不免已有一些费解,接踵而来的第四层交换、第七层交换等概念更是让人费思量。其实严格说来,交换意味着源与目的地址之间的连接,在第二层以上的任何技术都不能说是交换技术。负载均衡一词在很大程度上已经取代了第四层交换一词,正像应用认知一词在很大程度上取代了第七层交换一样。但是,恐怕第三层交换一词将永远这样称呼下去了。
当然,说法只是说法,关键是认识到这些技术在提高网络性能上所带来的益处,所以,本文仍沿用"第几层交换"这种叫法。
第三层交换
第三层交换技术也称为IP交换技术、高速路由技术等。这是一种利用第三层协议中的信息来加强第二层交换功能的机制。当今绝大部分的企业网都已变成实施TCP/IP协议的Web技术的内联网,用户的数据往往越过本地的网络在网际间传送,因而,路由器常常不堪重负。
一种办法是安装性能更强的超级路由器,然而,这样做开销太大,如果是建交换网,这种投资显然是不合理的。第三层交换的目标是,只要在源地址和目的地址之间有一条更为直接的第二层通路,就没有必要经过路由器转发数据包。第三层交换使用第三层路由协议确定传送路径,此路径可以只用一次,也可以存储起来,供以后使用。之后数据包通过一条虚电路绕过路由器快速发送。
目前主要的第三层交换技术有:
第一代交换机是分立的电子元件和原语式的软件框架的混合体。软件的功能运行在一个有固定内存的处理机上,随着管理支持和协议功能的改善,软件的功能也不断增加。当用户的日常业务更加依赖于网络,网络上的流量增多时,网络设备便成了瓶颈。
虽然处理机和存储器变得越来越快和有效,但仍然赶不上流量增加的水平。解决问题的第一步是简化网络层:用交换机取代路由器,以减低处理数据包的开销并显著地提高事务处理速度。3Com引进了专用于优化第二层处理的专用集成电路(ASIC),使性能提高了10倍,并降低了系统的整体费用。
灵活智能的路由引擎(FIRE)宣告了第三代交换技术的来临。这一代并不仅是建立在第二代的进展上,而且为第三层路由、组播(Multicast)及用户可选的策略(Policy)等方面提供了线速性能,第二层与第三层的性能不再是不一致的了。
FIRE是3Com公司的第三代第三层交换机的核心部分,它是一个创新的集成化的网间互联体系结构,提供了广泛的第二层和第三层的功能,同时还可在多种网络接口类型上提供线速性能。
第四层交换
端到端性能和服务质量要求对所有联网设备的负载进行细致的均衡,以保证客户机与服务器之间数据平滑地流动。 第二层与第三层交换产品在解决局域网和互联网络的带宽及容量问题上发挥了很好的作用,但是,这可能还不够,还需要更多的性能,而这正是第四层交换的用武之地。
第四层交换技术利用第三层和第四层包头中的信息来识别应用数据流会话,这些信息包括TCP/User 数据报协议(UDP)端口号、标记应用会话开始与结束的"SYN/FIN"位以及IP源/目的地址。利用这些信息,第四层交换机可以做出向何处转发会话传输流的智能决定。
对于使用多种不同系统来支持一种应用的大型企业数据中心、Internet服务提供商或内容提供商来说,第四层交换的作用是尤其重要的。同样,当在很多服务器上进行复制功能时,第四层交换也会起到不小的作用。
路由器和第三层交换机在转发不同数据包时并不了解哪个包在前哪个包在后。第四层交换技术从头至尾跟踪和维持各个会话。因此,第四层交换机是真正的"会话交换机"。
路由器根据链路或网络节点的可用性和性能做出转发决定,而第四层交换机则根据会话和应用层信息做出转发决定。由于做到了这点,因而用户的请求可以根据不同的规则被转发到"最佳"的服务器上。因此,第四层交换技术是用于传输数据和实现多台服务器间负载均衡的理想机制。
具有第四层功能的交换机能够起到与服务器相连接的"虚拟IP"(VIP)前端的作用。每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址。这个VIP地址被发送出去并在域名系统上注册。
在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址。
每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP 端口相关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现会话为止。
在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。
目前一般的单功能负载均衡产品可以每秒连接400到800个接入。而同时具有第二层和第四层功能的新一代产品(使用定制的专用集成电路的基于硬件的负载均衡功能)的连接速度则超过了每秒10万次接入。
在所有这一切中的关键问题是如何确定传输流转发给哪台最可用的服务器,目前,在做出负载均衡决定时采用了多种方法。根据所需负载均衡的颗粒度,第四层交换机可以利用多种方法将应用会话分配到服务器上。这些方法包括求权数最小接入的简单加权循环、测量往返时延和服务器自身的闭合环路反馈等等。
闭合环路反馈是最先进的方法,它利用可用内存、I/O中断和CPU利用率等特定的系统信息,这些信息可以为适配器驱动器和第四层交换机自动获取。目前的闭合环路反馈机制要求在每台服务器上安装软件代理。
第四层交换机在形式和功能上与专用负载均衡器完全不同。传统基于硬件的负载均衡器是速度为45Mbps的优化的两端口设备。
而第四层交换机是设计用于高速Intranet应用的,它支持100Mbps或千兆位接口。
第四层交换除了负载均衡功能外还支持其它功能,如基于应用类型和用户ID的传输流控制功能。采用多级排队技术,第四层交换机可以根据应用来标记传输流以及为传输流分配优先级。此外,第四层交换机直接安放在服务器前端,它了解应用会话内容和用户权限,因而使它成为了防止非授权访问服务器的理想平台。
第四层交换产品
用户过去曾一拥而上采用第二层和第三层交换机,因为这类交换机提高了总体网络吞吐量,使它远远超过了老技术的吞吐量,不知道第四层交换机是否也会看到这种现象。
第四层交换方案
在本方案中,通过采用Alteon的第四层交换机来实现Web Server的负载均衡。
HTTP是Internet中最重要的一种应用,目前Internet上广泛使用的Web Server,采用的是多进程技术,占用系统资源多,效率较低,一般一台Web Server只能承受几百个并发用户。采用第四层交换机可以很好地解决Web Server的扩展性问题,提高Web Server系统的可靠性,并在Web Server之间合理分配负载。
Alteon的第四层交换机监测Web Server的可用性,包括物理连接、Web Server主机、HTTP Server本身的健康状况,当发现某台Web Server不能提供Web 服务时,交换机自动把Web 请求分配到好的两台Web Server。Alteon第四层交换机还可以通过设置每台Web Server能承受的最大会话数、设置溢出Web Server、备份Web Server等方法来进一步保证Web系统的可靠性。
Web Server在同一局域网内实现负载均衡时采用多种负载均衡算法,包括Least Connection、Round Robin、MinMiss和Hash算法,以及对算法的加权等等。
当Web Server不在同一局域网内时,利用Alteon交换机的Global Load Balance技术来实现负载分担的合理性问题。
第七层交换
目前,特别是在高可用性和负载均衡方面,有许多先进的工具可以利用由应用返回给最终用户的第七层信息。这类工具使用户可以容易地确认站点内容的响应性和正确性,或从客户的角度来试测你的站点,看看是否存在正确的应用和内容。
用户不仅能验证是否在发送正确的内容,而且还能打开网络上传送的数据包(不用考虑IP地址或端口),并根据包中的信息做出负载均衡决定。
从本质上讲,这种智能性迁移超越了第四层的功能。以端口80为例,除了一般类型的Web传输流之外,还有许多类型的传输流流过此端口。最多具有第四层功能的设备无法识别流过此端口的不同类型的传输流,因此它们对所有传输流同等对待。
可是传输流并不都是相同的。对于负载均衡产品来说,能够知道流过此端口的数据是流媒体还是对商品目录中一件商品的简单请求非常有用,也许商家想赋予需要此目录项的客户更高的优先级。不少具有第四层功能的设备以同样的方式对待这两种类型的数据,因而可能将流媒体数据发送到无法做出响应的服务器,导致错误的信息和时延。
而第七层的智能性能够进行进一步地控制,即对所有传输流和内容的控制。由于可以自由地完全打开传输流的应用/表示层,仔细分析其中的内容,因此可以根据应用的类型而非仅仅根据IP和端口号做出更智能的负载均衡决定。
这就可以不仅仅基于URL做出全面的负载均衡决策,而且还能根据实际的应用类型做出决策,无论这些应用正使用什么端口号。这将使用户可以识别视频会议流,并根据这一信息做出相应的负载均衡决策,尽管该应用可能正在使用动态分配地址。
这类具有第七层认知的产品的部分功能是保证不同类型的传输流可以被赋予不同的优先级。具有第七层认知的设备不是依赖路由设备或应用来识别差别服务(Diff-Serv)、通用开放策略服务或其它服务质量协议的传输流,它可以对传输流进行过滤并分配优先级。这就使你不必依赖应用或网络设备来达到这些目的。
目前这类第七层功能的标准还没有。具有第七层认知的功能是具有很大的互补性的:它与提供像Diff-Serv这类服务的网络可以和谐地共存。它对传输流进行分析,然后判定,如对于IP语音这个传输流就需要设置服务比特位,而其它类型的传输流只需要设置较低优先级类型的服务比特位。"
当然,最重要的是这类设备所能提供的最终好处。过去,我们总需要在智能性与速度之间进行权衡。在采用第七层认知技术的情况下,可以以线速度做出更智能性的传输流决策。用户将自由地根据得到的信息就各类传输流和其目的地做出决策,从而优化Web访问,为最终用户提供更好的服务。
综上所述,第七层交换可以实现有效的数据流优化和智能负载均衡。
第七层交换产品
具有应用认知功能的交换机产品具有更多的智能性,可以分析输入包的内容,将请求发送到内容专用服务器或应用专用服务器。利用逻辑群集部署,最终用户可以建立用于内容和应用的服务器,网络管理人员利用这类产品来实施各种数据流优先级和带宽控制。只具有第四层交换功能将是不够的,从根本上讲,真正提供对数据包内容更深层次了解的能力非常关键。
业界认为,对更智能交换机的最大需求将来自开展电子商务和运行其它Web站点的公司。新型集成交换机的另一个好处是它们可以免除对多个设备执行不同任务的需要。
后记:OSI中7层涉及的交换技术