In MPLS enabled networks, packets are forwarded based on labels. These labels usually correspond to IP destination addresses like loopback addresses of nodes. The concept of downstream and upstream in MPLS networks are very important to understand label distribution with MPLS control plane and labaled data forwarding in MPLS data plane. And these concepts are usually misunderstood.
Both downstream and upstream can be defined with reference to the destination network which is usually loopback address of destination node. With simplest definition Data sent to the destination node always flows downstream. And control plane updates (label distribution with LDP or RSVP-TE) for a specific prefix/node are always propagated upstream.
Let’s see the below simple topology to understand the concept. In the topology, we have 3 nodes and NodeC has an ip address assigned to its Loopback0 interface which is 192.1.1.3/32
In the MPLS control plane, labels will be shared towards to upstream routers. For example NodeB is upstream for NodeC for the prefix 192.1.1.3/32 but it is downstream for NodeA for the prefix 192.1.1.3/32
Data is forwarded with MPLS Labels towards to downstream.
LDP Label Mapping or RSVP-TE Resv messages are sent towards to upstream.
Another definition for MPLS upstream and downstream nodes I found on the internet and was very helpful for me to understand is: Upstream is the direction towards the packet source and Downstream is the direction towards the packet destination.