Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Mar 1998 09:46:10 -0600 (CST)
From:      "Richard M. Neswold" <neswold@fnal.gov>
To:        pratap singh <v_pr@hotmail.com>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: ARP REQUEST question
Message-ID:  <Pine.BSF.3.96.980325092952.24258A-100000@spiv.fnal.gov>
In-Reply-To: <19980325145544.10507.qmail@hotmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 25 Mar 1998, pratap singh wrote:

> 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. 

If they get corrupted during the ascend or descend, you have a software bug
in your TCP/IP stack.  The reason IP adds its own checksum is because it
can't make an assumption about what interface is being used. Although
ethernet can reject a packet with a bad CRC, an RS-232C connection doesn't
have this safeguard (unless you're using error correcting modems.) 

> 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.  But what in case of network stacks of today where the
> ARP is seen sitting together with IP or at the same level of IP. Someone
> Please correct me If I am wrong.

ARP is only used on LANs. To communicate on a LAN, you need a network card
which can be ethernet, token ring, arcnet, etc. Each of these technologies
has a way of validating incoming packets, so an ARP CRC is redundant.
General IP packets can leave the local network through routers which can be
RS-232C, radio broadcasts, satellite links, etc. which may not, themselves,
have a way to detect transmission errors.

Now it's my turn to be corrected if I'm wrong...

  Rich

 ------------------------------------------------------------------------
  Richard Neswold, Accelerator Div./Controls Dept |     neswold@fnal.gov
  Fermilab, PO Box 500, MS 347, Batavia, IL 60510 | voice (630) 840-3454
  'finger neswold@aduxb.fnal.gov' for PGP key     |   fax (630) 840-3093


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?Pine.BSF.3.96.980325092952.24258A-100000>