I've noticed that it is theoretically possible to perform an almost complete circuit of London by rail without leaving fare zone 2 and without having to swipe in / swipe out with an Oyster card multiple times, as follows:
- Whitechapel to New Cross (Overground)
- New Cross to Lewisham (National Rail)
- Lewisham to Peckham Rye (National Rail)
- Peckham Rye to Battersea Park (National Rail)
- Battersea Park to Clapham Junction (National Rail)
- Clapham Junction to Canonbury (Overground)
- Canonbury to Hoxton (Overground)
However, I found some time ago that when I travelled along legs 5-6, I was charged a zone 1 fare, even though the route I took did not pass through zone 1. Leaving aside for a moment the question of why anyone would want to follow this route, how can I check what the appropriate fare is for each leg? And just how far around zone 2 can one travel without being stung with a zone 1 fare?
This map may be useful for visualising the route: http://www.tfl.gov.uk/assets/downloads/london-rail-and-tube-services-map.pdf
After reading @Ray's answer, I remembered that the section for which I was charged a higher than expected fare was actually from Battersea Park, not Clapham Junction. As of 9th March 2012, the TFL fare finder currently suggests an off-peak fare of £3.10 for this journey. The national rail through fare list has a matching entry for a zones 1-2 journey.
Interesting note: according to the fare finder it's 30p cheaper overall if you split the journey at Clapham Junction, as each leg is then counted as a zone 2 only journey, and the national-rail-only fare is cheaper than the equivalent London Overground fare.