To support multiple customers, MPLS VPN standards include the concept of a virtual router. This
feature, called a VRF table, can be used to store routes separately for different customer VPNs.
The use of separate tables solves part of the problems of preventing one customer’s packets from
leaking into another customer’s network due to overlapping prefixes, while allowing all sites in the
same customer VPN to communicate.
from: http://www.cisco.com/en/US/tech/tk436/tk428/technologies_q_and_a_item09186a00800949e5.shtml#qa4
Upstream and downstream are relative terms in the MPLS world. They always refer to a prefix (more appropriately, an FEC). These examples further explain this.
For FEC 10.1.1.0/24, R1 is the “Downstream” LSR to R2.
For FEC 10.1.1.0/24, R2 is the “Upstream” LSR to R1.
For FEC 10.1.1.0/24, R1 is the “Downstream” LSR to R2. And, R2 is the “Downstream” LSR to R3.
For FEC 10.1.1.0/24, R1 is the “Downstream” LSR to R2. For FEC 10.2.2.0/24, R2 is the “Downstream” LSR to R1.
Data flows from upstream to downstream to reach that network (prefix).
The R4 routing table has R1 and R2 as the “next-hops” to reach 10.1.1.0/24.