CA2350778A1 - Improvements in or relating to buffer management - Google Patents

Improvements in or relating to buffer management Download PDF

Info

Publication number
CA2350778A1
CA2350778A1 CA002350778A CA2350778A CA2350778A1 CA 2350778 A1 CA2350778 A1 CA 2350778A1 CA 002350778 A CA002350778 A CA 002350778A CA 2350778 A CA2350778 A CA 2350778A CA 2350778 A1 CA2350778 A1 CA 2350778A1
Authority
CA
Canada
Prior art keywords
packet
cells
buffer element
buffer
free list
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.)
Granted
Application number
CA002350778A
Other languages
French (fr)
Other versions
CA2350778C (en
Inventor
Andrew Reeve
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.)
Roke Manor Research Ltd
Original Assignee
Roke Manor Research Ltd
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
Priority claimed from GBGB0016474.9A external-priority patent/GB0016474D0/en
Application filed by Roke Manor Research Ltd filed Critical Roke Manor Research Ltd
Publication of CA2350778A1 publication Critical patent/CA2350778A1/en
Application granted granted Critical
Publication of CA2350778C publication Critical patent/CA2350778C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5665Interaction of ATM with other protocols
    • H04L2012/5667IP over ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Abstract

Described herein is a method for reassembling variable length packets from fixed length cells. When a variable length packet, for example, an Internet Protocol (IP) packet, is transmitted between routers over a link which transmits data as fixed length cells, for example, an asynchronous transfer mode (ATM) link, the packet must be segmented into compatible fixed length cells. The receiving router must reassemble the original packet from the cells as they arrive. A packet buffer free pool (300) is provided which is maintained as a linked list, known as a 'free list', and which comprises a plurality of buffer elements (302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340). When a first cell for a given packet arrives, a buffer element (302) is taken from the head of the free list and allocated to that packet. The packet data from the first and subsequent cells is copied into the allocated buffer element and each time the buffer element is moved to the end of the free list. Upon the arrival of the last cell for the given packet, the complete packet is processed. Failed reassemblies are automatically abandoned as the buffer element is reused when it reaches the head of the free list. This technique is relevant to protection against "denial of service" attacks upon computer networks.
CA002350778A 2000-07-05 2001-06-14 Improvements in or relating to buffer management Expired - Fee Related CA2350778C (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB0016474.9A GB0016474D0 (en) 2000-07-05 2000-07-05 Reassembly buffer management
GB0016474.9 2000-07-05
GB0024735.3 2000-10-10
GB0024735A GB2364468A (en) 2000-07-05 2000-10-10 Buffer management

Publications (2)

Publication Number Publication Date
CA2350778A1 true CA2350778A1 (en) 2002-01-05
CA2350778C CA2350778C (en) 2008-08-05

Family

ID=26244595

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002350778A Expired - Fee Related CA2350778C (en) 2000-07-05 2001-06-14 Improvements in or relating to buffer management

Country Status (7)

Country Link
US (1) US6888835B2 (en)
EP (1) EP1170975B1 (en)
JP (1) JP4606657B2 (en)
AT (1) ATE267502T1 (en)
CA (1) CA2350778C (en)
DE (1) DE60103331T2 (en)
ES (1) ES2220661T3 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002525751A (en) * 1998-09-23 2002-08-13 インフィネオン テクノロジース アクチエンゲゼルシャフト Unit controlled by programming
US6804692B2 (en) * 2001-12-21 2004-10-12 Agere Systems, Inc. Method and apparatus for reassembly of data blocks within a network processor
US7110422B1 (en) * 2002-01-29 2006-09-19 At&T Corporation Method and apparatus for managing voice call quality over packet networks
CA2484722C (en) * 2002-05-03 2012-07-10 Cedar Point Communications, Inc. Communications switching architecture
US7558873B1 (en) 2002-05-08 2009-07-07 Nvidia Corporation Method for compressed large send
US20030212735A1 (en) * 2002-05-13 2003-11-13 Nvidia Corporation Method and apparatus for providing an integrated network of processors
US7437548B1 (en) 2002-07-11 2008-10-14 Nvidia Corporation Network level protocol negotiation and operation
US7397797B2 (en) * 2002-12-13 2008-07-08 Nvidia Corporation Method and apparatus for performing network processing functions
US7420983B2 (en) * 2003-03-13 2008-09-02 Alcatel Lucent Dynamic assignment of re-assembly queues
JP4283589B2 (en) * 2003-03-25 2009-06-24 株式会社エヌ・ティ・ティ・ドコモ COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
US7359380B1 (en) 2003-06-24 2008-04-15 Nvidia Corporation Network protocol processing for routing and bridging
US7913294B1 (en) 2003-06-24 2011-03-22 Nvidia Corporation Network protocol processing for filtering packets
US7620070B1 (en) 2003-06-24 2009-11-17 Nvidia Corporation Packet processing with re-insertion into network interface circuitry
US7359983B1 (en) * 2003-06-24 2008-04-15 Nvidia Corporation Fragment processing utilizing cross-linked tables
US7444360B2 (en) * 2004-11-17 2008-10-28 International Business Machines Corporation Method, system, and program for storing and using metadata in multiple storage locations
US8316129B2 (en) 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
US9037745B2 (en) 2006-01-18 2015-05-19 International Business Machines Corporation Methods and devices for processing incomplete data packets
TWI312248B (en) * 2006-01-25 2009-07-11 Hon Hai Prec Ind Co Ltd System adn method for managing buffer resources in a modem
US8074275B2 (en) * 2006-02-01 2011-12-06 Cisco Technology, Inc. Preventing network denial of service attacks by early discard of out-of-order segments
US8665892B2 (en) * 2006-05-30 2014-03-04 Broadcom Corporation Method and system for adaptive queue and buffer control based on monitoring in a packet network switch
EP1912402B1 (en) * 2006-10-10 2019-08-28 Mitsubishi Electric R&D Centre Europe B.V. Protection of the data transmission network systems against buffer oversizing attacks
US20080205423A1 (en) * 2007-02-28 2008-08-28 Gainer James J Method and Apparatus for Communicating Variable-Sized Packets in a Communications Network
US8743907B1 (en) * 2008-01-28 2014-06-03 Marvell Israel (M.I.S.L.) Ltd. Apparatus for reassembling a fragmented data unit and transmitting the reassembled data unit
JP5473406B2 (en) * 2008-07-18 2014-04-16 キヤノン株式会社 Network processing apparatus and processing method thereof
US9331955B2 (en) * 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3085391B2 (en) 1989-06-19 2000-09-04 株式会社日立製作所 Communication device
US5809024A (en) * 1995-07-12 1998-09-15 Bay Networks, Inc. Memory architecture for a local area network module in an ATM switch
US5920561A (en) * 1996-03-07 1999-07-06 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5898688A (en) * 1996-05-24 1999-04-27 Cisco Technology, Inc. ATM switch with integrated system bus
US5870394A (en) * 1996-07-23 1999-02-09 Northern Telecom Limited Method and apparatus for reassembly of data packets into messages in an asynchronous transfer mode communications system
US5999980A (en) * 1996-09-12 1999-12-07 Cabletron Systems, Inc. Apparatus and method for setting a congestion indicate bit in an backwards RM cell on an ATM network
JP4452781B2 (en) * 1997-02-14 2010-04-21 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Method and apparatus for maintaining time order by physical order in memory
US5905889A (en) * 1997-03-20 1999-05-18 International Business Machines Corporation Resource management system using next available integer from an integer pool and returning the integer thereto as the next available integer upon completion of use
US6148001A (en) * 1997-06-12 2000-11-14 Nokia Telecommunications, Oy Multipoint-to-point system which multiplexes complete packets comprised of ATM cells on to a single virtual channel connection
US6026090A (en) * 1997-11-14 2000-02-15 Fore System, Inc. Method and system for receiving ATM cells from an ATM network by a host
CN1257382A (en) * 1998-07-24 2000-06-21 休斯电子公司 Frame formatting for aerial interface
GB2344974B (en) * 1998-12-15 2003-07-23 Roke Manor Research Improvements in or relating to networks
US7020166B2 (en) * 2000-10-03 2006-03-28 Broadcom Corporation Switch transferring data using data encapsulation and decapsulation
US7120155B2 (en) * 2000-10-03 2006-10-10 Broadcom Corporation Switch having virtual shared memory
US6889288B2 (en) * 2002-12-02 2005-05-03 Emc Corporation Reducing data copy operations for writing data from a network to storage of a cached data storage system by organizing cache blocks as linked lists of data fragments

Also Published As

Publication number Publication date
EP1170975B1 (en) 2004-05-19
US20020024963A1 (en) 2002-02-28
ES2220661T3 (en) 2004-12-16
CA2350778C (en) 2008-08-05
JP4606657B2 (en) 2011-01-05
DE60103331T2 (en) 2004-09-23
JP2002094569A (en) 2002-03-29
DE60103331D1 (en) 2004-06-24
US6888835B2 (en) 2005-05-03
EP1170975A1 (en) 2002-01-09
ATE267502T1 (en) 2004-06-15

Similar Documents

Publication Publication Date Title
CA2350778A1 (en) Improvements in or relating to buffer management
US7729352B1 (en) System and method for handling flows in a network
EP1905207B1 (en) A method to extend the physical reach of an infiniband network
EP1176774A3 (en) TDM over IP (IP circuit emulation service)
CN101095319B (en) Interworking between cell and packet based networks
US6456632B1 (en) Protocol separation in packet communication
EP0849970A3 (en) Method of transferring internet protocol packets by the use of fast ATM cell transport and network for performing the method
JP2001526473A (en) XDSL based internet access router
JP2000032003A (en) Quality assurance node device
EP1387536A3 (en) System and method for increasing fairness in packet ring networks
US7921285B2 (en) Means of mitigating denial of service attacks on IP fragmentation in high performance IPsec gateways
CN100433714C (en) Method for transmission processing IP fragment message
WO2002028048A3 (en) Virtual ip framework and interfacing method
WO2000072532A1 (en) System and method for network packet reduction
US6785239B1 (en) Reducing delays in a communication network using a re-fragmentation pipeline
Tanaka et al. 6LoWPAN fragment forwarding
CA2359594A1 (en) End-to-end prioritized data delivery on networks using ip over frame relay
US6614794B1 (en) System and method for multiple modem traffic redirection
CA2273224A1 (en) Scaleable data network router
US6999450B2 (en) Ethernet based TDM switch
Cisco X.25 Configuration Commands
EE04732B1 (en) A communications network, an IP network that includes a packet classifier in a terminal system, a router, and a method for managing packets in a communications network on a page system, in a packet classifier in a router
CA2411410A1 (en) System and method for providing protection of data communications in packet-based networks
WO2000016530A3 (en) A transmission system, a method and an apparatus providing access for ip data packets to a firewall protected network
AU2003263388A1 (en) Resource management system and method for ensuring qos in internet protocol (ip) networks

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed