Bandwidth, latency and data security are the three major factors that affect the Quality of Service (QoS) for any computer network. Different applications running on a network have different requirements of these three factors, and dealing with all applications types in a similar manner is an inefficient approach. This paper proposes a routing protocol that recognizes the type of traffic and routes it accordingly to provide the optimal QoS. Different data types are to be routed through different routes to satisfy the preferred QoS requirements of these data types. The weights of the network's links were partitioned in this paper into three layers to accommodate these three QoS requirements factors.