当前位置: 首页 > 编程日记 > 正文

第四层到第七层的高层交换技术及其应用

1 前言

Internet的特点就是不断变化发展,目前网络上的信息量和业务量都呈现爆炸性的增长趋势。不断增长的负荷和新需求的出现,使得用单台服务器处理应用服务的结构已成为过去,取而代之的是以单一虚拟IP地址(VIP)来代表整个服务器集群,由集群中的多台服务器来分摊处理访问流量。集群的组成部分也在发生变化,过去一台Web服务器必须处理大部分的静态内容,现在可以由应用服务、高性能数据库和多媒体服务器等协同服务器集群来支持复杂的Web应用。

这些不断增长的服务集群和服务需求要求更高效率和更高服务质量的数据交换技术。数据交换技术已经历了过去的那种单纯的电路交换逐渐发展到二层、三层甚至更高层的交换结构的结合。交换的内部机制也从存储转发、直接连通过渡到路由交换、三层交换以及最新提出四层及更高层的交换。这些先进的交换技术在解决局域网和互联网络的带宽及容量问题上发挥了很好的作用。

2 传统的二、三层交换

传统的第二层交换技术是在最初的总线集线器和网桥的基础上发展而成的,一般用于局域网的数据交换上,是作为对共享式局域网提供有效的数据交换的解决方案而出现的,它可以使每个用户尽可能地分享到最大带宽。

第二层交换技术是在OSI七层网络模型中的第二层,即在数据链路层上进行操作的。它对数据包的转发是建立在MAC(物理端口)地址的基础之上的,对于上层协议来说,它是透明的。交换机在转发数据包时无须知道数据包的IP地址,只需其物理地址即MAC地址。交换机在操作过程中不断地维护着一个简单的地址表,它说明了MAC地址和端口的对应关系,所以当交换机收到一个数据包时对比数据包的MAC地址就可以知道是哪个端口的数据包。整个过程全部是在硬件控制下实现的,因此速度相当快,大大地加速了数据包的传输。

第二层交换非常有利于建立LAN内部或者VLAN之间的数据交换,可以大大提高数据在LAN中的通信速度。但是第二层交换只是一种简单的基于MAC层的数据交换,所以对于不同的IP子网之间的数据交换还是要经过路由器先进行路由。在有大量数据跨越子网的情况下,传统的路由器又成为了网络通信中的瓶颈,这个时候就引入了第三层交换的概念。

第三层交换就是在OSI参考模型的第三层进行操作。第三层交换技术也称为IP交换技术、交换路由技术。这是一种利用第三层协议中的IP数据包头信息来加强第二层交换功能的机制。网络中的大量数据往往越过本地的网络在网际间传送,因而路由器常常不堪重负地成为瓶颈。在这种情况下要是在源地址和目的地址之间有一条更为直接的第二层通路,就没有必要每次都经过路由器的路由判断来转发数据包。第三层交换使用第三层路由协议确定传送路径,此路径可以只用一次,也可以存储起来,供以后使用,之后数据包通过一条虚电路不需要经过路由判断而直接快速发送,最终目的是将数据通信时的路由次数降至最低。这样的第三层交换式路由器比仅仅路由式的路由器性能上要提高非常多,一般称之为路由交换机。

在第三层交换机连接的情况下,主机A跟主机B第一次通过交换机通信,中间的交换机便会把A和B的IP地址及它们的MAC地址记录下来,当其它主机如C要和A或B通信时,针对C所发出的寻址封包,第三层交换机送出一个回复告诉它A或B的MAC地址,以后C当然就会用A或B的MAC地址“直接”和它通信,不需要理会A、B和C是否属于不同的子网,这样就不用每次进行路由,避免每次路由操作这样一个速度相对比较慢的过程。

将第二层交换和第三层交换结合在一起就成为一种通过第二层连接网络链路在子网中指引业务流,通过第三层交换或路由器将包从一个子网传到另一个子网。目前针对第二层、第三层结合的技术已提出了很多具体的实现方案,和以ATM为代表的链路层结合的MPLS、MPOA技术最为突出。

3 第四层交换技术

第二层与第三层交换产品在解决局域网和网络互联的QoS问题上发挥了很好的作用,但是对于当前的网络来说还是不够的,还需要进一步地提高QoS性能,这就需要在更高层上引入交换的概念。

我们知道OSI协议参考模型定义了7层结构,网络层以上也就是第四层即传输层,传输层主要负责端对端的通信。传输层有很多的协议,常用的有TCP、UDP协议,这些协议承载了许多不同的业务,这些业务通常是由一些诸如HTTP、FTP、NFS、Telnet等协议表示,这些协议的类型由TCP或UDP端口地址来决定,就如同第二层的传输是依靠MAC地址来寻址,第三层的传输是依靠IP地址来寻址,那么第四层的主要表示就是传输层的端口地址。通过端口地址可以区分数据包是由哪个传输层协议传送的。

分配端口号的清单可以在RFC1700中找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。

第四层交换中数据包的传输不仅仅依据MAC地址(第二层交换)或源/目标IP地址(第三层路由),还依据TCP/UDP端口地址(第四层地址),也就是说第四层交换除了考虑三层的逻辑地址外还要考虑对端口地址的处理。如同上面所描述的那样,端口地址代表了不同的业务协议,所以第四层交换不仅仅进行了物理上的交换,还包括了业务上的交换。所以说第四层交换的交换域是由源端和终端IP地址、TCP和UDP端口共同决定。因此,第四层交换机是真正的“会话交换机”。

由于带有业务信息,所以第四层交换机就带有了业务智能,可以做出向何处转发会话传输流的决定。对于Internet服务提供商或内容提供商来说,第四层交换的这个功能是尤其重要的。不断增长的负荷和需求的出现,使得用单台服务器处理应用服务的结构已成为过去,一般网络的服务提供商采用多种不同系统来构架一种应用的大型企业数据中心,数据在很多服务器上进行镜像复制。第四层交换在这样的情况下是大有可为的,可以将会话转入性能最佳的目的机器上。

第四层交换尤其可以应用在以单一虚拟IP地址(VIP)来代表整个服务器集群的情况下。具有第四层功能的交换机能够起到与服务器相连接的"虚拟IP"(VIP)前端的作用。每台服务器和支持单一或通用应用的服务器组都配置同样的一个VIP地址。这个VIP地址作为对外提供统一服务的目的地。当某用户申请应用时,用户请求的数据包先通过第三层路由器发送到具有第四层交换功能的交换机,然后第四层交换机可以根据会话和应用层信息做出转发决定,将用户的请求根据不同的规则转发到"最佳"的服务器上。将"最佳"服务器地址中的IP取代VIP,并将连接请求传给相应服务器。因此,第四层交换技术是用于传输数据和实现多台服务器间负载均衡的理想机制。

第四层交换技术通过硬件来实现可以做成第四层交换机,它可以实现基于端到端的服务质量要求对所有联网设备的负载进行细致的均衡,以保证客户机与服务器之间数据平滑地流动。

第四层交换技术的关键问题是如何确定传输流转发给哪台最可用的服务器,也就是策略选择问题。选择策略可以根据不同的需要来制定,对高优先权的业务应首先保证它的QoS,将这种业务引向最大可利用的服务器中。而QoS要求小的就可以作为一般负载处理。目前应用神经网络的学习算法实现在学习中动态的调整策略是一种非常好的实现方法。

4 应用交换技术

在第四层交换大大地提高了网络性能和QoS保证之后,在更高的层次上也引入了交换的概念,可以称之为第七层交换技术,或者高层智能交换。

这时候的交换突破了一般意义上的交换的概念,开始进入以进程和内容级别为主的交换范围。高层由于和应用相关,我们说这时候的交换就有了智能性。交换机具有了区别各种高层的应用和识别内容的能力。这时的交换机不仅能根据数据包的IP地址或者端口地址来传送数据,而且还能打开数据包,进入数据包内部并根据包中的信息做出负载均衡、内容识别等判断。

对于某一个端口来说,我们在第四层交换时候可以对端口进行分析来获得较好的QoS,但是对于通过TCP/IP端口的传输流我们没有办法识别,只能对所有属于这个端口的传输流统一对待,而服务提供商或许需要其中的某些传输流具有高的QoS优先处理权或者将某些流引向性能高的处理机中。而第七层的智能交换能够实现进一步的控制,即对所有传输流和内容的控制。这种交换机可以打开传输流的应用/表示层,分析其中的内容,因此可以根据应用的类型而非仅仅根据IP和端口号做出更智能的流向决策。其中的一个典型例子就是根据URL的具体内容的识别交换。

第七层交换技术可以定义为数据包的传送不仅仅依据MAC地址(第二层交换)或源/目标IP地址(第三层路由)以及依据TCP/UDP端口(第四层地址),而是可以根据内容(表示/应用层)进行。这样的处理更具有智能性,交换的不仅仅是端口,还包括了内容,因此,第七层交换机是真正的"应用交换机"。

