[comp.protocols.tcp-ip] IP fragments and subnets

jon@CS.UCL.AC.UK.UUCP (05/28/87)

three questions

1. We've subnetted the UCL net a lot recently using cisco routers.
does 4.3 adjust its mtu down when crossing a subnet router
as well as when crossing a gateway?

2. has anyone had trouble with pyramids tcp going through
routers?

 we observe tcp hangups and connection failures when
attempting ftp/rcp bulk transfers from a Sun 3 to a pyramid
98x. Packet loss in cisco is about 1/3 of every large packet

(sun sending 2-3 1000 byte packets bakc to back, pyramid
advertising 8K window).

3. Has anyone got a distributed tool for invalidating the arp
caches on a pile of 4.2 systems (for when we move a proxy arp
router)?

jon

hedrick@TOPAZ.RUTGERS.EDU (Charles Hedrick) (05/29/87)

4.3 should use the full MTU when going through a subnet gateway.
There is a parameter SUBNETSARELOCAL in in.c that controls whether
in_localaddr says that other subnets are local or not.  This routine
is called by tcp_mss, which is used to compute the MSS for a
conversation.  However we have seen some really odd code in some
4.3-derived versions of tcp_mss, so you may want to see that your
particular kernels do the right thing.

We know of no inherent problems with TCP through Cisco routers.  If
your problem is with Ethernet to Ethernet gateways, I have no
explanation.  There is a trivial bug in some versions of Cisco's
serial line support that would cause packet loss in gateways that use
serial lines to connect them.  I suggest contacting Cisco, as a fix is
available.  To see whether this is problem, try SHOW INTERFACES and
see whether you are seeing a huge number of giants.  In general, Cisco
has good enough monitoring facilities that by using various options of
SHOW you should normally be able to see what is going on.  One
warning: NFS produces sequences of up to 6 packets that are spaced
very close.  This is unfriendly with any gateway.  Some configurations
of Cisco gateways simply can't handle this at all.  You want to use
the read and write buffer size parameters in mount (or /etc/fstab) to
specify that writes should be no larger than 2 packets.  We use 2048,
but any number less than 2 * 1460 should probably work.  Pyramid does
not yet have these options.  If you are using a Pyramid as a client
across a gateway, please contact me and I'll give you the necessary
patch.  (Tell me whether you have source.  I'm not sure how to give
you a binary patch, but I'll try.)  It is fine to use a Pyramid as a
server across the gateway.  These very closely spaced packets do not
happen with TCP as far as I know.

I assume you know about the arp program?  You should rsh the
appropriate arp command to invalidate the arp tables.  Both Sun
and Pyramid have this program.