120 likes | 304 Views
Network Layer. Network layer. Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations Network layer: move packets from source A to destination B where A and B can be world-apart. Main Network Layer Design Issues.
E N D
Network layer • Physical layer: move bits between physically connected stations • Data link layer: move frames between physically connected stations • Network layer: move packets from source A to destination B where A and B can be world-apart
Main Network Layer Design Issues • Service interface: what kind of services to be supported at the network layer? • Routing: Where to send the packets received?
Service Interface • Should be independent of router technology • The upper layer shouldn’t worry about the topology • Network address should be uniform
Routing • Routing – Determining the path from the source to the destination. At a router, it means which output port should a packet to be sent to • Desirable properties of the routing algorithms: • correctness: of course • simplicity: for efficiency • robustness: must be able to sustain the changes in the networks (cannot just rely on reboot) • stability: when run long enough, should converge to equilibrium • fairness: every one gets to send • optimality: as efficient as possible, of course • sometimes, these properties may conflict
Flooding • Flooding • send all the incoming packet to all outgoing links except the one the packet arrived on • Reliable, fast, large overhead, not scalable • user: military, distributed database(update everything), highly reliable packets.
Flooding • Problems? • A packet will be sent for infinite number of times • Hop count. Don’t forward the same packet for more than H times. • How to set H?
Shortest Path • find the shortest path from the source to all other nodes. • Dijkstra algorithm: finding the shortest paths from the source s to all other nodes in the network. 1) Initial set = empty, 2) maintain the distance from s to all other nodes (distance(s, s) = 0, distance(s, t) = infinite) 3) repeat until all nodes are included in the set 4) find a node d currently no in the set with shortest distance 5) include d in the set 6) update the distance from s to all other nodes using 7) if distance(s, m) > distance(s, d) + dist(d, m) then 8) distance(s, m) = distance(s, d) + dist (d, m)
5 3 5 2 2 1 3 1 2 1 A D E B F C Dijkstra’s algorithm: example D(B),p(B) 2,A 2,A 2,A D(D),p(D) 1,A D(C),p(C) 5,A 4,D 3,E 3,E D(E),p(E) infinity 2,D Step 0 1 2 3 4 5 start N A AD ADE ADEB ADEBC ADEBCF D(F),p(F) infinity infinity 4,E 4,E 4,E
Shortest Path • Why this gives the shortest path? • Node added to the set has found its minimum distance to the source. Suppose this is not true. At a step, we add node W to the set. If there is another path s---Z---W with distance shorter than d(W), where Z is the first node in the path currently not in the set. d(Z) must be less than d(W) (why?) and we would have added Z to the set at this step rather than W.
Link State Algorithm • Each router independently computes optimal paths • From itself to every destination • Routes are guaranteed to be loop free if • Each router sees the same cost for each link • Uses the same algorithm (shortest path algorithm for OSPF) to compute the best path
Topology Dissemination • Each router creates a set of link state packets • Describing its links to neighbors • LSP contains • Router id, neighbor’s id, and cost to its neighbor • Copies of LSPs are distributed to all routers • Using controlled flooding • Each router maintains a topology database • Database containing all LSPs