Reliable transport protocol for internetwork routing
DCFirst Claim
1. A method of reliably receiving, at a device having a recipient identifier, multicast packets and unicast packets in a network, comprisingupon receiving a first packet having a sequence number from a source, transmitting an acknowledgment to said source, said acknowledgment indicating said recipient identifier;
- upon receiving a second packet having an indicator representative of a set of destinations for which an acknowledgment was not received, entering a conditional-receive mode if said indicator is not representative of said recipient identifier; and
upon receiving a third packet having an indicator representative of conditional receipt, receiving said third packet only when in said conditional-receive mode.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A reliable transport protocol, suitable for routing protocols, that works with unicast transmission and multicast transmission, and an improved routing protocol based thereon. Multicast transmissions can be interspersed with unicast transmissions in situations where some of the receivers have received all of the packets sent to them and others have not. A mechanism to deliver multicast packets quickly to some receivers, even when there are unacknowledged packets pending for other receivers. When a packet is multicast from a sender node to all of its neighbors, the sender puts the packet on a queue for each neighbor and retransmits the packet if an acknowledgement has not been received within a predetermined period of time. If the packet is retransmitted, it is transmitted as a unicast. The invention takes advantage of the fact that the sender already has to maintain state information to determine who has not received its packets. A technique for distributing routing information gathered by a router outside an autonomous system of routers using the same routing protocol. A metric calculated by an identical routing protocol or a different routing protocol may be distributed and used by routers in a different autonomous system. Packets may be labeled with authentication information or with an administrative tag that specifies a method of routing in response to policy considerations.
514 Citations
41 Claims
-
1. A method of reliably receiving, at a device having a recipient identifier, multicast packets and unicast packets in a network, comprising
upon receiving a first packet having a sequence number from a source, transmitting an acknowledgment to said source, said acknowledgment indicating said recipient identifier; -
upon receiving a second packet having an indicator representative of a set of destinations for which an acknowledgment was not received, entering a conditional-receive mode if said indicator is not representative of said recipient identifier; and upon receiving a third packet having an indicator representative of conditional receipt, receiving said third packet only when in said conditional-receive mode. - View Dependent Claims (2, 3)
-
-
4. A method of reliably transmitting multicast packets and unicast packets in a network, comprising
multicasting a first packet having a sequence number to a plurality of destinations; -
recording a set of ones of said plurality of destinations for which an acknowledgment is not received; when said set is nonempty, multicasting a second packet having an indicator representative of said set; multicasting a third packet having an indicator representative of conditional receipt, whereby destinations in said set ignore said third multicast packet; and unicasting said first packet and said third packet to each destination in said set. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A device for routing packets in a network, comprising
means for reliably transmitting multicast packets and unicast packets in a network, said means for reliably transmitting comprising (a) means for multicasting a first packet having a sequence number to a plurality of destinations, (b) means for recording a set of ones of said plurality of destinations for which an acknowledgment is not received, (c) means, when said set is nonempty, for multicasting a second packet having an indicator representative of said set, (d) means for multicasting a third packet having an indicator representative of conditional receipt, whereby destinations in said set ignore said third packet, and (e) means for unicasting said first packet and said third packet to each destination in said set; - and
means for reliably receiving multicast packets and unicast packets in a network, said means for reliably receiving comprising (a) a recipient identifier, (b) means, upon receiving a packet having a sequence number from a source, for transmitting an acknowledgment to said source, said acknowledgment indicating said recipient identifier, (c) means, upon receiving a packet having an indicator representative of a set of destinations for which an acknowledgment was not received, for entering a conditional-receive mode if said indicator is not representative of said recipient identifier, and (d) means, for receiving a packet having an indicator representative of conditional receipt only when in said conditional-receive mode. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
- and
-
26. A method of routing packets in a network, comprising
receiving a packet, said packet comprising an external header, said external header comprising a value representative of an external routing protocol, a metric assigned by said external routing protocol, a value representative of an autonomous system of routers, and a value representative of an administrative tag; -
routing said packet in response to said metric assigned by said external routing protocol; and routing said packet in response to an administrative policy indicated by said administrative tag. - View Dependent Claims (27, 28)
-
-
29. Apparatus for reliably receiving multicast packets and unicast packets in a network, said apparatus comprising
a recipient identifier; -
means for transmitting an acknowledgment to a source, said acknowledgment indicating said recipient identifier, upon receiving a packet having a sequence number from said source; means for entering a conditional-receive mode upon receiving a second packet having an indicator representative of a set of destinations for which an acknowledgment was not received, if said indicator is not representative of said recipient identifier; and means for receiving a packet having an indicator representative of conditional receipt only when in said conditional-receive mode. - View Dependent Claims (30, 31)
-
-
32. Apparatus for reliably transmitting multicast packets and unicast packets in a network, said apparatus comprising
means for multicasting a first packet having a sequence number to a plurality of destinations; -
means for recording a set of ones of said plurality of destinations for which an acknowledgment is not received; means responsive to said set for multicasting a second packet having an indicator representative of said set; means for multicasting a third packet having an indicator directing destinations in said set to ignore said third multicast packet; and means for unicasting said first packet and said third packet to each destination in said set. - View Dependent Claims (33, 34, 35, 36, 37, 38)
-
-
39. Apparatus for routing packets in a network, said apparatus comprising
means for receiving a packet, said packet comprising an external header, said external header comprising a value representative of an external routing protocol, a metric assigned by said external routing protocol, a value representative of an autonomous system of routers, and a value representative of an administrative tag; -
means for routing said packet in response to said metric assigned by said external routing protocol; and means for routing said packet in response to an administrative policy indicated by said administrative tag. - View Dependent Claims (40, 41)
-
Specification