[comp.protocols.tcp-ip] ICMP redirects

wingo@ncrcae.Columbia.NCR.COM (Dave Wingo) (09/25/90)

I have a question about routing and ICMP. Can ICMP redirects be used to update
routing tables or does it just convey info about a route not being appropriate?
Example would be to have an X terminal on a network 90. talking to a host A
also on net 90. Then I introduce yet another host B which has two(2) network
interface cards that bridge 90 to say net 89. I then put host A on net 89 and 
provide it with a new 89 internet number. Question then is can the X terminal
find the gateway to host A via ICMP only or will rip or gated need to be 
provided on the X terminal to update route tables????

Thanks in advance.... David Wingo  wingo@ncrcae.Columbia.NCR.COM

zweig@cs.uiuc.edu (Johnny Zweig) (09/25/90)

wingo@ncrcae.Columbia.NCR.COM (Dave Wingo) writes:
>
>I have a question about routing and ICMP. Can ICMP redirects be used to update
>routing tables or does it just convey info about a route not being appropriate?
>Example would be to have an X terminal on a network 90. talking to a host A
>also on net 90. Then I introduce yet another host B which has two(2) network
>interface cards that bridge 90 to say net 89. I then put host A on net 89 and 
>provide it with a new 89 internet number. Question then is can the X terminal
>find the gateway to host A via ICMP only or will rip or gated need to be 
>provided on the X terminal to update route tables????
>
>Thanks in advance.... David Wingo  wingo@ncrcae.Columbia.NCR.COM

Finding the gateway (the X terminal sounds like it talks IP) from a given host
(the X terminal is a host in the sense of being an endpoint-machine for IP
traffic) is a problem whose solution is still in the works.  Some fine day
everyone will run Router Discovery Protocol so a host can use ARP to see if
another is on its local net, then punt everything else to the gateway it
selected from RDP.  Right now, there are a number of icky ways the X terminal
might go about finding out that B (in your scenario) is a router.

ICMP redirects are from routers and say "Hey! You're sending IP packets for
host A to me when they should really go directly to A!" if the X terminal uses
ARP to find A in the first place, it will find that A is not around anymore
and have to find the gateway -- the ICMP redirect might occur in the case
where A gets put onto the X terminal's net when it didn't used to be and
somehow the silly thing just had the route stuck in its head.

The netlanders will correct me I'm sure, but I think ICMP redirects are pretty
uncommon on nets that use ARP+whatever ad hoc method to locate gateways (since
nets with more than one gateway are pretty uncommon).

-Johnny ICMP

narten@cs.albany.edu (Thomas Narten) (09/25/90)

>>I have a question about routing and ICMP. Can ICMP redirects be used to update
>>routing tables or does it just convey info about a route not being appropriate?

Yes and yes.  A router sends ICMP redirects to a host saying, "the
datagram you just sent me destined to Y should be sent to Z [possibly,
but not necessarily a router], which you can reach directly".
Naturally, a host that received such a message should change its
routing table to reflect the more direct path. Note that redirects
generally only work for hosts and not routers, because a router
determines when to send a redirect by checking 1) the source address
in the forwarded datagram, and 2) noting the address Z of machine the
datagram is being forwarded to.  If the two addresses are on the same
net, a redirect is in order.

Note: To get a redirect, you must be sending the misdirected datagram
to a router in the first place, so there is still a need for finding a
viable router.  The IETF Router discovery group is working on that
problem.

>ICMP redirects are from routers and say "Hey! You're sending IP packets for
>host A to me when they should really go directly to A!"

Replace "go directly to A" with "go directly to B" and I'll agree.

Thomas Narten
--
Thomas Narten
narten@cs.albany.edu

dc@graphon.com (Darren Croke) (09/25/90)

In article <NARTEN.90Sep24210911@percival.albany.edu>, narten@cs.albany.edu (Thomas Narten) writes:
> 
> Note: To get a redirect, you must be sending the misdirected datagram
> to a router in the first place, so there is still a need for finding a
> viable router.  The IETF Router discovery group is working on that
> problem.
> 
It's currently common for X terminals to have a setup field to allow
a default gateway to be specified.

Darren Croke
dc@graphon.com