I'm a little confused how all of this fits together.
Here's what I know.
IP datagrams have a maximum size of 65535 bytes, TCP segments have a MSS of 65535 as well. IPv4 has a minimum reassembly buffer size of 576 bytes. Max MTU's for Ethernet are 1500. MSS sizes are often set to 1460 (MTU - TCP and IP headers).
So I know all of these numbers, but not really how it's fitting together. Only one TCP segment gets sent with each IP datagram, correct? So if I have a 1 MB of TCP data to send, and my MSS is 576... then the IP datagram size will be 576 or less plus the header lengths? And then these, in turn, will be transmitted as one unit over my Ethernet network assuming the MTU is 1500 bytes?
What happens if the TCP MSS is smaller than the IP datagram size, and vice versa? Multiple TCP segments cannot be put into one IP datagram, correct?
And what about pings? If I ping someone with a datagram size of 65535, then this just gets fragmented into the correct sized MTU?
If someone could help me put the pieces together on this one, I'd greatly appreciate it.
Here's what I know.
IP datagrams have a maximum size of 65535 bytes, TCP segments have a MSS of 65535 as well. IPv4 has a minimum reassembly buffer size of 576 bytes. Max MTU's for Ethernet are 1500. MSS sizes are often set to 1460 (MTU - TCP and IP headers).
So I know all of these numbers, but not really how it's fitting together. Only one TCP segment gets sent with each IP datagram, correct? So if I have a 1 MB of TCP data to send, and my MSS is 576... then the IP datagram size will be 576 or less plus the header lengths? And then these, in turn, will be transmitted as one unit over my Ethernet network assuming the MTU is 1500 bytes?
What happens if the TCP MSS is smaller than the IP datagram size, and vice versa? Multiple TCP segments cannot be put into one IP datagram, correct?
And what about pings? If I ping someone with a datagram size of 65535, then this just gets fragmented into the correct sized MTU?
If someone could help me put the pieces together on this one, I'd greatly appreciate it.
