CN1625159A - 可控制数据包传送的交换器及相关方法 - Google Patents
可控制数据包传送的交换器及相关方法 Download PDFInfo
- Publication number
- CN1625159A CN1625159A CN200410100240.5A CN200410100240A CN1625159A CN 1625159 A CN1625159 A CN 1625159A CN 200410100240 A CN200410100240 A CN 200410100240A CN 1625159 A CN1625159 A CN 1625159A
- Authority
- CN
- China
- Prior art keywords
- packet
- transmission
- interchanger
- host
- bag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims description 19
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/40—Wormhole routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/18—End to end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
- H04L49/9089—Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/251—Cut-through or wormhole routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种交换器,用来控制网络内数据包的传送,该交换器包含至少一输入端口、至少一输出端口、一队列缓冲区以及一分析选择单元。该输入端口用来接收数据包,该输出端口用来输出数据包,该队列缓冲区用来暂存来自该输入端口所接收的数据包,该分析选择单元,用来依据该数据包的一传输特性,选择由该队列缓冲区以及该输出端口处理该数据包的模式。
Description
技术领域
本发明涉及一种交换器,特别是涉及一种可依据接收的数据包是高传输速度需求或高传输精确度需求,选择以储存全部再传送模式或储存部份包标头再传输模式来进行传输的交换器。
背景技术
随着网络应用的蓬勃发展,个人与企业对于网络的依赖也越来越深。尤其是以太网(Ethernet)的使用更是成为网络世界重要一环。国际标准组织(International Standard Organization,ISO)提供一套共通的开放系统连结模式(Open System Interconnect 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包含一个以上的集线器24或交换器26,而至少一个以上的主机(client)28则连接于集线器24或交换器26。由于在局域网络20有数十台甚至上百台主机28同时连上局域网络20,为了确保网络20的速度,集线器24以及交换器26都是用来增加讯号强度以及网络管理的功能。但是集线器24是运作于OSI中的第一层实体层(Physical Layer),所以集线器24并不能分析出数据链路层包标头内的MAC地址字段。换言之,一但集线器24收到一个数据包时,会把接收到的数据包传送到其余所有的连接端口。所以所有连接到同一台集线器的主机28都必须销耗频宽来处理此数据包,不能消除网络中包与包之间的碰撞。如果网络上的主机越来越多,网络的整体效能也会因频宽瓜分而下降。
交换器的产生正好解决上面的问题。由于交换器是运作于OSI中的第二层数据链路层(Data Link Layer),当数据被拆成一连串的包(Packet)时,交换器会依据包中目的地的MAC地址(就是图1的目标地址字段),以点对点模式将包传送到目的地。由于交换器同时间可以有多个连接端口平行地传送(parallelism),如此一来可以减少包碰撞的机会和充分使用网络上的频宽,大大提高网络整体效能。
除了集线器以及交换器之外,还有另一种网络设备一路由器(router)。路由器主要的工作在于传输网络上的包(packet),而且路由器必需先将包的标头取下,根据标头内的各项信息分辨处理方式,以便完成包的传输工作。同时,路由器还具有选择适当传输路径的功能。路由器建立最佳路径的方式,是通过建立一个路径表(routing table),路径表会建立相关的地址,以供路由器作路径选择的参考。其中有建立相关地址以求得最佳路径的方法有两种常用的标准,分别为RIP(Routing Information Protocol)与OSPF(OpenShortest Path First)。RIP的原理是要求包对邻近的路由器发送出去,接受到的路由器便将路径纪录表(Routing Table)传回来,发出要求的路由器统计抵达每个目的位置所要经过的节点数,将最短的写在自己的路径纪录表上。OSPF跟RIP最大的不同处在于它不是两个邻近路由器之间彼此交换,而是对整体网络广播,而路由器收集这些讯息建构路径表。另一个不同处在于路由器以距离参数(Distance metric)取代单纯的经过节点数,以连结状况更新距离参数,然后用动态规划(Dynamic Programming)的算法算出最短路径,将下一个节点与计算出的总合的距离参数填入路径表。不论采用哪种方式,各路由器会自行探测讯息来沟通而建立彼此的路径表,所以可以显示目前各信道间的网络状况,如阻塞或中断,并据此产生最佳路径以确保数据包传递的流畅。
虽然路由器具有找寻最佳路径的功能,但是路由器是作用在OSI第三层网络层(network layer)上。一般常用的IP协议即属于网络层的协议,在网络层之上IP地址才有意义,网络层之下都是凭MAC地址来辨认。所以路由器在处理包时,并不像交换器可直接通过MAC地址来识别所要传送的地址,还必须通过ARP(Address Resolution Protocol)协议将IP地址转成MAC地址的协议,使得网络层以下各层知道将数据往哪送,或利用RARP(ReverseAddress Resolution Protocol)的操作便是将ARP反过来,以MAC地址得知IP地址。所以路由器需要的成本以及复杂度都比较高,也就在商业考虑下不易普遍取代交换器与集线器。
在网络中数据的传输,多是先将数据分解为多个包,再将这些包自来源端传输到目的端,而后在目的端组合接收到的包,即可完成。然而,由于传输的数据种类不同,对于在线电影或在线广播等语音影像数据,由于使用者观看收听时会要求影音流畅,并且通过影像/影音处理时可以明显减少部份由于包传输失误所引起的错误,因此对网络传输的要求重点在于传送速度的快速流畅。但对于电子邮件传输或程序文件传输而言,由于总是要整个完整的电子邮件/文件程序都传输完成才会开启使用,但若有部份包不能正常传输接收时便可能导致电子邮件/程序文件的内容错误,因此对网络传输的要求重点便在于传输内容的的正确性。
图3显示了已知交换器的基本结构图,交换器30a至少包含下列基本单元:至少一输入端口32a、至少一输出端口34a、处理单元36a以及队列缓冲区38a,其中任一输入端口32a与任一输出端口34a均连接至网络上的某一端点40a,如一主机、一路由器、一集线器或另一交换器,队列缓冲区38a用来暂存自输入端口32a所接收而尚未自至输出端口34a所输出的包或部份包,而处理单元36a用以至少控制队列缓冲区38a处理包的方式。在此,处理单元36a根据事先设定的规则,或是对所有被接收到的包,都是以储存全部包再传送(store and forward)模式,在接收整个包并检查过包的完整性与正确性后,再输出此包;或是对所有被接收到的包,都是以储存部份包标头再传送(cut through)模式,在接收部份包并判断出此包的传输目的后,便一面接收一面传输此包。显然地,已知的交换器并无法分辨出传送数据是要求传输正确性或是传输时效性,在网络传输过程中,往往只能依照其预先设定的模式来接收传输包,而不能依照所接收到包的传输特性,来尽可能最佳化其传输方式。
进一步地,虽然已知的路由器具有搜寻最佳路径的功能,但其作法基本是针对网络上各个传输路径的传输快慢来决定最佳路径,而不是根据要传输的包本身的特性来决定最佳路径,并且往往必须分解包到第三层,所需要的计算量也明显较多。
综上所述,如何设计一个能搜寻最佳传输路径以控制包传送的交换器是很重要的一种课题。
发明内容
本发明提供一种交换器及其运作方法,能依据接收数据包所要求的传输特性,选择使用队列暂存区等来处理数据包的输出模式。
本发明的一实施例提供一种交换器,其用来控制网络内数据包的传送,该交换器包含至少一输入端口,用来接收数据包;至少一输出端口,用来输出数据包;一队列缓冲区,用来暂存来自所接收的数据包;以及一分析选择单元,用来依据该数据包的传输特性,选择使用该队列缓冲区输出该数据包的模式。
本发明的另一实施例提供一种交换器处理网络的传输数据包的方法,其包含接收一数据包;依据该数据包的传输特性选择处理该数据包的模式;以及依据该模式输出该数据包。
本发明所谓的判断该数据包的传输特性,基本上是指判断该数据包是高传输速度需求或高传输精确度需求。由于储存全部包再传送模式,较可以确保交换器在接收传送包时的正确性,而储存部份包标头便传送模式,较可以加快交换器在接收传送包时的速度。因此,对于传输特性较需要高传输速度需求的包,本发明便使用储存部份包标头便传送模式;而对于传输特性较需要高传输精确度需求的包,本发明便使用储存全部包再传送模式。
本发明的进一步的实现方式,可以是判断该数据包的内容是属于多媒体文件或是程序文件;也可以是判断该数据包所使用的传输协议是UDP或TCP,或是其它方式。对于高传输速度需求的数据包,是在该队列缓冲区接收储存数据包的前序(preamble)以及MAC地址字段后,即将数据包送出;而对于高传输精确度需求的数据包,是在该队列缓冲区储存数据包的全部字段并检查完正确性后,再将该数据包送出。
本发明的优点还包括该交换器可以通过分析数据包内特定字节的内容,来决定数据包的传输特性并对应改变使用队列暂存区等输出该数据包的模式。而且,本发明不用和路由器一样需要变动数据包的标头(header),不但可以简化运作,也可以降低成本。
附图说明
图1为数据链路层的包格式的示意图。
图2为局域网络结构的示意图。
图3为已知交换器与发送/接收数据包的端点的功能方块图。
图4为本发明的实施例的交换器与发送数据包的端点以及接收数据的端点的功能方块图。
图5为IP包的格式的示意图。
图6为TCP包的格式的示意图。
图7为UDP包的格式的示意图。
图8为本发明的方法流程图。
附图符号说明
10 数据链路层包 20、50 局域网络
24 集线器 26 交换器
28 主机 30a、30b 交换器
32a、32b 输入端口 34a、34b 输出端口
36a 处理单元 36b 分析选择单元
38a、38b 队列缓冲区 40a、40b 端点
具体实施方式
请参阅图4,图4为本发明一实施例的交换器30b与发送数据包或接收数据的端点40b的功能方块图。其中,任一端点40b可以是如一主机、一路由器、一集线器或另一交换器,本实施例不限制其细节。交换器30b至少包含:至少一输入端口32b、至少一输出端口34b、一队列缓冲区38b以及一分析选择单元36b。输入端口32b用来接收端点40b传来的数据包,输出端口34B用来输出数据包予端点40b,队列缓冲区38b用来暂存来自输入端口32b所接收的数据包;以及分析选择单元36用来依据被至少部份储存在队列缓冲区38b的数据包的传输特性,选择使用队列缓冲区38b与输出端口34b来处理此数据包的模式。
本发明判断数据包的传输特性,是要判断数据包是高传输速度需求或高传输精确度需求。其具体作法,至少可以是通过判断包的内容是属于倾向高传输速度需求的多媒体文件或是属于倾向高传输精确度需求的程序文件;也可以通过判断包的格式是属于传输速率较快的包格式或是属于较能确保传输正确性的包格式;或也可以是通过解读包内某些特定位的内容,来判断包的属性。
为了说明本发明的运作,在此先简单介绍一下IP包、TCP包以及UDP包的格式。请参阅图5,图5是IP包的格式。从图5可以发现,IP包的版本(Version)字段用来规范此包所用的协议的版本,以利各开发商使用。标头长度(Internet Header Length,IHL)字段是规范此IP包的IP标头的长度,其储存的值为5~15。以图5为例,IHL字段储存的值为5。而总长度(TotalLength)字段则储存整个IP包的长度,包括IP标头长度以及数据长度。协议识别(Protocol)字段则储存该IP包使用哪一种网络层协议,举例来说,协议识别字段储存的值为6时,表示TCP协议,协议识别字段储存的值为17时,表示UDP协议。标头检验和(Checksum)字段用来确保IP标头的完整性,来源地址(Source address)字段用来储存送出包主机的地址,而目的地址(Destination address)则用来储存接收主机的地址。其中,来源地址与目的地址就是所谓的IP地址。而数据域位则用来储存数据。
由于IP包的传送是在不同时间抵达,包到达的顺序不保证是原来发送的顺序,且可能在传输过程中发生错误。所以为了确保包正确抵达,一般来说,会使用TCP协议来加强传输的可靠性,所以在IP包的数据域位还储存有TCP包。请参阅图6,图6是TCP包的格式。对TCP包来说,来源端口(Sourceport)字段用来定义来源主机的行程与服务地址,与来源主机的IP地址结合后,会形成单一的发送点。目的端口(Destination port)字段用来定义目的主机的行程与服务地址,与目的主机的IP地址结合后,会形成单一的发送点。举例来说,若端口号码为25,则会将该数据包交由SMTP服务使用、若端口号码为21则给FTP服务使用、若端口号码为23则给TELNET服务使用。序列号(sequence number)字段则储存了来源主机所送出的第一个字节数据的顺序编号。而确认号(Acknowledgement number)字段则储存了来源主机通知目的主机应该送出哪个序列号的数据。一般来说,使用TCP协议传送数据是为了确保数据传送的可靠性,也就是保证使用TCP协议传输的包一定会顺序一致地抵达目的。关于TCP包的传送机制,已为本领域的技术人员所熟知,在此不再赘述,详细的内容说明可参阅RFC-793、RFC-1122、RFC-813、RFC-879、RFC-896的说明。
请参阅图7,图7是UDP包的格式。对UDP包来说,来源端口(Source port)字段用来定义来源主机的行程与服务地址。目的端口(Destination port)字段用来定义目的主机的行程与服务地址。由于使用UDP协议不保证送出的数据包一定会抵达目的,或以正确的顺序抵达。然而在一般局域网络之中,以UDP协议传输的数据包几乎能达到100%的抵送率,而且抵达速度也可能比接收端的处理速度还快,这是因为UDP通讯协议所使用的包短且设定参数简易,不像TCP需要提供额外的字段来控制传输可靠性,所以在网络上的负载较TCP协议轻了许多,故常用于多媒体数据的传输。关于UDP包的传送机制,已为本领域的技术人员所熟知,在此不再赘述,详细的内容说明可参阅RFC-768的说明。
请注意,对图1的数据链路层包10来说,图5的属于网络层的IP包即储存在数据链路层包10的数据域位之中。对IP包来说,图6的TCP包或图7的UDP包即储存于IP包之中。
在本发明的一实施例中,由于每个数据包在特定的地址字段(亦即特定的字节)都已经有固定的定义。所以当交换器30b的输入端口32b在接收到数据包后,会依序将包暂存于队列缓冲区38b。接下来,分析选择单元36b会取下属于数据链路层的MAC地址字段以判断发送数据包的原始端点40b的MAC地址与预定接收该数据包的目的端点40b的MAC地址。此外,本实施例的交换器30b还可以在不用移除属于网络层的IP标头的情况下,读取IP标头的特定字段上的数据以判断接收的数据包的优先性。这是因为每个数据包在特定的地址字段(亦即特定的字节)都已经有固定的定义,所以分析选择单元36b可以在移除数据链路层的标头后,再不用移除IP标头的情况下,读取属于网络层的IP标头的特定字段上的数据,以判断接收的数据包的属性。举例来说,分析选择单元36b只需要在取下属于数据链路层的标头后,读取由版本字段算起第1位至第4位内的数值判断接收的IP包所使用的版本,第5位至第8位内的数值判断IP包所使用的标头长度,第73位到第80位内的数值来判断此包使用何种协议来传送,以此类推,之后的来源地址、目的地址,也可以同样的方式来判断。当然,IP标头之后就是TCP/UDP包的标头,从图5来看,标头长度字段所储存的值是5,所以从版本字段算起第161位至第176位属于TCP/UDP包的来源端口(source port)字段,第177位至192位属于TCP/UDP包的目的端口(source port)字段。所以分析选择单元36b也可以快速地了解此包所使用的端口号码为何,以决定此包属于何种服务所使用,举例来说,若端口号码为25,则会将该数据包交由SMTP服务使用、若端口号码为21则给FTP服务使用。最后,分析选择单元36b就可以依据使用的传输协议等数据来决定要用哪一个输出模式来输出数据包。
必须注意的是,已知交换器的运作就有分解包并根据其MAC地址来传输包的步骤,亦即已知交换器便有用以分解包与阅读其部份内容的硬件/固件。因此,本实施例的解读包以掌握其使用的传输协议、其对应的端口号码、以及其属性等等步骤,已知技术者都可以通过修改已知交换器的硬件/固件等来实现,例如将已知技术作为处理单元36a的硬件电路或内存中程序代码,修改其电路或程序代码以加入本实施例对于包的分析阅读规则,便可以形成本实施例的分析选择单元,在此不再累述。但必须注意的是,由于本实施例是让交换器可以随着包的不同,有时执行储存全部包再传送(store andforward)模式而有时执行储存部分包的标头再传送(cut through)模式,因此本实施例所对应的硬件必须要能兼顾二种模式的需要,亦即至少队列缓冲区38b的大小必需以储存全部包再传送(store and forward)模式所需要的大小为准。
在本发明的实施例中,使用队列缓冲区38b与输出端口40b来处理包的模式有以下两种:第一种称之为储存全部包再传送(store and forward)模式。包由输入端口32b传送进交换器30b时,会先暂存于队列缓冲区38b,等到数据包的全部字段都储存于队列缓冲区38b,并且通过分析选择单元36b检查并确认数据包的完整性后,才会经由至少一输出端口34b送出该数据包。另一种称之为储存部分包的标头再传送(cut through)模式。包由输入端口32b传送进交换器30b时,在接收与分析数据包的前序字段(preamble)以及目的MAC地址字段(Destination)后,利用目的MAC地址字段判断出欲接收的目的端点的MAC地址后,就一面经由输入端口32b接收包一面经由输出端口34b送出包。这两种模式差异在于处理速度与正确性的差别。前者须等到包的全部字段都接收之后,必要时还需检查该包的正确无误后,才会发送出去。相较之下,后者只要等到接收目的MAC地址字段(Destination)之后就立刻发送出去,虽然处理速度较短,但因无法检测包的错误,所以可能送出错误的包。
请参阅图8,图8为本发明另一实施例的方法流程图。本实施例的方法的步骤说明如下。
步骤100:接收一数据包;
步骤102:判断数据包的传输特性,若数据包使用的传输特性倾向高传输速度,则进行步骤104;若数据包的传输特性倾向高传输正确性,则进行步骤106;
步骤104:待接收数据包的前序字段以及目的MAC地址字段后,一面接收部份该数据包并一面输出已经接收的部份该数据包;
步骤106:待接收完整的数据包后,再输出该数据包。
假设某端点40b是利用UDP协议要传送一多媒体数据文件至另一端点40b。本发明的交换器30b的输入端口32b在接收一数据包(步骤100)后,分析选择单元36b判断数据包的传输特性(如判断数据包使用的是哪一种通讯协议)(步骤102)。当交换器30b接收到由输入端口32b送来的数据包,分析选择单元36b可由MAC地址字段得出该包需传送至的端点40b。所以分析选择单元36b还可以由版本字段算起第73至第80位的数值为17,判断该数据包系使用UDP协议,于是之后传来的数据包就可以利用储存部分包的标头再传送(cut through)模式,也就是在储存并分析数据包的前序字段(preamble)以及目的MAC地址字段(Destination)后,就将前序字段以及目的MAC地址字段连同其它数据包直接经由输出端口34b送出。
假设某端点40b是利用TCP协议传送一电子邮件至另一端点40b。本发明的交换器30b的输入端口32b在接收到该电子邮件的数据包(步骤100)后,分析选择单元36b可由MAC地址字段得出该包需传送至那个端点40b。并依据版本字段算起第73至第80位的数值为6,判断该数据包使用TCP协议。于是交换器30b针对之后传来的数据包就可以利用储存全部包再传送(storeand forward)模式,也就是等到数据包的全部字段都储存于队列缓冲区38b之后,并且通过分析选择单元36b检查数据包的前序字段、目的地址字段、原始地址字段、型态字段数据域位、FCS字段等全部字段都正确无误后,才会经由输出端口34b送出该数据包。利用这种输出模式虽然不会送出错误的包,但是相较于储存部分包的标头再传送(cut through)模式,也增加传送延迟的时间(latency)。
相较于已知技术,本发明的交换器可以利用目前网络层包具有的特定位置的字节的规范下,对于用于分析数据链路层的交换器来说,除了拆解并分析数据链路层的标头外,在不需另外拆解网络层包的标头的情况下,只要去读取网络层包的标头的固定位置字段的信息,就可以识别出该网络层包所使用的协议以及使用的端口号码等等,以决定该网络层包的数据重视的是时效性或是正确性。除此之外,本发明的交换器对于重视时效性的网络层包,可以利用储存部分包的标头再传送(cut through)模式传送数据包以减少传送延迟的时间。相对地,对于重视正确性的网络层包,可以利用储存全部包再传送(store and forward)模式传送数据包以确保包传送的正确性。通过这样的控制机制,使用本发明的交换器的局域网络就可以达到最佳的网络传输管理。
以上所述仅为本发明的较佳实施例,凡依本发明的权利要求所做的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (22)
1.一种交换器,用来控制网络内数据包的传送,该交换器包含:
至少一输入端口,用来接收数据包;
至少一输出端口,用来输出数据包;
一队列缓冲区,用来暂存来自该输入端口所接收的数据包;以及
一分析选择单元,用来依据该数据包的一传输特性,选择由该队列缓冲区以及该输出端口处理该数据包的模式。
2.如权利要求1所述的交换器,其中该传输特性选自下列之一:高传输速度需求和高传输精确度需求。
3.如权利要求1所述的交换器,其中该数据包是符合IP协议的数据包。
4.如权利要求1所述的交换器,其中当该数据包的内容为多媒体文件时,该分析选择单元便判断该数据包的传输特性为高传输速度需求。
5.如权利要求1所述的交换器,其中当该数据包的内容为程序文件时,该分析选择单元便判断该数据包的传输特性为高传输精确度需求。
6.如权利要求1所述的交换器,其中当该数据包的传输协议为UDP时,该分析选择单元便判断该数据包的传输特性为高传输速度需求。
7.如权利要求1所述的交换器,其中当该数据包的传输协议为TCP时,该分析选择单元便判断该数据包的传输特性为高传输精确度需求。
8.如权利要求1所述的交换器,其中该数据包的传输协议储存于该数据包的协议识别字段。
9.如权利要求8所述的交换器,其中该传输协议可为TCP或UDP。
10.如权利要求2所述的交换器,其中当该分析选择单元判断该数据包的传输特性为高传输速度需求,在该队列缓冲区储存该数据包的前序以及MAC地址字段后,该分析选择单元与该队列缓冲区一面通过至少一该输入端口接收部份的该数据包,一面通过至少一该输出端口输出先前已接收并储存于该队列缓冲区的部份该数据包。
11.如权利要求2所述的交换器,其中当该分析选择单元判断该数据包的传输特性为高传输精确度需求,则该分析选择单元与该队列缓冲区先储存完整的该数据包于该队列缓冲区并检查确认该数据包的正确性,然后才再将该数据包送出。
12.一种交换器处理网络的传输数据包的方法,其包含:
接收一数据包;
依据该数据包的传输特性选择处理该数据包的模式;以及
依据选定输出该数据包的模式处理该数据包。
13.如权利要求12所述的方法,其中该传输特性选自下列之一:高传输速度需求和高传输精确度需求。
14.如权利要求12所述的方法,其中该数据包是符合IP协议的数据包。
15.如权利要求12所述的方法,其中当该数据包的内容为多媒体文件时,便判断该数据包的传输特性为高传输速度需求。
16.如权利要求12所述的方法,其中当该数据包的内容为程序文件时,便判断该数据包的传输特性为高传输精确度需求。
17.如权利要求12所述的方法,其中当该数据包的传输协议为UDP时,便判断该数据包的传输特性为高传输速度需求。
18.如权利要求12所述的方法,其中当该数据包的传输协议为TCP时,便判断该数据包的传输特性为高传输精确度需求。
19.如权利要求12所述的方法,其中该数据包的传输协议储存于该数据包的协议识别字段。
20.如权利要求19所述的方法,其中该传输协议可为TCP或UDP。
21.如权利要求20所述的方法,其中当该数据包的传输特性为高传输速度需求,在储存该数据包的前序以及MAC地址字段后,一面通过至少一该输入端口接收部份的该数据包,一面输出端口输出先前已接收并储存的部份该数据包。
22.如权利要求20所述的方法,其中当判断该数据包的传输特性为高传输精确度需求,则先储存完整的该数据包并检查确认该数据包的正确性,然后才再将该数据包送出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48177803P | 2003-12-12 | 2003-12-12 | |
US60/481,778 | 2003-12-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1625159A true CN1625159A (zh) | 2005-06-08 |
Family
ID=34794173
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410100241.XA Pending CN1625160A (zh) | 2003-12-12 | 2004-12-13 | 可控制数据包传送的交换器及相关方法 |
CN200410100240.5A Pending CN1625159A (zh) | 2003-12-12 | 2004-12-13 | 可控制数据包传送的交换器及相关方法 |
CNB2004101002392A Active CN100481810C (zh) | 2003-12-12 | 2004-12-13 | 改善传输效率的网络系统及相关方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410100241.XA Pending CN1625160A (zh) | 2003-12-12 | 2004-12-13 | 可控制数据包传送的交换器及相关方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004101002392A Active CN100481810C (zh) | 2003-12-12 | 2004-12-13 | 改善传输效率的网络系统及相关方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US20050129047A1 (zh) |
CN (3) | CN1625160A (zh) |
TW (3) | TWI277322B (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6360100B1 (en) | 1998-09-22 | 2002-03-19 | Qualcomm Incorporated | Method for robust handoff in wireless communication system |
US7668541B2 (en) | 2003-01-31 | 2010-02-23 | Qualcomm Incorporated | Enhanced techniques for using core based nodes for state transfer |
FR2858502B1 (fr) * | 2003-08-01 | 2006-02-24 | Cit Alcatel | Dispositif et procede de traitement de donnees de trafic reseau pour l'auto-configuration d'un routeur |
US20050213595A1 (en) * | 2004-03-23 | 2005-09-29 | Takeshi Shimizu | Limited cyclical redundancy checksum (CRC) modification to support cut-through routing |
US20060059341A1 (en) * | 2004-09-14 | 2006-03-16 | Dharmadhikari Abhay A | Apparatus and method capable of network access |
US20060215596A1 (en) * | 2005-03-23 | 2006-09-28 | Intel Corporation | Network aware cross-layer protocol methods and apparatus |
US20060268692A1 (en) * | 2005-05-31 | 2006-11-30 | Bellsouth Intellectual Property Corp. | Transmission of electronic packets of information of varying priorities over network transports while accounting for transmission delays |
US7558275B2 (en) * | 2005-09-13 | 2009-07-07 | Sony Corporation | System and method for clock replication using reference clock |
US8509799B2 (en) | 2005-09-19 | 2013-08-13 | Qualcomm Incorporated | Provision of QoS treatment based upon multiple requests |
US9736752B2 (en) | 2005-12-22 | 2017-08-15 | Qualcomm Incorporated | Communications methods and apparatus using physical attachment point identifiers which support dual communications links |
US9078084B2 (en) | 2005-12-22 | 2015-07-07 | Qualcomm Incorporated | Method and apparatus for end node assisted neighbor discovery |
US8983468B2 (en) | 2005-12-22 | 2015-03-17 | Qualcomm Incorporated | Communications methods and apparatus using physical attachment point identifiers |
US9066344B2 (en) * | 2005-09-19 | 2015-06-23 | Qualcomm Incorporated | State synchronization of access routers |
US8982778B2 (en) | 2005-09-19 | 2015-03-17 | Qualcomm Incorporated | Packet routing in a wireless communications environment |
KR101224591B1 (ko) * | 2006-02-23 | 2013-01-22 | 삼성전자주식회사 | 네트워크 중계 장치 및 그 방법 |
US9083355B2 (en) | 2006-02-24 | 2015-07-14 | Qualcomm Incorporated | Method and apparatus for end node assisted neighbor discovery |
CN101433018A (zh) * | 2006-04-25 | 2009-05-13 | 交互数字技术公司 | 网格无线局域网中的高吞吐量信道操作 |
KR101203471B1 (ko) * | 2006-06-29 | 2012-11-21 | 삼성전자주식회사 | 네트워크 브리지에서 이더넷 프레임을 전달하는 방법 및상기 브리지 장치 |
US20080025219A1 (en) * | 2006-07-27 | 2008-01-31 | Via Technologies, Inc. | Method for handling the bandwidth allocation of a networking device |
US9155008B2 (en) | 2007-03-26 | 2015-10-06 | Qualcomm Incorporated | Apparatus and method of performing a handoff in a communication network |
US8830818B2 (en) | 2007-06-07 | 2014-09-09 | Qualcomm Incorporated | Forward handover under radio link failure |
US9094173B2 (en) | 2007-06-25 | 2015-07-28 | Qualcomm Incorporated | Recovery from handoff error due to false detection of handoff completion signal at access terminal |
US8310931B2 (en) * | 2008-07-18 | 2012-11-13 | International Business Machines Corporation | Discovering network topology from routing information |
CN101626343B (zh) * | 2009-08-05 | 2012-04-04 | 华为技术有限公司 | 数据包交换的方法、装置和通信设备 |
US8559307B2 (en) * | 2009-12-28 | 2013-10-15 | Empire Technology Development Llc | Routing packets in on-chip networks |
US8340112B2 (en) * | 2010-03-25 | 2012-12-25 | International Business Machines Corporation | Implementing enhanced link bandwidth in a headless interconnect chip |
US8615241B2 (en) | 2010-04-09 | 2013-12-24 | Qualcomm Incorporated | Methods and apparatus for facilitating robust forward handover in long term evolution (LTE) communication systems |
TWI457032B (zh) * | 2012-02-20 | 2014-10-11 | Wistron Neweb Corp | 提供多重服務之路由方法、系統以及行動通訊路由器 |
US9565137B2 (en) * | 2012-04-26 | 2017-02-07 | Nxp Usa, Inc. | Cut-through forwarding module and a method of receiving and transmitting data frames in a cut-through forwarding mode |
TWI481230B (zh) * | 2013-01-08 | 2015-04-11 | D Link Corp | Analyze the data packets to select the connection path for the connection path |
CN103391244B (zh) * | 2013-07-30 | 2018-01-02 | 上海斐讯数据通信技术有限公司 | 一种大流量数据包的转发方法 |
JP6323194B2 (ja) * | 2014-06-13 | 2018-05-16 | 富士通株式会社 | ネットワーク管理装置及び方法 |
CN105635000B (zh) * | 2015-12-30 | 2019-02-01 | 华为技术有限公司 | 一种报文存储转发方法和电路及设备 |
WO2017172681A1 (en) * | 2016-04-01 | 2017-10-05 | Idac Holdings, Inc. | Mitigating crc calculations in networks that utilize segment routing |
CN106792024B (zh) * | 2016-12-19 | 2020-07-03 | 北京小米移动软件有限公司 | 多媒体信息的分享方法及装置 |
EP3700146A1 (de) * | 2019-02-22 | 2020-08-26 | Siemens Aktiengesellschaft | Verfahren zum betrieb eines kommunikationssystems zur übermittlung zeitkritischer daten und kommunikationsgerät |
US10880234B2 (en) * | 2019-05-21 | 2020-12-29 | Mellanox Technologies Tlv Ltd. | Cut-through switching system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5179551A (en) * | 1991-04-08 | 1993-01-12 | Washington University | Non-blocking multi-cast switching system |
US5521913A (en) * | 1994-09-12 | 1996-05-28 | Amber Wave Systems, Inc. | Distributed processing ethernet switch with adaptive cut-through switching |
US5568476A (en) * | 1994-10-26 | 1996-10-22 | 3Com Corporation | Method and apparatus for avoiding packet loss on a CSMA/CD-type local area network using receive-sense-based jam signal |
JP3420664B2 (ja) * | 1995-12-20 | 2003-06-30 | 株式会社東芝 | パケット送信ノード装置、パケット受信ノード装置及びコネクション設定方法 |
JPH1198183A (ja) * | 1997-09-17 | 1999-04-09 | Toshiba Corp | 中継装置 |
US6144668A (en) * | 1997-11-26 | 2000-11-07 | International Business Machines Corporation | Simultaneous cut through and store-and-forward frame support in a network device |
JP3816246B2 (ja) * | 1998-10-30 | 2006-08-30 | 株式会社東芝 | カットスルーパス制御方法 |
US20020085565A1 (en) * | 2000-12-28 | 2002-07-04 | Maple Optical Systems, Inc. | Technique for time division multiplex forwarding of data streams |
US20020118692A1 (en) * | 2001-01-04 | 2002-08-29 | Oberman Stuart F. | Ensuring proper packet ordering in a cut-through and early-forwarding network switch |
US7042891B2 (en) * | 2001-01-04 | 2006-05-09 | Nishan Systems, Inc. | Dynamic selection of lowest latency path in a network switch |
-
2004
- 2004-10-20 TW TW093131862A patent/TWI277322B/zh not_active IP Right Cessation
- 2004-11-12 TW TW093134756A patent/TWI261442B/zh not_active IP Right Cessation
- 2004-11-30 TW TW093136896A patent/TWI284469B/zh active
- 2004-12-01 US US10/904,870 patent/US20050129047A1/en not_active Abandoned
- 2004-12-08 US US10/904,997 patent/US20050129012A1/en not_active Abandoned
- 2004-12-09 US US10/905,017 patent/US20050128949A1/en not_active Abandoned
- 2004-12-13 CN CN200410100241.XA patent/CN1625160A/zh active Pending
- 2004-12-13 CN CN200410100240.5A patent/CN1625159A/zh active Pending
- 2004-12-13 CN CNB2004101002392A patent/CN100481810C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20050129047A1 (en) | 2005-06-16 |
CN1625158A (zh) | 2005-06-08 |
TWI284469B (en) | 2007-07-21 |
US20050128949A1 (en) | 2005-06-16 |
TW200520475A (en) | 2005-06-16 |
TW200520477A (en) | 2005-06-16 |
US20050129012A1 (en) | 2005-06-16 |
TWI261442B (en) | 2006-09-01 |
CN1625160A (zh) | 2005-06-08 |
TWI277322B (en) | 2007-03-21 |
CN100481810C (zh) | 2009-04-22 |
TW200520476A (en) | 2005-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1625159A (zh) | 可控制数据包传送的交换器及相关方法 | |
EP2795873B1 (en) | Forwarding element for flexible and extensible flow processing in software-defined networks | |
EP2795872B1 (en) | System for flexible and extensible flow processing in software-defined networks | |
EP2795874B1 (en) | Controller for flexible and extensible flow processing in software-defined networks | |
CN100555986C (zh) | 交换环境用的组合流水线式包分类和地址搜索方法及设备 | |
US8284776B2 (en) | Recursive packet header processing | |
US7408957B2 (en) | Selective header field dispatch in a network processing system | |
CN101247308B (zh) | 基于网络处理器实现IPv6穿越IPv4的隧道报文处理方法 | |
EP2552059B1 (en) | Packet transfer system, control apparatus, transfer apparatus, method of creating processing rules, and program | |
US8605752B2 (en) | Communication apparatus, communication method, and computer program | |
US20120281714A1 (en) | Packet processing accelerator and method thereof | |
CN101087296B (zh) | 利用网络处理器实现IPv4/IPv6网络协议转换的方法 | |
US20050060418A1 (en) | Packet classification | |
EP1657633A1 (en) | Routing and forwarding table management for network processor architectures | |
US20080095149A1 (en) | Flexible packet field processor | |
CN102123082A (zh) | 数据包转发方法和设备 | |
CN1874313A (zh) | 处理数据包的方法和网络设备 | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
CN108471383A (zh) | 报文转发方法、装置和系统 | |
CN111131535B (zh) | 一种RapidIO动态地址映射系统 | |
US20040141524A1 (en) | IPv6 header receiving apparatus and IPV6 header processing method | |
CN1736076A (zh) | 数据包分类的装置及方法 | |
US9143448B1 (en) | Methods for reassembling fragmented data units | |
CN105515995B (zh) | 报文处理方法及装置 | |
JP3711965B2 (ja) | Ipフロー多段ハッシュ装置、ipフロー多段ハッシュ方法、ipフロー多段ハッシュプログラム及びその記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |