改善传输效率的网络系统及相关方法 【技术领域】
本发明涉及一种网络系统以及相关方法,特别是涉及一种可利用一中央处理器调整该网络系统内的交换器传送数据包的方法的网络系统以及相关方法。
背景技术
随着网络的应用的蓬勃发展,个人与企业对于网络的依赖也越来越深。尤其是以太网(Ethernet)的使用更是成为网络世界重要一环。
为了便于网络的传输,已经发展出许多的协议与规范以使得数据的通讯传递更为方便迅速。其中国际标准组织(International StandardOrganization,ISO)提供一套共通的开放系统连结模式(Open SystemInterconnect mode,OSI),其规范网络传输时一种共享的沟通模式,其中包含7层的沟通模式。规范这7层的目的是使得二系统之间的通信(传送、接收、中断等)能更加容易管理。有关OSI地功能与运用已为本领域的技术人员所熟知,在此不再赘述。
在传输数据前,会把数据分成一连串的包(packet),并在这些包前附加用来控制包传递的标头信息。请参阅图1,图1为数据连接层的包10的示意图。数据链路层(data link layer)属于OSI规范的第二层,而数据连接层包10包含一前序位(preamble)、目的地址(Destination)、原始地址(Source)、型态(Type)、数据(Data)、FCS等字段。其中前序位字段提供了数据包的起始、同步讯息以及译码等操作。目的地址字段储存了数据包接收端的地址,原始地址字段则储存该数据包传送端的地址,而目的地址字段以及原始地址字段储存的就是MAC地址,型态字段则储存了数据包所使用的通讯协议(例如使用IP通讯协议),数据域位则储存了包的数据内容,最后的包监测数据(Frame check sequence,FCS)字段则用来放置检查位,作为CRC错误检查之用。
请参阅图2,图2为局域网络20的示意图。局域网络20包含多个交换器22,每个交换器22可连接多个主机24或是其它交换器22或是其它的网络交换设备,如桥接器(bridge)、集线器(hub)或是讯号加强器(repeater)等应用于OSI数据链路层以下的网络设备。由于在局域网络20会有数十台甚至上百台主机24同时连上局域网络20,为了确保网络20的速度,交换器24就是用来增加讯号强度以及便于网络管理的功能。交换器22是运作于OSI中的第二层数据链路层(Data Link Layer),当数据被拆成一连串的包(Packet)时,交换器22会依据包中目的地的MAC地址(就是图1的目标地址字段),以点对点模式将包传送到目的地。由于交换器22同时间可以有多个连接端口26平行地传送(parallelism),如此一来可以减少包碰撞的机会和充分使用网络上的频宽,大大提高网络整体效能。举例来说,一个拥有10个连接端口26的交换器使用于10BASET的传输电缆时,每个连接端口的频宽仍会是10Mbps。
还有另一种网络设备—路由器(router)。路由器的功能是进行局域网络与局域网络间的沟通,与交换器工作于一局域网络内的负责各主机间的沟通的功能上并不相同。但是路由器不同于已知的交换器具有选择适当传输路径的功能。路由器建立最佳路径的方式,是通过建立一个路径表(routingtable),路径表会建立相关的地址,以供路由器作路径选择的参考。因为路由器会自行探测讯息来沟通而建立彼此的路径表,所以可以显示目前各信道间的网络状况,如阻塞或中断,并据此产生最佳路径以确保数据包传递的流畅。
虽然路由器具有找寻最佳路径的功能,但是路由器是作用在OSI第三层网络层(network layer)上。一般常用的IP协议即属于网络层的协议,在网络层之上IP地址才有意义,网络层之下都是凭MAC地址来辨认。所以路由器在处理包时,并不像交换器可直接通过MAC地址来识别所要传送的地址,还必须通过ARP(Address Resolution Protocol)协议将IP地址转成MAC地址的协议,使得网络层以下各层知道将数据往哪送,或利用RARP(ReverseAddress Resolution Protocol)的操作便是将ARP反过来,以MAC地址得知IP地址。所以路由器需要的成本、运算时间以及复杂度都比较高。
对于属于同一局域网络的众多主机来说,彼此互相传递的数据的重要并不一致。有的主机只是观看在线电影或收听在线广播等语音影像数据,此时对于接收的主机来说,数据包的传送速度维持快速流畅比较重要。但是对于有的主机来说,所要接收的数据可能是重要的程序执行文件,这时数据包的正确性就比较重要。然而,已知的交换器并无法分辨出传送数据是倾向于需要正确性或是倾向于需要时效性,在繁忙的网络之中,这种无法适当配置数据传输的结构很容易造成传输中断或阻塞。虽然已知的路由器具有搜寻最佳路径的功能,但是在传统网络结构之中,路由器最主要还是负责建立局域网络与局域网络间沟通的桥梁,而在单一局域网络之中,已知的交换器并没有具有类似于路由器找寻最佳传输路径的功能。也因此一般使用交换器的网络之中,作为数据传输的中介装置的交换器并无法适当地选择数据包的最佳传输路径,所以如何利用交换器来产生一个能快速得出最佳传输路径以控制包传送的网络是很重要的一种课题。
【发明内容】
综上所述,本发明提供一种网络系统,此系统利用一中央处理器以依据该网络系统内各个交换器的数据流量以及各个数据包的特性,控制各个交换器处理数据包的模式,以更有效率的控制网络内频宽的使用。
本发明的一实施例是提供一种可由中央处理器控制多个交换器的操作的网络系统,其至少包含多个交换器,用来控制该网络系统内数据包的传送;以及一中央处理器,耦合于该多个交换器,用来传送至少一调整讯号至该多个交换器其中的至少一交换器以调整该交换器处理数据包的方式。
本发明的另一实施例是提供一种管理网络系统的方法,其至少包含下列步骤(a)连接一中央处理器与多个交换器;以及(b)自该中央处理器传送一调整讯号到该多个交换器其中的一交换器以调整该交换器处理数据包的方式。
本发明的又一实施例是提供一种管理网络系统的方法,其包含下列步骤(a)连接一中央处理器与多个交换器;(b)该中央处理器由该多个交换器中指定(assign)部分的交换器以形成一用来由一传输主机传输数据包至一接收主机的传输路径;以及(c)自该中央处理器传送一调整讯号至该传输路径上的交换器以调整该传输路径上的交换器处理数据包的方式。
本发明的实现,可以在网络运作时,利用一中央处理器等来检测该网络系统上各交换器的数据流量,甚至要传输的数据包的特性,来据以调整网络系统上各个交换器的运作。举例来说,当发现有某些交换器数据流量过大时,可以调整周围其它交换器的设定,使得周围这些交换器使用不会连接到这些高数据流量的输出端口来传输;举例来说,可以视网络上正在传输的文件内容或是使用者的需求,调整部份交换器输出模式,让部份交换器可以根据接收到的数据包的传输特性,选择要用以传输此数据包的输出方式;一般而言,越是要求高传输速率的数据包的传输路径,其中所连接的交换器便越要使用到使用储存部份包标头便再传送模式;而越是要求高传输正确性的数据包的传输路径,便越要使用连接到的传输路径尽可能都是使用储存全部包再传送模式的交换器。又例如,当要自一特定交换器传输一特定数据包至另一特定交换器时,可以选择数个交换器并调整这些交换器的输入端口与输出端口的设定关系,以形成连接此二特定交换器的一专用传输路径,并且还可以再调整该传输路径上各交换器的输出模式,让此网络运作时,不仅数据包可以在专用的传输路径上传输,传输路径上的交换器也可以根据接收到的数据包的传输特性,选择要用以传输此数据包的输出方式,以调整网络系统的运作。
本发明所提出的网络系统中,中央处理器不仅可以选取部分交换器以形成一专用的传输路径以传输数据包,同时亦可调整部份交换器依据数据包的内容来改变输出该数据包的模式,这么一来,如果部分交换器的运作不顺畅时或网络上某些交换器发生传输瓶颈时,该中央处理器就可以利用其它交换器来维持该网络系统内数据传输的正常运作。除此之外,中央处理器还可以使得交换器依据数据包的内容或是数据流量来调整处理数据包的方式,以增强交换器使用的弹性。
【附图说明】
图1为数据链路层的包格式的示意图。
图2为局域网络结构的示意图。
图3为本发明的交换器在以太局域网络结构下与主机以及其它交换器的功能方块图。
附图符号说明
20 局域网络 24 主机
22 交换器 26 连接端口
30a-30f 交换器 40a-40c 主机
300 连接端口 50 网络
34a-34f 逻辑单元 36a-36f 缓冲区
60 中央处理器
【具体实施方式】
请参阅图3,图3为本发明的中央处理器60与交换器30a-30f在以太局域网50结构下与主机连结的功能方块图。中央处理器60连接于交换器30a-30f,每个交换器30a-30f包含一逻辑单元34a-34f、一缓冲区(buffer)36a-36f以及多个连接端口(输入端口与输出端口)300。一般以太局域网50包含有多个主机,主机之间利用交换器相互连接(为使图面清晰,图3中仅绘示3个主机40a-40c,与6个交换器30a-30f)。中央处理器60检测交换器30a-30f的数据流量并控制交换器30a-30f处理以及传送数据包的方式。多个连接端口300之中用来接收数据包的连接端口为输入端口,而用来输出数据包的连接端口则为输出端口。当数据包由输入端口传进每一交换器30a-30f后,先暂存于对应的缓冲区36a-36f,等待逻辑单元对缓冲区内的数据包作进一步处理。在此,逻辑单元34a-34f的构成,可以是由用以记录各个输出端口所连接到的其它交换器(或主机等)的处理数据包模式的存储器,用以解析阅读数据包的硬件/固件,或是用以跟据解析阅读所得数据与储存于存储器中数据来决定要用那个输出端口输出的电路等所组成。
本发明的中央处理器60检测交换器30a-30f的数据流量,当一交换器的数据流量大于一默认值,即表示此交换器可能因为需要处理大量的数据包,使得包由此交换器输出的速度缓慢下来。此时,中央处理器60可以调整数据流量大于该默认值的交换器,使之利用处理速度较快的方式处理数据包(例如储存部份包标头便再传送模式,以下会介绍储存部份包标头便再传送模式的运作方式),或是利用同一交换器的其它数据流量较小的连接端口输出数据包;当然,中央处理器60也可以调整位于数据流量大于该默认值的交换器附近的交换器的输入端口与输出端口的关系,以减少周围各交换器再将数据包传输到数据流量大于该默认值的交换器所产生的数据流量。上述的该默认值的大小是可以调整的参数。
目前,已知常用的包处理模式有两种:一种称之为储存部分包的标头再传送(cut through)模式;另一种称之为储存全部包再传送(store andforward)模式。当交换器在接收到送来的数据包的前序字段(preamble)以及目的MAC地址字段(Destination)储存于缓冲区后,就将数据包经由输出端口送出,而不再需要等到包的全部字段都储存于缓冲区再送出,对于这一种只检查部分字段就输出数据包的输出模式,一般称之为储存部分包的标头再传送(cut through)模式。相对地,当交换器接收传来的数据包后,必须等到数据包的全部字段都储存于缓冲区之后,并且并检查数据包的完整性后,才会输出该数据包,这种输出模式称之为储存全部包再传送(store andforward)模式。显然地,储存部分包的标头再传送(cut through)模式因不检查包的完整性即送出,虽然牺牲检查包的正确性,但是却具有较快的传输速度;而储存全部包再传送(store and forward)模式因为需要检查数据包的完整性,故处理时间较长,所以传送速度较慢。
为更具体了解本发明的运作方式,请继续参阅图3。假设交换器30f最初预设使用储存全部包再传送模式处理数据包。但是来自交换器30d、30e的数据包太多,导致交换器30f处理数据包并输出至主机40b的速度延迟,此时中央处理器60可以送出一调整讯号以改变交换器30f的逻辑单元34f的内建规则,将原先的「储存全部包再传送」模式改变成「储存部分包的标头再传送」模式输出,也就是说,数据包的前序字段以及目的MAC地址字段储存于缓冲区36f后,就将数据包经由输出端口送往主机40b,而不再检查包的正确性,以缩短数据包停留在交换器30f的时间。
再假设交换器30c、30d是使用储存部份包标头便再传送模式,而交换器30b、30e则使用储存全部包再传送模式。故正常状态下,交换器30c、30d经由信道A传送数据包的速度高于经由信道B的交换器30b、30e。当交换器30a接收到数据包后,中央处理器60会判断出信道A的传输速度高于信道B,所以会让交换器30a选择由信道A传送数据包。举例来说,当交换器30a接到来自主机40a、40c的数据包,但是主机40a送出的数据包的优先性大于主机40c送出的数据包,此时中央处理器60可设定交换器30a将来自主机40a的数据包指定由信道A来传送并排除其它主机(如主机40c)经由信道A来传送数据包,优先性较低的主机40c所送出的数据包则由信道B传送,或者是等到通道A的流量较低时再由通道A传送。除此之外,中央处理器60还可以依据指定特定文件利用特定的传输路径传送数据。假设一文件由主机40a欲传送至主机40b,中央处理器60可送出调整讯号至交换器30a、30c、30d、30f的调整单元34a、34c、34d、34f,使得这些调整单元34a、34c、34d、34f处理数据包的模式皆为「储存全部包再传送」模式或是「储存部分包的标头再传送」模式,也可以排除其它主机使用这些交换器30a、30c、30d、30f所组成的传输信道,直到由主机40a指定传送至主机40b的文件完成传输为止,其它主机才能再次利用这条传输信道传送数据包。
除了依据数据流量来决定交换器的逻辑单元处理数据包的模式外,在本发明的另一实施例中,中央处理器60还可以使得交换器依据数据包的传输特性来选择处理数据包的方式。举例来说,当一交换器的数据流量超过一默认值时,中央处理器60可以送出一调整讯号予逻辑单元,使得逻辑单元依据数据包的传输特性来选择使用某个输出端口来传输数据包。换言之,一但中央处理器检测到某一交换器的数据流量太大时,中央处理器可让交换器改变其逻辑单元的内建规则,使得逻辑单元于接收到一倾向高传输速率(例如使用UDP传输协议的包)的文件时,例如多媒体影像文件,利用「储存部分包的标头再传送」的方式传送数据包,以缩短数据包停留在交换器的时间。相对地,当交换器接收到一倾向高传输正确性(例如使用TCP传输协议的包)的文件时,利用「储存全部包再传送」的方式检查数据包的正确性无误后再输出数据包,以确保数据包的正确性。这么一来,交换器的数据流量变差时,逻辑单元就可以弹性地调整接下来所接收到的数据包的处理方式,使得重视数据时效性的数据包尽快送出,而重视数据正确性的数据包经过检查后再送出的方式,以达到最佳化传输的目的。
前述的两个实施例是以一交换器作为说明,当然,上述的特征可以扩展到多个交换器中每一个交换器都具有如此功能的逻辑单元。当然,逻辑单元决定数据包的优先性的原则不只是判断包是利用TCP或是UDP协议,也可以依据不同数据包的来源或是服务内容来决定用来数据包的处理模式。
相较于已知技术,本发明的网络的中央处理器可检测网络系统内各交换器的数据流量,并控制各交换器视数据流量大小及/或数据包的内容调整其处理数据包的模式。当发现有交换器流量太大时或有特殊的传输需求时,可以选择部分交换器产生一专用的传输路径,在此同时,控制该传输路径上的交换器改变其数据包的处理模式。又例如对每一个交换器而言,中央处理器可以在数据包重视的是时效性时,让交换器利用储存部分包的标头再传送(cut through)模式处理数据包,以减少传送延迟的时间;在数据包对正确性的要求较高,可以让交换器利用储存全部包再传送(store and forward)模式处理数据包以确保封传送的正确性。本发明的网络可以视数据包重视的正确性或时效性的需求,动态地调整交换器之间的传输路径。通过这样的控制机制,使用本发明的网络系统就可以达到最佳的网络传输管理。
以上所述仅为本发明的较佳实施例,凡依本发明的权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。