A method for real-time multimedia communications using a software-defined network, SDN, comprising: receiving, by a processor (108, 116), a path metric indicative of transmission capacity between directly-connected service nodes in the SDN; determining, by the processor (108, 116) based on the path metric, a cascade network topology comprising an optimal path between a first edge node and a second edge node, wherein the optimal path has a lowest transmission latency among data transmission paths in the SDN between the first edge node and the second edge node; wherein the optimal path includes a set of service nodes from the first edge node to the second edge node; transmitting the optimal path to the first edge node; and based on a determination that multimedia data is to be transmitted from the first edge node to the second edge node, performing steps comprising: attaching, by the first edge node, the optimal path to the header of a packet of the multimedia data; transmitting the multimedia data from the first edge node to the second edge node; receiving, at an intermediate service node between the first edge node and the second edge node along the optimal path, the packet; identifying, by the intermediate service node using the optimal path in the header, a next service node to send the multimedia data to; and transmitting, by the intermediate service node, the packet to the next service node. receiving, by a processor (108, 116), a path metric indicative of transmission capacity between directly-connected service nodes in the SDN; determining, by the processor (108, 116) based on the path metric, a cascade network topology comprising an optimal path between a first edge node and a second edge node, wherein the optimal path has a lowest transmission latency among data transmission paths in the SDN between the first edge node and the second edge node; wherein the optimal path includes a set of service nodes from the first edge node to the second edge node; transmitting the optimal path to the first edge node; and based on a determination that multimedia data is to be transmitted from the first edge node to the second edge node, performing steps comprising: attaching, by the first edge node, the optimal path to the header of a packet of the multimedia data; transmitting the multimedia data from the first edge node to the second edge node; receiving, at an intermediate service node between the first edge node and the second edge node along the optimal path, the packet; identifying, by the intermediate service node using the optimal path in the header, a next service node to send the multimedia data to; and transmitting, by the intermediate service node, the packet to the next service node. attaching, by the first edge node, the optimal path to the header of a packet of the multimedia data; transmitting the multimedia data from the first edge node to the second edge node; receiving, at an intermediate service node between the first edge node and the second edge node along the optimal path, the packet; identifying, by the intermediate service node using the optimal path in the header, a next service node to send the multimedia data to; and transmitting, by the intermediate service node, the packet to the next service node.