Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Mar 1998 15:19:49 +0000
From:      njs3@doc.ic.ac.uk (Niall Smart)
To:        "pratap singh" <v_pr@hotmail.com>, dg@root.com
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: ARP REQUEST question
Message-ID:  <E0yHry1-0004SP-00@ash2.doc.ic.ac.uk>
In-Reply-To: "pratap singh" <v_pr@hotmail.com> "Re: ARP REQUEST question" (Mar 25,  6:55am)

next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 25,  6:55am, "pratap singh" wrote:
} Subject: Re: ARP REQUEST question
> Hi all,
> I perfectly know about the CRC carried in the ethernet frames. But if 
> that is the case the higher layer protocols still do the checksum like 
> IP. 
> the reasons that I feel for not having the checksum in the ARP frame 
> are:
> 1> IP packets get routed and can be seen to ascend and descend protocol 
> stacks till they reach their destination. So even if the layer 2 
> (ethernet) checksum is right, they may get corrupted during the ascend 
> and descend. And if the checksum is not provided by the 
> IP itself, this error could go unnoticed.

The "ascent" and "descent" through the protocol stacks, e.g., the
demultiplexing of an ethernet packet to IP to TCP, is done entirely in
software (or "reliable" hardware).  Any corruption here is due to bugs
in the networking code which should be eliminated.  The reason IP has
checksum field is that it cannot rely on the underlying network, be it
ethernet, token ring or a VPN, to reliably deliver the data.  That is
the raison d'etre of TCP/IP.

> 2> However same is not the case with ARP which in the protocol stack sat 
> with the hardware independent part of the Ethernet driver or any other 
> layer 2 driver (historically) and so the traversal of the protocol stack 
> was not necessary. And the local significance made the CRC just enough 
> for detecting errors.

The ARP protocol is network specific and as DG already pointed out
Ethernet frames contain a 32bit CRC, therefore the ARP packet does not
need a checksum field.  If an ARP protocol was needed for a network
technology which did not checksum the data at the link level then the
ARP protocol would require a checksum.

Niall

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E0yHry1-0004SP-00>