Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Nov 1997 00:35:42 -0800
From:      Joe McGuckin <joe@via.net>
To:        hackers@freebsd.org
Subject:   TCP questions
Message-ID:  <199711090835.AAA14711@monk.via.net>

next in thread | raw e-mail | index | archive | help

I was using Solaris' snoop command to debug a telnet proxy. 

When I issue a setsockopts() call to set the segment size, does that result 
in an immediate send of a packet?

 
           0: 0000 0c92 fff0 0060 083b e82e 0800 4500    .......`.;....E.
          16: 002c c500 4000 2006 cc9c d151 093a cda2    .,..@. ....Q.:..
          32: 2101 0412 0017 012a 8c98 0000 0000 6002    !......*......`.
          48: 2000 1d0c 0000 0204 05b4 05b4               ...........

Here we have one side setting the max segment size to 1460 (0x05b4).

What the heck is that other 0x05b4 in the data stream ? I never see
in on the receiving end...

Can ACK or SYN packets carry application level data as well ?

ETHER:  ----- Ether Header -----
ETHER:
ETHER:  Packet 5 arrived at 1:06:54.95
ETHER:  Packet size = 60 bytes
ETHER:  Destination = 0:0:c:92:ff:f0, Cisco
ETHER:  Source      = 0:60:8:3b:e8:2e,
ETHER:  Ethertype = 0800 (IP)
ETHER:
IP:   ----- IP Header -----
IP:
IP:   Version = 4
IP:   Header length = 20 bytes
IP:   Type of service = 0x00
IP:         xxx. .... = 0 (precedence)
IP:         ...0 .... = normal delay
IP:         .... 0... = normal throughput
IP:         .... .0.. = normal reliability
IP:   Total length = 40 bytes
IP:   Identification = 50688
IP:   Flags = 0x4
IP:         .1.. .... = do not fragment
IP:         ..0. .... = last fragment
IP:   Fragment offset = 0 bytes
IP:   Time to live = 32 seconds/hops
IP:   Protocol = 6 (TCP)
IP:   Header checksum = cba0
IP:   Source address = 209.81.9.58, 209.81.9.58
IP:   Destination address = 205.162.33.1, trn01.newark.wpac.com
IP:   No options
IP:
TCP:  ----- TCP Header -----
TCP:
TCP:  Source port = 1042
TCP:  Destination port = 23 (TELNET)
TCP:  Sequence number = 19565721
TCP:  Acknowledgement number = 1683231818
TCP:  Data offset = 20 bytes
TCP:  Flags = 0x10
TCP:        ..0. .... = No urgent pointer
TCP:        ...1 .... = Acknowledgement
TCP:        .... 0... = No push
TCP:        .... .0.. = No reset
TCP:        .... ..0. = No Syn
TCP:        .... ...0 = No Fin
TCP:  Window = 8576
TCP:  Checksum = 0xba9a
TCP:  Urgent pointer = 0
TCP:  No options
TCP:
TELNET:  ----- TELNET:   -----
TELNET:
TELNET:  ""
TELNET:
 
 
           0: 0000 0c92 fff0 0060 083b e82e 0800 4500    .......`.;....E.
          16: 0028 c600 4000 2006 cba0 d151 093a cda2    .(..@. ....Q.:..
          32: 2101 0412 0017 012a 8c99 6454 144a 5010    !......*..dT.JP.
          48: 2180 ba9a 0000 0000 0000 0000              !...........
 

Is this sending a bunch of nulls to the other telnet client ?

How does the push flag work? If the packet is less than the segment 
size and the push flag is zero, does that mean that there's no
payload ? (Just as in the above packet)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711090835.AAA14711>