At the beginning of the paper we introduce communication networks and data routing in networks. Later we focus on permutation routing, where each base station is the origin of at most one package and at the same time is the destination of no more than one package. The main part of the paper represents the problem of optimal permutation routing in triangular meshes with full-duplex edges. We describe an optimal permutation routing algorithm for full-duplex triangular meshes. The basic idea of the algorithm is that a saturated package should not wait any longer because it has already waited as long as it could, otherwise the algorithm becomes suboptimal. Packet p is saturated if the number of waiting steps of the packet is l<sub>max</sub>−l<sub>p</sub>, where l<sub>max</sub> is the maximum length over the shortest paths of all packets and l<sub>p</sub> is the length of the shortest path of packet p. The algorithm routes every permutation in the l<sub>max</sub> routing steps and is optimal, because l<sub>max</sub> is a lower bound of every permutation routing algorithm in triangular meshes.