Carl
Host A -> r1 -> r2 -> Host B
Host A wants to send a packet to Host B.
1) It compares Host B's address with it's subnet mask and determines it is on a different subnet.
2) It then consults it's routing table. Usually hosts only have default gateways. Assuming this is the case Host A then
3) Host A checks arp table. if not there it arps out for default gateway, in this case R1.
4) R1 replies with it's mac address.
5) Host sends out a packet - source IP Host A, destination IP Host B. Source mac address Host A, destination Mac address r1 default gateway.
6) r1 receives packet and goes through pretty much the same process. Realising it has no directly connected interfaces it looks in routing table, finds a route to R2 and the sends packet out to R2. Source and destination IP have not changed. Source Mac address R1 outgoing interface to r2, destination nmac address incoming interface of r2.
7) r2 goes the same process, realises it has a directly coinnected interface and arps out (if not in arp table) for Host B. Sends out packet. Source and dest IP haven't changed again, source mac outgoing interface of r2, destination mac Host B
HTH