200 likes | 322 Views
Department of Control Engineering Distributed Real-time Systems. Networks and Protocols. Networks & Routing. Ole Brun Madsen Professor Department of Control Engineering University of Aalborg. Department of Control Engineering Distributed Real-time Systems. Networks & Graphs.
E N D
Department of Control Engineering Distributed Real-time Systems Networks and Protocols Networks & Routing Ole Brun Madsen Professor Department of Control Engineering University of Aalborg Networks & Routing
Department of Control Engineering Distributed Real-time Systems Networks & Graphs A natural way of formal representation of a network is to use concepts from the Graph theory. A Graph is a finite nonempty set V(G) of objects called Vertices, Points or Nodes and a set E(G) of 2-element subsets of V(G) called Edges or Lines In the context of Computer Networks the terms Nodes and Lines are the most commonly used names. Networks & Routing
a d g c b e f Department of Control Engineering Distributed Real-time Systems Networks & Graphs An example of a graph could be: V(G) = {a,b,c,d,e,f,g} and E(G) = {ab, ac, ad, bc, cd, ce, dg, eg, ef} Networks & Routing
a d g c b e f Department of Control Engineering Distributed Real-time Systems Networks & Graphs The number of elements in V(G) is called the order of the graph G The number of elements in E(G) is called the size of the graph G In the example, the order of G = 7 and the size of G is 10 Networks & Routing
a d g c b e f Department of Control Engineering Distributed Real-time Systems Networks & Graphs The degree of a elements ni in V(G) is the number of elements in E(G) that contains ni In the example, the degree of a = 3, b = 2, c=4, d=3, g=3, f=2 Networks & Routing
a d g c b e f Department of Control Engineering Distributed Real-time Systems Networks & Graphs A walk in a Graph is an alternating sequence of nodes and lines, starting with a node and ending with a node. The number of lines in the walk is defined as the length of the walk. 4 5 1 3 6 2 7 In the example, a,ab,b,bc,c,ca,a,ad,d,dc,c,ce,e,ce,c is a walk from a to c of length 7 Networks & Routing
a d g c b e f Department of Control Engineering Distributed Real-time Systems Networks & Graphs A trail in a Graph is walk where no lines are repeated A path in a Graph is walk where no nodes are repeated A cycle in a Graph is walk starting and ending in the same node, and where each node in between are distinct. In the example, a,ab,b,bc,c,ca,a,ad,d, is a trail from a to d of length 4 a,ab,b,bc,c,cd,d, is a path from a to d of length 3 a,ab,b,bc,c,cd,d,da,a is a cycle of length 4 Networks & Routing
a d g c b e f Department of Control Engineering Distributed Real-time Systems Networks & Graphs A Graph is connected if there exist a path between any two pairs of nodes in the graph. In the example, a,ab,b,bc,c,ca,a,ad,d, is a trail from a to d of length 4 a,ab,b,bc,c,cd,d, is a path from a to d of length 3 a,ab,b,bc,c,cd,d,da,a is a cycle of length 4 Networks & Routing
a d g c b e f Department of Control Engineering Distributed Real-time Systems Networks & Graphs The distance d(x,y) between two nodes x and y in a graph G is the length of the shortest path between x and y, if such a path exists, otherwise the distance is defined as infinity. In the example, d(a,f) = 3 Networks & Routing
Department of Control Engineering Distributed Real-time Systems Networks & Graphs • The distance function d(x,y) in a graph G is a Metric, that is, it maps • V(G) X V(G) into the set of nonnegative integers and satisfies the following fundamental properties: • 1: d(x,y) > 0, d(x,y) = 0, if and only if x = y • 2: d(x,y) = d(y,x) for all x,y in G • 3: d(x,y) < d(x,z) + d(z,y) for all x,y,z in G Networks & Routing
a d g c b e f Department of Control Engineering Distributed Real-time Systems Networks & Graphs The weighteddistance d(x,y) between two nodes x and y in a weighted graph G is the minimum length (weight) of all paths between x and y, if such a path exists, otherwise the distance is defined as infinity. 5 7 3 3 1 5 1 1 8 In the example, d(a,f) = 16 Networks & Routing
Department of Control Engineering Distributed Real-time Systems Routing requirements There exists a large set of different routing requirements in networks. A route in a network is a set of lines, that satisfies a set of routing requirements specified. The most simple routing requirement is to find a shortest route between two nodes. The following requirements may be categorised according to two different aspects, the type of routing and the definition of reusability for nodes and lines during the routing. These requirements are named “Routing Requirement yx”, where y is a digit between 1 and 6, indicating the type of the requirement, and x is a digit between 0 and 3, indicating the reusability of nodes and lines. Networks & Routing
Department of Control Engineering Distributed Real-time Systems Routing requirements • Routing requirement reusability types: • y0: nodes may be reused, lines may be reused. • y1: nodes must not be reused, lines may be reused. • y2: nodes may be reused, lines must not be reused. • y3: nodes must not be reused, lines must not be reused. • Where y may be 1, 2, 3, 4, 5 or 6, • Routing requirement 1 only find one route. • If a line must not be reused, all lines in all groups containing the line must not be used neither. • A group of lines is a subset of lines in the network not being mutually independent e.q. running in the same trace Networks & Routing
Department of Control Engineering Distributed Real-time Systems Routing requirements At a first glance, it may look like requirement y1 and y3 are the same, because prohibiting reuse of nodes will prevent the lines from being reused, but because of the rule of not reusing any lines in the same group, the two requirements are not equal. If the network is connected, it will always be possible to find a solution for Routing Requirement y0, for the others there may exist connected networks, where the specified Routing Requirement can not be fulfilled. Networks & Routing
Department of Control Engineering Distributed Real-time Systems Routing requirement 1 Find a shortest route between two nodes in a pair of nodes. If the network is connected, it will always be possible to find a solution. There may exist several shortest routes. This requirement type is symbolised with | . Routing requirement 1x There must be found a shortest route between two nodes in a pair of nodes. Furthermore there must be found another shortest route between the same pair of nodes. The first route will be the shortest. This requirement type is symbolised with ( ). Networks & Routing
Department of Control Engineering Distributed Real-time Systems Routing requirement 2x There must be found a shortest route between two nodes in a pair of nodes. Furthermore there must be found a shortest route between the first of the nodes in the pair and a third node. This requirement type is symbolised with \/ , and is called V-routing. Routing requirement 3x There must be found a shortest route between two nodes in a pair of nodes. Furthermore there must be found a route between the two other nodes in another pair of nodes. This requirement type is symbolised with | | , and is called parallel-routing. Networks & Routing
Department of Control Engineering Distributed Real-time Systems Routing requirement 4x There must be found a shortest route between two nodes in a pair of nodes. Furthermore there must be found a route between the two other nodes in another pair of nodes. If this selection will not give a solution the end nodes in the pairs are interchanged and the algorithm is executed once more. This requirement type is symbolised with |X|. Routing requirement 5x There must be found a shortest route between two nodes in a pair of nodes. This route must pass a specified third node. Furthermore there must be found another route for the same pair of nodes, but passing a specified fourth node. This requirement type is symbolised with < >, and is called passing-routing. Networks & Routing
Department of Control Engineering Distributed Real-time Systems Routing requirement 6x If the requirement for traffic between two nodes in a pair of nodes is greater than a given value there must be found a shortest route between the two nodes in a pair of nodes. If the requirement for traffic between two nodes in a pair of nodes is less than or equal to a given value. there must be found a shortest route between the two nodes in a pair of nodes. This route must pass a specified third node. Furthermore there must be found another route for the same pair of nodes, but passing a specified fourth node. This requirement type is symbolised with <:>, and it is a combination of routing type 1 and type 5x. Networks & Routing
Department of Control Engineering Distributed Real-time Systems Definition of measurements of routes To find the cheapest way to transport the traffic, the total weight of the route is used as a measure. The definition of how the weight is measured can influence the routing. The weight of the possible routes is used by the algorithms to try to find one cheapest route out of all possible routings. The weight of a route is defined as the sum of the weights of all the lines defining the route. Networks & Routing
Department of Control Engineering Distributed Real-time Systems Examples of different weight functions The weight of a line between two neighbour nodes may be defined in three different ways: Weight 1, which means that the measurement of the route is the number of “hops” involved. An Individual “price” (non negative number) per involved line in the network e.q. the real traceé distance or an expression for the real economy involved. A weight corresponding to the geographical distance between the co-ordinates of the two nodes, equal to the normally used length definition in the co-ordinate systems involved. Networks & Routing