Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!decvax!ucbvax!CCV.BBN.COM!brescia From: brescia@CCV.BBN.COM (Mike Brescia) Newsgroups: mod.protocols.tcp-ip Subject: Re: IP source routing questions Message-ID: <8610091126.AA09239@ucbvax.Berkeley.EDU> Date: Tue, 7-Oct-86 12:39:55 EDT Article-I.D.: ucbvax.8610091126.AA09239 Posted: Tue Oct 7 12:39:55 1986 Date-Received: Thu, 9-Oct-86 20:46:34 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 47 Approved: tcp-ip@sri-nic.arpa Steve, The following points are important: - the IP source field remains constant, so that the higher level protocol can ignore the recorded route - the IP destination field reflects the current goal, and not the ultimate destination, until the source route has been consumed - the offset includes the first 3 bytes and is zero-based. "... the smallest legal value for the pointer is 4." host A gate B gate C host D +------+ +------+ +------+ +------+ | | | | | | | | | A1|-------->|B1 B2|-------->|C2 C3|-------->|D3 | | | net 1 | | net 2 | | net 3 | | +------+ +------+ +------+ +------+ (..host..) source:A1 destination:B1 route:B1,C2,D3 offset:4 on net 1: source:A1 destination:B1 route:A1,C2,D3 offset:8 on net 2: source:A1 destination:C2 route:A1,B2,D3 offset:12 on net 3: source:A1 destination:D3 route:A1,B2,C3 offset:16 What you show is the way TOPS20 has implemented it, where host A has put a record of its outgoing interface into the packet. The unix implementations do not do this, and the source route option only has 2 hops. Here is an example of unix flavor source routed packet, with an octal dump of the packet on the way out of teh source host, and another on receipt at the destination (the same host in this case). Note also the extra pad (1) option. A1=10.2.0.82 B1=10.2.0.5 B2=128.89.0.5 C2=128.89.0.4 C3=10.3.0.82 D3=10.2.0.82 Outgoing packet: 110 0 0 54 0 0 100 0 31 24 263 53 12 2 0 122 12 2 0 5 1 203 13 4 200 131 0 4 12 2 0 122 1 226 0 0 0 0 0 305 147 244 226 0 Incoming packet: 110 0 0 54 0 0 100 0 27 24 264 324 12 2 0 122 12 2 0 122 1 203 13 14 200 131 0 5 12 3 0 122 1 226 0 0 0 0 0 305 147 244 226 0