[go: up one dir, main page]

CN1456004A - Method for layer 3 address self learning capable of programming in network exchanger - Google Patents

Method for layer 3 address self learning capable of programming in network exchanger Download PDF

Info

Publication number
CN1456004A
CN1456004A CN01807985A CN01807985A CN1456004A CN 1456004 A CN1456004 A CN 1456004A CN 01807985 A CN01807985 A CN 01807985A CN 01807985 A CN01807985 A CN 01807985A CN 1456004 A CN1456004 A CN 1456004A
Authority
CN
China
Prior art keywords
address
layer
port
packet
data packet
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
Application number
CN01807985A
Other languages
Chinese (zh)
Inventor
S-J·曾
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN1456004A publication Critical patent/CN1456004A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing
    • 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/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • H04L49/352Gigabit ethernet switching [GBPS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

A packet identifier module is configured for determining whether a received data packet originated from a router. If the packet identifier module identifies the received data packet as being from a network node other than the router, the switch module selectively stores the layer 2 address and the associated layer 3 address of the data packet as an associated layer 2-layer 3 address pair in an address table. The selective storing of the associated layer 2-layer 3 address is also referred to as learning the internet protocol (IP)-media access control association (MAC) of the data packet. By selectively learning the IP-MAC associations of selected data packets from the non-router ports, the likelihood of overflowing the address table is reduced. Furthermore, by using the learned IP-MAC associations, the network switch may switch layer 3 data packets bypassing the router and reducing latency.

Description

在网络交换机内的可编程第三层地址自我学习方法Programmable third-layer address self-learning method in network switch

发明领域field of invention

本发明涉及在无阻塞网络交换机内学习数据包的网络地址,该无阻塞网络交换机配置用于在子网络及路由器中交换数据包。The invention relates to the learning of network addresses of data packets in a non-blocking network switch configured for exchanging data packets in sub-networks and routers.

背景技术Background technique

局域网使用网络电缆或其它媒体以链接在网络上的站台。每个局域网体系结构使用媒体访问控制(media access control,MAC),从而在每个网络节点使得网络接口装置能够访问网络媒体。A LAN uses network cables or other media to link stations on the network. Every LAN architecture uses media access control (MAC) to enable network interface devices to access network media at each network node.

已经制定出以太网协议IEEE 802.3,规定了用于数据包传输的半双工媒体访问机制及全双工媒体访问机制。全双工媒体访问机制在两个网络组件之间,例如在网络节点及交换式集线器之间,提供双向、点对点通信链接。The Ethernet protocol IEEE 802.3 has been developed, specifying the half-duplex media access mechanism and the full-duplex media access mechanism for data packet transmission. Full-duplex media access mechanisms provide bidirectional, point-to-point communication links between two network components, such as network nodes and switching hubs.

交换式局域网正面临对更高速的连接、更弹性的交换性能及适应更复杂网络体系结构的能力的日益增加的要求。例如,转让给本发明同一受让人的美国专利第5,953,335号公布了一种网络交换机(networkswitch),该网络交换机配置用于在不同的网络节点之间交换第二层类型的以太网(IEEE 802.3)数据包;接收的数据包可包含依据IEEE802.1q协议的VLAN(虚拟LAN)标记帧,IEEE 802.1q协议规定了另一个子网络(经由路由器)或站台的指定群组。由于交换发生于第二层层次上,通常必须由路由器在子网络之间传输数据包。Switched LANs are facing increasing demands for higher-speed connections, more resilient switching performance, and the ability to adapt to more complex network architectures. For example, U.S. Patent No. 5,953,335, assigned to the same assignee as the present invention, discloses a network switch configured to switch Layer 2 type Ethernet (IEEE 802.3 ) data packet; the received data packet may contain a VLAN (virtual LAN) tagged frame according to the IEEE802.1q protocol, and the IEEE 802.1q protocol specifies another subnetwork (via a router) or a designated group of stations. Since the switching occurs at the Layer 2 level, routers must usually be used to transport packets between subnets.

加强网络交换机的交换性能、从而包含第三层(例如网际协议)处理的工作通常需要对网络地址表作基于CPU的控制,以便进行第三层地址的学习。例如,路由器基于指定的地址解析协议可执行第二层-第三层关联。通常,由于当前的第二层交换最好配置运行于无阻塞状态,其中数据包可从网络交换机以接收该数据包的相同速率输出,故路由器对于LAN是一种通路瓶颈。因此,具有第二层-第三层交换能力的交换机的使用可减轻路由器的负担并且减少等待时间。此外,由于在网络交换机内,第三层学习可能快速地覆盖地址表,在第二层交换中学习每个接收的数据包的媒体访问控制(“MAC”)地址的传统学习技术在第三层交换中并不实用。Efforts to enhance the switching performance of network switches to include Layer 3 (eg, Internet Protocol) processing typically require CPU-based control of network address tables for Layer 3 address learning. For example, a router may perform a Layer 2-Layer 3 association based on a specified Address Resolution Protocol. Typically, routers are an access bottleneck to the LAN since current layer 2 switching is best configured to operate in a non-blocking state, where packets can be output from the network switch at the same rate at which the packet was received. Therefore, the use of switches with Layer 2-Layer 3 switching capabilities can reduce the load on routers and reduce latency. In addition, because within a network switch, Layer 3 learning can quickly overwrite address tables, traditional learning techniques that learn the Media Access Control ("MAC") address of each received packet in a Layer 2 switch fail at Layer 3 Not practical in exchange.

发明概述Summary of the invention

需要有一种方案,使网络交换机能够提供用于第二层及第三层交换的网络地址的自动学习,以进行无数据包阻塞的100兆位(Mbps)及千兆位(gigabit)链接。What is needed is a solution that enables network switches to provide automatic learning of network addresses for Layer 2 and Layer 3 switching for 100 megabit (Mbps) and gigabit (gigabit) links without packet blocking.

还需要有一种方案,使无阻塞网络交换机能够在线路速率下选择性地学习进入的数据包的第二层地址及相关的第三层地址,而不会覆盖网络交换机地址表。There is also a need for a scheme that enables a non-blocking network switch to selectively learn layer 2 addresses and associated layer 3 addresses of incoming packets at line rate without overwriting the network switch address table.

本发明可满足这些需要及其它需要,其中用于交换数据包的网络交换机包含用于接收及发送多个数据包的多个端口。进入的数据包由封包识别器模块加以评估,以判断是否接收的数据包是由连接至网络交换机的路由器所接收的。若所接收的数据包来自网络节点而非该路由器,交换模块即选择性地储存接收的数据包的第二层源地址及相关的第三层源地址,作为地址表中的相关联的第二层-第三层地址对。因此,由于地址表包含较少的项目,在该地址表中溢出情形的可能性就会减少。These needs and others are met by the present invention in which a network switch for switching data packets includes multiple ports for receiving and sending multiple data packets. Incoming data packets are evaluated by the packet identifier module to determine whether the received data packets were received by a router connected to the network switch. If the received packet is from a network node other than the router, the switching module selectively stores the Layer 2 source address and the associated Layer 3 source address of the received packet as the associated second layer address in the address table. Layer-3 address pair. Therefore, since the address table contains fewer entries, the possibility of an overflow situation in the address table is reduced.

本发明的一个目的为提供在网络交换机端口交换数据包的方法。该方法包含由网络交换机的一个端口接收数据包,并且判断是否该端口接收到来自路由器的数据包。该方法还包含基于该端口接收到来自网络节点而非该路由器的数据包的判断,选择性地将来自该数据包的第二层源地址及相关的第三层源地址作为相关联的第二层-第三层地址对,储存在地址表中。因此,该地址表含有较少的项目,从而减少了地址表中溢出的可能性。It is an object of the present invention to provide a method for switching data packets at a network switch port. The method includes receiving a data packet by a port of a network switch, and judging whether the port has received a data packet from a router. The method also includes, based on a determination that the port receives a packet from a network node other than the router, selectively using the Layer 2 source address and the associated Layer 3 source address from the packet as the associated Layer-3 address pairs, stored in the address table. Therefore, the address table contains fewer entries, thereby reducing the possibility of overflow in the address table.

本发明的另一个目的为提供一种网络交换机,用以在网络交换机端口交换接收到的数据包。该网络交换机包含用于接收及发送多个数据包的多个端口,其中多个端口中的一个端口连接至路由器、封包识别器模块及交换模块。封包识别器模块配置用于判断是否接收的数据包来自路由器。交换模块配置为基于接收的数据包来自网络节点而非路由器,选择性地将来自接收的数据包的第二层源地址及相关的第三层源地址作为相关联的第二层-第三层地址对,储存在地址表中。结果使地址表中溢出的可能性减少。Another object of the present invention is to provide a network switch for switching received data packets at a port of the network switch. The network switch includes a plurality of ports for receiving and sending a plurality of data packets, wherein one port of the plurality of ports is connected to the router, the packet identifier module and the switching module. The packet identifier module is configured to determine whether the received data packet is from the router. The switching module is configured to selectively use a Layer 2 source address and an associated Layer 3 source address from a received packet as an associated Layer 2-Layer 3 source address based on the fact that the received packet is from a network node rather than a router. Address pairs, stored in the address table. As a result, the possibility of overflow in the address table is reduced.

本发明的附加优点及新颖特征将部分在以下描述中提出,部分对于本领域技术人员而言,在审查了以下内容后会变得显而易见或通过运用本发明而认识到。本发明的优点尤其可以通过在所附权利要求书中所指出的方案及其组合而实现。Additional advantages and novel features of the invention will be set forth in part in the following description and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the invention are achieved in particular by means of the measures and combinations indicated in the appended claims.

附图简单说明Brief description of the drawings

参见附图,其中具有相同参考编号的组件在全说明书中表示相同的组件,且其中:Referring to the drawings, in which components with like reference numbers denote like components throughout the specification, and in which:

图1为包含多个网络交换机的封包交换网络的方框图,该网络交换机用于依据本发明的实施例而在对应的子网络之间交换数据包。FIG. 1 is a block diagram of a packet switching network including a plurality of network switches for switching data packets between corresponding sub-networks according to an embodiment of the present invention.

图2为方框图,依据本发明的实施例而说明图1的网络交换机。FIG. 2 is a block diagram illustrating the network switch of FIG. 1 according to an embodiment of the present invention.

图3为流程图,依据本发明的实施例而说明在图1的网络交换机内的学习。FIG. 3 is a flowchart illustrating learning in the network switch of FIG. 1, according to an embodiment of the present invention.

图4为另一个流程图,依据本发明的实施例而说明在图1的网络交换机内的学习。FIG. 4 is another flow diagram illustrating learning within the network switch of FIG. 1 in accordance with an embodiment of the present invention.

图5是又一个流程图,依据本发明的实施例而说明在图1的网络交换机内的学习。FIG. 5 is yet another flowchart illustrating learning within the network switch of FIG. 1 in accordance with an embodiment of the present invention.

本发明最佳实施方式BEST MODE FOR CARRYING OUT THE INVENTION

图1为说明封包交换网络10的方框图,封包交换网络10例如为以太网(IEEEE 802.3)网络。该封包交换式网络包含能够使数据包在网络站台14之间通信的集成(例如单芯片)多端口交换机12。每个网络站台14,例如客户工作站,通常均依据IEEE 802.3协议而配置,用于以10 Mbps或100Mbps发送及接收数据包。每个集成多端口交换机12经千兆位以太网链接16而互连,使数据包能够在子网络(或子网,subnet)18a、18b及18c之间传输。因此,每个子网络包含交换机12及相关的网络站台14群组。FIG. 1 is a block diagram illustrating a packet switching network 10, such as an Ethernet (IEEEE 802.3) network. The packet-switched network includes an integrated (eg, single-chip) multiport switch 12 that enables communication of data packets between network stations 14 . Each network station 14, such as a client workstation, is typically configured according to the IEEE 802.3 protocol for sending and receiving data packets at 10 Mbps or 100 Mbps. Each integrated multiport switch 12 is interconnected via Gigabit Ethernet links 16, enabling data packets to be transmitted between subnetworks (or subnets) 18a, 18b, and 18c. Thus, each subnet includes a switch 12 and an associated group of network stations 14 .

每个交换机12包含交换端口20,也称为封包识别符模块,该交换端口20包含媒体访问控制(MAC)模块22及端口滤波器24。MAC模块20依据IEEE 802.3u协议通过10/100Mbps实体层(PHY)收发器(图中未示)而对相关的网络站台14发送及接收数据包。每个交换机12还包含交换模块25,交换模块25配置为对所接收的数据包做出帧前向决定(frame forwarding decision)。尤其是,根据源MAC地址、目的MAC地址及在以太网(IEEE 802.3)标题内的VLAN信息,交换模块25配置用于第二层交换决定;根据在以太网封包内的IP数据部分的评估,该交换模块25亦配置用于选择性的第三层交换决定。Each switch 12 includes a switch port 20 , also referred to as a packet identifier module, that includes a media access control (MAC) module 22 and a port filter 24 . The MAC module 20 sends and receives data packets to the relevant network station 14 through a 10/100Mbps physical layer (PHY) transceiver (not shown in the figure) according to the IEEE 802.3u protocol. Each switch 12 also includes a switching module 25 configured to make frame forwarding decisions on received data packets. In particular, the switching module 25 is configured for Layer 2 switching decisions based on the source MAC address, destination MAC address and VLAN information within the Ethernet (IEEE 802.3) header; according to the evaluation of the IP data portion within the Ethernet packet, The switching module 25 is also configured for selective Layer 3 switching decisions.

如图1所示,每个交换机12具有相关的主机CPU26及例如SSRAM的缓冲存储器28。主机CPU26控制对应的交换机12的整体运行,包含交换模块25的编程。当交换模块25处理用于接收的数据包的前向决定时,对应的交换机12使用缓冲存储器28来储存数据帧。As shown in FIG. 1, each switch 12 has an associated host CPU 26 and buffer memory 28, such as SSRAM. The host CPU 26 controls the overall operation of the corresponding switch 12 , including the programming of the switch module 25 . While the switch module 25 is processing forwarding decisions for received data packets, the corresponding switch 12 uses the buffer memory 28 to store data frames.

每个交换机12还包含存储器30,该存储器配置用于数据包的网际协议(internet protocol,IP)-媒体访问控制(MAC)关联的有限储存,而将其作为地址表。Each switch 12 also includes a memory 30 configured for limited storage of Internet Protocol (IP)-Media Access Control (MAC) associations of data packets, which acts as an address table.

如上所述,交换模块25配置用于执行第二层交换决定及选择性的第三层交换决定。若在子网络18a内的末端站台14希望发送电子邮件消息给子网络18b、18c内的选定网络站台,第三层交换决定的可用性可能是特别有效的。由于子网络18b、18c处于不同子网上,子网络18a内的主机无法知道子网络18b和/或18c上的主机的第二层地址。交换机12a的交换模块25就要发送电子邮件消息给路由器19,而这会造成额外的延迟。交换模块25使用第三层交换决定,就使交换模块25能够对如何处理封包(包含进一步的前向决定)、以及是否应将封包视为对等待时间敏感的用途(诸如视频或音频)中的高优先权封包而做出智能化决定。因为对于LAN而言,路由器通常是通路瓶颈,交换模块25可减轻路由器的负担而且改善往返行程的延迟。As noted above, the switching module 25 is configured to perform layer two switching decisions and optional layer three switching decisions. The availability of Layer 3 switching decisions may be particularly effective if an end station 14 within subnetwork 18a wishes to send an e-mail message to selected network stations within subnetwork 18b, 18c. Since subnetworks 18b, 18c are on different subnetworks, hosts within subnetwork 18a cannot know the Layer 2 addresses of hosts on subnetworks 18b and/or 18c. The switching module 25 of the switch 12a is about to send the email message to the router 19, which causes additional delay. Switching module 25 uses the layer-3 switching decision, just makes switching module 25 be able to how to process packet (including further forward decision), and whether packet should be regarded as in the usage (such as video or audio frequency) that is sensitive to the packet time. Intelligent decisions are made on high priority packets. Because routers are usually the bottleneck for LANs, the switch module 25 can offload routers and improve round-trip latency.

依据所述实施例,网络交换机12经配置而学习选定数据包的IP-MAC关联。每个网络交换机的封包识别器模块24经配置而判断是否接收的数据包由路由器19所接收。若封包识别器模块24确认接收的数据包来自网络节点而非该路由器19,网络交换机12的交换模块25选择性地储存数据包的第二层源地址及相关的第三层源地址,作为地址表中相关联的第二层-第三层地址对。相关联的第二层-第三层地址的选择性储存亦称为对数据包的IP-MAC关联的学习。通过选择性地学习来自非路由器端口的选定数据包的IP-MAC关联,减少了地址表溢出的可能性。另外,通过使用所学习的IP-MAC关联,网络交换机即可执行第三层交换,从而能够绕过相连子网络之间的路由器,从而减少等待时间。According to the described embodiment, network switch 12 is configured to learn the IP-MAC association of selected packets. The packet identifier module 24 of each network switch is configured to determine whether the received data packet is received by the router 19 . If the packet identifier module 24 confirms that the received data packet is from a network node other than the router 19, the switch module 25 of the network switch 12 selectively stores the second layer source address of the data packet and the related third layer source address as the address Associated Layer 2-Layer 3 address pairs in the table. Selective storage of associated Layer 2-Layer 3 addresses is also known as learning of IP-MAC associations for data packets. Reduces the possibility of address table overflow by selectively learning IP-MAC associations for selected packets from non-router ports. In addition, by using the learned IP-MAC association, the network switch can perform Layer 3 switching, which can bypass routers between connected subnets, thereby reducing latency.

图2显示图1所示的端口滤波器24的更详细的方框图。端口滤波器24包含接收先进先出(FIFO)缓冲器51、MAC排队逻辑52、存储器53、MAC出队(dequeing)逻辑54、发送FIFO 55及处理器接口模块57。FIG. 2 shows a more detailed block diagram of port filter 24 shown in FIG. 1 . Port filter 24 includes receive first in first out (FIFO) buffer 51, MAC queuing logic 52, memory 53, MAC dequeue (dequeing) logic 54, transmit FIFO 55 and processor interface module 57.

接收FIFO 51为缓冲器,该缓冲器配置用于对从端口20的接收部分接收进入的数据包加以响应,暂时储存该进入的数据包。The receive FIFO 51 is a buffer configured to temporarily store an incoming data packet in response to receiving an incoming data packet from the receiving portion of the port 20.

MAC排队逻辑52提供各种用于端口滤波器24的功能。MAC排队逻辑52从接收FIFO 51经数据总线59而至外部存储器接口26,为SSRAM 28提供接收的数据包以便写入。MAC排队逻辑52还响应于处理接收的数据包的MAC排队逻辑25,向交换模块25提供多个状态信号58。状态信号58对交换模块25提供指示,表明接收的数据包无错误地传送至外部存储器接口26,或者说接收的数据包的传送是完全的。状态信号58亦包含子网络路由选择信号(RNET_ENABLE)及学习信号(L3IRC_LEARN)。MAC queuing logic 52 provides various functions for port filter 24 . MAC queuing logic 52 provides received data packets to SSRAM 28 for writing from receive FIFO 51 via data bus 59 to external memory interface 26. MAC queuing logic 52 also provides a number of status signals 58 to switch module 25 in response to MAC queuing logic 25 processing received packets. Status signal 58 provides an indication to switch module 25 that the received data packet was transferred to external memory interface 26 without error, or that the transfer of the received data packet was complete. Status signals 58 also include a subnet routing selection signal (RNET_ENABLE) and a learning signal (L3IRC_LEARN).

当MAC排队逻辑52设置RNETS_ENABLE信号时,交换模块25即得到通知:接收的数据包是在直接连接至网络交换机12a的子网络之间所进行的内部子网络通信量的一部分。When the MAC queuing logic 52 asserts the RNETS_ENABLE signal, the switch module 25 is notified that the received packet is part of the intra-subnet traffic between subnets directly connected to the network switch 12a.

当MAC排队逻辑52设置L3RC_LEARN时,交换模块25就要学习用于接收的数据包的IP-MAC地址关联。When the MAC queuing logic 52 sets L3RC_LEARN, the switching module 25 will learn the IP-MAC address association for the received data packets.

存储器53为MAC排队逻辑52提供用于参数的寄存器空间53a,以实现学习及子网络路由选择功能。寄存器空间53a为MAC排队逻辑至少提供SUBNET_ID及SUBNET_MASK寄存器。CPU26经处理器接口(pi_mod)57而为寄存器编程。SUBNET_ID寄存器提供用于储存的单个端口所属的IP地址。在交换机12a上的每个端口具有一个SUBNET_ID寄存器。SUBNET_MASK提供用于储存的单个端口的32位IP地址掩码(address mask)。在交换机12a上的每个端口具有一个SUBNET_MASK掩码寄存器。Memory 53 provides MAC queuing logic 52 with register space 53a for parameters to implement learning and subnet routing functions. Register space 53a provides at least SUBNET_ID and SUBNET_MASK registers for the MAC queuing logic. The CPU 26 programs the registers via the processor interface (pi_mod) 57 . The SUBNET_ID register provides for storing the IP address to which a single port belongs. Each port on switch 12a has a SUBNET_ID register. SUBNET_MASK provides the 32-bit IP address mask of a single port for storage. Each port on switch 12a has a SUBNET_MASK mask register.

MAC出队逻辑54对交换模块25所进行的处理加以响应,提供从SSRAM 28检索接收的数据包并将该数据包传送给适当的端口。The MAC dequeue logic 54 is responsive to processing by the switch module 25, providing for retrieval of received packets from the SSRAM 28 and delivery of the packets to the appropriate ports.

发送FIFO 55提供了在端口20发送之前,用于要发送的数据包的缓冲器。Transmit FIFO 55 provides a buffer for packets to be transmitted prior to port 20 transmission.

在端口20接收进入的资枓封包并在接收FIFO 51内使进入的资枓封包得到缓冲。MAC排队逻辑52将数据包传送至外部存储器接口56,经数据总线59而储存于SSRAM 28内。Incoming data packets are received at port 20 and buffered in receive FIFO 51. The MAC queuing logic 52 transmits the data packet to the external memory interface 56, and stores it in the SSRAM 28 via the data bus 59.

MAC排队逻辑52通过检验数据包的标题及帧数据而在接收的数据包内搜寻第三层信息,例如IP数据包。利用第三层信息,通过将IP标题内的目的IP地址与储存于存储器53的寄存器内的数值加以比较,MAC排队逻辑52可判断是否接收的数据包为内部子网络通信量的一部分。MAC queuing logic 52 searches for layer 3 information within received packets, such as IP packets, by examining the packet's header and frame data. Using the layer 3 information, MAC queuing logic 52 can determine whether the received packet is part of internal subnet traffic by comparing the destination IP address in the IP header with values stored in registers in memory 53 .

尤其是,若接收的数据包是从路由器端口所接收的话,IP目的地址将对所有其余端口的SUBNET_MASK掩码(mask)。随后将掩码操作的结果对照所有其余端口的SUBNET_ID寄存器进行比较。若比较操作的结果是成功的,MAC排队逻辑52即对交换模块25设置RNETS_ENABLE信号。In particular, if the received packet is received from a router port, the IP destination address will be masked to the SUBNET_MASK of all other ports. The result of the mask operation is then compared against the SUBNET_ID registers of all remaining ports. If the result of the comparison operation is successful, the MAC queuing logic 52 sets the RNETS_ENABLE signal to the switching module 25 .

也可配置MAC排队逻辑52,以便判断当封包由非路由器端口到达时,子网络直接连接至网络交换机12a的情况下,是否对于子网络内的IP地址,交换模块25需要学习接收的数据包的源IP-MAC地址关联。主机CPU26负责在存储器53内使各寄存器编程,使得交换模块25知道是何端口连接至路由器。The MAC queuing logic 52 can also be configured to determine whether the switch module 25 needs to learn the identity of the received packet for the IP address within the subnet when the subnet is directly connected to the network switch 12a when the packet arrives through a non-router port. Source IP-MAC address association. Host CPU 26 is responsible for programming registers in memory 53 so that switch module 25 knows which port is connected to the router.

还可配置MAC排队逻辑52,使得当端口识别器模块24的MAC排队逻辑52判定接收的数据包预定发给该路由器并可能是内部子网络通信量的一部分时,学习IP-MAC关联。The MAC queuing logic 52 may also be configured such that an IP-MAC association is learned when the MAC queuing logic 52 of the port identifier module 24 determines that a received packet is intended for the router and may be part of internal subnet traffic.

另外,可配置封包识别器模块24的MAC排队逻辑52,使得当接收的数据包预定发给该路由器并且为内部子网络通信量的一部分时,学习所接收的封包的IP-MAC关联。Additionally, the MAC queuing logic 52 of the packet identifier module 24 may be configured to learn the IP-MAC association of received packets when they are intended for the router and are part of internal subnet traffic.

尤其是,MAC排队逻辑52比较所接收的数据包的MAC目的地址与在存储器53内所储存的路由器的MAC地址。若比较操作的结果是成功的,该接收的数据包即是预定发给该路由器。接着,端口识别器模块24的MAC排队逻辑52通知交换模块25,选择性地将第二层源地址及相关的第三层源地址作为相关联的第二层-第三层地址对,储存于地址表30中。In particular, MAC queuing logic 52 compares the MAC destination address of the received packet with the router's MAC address stored in memory 53 . If the result of the comparison operation is successful, the received data packet is intended to be sent to the router. Next, the MAC queuing logic 52 of the port identifier module 24 notifies the switch module 25 to optionally store the Layer 2 source address and the associated Layer 3 source address as an associated Layer 2-Layer 3 address pair in address table 30.

可根据网络交换机12中的通信流量或使用者的偏好,配置封包识别器模块42的MAC排队逻辑52以实现这些功能中的任一功能。还可配置MAC排队逻辑52,从而实现使用者认为必要的各种其它功能。The MAC queuing logic 52 of the packet identifier module 42 may be configured to perform any of these functions, depending on the traffic flow in the network switch 12 or user preferences. The MAC queuing logic 52 can also be configured to implement various other functions that the user deems necessary.

图3是说明图2中所示的封包识别符模块24进行的学习的流程图。在步骤310中,在端口识别器模块24处从一个端口20接收数据包。FIG. 3 is a flowchart illustrating the learning performed by the PID module 24 shown in FIG. 2 . In step 310 , a data packet is received at port identifier module 24 from one port 20 .

配置端口识别器模块24,使其在步骤320判断是否接收的数据包是从非路由器端口所接收的。主机CPU负责将哪一个端口编程连接至路由器。The port identifier module 24 is configured to determine in step 320 whether the received data packet is received from a non-router port. The host CPU is responsible for which port is programmed to connect to the router.

若在步骤320,接收的数据包正由非路由器端口所接收,则端口识别器模块24的MAC排队逻辑52断言(assert)学习信号,以通知交换模块25在步骤330中,将第二层地址或MAC地址以及关联的第三层地址或IP地址作为相关联的第二层-第三层地址而储存在存储器30内的地址表中。If in step 320, the received packet is being received by a non-router port, then the MAC queuing logic 52 of the port identifier module 24 asserts the learning signal to notify the switch module 25 that in step 330, the layer 2 address or MAC addresses and associated layer 3 addresses or IP addresses are stored in an address table within memory 30 as associated layer 2-layer 3 addresses.

若在步骤320,接收的数据包正由路由器端口所接收,则端口识别器模块24的MAC排队逻辑52即在步骤340不对交换模块25断言学习信号。从而不学习所接收的数据包的IP-MAC关联。If at step 320 the received packet is being received by a router port, then the MAC queuing logic 52 of the port identifier module 24 does not assert the learning signal to the switch module 25 at step 340 . The IP-MAC associations of received data packets are thus not learned.

图4是说明图2中所示的封包识别符模块24进行的学习的另一个流程图。在此项规则中,当接收的数据包是来自非路由器端口并且具有该路由器的目的MAC地址时,将学习IP-MAC关联。在步骤410中,经端口20的其中一个端口而在端口识别器模块24处接收数据包。FIG. 4 is another flowchart illustrating the learning performed by the PID module 24 shown in FIG. 2 . In this rule, when a packet is received from a non-router port and has the router's destination MAC address, the IP-MAC association will be learned. In step 410 , a data packet is received at the port identifier module 24 via one of the ports 20 .

端口识别器模块24经配置以在步骤410判定是否接收的数据包正由非路由器端口所接收,并且该数据包的MAC目的地址为该路由器。主机CPU26负责将哪一个端口编程连接至路由器,并且MAC排队逻辑52比较接收的数据包的目的MAC地址与路由器的MAC地址。The port identifier module 24 is configured to determine at step 410 whether the received data packet is being received by a non-router port and the MAC destination address of the data packet is the router. The host CPU 26 is responsible for programming which port is connected to the router, and the MAC queuing logic 52 compares the destination MAC address of the received packet with the router's MAC address.

在步骤420,若比较是成功的,则接收的数据包正在非路由器端口上接收并且目的MAC地址在步骤430中为路由器。在步骤430中,端口识别器模块24的MAC排队逻辑52通知交换模块25:将第二层源地址或MAC源地址以及相关的第三层源地址或IP源地址作为相关联的第二层-第三层地址,储存于存储器30的地址表中。At step 420 , if the comparison is successful, the received packet is being received on a non-router port and the destination MAC address is a router at step 430 . In step 430, the MAC queuing logic 52 of the port identifier module 24 notifies the switching module 25 that the Layer 2 source address or MAC source address and the associated Layer 3 source address or IP source address are used as the associated Layer 2- The third layer address is stored in the address table of the memory 30 .

若在步骤420中,比较的其中之一失败或两者均失败,则在步骤440中,端口识别器模块24即不通知交换模块25。将不学习接收的数据包的IP-MAC关联。If in step 420 , one or both of the comparisons fail, then in step 440 , the port identifier module 24 does not notify the switching module 25 . The IP-MAC association of received packets will not be learned.

图5是说明图4所示的封包识别符模块24进行的学习的另一个流程图。在此项规则中,当接收的数据包为内部子网络通信量的一部分并且目的MAC地址为路由器,则IP-MAC关联将学习。在步骤510中,在端口识别器模块24处从端口20的其中之一接收数据包。FIG. 5 is another flowchart illustrating the learning performed by the PID module 24 shown in FIG. 4 . In this rule, when a packet is received that is part of internal subnet traffic and the destination MAC address is a router, then the IP-MAC association will be learned. In step 510 , a data packet is received at port identifier module 24 from one of ports 20 .

端口识别器模块24经配置在步骤510中判断是否接收的数据包正由非路由器端口所接收。MAC排队逻辑52对于在交换模块25内的所有其它的SUBNET MASK掩码目的IP地址。随后将掩码结果与在交换机12a内的所有其它的SUBNET ID地址进行比较。再者,MAC排队逻辑52还比较接收的数据包的目的MAC地址与路由器的MAC地址。The port identifier module 24 is configured to determine in step 510 whether the received data packet is being received by a non-router port. The MAC queuing logic 52 masks the destination IP address for all other SUBNET MASKs within the switch module 25. The masked result is then compared to all other SUBNET ID addresses within switch 12a. Furthermore, the MAC queuing logic 52 also compares the destination MAC address of the received data packet with the MAC address of the router.

若由步骤520的所有比较都是成功的,端口识别器模块24的MAC排队逻辑52即通知交换模块25:在步骤530,将第二层源地址或MAC源地址以及相关的第三层源地址或IP源地址作为相关联的第二层-第三层地址,储存于存储器30内的地址表中。If all comparisons by step 520 are successful, the MAC queuing logic 52 of the port identifier module 24 promptly notifies the switching module 25: in step 530, the second layer source address or the MAC source address and the relevant third layer source address Or the IP source address is stored in the address table in the memory 30 as the associated layer 2-layer 3 address.

若由步骤520的所有比较都是失败的,在步骤540中,端口识别器模块24的MAC排队逻辑52将不会通知交换模块25。将不会学习接收的数据包的IP-MAC关联。If all comparisons by step 520 fail, in step 540 the MAC queuing logic 52 of the port identifier module 24 will not notify the switch module 25 . IP-MAC associations for received packets will not be learned.

依据所述实施例,封包别器模块经配置而用于判断是否接收的数据包源自路由器。若封包识别器模块识别所接收的数据包来自网络节点而非路由器,交换模块即选择性地将第二层地址及数据包的相关的第三层地址作为相关联的第二-第三层地址对,储存于地址表中。通过储存选定数据包的IP-MAC关联,当交换机在交换期间参考地址表时,网络交换机即可减少地址表中的搜寻时间。因此,封包识别器模块使网络交换机能够提供100Mbps或千兆位链接的第三层及第二层交换能力而没有数据包的阻塞。According to the described embodiment, the packet identifier module is configured to determine whether the received data packet originates from a router. If the packet identifier module identifies that the received packet is from a network node rather than a router, the switch module selectively uses the layer 2 address and the associated layer 3 address of the packet as the associated layer 2-3 address Yes, stored in the address table. By storing the IP-MAC association for selected packets, network switches can reduce lookup times in the address table when the switch references the address table during switching. Thus, the PID module enables network switches to provide Layer 3 and Layer 2 switching capabilities of 100Mbps or Gigabit links without packet blocking.

虽然本发明依据目前认为是最可行的优选实施例而进行描述,需要了解的是本发明并非限定于所述的实施例,反之,应认为本发明涵盖各种包含于所附权利要求书的精神及范围内的改动及等值方案。Although the present invention has been described in terms of what is presently considered to be the most practicable preferred embodiment, it should be understood that the present invention is not limited to the described embodiments, but rather, the invention should be considered to cover the spirit of the invention contained in the appended claims. and changes within the scope and equivalent schemes.

Claims (14)

1.一种用于网络交换机的方法,该方法包括:1. A method for a network switch, the method comprising: 由该网络交换机的一个端口接收数据包;receiving a data packet by a port of the network switch; 判断是否所述一个端口接收到来自路由器的数据包;以及determining whether the one port has received a data packet from the router; and 基于所述一个端口接收到来自网络节点而非所述路由器的数据包的判断,选择性地将来自该数据包的第二层地址及相关的第三层地址作为相关联的第二层-第三层地址对,储存于地址表中。Based on a determination that said one port received a packet from a network node other than said router, selectively using the layer 2 address and associated layer 3 address from the packet as an associated layer 2-layer Layer 3 address pairs are stored in the address table. 2.如权利要求1的方法,其中:2. The method of claim 1, wherein: 所述选择性的储存步骤包含基于所述一个端口接收到来自网络节点而非所述路由器的数据包的判断,并根据处于该数据包内的目的第二层地址指定所述路由器的判断,将来自该数据包的第二层地址及相关的第三层地址作为相关联的第二层-第三层地址对加以储存。The selectively storing step includes determining that the one port receives a packet from a network node other than the router, and specifying the router based on a determination that the destination layer 2 address within the packet specifies the router. The Layer 2 address and the associated Layer 3 address from the packet are stored as an associated Layer 2-Layer 3 address pair. 3.如权利要求2的方法,其中:3. The method of claim 2, wherein: 所述第二层地址及所述相关的第三层地址为源地址。The layer-2 address and the associated layer-3 address are source addresses. 4.如权利要求1的方法,其中:4. The method of claim 1, wherein: 所述网络交换机包含分别连接至第一子网络及第二子网络的第二端口及第三端口。The network switch includes a second port and a third port respectively connected to the first subnet and the second subnet. 5.如权利要求4的方法,进一步包括:5. The method of claim 4, further comprising: 判断是否该数据包包含指定该数据包在所述第二端口及所述第三端口之间的传输的地址信息。judging whether the data packet includes address information specifying the transmission of the data packet between the second port and the third port. 6.如权利要求5的方法,其中:6. The method of claim 5, wherein: 所述选择性的储存步骤包含基于所述一个端口接收到来自网络节点而非所述路由器的数据包的判断,并根据该数据包包含指定该数据包在该第二端口及该第三端口之间的传输的地址信息,将该第二层地址及所述相关的第三层地址作为所述关联的第二层-第三层地址对加以储存。The selective storing step includes determining that the one port receives a data packet from a network node other than the router, and assigning the data packet between the second port and the third port based on the data packet includes and store the layer-2 address and the associated layer-3 address as the associated layer-2-layer-3 address pair. 7.如权利要求2的方法,进一步包括:7. The method of claim 2, further comprising: 通过在该网络交换机内的端口识别器模块判断该数据包包含指定该数据包在第二端口及第三端口之间的传输的地址信息,其中该第二端口及该第三端口分别连接至第一及第二子网络。Judging by the port identifier module in the network switch that the data packet contains address information specifying the transmission of the data packet between the second port and the third port, wherein the second port and the third port are respectively connected to the first port The first and second subnetworks. 8.一种网络交换机,包括:8. A network switch, comprising: 多个端口,用于接收及传送多个数据包,其中该多个端口的其中一个端口连接至路由器;A plurality of ports are used to receive and transmit a plurality of data packets, wherein one of the plurality of ports is connected to a router; 封包识别器模块,配置用于判断是否接收的数据包来自路由器;以及A packet identifier module configured to determine whether the received data packet is from a router; and 交换模块,配置为基于接收的数据包来自网络节点而非该路由器,选择性地将来自该接收的数据包的第二层地址及相关的第三层地址作为相关联的第二层-第三层地址对,储存于地址表中。a switching module configured to selectively use the Layer 2 address and the associated Layer 3 address from the received packet as an associated Layer 2-3 Layer address pairs are stored in the address table. 9.如权利要求8的网络交换机,其中:9. The network switch of claim 8, wherein: 该封包识别器模块配置用于判断是否该接收的数据包包含指定该路由器的目的地址的地址信息;以及The packet identifier module is configured to determine whether the received data packet contains address information specifying a destination address of the router; and 该交换模块配置为基于接收的数据包来自网络节点,并根据包含该路由器的目的地址的该地址信息,选择性地将来自该接收的数据包的第二层地址及相关的第三层地址作为相关联的第二层-第三层地址对加以储存。The switch module is configured to selectively use the layer 2 address and the associated layer 3 address from the received packet as a result of the address information including the destination address of the router based on the received packet being from a network node The associated layer 2-layer 3 address pairs are stored. 10.如权利要求8的网络交换机,其中:10. The network switch of claim 8, wherein: 该第二层地址及该相关的第三层地址为源地址。The layer-2 address and the associated layer-3 address are source addresses. 11.如权利要求8所述的网络交换机,其中:11. The network switch of claim 8, wherein: 所述多个端口的第二端口连接至第一子网络;a second port of the plurality of ports is connected to the first sub-network; 所述多个端口的第三端口连接至第二子网络;以及a third port of the plurality of ports is connected to a second sub-network; and 该封包识别器模块配置用于判断是否所述接收的数据包包含地址信息,该地址信息指定该接收的数据包在该第一子网络及该第二子网络之间的传输。The packet identifier module is configured to determine whether the received data packet contains address information specifying the transmission of the received data packet between the first subnetwork and the second subnetwork. 12.如权利要求11的网络交换机,其中:12. The network switch of claim 11, wherein: 该交换模块基于该接收的数据包来自网络节点,并根据指定该接收的数据包在该第一子网络及第二子网络之间传输的该地址信息,而选择性地将该接收的数据包的该第二层地址及该相关的第三层地址作为所述相关联的第二层-第三层地址对加以储存。The switching module selectively selects the received data packet based on the fact that the received data packet is from a network node and according to the address information specifying that the received data packet is transmitted between the first subnetwork and the second subnetwork The layer 2 address and the associated layer 3 address of , are stored as the associated layer 2-layer 3 address pair. 13.如权利要求8的网络交换机,进一步包括:13. The network switch of claim 8, further comprising: 所述多个端口的第二端口连接至第一子网络;a second port of the plurality of ports is connected to the first sub-network; 所述多个端口的第三端口连接至第二子网络;以及a third port of the plurality of ports is connected to a second subnetwork; and 该封包识别器模块配置用于判断是否所述接收的数据包包含地址信息,该地址信息指定该接收的数据包在该第一子网络及该第二子网络之间的传输。The packet identifier module is configured to determine whether the received data packet contains address information specifying the transmission of the received data packet between the first subnetwork and the second subnetwork. 14.如权利要求8所述的网络交换机,其中:14. The network switch of claim 8, wherein: 所述多个端口的每一个端口经配置而包含该封包识别器模块。Each port of the plurality of ports is configured to include the packet identifier module.
CN01807985A 2000-04-13 2001-03-23 Method for layer 3 address self learning capable of programming in network exchanger Pending CN1456004A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54861200A 2000-04-13 2000-04-13
US09/548,612 2000-04-13

Publications (1)

Publication Number Publication Date
CN1456004A true CN1456004A (en) 2003-11-12

Family

ID=24189628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01807985A Pending CN1456004A (en) 2000-04-13 2001-03-23 Method for layer 3 address self learning capable of programming in network exchanger

Country Status (5)

Country Link
EP (1) EP1273139A2 (en)
JP (1) JP2004515088A (en)
KR (1) KR20020091203A (en)
CN (1) CN1456004A (en)
WO (1) WO2001080493A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101351995B (en) * 2004-01-14 2011-02-02 利福斯通网络公司 Manage processing utilization in network nodes

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2858502B1 (en) * 2003-08-01 2006-02-24 Cit Alcatel DEVICE AND METHOD FOR PROCESSING NETWORK TRAFFIC DATA FOR SELF CONFIGURATION OF A ROUTER
CN1304994C (en) * 2003-08-27 2007-03-14 四川南山之桥微电子有限公司 Operable 2-layer/3-layer switch and router chip and formulation method
JP4186971B2 (en) 2005-09-01 2008-11-26 富士通株式会社 Packet transfer device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256314B1 (en) * 1998-08-11 2001-07-03 Avaya Technology Corp. Apparatus and methods for routerless layer 3 forwarding in a network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101351995B (en) * 2004-01-14 2011-02-02 利福斯通网络公司 Manage processing utilization in network nodes

Also Published As

Publication number Publication date
KR20020091203A (en) 2002-12-05
JP2004515088A (en) 2004-05-20
WO2001080493A3 (en) 2002-05-16
WO2001080493A2 (en) 2001-10-25
EP1273139A2 (en) 2003-01-08

Similar Documents

Publication Publication Date Title
US7145869B1 (en) Method for avoiding out-of-ordering of frames in a network switch
US6798788B1 (en) Arrangement determining policies for layer 3 frame fragments in a network switch
US7310332B2 (en) Network switch memory interface configuration
US6574240B1 (en) Apparatus and method for implementing distributed layer 3 learning in a network switch
US7082133B1 (en) Apparatus and method for enabling voice over IP support for a network switch
US8081570B2 (en) High speed flow control methodology
US7079537B1 (en) Layer 3 switching logic architecture in an integrated network switch
US6996099B1 (en) Network switch having a programmable counter
US6810037B1 (en) Apparatus and method for sorted table binary search acceleration
US7366171B2 (en) Network switch
US7643481B2 (en) Network switch having a programmable counter
EP1345362A2 (en) Fast flexible filter processor architecture for a network device
US20050122966A1 (en) Network switch with high-speed serializing/deserializing hazard-free double data rate switch
WO2000003516A1 (en) Network switching architecture with multiple table synchronization, and forwarding of both ip and ipx packets
EP1181791A1 (en) Apparatus and method for distributing a load across a trunk group
EP1159805B1 (en) Method for avoiding out-of-ordering of frames in a network switch
CN1456004A (en) Method for layer 3 address self learning capable of programming in network exchanger
EP1169809B1 (en) Method for managing congestion in a network switch

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication