EP0924901A2

Gigabit ethernet interface to synchronous network (Sonet) ring

Abstract

A method and apparatus for routing data packets via a synchronous optical (SONET) network from devices connected to a local area network to devices connected to other local area networks. At each transport node in the SONET network the data packets are unloaded from SONET payloads and requeued for transmission on an output path. This allows for easy resolution of contention between devices transmitting at the same time and avoids pre-assigning SONET channels. Source and destination address Information from the data packets can be used to route the data packets through the SONET network. A time-to-live indicator can be used to find the shortest path to a destination address in a SONET ring network or any bi-directional ring network.

EP0924901A2, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Projected expiry passed 22 December 2018, 7.8 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

14 claims: 8 independent, 6 dependent

  1. 1
    A method for routing data packets in a SONET network comprising the steps of:(a) receiving a data packet at a transport node ;(b) determining a destination address for said data packet;(c) selecting an output path based on said destination address;(d) queuing said data packet on a queue associated with said selected output path;(e) selecting a data packet from said queue;and (f) transmitting said selected data packet onto said selected output path.
  2. 5
    A method as claimed in any of the above claims wherein said selected output path is on the SONET network and further comprising the step of:(a) including said selected data packets in one or more SONET payloads prior to transmitting said data packets onto said selected output path.
  3. 6
    A method as claimed in any of the above claims, wherein the step of selecting an output path based on said destination address comprises the following sub-steps:(i) determining if an entry exists in a table associated with said transport node matching said destination address;and, (ii) if a matching entry exists, reading from said associated table an identifier of an output path associated with said destination address, said output path of said identifier comprising said selected output path.
  4. 8
    A method claimed in any of the above claims wherein the step of selecting an output path associated with said destination address comprises the following sub-steps:(i) determining if an entry exists in a table associated with said transport node matching said destination address, and (ii) if a matching entry does not exist: (I) selecting an output path for said each data packet;(II) for at least one remaining output path other than said selected output path creating a copy of said each data packet;(III) associating each copy of said each data packet with one of said remaining output paths;(IV) queuing said copy data packets on queues of said associated remaining output paths;(V) selecting copy data packets from said queues of remaining output paths;and (VI) transmitting said selected copy data packets onto said associated remaining output paths.
  5. 9
    An apparatus for routing data packets in a SONET network comprising:(a) means for receiving a data packet at a transport node;(b) means for determining a destination address for said data packet;(c) means for selecting an output path based on said destination address;(d) means for queuing said data packet on a queue associated with said selected output path;(e) means for selecting a data packet from said queue;and (f) means for transmitting said selected data packet onto said selected output path.
  6. 10
    An apparatus for routing data packets in a SONET network comprising:(a) a plurality of SONET packet receivers for receiving SONET payloads, each SONET payload containing at least part of a data packet;(b) a plurality of data packet receivers for receiving data packets;(c) a packet distributor, (i) said packet distributor connected to each of said plurality of SONET packet receivers and to each of said plurality of data packet receivers;and (ii) said packet distributor for receiving data packets from said plurality of SONET packet receivers and data packet receivers;(d) a plurality of output paths;(e) means for routing each data packet to a selected output path, based on a destination address of said each data packet;(f) a set of queues associated with each said output path. said set of queues for receiving routed data packets;(g) a scheduler associated with each of said set of queues for selecting a data packet from one of said set of queues;(h) a transmitter for transmitting said selected data packet to an output path.
  7. 11
    A method for selecting a shortest path to a destination address for data packets containing source and destination addresses in a bi-directional ring network comprising the steps:(a) receiving said data packets at a node;(b) for each received data packet;(ii) appending a TTL indicator having a value to said each data packet if a TTL indicator has not already been appended;(iii) decrementing a value of a TTL indicator if a TTL indicator has (iv) already been appended to said each data packet (iii) comparing a source address of said each data packet with source address entries on said table and on not finding a match, (I) associating said each data packet with an identifier of an output path associated with the input path from which said data packet was received;(II) creating an entry on a table associated with said node containing: (A) a source address of said each data packet, (B) said identifier, and (C) the value of the TTL indicator;and on finding a match creating a new table entry based on said each data packet and deleting an existing matching entry if a value of the TTL indicator is higher in said each data packet than that in said existing entry. (c) selecting an output path for a given data packet by: (i) determining if an entry exists in said associated table matching a destination address for said given data packet, (ii) if said entry exists, reading from said associated table an identifier of an output path associated with said destination address, said read output path comprising said selected output path;(iii) if said entry does not exist, (A) selecting an output path for said given data packet;(B) creating at least one copy of said given data packet;(C) selecting a remaining output path other than said selected output path for each copy of said given data packet.
  8. 13
    An apparatus for selecting a shortest path to a destination address for data packets containing source and destination addresses in a bi-directional ring network comprising:(a) means for receiving said data packets at a node;(b) means for, for each received data packet;(i) appending a TTL indicator having a value to said each data packet if a TTL indicator has not already been appended;(ii) decrementing a value of a TTL indicator if a TTL indicator has already been appended to said each data packet: (iii) comparing a source address of said each data packet with source address entries on said table and on not finding a match, (I) associating said each data packet with an identifier of an output path associated with the input path from which said data packet was received;(II) creating an entry on a table associated with said node containing: (A) a source address of said each data packet, (B) said identifier, and (C) the value of the TTL indicator;and on finding a match creating a new table entry based on said each data packet and deleting an existing matching entry if a value of the TTL indicator is higher in said each data packet than that in said existing entry. (c) means for selecting an output path for a given data packet by: (i) determining if an entry exists in said associated table matching a destination address for said given data packet, (ii) if said entry exists, reading from said associated table an identifier of an output path associated with said destination address, said read output path comprising said selected output path;(iii) if said entry does not exist, (A) selecting an output path for said given data packet;(B) creating at least one copy of said given data packet;(C) selecting a remaining output path other than said selected output path for each copy of said given data packet.