One embodiment provides a system that facilitates cut-through forwarding of message fragments over a network. During operation, the system receives a packet that corresponds to a fragment of a message and contains a fragment header. The system stores in a data structure a mapping relationship between the fragment header and a hierarchically structured variable-length identifier (HSVLI), wherein the HSVLI comprises contiguous name components ordered from a most general level to a most specific level. The system makes a forwarding decision for the packet based on the fragment header prior to receiving all fragment packets associated with the message, thereby facilitating cut-through forwarding of the message fragments over a network.
-
A computer-implemented method for forwarding packets, the method comprising:
determining, by a content-requesting node, a maximum transmission unit of a network;
fragmenting, by the content-requesting node, a message into one or more packets, wherein the size of each packet is less than or equal to the maximum transmission unit of the network;
generating, by the content-requesting node, a flow identifier which indicates that a respective packet corresponds to the message, wherein the flow identifier corresponds to an identifier of the message,
wherein the identifier of the message is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level;
generating, by the content-requesting node, a fragment header which identifies the one or more packets as corresponding to the message, wherein the fragment header includes:
the flow identifier;
a fragment count that indicates a total number of fragments which correspond to the message; and
a fragment number that indicates an index of the fragment;
receiving, by a computing device, a first packet that corresponds to a fragment of the message and contains the fragment header;
storing, by the computing device, in a data structure a mapping relationship between the fragment header and the identifier of the message; and
making, by the computing device, a forwarding decision for the first packet based on the fragment header prior to receiving all fragment packets associated with the message,
thereby facilitating cut-through forwarding of the message fragments over a network.
-
The method of claim 1, wherein the data structure further comprises a fragment stream identifier which corresponds to a tuple including:
an Internet Protocol (IP) source address;
an IP destination address;
a protocol field that indicates a higher-layer protocol carried in an IP packet; and
a flow identifier that indicates that the fragment corresponds to the message.
- The method of claim 1, further comprising maintaining a pending interest table, wherein a respective entry in the pending interest table indicates a pending interest, the flow identifier, a hierarchically structured variable-length identifier that identifies the interest and corresponds to the flow identifier, and a fragment bitmap that indicates a number of corresponding content fragments that have been provided for the interest, wherein the identifier that identifies the interest is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level.
-
The method of claim 1, further comprising:
encapsulating the packet using an outer Internet Protocol (IP) header to transmit the packet across a mixed network, wherein the mixed network is comprised of nodes associated with one or more of:
a content centric network;
a network running a version four of IP; and
a network running a version six of IP;
thereby facilitating cut-through forwarding of the message fragments using IP encapsulation over the network.
- The method of claim 1, wherein the packet contains a content object in response to an interest in the content, and wherein the size of the packet containing the content object is equal in size to or smaller than a largest fragment corresponding to an interest in the content, based on a same flow identifier in the fragment header.
-
The method of claim 3, further comprising:
adding an entry in the pending interest table, wherein the entry corresponds to the message;
in response to receiving the first packet, updating the fragment bitmap in the entry based on the fragment count and the fragment number of the fragment header; and
in response to determining that the fragment bitmap is zeroed out, removing the entry from the pending interest table.
-
A computer system for facilitating forwarding of packets, the system comprising:
a processor; and
a storage device storing instructions that when executed by the processor cause the processor to perform a method, the method comprising:
determining, by a content-requesting node, a maximum transmission unit of a network;
fragmenting, by the content-requesting node, a message into one or more packets, wherein the size of each packet is less than or equal to the maximum transmission unit of the network;
generating, by the content-requesting node, a flow identifier which indicates that a respective packet corresponds to the message, wherein the flow identifier corresponds to an identifier of the message;
wherein the identifier of the message is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level;
generating, by the content-requesting node, a fragment header which identifies the one or more packets as corresponding to the message, wherein the fragment header includes:
the flow identifier;
a fragment count that indicates a total number of fragments which correspond to the message; and
a fragment number that indicates an index of the fragment;
receiving, by a computing device, a first packet that corresponds to a fragment of the message and contains the fragment header;
storing, by the computing device, in a data structure a mapping relationship between the fragment header and the identifier of the message; and
making, by the computing device, a forwarding decision for the first packet based on the fragment header prior to receiving all fragment packets associated with the message,
thereby facilitating cut-through forwarding of the message fragments over a network.
-
The computer system of claim 7, wherein the data structure further comprises a fragment stream identifier which corresponds to a tuple including:
an Internet Protocol (IP) source address;
an IP destination address;
a protocol field that indicates a higher-layer protocol carried in an IP packet; and
a flow identifier that indicates that the fragment corresponds to the message.
- The computer system of claim 7, wherein the method further comprises maintaining a pending interest table, wherein a respective entry in the pending interest table indicates a pending interest, the flow identifier, a hierarchically structured variable-length identifier that identifies the interest and corresponds to the flow identifier, and a fragment bitmap that indicates a number of corresponding content fragments that have been provided for the interest, wherein the identifier that identifies the interest is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level.
-
The computer system of claim 7, wherein the method further comprises:
encapsulating the packet using an outer Internet Protocol (IP) header to transmit the packet across a mixed network, wherein the mixed network is comprised of nodes associated with one or more of:
a content centric network;
a network running a version four of IP; and
a network running a version six of IP;
thereby facilitating cut-through forwarding of the message fragments using IP encapsulation over the network.
- The computer system of claim 7, wherein the packet contains a content object in response to an interest in the content, and wherein the size of the packet containing the content object is equal in size to or smaller than a largest fragment corresponding to an interest in the content, based on a same flow identifier in the fragment header.
-
The computer system of claim 9, wherein the method further comprises:
adding an entry in the pending interest table, wherein the entry corresponds to the message;
in response to receiving the first packet, updating the fragment bitmap in the entry based on the fragment count and the fragment number of the fragment header; and
in response to determining that the fragment bitmap is zeroed out, removing the entry from the pending interest table.
-
A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:
determining, by a content-requesting node, a maximum transmission unit of a network;
fragmenting, by the content-requesting node, a message into one or more packets, wherein the size of each packet is less than or equal to the maximum transmission unit of the network;
generating, by the content-requesting node, a flow identifier which indicates that a respective packet corresponds to the message, wherein the flow identifier corresponds to an identifier of the message,
wherein the identifier of the message is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level;
generating, by the content-requesting node, a fragment header which identifies the one or more packets as corresponding to the message, wherein the fragment header includes:
the flow identifier;
a fragment count that indicates a total number of fragments which correspond to the message; and
a fragment number that indicates an index of the fragment;
receiving, by a computing device, a first packet that corresponds to a fragment of the message and contains the fragment header;
storing, by the computing device, in a data structure a mapping relationship between the fragment header and the identifier of the message; and
making, by the computing device, a forwarding decision for the packet based on the fragment header prior to receiving all fragment packets associated with the message,
thereby facilitating cut-through forwarding of the message fragments over a network.
-
The storage medium of claim 13, wherein the data structure further comprises a fragment stream identifier which corresponds to a tuple including:
an Internet Protocol (IP) source address;
an IP destination address;
a protocol field that indicates a higher-layer protocol carried in an IP packet; and
a flow identifier that indicates that the fragment corresponds to the message.
- The storage medium of claim 13, wherein the method further comprises maintaining a pending interest table, wherein a respective entry in the pending interest table indicates a pending interest, the flow identifier, a hierarchically structured variable-length identifier that identifies the interest and corresponds to the flow identifier, and a fragment bitmap that indicates a number of corresponding content fragments that have been provided for the interest, wherein the identifier that identifies the interest is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level.
-
The storage medium of claim 13, wherein the method further comprises:
encapsulating the packet using an outer Internet Protocol (IP) header to transmit the packet across a mixed network, wherein the mixed network is comprised of nodes associated with one or more of:
a content centric network;
a network running a version four of IP; and
a network running a version six of IP;
thereby facilitating cut-through forwarding of the message fragments using IP encapsulation over the network.
- The storage medium of claim 13, wherein the packet contains a content object in response to an interest in the content, and wherein the size of the packet containing the content object is equal in size to or smaller than a largest fragment corresponding to an interest in the content, based on a same flow identifier in the fragment header.
-
The storage medium of claim 15, wherein the method further comprises:
adding an entry in the pending interest table, wherein the entry corresponds to the message;
in response to receiving the first packet, updating the fragment bitmap in the entry based on the fragment count and the fragment number of the fragment header; and
in response to determining that the fragment bitmap is zeroed out, removing the entry from the pending interest table.
-
Cisco Technology Inc
(Feb 10 2017)
Explore more patents:
-
Cisco Systems Inc
(Jan 10 2017)
Explore more patents:
-
Palo Alto Research Center Incorporated
(Jun 18 2014)
Explore more patents:
-
Palo Alto Res Ct Inc
Explore more patents:
-
H04L45/40
Explore more patents:
-
H04L47/36
Explore more patents:
-
H04L67/327
Explore more patents:
-
H04L69/22
Explore more patents:
-
H04L12/721
Explore more patents:
-
H04L12/741
Explore more patents:
-
H04L12/805
Explore more patents:
-
H04L29/06
Explore more patents:
-
H04L29/08
Explore more patents:
Document Preview
- Publication: Dec 6, 2016
-
Application:
Jun 19, 2014
US 201414309681 A
-
Priority:
Jun 19, 2014
US 201414309681 A