-
公开(公告)号:US06917620B1
公开(公告)日:2005-07-12
申请号:US09466864
申请日:1999-12-17
申请人: Pradeep S. Sindhu , Kireeti Kompella , Dennis C. Ferguson , Bjorn O. Liencres , Nalini Agarwal , Hann-Hwan Ju , Raymond Marcelino Manese Lim , Rasoul Mirzazadeh Oskouy , Sreeram Veeragandham
发明人: Pradeep S. Sindhu , Kireeti Kompella , Dennis C. Ferguson , Bjorn O. Liencres , Nalini Agarwal , Hann-Hwan Ju , Raymond Marcelino Manese Lim , Rasoul Mirzazadeh Oskouy , Sreeram Veeragandham
CPC分类号: G06F15/167 , H04L12/5601 , H04L29/06 , H04L45/00 , H04L45/72 , H04L45/7457 , H04L47/6225 , H04L49/103 , H04L49/108 , H04L49/1538 , H04L49/203 , H04L49/25 , H04L49/252 , H04L49/3072 , H04L49/3081 , H04L49/608 , H04L49/90 , H04L49/901 , H04L49/9042 , H04L49/9047 , H04L49/9057 , H04L69/22 , H04L2012/5652 , H04L2012/5679 , H04L2012/5681 , H04Q11/0478
摘要: A method and apparatus for switching a data packet between a source and destination in a network. The data packet includes a header portion and a data portion. The header portion includes routing information for the data packet. The method includes defining a data path in the router comprising a path through the router along which the data portion of the data packet travels and defining a control path comprising a path through the router along which routing information from the header portion travels. The method includes separating the data path and control path in the router such that the routing information can be separated from the data portion allowing for the separate processing of each in the router. The data portion can be stored in a global memory while routing decisions are made on the routing information in the control path.
-
公开(公告)号:US5905725A
公开(公告)日:1999-05-18
申请号:US844171
申请日:1997-04-18
CPC分类号: H04L12/56 , H04L12/5601 , H04L49/108 , H04L49/1538 , H04L49/203 , H04L49/3081 , H04L49/608 , H04L49/90 , H04L49/9047 , H04L49/9057 , H04Q11/0478 , H04L2012/5652 , H04L2012/5679
摘要: A router for switching a data packet between a source and destination in a network including a plurality of input ports each including a data handler. The data handler divides a data packet into one or more fixed length cells. The router includes a plurality of output ports at least one of which is for routing the data packet to the destination and a memory divided into a plurality of memory banks. A input switch receives fixed length cells from the input ports and writes a single cell in a cell slot time span to each memory bank. An output switch routes cells received from the memory to an appropriate output port.
摘要翻译: 一种用于在网络中的源和目的地之间切换数据分组的路由器,包括多个输入端口,每个输入端口包括数据处理器。 数据处理器将数据包分成一个或多个固定长度的单元。 路由器包括多个输出端口,其中至少一个输出端口用于将数据分组路由到目的地和分为多个存储体的存储器。 输入开关从输入端口接收固定长度的单元,并将单元格时隙的单个单元写入每个存储体。 输出开关将从存储器接收的单元路由到适当的输出端口。
-
公开(公告)号:US08681796B2
公开(公告)日:2014-03-25
申请号:US13465566
申请日:2012-05-07
申请人: Pradeep S. Sindhu , Kireeti Kompella , Dennis C. Ferguson , Bjorn O. Liencres , Nalini Agarwal , Hann-Hwan Ju , Raymond Marcelino Manese Lim , Rasoul Mirzazadeh Oskouy , Sreeram Veeragandham
发明人: Pradeep S. Sindhu , Kireeti Kompella , Dennis C. Ferguson , Bjorn O. Liencres , Nalini Agarwal , Hann-Hwan Ju , Raymond Marcelino Manese Lim , Rasoul Mirzazadeh Oskouy , Sreeram Veeragandham
IPC分类号: H04L12/28
CPC分类号: G06F15/167 , H04L12/5601 , H04L29/06 , H04L45/00 , H04L45/72 , H04L45/7457 , H04L47/6225 , H04L49/103 , H04L49/108 , H04L49/1538 , H04L49/203 , H04L49/25 , H04L49/252 , H04L49/3072 , H04L49/3081 , H04L49/608 , H04L49/90 , H04L49/901 , H04L49/9042 , H04L49/9047 , H04L49/9057 , H04L69/22 , H04L2012/5652 , H04L2012/5679 , H04L2012/5681 , H04Q11/0478
摘要: A method and apparatus for switching a data packet between a source and destination in a network. The data packet includes a header portion and a data portion. The header portion includes routing information for the data packet. The method includes defining a data path in the router comprising a path through the router along which the data portion of the data packet travels and defining a control path comprising a path through the router along which routing information from the header portion travels. The method includes separating the data path and control path in the router such that the routing information can be separated from the data portion allowing for the separate processing of each in the router. The data portion can be stored in a global memory while routing decisions are made on the routing information in the control path.
摘要翻译: 一种用于在网络中的源和目的地之间切换数据分组的方法和装置。 数据分组包括报头部分和数据部分。 报头部分包括用于数据分组的路由信息。 该方法包括在路由器中定义数据路径,其包括通过路由器的路径,数据分组的数据部分沿着路径行进,并且定义包括通过路由器的路径的控制路径,路由器沿着路径信息从该路径行进。 该方法包括分离路由器中的数据路径和控制路径,使得路由信息可以与数据部分分离,允许路由器中的每一个的单独处理。 数据部分可以存储在全局存储器中,同时对控制路径中的路由信息作出路由决定。
-
公开(公告)号:US08082364B1
公开(公告)日:2011-12-20
申请号:US13073753
申请日:2011-03-28
申请人: David M. Katz , Dennis C. Ferguson
发明人: David M. Katz , Dennis C. Ferguson
IPC分类号: G06F15/16
CPC分类号: G06F17/30985 , Y10S707/99942
摘要: A software module operating within a router, such as an operating system, manages state information within a hierarchically ordered and temporally-linked data structure. The software module sends state change messages to other software modules within the router, referred to as consumers, in an order that corresponds to the hierarchical order and the temporal linking. The data structure may comprise a plurality of objects to store state information. The operating system may receive event messages that indicate a change to the state information. The objects may be hierarchically linked in accordance with a hierarchy representing relationships of event messages. The objects may be temporally linked in accordance with the order in which the operating system receives event messages. The operating system may traverse the data structure according to the temporal and hierarchical links to select state change messages to send to a consumer.
摘要翻译: 在诸如操作系统的路由器内操作的软件模块管理层级排序和时间链接的数据结构内的状态信息。 软件模块以对应于分级顺序和时间链接的顺序将状态改变消息发送到路由器内的其他软件模块(称为消费者)。 数据结构可以包括存储状态信息的多个对象。 操作系统可以接收指示状态信息改变的事件消息。 可以根据表示事件消息的关系的层次结构来分层地链接对象。 对象可以根据操作系统接收到事件消息的顺序在时间上相关联。 操作系统可以根据时间和分层链路遍历数据结构,以选择要发送给消费者的状态改变消息。
-
公开(公告)号:US08059543B2
公开(公告)日:2011-11-15
申请号:US12815906
申请日:2010-06-15
申请人: Dennis C. Ferguson , Philippe Lacroute , Chi-Chung Chen , Gerald Cheung , Tatao Chuang , Pankaj Patel , Viswesh Anathakrishnan
发明人: Dennis C. Ferguson , Philippe Lacroute , Chi-Chung Chen , Gerald Cheung , Tatao Chuang , Pankaj Patel , Viswesh Anathakrishnan
CPC分类号: H04L49/90 , H04L47/50 , H04L47/6225 , H04L49/3036 , H04L49/351 , H04L49/901 , H04L49/9094
摘要: Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue.
摘要翻译: 订购逻辑确保由多个并行处理单元处理的数据项以原始每流顺序从处理单元卸载,数据项被加载到并行处理单元中。 排序逻辑包括指针存储器,尾部矢量和头部矢量。 通过这三个元素,排序逻辑跟踪与数据流相对应的多个“虚拟队列”。 循环仲裁器只有在数据项位于其虚拟队列的头部时才从处理单元中卸载数据项。
-
公开(公告)号:US20110235643A1
公开(公告)日:2011-09-29
申请号:US13157997
申请日:2011-06-10
IPC分类号: H04L12/56
CPC分类号: H04L45/02 , H04L45/745 , H04L49/3009 , H04L49/3072
摘要: A network device for performing redirect checking includes an input device and processing logic. The input device receives a data packet on a first one of a number of interfaces. The data packet includes source and destination addresses. The processing logic assigns an incoming interface to the data packet and generates forwarding information identifying a next hop for the data packet. The processing logic also identifies an outgoing interface based on the next hop and determines whether the incoming interface index is equal to the outgoing interface index. The processing logic also determines whether the data packet originated from a station that is part of the same subnet as the next hop. When both of these conditions are met, the processing logic generates a redirect message.
摘要翻译: 用于执行重定向检查的网络设备包括输入设备和处理逻辑。 输入设备在多个接口中的第一个接收数据包。 数据包包括源地址和目的地址。 处理逻辑将输入接口分配给数据包,并产生识别数据包的下一跳的转发信息。 处理逻辑还基于下一跳标识出接口,并确定进入接口索引是否等于出接口索引。 处理逻辑还确定数据分组是源自与下一跳相同的子网的一部分的站。 当满足这两个条件时,处理逻辑生成重定向消息。
-
公开(公告)号:US07903659B2
公开(公告)日:2011-03-08
申请号:US12435162
申请日:2009-05-04
申请人: Pradeep S. Sindhu , Dennis C. Ferguson , Bjorn O. Liencres , Nalini Agarwal , Hann-Hwan Ju , Raymond Marcelino Manese Lim , Rasoul Mirzazadeh Oskouy , Sreeram Veeragandham
发明人: Pradeep S. Sindhu , Dennis C. Ferguson , Bjorn O. Liencres , Nalini Agarwal , Hann-Hwan Ju , Raymond Marcelino Manese Lim , Rasoul Mirzazadeh Oskouy , Sreeram Veeragandham
IPC分类号: H04L12/56
CPC分类号: G06F15/167 , H04L12/5601 , H04L29/06 , H04L45/00 , H04L45/72 , H04L45/7457 , H04L47/6225 , H04L49/103 , H04L49/108 , H04L49/1538 , H04L49/203 , H04L49/25 , H04L49/252 , H04L49/3072 , H04L49/3081 , H04L49/608 , H04L49/90 , H04L49/901 , H04L49/9042 , H04L49/9047 , H04L49/9057 , H04L69/22 , H04L2012/5652 , H04L2012/5679 , H04L2012/5681 , H04Q11/0478
摘要: A network device switches variable length data units from a source to a destination in a network. An input port receives the variable length data unit and a divider divides the variable length data unit into uniform length data units for temporary storage in the network device. A distributed memory includes a plurality of physically separated memory banks addressable using a single virtual address space and an input switch streams the uniform length data units across the memory banks based on the virtual address space. The network device further includes an output switch for extracting the uniform length data units from the distributed memory by using addresses of the uniform length data units within the virtual address space. The output switch reassembles the uniform length data units to reconstruct the variable length data unit. An output port receives the variable length data unit and transfers the variable length data unit to the destination.
摘要翻译: 网络设备将可变长度数据单元从网络中的源切换到目的地。 输入端口接收可变长度数据单元,并且除法器将可变长度数据单元划分成用于在网络设备中临时存储的统一长度数据单元。 分布式存储器包括可以使用单个虚拟地址空间寻址的多个物理上分离的存储器组,并且输入开关基于虚拟地址空间跨越存储体流量化均匀长度数据单元。 网络设备还包括输出开关,用于通过使用虚拟地址空间内的均匀长度数据单元的地址从分布式存储器提取均匀长度的数据单元。 输出开关重新组合均匀的长度数据单元以重构可变长度数据单元。 输出端口接收可变长度数据单元并将可变长度数据单元传送到目的地。
-
公开(公告)号:US07864769B1
公开(公告)日:2011-01-04
申请号:US12193508
申请日:2008-08-18
IPC分类号: H04L12/28
CPC分类号: H04L12/1854 , H04L45/00
摘要: Techniques are described to replicate multicast packets in accordance with a hierarchical data structure. For example, upon receiving a multicast packet, a packet-forwarding engine may communicate the packet to packet-forwarding engines corresponding to starting nodes of the hierarchical data structure. The packet-forwarding engines corresponding to starting nodes of the hierarchical data structure may replicate the multicast packet for local interface cards, and forward the replicated packets to the network. Furthermore, the packet-forwarding engines may replicate the packet for packet-forwarding engines corresponding to downstream nodes. In this manner, the packet replication process is distributed throughout the router decreasing the complexity of necessary replication hardware. Furthermore, the packet replication process is highly scalable resulting in a latency of one fabric hop when the number of packet-forwarding engines doubles. Also, when the hierarchical data structure has more than one starting node, the packet replication process is less susceptible to a single point failure.
摘要翻译: 描述了根据分层数据结构复制多播分组的技术。 例如,在接收到组播分组时,分组转发引擎可以将分组传送到与分层数据结构的起始节点相对应的分组转发引擎。 与分级数据结构的起始节点相对应的分组转发引擎可以复制本地接口卡的组播数据包,并将复制的分组转发到网络。 此外,分组转发引擎可以对与下游节点相对应的分组转发引擎复制分组。 以这种方式,分组复制过程分布在整个路由器中,从而降低必要复制硬件的复杂度。 此外,分组复制过程是高度可扩展的,导致当分组转发引擎的数量加倍时,一个结构跳跃的延迟。 此外,当分层数据结构具有多个起始节点时,分组复制过程对单点故障较不敏感。
-
公开(公告)号:US20100309916A1
公开(公告)日:2010-12-09
申请号:US12856386
申请日:2010-08-13
申请人: Rasoul Mirzazadeh OSKOUY , Dennis C. Ferguson , Hann-Hwan Ju , Raymond Marcelino Manese Lim , Pradeep S. Sindhu , Sreeram Veeragandham , Jeff Zimmer , Michael M.Y. Hui
发明人: Rasoul Mirzazadeh OSKOUY , Dennis C. Ferguson , Hann-Hwan Ju , Raymond Marcelino Manese Lim , Pradeep S. Sindhu , Sreeram Veeragandham , Jeff Zimmer , Michael M.Y. Hui
IPC分类号: H04L12/56
CPC分类号: H04L45/74 , G06F11/08 , H04L1/0041 , H04L12/56 , H04L12/5601 , H04L29/06 , H04L45/00 , H04L45/20 , H04L45/60 , H04L47/6225 , H04L49/103 , H04L49/108 , H04L49/203 , H04L49/25 , H04L49/254 , H04L49/30 , H04L49/3009 , H04L49/3063 , H04L49/3081 , H04L49/555 , H04L49/602 , H04L49/608 , H04L49/90 , H04L49/901 , H04L49/9047 , H04L69/16 , H04L69/161 , H04L69/22 , H04L69/324 , H04L2012/5652 , H04L2012/5679 , H04Q11/0478
摘要: A method and apparatus for in-line processing a data packet while routing the packet through a router in a system transmitting data packets between a source and a destination over a network including the router. The method includes receiving the data packet and pre-processing layer header data for the data packet as the data packet is received and prior to transferring any portion of the data packet to packet memory. The data packet is thereafter stored in the packet memory. A routing through the router is determined including a next hop index describing the next connection in the network. The data packet is retrieved from the packet memory and a new layer header for the data packet is constructed from the next hop index while the data packet is being retrieved from memory. The new layer header is coupled to the data packet prior to transfer from the router.
摘要翻译: 一种用于在通过包括路由器的网络在源和目的地之间传输数据分组的系统中的路由器路由数据包的同时处理数据分组的方法和装置。 该方法包括在接收到数据分组并且将数据分组的任何部分传送到分组存储器之前接收数据分组和数据分组的预处理层报头数据。 数据分组此后被存储在分组存储器中。 确定通过路由器的路由,其包括描述网络中的下一个连接的下一跳索引。 从分组存储器检索数据分组,并且在从存储器检索数据分组的同时,从下一跳索引构建数据分组的新层头。 在从路由器传送之前,将新层标头耦合到数据包。
-
公开(公告)号:US20100177777A1
公开(公告)日:2010-07-15
申请号:US12731653
申请日:2010-03-25
申请人: Stefan DYCKERHOFF , Pankaj Patel , Pradeep Sindhu , Ashok Krishnamurthi , Hann-Hwan Ju , Ramalingam K. Anand , Dennis C. Ferguson , Chang-Hong Wu
发明人: Stefan DYCKERHOFF , Pankaj Patel , Pradeep Sindhu , Ashok Krishnamurthi , Hann-Hwan Ju , Ramalingam K. Anand , Dennis C. Ferguson , Chang-Hong Wu
IPC分类号: H04L12/56
CPC分类号: H04L45/00 , H04L45/60 , H04L47/125 , H04L49/103 , H04L49/45 , H04L49/552
摘要: A network device includes one or more sprayers, multiple packet processors, and one or more desprayers. The sprayers receive packets on at least one incoming packet stream and distribute the packets according to a load balancing scheme that balances the number of bytes of packet data that is given to each of the packet processors. The packet processors receive the packets from the sprayers and process the packets to determine routing information for the packets. The desprayers receive the processed packets from the packet processors and transmit the packets on at least one outgoing packet stream based on the routing information.
摘要翻译: 网络设备包括一个或多个喷雾器,多个分组处理器和一个或多个解卷器。 喷雾器在至少一个输入分组流上接收分组,并根据负载平衡方案分发分组,该负载平衡方案平衡给予每个分组处理器的分组数据的字节数。 分组处理器接收来自喷雾器的分组,并处理分组以确定分组的路由信息。 解散器从分组处理器接收处理的分组,并基于路由信息在至少一个输出分组流上传送分组。
-
-
-
-
-
-
-
-
-