Solved

MTU: max send and max receive?

Posted on 2007-03-19
7
654 Views
Last Modified: 2007-07-23
On linux (rhes4) I am testing different MTU settings.  I am finding my best results when sending packets (acorss wans,etc) when I lower the MTU (to say 1400); however the lower MTU setting on the lan causes problems communicating with devices on the lan that run a default mtu (1500).
Is there a way to specify (max receive) and (max send) seperately? In the ppp world this seemed to be seperated as MTU/MRU ...?  
0
Comment
Question by:medent
  • 3
  • 2
  • 2
7 Comments
 
LVL 20

Expert Comment

by:nedvis
ID: 18751111
You should be able to achieve that goal by creating alias for your network card:
one address for communicating with nodes on your intranet (LAN) and other one
for Internet cloud.

Linux creating or adding new network alias to a network card (NIC):
http://articles.techrepublic.com.com/5100-10877_11-5590748.html
http://www.cyberciti.biz/faq/linux-creating-or-adding-new-network-alias-to-a-network-card-nic/
Then configure MTU separately for either IP addresses:
http://www.debianhelp.co.uk/mtu.htm
http://linux.about.com/od/lna_guide/a/gdelna48.htm

the other work around the throughput /baandwith problem would be port bonding:
http://www.howtoforge.com/nic_bonding
http://www.howtoforge.com/network_bonding_ubuntu_6.10
0
 
LVL 27

Expert Comment

by:Nopius
ID: 18754224
nedvis: impossible with this way, I just tested.
Virtual network alias shares the same MTU as physical NIC.

 medent: probably you will have no luck with your proble. I thought of some kind of internal  'tunnel' but it doesn't solve your problem...
0
 
LVL 20

Expert Comment

by:nedvis
ID: 18754357
Artyom, you're right MTU set to the physical NIC  is the value shared between eth0 as real/physical device and etho:0 as virtual device ( alias).
Whatever is the value for mtu size set with
ip link set eth0:0 mtu xyzw
it does apply to eth0 too.
I was wrong.
Sorry , medent,
sincerely nedvis
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 27

Expert Comment

by:Nopius
ID: 18754613
medent, I found one workaround, that may help you:
iptables --insert OUTPUT --jump TCPMSS --protocol tcp --set-mss 1360

1360 is for 'MRU' 1400. Use MSS=MRU-40.
Read here: http://www.wlug.org.nz/MSS

You may test slightly different iptables with condition for 'SYN' packet only with "--tcp-flags SYN".
OUTPUT chain works only for locally generated packets going out. With SYN set you will restrict receiving side to use supplied MSS for the entire TCP session.

It doesn't work for UDP and ICMP however...
0
 

Author Comment

by:medent
ID: 18772809
We dont have iptables running on the servers in question and I would need ICMP to work fully as well.  I do understand why I cannot easily configure a seperate maximum for receive. I would like to be able to receive 1500 and send 1400.  Thank You
0
 
LVL 27

Accepted Solution

by:
Nopius earned 500 total points
ID: 18786951
> We dont have iptables running on the servers in question and I would need ICMP to work fully as well.
1) iptables doesn't stop ICMP itself.
2) In very rare case ICMP packets exceed 100 bytes, and they are not affected by MTU 1400 or 1500

> I do understand why I cannot easily configure a separate maximum for receive.
You mean you don't understand? Because ethernet is not a point-to-point protocol and you have no means to tell all ethernet neighbors how much MRU do you have. Common bus topology has only MTU=MRU

> I would like to be able to receive 1500 and send 1400.
My workaround is a kind of solution where you can have different send and receive packet size only for TCP sessions.
0
 

Author Comment

by:medent
ID: 19548319
This works and also appears to be the best solution... Thank You.
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Linux Mint 18 31 89
Linux Ubuntu - Volume "boot" has only 0 bytes disk space remainig 6 58
Reset Root Password on CentOS 6 4 54
linux 13 49
Network Interface Card (NIC) bonding, also known as link aggregation, NIC teaming and trunking, is an important concept to understand and implement in any environment where high availability is of concern. Using this feature, a server administrator …
I am a long time windows user and for me it is normal to have spaces in directory and file names. Changing to Linux I found myself frustrated when I moved my windows data over to my new Linux computer. The problem occurs when at the command line.…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question