Enhancing data integrity at the IP(Internet Protocol) level of data communication
Original Publication Date: 2004-Mar-29
Included in the Prior Art Database: 2004-Mar-29
Each client tcp/udp connection requires a unique identifier for each IP datagram that it sends to remote system. Currently all client connections on a system use a system wide global counter to provide this identifier. This counter rolls over when it's maximum value is reached. An IP datagram must be broken into multiple packets when the original datagram is too large to be transmitted by an interface while enroute from a source system to a destination system. The ip_id field of the IP datagram is a supposed unique number that is used to identify and reassemble the fragments of a datagram at the destination system. Because high speed interfaces can use most of the possible ip_id numbers(0 thru 65535) of a single system counter each second, a given connection could use the same ip_id number in consequtive IP datagrams. Reassembly of fragments with the same ip_id from different IP datagrams will cause data integrity problems that will be extremely difficult to identify/diagnose. This problem needs to be addressed to avoid possible litigation from customers whose data will be compromised in this scenario. This invention provides the processes and mechanisms to eliminate a data integrity problem associated with usage of single system wide counter to provide the ip_id field in the IP datagram. Provisioning will be used to duplicate the ip_id counter function in connections that use communiction interfaces to external hosts. Use of the ip_id counter will be discontinued for connections on the system looback interface.