CN112565096B - 路由器及路由方法 - Google Patents

路由器及路由方法 Download PDF

Info

Publication number
CN112565096B
CN112565096B CN201911070344.9A CN201911070344A CN112565096B CN 112565096 B CN112565096 B CN 112565096B CN 201911070344 A CN201911070344 A CN 201911070344A CN 112565096 B CN112565096 B CN 112565096B
Authority
CN
China
Prior art keywords
register
packets
packet
input interface
packet input
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.)
Active
Application number
CN201911070344.9A
Other languages
English (en)
Other versions
CN112565096A (zh
Inventor
何宗仁
林俊昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Publication of CN112565096A publication Critical patent/CN112565096A/zh
Application granted granted Critical
Publication of CN112565096B publication Critical patent/CN112565096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal

Abstract

本申请公开一种路由器,分别通过一第一封包输出接口和一第二封包输出接口耦接至一第一装置和一第二装置,该路由器包括一第一封包输入接口、一第二封包输入接口、一第一暂存器、一第二暂存器、一控制电路以及一交换器模块,该交换器模块包括一控制端口、一第一封包输出接口以及一第二封包输出接口。本申请还公开一种路由方法,上述的路由器和路由方法能够减少闲置时间,提升服务质量。

Description

路由器及路由方法
技术领域
本申请内容涉及路由器及路由方法,特别涉及一种利用暂存器来进行流量控制的路由器及路由方法。
背景技术
路由器的应用包含通过无线网络使区域网络连接上其他无线网络装置,随着无线网络的速度愈来愈快,从其他无线网络装置往区域网络的下行封包也越来越容易遇到堵塞的情况。一旦发生堵塞,与路由器连接的所有网络装置的下行封包可能都会连带堵塞,导致整个路由器的效能降低。
因此,如何改善流量控制以提升路由器的服务质量,已成为本领域重要的课题之一。
发明内容
本申请内容的某些实施方式提供一种路由器,耦接至一第一装置和一第二装置,该路由器包括:一第一封包输入接口;一第二封包输入接口;一第一暂存器,用来暂存来自该第一封包输入接口的多个封包;一第二暂存器,用来暂存来自该第二封包输入接口的多个封包;一控制电路,用来选择性地读取该第一暂存器或该第二暂存器以产生对应该第一暂存器或该第二暂存器的多个封包;以及一交换器模块,该交换器模块包括:一第一封包输出接口,耦接至该第一装置;一第二封包输出接口,耦接至该第二装置;以及一控制端口,用来接收该控制电路产生的所述多个封包,使该交换器模块产生对应该第一暂存器或该第二暂存器的多个输出封包至该第一封包输出接口或该第二封包输出接口;其中,当该交换器模块依据该控制电路产生的所述多个封包产生对应该第一暂存器的所述多个输出封包至该第一封包输出接口,且该控制端口收到一流量控制信号以暂停来自该第一封包输入接口的传输时,该控制端口产生一暂存器暂停信号至该控制电路,以指示该控制电路暂停读取该第一暂存器。
本申请内容的某些实施方式提供一种路由方法,用来将一第一封包输入接口或一第二封包输入接口通过一第一封包输出接口和一第二封包输出接口耦接至一第一装置和一第二装置,该路由方法包括:暂存来自该第一封包输入接口的多个封包于一第一暂存器;暂存来自该第二封包输入接口的多个封包于一第二暂存器;选择性地读取该第一暂存器或该第二暂存器以产生对应该第一暂存器或该第二暂存器的多个封包;接收所述多个封包,并产生对应该第一暂存器或该第二暂存器的多个输出封包至该第一封包输出接口或该第二封包输出接口;以及当依据所述多个封包产生对应该第一暂存器的所述多个输出封包至该第一封包输出接口,且收到一流量控制信号以暂停来自该第一封包输入接口的传输时,产生一暂存器暂停信号以暂停读取该第一暂存器。
本申请的路由器和路由方法能够减少闲置时间,提升服务质量。
附图说明
在阅读了下文实施方式以及附随附图时,能够最佳地理解本公开的多种实施方式。应注意到,根据本领域的标准作业习惯,图中的各种特征并未依比例绘制。事实上,为了能够清楚地进行描述,可能会刻意地放大或缩小某些特征的尺寸。
图1为本申请的路由器的第一实施例的示意图。
图2~图4为依据图1的路由器的路由方法的实施例的示意图。
图5为本申请的路由器的第二实施例的示意图。
符号说明
100、200 路由器
104 总线
106 存储器
110 控制电路
112 交换器模块
114 控制端口
102_1~102_3 封包输入接口
101_1、101_2、117_1~117_4 装置
116_1~116_4 封包输出接口
108_1~108_3、208_1~208_5 暂存器
D1、D2、D3、D1_1、D1_2、
D2_1、D2_2 多个封包
RID 暂存器信息
D1'、D2'、D3'、D1_1'、D1_2'、
D2_1'、D2_2' 多个输出封包
FC 流量控制信号
PS 暂存器暂停信号
具体实施方式
图1为本申请的路由器的第一实施例的示意图。图1的路由器100包括多个封包输入接口102_1~102_3与多个封包输出接口116_1~116_3。在本实施例中,封包输入接口102_1包括处理器,用来指定多个封包D1经过总线104往封包输出接口116_1传送。装置101_1以及装置101_2分别利用无线网络耦接至封包输入接口102_2和封包输入接口102_3,即封包输入接口102_2和封包输入接口102_3为无线网络接口,例如包含无线网络接收器;装置117_1、装置117_2以及装置117_3分别利用有线网络耦接至封包输出接口116_1、封包输出接口116_2和封包输出接口116_3,即封包输出接口116_1、封包输出接口116_2和封包输出接口116_3为有线网络接口,例如包含有线网络接收器。
具体来说,路由器100的封包输入接口102_2将源自装置101_1的多个封包D2经过总线104往封包输出接口116_2传送,或封包输入接口102_2可将多个封包D2暂存在存储器106,之后再经过总线104往封包输出接口116_2传送。路由器100的封包输入接口102_3将源自装置101_2的多个封包经过总线104往封包输出接口116_3传送,或封包输入接口102_3可将多个封包D2暂存在存储器106,之后再经过总线104往封包输出接口116_3传送。
应注意的是,本申请并不对封包输入接口102_1~102_3与封包输出接口116_1~116_3的个数或接口类型多加限制,例如封包输入接口102_1~102_3可以任意以处理器、无线网络接口、有线网络接口或其他输入/输出接口置换;封包输出接口116_1~116_3可以任意以无线网络接口、有线网络接口或其他输入/输出接口置换。
多个封包D1、D2和D3经过总线104后分别暂存在暂存器108_1、108_2和108_3中,在本实施例中,暂存器108_1、108_2和108_3为先进先出存储器。控制电路110会选择性地读取暂存器108_1、108_2或108_3,并将一暂存器信息RID连同从暂存器108_1、108_2或108_3读取出的多个封包D1、D2或D3传送到控制端口114,暂存器信息RID用来指示多个封包D1、D2或D3是来自暂存器108_1、108_2或108_3中的哪一个。多个封包D1、D2或D3会进入交换器模块112的控制端口114中,交换器模块112会依据多个封包D1、D2或D3来产生对应暂存器108_1、108_2或108_3的多个输出封包D1'、D2'或D3',并依据多个封包D1、D2或D3的内容来决定要发送至封包输出接口116_1~116_3中的哪一个。
图2~图4为依据图1的路由器的路由方法的实施例的示意图。在图2中,多个封包D1、D2和D3经过总线104后分别暂存在暂存器108_1、108_2和108_3中,在本实施例中,控制电路110选择读取暂存器108_1,并产生对应暂存器108_1的暂存器信息RID。交换器模块112依据多个封包D1产生对应暂存器108_1的多个输出封包D1'至封包输出接口116_1并传送到装置117_1。当交换器模块112或装置117_1想要暂停接收多个输出封包D1'时,交换器模块112或装置117_1会反馈一流量控制信号FC至控制端口114以暂停控制端口114往封包输出接口116_1的传输。接着,如图3所示,控制端口114收到流量控制信号FC后,会依据暂存器信息RID产生一暂存器暂停信号PS至控制电路110,以指示控制电路110暂停读取暂存器108_1。
控制电路110收到暂存器暂停信号PS后,便会知道封包输出接口116_1需要暂停接受来自暂存器108_1,控制电路110可依据一预设优先规则来决定接下来的动作。例如,控制电路110可以决定选择读取暂存器108_1以外优先度最高的暂存器;或是控制电路110可以随机地选择读取暂存器108_1以外的任一暂存器;或是控制电路110可以决定无论如何都要等待暂存器108_1中的多个封包D1传送完毕之后,才会转而读取暂存器108_1以外的暂存器。图4为控制电路110决定读取暂存器108_2的示意图。
由图2~图4的路由方法可知,由于控制电路110和交换器模块112之间仅有一个通道,但交换器模块112却有多个封包输出接口116_1~116_3,因此路由器100在收到流量控制信号FC后,虽然停止传送输出封包D1'给封包输出接口116_1,但可以通过控制电路110对暂存器108_1~108_3的个别流量控制,而实质地把控制电路110和交换器模块112之间的唯一通道让给其他的封包输出接口116_2或116_3,减少闲置时间,因此可提升路由器100的服务质量。
在某些实施例中,可以对图1的路由器100的暂存器108_1~108_3的配置方式进行变化。图5为本申请的路由器的第二实施例的示意图。图5的路由器200和路由器100的差异在于,路由器200的暂存器208_1~208_5的配置方式和路由器100的暂存器108_1~108_3的配置方式不同,且路由器200示例性地增加了一个封包输出接口116_4以配合暂存器208_1~208_5。
暂存器208_1用来暂存来自封包输入接口102_1中具有一第一类型的多个封包D1_1;暂存器208_2用来暂存来自封包输入接口102_1中具有一第二类型的多个封包D1_2和来自封包输入接口102_2中具有该第二类型的多个封包D2_1;暂存器208_3用来暂存来自封包输入接口102_2中具有一第三类型的多个封包D2_2;暂存器208_4和暂存器208_5皆可用来暂存来自封包输入接口102_3的多个封包D3。其中该第一类型、该第二类型和该第三类型彼此不相同。
具体来说,暂存器208_1~208_3是依据封包种类来暂存封包,借此可依据该第一类型、该第二类型和该第三类型的封包的不同特性来设定该预设优先规则,以进一步地提升服务质量。而暂存器208_4~208_5则是共同用来暂存封包输入接口102_3的封包,也就是一个封包输入接口可以搭配一个以上的暂存器。
暂存器208_1~208_5对应的封包输出接口可以部分/全部不同,举例来说,在本实施例中,暂存器208_1中的多个封包D1_1对应输出封包D1_1'并传送至封包输出接口116_1;暂存器208_2中的多个封包D1_2和D2_1对应输出封包D1_2'和D2_1'并传送至封包输出接口116_2;暂存器208_3中的多个封包D2_2对应输出封包D2_2'并传送至封包输出接口116_3;暂存器208_4和暂存器208_5中的多个封包D3皆对应输出封包D3'并传送至封包输出接口116_4。
路由器200的其他部分和路由器100大致相同,也就是路由器200的路由方法除了暂存器208_1~208_5和对应的封包输出接口116_1~116_4的变化以外,其余部分和路由器100的路由方法大致相同。
本申请的路由器100/200可针对暂存器108_1~108_3/208_1~208_5个别进行流量控制,而非如现有的做法仅能在封包输出接口堵塞时暂停所有暂存器的读取。
本申请可利用任何适当的形式来实现,包含硬件、软件、固件或是以上的任意组合。至少部分本申请可选择性地被实现为运行在一个或多个数据处理器及/或数字信号处理器或可配置的模块元件(例如FPGA)上的电脑软件。
上文的叙述简要地提出了本申请某些实施例的特征,而使得本申请所属技术领域技术人员能够更全面地理解本申请内容的多种实施方式。本申请所属技术领域技术人员当可明了,其可轻易地利用本申请内容作为基础,来设计或变动其他工艺与结构,以实现与此处该实施方式相同的目的和/或达到相同的优点。本申请所属技术领域技术人员应当明白,这些均等的实施方式仍属于本申请内容的构思与范围,且其可进行各种变更、替代与变动,而不会悖离本申请内容的构思与范围。

Claims (10)

1.一种路由器,耦接至一第一装置和一第二装置,该路由器包括:
一第一封包输入接口;
一第二封包输入接口;
一第一暂存器,用来暂存来自该第一封包输入接口的多个封包;
一第二暂存器,用来暂存来自该第二封包输入接口的多个封包;
一控制电路,用来选择性地读取该第一暂存器或该第二暂存器以产生对应该第一暂存器或该第二暂存器的多个封包;以及
一交换器模块,该交换器模块包括:
一第一封包输出接口,耦接至该第一装置;
一第二封包输出接口,耦接至该第二装置;及
一控制端口,用来通过一通道接收该控制电路产生的所述多个封包,使该交换器模块产生对应该第一暂存器或该第二暂存器的多个输出封包至该第一封包输出接口或该第二封包输出接口;
其中,当该交换器模块依据该控制电路产生的所述多个封包产生对应该第一暂存器的所述多个输出封包至该第一封包输出接口,且该控制端口收到一流量控制信号以暂停来自该第一封包输入接口的传输时,该控制端口产生一暂存器暂停信号至该控制电路,以指示该控制电路暂停读取该第一暂存器。
2.如权利要求1所述的路由器,其中该控制电路将一暂存器信息连同从该第一暂存器或该第二暂存器读取出的所述多个封包传送到该控制端口,其中该暂存器信息用来指示从该第一暂存器或该第二暂存器读取出的所述多个封包是来自该第一暂存器或该第二暂存器中的哪一个。
3.如权利要求2所述的路由器,其中该交换器模块依据所述多个封包的内容来决定将该输出封包转发至该第一封包输出接口或该第二封包输出接口。
4.如权利要求1所述的路由器,其中,该流量控制信号是由该交换器模块或该第一装置反馈至该控制端口以暂停来自该第一封包输入接口的传输。
5.如权利要求1所述的路由器,其中当该控制电路依据该暂存器暂停信号而暂停读取该第一暂存器时,该控制电路改为读取该第二暂存器。
6.如权利要求1所述的路由器,还包括:
一第三封包输入接口;以及
一第三暂存器,用来暂存来自该第三封包输入接口的多个封包;
其中该控制电路进一步用来选择性地读取该第一暂存器、该第二暂存器或该第三暂存器以产生对应该第一暂存器、该第二暂存器或该第三暂存器的所述多个封包,且当该控制电路依据该暂存器暂停信号而暂停读取该第一暂存器时,该控制电路依据一预设优先规则来决定读取该第二暂存器或该第三暂存器。
7.如权利要求1所述的路由器,还包括:
一第四暂存器,用来暂存来自该第一封包输入接口的所述多个封包;
其中该第一暂存器中暂存的来自该第一封包输入接口的所述多个封包具有第一类型,且该第四暂存器中暂存的来自该第一封包输入接口的所述多个封包具有第二类型,该第二类型不同于该第一类型。
8.如权利要求7所述的路由器,其中该第四暂存器还用来暂存来自该第二封包输入接口的所述多个封包,其中该第二暂存器中暂存的来自该第二封包输入接口的所述多个封包具有第三类型,且该第四暂存器中暂存的来自该第二封包输入接口的所述多个封包具有该第二类型,该第三类型不同于该第一类型。
9.如权利要求1所述的路由器,其中该第一封包输入接口或该第二封包输入接口为无线网络接口或有线网络接口。
10.一种路由方法,用来将一第一封包输入接口或一第二封包输入接口通过一第一封包输出接口和一第二封包输出接口耦接至一第一装置和一第二装置,该路由方法包括:
暂存来自该第一封包输入接口的多个封包于一第一暂存器;
暂存来自该第二封包输入接口的多个封包于一第二暂存器;
选择性地读取该第一暂存器或该第二暂存器以产生对应该第一暂存器或该第二暂存器的多个封包;
通过一通道接收所述多个封包,并产生对应该第一暂存器或该第二暂存器的多个输出封包至该第一封包输出接口或该第二封包输出接口;以及
当依据所述多个封包产生对应该第一暂存器的所述多个输出封包至该第一封包输出接口,且收到一流量控制信号以暂停来自该第一封包输入接口的传输时,产生一暂存器暂停信号以暂停读取该第一暂存器。
CN201911070344.9A 2019-09-26 2019-11-05 路由器及路由方法 Active CN112565096B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2019109199206 2019-09-26
CN201910919920 2019-09-26

Publications (2)

Publication Number Publication Date
CN112565096A CN112565096A (zh) 2021-03-26
CN112565096B true CN112565096B (zh) 2023-01-03

Family

ID=75030272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911070344.9A Active CN112565096B (zh) 2019-09-26 2019-11-05 路由器及路由方法

Country Status (1)

Country Link
CN (1) CN112565096B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729280A (zh) * 2008-10-29 2010-06-09 晨星软件研发(深圳)有限公司 数据传输方法以及能自动选择传输接口的电路装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7212534B2 (en) * 2001-07-23 2007-05-01 Broadcom Corporation Flow based congestion control
WO2016086385A1 (zh) * 2014-12-04 2016-06-09 华为技术有限公司 一种拥塞控制的方法、设备和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729280A (zh) * 2008-10-29 2010-06-09 晨星软件研发(深圳)有限公司 数据传输方法以及能自动选择传输接口的电路装置

Also Published As

Publication number Publication date
CN112565096A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
US7352765B2 (en) Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control
JP5335892B2 (ja) パケット交換オンチップ相互接続ネットワークの高速仮想チャネル
EP1489796B1 (en) Fabric access node integrated circuit configured to bound cell reorder buffer depth
CN109873771B (zh) 一种片上网络系统及其通信方法
CN112084027B (zh) 片上网络数据传输方法、装置、片上网络、设备及介质
US10079782B2 (en) Facilitating communication of data packets using credit-based flow control
US20210258252A1 (en) Route selection based on buffer congestion
CN112565096B (zh) 路由器及路由方法
TWI555358B (zh) Communication frame transfer device and communication system
CN112491715B (zh) 路由装置及片上网络的路由设备
Loomis Ring communication protocols
TWI730476B (zh) 路由器及路由方法
CN114679415A (zh) 一种满足AXI5-Lite协议标准的无阻塞banyan网络
CN110191069B (zh) 一种带有多条通道的环形片上网络
US20210092633A1 (en) Router and routing method
US20220263776A1 (en) Zero-Copy Buffering of Traffic of Long-Haul Links
CN109039940B (zh) 一种数据传输的负载均衡方法及装置
CN117155846B (zh) 互连网络的路由方法、装置、计算机设备及存储介质
CN110661731A (zh) 一种报文处理方法及其装置
CN112437021B (zh) 路由控制方法、装置、路由设备及存储介质
JP7456603B2 (ja) スイッチ装置
CN111464374B (zh) 网络延迟控制方法、设备及装置
KR100590171B1 (ko) Isdn 메시지 처리 장치 및 방법
JP2012244348A (ja) ネットワーク中継装置
KR950009428B1 (ko) 적응 소거노드 기능을 갖는 분산큐이중버스 통신시스템의 트래픽 부하 측정방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant