网络封包传送方法与装置的制作方法

xiaoxiao2020-9-10  16

专利名称:网络封包传送方法与装置的制作方法
技术领域
本发明是有关于一种网络封包传送方法与装置,且特别是有关于一种切 割封包的网络封包传送方法与装置。
背景技术
被动式以太光纤网络(EPON: Ethernet Passive Optical Network)拥有 高达1Gbps的频宽,为共享传输媒体网络结构,可大幅降低网络铺设成本。 由于其高速传输特性,所以许多高速的应用,例如多媒体传播、语音数据、 网络电话(IP Tel印hony,其中IP为Internet Protocol的缩写)、网络电视 (IPTV)和高画质电视(HDTV: High-Def ini t ion TV)等应用,均可在EPON上实 现。在下行方向,EPON使用广播(Broadcast)的方式,在上行方向,EPON则 使用时分复用(TDM: Time-Division Multiplexing)的方式,使在共享媒体的 结构上,每个使用者都拥有自己可上传的时段,可防止碰撞(Collision)的发 生。EPON系统可分为局端(OLT: Optical Line Terminal)和客户端(ONU : Optical Network Unit)。 一个局端可同时管理许多个客户端。局端管理所有 使用者的注册和解注册,并统筹管理上行和下行的频宽,使每个使用者都能 符合其所签订的合约内容。在下行方向,局端直接管理每个使用者的数据传送,因为是广播的方式,所以不会发生碰撞;而在上行方向,局端会根据每 个客户端所要求的频宽,通过动态频宽分配(DBA: Dynamic Bandwidth Allocation)的机制,计算每个客户端可以拥有的上传时间,以避免发生碰撞。 局端会传送门户封包(GATE)给每个客户端,其中带有允许(GRANT)信息, 亦即每个客户端可上传时间的信息。客户端收到此封包后,会对其作处理, 并在其指定的时间内,传送报告(REPORT)封包给局端,里面载有其所有队列 (Queues)内,准备传送的封包长度的信息。局端根据所收到的所有客户端的 报告信息,使用动态频宽分配的机制,来计算每个客户端可以使用的上传频 宽的长度,并计算出每个客户端可以上传的时间,此信息将包含在门户封包的允许信息内。由于局端给予的可上传时间并不能真正反应客户端实际要传送的封包的 总长度,这会导致在剩余的上传时间内,由于封包所需上传时间大于剩余的 时间,而导致封包无法传送出去。这段剩余时间会因为没有封包传送而完全浪费掉。如图1A和1B所示,由局域网络端进来的封包P1-P10会经过进入排 程器(Ingress Scheduler)而分别进入到封包队列(Queue)中,等待被传送出。 待可上传时间到达,则依输出排程器(Egress Scheduler)来依序将封包Pl-P4 传送出去。然而当准备要传送封包P5的时候,由于剩余时间不足,所以封包 P5无法净皮传送出去。为了提高频宽使用率,美国专利公开案第20030048805号提供一种界限 报告(Threshold Reporting)方法。在此方法中,客户端会向局端报告两个数 字,也就是一个预设界限值以下完整封包的总长度LL,以及全部封包的总长 度LH,而局端分配给客户端的可上传时间就是LL或LH。如此虽然局端分配 的可上传时间比较能反应客户端实际需要的时间,但是若有需要优先传送的 控制用封包产生,这些封包必须优先传送,就会扰乱之前的计算与分配,此 时仍然会有频宽浪费。上述的美国专利公开案第20030048805号另外提出一 种方法,是在封包队列中寻找长度合适的封包以尽量利用剩余的可上传时间, 然而寻找适合的封包不但费时,运算又复杂,也不容易找到和剩余时间长度 相符合的封包,如此仍然会有浪费的频宽。为了提高频宽使用率,美国专利公开案第20050249497号也提供两种方 法。其中第一种方法是调整队列里面的封包次序,以充分利用局端分配的可 上传时间,问题是要找到总长度和可上传时间相符的封包组合,需要很复杂 的运算,而且仍然会有频宽浪费的情况发生。第二种方法是前述界限报告方 法的延伸,LL和LH两个数字改为动态调整,然而一旦有高优先的控制封包 需要先传送,仍然会扰乱之前的计算与分配,仍然会有频宽浪费。发明内容本发明提供一种网络封包传送方法,以解决先前技术的频宽浪费问题, 同时避免先前技术的缺点。本发明还提供一种网络封包传送装置,以解决先前技术的频宽浪费问題, 同时避免先前技术的缺点。本发明的范例提出一种网络封包传送方法,包括下列步骤。首先检查现 在可上传时间的剩余时间是否足够传送网络封包。若剩余时间足够,则直接 传送此网络封包。若剩余时间不足而且预设条件不成立,则等待下次可上传 时间。另一方面,若剩余时间不足而且上述预设条件成立,则将此网络封包 切割为先传封包与后传封包。然后使用剩余时间传送先传封包,后传封包则 等待下次可上传时间。本发明的范例还提供一种网络封包传送装置,包括暂存模块、切割控制 器、以及封包传送切割器。暂存模块自局域网络接收网络封包,暂存网络封 包,并且在可上传时间输出网络封包。切割控制器耦接于暂存模块,输出控 制信号。其中,若可上传时间的剩余时间足够传送网络封包,则控制信号为传送状态,若剩余时间不足而且预设条件不成立,则控制信号为等待状态, 若剩余时间不足而且预设条件成立,则控制信号为切割状态。封包传送切割 器耦接于暂存模块与切割控制器,接收网络封包与控制信号。若控制信号为 传送状态,则封包传送切割器直接传送网络封包至被动式以太光纤网络。若 控制信号为等待状态,则封包传送切割器等到下次可上传时间才传送网络封 包。若控制信号为切割状态,则封包传送切割器将网络封包切割为先传封包 与后传封包,使用剩余时间传送先传封包,后传封包则等待下次可上传时间 再传送。本发明不需要自行排程,不改变原有的封包传送次序,不需要复杂运算, 仅使用简单程序,即可达到高频宽使用率。使用上述网络封包传送方法,客 户端只需处理现有分配到的可上传时间,和动态频宽分配(DBA)机制完全无 关,因此即使出现较优先的封包需要立即传送,上述的网络封包传送方法与 装置依然适用,不会造成频宽浪费。为让本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并 配合所附图式,作详细说明如下。


图1A与图1B是已知被动式以太光纤网络的封包传送示意图。 图2是依照本发明一实施例的封包切割条件示意图。 图3是依照本发明一实施例的网络封包传送方法流程图。 图4A是依照本发明 一 实施例的封包切割方式示意图。图4B是依照本发明一实施例的封包传送示意图。图5与图6绘示本发明一实施例所节省的上传频宽。图7是依照本发明一实施例的网络封包传送装置结构图。[主要元件标号说明]Pl-PlO、 P5-1、 P5-2:网络封包210:待传送封包220:可上传时间的剩余时间230:通讯协议规定的最短封包240:设定值310-380:流程图步骤410、 420、 430:网络封包411-414、 421-424、 431-434:网络封包组成部分501、 601:传送封包的时间差700:网络封包传送装置7 01:暂存模块702:切割控制器703:封包传送切割器704:封包进入排程器705:封包暂存器706:封包输出排程器具体实施方式
以下引用 一实施例说明本发明的概念。本实施例的网络封包传送方法是 在目前可上传时间的剩余时间不足时,将待传送封包切割成两个封包,称为 先传封包与后传封包,然后用剩余时间传送先传封包,后传封包则等待下一 次可上传时间。不过封包的切割并非盲目进行,而是有条件判断,请参照图2。图2为本实施例的封包切割判断示意图,在本实施例中必须满足三个条 件才会切割目前待传送的封包210。第一,传送封包210所需的时间必须大 于现在可上传时间的剩余时间220,否则无切割的必要。第二,剩余时间220 必须足够传送封包210所属的通讯协议所规定的最短封包230。本实施例采用国际标准组织(ISO: International Organization for Standardization) 的开放系统接口 (0SI: Open System Interface)结构,封包210符合OSI第 二层(L2)的以太网络(Ethernet)通讯协"^义以及OSI第三层(L3)的因特网通讯 协议(IP: Internet Protocol),因此最短封包230的长度为以太网络最小封 包的64字节(byte)加上因特网通讯协议的标头(header)长度。第三,待传送 封包210的长度必须大于设定值240。设定值240可由系统自动计算或由使 用者设定,可以是固定值,也可以根据封包210所属的通讯协议而决定。举 例而言,有些通讯协议传递的封包都很小,为了效率起见,可通过设定值240 使这些通讯协议的封包不被切割。图3为本实施例的网络封包传送方法流程图。首先,在步骤310等待局 端分配的可上传时间。可上传时间到达后,在步骤320检查是否有封包需要 传送,如果没有就回到步骤310。如果有封包要传送,流程会进入步骤330, 检查现在可上传时间的剩余时间是否足够传送此封包。若剩余时间足够,就 进入步骤340,直接传送封包,不需要切割,然后回步骤320,检查是否还有 封包要传送。若剩余时间不足,流程进入步骤350。接下来,在步骤350检查剩余时间是否足够传送封包所属通讯协议所规 定的最短封包,例如前述的最短封包230。如果时间不足,流程回到步骤310, 等待下一次可上传时间;如果时间足够,流程进入步骤360。在步骤360,检 查待传送封包是否为预设可切割的封包,例如检查封包长度是否大于前述的 设定值240。如果不是预设可切割的封包,流程回到步骤310,等待下一次可 上传时间;如果是,流程就进入步骤370的切割程序,将待传送封包切割为 先传封包与后传封包。然后进入步骤380,使用剩余时间传送先传封包,后 传封包则等待下次可上传时间。步骤360的检查判断主要是因应使用者需求,在其它实施例中,若使用 者无此种需求,可省略步骤360。图4A为本实施例的封包切割示意图,其中410为切割前的待传送封包, 420与430分别为切割后的先传封包与后传封包。由于以太网络的封包不能 切割,本实施例切割第三层的IP封包。如图4A所示,无论切割前或切割后, 每个封包都包括符合以太网络通讯协议的第二层标头部分(411, 421, 431)、符 合因特网通讯协议的第三层标头部分(412, 422, 432)、酬载(payload)部分 (413, 423, 433)、以及符合以太网络通讯协议的结尾部分(414, 424, 434)。本实施例的结尾部分(414, 424, 434)为以太网络通讯协议的封包4全查序列(FCS: Frame Check Sequence)。原4寺传封包410的酬载部分413 :帔切割为先传封包420的酬载部分423 以及后传封包430的酬载部分433,例如酬载部分423及433可分别为原酬 栽部分413的前半段和后半段。标头421及431是根据原标头411以及酬载 413的切割方式而产生,标头422及432是根据原标头412以及酬载413的 切割方式而产生。在本实施例中,以太网路标头421及431的封包形态/长度 (Type/Length)字段必须修改,其它字段和原标头411相同。因特网标头422 及432的总长度(Total Length)、旗标(Flag)、切割位移(Fragmentation Offset)、和标头才企查码(Header Checksum)字,殳必须々务改,其它字,殳和原标 头412相同。至于封包检查序列424及434是分别根据切割后的先传封包420 与后传封包430进行计算而产生。为了充分利用上传频宽,最理想的切割方式是使传送先传封包所需的时 间正好等于现在可上传时间的剩余时间,如图4B所示,其中先传封包为P5-l, 而后传封包为P5-2。将剩余时间能传送的数据长度扣除所有标头与结尾的长 度之后,就能决定先传封包可容纳多少酬载,至于剩余的酬载就放入后传封 包。以图4A的封包410为例,假设封包410的四个组成部分411-414的长度 分别为U、 LH3、 Lp、以及Lrcs,而剩余时间所能传送的数据长度为LRT,则先 传封包420的酬载长度为LP1 = LRT-LH2-LH3-Lrcs,后传封包430的酬载长度为Lp2 = L/p-"i。后传封包430必须符合所属通讯协议所规定的最小可传送长度,例如以 太网络通讯协议规定封包不可小于64字节,若后传封包430小于64字节, 必须以垫补数据(padding)的方式加长至64字节的最小可传送长度。图5为本实施例节省上传频宽的示意图,其中固定长度是指封包当中除 了酬载以外的部分,在本实施例中就是第二层标头、第三层标头、以及结尾 部分的长度总和。如图5所示,若不切割待传送封包,整个封包都要等到下 一次可上传时间才能传送,现在可上传时间的剩余时间就不会传送数据而完 全浪费。若将待传送封包切割成先传封包与后传封包,则剩余时间可传送先 传封包,在下一次可上传时间只需传送后传封包。传送原封包与后传封包所 需的时间差501就是本实施例省下的频宽。图6为本实施例节省上传频宽的另一张示意图,其中后传封包因为长度不足以太网络通讯协议的下限,因此以垫#卜数据的方式加长至最小可传送长度。如图6所示,传送原封包与后传封包所需的时间差601就是本实施例省下的频宽。本发明除了以上的网络封包传送方法,也包括对应的网络封包传送装置。图7为依照本发明一实施例的网络封包传送装置700的结构图。网络封包传 送装置700包括暂存模块701、切割控制器702、以及封包传送切割器703, 其中暂存模块701又包括封包进入排程器704、封包暂存器705、以及封包输 出排程器706。封包暂存器705内建多个队列(queue),用来暂存封包。图12绘示三个 队列以及十个封包(PI-PIO),这些数量只是示范目的,并非限制本发明。由 于网络封包传送装置700在任何时刻都要接收来自局域网络(LAN)的封包,但限制,所以需要封包暂存器705来暂存封包。封包进入排程器704耦接于封包暂存器705,自局域网络接收网络封包, 依照进入排程算法将网络封包存入封包暂存器705的队列其中之一。封包输 出排程器706则耦接于封包暂存器705与暂存模块701的输出端之间,在可 上传时间依照输出排程算法自封包暂存器705取出待传送的网络封包,并将 其输出至封包传送切割器703。上述的进入排程算法以及输出排程算法都属 于传统技术,不在此赘述。切割控制器702耦接于封包输出排程器706,输出控制信号以控制封包 传送切割器703。切割控制器702负责相当于图3的步骤330、 350以及360 的决策流程,通过控制信号的状态控制封包传送切割器703是否传送或切割 封包。若可上传时间的剩余时间足够传送目前待传送的网络封包,也就是封 包输出排程器706所输出的封包,则控制信号为传送状态。若剩余时间不足 而且一个预设条件不成立,则控制信号为等待状态。另一方面,若剩余时间 不足而且上述的预设条件成立,则控制信号为切割状态。这个预设条件如图 3的步骤350与360所示,也就是剩余时间必须足够传送待传送封包所属通 讯协议所规定的最短封包,而且待传送封包必须为预设可切割的封包。这个 预设条件的细节和前面的方法实施例相同,不在此赘述。封包传送切割器703耦接于封包输出排程器706与切割控制器702,接 收待传送的网络封包以及控制信号。若控制信号为传送状态,封包传送切割器703会直接传送网络封包至被动式以太光纤网络。若控制信号为等待状态, 封包传送切割器703会等待下次可上传时间再传送封包。若控制信号为切割 状态,封包传送切割器703会将网络封包切割为先传封包与后传封包,使用 剩余时间传送先传封包至被动式以太光纤网络,后传封包则等待下次可上传 时间。网络封包传送装置700其实就是执行前面实施例的网络封包传送方法, 所以相关的技术细节已见于前面的实施例,不在此赘述。本发明并不局限于被动式以太光纤网络以及ISO OSI结构,任何网络系 统,只要有分配上传时间的机制,而且封包可切割,均可应用本发明。综上所述,本发明不需要任何双方协调机制(Handshaking),不需要自行 排程,不改变原有的封包传送次序,不需要复杂运算,仅使用简单程序,即 可达到高频宽使用率。使用上述封包传送方法与装置,客户端只需处理现有 分配到的可上传时间,和动态频宽分配(DBA)机制完全无关,因此即使出现较 优先的封包需要立即传送,上述封包传送方法与装置依然适用,不会造成频 宽浪费。虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何 本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润 饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。
权利要求
1. 一种网络封包传送方法,包括检查现在可上传时间的剩余时间是否足够传送网络封包;若该剩余时间足够,则直接传送该网络封包;若该剩余时间不足而且预设条件不成立,则等待下次可上传时间;若该剩余时间不足而且该预设条件成立,则将该网络封包切割为先传封包与后传封包;以及使用该剩余时间传送该先传封包,该后传封包则等待该下次可上传时间。
2. 根据权利要求1所述的网络封包传送方法,其中该预设条件为该剩余 时间必须足够传送该网络封包所属的通讯协议所规定的最短封包。
3. 根据权利要求1所述的网络封包传送方法,其中该预设条件为该网络 封包的长度必须大于设定值。
4. 根据权利要求3所述的网络封包传送方法,其中该设定值为根据该网 络封包所属的通讯协议而决定。
5. 根据权利要求1所述的网络封包传送方法,其中该预设条件为该剩余 时间必须足够传送该网络封包所属的通讯协议所规定的最短封包,而且该网 络封包的长度必须大于设定值。
6. 根据权利要求1所述的网络封包传送方法,其中传送该先传封包所需 的时间等于该剩余时间。
7. 根据权利要求1所述的网络封包传送方法,还包括若该后传封包的长度小于该网络封包所属的通讯协议所规定的最小可传 送长度,则将该后传封包加长至该最小可传送长度。
8. 根据权利要求1所述的网络封包传送方法,其中该网络封包包括第一 标头部分、第二标头部分、酬载部分、以及结尾部分,该先传封包包括第一 先传标头部分、第二先传标头部分、先传酬载部分、以及先传结尾部分,该 后传封包包括第一后传标头部分、第二后传标头部分、后传酬载部分、以及 后传结尾部分,该先传酬载部分与该后传酬载部分的组合等于该酬载部分。
9. 根据权利要求8所述的网络封包传送方法,其中该第一先传标头部分 与该第一后传标头部分为根据该第一标头部分而产生,该第二先传标头部分 与该第二后传标头部分为根据该第二标头部分而产生。
10. 根据权利要求8所述的网络封包传送方法,其中该第一标头部分、 该结尾部分、该第一先传标头部分、该先传结尾部分、该第一后传标头部分、 以及该后传结尾部分皆符合第一通讯协议,该第二标头部分、该第二先传标 头部分、以及该第二后传标头部分皆符合第二通讯协议。
11. 根据权利要求10所述的网络封包传送方法,其中该第一通讯协议为 以太网络通讯协议,该第二通讯协议为因特网通讯协议。
12. —种网络封包传送装置,包括暂存模块,自局域网络接收网络封包,暂存该网络封包,在可上传时间 输出该网络封包;切割控制器,耦接于该暂存模块,输出控制信号,若该可上传时间的剩 余时间足够传送该网络封包,则该控制信号为传送状态,若该剩余时间不足 而且预设条件不成立,则该控制信号为等待状态,若该剩余时间不足而且该 预设条件成立,则该控制信号为切割状态;以及封包传送切割器,耦接于该暂存模块与该切割控制器,接收该网络封包 与该控制信号,若该控制信号为该传送状态,则直接传送该网络封包至被动 式以太光纤网络,若该控制信号为该等待状态,则等待下次可上传时间,若 该控制信号为该切割状态,则将该网络封包切割为先传封包与后传封包,使该下次可上传时间。
13. 根据权利要求12所述的网络封包传送装置,其中该暂存模块包括 封包暂存器,内建多个队列;封包进入排程器,耦接于该封包暂存器,自该局域网络接收该网络封包, 依照进入排程算法将该网络封包存入该些队列其中之一;以及封包输出排程器,耦接于该封包暂存器与该暂存模块的输出端之间,在 该可上传时间依照输出排程算法自该封包暂存器取出该网络封包,并输出该 网络封包。
14. 根据权利要求12所述的网络封包传送装置,其中该预设条件为该剩 余时间必须足够传送该网络封包所属的通讯协议所规定的最短封包。
15. 根据权利要求12所述的网络封包传送装置,其中该预设条件为该网 络封包的长度必须大于设定值。
16. 根据权利要求15所述的网络封包传送装置,其中该设定值为根据该网络封包所属的通讯协-汉而决定。
17. 根据权利要求12所述的网络封包传送装置,其中该预设条件为该剩 余时间必须足够传送该网络封包所属的通讯协议所规定的最短封包,而且该 网络封包的长度必须大于设定值。
18. 根据权利要求12所述的网络封包传送装置,其中该封包传送切割器 传送该先传封包所需的时间等于该剩余时间。
19. 根据权利要求12所述的网络封包传送装置,其中若该后传封包的长 度小于该网络封包所属的通讯协议所规定的最小可传送长度,则该封包传送 切割器将该后传封包加长至该最小可传送长度。
全文摘要
一种网络封包传送方法与装置,其主要概念为先检查现在可上传时间的剩余时间是否足够传送网络封包。若剩余时间足够,则直接传送此网络封包;否则将此网络封包切割为先传封包与后传封包,然后使用剩余时间传送先传封包,后传封包则等待下次可上传时间。
文档编号H04Q11/00GK101232437SQ200710003740
公开日2008年7月30日 申请日期2007年1月24日 优先权日2007年1月24日
发明者吴政勋, 欧孟鑫, 蔡雅雅 申请人:财团法人工业技术研究院

最新回复(0)