PPP MTU please help very urgent

tom pollerman tompollerman at mail.landolls.com
Wed Apr 14 16:42:53 UTC 2004


On Wed, 14 Apr 2004 07:31:51 -0700 (PDT)
Rama Chandrasekaran <rama03 at sbcglobal.net> wrote:

> We are running some file transfer experiments using
> FTP/TCP/IP/PPP between two Linux PCs (running Red-Hat
> Linux 7.3 with kernel 2.4.18-3).  We are trying to
> change the PPP MTU size (using "ifconfig ppp0 mtu
> xxx"). The situation is described below: 
> 
> (1) When we change the MTU to a size which is smaller
> than the default size 1500 bytes, it works using the
> new size, which can be observed from SYN, SYN-ACK
> exchange and TSG plots.
> 
> (2) When we change the MTU to a size larger than the
> default 1500 bytes  (such as 4352 bytes), the protocol
> still sends data using the default size of 1500
> instead of the updated larger size.
> 
> I think the problem is that segments/packets delivered
> to PPP are limited to less than or equal to 1500
> bytes. So even though we enlarged PPP MTU, the PDU
> delivered to PPP by TCP/IP is not larger than 1500
> bytes. 
> 
> Could anyone advise us how we can adjust the size of
> TCP/IP segments larger than the default size of 1500
> bytes so that the transmitted PPP frame size is
> larger?
> 
> Any help will be greatly appreciated.
> 
----BIG snip--->

MTU = maximum transmit units (upload packets)

MRU = maximum recieve units (download packets)

A 'man pppd' seems to suggest that MRU is negotiated with the peer,
with the default being 1500. You may try setting both MTU and MRU
values in /etc/ppp/options to > 1500.

The MRU is the size of the largest packet you'll accept. It tells the
PPP server to break packets up into smaller chunks until they're no
larger than the MRU. A larger MRU means you'll accept larger packets,
and with a larger packet there's a larger chance of a transmission
error which means it has to retransmit the ENTIRE packet. 

You could begin with MRU set to 1500 and then use ping -s. Basically,
do something like: 

ping -s 1500 -c 100 ppp.server.com | tail -1 

to see the packet loss when your packets are 1500-big, and repeat that
for a whole bunch of different values until you find a
reasonably-large one with a small amount of packet loss. 

I don't believe, you can change the MRU at runtime, since that's setup
when you first connect. 

The MTU is exactly like the MRU except it affects outgoing connections
instead. But, you can change your MTU at runtime with, (as root) 

ifconfig ppp0 mtu (value) 



                                             Best,

                                             Tom 








More information about the redhat-list mailing list