这类具有第七层认知的交换机可以应用在很多方面,比如保证不同类型的传输流被赋予不同的优先级。它可以对传输流进行过滤并分配优先级,使你不必依赖于业务或网络设备来达到这些目的,譬如,网络电子商务提供商使用80端口提供用户服务,但是对于不同的Web请求他们希望不同对待,比如浏览一般商品的Web请求的级别比用户发出的定购Web请求要低一些,而且处理起来也不一样。这样需要识别80端口中的具体的URL内容来进行判断,赋予不同的优先权交换到不同的处理器上去。更进一步,可能需要对不同级别的用户的Web请求给予不同QoS优先权,这样就需要对数据请求的内容进行识别,这时候对交换的智能要求就非常高了。

目前关于第七层交换功能还没有具体的标准。第七层交换功能和目前很多类似的技术具有很大的互补性,它可以和其他的网络服务和谐地共存。但是第七层交换和类似的解决方案之间最大的优势,也就是交换技术具有的最大优势,就是高速而且不影响智能处理。采用第七层交换技术可以以交换的线速度做出更智能性的传输流内容的决策。用户将自由地根据得到的信息就各类传输流和其目的地做出决策,从而优化网络访问,为最终用户提供更好的服务。

5 高层交换技术与Web交换机

高层交换技术的一个典型应用就是Web交换机。目前Internet网上提供应用的主要方式就是网站,在网站上的信息量和访问量急剧增长的前提下,怎样为用户提供更多的服务,使每个用户都可以得到QoS保证是一个越来越重要的问题。网站的运营商们正在尝试通过架构新的体系结构以适应其业务的增长。

怎样将数据中心的各种设备,包括各种互联网服务器、防火墙、高速缓冲服务器、数据仓库和网关等组织起来提供对外界面一致和QoS保证的服务,同时提供管理、路由和负载均衡传输成为一个焦点问题。所以必须提供一种处于网络中心地位的交换机,来组织数据中心,我们称之为Web交换机,Web交换机的基本功能是:
· 组织数据中心;
· 提供对外一致的服务界面;
· 管理数据的流向、路由;
· 负载均衡;
· 提供QoS和CoS(服务等级);
· 请求会话定向。

可以看出所需要的Web交换技术仅仅用传统的交换机是无法实现的,必须结合高层交换机的技术来实现。为了实现上述的功能Web交换机必须检查4~7层的协议字段,获取信息来处理数据流的管理和定向。

Web交换机的设计比较复杂,目前Web交换机也只是采用了三层以上的高层交换技术的部分功能。主要的Web交换机设计方案有三种:集中式CPU模式、分布式处理系统和二级混合模式。每种设计方案是采用不同的方法把交换、控制和状态共享组合,因此各有优缺点。

6 结束语

本文探讨了目前出现的高层交换技术,可以看出由于网络的快速发展,高层交换技术的应用正在成为一种趋势,尤其是第四层交换发展迅速,已经有很多产品出现。但是更高层的交换产品由于其复杂性目前还处于一种概念或者说是实验阶段,要实现商用化还有很大的距离,但是综合它们其中一部分优点的Web交换机已经得到了应用,必将成为一个发展趋势。
  
 

相关文章:

赠书 | 315之后,无人旁观时我们是谁

315的曝光,让人脸信息被随意采集、简历被低价出卖等话题受到公众热议。然而,不知道有多少人,直到这一场晚会才知道,原来自己始终是被悄悄“出卖”的人。智联招聘声称拥有1.8亿用户,视用户信息安全与隐私保护为自己“生…

bugzilla部署

Centos6.8部署bugzilla apache mysql1.apache可以使用系统自带的apache服务2.安装mysql:yum –y installmysql mysql-server //使用yum安装vi /etc/my.cnf //编辑mysql配置文件default-character-set utf8 //在mysql_safe段添加字符集支持service mysq…

ASP.NET 2.0 AJAX中Webservice调用方法示例

ASP.NET 2.0 AJAX中能够在客户端js中很方便地调用服务器Webservice,以下为一些调用的示例。笔者安装的ASP.NET 2.0 AJAX 版本为AJAX November CTP。 三个示例分别为:1 带参数的WS方法2 不带参数的WS方法3 参数类型为DataTable的WS方法一、WebMethod注意…

Python 玩出花儿,把罗小黑养在自己桌面

作者 | 李秋键责编 | 寇雪芹出品 | AI科技大本营(ID:rgznai100)引言:了解过我们之前文章的都知道我们曾经做过一个智能桌宠项目。但是很显然那个程序过于卡段。故这一次我们将重新制作个智能桌宠项目,不同于之前的项目在于&#x…

Google推荐的15条HTML 5代码军规----来看看你知道几个,我一个都不知道。。。

Google规范的原文链接大家可以访问:http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml  1.协议头:  建议在指向图片或其他媒体文件、样式表和脚本的URL地址中省略http:https:协议部分,除非已知相应文件不能…

OTS parsing error: invalid version tag woff和ttf文件被Filter拦截

从服务器下载的字体文件放在本地,执行无法展示iconfont,浏览器控制台报出 Failed to decode downloaded font: http://127.0.0.1:8080/mhr/group-assets/iconfont/iconfont.ttf?t1500884389272login_group.html:1 OTS parsing error: invalid version t…

asp.net 的性能计数器

ASP.NET 支持两组性能计数器:系统和应用程序。前者在 ASP.NET 性能计数器对象中的 PerfMon 中公开;后者在 ASP.NET Applications 性能对象中公开。ASP.NET 性能对象中的 State Server Sessions 计数器(仅适用于在其中运行状态服务器的服务器计…

为什么那么多程序员不敢学Python?

Python入门从哪开始?90%以上的书上都是这样讲的:先介绍 Python 的基本语法规则、list、dict、tuple 等数据结构,然后再介绍字符串处理和正则表达式,介绍文件等IO操作.... 就这样一点一点往下说。然而这种按部就班的学习方法&#…

5 配置邮箱服务器

配置邮箱服务器 一邮箱服务器角色 当Exchange邮件服务器使用一段时间后可能面临以下几个问题:邮箱服务器的磁盘空间出现不足、如何将数据库文件移到新的硬盘上、如何共享一些文件给指定的人;为了解决这些问题,我们就要了解邮箱服务器中的邮件…

mongodb 连接和备份

2019独角兽企业重金招聘Python工程师标准>>> 1.查询某一列的值: db.collection_name.find({},{key:1,key1:0}) 第一个 {} 放 where 条件,为空表示返回集合中所有文档 第二个 {} 指定那些列显示和不显示 (0表示不显示 1表示显示[非0都是显示])…

HTTP和SOAP完全就是两个不同的协议

HTTP只负责把数据传送过去,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用等,怎么能够混为一谈。 这样说两种协议: HTTP就是邮局的协议,他…

对网络骚扰和霸凌说不!神经网络可以做得更好

导语:无论在论坛、评论区还是游戏聊天界面,网络骚扰和网络霸凌都是一件让人烦恼的事。怎样避免这些烦人的问题?也许本文介绍的神经网络模型,可以对于使用AI技术手段解决这些问题有所启示。译者 | Rachel头图 | 下载于东方 IC出品 …

主机入侵防御系统(HIPS)分析

主机入侵防御系统(Host Intrusion Prevent System,HIPS)是近几年出现并迅速发展的新兴产物,与传统意义的防火墙和杀毒软件不同,它并不具备特征码扫描和主动杀毒等功能,所以想用它来替换传统杀毒软件然后安枕…

Centos 7 让docker飞一会儿

为什么80%的码农都做不了架构师?>>> 安装shadowsocks yum install -y epel-release python-pip pip install shadowsocks vim /etc/shadowsocks.json {"server": "your.vpn.com","server_port": 8388,"password&quo…

.net应用程序如何批上XP的外衣?

.net framework 所提供的开发控件也太少了,也太难看了,自已画又费时费力也不见得会得出个什么好的效果。如果能够上我们的程序运行在XP环境中能自动应用XP的主题样式那就省时多了,让MICROSOFT给我们去画控件!以下是我所所试验过的解决办法: …

AppCan 学习

2019独角兽企业重金招聘Python工程师标准>>> AppCan 学习 AppCan是以web前端开发方式来开发移动app的解决方案。下面是一些记录: 1.注意 uexWindow.open和uexWindow.openPopover的不同,后者是pop,pop里不能在打开window了。 2.…

在 5G 速度上,iPhone 12 只是个弟弟

作者 | 郑丽媛头图 | 下载自东方 IC出品 | CSDN(ID:CSDNnews)如果不考虑价格因素,让你选择一部手机,你是选 iPhone 还是安卓手机?目前,移动操作系统市场被 iOS 和安卓系统瓜分,体现在…

hadoop install start-dfs.sh 失败

linux:ubuntu 16.04 LTS hadoop version: 2.7.3 JDK: java-9-open-jdk issue: start-dfs.sh start-dfs.sh:command not found 在hadoop sbin目录下可以找到这个文件。但是run不起来。 解决方法: 1. 打开 $HOME/.bashrc 加入下面一行。 PATH$PATH:/usr/l…

用.net中的socket实现文件传输

socket是网络套接字,使用它我们可以很方便的实现网络的数据传输。在.net中提供了socket类来帮助开 发者调用socket的使用,从而避免了调用socket的动态库来实现socket的麻烦。下面我们就来看一个简单的例子,从这个简单的例子来看看.net中的so…

ARP协议学习

Dolphin,ChinaBJ,20131122本文档是检验自己学习TCP/IP协议卷1:协议中关于ARP协议的学习情况。本文档包含以下四部分:1、简述ARP协议;2、ARP的分组格式;3、ARP Spoofing 实验 4、应用及防御方法。1.简述ARP协…

数学,对人工智能开发者意味着什么

21世纪以来,全球化的加速和互联网的蓬勃发展,带来全球范围内电子数据的爆炸性增长,人类迈入了大数据时代。与此同时,计算机芯片的计算能力也持续高速增长。在数据和计算能力指数式增长的支持下,人工智能算法在应用中取…

检查网站是否可以正常访问

# -*- coding: utf-8 -*-import urllib.request import time opener urllib.request.build_opener() opener.addheaders [(User-agent, Mozilla/49.0.2)] #文件格式http://www.baidu.comfile open(E:/auto/url.txt) lines file.readlines() aa[] for line in lines: templ…

使用.NET自带的类实现DataGrid报表的打印。

using System;using System.Windows.Forms;using System.Drawing;using System.Drawing.Printing;using System.Data;using System.Collections;using DataLibrary; namespace ControlLibrary{ /// <summary> /// DataGrid打印 /// </summary> public class DataG…

各种 AI 数据增强方法,都在这儿了

来源 | 算法进阶责编 | 寇雪芹头图 | 下载于视觉中国数据、算法、算力是人工智能发展的三要素。数据决定了Ai模型学习的上限&#xff0c;数据规模越大、质量越高&#xff0c;模型就能够拥有更好的泛化能力。然而在实际工程中&#xff0c;经常有数据量太少(相对模型而言)、样本不…

ORACLE11g 前期安装环境配置

Linux系统可以拿来直接用的脚本哦#!/bin/bashservice iptables stop &> /dev/nulliptables -F service iptables save &> /dev/nullsed -i s/enforcing/disabled/ /etc/selinux/configsetenforce 0sed /tmpfs/d /etc/fstab &> /dev/nullecho tmpfs …

linux mysql 卸载,安装,測试全过程

Mysql卸载yum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/my.cnf查看是否还有mysql软件&#xff1a;rpm -qa|grep mysql有的话继续删除Mysql安装1>若本地没有安装包 能够考虑使用yum命令进行下载# yum -y install mysql-server# yum…

C#中获取程序当前路径的集中方法

string str1 Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2Environment.CurrentDirectory;//获取和设置当前目录&#xff08;即该进程从中启动的目录&#xff09;的完全限定路径。//备注 按照定义&#xff0c;如果该进程在本…

如何开启远程(win7win8)

如何开启远程连接点击我的电脑-属性-高级系统设置-远程-选中“允许远程连接到此计算机”-应用-确定。在局域网内&#xff0c;拥有固定IP的话&#xff0c;就很容易远程处理事情了。若经过此步骤还不能远程的话&#xff0c;则需要查看系统是否开启了远程服务。“我的电脑”--管理…

微软推出“ Group Transcribe”应用,多人多语言会议实时高准确度文字转录并翻译

近期&#xff0c;微软针对面对面对话和会议推出了免费实时语音到文字转录和翻译应用程序——Group Transcribe。一方面&#xff0c;Group Transcribe可以通过手机把会议的语音内容实时转录为文本&#xff0c;供与会者阅读和浏览。 另一方面&#xff0c;在实时交流过程中&#x…

STM32单片机外部中断配置讲解

2019独角兽企业重金招聘Python工程师标准>>> 单片机外部中断简介 所谓外部中断&#xff0c;就是通过外部信号所引起的中断&#xff0c;如单片机引脚上的电平变化(高电平、低电平)、边沿变化(上升沿、下降沿)等。51单片机有5个中断源&#xff0c;其中有两个是外部中断…