Apparatus and methods for providing communication between systems having different protocol versions
First Claim
1. A method for a computer system for providing communication between a first system and a second system, wherein the first system uses IPv4 (Internet Protocol version 4) and the second system uses IPv6 (Internet Protocol version 6), the method comprising:
- providing an IPv4 application on the first system;
inserting an Application Programming Interface (API) level translator layer, wherein the API level translator layer is implemented without using an IPv6 stack;
making a function call to a socket API for IPv4;
intercepting the function call by the API level translator layer, wherein interception of the function call is not required to occur after a packet is passed to an IPv4 stack;
translating the function call to a translated function call wherein the translated function call uses raw sockets;
making a function call to the socket API for the translated function call that uses raw sockets;
setting the socket option on a raw socket to supply new IP headers;
passing the packet to the IPv4 stack;
providing an alternate implementation for a sending-related IPv4 socket function, wherein the alternate implementation comprises;
intercepting an IPv4 socket API call to send a packet;
translating the IPv4 socket API call to use a raw socket;
providing transport and IPv6 headers ahead of user supplied payload data;
fragmenting the packet as required;
calling a corresponding IPv4 socket API function for the raw socked; and
passing the packet to the IPv4 stack; and
providing an alternate implementation for a reception-related IPv4 socket function, wherein the alternate implementation comprises;
receiving an incoming packet on a raw socket;
checking a source host to determine the proper destination for the incoming packet as required;
checking a port number for the incoming packet;
stripping transport and IP headers from the incoming packet; and
passing a payload to the IPv4 application.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for enabling an IPv4 (Internet Protocol version 4) application to communicate across a computer network with an IPv6 (Internet Protocol version 6) system. The system includes a computing device and executable instructions. Executable instructions are configured to make a function call to an IPv4 socket Application Programming Interface (API). The instructions translate the function call to a translated function call wherein the translated function call uses raw sockets. Another function call is made to the IPv4 socket API for the translated function call that uses raw sockets. A packet is passed to an IPv4 stack.
20 Citations
18 Claims
-
1. A method for a computer system for providing communication between a first system and a second system, wherein the first system uses IPv4 (Internet Protocol version 4) and the second system uses IPv6 (Internet Protocol version 6), the method comprising:
-
providing an IPv4 application on the first system; inserting an Application Programming Interface (API) level translator layer, wherein the API level translator layer is implemented without using an IPv6 stack; making a function call to a socket API for IPv4; intercepting the function call by the API level translator layer, wherein interception of the function call is not required to occur after a packet is passed to an IPv4 stack; translating the function call to a translated function call wherein the translated function call uses raw sockets; making a function call to the socket API for the translated function call that uses raw sockets; setting the socket option on a raw socket to supply new IP headers; passing the packet to the IPv4 stack; providing an alternate implementation for a sending-related IPv4 socket function, wherein the alternate implementation comprises; intercepting an IPv4 socket API call to send a packet; translating the IPv4 socket API call to use a raw socket; providing transport and IPv6 headers ahead of user supplied payload data; fragmenting the packet as required; calling a corresponding IPv4 socket API function for the raw socked; and passing the packet to the IPv4 stack; and providing an alternate implementation for a reception-related IPv4 socket function, wherein the alternate implementation comprises; receiving an incoming packet on a raw socket; checking a source host to determine the proper destination for the incoming packet as required; checking a port number for the incoming packet; stripping transport and IP headers from the incoming packet; and passing a payload to the IPv4 application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A set of executable instructions on a computer readable medium for providing communication between an IPv4 (Internet Protocol version 4) system and an IPv6 (Internet Protocol version 6) system, the instructions being configured to:
-
provide an IPv4 application on the IPv4 system; insert an Application Programming Interface (API) level translator layer, wherein the API level translator layer is implemented without using an IPv6 stack; make a function call to an IPv4 socket API; intercept the function call by the API level translator layer, wherein interception of the function call is not required to occur after a packet is passed to an IPv4 stack; translate the function call to a translated function call wherein the translated function call uses raw sockets; make another function call to the IPv4 socket API for the translated function call that uses raw sockets; set the socket option on a raw socket to supply new IP headers; pass the packet to the IPv4 stack; provide an alternate implementation for a sending-related IPv4 socket function, wherein the alternate implementation comprises; intercepting an IPv4 socket API call to send a packet; translating the IPv4 socket API call to use a raw socket; providing transport and IPv6 headers ahead of user supplied payload data; fragmenting the packet as required; calling a corresponding IPv4 socket API function for the raw socket; and passing the packet to the IPv4 stack; and provide an alternate implementation for a reception-related IPv4 socket function, Wherein the alternate implementation comprises; receiving an incoming packet on a raw socket; checking a source host to determine the proper destination for the incoming packet as required; checking a port number for the incoming packet; stripping transport and IP headers from the incoming packet; and passing a payload to the IPv4 application. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system for enabling an IPv4 (Internet Protocol version 4) application to communicate across a computer network using an IPv6 (Internet Protocol version 6) system, the system comprising:
-
a computing device; executable instructions executable on the computing device, wherein the executable instructions are configured to; insert an Application Programming Interface (API) level translator layer, wherein the API level translator layer is implemented without using an IPv6 stack; make a function call to an IPv4 socket API; intercept the function call by the API level translator layer, wherein interception of the function call is not required to occur after a packet is passed to an IPv4 stack; translate the function call to a translated function call wherein the translated function call uses raw sockets; make another function call to the IPv4 socket API for the translated function call that uses raw sockets; set the socket option on a raw socket to supply new IP headers; pass the packet to the IPv4 stack; provide an alternate implementation for a sending-related IPv4 socket function, wherein the alternate implementation comprises; intercepting an IPv4 socket API call to send a packet; translating the IPv4 socket API call to use a raw socket; providing transport and IPv6 headers ahead of user supplied payload data; fragmenting the packet as required; calling a corresponding IPv4 socket API function for the raw socket; and passing the packet to the IPv4 stack; and provide an alternate implementation for a reception-related IPv4 socket function, wherein the alternate implementation comprises; receiving an incoming packet on a raw socket; checking a source host to determine the proper destination for the incoming packet as required; checking a port number for the incoming packet; stripping transport and IP headers from the incoming packet; and passing a payload to the IPv4 application. - View Dependent Claims (17, 18)
-
Specification