Browse Prior Art Database

A method to provide Data Corruption Error Notification in routers. Disclosure Number: IPCOM000032950D
Original Publication Date: 2004-Nov-19
Included in the Prior Art Database: 2004-Nov-19
Document File: 1 page(s) / 37K

Publishing Venue



Disclosed is a method to improve Transmission Control Protocol (TCP) performance and provide selection of a better route when a packet drop occurs in a router due to link layer errors.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 57% of the total text.

Page 1 of 1

A method to provide Data Corruption Error Notification in routers .

Link layer error detection is performed at the physical layer for every packet sent on the network. A typical Internet Protocol (IP) datagram, goes through this link layer error check at every router along the path from the source to the destination. If a router encounters a link layer error in an IP datagram it discards it. If the discarded packet is TCP, which is usually the case in wireless networks, this packet drop causes the sender TCP to assume congestion in the network and reduce its congestion window into half and thereby reduce TCP performance.

The disclosed method would work as follows. When a router encounters a link layer error in a packet, the adapter instead of discarding the packet, delivers the packet to IP layer. The IP header of the packet contains a checksum of the IP header. If this checksum is valid, the router obtains the source and destination information from the IP header. A new Internet Control Message Protocol (ICMP) error message type for link layer error is defined. The router sends this ICMP link layer error message to the source with destination information. On receiving this ICMP error message, ICMP informs the TCP layer about the packet drop due to link layer error and not to reduce the congestion window into half when a packet drop is detected. This improves TCP performance.

To implement this method, a new ICMP error message type, ICMP_DATA_CORRUPT is defined. I...