RFC 768 UDP ? [7:26283]

2001-11-14 Thread Phil Barker

Just been reading the above RFC. To quote 

Checksum is the 16-bit one's complement of the one's
complement sum of a pseudo header of information from
the IP header, the UDP header, and the data, padded
with zero octets at the end (if necessary) to make a
multiple of two octets.

The pseudo header conceptually prefixed to the UDP
header contains the source address, the destination
address, the protocol, and the UDP length. This
information gives protection against misrouted
datagrams. This checksum procedure is the same as is
used in TCP.




This business about a pseudo header is bothering me.
If the IP header has already had a checksum that runs
across the source and destination address then why
does UDP do this again ? It also creates an obvious
dependancy of UDP on IP also.

Another question about padding making a multiple of
two octets. I seem to remember Novell IPX requiring
even numbered packets (2.X) maybe. Is this something
to do with 16 bit processors working more efficiently
with an even packet sizes i.e reading two bytes at a
time was less expensive processor-wise than reading an
odd byte ?

Phil.


__
Do You Yahoo!?
Everything you'll ever need on one web page from News and Sport to Email and
Music Charts
http://uk.my.yahoo.com




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7i=26283t=26283
--
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html
Report misconduct and Nondisclosure violations to [EMAIL PROTECTED]



Re: RFC 768 UDP ? [7:26283]

2001-11-14 Thread Patricia Leeb-Hart

Oh, my.  One's head reels!

 Phil Barker  11/14/2001 12:55:16 PM 
Just been reading the above RFC. To quote 

Checksum is the 16-bit one's complement of the one's
complement sum of a pseudo header of information from
the IP header, the UDP header, and the data, padded
with zero octets at the end (if necessary) to make a
multiple of two octets.

The pseudo header conceptually prefixed to the UDP
header contains the source address, the destination
address, the protocol, and the UDP length. This
information gives protection against misrouted
datagrams. This checksum procedure is the same as is
used in TCP.




This business about a pseudo header is bothering me.
If the IP header has already had a checksum that runs
across the source and destination address then why
does UDP do this again ? It also creates an obvious
dependancy of UDP on IP also.

Another question about padding making a multiple of
two octets. I seem to remember Novell IPX requiring
even numbered packets (2.X) maybe. Is this something
to do with 16 bit processors working more efficiently
with an even packet sizes i.e reading two bytes at a
time was less expensive processor-wise than reading an
odd byte ?

Phil.


__
Do You Yahoo!?
Everything you'll ever need on one web page from News and Sport to Email and
Music Charts
http://uk.my.yahoo.com




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7i=26307t=26283
--
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html
Report misconduct and Nondisclosure violations to [EMAIL PROTECTED]



Re: RFC 768 UDP ? [7:26283]

2001-11-14 Thread nrf

Comments inline
Patricia Leeb-Hart  wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
 Oh, my.  One's head reels!

  Phil Barker  11/14/2001 12:55:16 PM 
 Just been reading the above RFC. To quote

 Checksum is the 16-bit one's complement of the one's
 complement sum of a pseudo header of information from
 the IP header, the UDP header, and the data, padded
 with zero octets at the end (if necessary) to make a
 multiple of two octets.

 The pseudo header conceptually prefixed to the UDP
 header contains the source address, the destination
 address, the protocol, and the UDP length. This
 information gives protection against misrouted
 datagrams. This checksum procedure is the same as is
 used in TCP.




 This business about a pseudo header is bothering me.
 If the IP header has already had a checksum that runs
 across the source and destination address then why
 does UDP do this again ? It also creates an obvious
 dependancy of UDP on IP also.

You're correct, it  isn't necessary, and this has been acknowledged by the
standards writers.  Some TCP/IP implementations ignore the UDP checksum (
they will not reject a packet that does not have a UDP checksum, as long as
the IP header checksum is OK).




 Another question about padding making a multiple of
 two octets. I seem to remember Novell IPX requiring
 even numbered packets (2.X) maybe. Is this something
 to do with 16 bit processors working more efficiently
 with an even packet sizes i.e reading two bytes at a
 time was less expensive processor-wise than reading an
 odd byte ?

 Phil.


 __
 Do You Yahoo!?
 Everything you'll ever need on one web page from News and Sport to Email
and
 Music Charts
 http://uk.my.yahoo.com




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7i=26318t=26283
--
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html
Report misconduct and Nondisclosure violations to [EMAIL PROTECTED]



Re: RFC 768 UDP ? [7:26283]

2001-11-14 Thread Priscilla Oppenheimer

At 09:37 PM 11/14/01, nrf wrote:
   Phil Barker  11/14/2001 12:55:16 PM 
  Just been reading the above RFC. To quote
 
  Checksum is the 16-bit one's complement of the one's
  complement sum of a pseudo header of information from
  the IP header, the UDP header, and the data, padded
  with zero octets at the end (if necessary) to make a
  multiple of two octets.
 
  The pseudo header conceptually prefixed to the UDP
  header contains the source address, the destination
  address, the protocol, and the UDP length. This
  information gives protection against misrouted
  datagrams. This checksum procedure is the same as is
  used in TCP.
 
  This business about a pseudo header is bothering me.
  If the IP header has already had a checksum that runs
  across the source and destination address then why
  does UDP do this again ? It also creates an obvious
  dependancy of UDP on IP also.

You're correct, it  isn't necessary, and this has been acknowledged by the
standards writers.  Some TCP/IP implementations ignore the UDP checksum (
they will not reject a packet that does not have a UDP checksum, as long as
the IP header checksum is OK).

True, but TCP does the same thing (i.e. uses a checksum based on a pseudo 
header) and TCP's checksum is required. So the question still remains, why? 
The only clue is that the RFC says this gives protection against misrouted 
packets. It's hard to fathom what they were getting at, but what are some 
situations where the IP addresses inserted by the sender might be different 
from those that are in the packet that arrives at the recipient? I can 
think of one major case that has become very popular in modern 
networks.. (It supposedly handles the issue by recalculating the 
checksum, but it could be buggy).


 
  Another question about padding making a multiple of
  two octets. I seem to remember Novell IPX requiring
  even numbered packets (2.X) maybe. Is this something
  to do with 16 bit processors working more efficiently
  with an even packet sizes i.e reading two bytes at a
  time was less expensive processor-wise than reading an
  odd byte ?

Sounds like a good guess.

 
  Phil.
 
 
  __
  Do You Yahoo!?
  Everything you'll ever need on one web page from News and Sport to Email
and
  Music Charts
  http://uk.my.yahoo.com


Priscilla Oppenheimer
http://www.priscilla.com




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7i=26330t=26283
--
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html
Report misconduct and Nondisclosure violations to [EMAIL PROTECTED]