A mysterious excerpt from UNPv1 by W. R. Stevens

Ask a Question related to UNIX Programming, Design and Development.

  1. #1

    Default A mysterious excerpt from UNPv1 by W. R. Stevens

    My question is simple. I can't understand what he(W.R.Stevens)
    says when he mentions TCP instead of the UDP method in Sec.26.6
    Examining the UDP Checksum Field. While checking the "UDP"
    checksum field of a name server, why does he talk about TCP as
    an alternative to UDP? Any help? Thanks.

    e1p1s Guest

  2. Similar Questions and Discussions

    1. Mysterious db and tables
      This is really strange behavior. When I create a new SQL 2000 db using Enterprise Manager and then register the data source using the CF Admin page,...
    2. Problem with configure script in Unix network programming book by Stevens
      After downloading the source from the website, I tried running the configure script. All I got is: : command not found : command not found :...
    3. Mysterious Log-ins
      In the security portion of my event viewer there are login/logouts under the user names Guest (even though the Guest account is deactivted) and the...
    4. mysterious account
      I am the only person using my computer. XP should have my account and a guest account only, which is off. On startup, only my account shows. ...
  3. #2

    Default Re: A mysterious excerpt from UNPv1 by W. R. Stevens

    e1p1s <e1p1s777@hotmail.com> wrote:
    > My question is simple. I can't understand what he(W.R.Stevens)
    > says when he mentions TCP instead of the UDP method in Sec.26.6
    > Examining the UDP Checksum Field. While checking the "UDP"
    > checksum field of a name server, why does he talk about TCP as
    > an alternative to UDP? Any help? Thanks.
    UDP has no flow control, and the DNS protocol doesn't provide for flow
    control over UDP either. So, if a request cannot be returned in exactly one
    UDP packet (the default size being rather small so that it will be able to
    make it thru the myriad of routers on the return path w/o being fragmented)
    then DNS provides for a fall-back to TCP.

    DNS was meant to be fast, thus the use of UDP. However, for things
    like zone transfers, the requested data can't fit onto a single
    UDP packet, so TCP is used instead. But, IIRC, you could use
    TCP instead of UDP for anything in the DNS protocol.

    - Bill
    William Ahern Guest

  4. #3

    Default Re: A mysterious excerpt from UNPv1 by W. R. Stevens

    Without hesitation, e1p1s asserted (on or about 08/02/03 22:05) that:
    > My question is simple. I can't understand what he(W.R.Stevens)
    > says when he mentions TCP instead of the UDP method in Sec.26.6
    > Examining the UDP Checksum Field. While checking the "UDP"
    > checksum field of a name server, why does he talk about TCP as
    > an alternative to UDP? Any help? Thanks.
    AFAICT, he only mentions TCP twice in 26.2

    The first time, he points out that the UDP checksum is not made available to
    the UDP socket, so you can't manipulate UDP checksums that way. At that
    point, he indicates that you can't read UDP or TCP packets through raw
    sockets, so you can't manipulate the UDP checksum through a raw socket. If I
    read the sentence correctly, the reference to TCP is only for completeness
    wrt raw sockets, and has nothing to do with UDP checksums.

    The second time he mentions TCP, he again seems only to refer to it for
    completenes, indicating that a program to retrieve the TCP checksum cannot
    be easily written to mirror the UDP checksum program because the program
    uses the libpcap tool, which bypasses the standard TCP stack, and any TCP
    packet generated with this tool would cause the TCP stack to have a fit when
    it receives the conversation reply. Again, the TCP reference is only for
    completeness, and does not apply to the UDP checksum field.


    --
    Lew Pitcher

    Master Codewright and JOAT-in-training
    Registered Linux User #112576 ([url]http://counter.li.org/[/url])
    Slackware - Because I know what I'm doing.

    Lew Pitcher Guest

  5. #4

    Default Re: A mysterious excerpt from UNPv1 by W. R. Stevens

    Thanks, Bill. But, I think your answer is about a general
    characteristic of UDP and TCP. I need to describe my question
    more concretely. I present some excerpts from the book (without
    Stevens's permission) with my detailed questions.
    >We also note that it is harder to write a test program of this
    >form that uses TCP, even though we are easily able to write
    >out our own TCP segments, because any reply to the TCP segments
    >that we generate will normally cause our TCP to respond with
    >an RST to whomever we sent the segment.
    Can the replies (from the name server) to the TCP segments
    (made in the test program) be "UDP"?

    If not (i.e. if the replies are TCP), how can they contain the
    UDP checksum field without any UDP things?

    Or, the imaginary TCP test program does NOT test the UDP checksum,
    but only tests similar objects and has the same form as the UDP
    checksum program?

    e1p1s Guest

  6. #5

    Default Re: A mysterious excerpt from UNPv1 by W. R. Stevens

    Lew Pitcher wrote:
    > AFAICT, he only mentions TCP twice in 26.2
    "26.2" would be "26.6." :)

    Thanks for your helpful remarks.

    e1p1s Guest

  7. #6

    Default Re: A mysterious excerpt from UNPv1 by W. R. Stevens

    e1p1s wrote:
    > Or, the imaginary TCP test program does NOT test the UDP checksum,
    > but only tests similar objects and has the same form as the UDP
    > checksum program?
    >
    This would answer my question.

    e1p1s Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139