CN105933162B - 基于t型结构的低时延以太网转发器及方法 - Google Patents
基于t型结构的低时延以太网转发器及方法 Download PDFInfo
- Publication number
- CN105933162B CN105933162B CN201610472276.9A CN201610472276A CN105933162B CN 105933162 B CN105933162 B CN 105933162B CN 201610472276 A CN201610472276 A CN 201610472276A CN 105933162 B CN105933162 B CN 105933162B
- Authority
- CN
- China
- Prior art keywords
- frame
- port
- processing module
- sent
- data frame
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 165
- 230000006978 adaptation Effects 0.000 claims abstract description 13
- 239000000284 extract Substances 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 abstract description 5
- 239000000872 buffer Substances 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2801—Broadband local area networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- 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/74—Address processing for 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提出一种基于T型结构的低时延以太网转发器及方法,用于解决现有交换机存在的布线冗余问题和现有转发方法存在的时延较大且时延不确定问题,转发器包括呈T型分布的端口和处理单元,处理单元包括:左端口帧处理模块、右端口帧处理模块、用户端口帧处理模块、地址学习与查找模块、专用协议处理模块和用户端口适配模块;转发方法包括:链路状态判断,缓存数据帧,帧识别分类,重建链路,PAUSE帧分类,配置转发器,地址学习与查找,建立输出队列,组建PAUSE帧,输出至端口。本发明能够充分减少用户接入布线冗余,降低转发时延且保证转发时延确定,并在网络链路故障时及时检测并重建网络链路,可用于组建高速实时接入网络。
Description
技术领域
本发明属于通信技术领域,涉及一种网络转发装置及转发方法,具体涉及一种基于T型结构的低时延以太网转发装置及方法,可用于组建高速实时接入网络。
背景技术
以太网是局域网中常见的网络连接方式,用户在网络中一般先接入交换设备,如交换机或路由器,再由交换设备连接到其它网络。以太网交换机旨在满足多用户同时接入网络时数据交换的需求,传统以太网交换机通常为多端口交换机,多用户接入交换机时,采用以交换机为中心的星形组网方式,各用户都需要通过一根独立的线缆连接到交换机的用户接口,在一些要求布线简洁的场合,如飞机、高铁等环境中,星形组网所带来的布线冗余问题将是难以接受的。
传统以太网交换机通常采用存储转发模式,转发流程如下:
(1)输入处理,主要完成数据帧的接收、校验、数据格式的匹配的功能;
(2)流分类与分组处理,主要用于提取帧关键字段信息,并根据该信息对以太网数据帧进行分类,根据分类结果执行相应的处理;
(3)地址学习与地址查找,根据源MAC地址和源端口号进行学习,然后根据目的MAC地址进行地址查找,得出目的端口;
(4)入队,根据目的端口号和优先级等信息,为数据帧分配缓存地址,并将其存入相应的输出队列;
(5)出队,根据调度信息,查询出队帧所在的缓存地址,并将其移除输出队列;
(6)输出处理,主要完成输出端口处的数据帧缓存和数据帧格式匹配的功能;
其中输入缓存、入队和输出缓存等步骤中都会对数据帧进行完整缓存,导致数据帧的转发时延较大,并且由于数据帧的长度不固定,因此交换机引入的转发时延具有不确定性。
发明内容
本发明的目的在于克服传统以太网交换技术存在的缺陷,提出了一种基于T型结构的低时延以太网转发装置及方法,用于解决现有交换机存在的布线冗余、时延较大和时延不确定问题。
为了实现上述目的,本发明的技术思路为:与传统以太网交换机只采用存储转发方式相比,本发明采用两种转发模式:直通转发模式和存储转发模式,当输出端口无阻塞时,交换机采用直通转发模式,交换机接收到数据帧的以太网类型字段后即刻开始数据帧的查找转发,整个转发过程由于不需要对完整的数据帧进行缓存,保证了转发过程的低时延,并且由于缓存的部分数据帧的长度固定,保证转发时延的确定性;当输出端口发生阻塞时,交换机采用存储转发模式,交换机将数据帧缓存到输出端口后轮询输出。
为实现上述目的,本发明基于T型结构的低时延以太网转发器,包括端口和处理单元,其特征在于:
所述端口,采用T型分布结构,即分别为左端口、右端口和用户端口,左端口和右端口为网络端口,用于连接网络设备,用户端口用于用户终端接入;
所述处理单元,包括:
左端口帧处理模块,用于接收左端口处输入的数据帧、右端口帧处理模块和用户端口帧处理模块输出的数据帧,并提取左端口输入数据帧的源端口和源MAC地址信息送入地址学习与查找模块;
右端口帧处理模块,用于接收右端口处输入的数据帧、左端口帧处理模块和用户端口帧处理模块输出的数据帧,并提取右端口输入数据帧的源端口和源MAC地址信息送入地址学习与查找模块;
用户端口帧处理模块,用于接收用户端口适配模块处输入的数据帧、左端口帧处理模块和右端口帧处理模块输出的数据帧,并提取用户端口适配模块输入数据帧的源端口和源MAC地址信息送入地址学习与查找模块;
地址学习与查找模块,用于根据左端口帧处理模块、右端口帧处理模块和用户端口帧处理模块送入数据帧的源端口和源MAC地址信息建立地址表,并通过地址查找得到数据帧的目的端口;
专用协议处理模块,用于接收左端口帧处理模块和右端口帧处理模块处的专用协议帧,并根据专用协议帧实现对转发器的配置和管理;
用户端口适配模块,用于将用户端口处的用户输入数据转换为转发器所用数据帧送入用户端口帧处理模块,并实现以太网10/100/1000M自适应功能。
为实现上述目的,本发明基于T型结构的低时延以太网转发方法,包括;
1)数据接收步骤:
1.1)根据PHY芯片寄存器中的连接状态判断网络链路状况:若PHY芯片连接状态为ON,则链路正常,执行步骤1.2),若PHY芯片连接状态为OFF,则链路故障,执行步骤1.4);
1.2)对输入的异步数据帧进行跨时钟域处理,得到同步数据帧,缓存同步数据帧至以太网类型域字段后,执行步骤1.3);
1.3)从同步数据帧的缓存内容中提取其目的MAC地址、源MAC地址和类型域信息,判断该同步数据帧的类型:若同步数据帧为PAUSE帧,执行步骤1.5),若同步数据帧为专用协议帧,即自定义类型值的以太网帧,执行步骤1.6),若同步数据帧为普通数据帧,执行步骤1.7);
1.4)重建链路并产生网络链路故障信息告警帧:
1.4a)清空地址表,并通过地址学习重新建立地址表,实现网络链路重建;
1.4b)组建网络链路故障信息告警帧,并将该帧送入非故障端口,执行发送步骤2);
1.5)判断PAUSE帧的类型:如果PAUSE帧是停止帧,则停止端口的输出流量后,丢弃该PAUSE帧,如果PAUSE帧是唤醒帧,则开启端口处的输出流量后,丢弃该PAUSE帧;
1.6)根据专用协议帧的内容对转发器进行相应的配置与管理,并判断该专用协议帧是否需要转发,如果需要转发,则进入数据发送步骤2),否则丢弃;
1.7)根据普通数据帧的源MAC地址和源端口号进行地址学习,并根据普通数据帧的目的MAC地址查找目的端口,进入数据发送步骤2);
2)数据发送步骤:
2.1)在目的端口处建立三个队列,分别存放其它两个端口待发送的数据帧和待发送的PAUSE帧,并判断数据帧队列的存储状态:若数据帧队列存储达到警戒线,则执行步骤2.2),否则执行步骤2.3);
2.2)组建PAUSE停止帧,并将该PAUSE停止帧传递给达到警戒线的队列所对应的端口进行发送;
2.3)轮询输出2.1)中的三个队列,若有待发送的专用协议帧,优先输出专用协议帧。
本发明与现有技术相比,具有以下优点:
第一,本发明由于采用T型结构,用户首先接入用户端口再通过转发器级联实现多用户的网络接入,而传统交换机采用星型拓扑结构实现多用户的网络接入,因此本发明大大减少了用户接入的布线冗余问题。
第二,本发明由于输入处理没有对数据帧完整缓存,接收数据帧时只要提取到数据帧的类型域就可以进行查找转发,且无需入队、出队等步骤,当输出无阻塞时,便可以工作在直通模式下,大幅减小了转发时延,并且由于缓存的部分数据帧的长度固定,保证转发时延的确定性。
第三,本发明由于在网络链路发生故障时,地址查找与学习模块可通过清空地址表,并通过地址学习重新得到地址表,实现网络链路重建,增强了网络的可靠性。
附图说明
图1为本发明装置的整体结构框图;
图2为本发明装置处理单元的结构框图;
图3为本发明装置左端口帧处理模块的结构框图;
图4为本发明装置右端口帧处理模块的结构框图;
图5为本发明装置用户端口帧处理模块的结构框图;
图6为本发明转发方法的数据接收流程框图;
图7为本发明转发方法的数据发送流程框图。
具体实施方式
以下结合附图和实施例,对本发明作进一步详细说明。
参照图1,本发明装置包括三个端口和一个处理单元,三个端口分别为左端口、右端口和用户端口,该三个端口呈T型分布,其中左端口和右端口为网络端口,网络端口采用千兆以太网接口,用户端口可以是多种接口协议的端口,两个网络端口用于本发明装置的互连或与外部网络相连,用户端口用于连接用户。
参照图2,本发明装置的处理单元包括:左端口帧处理模块1,右端口帧处理模块2,用户端口帧处理模块3,地址学习与查找模块4,专用协议处理模块5,用户端口适配模块6。
所述左端口帧处理模块1,用于接收左端口数据帧并提取数据帧的目的MAC地址、源MAC地址和类型,将其中的目的MAC地址和源MAC地址发往地址学习与查找模块4,将专用协议帧发往专用协议处理模块5;接收右端口帧处理模块2和用户端口帧处理模块3的输出数据帧并输出至左端口。
所述右端口帧处理模块2,用于接收右端口数据帧并提取数据帧的目的MAC地址、源MAC地址和类型,将其中的目的MAC地址和源MAC地址发往地址学习与查找模块4,将专用协议帧发往专用协议处理模块5;接收左端口帧处理模块2和用户端口帧处理模块3的输出数据帧并输出至左端口。
所述用户端口帧处理模块3,用于接收用户端口数据帧并提取数据帧的目的MAC地址、源MAC地址和类型,将其中的目的MAC地址和源MAC地址发往地址学习与查找模块4,接收左端口帧处理模块2和右端口帧处理模块3的输出数据帧并输出至左端口。
所述地址学习与查找模块4,利用数据帧的源端口和源MAC地址信息建立地址表,利用数据帧的目的MAC地址进行地址查找得到数据帧的目的端口,根据网络链路故障后的网络链路重建指令清空转发器的地址表,并通过地址学习重新建立地址表,实现网络链路重建。
所述专用协议处理模块5,用于根据专用协议帧,即自定义类型值的以太网帧,实现对转发器的配置和管理,并用于接收和解析本端口的网络链路故障信息以及其它端口转发来的网络链路故障信息告警帧,产生网络链路重建指令,并将该网络链路重建指令发送给地址学习与查找模块4,并组建网络链路故障信息告警帧,等待非故障网络端口的帧处理模块轮询转发。
所述用户端口适配模块6,由于用户端口处的用户数据可能和转发器所用数据帧不同,需要将用户端口处的用户输入数据转换为转发器所用数据帧送入用户端口帧处理模块3,并实现以太网10/100/1000M自适应功能。
上述左端口帧处理模块1、右端口帧处理模块2和用户端口帧处理模块3相互连接,地址学习与查找模块4分别与左端口帧处理模块1、右端口帧处理模块2和用户端口帧处理模块3相连,专用协议处理模块5分别与左端口帧处理模块1和右端口帧处理模块相连,用户端口适配模块6与用户端口帧处理模块3相连。
参照图3,本发明的左端口帧处理模块1包括:输入处理子模块11、帧识别子模块12、流量控制子模块13和输出处理子模块14。
所述输入处理模块11,用于检测可能的网络链路故障,将故障信息发送给专用协议处理模块5;通过使用异步FIFO消除数据帧跨时钟域的亚稳态问题,接收并缓存数据帧至以太网类型域字段,并将缓存的数据帧部分字节发往帧识别模块12。
所述帧识别模块12,用于根据输入处理模块11缓存的部分数据帧提取数据帧的目的MAC地址、源MAC地址和帧类型,并判断所提取的帧类型:
如果是数据帧是普通帧,则向地址学习与查找模块4发送查表请求,获取目的端口,再对目的端口进行判断:若目的端口为右端口,则将普通帧发送给右端口的输出处理子模块24,若目的端口是用户端口,将普通帧发送给用户端口的输出处理子模块34;
如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块13;
如果是专用协议帧,则将该帧发送给专用协议处理模块5。
所述流量控制模块13,用于根据目的端口处的数据帧队列的存储状态实现流量控制,当数据帧队列到达警戒线时,组建PAUSE停止帧,当流控结束时,组建PAUSE唤醒帧,并将该PAUSE唤醒帧或PAUSE停止帧送入对应端口处的输出处理模块进行转发;并解析从帧识别模块11送来的PAUSE帧,提取流控信息,并将流控信息发送给输出处理模块14。
所述输出处理模块14,用于接收其他两个端口发来的数据帧和协议帧,并分别缓存在两个数据帧队列和PAUSE帧队列中,依次轮询两个数据帧队列和PAUSE帧队列进行发送,如果专用协议处理模块3有网络链路故障信息告警帧,则优先发送该网络链路故障信息告警帧;并用于接收流量控制模块13发来的流控信息,如果是流控停止信息,则发送完当前数据帧后,停止轮询数据帧队列,直到收到流控唤醒信息或流控结束时,重新开始轮询数据帧队列。
参照图4,本发明的右端口帧处理模块2包括:输入处理子模块21、帧识别子模块22、流量控制子模块23和输出处理子模块24。
所述输入处理模块21,用于检测可能的网络链路故障,将故障信息发送给专用协议处理模块5;通过使用异步FIFO消除数据帧跨时钟域的亚稳态问题,接收并缓存数据帧至以太网类型域字段,并将缓存的数据帧部分字节发往帧识别模块22。
所述帧识别模块22,用于根据输入处理模块21缓存的部分数据帧提取数据帧的目的MAC地址、源MAC地址和帧类型,并判断所提取的帧类型:
如果是数据帧是普通帧,则向地址学习与查找模块4发送查表请求,获取目的端口,再对目的端口进行判断:若目的端口为左端口,则将普通帧发送给右端口的输出处理子模块14,若目的端口是用户端口,将普通帧发送给用户端口的输出处理子模块34;
如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块23;
如果是专用协议帧,则将该帧发送给专用协议处理模块5。
所述流量控制模块23,用于根据目的端口处的数据帧队列的存储状态实现流量控制,当数据帧队列到达警戒线时,组建PAUSE停止帧,当流控结束时,组建PAUSE唤醒帧,并将该PAUSE唤醒帧或PAUSE停止帧送入对应端口处的输出处理模块进行转发;并解析从帧识别模块21送来的PAUSE帧,提取流控信息,并将流控信息发送给输出处理模块24。
所述输出处理模块14,用于接收其他两个端口发来的数据帧和协议帧,并分别缓存在两个数据帧队列和PAUSE帧队列中,依次轮询两个数据帧队列和PAUSE帧队列进行发送,如果专用协议处理模块3有网络链路故障信息告警帧,则优先发送该网络链路故障信息告警帧;并用于接收流量控制模块23发来的流控信息,如果是流控停止信息,则发送完当前数据帧后,停止轮询数据帧队列,直到收到流控唤醒信息或流控结束时,重新开始轮询数据帧队列。
参照图5,本发明的用户端口帧处理模块3包括:输入处理子模块31、帧识别子模块32、流量控制子模块33和输出处理子模块34。
所述输入处理模块31,通过使用异步FIFO消除数据帧跨时钟域的亚稳态问题,接收并缓存数据帧至以太网类型域字段,并将缓存的数据帧部分字节发往帧识别模块32。
所述帧识别模块32,用于根据输入处理模块31缓存的部分数据帧提取数据帧的目的MAC地址、源MAC地址和帧类型,并判断所提取的帧类型:
如果是数据帧是普通帧,则向地址学习与查找模块4发送查表请求,获取目的端口,再对目的端口进行判断:若目的端口为左端口,则将普通帧发送给右端口的输出处理子模块14,若目的端口是右端口,将普通帧发送给用户端口的输出处理子模块24;
如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块33;
所述流量控制模块33,用于根据目的端口处的数据帧队列的存储状态实现流量控制,当数据帧队列到达警戒线时,组建PAUSE停止帧,当流控结束时,组建PAUSE唤醒帧,并将该PAUSE唤醒帧或PAUSE停止帧送入对应端口处的输出处理模块进行转发;并解析从帧识别模块31送来的PAUSE帧,提取流控信息,并将流控信息发送给输出处理模块34。
所述输出处理模块14,用于接收其他两个端口发来的数据帧和协议帧,并分别缓存在两个数据帧队列和PAUSE帧队列中,依次轮询两个数据帧队列和PAUSE帧队列进行发送;并用于接收流量控制模块13发来的流控信息,如果是流控停止信息,则发送完当前数据帧后,停止轮询数据帧队列,直到收到流控唤醒信息或流控结束时,重新开始轮询数据帧队列。
本发明的转发方法包括数据接收流程和数据发送流程。
参照图6,本发明方法的数据接收流程如下:
步骤1,根据PHY芯片寄存器中的内容判断网络链路状况。
通过PHY芯片的MDio接口读其寄存器的内容,其中一个特定的寄存器表示PHY芯片连接状态,若连接状态为ON,则网络链路正常,执行步骤2,若连接状态为OFF,则网络链路故障,执行步骤4。
步骤2,对输入的数据帧进行跨时钟域处理,得到同步数据帧。
(2a)利用异步FIFO接收输入的异步数据帧,解决跨时钟域问题并得到同步数据帧;
(2b)缓存同步数据帧至以太网类型域字段,即此处的缓存结构深度只有16字节,之后执行步骤3。
步骤3,提取同步数据帧的特征信息。
(3a)由于步骤(2b)中缓存了部分同步数据帧,提取其中数据帧的目的MAC地址、源MAC地址和类型域,以太网的帧格式如表1所示;
表1以太网数据帧格式(B:byte,字节)
前导码 | 帧起始定界符 | 目的地址 | 源地址 | 类型域 | 数据载荷 | 帧校验码 | 帧间隔 |
7B | 1B | 6B | 6B | 2B | 46B-1500B | 4B | 12B |
(3b)根据类型域判断该数据帧的类型:当类型域为0x8808时,该数据帧为PAUSE帧,执行步骤5;当类型域为自定义的特殊值时,该数据帧为专用协议帧,执行步骤6;当类型为其他值时,该数据帧为普通数据帧,执行步骤7。
步骤4,重建链路。
(4a)由于旧地址表中存在发生故障的端口,无法正确实现地址查找,故清空旧地址表,通过地址学习建立新的地址表;
(4b)故障信息需要上报给其他转发器和服务器,故组建网络链路故障信息告警帧,并将该帧送入非故障端口,执行发送步骤。
步骤5,判断PAUSE帧的类型。
判断PAUSE帧类型:如果是PAUSE唤醒帧,则开启端口处的输出流量,并丢弃该PAUSE唤醒帧,如果是PAUSE停止帧,则停止输出模块发送数据帧并丢弃PAUSE停止帧,直到收到PAUSE唤醒帧或者流控超时时,停止流控并丢弃PAUSE唤醒帧。
其中,PAUSE的目的地址是特殊的组播地址:01-80-C2-00-00-01,类型域值为0x8808,MAC控制码为0x0001,PAUSE停止帧MAC控制参数不为0,PAUSE唤醒帧MAC控制参数为0,以太网PAUSE帧格式如表2所示。
表2以太网PAUSE帧格式(B:byte,字节)
步骤6,配置转发器。
根据专用协议帧的内容对转发器进行相应的配置与管理,并判断该专用协议帧是否需要转发,如果该专用协议帧需要对多个转发器进行配置管理,则该专用协议帧就需要转发,进入数据发送步骤;如果该专用协议帧只是在配置管理当前转发器,配置完成后丢弃该帧。
步骤7,地址学习与查找。
(7a)根据数据帧的源MAC地址与源端口进行地址学习,学习普通数据帧的源MAC地址和源端口号的映射关系,由该映射关系建立地址表;
(7b)根据数据帧的目的MAC地址查找目的端口,进入数据发送。
参照图7,本发明的数据发送流程如下:
步骤8,建立输出队列。
(8a)由于在两个端口的输出端口一致时,可能存在输出阻塞,故在目的端口处建立三个队列,分别存放其他两个端口待发送的数据帧和待发送的PAUSE帧;
(8b)判断(8a)中数据帧队列的存储状态,若数据帧队列存储达到警戒线,即代表此时需要进行流量控制,执行步骤9,否则执行步骤10。
步骤9,组建PAUSE帧。
组建PAUSE停止帧,并将该PAUSE停止帧传递给达到警戒线的队列所对应的端口进行发送,请求对端暂停数据发送,以此实现流量控制。
步骤10,输出至端口。
(10a)当目的端口无阻塞时,数据帧到达即可输出至端口,即为直通工作模式;
(10b)当目的端口有阻塞时,轮询(8a)中的三个队列,并输出至端口,若有待发送的专用协议帧,正在输出的数据帧完成输出后,优先选择专用协议帧进行输出。
以上仅为本发明的优选实例,不构成对本发明的任何限制,显然根据本发明的构思,本领域的技术人员均可做出不同的修改和置换,但这些均在本发明的保护之列。
Claims (9)
1.一种基于T型结构的低时延以太网转发器,包括端口和处理单元,其特征在于:
所述端口,采用T型分布结构,即分别为左端口、右端口和用户端口,左端口和右端口为网络端口,用于连接网络设备,用户端口用于用户终端接入;
所述处理单元,包括:左端口帧处理模块(1)、右端口帧处理模块(2)、用户端口帧处理模块(3)、地址学习与查找模块(4)、专用协议处理模块(5)和用户端口适配模块(6),其中:
左端口帧处理模块(1),用于接收左端口处输入的数据帧、右端口帧处理模块(2)和用户端口帧处理模块(3)输出的数据帧,并提取左端口输入数据帧的源端口和源MAC地址信息送入地址学习与查找模块(4),该左端口帧处理模块(1)包括:输入处理子模块(11)、帧识别子模块(12)、流量控制子模块(13)和输出处理子模块(14),其中:
输入处理子模块(11),用于接收并同步输入数据帧,缓存帧头信息,同时检测网络链路故障并将网络链路故障信息发送给专用协议处理模块(5);
帧识别子模块(12),用于根据输入处理子模块(11)缓存的帧头信息提取数据帧的目的MAC地址、源MAC地址和帧类型,并判断所提取的帧类型:
如果数据帧是普通帧,则向地址学习与查找模块(4)发送查表请求,获取普通帧的目的端口,再对目的端口进行判断:若目的端口为右端口,则将普通帧发送给右端口的输出处理子模块(24),若目的端口是用户端口,将普通帧发送给用户端口的输出处理子模块(34);
如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块(13);
如果数据帧是专用协议帧,则将专用协议帧发送给专用协议处理模块(5);
流量控制子模块(13),用于根据右端口或用户端口处的数据帧队列的存储状态实现流量控制,并解析接收到的PAUSE帧,提取流控信息给输出处理子模块(14);
输出处理子模块(14),用于接收右端口和用户端口发来的普通帧和PAUSE帧并存储至相应队列,依次轮询输出至左端口,并根据流量控制子模块(13)的流控信息判断流控信息类型:
如果是流控停止信息,则发送完当前数据帧后,停止轮询输出;
如果是流控唤醒信息,则重新开始轮询输出;
右端口帧处理模块(2),用于接收右端口处输入的数据帧、左端口帧处理模块(1)和用户端口帧处理模块(3)输出的数据帧,并提取右端口输入数据帧的源端口和源MAC地址信息送入地址学习与查找模块(4);
用户端口帧处理模块(3),用于接收用户端口适配模块(6)处输入的数据帧、左端口帧处理模块(1)和右端口帧处理模块(2)输出的数据帧,并提取用户端口适配模块(6)输入数据帧的源端口和源MAC地址信息送入地址学习与查找模块(4);
地址学习与查找模块(4),用于根据左端口帧处理模块(1)、右端口帧处理模块(2)和用户端口帧处理模块(3)送入数据帧的源端口和源MAC地址信息建立地址表,并通过地址查找得到数据帧的目的端口;
专用协议处理模块(5),用于接收左端口帧处理模块(1)和右端口帧处理模块(2)处的专用协议帧,并根据专用协议帧实现对转发器的配置和管理;
用户端口适配模块(6),用于将用户端口处的用户输入数据转换为转发器所用数据帧送入用户端口帧处理模块(3),并实现以太网10/100/1000M自适应功能。
2.根据权利要求1所述的基于T型结构的低时延以太网转发器,其特征在于,地址学习与查找模块(4)在网络链路发生故障时,通过清空地址表后重新进行地址学习得到新地址表,实现网络链路重建。
3.根据权利要求2所述的基于T型结构的低时延以太网转发器,其特征在于,专用协议处理模块(5)所接收的专用协议帧为自定义类型值的以太网帧。
4.根据权利要求3所述的基于T型结构的低时延以太网转发器,其特征在于,右端口帧处理模块(2)包括:
输入处理子模块(21),用于接收并同步输入数据帧,缓存帧头信息,同时检测网络链路故障并将网络链路故障信息发送给专用协议处理模块(5);
帧识别子模块(22),用于根据输入处理子模块(21)缓存的帧头信息提取数据帧的目的MAC地址、源MAC地址和帧类型,并判断所提取的帧类型:
如果数据帧是普通帧,则向地址学习与查找模块(4)发送查表请求,获取普通帧的目的端口,再对目的端口进行判断:若目的端口为左端口,则将普通帧发送给左端口的输出处理子模块(14),若目的端口是用户端口,将普通帧发送给用户端口的输出处理子模块(34);
如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块(23);
如果数据帧是专用协议帧,则将专用协议帧发送给专用协议处理模块(5);
流量控制子模块(23),用于根据左端口或用户端口处的数据帧队列的存储状态实现流量控制,并解析接收到的PAUSE帧,提取流控信息给输出处理子模块(24);
输出处理子模块(24),用于接收左端口和用户端口发来的普通帧和PAUSE帧并存储至相应队列,依次轮询输出至右端口,并根据流量控制子模块(23)的流控信息判断流控信息类型:
如果是流控停止信息,则发送完当前数据帧后,停止轮询输出;
如果是流控唤醒信息,则重新开始轮询输出。
5.根据权利要求4所述的基于T型结构的低时延以太网转发器,其特征在于,用户端口帧处理模块(3)包括:
输入处理子模块(31),用于接收并同步输入数据帧,缓存帧头信息;
帧识别子模块(32),用于根据输入处理子模块(31)缓存的帧头信息快速提取数据帧的目的MAC地址、源MAC地址和帧类型特征信息,并判断所提取的帧类型:
如果数据帧是普通帧,则向地址学习与查找模块(4)发送查表请求,获取普通帧的目的端口,再对目的端口进行判断:若目的端口为左端口,将普通帧发送给左端口的输出处理子模块(14),若目的端口是右端口,将普通帧发送给右端口的输出处理子模块(24);
如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块(33);
流量控制子模块(33),用于根据左端口或右端口处的数据帧队列的存储状态实现流量控制,并用于解析接收到的PAUSE帧,提取流控信息,并将流控信息发送给输出处理子模块(34);
输出处理子模块(34),用于接收左端口和右端口发来的数据帧和PAUSE帧并存储至相应队列,依次轮询输出至用户端口适配模块(6),并根据流量控制子模块(33)的流控信息判断流控信息类型:
如果是流控停止信息,则发送完当前数据帧后,停止轮询输出;
如果是流控唤醒信息,则重新开始轮询输出。
6.根据权利要求5所述的基于T型结构的低时延以太网转发器,其特征在于,左端口帧处理模块(1)中的输入处理子模块(11)、右端口帧处理模块(2)中的输入处理子模块(21)和用户端口帧处理模块(3)中的输入处理子模块(31)均包括一个异步FIFO,对输入数据帧进行跨时钟域处理,得到同步数据帧。
7.根据权利要求6所述的基于T型结构的低时延以太网转发器,其特征在于,所述左端口帧处理模块(1)中的输入处理子模块(11)和右端口帧处理模块(2)中的输入处理子模块(21)均通过读PHY芯片寄存器的方式检测网络链路故障。
8.根据权利要求7所述的基于T型结构的低时延以太网转发器,其特征在于,所述左端口帧处理模块(1)中的输出处理子模块(14)、右端口帧处理模块(2)中的输出处理子模块(24)和用户端口帧处理模块(3)中的输出处理子模块(34)均包含三个队列,当输出端口无阻塞时,按照直通转发方式发送数据帧,当输出端口有阻塞时,通过公平轮询该三个队列实现数据帧的转发。
9.一种基于T型结构的低时延以太网转发方法,包括;
1)数据接收步骤:
1.1)根据PHY芯片寄存器中的连接状态判断网络链路状况:若PHY芯片连接状态为ON,则链路正常,执行步骤1.2),若PHY芯片连接状态为OFF,则链路故障,执行步骤1.4);
1.2)对输入的异步数据帧进行跨时钟域处理,得到同步数据帧,缓存同步数据帧至以太网类型域字段后,执行步骤1.3);
1.3)从同步数据帧的缓存内容中提取其目的MAC地址、源MAC地址和类型域信息,判断该同步数据帧的类型:若同步数据帧为PAUSE帧,执行步骤1.5),若同步数据帧为专用协议帧,即自定义类型值的以太网帧,执行步骤1.6),若同步数据帧为普通数据帧,执行步骤1.7);
1.4)重建链路并产生网络链路故障信息告警帧:
1.4a)清空地址表,并通过地址学习重新建立地址表,实现网络链路重建;
1.4b)组建网络链路故障信息告警帧,并将该帧送入非故障端口,执行发送步骤2);
1.5)判断PAUSE帧的类型:如果PAUSE帧是停止帧,则停止端口的输出流量后,丢弃该PAUSE帧,如果PAUSE帧是唤醒帧,则开启端口处的输出流量后,丢弃该PAUSE帧;
1.6)根据专用协议帧的内容对转发器进行相应的配置与管理,并判断该专用协议帧是否需要转发,如果需要转发,则进入数据发送步骤2),否则丢弃;
1.7)根据普通数据帧的源MAC地址和源端口号进行地址学习,并根据普通数据帧的目的MAC地址查找目的端口,进入数据发送步骤2);
2)数据发送步骤:
2.1)在目的端口处建立三个队列,分别存放其它两个端口待发送的数据帧和待发送的PAUSE帧,并判断数据帧队列的存储状态:若数据帧队列存储达到警戒线,则执行步骤2.2),否则执行步骤2.3);
2.2)组建PAUSE停止帧,并将该PAUSE停止帧传递给达到警戒线的队列所对应的端口进行发送;
2.3)轮询输出2.1)中的三个队列,若有待发送的专用协议帧,优先输出专用协议帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610472276.9A CN105933162B (zh) | 2016-06-24 | 2016-06-24 | 基于t型结构的低时延以太网转发器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610472276.9A CN105933162B (zh) | 2016-06-24 | 2016-06-24 | 基于t型结构的低时延以太网转发器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105933162A CN105933162A (zh) | 2016-09-07 |
CN105933162B true CN105933162B (zh) | 2019-07-16 |
Family
ID=56829257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610472276.9A Active CN105933162B (zh) | 2016-06-24 | 2016-06-24 | 基于t型结构的低时延以太网转发器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105933162B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107248963B (zh) * | 2017-05-19 | 2020-05-22 | 闫晓峰 | 基于以太网的多通道交换机、通道仲裁方法和通讯方法 |
US20190165874A1 (en) * | 2017-11-24 | 2019-05-30 | Microelectronics Technology, Inc. | Network switch device and method of operating the same |
CN108306835B (zh) * | 2018-01-23 | 2021-05-04 | 中国航空工业集团公司洛阳电光设备研究所 | 一种以太网交换机的输入缓存及数据转发方法 |
CN108540337B (zh) * | 2018-03-07 | 2020-12-22 | 百富计算机技术(深圳)有限公司 | 一种双网口pos机及其网络状态监测系统、方法 |
CN108551427B (zh) * | 2018-03-20 | 2020-08-04 | 西安电子科技大学 | 基于t型转发器的以太网快速收敛方法 |
CN110401558B (zh) * | 2019-04-28 | 2023-07-25 | 北京广利核系统工程有限公司 | 安全级多点通信网络设备、系统及安全级网络通信方法 |
CN111431812B (zh) * | 2020-03-25 | 2022-04-01 | 新华三信息安全技术有限公司 | 一种报文转发控制方法及装置 |
JP7491772B2 (ja) * | 2020-08-19 | 2024-05-28 | アズビル株式会社 | ネットワーク装置およびネットワーク構成判定方法 |
CN112887059B (zh) * | 2021-01-26 | 2023-04-07 | 芯河半导体科技(无锡)有限公司 | 一种扩展mac帧格式带内传输流控数据的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083622A (zh) * | 2006-06-01 | 2007-12-05 | 富士通株式会社 | 用于在交换环境下管理转发数据库资源的系统和方法 |
CN101873262A (zh) * | 2010-06-13 | 2010-10-27 | 南京邮电大学 | 工业光纤以太网交换机 |
CN102970182A (zh) * | 2012-11-12 | 2013-03-13 | 盛科网络(苏州)有限公司 | 交换机数据包缓冲区容量的测试方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60018799T2 (de) * | 1999-12-23 | 2006-01-26 | Cetacean Networks, Inc. | Netzwerkvermittlung mit paketfolgesteuerung |
-
2016
- 2016-06-24 CN CN201610472276.9A patent/CN105933162B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083622A (zh) * | 2006-06-01 | 2007-12-05 | 富士通株式会社 | 用于在交换环境下管理转发数据库资源的系统和方法 |
CN101873262A (zh) * | 2010-06-13 | 2010-10-27 | 南京邮电大学 | 工业光纤以太网交换机 |
CN102970182A (zh) * | 2012-11-12 | 2013-03-13 | 盛科网络(苏州)有限公司 | 交换机数据包缓冲区容量的测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
支持线性拓扑的EPA网络研究;姜秀柱等;《计算机应用》;20090331;第29卷(第3期);正文第2.3节 |
Also Published As
Publication number | Publication date |
---|---|
CN105933162A (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105933162B (zh) | 基于t型结构的低时延以太网转发器及方法 | |
US6574240B1 (en) | Apparatus and method for implementing distributed layer 3 learning in a network switch | |
EP3573297B1 (en) | Packet processing method and apparatus | |
US9755947B2 (en) | Hierarchical self-organizing classification processing in a network switch | |
US6571291B1 (en) | Apparatus and method for validating and updating an IP checksum in a network switching system | |
US9485200B2 (en) | Network switch with external buffering via looparound path | |
EP2291959B1 (en) | A method of data delivery across a network fabric in a router or ethernet bridge | |
US6728213B1 (en) | Selective admission control in a network device | |
US7830875B2 (en) | Autonegotiation over an interface for which no autonegotiation standard exists | |
US20020167950A1 (en) | Fast data path protocol for network switching | |
CN110493147B (zh) | 一种并行冗余以太网通信控制器及其控制方法 | |
CN104168164A (zh) | Afdx网络中的数据获取的分布方法 | |
US7760630B2 (en) | Input port routing circuit that performs output port filtering | |
CN100473054C (zh) | 一种处理分组的网络设备及方法 | |
CN107426246A (zh) | 基于FPGA的万兆以太网和RapidIO协议间高速数据交换系统 | |
CN107864099A (zh) | 一种异构fc网络的流量控制方法及系统 | |
CN100571195C (zh) | 多端口以太网交换装置及数据传输方法 | |
JP5141830B2 (ja) | 通信装置、統計情報収集制御装置および統計情報収集制御方法 | |
CN113196709B (zh) | 数据传输方法及自动化通信网络 | |
CN113746753A (zh) | BIERv6报文转发的方法、设备以及系统 | |
JPH0998189A (ja) | ネットワーク中継装置 | |
CN105871761A (zh) | 一种高阶矩阵开关、片上网络及通信方法 | |
WO2016082436A1 (zh) | 一种业务混合集中处理方法和装置、存储介质 | |
WO2021254454A1 (zh) | Bier oam检测的方法、设备以及系统 | |
CN114690680A (zh) | 数据处理的方法、控制器以及第一网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |