Difference between MSS and Window size - TCP-IP

This is a discussion on Difference between MSS and Window size - TCP-IP ; Hi, could someone please explain the difference between MSS and the Window size. I am a bit confused as per my understanding the MSS is the length of the Data in the frame. At the TCP level this would include ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Difference between MSS and Window size

  1. Difference between MSS and Window size

    Hi, could someone please explain the difference between MSS and the
    Window size. I am a bit confused as per my understanding the MSS is the
    length of the Data in the frame. At the TCP level this would include
    the headers below. Am I right? The window size is host specific and
    just signifies how much data each side whether sender or receiver is
    capable of receiving until an ack is sent.

    Another question is the MTU and how it relates to MSS. Isn't the MTU
    the size of the entire frame including the header at each level?

    Thanks for the help.


  2. Re: Difference between MSS and Window size

    In article <1165418632.318822.21170@73g2000cwn.googlegroups.co m>,
    "newbie123" wrote:

    > Hi, could someone please explain the difference between MSS and the
    > Window size. I am a bit confused as per my understanding the MSS is the
    > length of the Data in the frame. At the TCP level this would include
    > the headers below. Am I right? The window size is host specific and


    No, it doesn't include any headers. It's the maximum size of the
    payload of a TCP segment.

    > just signifies how much data each side whether sender or receiver is
    > capable of receiving until an ack is sent.


    It's the amount the sender is allowed to send before it RECEIVES an ACK.

    >
    > Another question is the MTU and how it relates to MSS. Isn't the MTU
    > the size of the entire frame including the header at each level?


    Yes, the MTU is the maximum size of the link layer frame, so it includes
    all headers. MSS is computed by subtracting the sizes of all the
    headers from the MTU.

    --
    Barry Margolin, barmar@alum.mit.edu
    Arlington, MA
    *** PLEASE post questions in newsgroups, not directly to me ***
    *** PLEASE don't copy me on replies, I'll read them in the group ***

  3. Re: Difference between MSS and Window size

    Hi Barry,

    Thank you for replying back and helping me understand this.

    > No, it doesn't include any headers. It's the maximum size of the
    > payload of a TCP segment.


    Doesn't the payload at a particular layer include the header from the
    previous layer?

    > It's the amount the sender is allowed to send before it RECEIVES an ACK.
    >


    How does this (window size) relate to MSS. Where is the window size and
    MSS defined in the stack or is the MSS definable at all or set in stone
    and if it is not tweaked would that make any difference?

    Another question I had was I was looking at a few traces earlier and
    the question that popped up was how is the length field (actual data)
    calcluated. Does it have something to do with the Data offset field in
    the TCP header?


  4. Re: Difference between MSS and Window size

    In article <1165506903.534370.198010@j72g2000cwa.googlegroups. com>,
    "newbie123" wrote:

    > Hi Barry,
    >
    > Thank you for replying back and helping me understand this.
    >
    > > No, it doesn't include any headers. It's the maximum size of the
    > > payload of a TCP segment.

    >
    > Doesn't the payload at a particular layer include the header from the
    > previous layer?


    Since TCP is a byte-stream transport, there aren't likely to be headers
    in every segment. And many TCP-based protocols don't have headers, at
    least not like TCP and IP headers -- if they have headers, they're often
    less structuured, such as mail headers.

    > > It's the amount the sender is allowed to send before it RECEIVES an ACK.
    > >

    >
    > How does this (window size) relate to MSS. Where is the window size and
    > MSS defined in the stack or is the MSS definable at all or set in stone
    > and if it is not tweaked would that make any difference?


    Window size has little to do with MSS.

    MSS isn't usually defined in the stack, it's normally derived from the
    MTU of the hardware and link layers (e.g. Ethernet's original collision
    detection mechanism imposed a 1500-byte limit on frame size). However,
    many implementations allow you to override or tweak this (typically to
    force MSS lower than it would be just from the MTU); on Windows you can
    do this with DrTCP, on Unix it's done using OS-specific system config
    files.

    > Another question I had was I was looking at a few traces earlier and
    > the question that popped up was how is the length field (actual data)
    > calcluated. Does it have something to do with the Data offset field in
    > the TCP header?


    When TCP receives a datagram from the IP layer, IP tells it the total
    size of the datagram. Subtract the data offset from this, and you have
    the length of the TCP payload.

    --
    Barry Margolin, barmar@alum.mit.edu
    Arlington, MA
    *** PLEASE post questions in newsgroups, not directly to me ***
    *** PLEASE don't copy me on replies, I'll read them in the group ***

+ Reply to Thread