基于t型结构的低时延以太网转发器及方法

文档序号:10572522阅读:218来源:国知局
基于t型结构的低时延以太网转发器及方法
【专利摘要】本发明提出一种基于T型结构的低时延以太网转发器及方法,用于解决现有交换机存在的布线冗余问题和现有转发方法存在的时延较大且时延不确定问题,转发器包括呈T型分布的端口和处理单元,处理单元包括:左端口帧处理模块、右端口帧处理模块、用户端口帧处理模块、地址学习与查找模块、专用协议处理模块和用户端口适配模块;转发方法包括:链路状态判断,缓存数据帧,帧识别分类,重建链路,PAUSE帧分类,配置转发器,地址学习与查找,建立输出队列,组建PAUSE帧,输出至端口。本发明能够充分减少用户接入布线冗余,降低转发时延且保证转发时延确定,并在网络链路故障时及时检测并重建网络链路,可用于组建高速实时接入网络。
【专利说明】
基于T型结构的低时延以太网转发器及方法
技术领域
[0001 ]本发明属于通信技术领域,涉及一种网络转发装置及转发方法,具体涉及一种基 于Τ型结构的低时延以太网转发装置及方法,可用于组建高速实时接入网络。
【背景技术】
[0002] 以太网是局域网中常见的网络连接方式,用户在网络中一般先接入交换设备,如 交换机或路由器,再由交换设备连接到其它网络。以太网交换机旨在满足多用户同时接入 网络时数据交换的需求,传统以太网交换机通常为多端口交换机,多用户接入交换机时,采 用以交换机为中心的星形组网方式,各用户都需要通过一根独立的线缆连接到交换机的用 户接口,在一些要求布线简洁的场合,如飞机、高铁等环境中,星形组网所带来的布线冗余 问题将是难以接受的。
[0003] 传统以太网交换机通常采用存储转发模式,转发流程如下:
[0004] (1)输入处理,主要完成数据帧的接收、校验、数据格式的匹配的功能;
[0005] (2)流分类与分组处理,主要用于提取帧关键字段信息,并根据该信息对以太网数 据帧进行分类,根据分类结果执行相应的处理;
[0006] (3)地址学习与地址查找,根据源MAC地址和源端口号进行学习,然后根据目的MAC 地址进行地址查找,得出目的端口;
[0007] (4)入队,根据目的端口号和优先级等信息,为数据帧分配缓存地址,并将其存入 相应的输出队列;
[0008] (5)出队,根据调度信息,查询出队帧所在的缓存地址,并将其移除输出队列;
[0009] (6)输出处理,主要完成输出端口处的数据帧缓存和数据帧格式匹配的功能;
[0010] 其中输入缓存、入队和输出缓存等步骤中都会对数据帧进行完整缓存,导致数据 帧的转发时延较大,并且由于数据帧的长度不固定,因此交换机引入的转发时延具有不确 定性。

【发明内容】

[0011] 本发明的目的在于克服传统以太网交换技术存在的缺陷,提出了一种基于T型结 构的低时延以太网转发装置及方法,用于解决现有交换机存在的布线冗余、时延较大和时 延不确定问题。
[0012] 为了实现上述目的,本发明的技术思路为:与传统以太网交换机只采用存储转发 方式相比,本发明采用两种转发模式:直通转发模式和存储转发模式,当输出端口无阻塞 时,交换机采用直通转发模式,交换机接收到数据帧的以太网类型字段后即刻开始数据帧 的查找转发,整个转发过程由于不需要对完整的数据帧进行缓存,保证了转发过程的低时 延,并且由于缓存的部分数据帧的长度固定,保证转发时延的确定性;当输出端口发生阻塞 时,交换机采用存储转发模式,交换机将数据帧缓存到输出端口后轮询输出。
[0013] 为实现上述目的,本发明基于T型结构的低时延以太网转发器,包括端口和处理单 元,其特征在于:
[0014] 所述端口,采用T型分布结构,即分别为左端口、右端口和用户端口,左端口和右端 口为网络端口,用于连接网络设备,用户端口用于用户终端接入;
[0015] 所述处理单元,包括:
[0016] 左端口帧处理模块,用于接收左端口处输入的数据帧、右端口帧处理模块和用户 端口帧处理模块输出的数据帧,并提取左端口输入数据帧的源端口和源MAC地址信息送入 地址学习与查找模块;
[0017] 右端口帧处理模块,用于接收右端口处输入的数据帧、左端口帧处理模块和用户 端口帧处理模块输出的数据帧,并提取右端口输入数据帧的源端口和源MAC地址信息送入 地址学习与查找模块;
[0018] 用户端口帧处理模块,用于接收用户端口适配模块处输入的数据帧、左端口帧处 理模块和右端口帧处理模块输出的数据帧,并提取用户端口适配模块输入数据帧的源端口 和源MAC地址信息送入地址学习与查找模块;
[0019] 地址学习与查找模块,用于根据左端口帧处理模块、右端口帧处理模块和用户端 口帧处理模块送入数据帧的源端口和源MAC地址信息建立地址表,并通过地址查找得到数 据帧的目的端口;
[0020] 专用协议处理模块,用于接收左端口帧处理模块和右端口帧处理模块处的专用协 议帧,并根据专用协议帧实现对转发器的配置和管理;
[0021] 用户端口适配模块,用于将用户端口处的用户输入数据转换为转发器所用数据帧 送入用户端口帧处理模块,并实现以太网10/100/1000M自适应功能。
[0022] 为实现上述目的,本发明基于T型结构的低时延以太网转发方法,包括;
[0023] 1)数据接收步骤:
[0024] 1.1)根据PHY芯片寄存器中的连接状态判断网络链路状况:若PHY芯片连接状态为 0N,则链路正常,执行步骤1.2),若PHY芯片连接状态为0FF,则链路故障,执行步骤1.4);
[0025] 1.2)对输入的异步数据帧进行跨时钟域处理,得到同步数据帧,缓存同步数据帧 至以太网类型域字段后,执行步骤1.3);
[0026] 1.3)从同步数据帧的缓存内容中提取其目的MAC地址、源MAC地址和类型域信息, 判断该同步数据帧的类型:若同步数据帧为PAUSE帧,执行步骤1.5),若同步数据帧为专用 协议帧,即自定义类型值的以太网帧,执行步骤1.6),若同步数据帧为普通数据帧,执行步 骤1.7);
[0027] 1.4)重建链路并产生网络链路故障信息告警帧:
[0028] 1.4a)清空地址表,并通过地址学习重新建立地址表,实现网络链路重建;
[0029] 1.4b)组建网络链路故障信息告警帧,并将该帧送入非故障端口,执行发送步骤 2);
[0030] 1.5)判断PAUSE帧的类型:如果PAUSE帧是停止帧,则停止端口的输出流量后,丢弃 该PAUSE帧,如果PAUSE帧是唤醒帧,则开启端口处的输出流量后,丢弃该PAUSE帧;
[0031] 1.6)根据专用协议帧的内容对转发器进行相应的配置与管理,并判断该专用协议 帧是否需要转发,如果需要转发,则进入数据发送步骤2),否则丢弃;
[0032] 1.7)根据普通数据帧的源MAC地址和源端口号进行地址学习,并根据普通数据帧 的目的MAC地址查找目的端口,进入数据发送步骤2);
[0033] 2)数据发送步骤:
[0034] 2.1)在目的端口处建立三个队列,分别存放其它两个端口待发送的数据帧和待发 送的PAUSE帧,并判断数据帧队列的存储状态:若数据帧队列存储达到警戒线,则执行步骤 2.2),否则执行步骤2.3);
[0035] 2.2)组建PAUSE停止帧,并将该PAUSE停止帧传递给达到警戒线的队列所对应的端 口进行发送;
[0036] 2.3)轮询输出2.1)中的三个队列,若有待发送的专用协议帧,优先输出专用协议 帧。
[0037] 本发明与现有技术相比,具有以下优点:
[0038] 第一,本发明由于采用T型结构,用户首先接入用户端口再通过转发器级联实现多 用户的网络接入,而传统交换机采用星型拓扑结构实现多用户的网络接入,因此本发明大 大减少了用户接入的布线冗余问题。
[0039] 第二,本发明由于输入处理没有对数据帧完整缓存,接收数据帧时只要提取到数 据帧的类型域就可以进行查找转发,且无需入队、出队等步骤,当输出无阻塞时,便可以工 作在直通模式下,大幅减小了转发时延,并且由于缓存的部分数据帧的长度固定,保证转发 时延的确定性。
[0040] 第三,本发明由于在网络链路发生故障时,地址查找与学习模块可通过清空地址 表,并通过地址学习重新得到地址表,实现网络链路重建,增强了网络的可靠性。
【附图说明】
[0041 ]图1为本发明装置的整体结构框图;
[0042]图2为本发明装置处理单元的结构框图;
[0043]图3为本发明装置左端口帧处理模块的结构框图;
[0044] 图4为本发明装置右端口帧处理模块的结构框图;
[0045] 图5为本发明装置用户端口帧处理模块的结构框图;
[0046] 图6为本发明转发方法的数据接收流程框图;
[0047] 图7为本发明转发方法的数据发送流程框图。
【具体实施方式】
[0048] 以下结合附图和实施例,对本发明作进一步详细说明。
[0049]参照图1,本发明装置包括三个端口和一个处理单元,三个端口分别为左端口、右 端口和用户端口,该三个端口呈T型分布,其中左端口和右端口为网络端口,网络端口采用 千兆以太网接口,用户端口可以是多种接口协议的端口,两个网络端口用于本发明装置的 互连或与外部网络相连,用户端口用于连接用户。
[0050] 参照图2,本发明装置的处理单元包括:左端口帧处理模块1,右端口帧处理模块2, 用户端口帧处理模块3,地址学习与查找模块4,专用协议处理模块5,用户端口适配模块6。
[0051] 所述左端口帧处理模块1,用于接收左端口数据帧并提取数据帧的目的MAC地址、 源MAC地址和类型,将其中的目的MAC地址和源MAC地址发往地址学习与查找模块4,将专用 协议帧发往专用协议处理模块5;接收右端口帧处理模块2和用户端口帧处理模块3的输出 数据帧并输出至左端口。
[0052]所述右端口帧处理模块2,用于接收右端口数据帧并提取数据帧的目的MAC地址、 源MAC地址和类型,将其中的目的MAC地址和源MAC地址发往地址学习与查找模块4,将专用 协议帧发往专用协议处理模块5;接收左端口帧处理模块2和用户端口帧处理模块3的输出 数据帧并输出至左端口。
[0053]所述用户端口帧处理模块3,用于接收用户端口数据帧并提取数据帧的目的MAC地 址、源MAC地址和类型,将其中的目的MAC地址和源MAC地址发往地址学习与查找模块4,接收 左端口帧处理模块2和右端口帧处理模块3的输出数据帧并输出至左端口。
[0054]所述地址学习与查找模块4,利用数据帧的源端口和源MAC地址信息建立地址表, 利用数据帧的目的MAC地址进行地址查找得到数据帧的目的端口,根据网络链路故障后的 网络链路重建指令清空转发器的地址表,并通过地址学习重新建立地址表,实现网络链路 重建。
[0055] 所述专用协议处理模块5,用于根据专用协议帧,即自定义类型值的以太网帧,实 现对转发器的配置和管理,并用于接收和解析本端口的网络链路故障信息以及其它端口转 发来的网络链路故障信息告警帧,产生网络链路重建指令,并将该网络链路重建指令发送 给地址学习与查找模块4,并组建网络链路故障信息告警帧,等待非故障网络端口的帧处理 模块轮询转发。
[0056] 所述用户端口适配模块6,由于用户端口处的用户数据可能和转发器所用数据帧 不同,需要将用户端口处的用户输入数据转换为转发器所用数据帧送入用户端口帧处理模 块3,并实现以太网10/100/1000M自适应功能。
[0057]上述左端口帧处理模块1、右端口帧处理模块2和用户端口帧处理模块3相互连接, 地址学习与查找模块4分别与左端口帧处理模块1、右端口帧处理模块2和用户端口帧处理 模块3相连,专用协议处理模块5分别与左端口帧处理模块1和右端口帧处理模块相连,用户 端口适配模块6与用户端口帧处理模块3相连。
[0058]参照图3,本发明的左端口帧处理模块1包括:输入处理子模块11、帧识别子模块 12、流量控制子模块13和输出处理子模块14。
[0059]所述输入处理模块11,用于检测可能的网络链路故障,将故障信息发送给专用协 议处理模块5;通过使用异步FIFO消除数据帧跨时钟域的亚稳态问题,接收并缓存数据帧至 以太网类型域字段,并将缓存的数据帧部分字节发往帧识别模块12。
[0060] 所述帧识别模块12,用于根据输入处理模块11缓存的部分数据帧提取数据帧的目 的MAC地址、源MAC地址和帧类型,并判断所提取的帧类型:
[0061] 如果是数据帧是普通帧,则向地址学习与查找模块4发送查表请求,获取目的端 口,再对目的端口进行判断:若目的端口为右端口,则将普通帧发送给右端口的输出处理子 模块24,若目的端口是用户端口,将普通帧发送给用户端口的输出处理子模块34;
[0062]如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块13;
[0063]如果是专用协议帧,则将该帧发送给专用协议处理模块5。
[0064]所述流量控制模块13,用于根据目的端口处的数据帧队列的存储状态实现流量控 制,当数据帧队列到达警戒线时,组建PAUSE停止帧,当流控结束时,组建PAUSE唤醒帧,并将 该PAUSE唤醒帧或PAUSE停止帧送入对应端口处的输出处理模块进行转发;并解析从帧识别 模块11送来的PAUSE帧,提取流控信息,并将流控信息发送给输出处理模块14。
[0065]所述输出处理模块14,用于接收其他两个端口发来的数据帧和协议帧,并分别缓 存在两个数据帧队列和PAUSE帧队列中,依次轮询两个数据帧队列和PAUSE帧队列进行发 送,如果专用协议处理模块3有网络链路故障信息告警帧,则优先发送该网络链路故障信息 告警帧;并用于接收流量控制模块13发来的流控信息,如果是流控停止信息,则发送完当前 数据帧后,停止轮询数据帧队列,直到收到流控唤醒信息或流控结束时,重新开始轮询数据 帧队列。
[0066]参照图4,本发明的右端口帧处理模块2包括:输入处理子模块21、帧识别子模块 22、流量控制子模块23和输出处理子模块24。
[0067] 所述输入处理模块21,用于检测可能的网络链路故障,将故障信息发送给专用协 议处理模块5;通过使用异步FIFO消除数据帧跨时钟域的亚稳态问题,接收并缓存数据帧至 以太网类型域字段,并将缓存的数据帧部分字节发往帧识别模块22。
[0068] 所述帧识别模块22,用于根据输入处理模块21缓存的部分数据帧提取数据帧的目 的MAC地址、源MAC地址和帧类型,并判断所提取的帧类型:
[0069]如果是数据帧是普通帧,则向地址学习与查找模块4发送查表请求,获取目的端 口,再对目的端口进行判断:若目的端口为左端口,则将普通帧发送给右端口的输出处理子 模块14,若目的端口是用户端口,将普通帧发送给用户端口的输出处理子模块34;
[0070]如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块23;
[0071]如果是专用协议帧,则将该帧发送给专用协议处理模块5。
[0072] 所述流量控制模块23,用于根据目的端口处的数据帧队列的存储状态实现流量控 制,当数据帧队列到达警戒线时,组建PAUSE停止帧,当流控结束时,组建PAUSE唤醒帧,并将 该PAUSE唤醒帧或PAUSE停止帧送入对应端口处的输出处理模块进行转发;并解析从帧识别 模块21送来的PAUSE帧,提取流控信息,并将流控信息发送给输出处理模块24。
[0073] 所述输出处理模块14,用于接收其他两个端口发来的数据帧和协议帧,并分别缓 存在两个数据帧队列和PAUSE帧队列中,依次轮询两个数据帧队列和PAUSE帧队列进行发 送,如果专用协议处理模块3有网络链路故障信息告警帧,则优先发送该网络链路故障信息 告警帧;并用于接收流量控制模块23发来的流控信息,如果是流控停止信息,则发送完当前 数据帧后,停止轮询数据帧队列,直到收到流控唤醒信息或流控结束时,重新开始轮询数据 帧队列。
[0074]参照图5,本发明的用户端口帧处理模块3包括:输入处理子模块31、帧识别子模块 32、流量控制子模块33和输出处理子模块34。
[0075]所述输入处理模块31,通过使用异步FIFO消除数据帧跨时钟域的亚稳态问题,接 收并缓存数据帧至以太网类型域字段,并将缓存的数据帧部分字节发往帧识别模块32。
[0076] 所述帧识别模块32,用于根据输入处理模块31缓存的部分数据帧提取数据帧的目 的MAC地址、源MAC地址和帧类型,并判断所提取的帧类型:
[0077] 如果是数据帧是普通帧,则向地址学习与查找模块4发送查表请求,获取目的端 口,再对目的端口进行判断:若目的端口为左端口,则将普通帧发送给右端口的输出处理子 模块14,若目的端口是右端口,将普通帧发送给用户端口的输出处理子模块24;
[0078] 如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块33;
[0079] 所述流量控制模块33,用于根据目的端口处的数据帧队列的存储状态实现流量控 制,当数据帧队列到达警戒线时,组建PAUSE停止帧,当流控结束时,组建PAUSE唤醒帧,并将 该PAUSE唤醒帧或PAUSE停止帧送入对应端口处的输出处理模块进行转发;并解析从帧识别 模块31送来的PAUSE帧,提取流控信息,并将流控信息发送给输出处理模块34。
[0080] 所述输出处理模块14,用于接收其他两个端口发来的数据帧和协议帧,并分别缓 存在两个数据帧队列和PAUSE帧队列中,依次轮询两个数据帧队列和PAUSE帧队列进行发 送;并用于接收流量控制模块13发来的流控信息,如果是流控停止信息,则发送完当前数据 帧后,停止轮询数据帧队列,直到收到流控唤醒信息或流控结束时,重新开始轮询数据帧队 列。
[0081 ]本发明的转发方法包括数据接收流程和数据发送流程。
[0082]参照图6,本发明方法的数据接收流程如下:
[0083]步骤1,根据PHY芯片寄存器中的内容判断网络链路状况。
[0084] 通过PHY芯片的MDio接口读其寄存器的内容,其中一个特定的寄存器表示PHY芯片 连接状态,若连接状态为0N,则网络链路正常,执行步骤2,若连接状态为OFF,则网络链路故 障,执行步骤4。
[0085]步骤2,对输入的数据帧进行跨时钟域处理,得到同步数据帧。
[0086] (2a)利用异步FIFO接收输入的异步数据帧,解决跨时钟域问题并得到同步数据 帧;
[0087] (2b)缓存同步数据帧至以太网类型域字段,即此处的缓存结构深度只有16字节, 之后执行步骤3。
[0088] 步骤3,提取同步数据帧的特征信息。
[0089] (3a)由于步骤(2b)中缓存了部分同步数据帧,提取其中数据帧的目的MAC地址、源 MAC地址和类型域,以太网的帧格式如表1所示;
[0090] 表1以太网数据帧格式(B: byte,字节)
[0091]
[0092] (3b)根据类型域判断该数据帧的类型:当类型域为0x8808时,该数据帧为PAUSE 帧,执行步骤5;当类型域为自定义的特殊值时,该数据帧为专用协议帧,执行步骤6;当类型 为其他值时,该数据帧为普通数据帧,执行步骤7。
[0093] 步骤4,重建链路。
[0094] (4a)由于旧地址表中存在发生故障的端口,无法正确实现地址查找,故清空旧地 址表,通过地址学习建立新的地址表;
[0095] (4b)故障信息需要上报给其他转发器和服务器,故组建网络链路故障信息告警 帧,并将该帧送入非故障端口,执行发送步骤。
[0096] 步骤5,判断PAUSE帧的类型。
[0097] 判断PAUSE帧类型:如果是PAUSE唤醒帧,则开启端口处的输出流量,并丢弃该 PAUSE唤醒帧,如果是PAUSE停止帧,则停止输出模块发送数据帧并丢弃PAUSE停止帧,直到 收到PAUSE唤醒帧或者流控超时时,停止流控并丢弃PAUSE唤醒帧。
[0098] 其中,PAUSE的目的地址是特殊的组播地址:01-80-C2-00-00-01,类型域值为 0x8808,MAC控制码为0x0001,PAUSE停止帧MAC控制参数不为0,PAUSE唤醒帧MAC控制参数为 0,以太网PAUSE帧格式如表2所示。
[0099] 表2以太网PAUSE帧格式(B: by te,字节)
[0100]
[0101] 步骤6,配置转发器。
[0102] 根据专用协议帧的内容对转发器进行相应的配置与管理,并判断该专用协议帧是 否需要转发,如果该专用协议帧需要对多个转发器进行配置管理,则该专用协议帧就需要 转发,进入数据发送步骤;如果该专用协议帧只是在配置管理当前转发器,配置完成后丢弃 该帧。
[0103] 步骤7,地址学习与查找。
[0104] (7a)根据数据帧的源MAC地址与源端口进行地址学习,学习普通数据帧的源MAC地 址和源端口号的映射关系,由该映射关系建立地址表;
[0105] (7b)根据数据帧的目的MAC地址查找目的端口,进入数据发送。
[0106] 参照图7,本发明的数据发送流程如下:
[0107] 步骤8,建立输出队列。
[0108] (8a)由于在两个端口的输出端口 一致时,可能存在输出阻塞,故在目的端口处建 立三个队列,分别存放其他两个端口待发送的数据帧和待发送的PAUSE帧;
[0109] (8b)判断(8a)中数据帧队列的存储状态,若数据帧队列存储达到警戒线,即代表 此时需要进行流量控制,执行步骤9,否则执行步骤10。
[0110] 步骤9,组建PAUSE帧。
[0111] 组建PAUSE停止帧,并将该PAUSE停止帧传递给达到警戒线的队列所对应的端口进 行发送,请求对端暂停数据发送,以此实现流量控制。
[0112] 步骤10,输出至端口。
[0113] (10a)当目的端口无阻塞时,数据帧到达即可输出至端口,即为直通工作模式;
[0114] (10b)当目的端口有阻塞时,轮询(8a)中的三个队列,并输出至端口,若有待发送 的专用协议帧,正在输出的数据帧完成输出后,优先选择专用协议帧进行输出。
[0115] 以上仅为本发明的优选实例,不构成对本发明的任何限制,显然根据本发明的构 思,本领域的技术人员均可做出不同的修改和置换,但这些均在本发明的保护之列。
【主权项】
1. 一种基于T型结构的低时延以太网转发器,包括端口和处理单元,其特征在于: 所述端口,采用T型分布结构,即分别为左端口、右端口和用户端口,左端口和右端口为 网络端口,用于连接网络设备,用户端口用于用户终端接入; 所述处理单元,包括: 左端口帧处理模块(1),用于接收左端口处输入的数据帧、右端口帧处理模块(2)和用 户端口帧处理模块(3)输出的数据帧,并提取左端口输入数据帧的源端口和源MAC地址信息 送入地址学习与查找模块(4); 右端口帧处理模块(2),用于接收右端口处输入的数据帧、左端口帧处理模块(1)和用 户端口帧处理模块(3)输出的数据帧,并提取右端口输入数据帧的源端口和源MAC地址信息 送入地址学习与查找模块(4); 用户端口帧处理模块(3),用于接收用户端口适配模块(6)处输入的数据帧、左端口帧 处理模块(1)和右端口帧处理模块(2)输出的数据帧,并提取用户端口适配模块(6)输入数 据帧的源端口和源MC地址信息送入地址学习与查找模块(4); 地址学习与查找模块(4),用于根据左端口帧处理模块(1)、右端口帧处理模块(2)和用 户端口帧处理模块(3)送入数据帧的源端口和源MAC地址信息建立地址表,并通过地址查找 得到数据帧的目的端口; 专用协议处理模块(5),用于接收左端口帧处理模块(1)和右端口帧处理模块(2)处的 专用协议帧,并根据专用协议帧实现对转发器的配置和管理; 用户端口适配模块(6),用于将用户端口处的用户输入数据转换为转发器所用数据帧 送入用户端口帧处理模块(3),并实现以太网10/100/1000M自适应功能。2. 根据权利要求1所述的基于T型结构的低时延以太网转发器,其特征在于,地址学习 与查找模块(4)在网络链路发生故障时,通过清空地址表后重新进行地址学习得到新地址 表,实现网络链路重建。3. 根据权利要求1所述的基于T型结构的低时延以太网转发器,其特征在于,专用协议 处理模块(5)所接收的专用协议帧为自定义类型值的以太网帧。4. 根据权利要求1所述的基于T型结构的低时延以太网转发器,其特征在于,左端口帧 处理模块(1)包括: 输入处理子模块(11 ),用于接收并同步输入数据帧,缓存帧头信息,同时检测网络链路 故障并将网络链路故障信息发送给专用协议处理模块(5); 帧识别子模块(12),用于根据输入处理子模块(11)缓存的帧头信息提取数据帧的目的 MAC地址、源MAC地址和帧类型,并判断所提取的帧类型: 如果数据帧是普通帧,则向地址学习与查找模块(4)发送查表请求,获取普通帧的目的 端口,再对目的端口进行判断:若目的端口为右端口,则将普通帧发送给右端口的输出处理 子模块(24),若目的端口是用户端口,将普通帧发送给用户端口的输出处理子模块(34); 如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块(13); 如果数据帧是专用协议帧,则将专用协议帧发送给专用协议处理模块(5); 流量控制子模块(13),用于根据右端口或用户端口处的数据帧队列的存储状态实现流 量控制,并解析接收到的PAUSE帧,提取流控信息给输出处理子模块(14); 输出处理子模块(14),用于接收右端口和用户端口发来的普通帧和PAUSE帧并存储至 相应队列,依次轮询输出至左端口,并根据流量控制子模块(13)的流控信息判断流控信息 类型: 如果是流控停止信息,则发送完当前数据帧后,停止轮询输出; 如果是流控唤醒信息,则重新开始轮询输出。5. 根据权利要求1所述的基于T型结构的低时延以太网转发器,其特征在于,右端口帧 处理模块(2)包括: 输入处理子模块(21),用于接收并同步输入数据帧,缓存帧头信息,同时检测网络链路 故障并将网络链路故障信息发送给专用协议处理模块(5); 帧识别子模块(22),用于根据输入处理子模块(21)缓存的帧头信息提取数据帧的目的 MAC地址、源MAC地址和帧类型,并判断所提取的帧类型: 如果数据帧是普通帧,则向地址学习与查找模块(4)发送查表请求,获取普通帧的目的 端口,再对目的端口进行判断:若目的端口为左端口,则将普通帧发送给左端口的输出处理 子模块(14),若目的端口是用户端口,将普通帧发送给用户端口的输出处理子模块(34); 如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块(23); 如果数据帧是专用协议帧,则将专用协议帧发送给专用协议处理模块(5); 流量控制子模块(23),用于根据左端口或用户端口处的数据帧队列的存储状态实现流 量控制,并解析接收到的PAUSE帧,提取流控信息给输出处理子模块(24); 输出处理子模块(24),用于接收左端口和用户端口发来的普通帧和PAUSE帧并存储至 相应队列,依次轮询输出至右端口,并根据流量控制子模块(23)的流控信息判断流控信息 类型: 如果是流控停止信息,则发送完当前数据帧后,停止轮询输出; 如果是流控唤醒信息,则重新开始轮询输出。6. 根据权利要求1所述的基于T型结构的低时延以太网转发器,其特征在于,用户端口 帧处理模块(3)包括: 输入处理子模块(31 ),用于接收并同步输入数据帧,缓存帧头信息; 帧识别子模块(32),用于根据输入处理子模块(31)缓存的帧头信息快速提取数据帧的 目的MAC地址、源MAC地址和帧类型等特征信息,并判断所提取的帧类型: 如果数据帧是普通帧,则向地址学习与查找模块(4)发送查表请求,获取普通帧的目的 端口,再对目的端口进行判断:若目的端口为左端口,将普通帧发送给左端口的输出处理子 模块(14),若目的端口是右端口,将普通帧发送给右端口的输出处理子模块(24); 如果数据帧是PAUSE帧,则将PAUSE帧发送给流量控制子模块(33); 流量控制子模块(33),用于根据左端口或右端口处的数据帧队列的存储状态实现流量 控制,并用于解析接收到的PAUSE帧,提取流控信息,并将流控信息发送给输出处理子模块 (34); 输出处理子模块(34),用于接收左端口和右端口发来的数据帧和PAUSE帧并存储至相 应队列,依次轮询输出至用户端口适配模块(6),并根据流量控制子模块(33)的流控信息判 断流控信息类型: 如果是流控停止信息,则发送完当前数据帧后,停止轮询输出; 如果是流控唤醒信息,则重新开始轮询输出。7. 根据权利要求4或5或6所述的基于T型结构的低时延以太网转发器,其特征在于,输 入处理子模块(11)、输入处理子模块(21)和输入处理子模块(31)均包括一个异步FIFO,对 输入数据帧进行跨时钟域处理,得到同步数据帧。8. 根据权利要求4或5所述的基于T型结构的低时延以太网转发器,其特征在于,所述输 入处理子模块(11)和输入处理子模块(21)均通过读PHY芯片寄存器的方式检测网络链路故 障。9. 根据权利要求4或5或6所述的基于T型结构的低时延以太网转发器,其特征在于,所 述输出处理子模块(14)、输出处理子模块(24)和输出处理子模块(34)均包含三个队列,当 输出端口无阻塞时,按照直通转发方式发送数据帧,当输出端口有阻塞时,通过公平轮询该 三个队列实现数据帧的转发。10. -种基于T型结构的低时延以太网转发方法,包括; 1) 数据接收步骤: 1.1) 根据PHY芯片寄存器中的连接状态判断网络链路状况:若PHY芯片连接状态为ON, 则链路正常,执行步骤1.2),若PHY芯片连接状态为0FF,则链路故障,执行步骤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地址和源端口号进行地址学习,并根据普通数据帧的目 的MC地址查找目的端口,进入数据发送步骤2); 2) 数据发送步骤: 2.1) 在目的端口处建立三个队列,分别存放其它两个端口待发送的数据帧和待发送的 PAUSE帧,并判断数据帧队列的存储状态:若数据帧队列存储达到警戒线,则执行步骤2.2), 否则执行步骤2.3); 2.2) 组建PAUSE停止帧,并将该PAUSE停止帧传递给达到警戒线的队列所对应的端口进 行发送; 2.3) 轮询输出2.1)中的三个队列,若有待发送的专用协议帧,优先输出专用协议帧。
【文档编号】H04L12/28GK105933162SQ201610472276
【公开日】2016年9月7日
【申请日】2016年6月24日
【发明人】邱智亮, 李兴旺, 潘伟涛, 刘欢, 范传辉, 赵海峰
【申请人】西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1