cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1558
Views
0
Helpful
2
Replies

tcp segment and number of bytes

sarahr202
Level 5
Level 5

Hi every body!

My book shows different examples of tcp segments.

one example shows a tcp segment carrying 1000 bytes of data, while the other example shows 550 bytes of data being carried in data field of tcp segment .

The question how is the number of bytes of data that can be carried in single segment determined?

Thanks a lot!

2 Accepted Solutions

Accepted Solutions

Joseph W. Doherty
Hall of Fame
Hall of Fame

Without looking it up, my guess it might be as much as 64 KB. This assuming a 16 bit field is used for segment size.

Thing to keep in mind, TCP isn't specific to one media's MTU although segment size normally not generated larger than the MTU can sustain.

View solution in original post

cpubob
Level 1
Level 1

During the TCP 3-way handshake, one of the option fields is the "mss" or maximum segment size. This number is the maximum size of the data field. This number is calculated by subtracting layer 3 and layer 4 overhead (20 bytes each) from the interface mtu number (1500 bytes by default). For this example, you would see an mss of 1460 but its possible to see mss lower (google returns 1430).

If one machines is configured differently and sends a mss that is either higher or lower than your mss, then both machines will use the lower of the two mss's. You can also have your router modify the MSS on the fly by using the interface command "tcp adjust-mss" which will rewrite the mss on every tcp syn packet that crosses that interface.

HTH,

Rob

Please rate is you find this helpful.

View solution in original post

2 Replies 2

Joseph W. Doherty
Hall of Fame
Hall of Fame

Without looking it up, my guess it might be as much as 64 KB. This assuming a 16 bit field is used for segment size.

Thing to keep in mind, TCP isn't specific to one media's MTU although segment size normally not generated larger than the MTU can sustain.

cpubob
Level 1
Level 1

During the TCP 3-way handshake, one of the option fields is the "mss" or maximum segment size. This number is the maximum size of the data field. This number is calculated by subtracting layer 3 and layer 4 overhead (20 bytes each) from the interface mtu number (1500 bytes by default). For this example, you would see an mss of 1460 but its possible to see mss lower (google returns 1430).

If one machines is configured differently and sends a mss that is either higher or lower than your mss, then both machines will use the lower of the two mss's. You can also have your router modify the MSS on the fly by using the interface command "tcp adjust-mss" which will rewrite the mss on every tcp syn packet that crosses that interface.

HTH,

Rob

Please rate is you find this helpful.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card