Presentation is loading. Please wait.

Presentation is loading. Please wait.

3. Advanced Routing Protocols and IPv6

Similar presentations


Presentation on theme: "3. Advanced Routing Protocols and IPv6"— Presentation transcript:

1 3. Advanced Routing Protocols and IPv6
3.1 Traditional IP Routing 3.2 Multicast IP 3.3 CacheCast 3.4 AODV for Mobile AdHoc Wireless LANs (MANETs) 3.5 IPv4 and IPv6 3.6 Sotware-defined Networks

2 3.1 Traditional IP Routing
IP is a datagram protocol, i.e., every packet is routed separately, indepen- dent of earlier packets. Every packet contains the full IP address of the re- ceiver (and the sender). Traditional IP was designed for wired networks. It uses a distributed routing strategy, i.e., the routes are decided jointly by different nodes. The nodes exchange information to come up with good routes and to deal with chan- ging network conditions.

3 Distance Vector Routing (1)
Principle The nodes explicitly exchange routing information with their neighbors: Each node knows his own distance to every neighbor: number of hops (= 1) delay (round-trip time) queue length (indication for congestion) etc. Each node periodically sends a list E with his estimated distances to all known destination nodes to his neighbors. Node X receives such a list E from neighbor Y distance (X, Y) = e distance (Y, Z) = E(Z) => distance (X, Z) over Y is E(Z) + e The table with these distances is called distance vector. The algorithm is thus called distance vector routing.

4 Distance Vector Routing (2)
Example A B C D E F G H I J K L We consider the delays known to node J. Note that delays are not necessarily symmetric.

5 Distance Vector Routing (3)
H K new DV at J 24 20 21 8 B 12 36 31 28 C 25 18 19 D 40 27 E 14 7 30 22 17 F 23 G 6 10 J - L 29 33 9 15 JA JI JH JK delay=8 delay=10 delay=12 delay=6 Right column: newly determined delays at node J after receiving the distance vectors from the neighbors.

6 RIP In the early years of the Internet the most widely used interior routing protocol (within Autonomous Systems) was distance vector routing. The employed protocol was called RIP (Routing Information Protocol). With RIP all Internet routers periodically exchange distance vector messages and update their routing tables accordingly.

7 Another Example for Distance Vector Routing (1)
B C E ab bc ce de From A to link cost ad 1 2 From B From C cd From E From D (a) node E has just been added to the network

8 Example for Distance Vector Routing (2)
B C D de ce 2 1 E ab ad bc From A to link cost From B From C cd From E From D (b) after an exchange of RIP messages

9 Hierarchical Routing The size of the routing tables is proportional to the size of the network: large memory requirement in the nodes considerable CPU time for searching the tables much bandwidth for the exchange of routing information Hierarchical routing helps to solve these problems: Nodes are grouped into regions Each node knows all details of his region his routes to all other regions In the Internet a “region” is a subset of the IP address space. Disadvantage: globally optimal decisions are no longer found.

10 Example for Hierarchical Routing
table for node 1A full table for node 1A 5 1B 5C 6 1C 5D 4 4C 5A 5B 5E 4B 3 4A 2 3B 3A 2D 2C 2B 2A 1 - 1A HOP LINE DES. 1B 1C 1A 2A 2B 2D 2C 5A 5B 5C 5D 5E 3A 3B 4B 4C 4A region 1 region 2 region 3 region 4 region 5

11 OSPF Routing (1) The most widely used interior routing protocol in the Internet today is OSPF (Open Shortest Path First). The basic idea is that all nodes know the entire network topology at all times and can thus compute all optimal paths locally. If the topology changes, the nodes exchange topology update messages. Each node maintains a local “database“ of the entire topology, called the link state database. The optimal paths to all destinations can be computed locally with Dijkstra‘s Shortest Path algorithm (Shortest Path First = SPF). In the Internet slang the algorithm is thus called “Open Shortest Path First“. Algorithms of this class are also called ”link state routing algorithms”.

12 OSPF Routing (2) Requirements when RIP was replaced by OSPF
The new protocol had to support a variety of distance metrics, including physical distance, delay, and so on. It had to be a dynamic algorithm, one that adapted to changes in the topology automatically and quickly. The new protocol had to do load balancing, splitting the load over multiple lines. Most previous protocols sent all packets over the best route, the second-best route was not used at all. In many cases, splitting the load over multiple lines gives better perfor- mance. Support for hierarchical systems was needed. By 1988, the Internet had grown so large that no router could be expected to know the entire topology. The new routing protocol had to consider routes to subnetworks as destinations.

13 Example for OSPF Routing
B C bc ce E ab cd A D de ad (a) network in stable condition (b) links bc and ad failed (c) after an exchange of OSPF messages

14 3.2 Multicast IP Definition of Multicast
The transmission of a data stream from one sender to multiple (but not all) receivers is called multicast. Multicast is especially important for multimedia data streams: Multimedia applications often require 1:n communication. Examples: Video conferences Tele-cooperation (CSCW) with a shared work space Near-Video-on-Demand Broadcast of radio and TV Digital video streams have very high data rates. A transmission over n point-to-point connections can easily cause an overload of the network.

15 Motivation for Multicast
More „intelligence" in the inner nodes of the network reduces the load of the sender the load on the links. S n end-to-end connections one multicast connection

16 Multicast in LANs Ethernet, Wireless LAN, etc.
The topology has broadcast characteristics. The layer-2 addresses according to IEEE 802 allow the use of group addresses for multicast. Thus, multicast can easily and efficiently be realized in a LAN seg-ment. But: For a long time, in layer 3 and higher layers of the Internet protocol archi-tecture, only peer-to-peer (unicast) addresses were supported!

17 Multicast in the Network Layer
Principle: Duplication of packets as "deep down" in the multicast tree as possible. Multicast in WANs requires a multicast address mechanism in layer 3 and more "intelligence" in layer 3 routers. extensions to the routing tables new routing algorithms

18 A Router with Multicast Extension

19 Example Topology A D B C E a b bc c e d cd ad

20 The Advantage of Multicast in the Example Topology
B C B C E E A A D D (a) four unicast connections (b) one multicast connection

21 Routing Algorithms for Multicast
Multicast routing has been realized for the Internet in layer 3 (multicast IP). The employed routing algorithms are extensions of the unicast routing algorithms; they are compatible with these. Multicast in the Internet is receiver-oriented. For a multicast session all participants (sender and receivers) agree on a multicast address. The sender begins to send to this address. Each node in the Internet can then decide whether it would like to be included into an existing multicast session and receive the data traffic.

22 Principles of Multicast IP
IP packets are transmitted to a group address (IP address of type D). connectionless service (datagram service) best-effort principle (no quality of service guarantees): no error control no flow control no guarantee that the packet order is maintained. receiver-oriented: The sender sends multicast packets to the group. The sender does not know the receivers, has no control of them. Each host on the Internet can join a group. A restriction of the transmission range is only possible by the Time-To-Live parameter (TTL = hop counter in the header of the IP packet).

23 Multicast Addresses in IP
The IP group address was standardized as IP address of class D. It has no netid/hostid structure, it implements just a flat number space. Group addresses are assigned dynamically. There is no mechanism for the unique assignment of a group address in IP! Higher layers have to take care of address assignment to groups.

24 Routing Algorithms for Multicast
Flooding The simplest possibility for reaching all receivers of a group would be flooding (broadcasting). Algorithm Flooding When a packet arrives at a node, a copy is sent to each outgoing link except the one on which it came. First round Second round Third round

25 Reverse Path Broadcasting (RPB)
More efficient than flooding is the Reverse Path Broadcasting algorithm (RPB). It uses the fact that each node knows its shortest path to the sender from the classical (point-to-point) routing table! This path is called the Reverse Path. The first idea is now that a node forwards only those packets to his neighbors that have arrived on this shortest path to the sender. This algorithm generates substantially fewer packets than flooding.

26 Example of Reverse Path Broadcasting (incomplete algorithm)
For our example topology the (so far still incomplete) RPB algorithm works as follows: B C bc ce E ab cd A de ad D As we see, there are still redundant packets: nodes D and E receive every packet twice, node C even three times.

27 Reverse Path Broadcasting (complete algorithm)
If each node communicates additional information to his neighbors, RPB can prevent all redundant packets. The additional information consists of the fact whether the neighbor is on his shortest path to the sender. In our example, E informs his neighbors C and D that D lies on his shortest path to A. A node will then forward packets only to those "sons" from whom he knows that he lies on their shortest path to the sender. The diagram be-low shows the packet flow for the full RPB algorithm. B C bc ce E ab cd A de ad D

28 Truncated Reverse Path Broadcasting (TRPB)
TRPB limits the distribution of the data to those subnetworks that contain multicast group members. Only LANs that are leaves of the routing tree are considered. A simple group management protocol was defined for this purpose: the router asks the hosts in his LAN whether they are interested in receiving the packets of a certain group. They reply with yes or no. If a router has no interested host in his LAN, he will no longer forward packets with this group address into his LAN (IGMP: Internet Group Management Protocol). Advantage Avoids unnecessary traffic in the leaf LANs. Disadvantage Can eliminate only leaf subnetworks, does not reduce the data traffic at the higher levels of the tree.

29 Reverse Path Multicasting (RPM)
It obviously makes sense to cut back the routing tree in the data phase of a multicast session so that packets are only forwarded to those subtrees where there are inter-ested receivers. This is done with so-called "prune messages". They propagate from the leaves to-wards the root of the tree and communicate to the upstream nodes that there are no interested receivers further down in the tree. In this way a broadcast tree becomes a multicast tree. The algorithm is called Reverse Path Multicasting (RPM). In the Internet the protocol that implements the RPM algorithm is called DVMRP (Distance Vector Multicast Routing Protocol).

30 Algorithm “Pruning” A router whose sons are not interested in the multicast session sends a Non-Membership Report (NMR) to the upstream router, i.e., to the higher-level router in the multicast tree. A router who received NMRs from all his downstream routers send a NMR to his upstream neighbor. NMRs come with a timeout after which the pruning is canceled. This allows new, joining hosts at lower levels of the tree to find out about all ongoing multicast sessions. NMRs can also be canceled by an explicit message (the craft message) if a host below a link becomes interested in the session again.

31 Example for Reverse Path Multicasting
(a) tree in the initial RPB phase (c) D has sent a "prune message" (b) E has sent "prune message" B C bc ce E ab cd A de D ad

32 Advantages and Disadvantages of RPM
Reduction of data traffic compared to TRPB Disadvantages Periodic flooding of the data to all routers is necessary so that they can recon-sider their decision. Status information for each group and for each sender must be maintained in each node. For each pair (sender, group address) a separate routing tree must be created.

33 Core-Based Trees All algorithms represented so far have the disadvantage that for every (sender, group) pair a separate multicast tree must be created and maintained. Core-based trees avoid this disadvantage. Only one tree per group is built. Every sender sends to the same tree. Today‘s most advanced multicast routing protocol in the Internet is called PIM-SM (Protocol Independent Multicast - Sparse Mode). It is based on the idea of core-based trees.

34 3.3 CacheCast Failure of IP Multicast
More than two decades of research resulted in so-called multicast isles. Only 2.2% of total ASes are multicast enabled, and the percentage is decreasing. What’s wrong with IP Multicast? There are technical and commercial issues. I would like to thank Dr. Piotr Srebrny and Professor Dr. Thomas Plagemann for their help with the trans-parencies on CacheCast. This work was done at the University of Oslo, Norway.

35 Technical Issues Scalability with respect to memory and CPU processing
IP multicast requires per-flow state Security Lack of protection against attacks on routers and sessions Congestion control Group management sender/receiver authorization, group management not well defined No support for mobile devices.

36 Commercial Issues Payment model violated
Who pays? The number of downstream receivers is unknown. Error tracking difficult Difficult to locate transient errors in a multicast tree

37 CacheCast CacheCast is a link-level caching mechanism that eliminates redundant data trans-missions. Caching is a very useful technique to improve the performance when a message is sent to multiple receivers.

38 CacheCast Idea (1) A packet with a payload P is destined to A.
It traverses a set of routers leaving a copy of the payload P and marking the outgoing interface. A second packet with the same payload P is destined to B.

39 CacheCast Idea (2) The first router along the path discovers that the same payload P is available on the next-hop router and sends only the packet header. The last router on the common path discovers that the payload P is not available on the next-hop router in direction B and attaches it to the header.

40 Main Questions How do we determine the next hop cache contents? How do we construct the caches?

41 Cache Placement Router = switching node
Packet behaviour highly indeterministic Link = transmission channel Packet behaviour is much more predictible.

42 Link Cache Caching is done per link: Cache Management Unit (CMU)
Cache Store (CS) The router remains untouched.

43 Link Cache Requirements
Very simple processing ~72 ns to process a minimum size packet on a 10 Gb/s link and ~18 ns on a 40 Gb/s link modern DDR read cycle ~20ns modern SRAM read cycle ~5ns Very small cache size The smaller the cache, the fewer items to match with  the simpler processing ~10 ms caches are sufficient (explained later) The calculations are based on assumption that the minimum size packet in the Ethernet network has 96B.

44 Cacheable Packets A CacheCast packet carries metadata describing the packet payload: payload id payload offset Index. Only packets with the metadata are cached.

45 CMU and CS CMU = Cache Management Unit CS = Cache Store

46 Estimating Cache Size (1)
Concept of a packet train It is sufficient to hold payload P in the CS for time t. To how many destinations can a source send a packet within time t?

47 Estimating Cache Size (2)
Back-of-the-envelope calculation Source uplink speed Packet train time 2ms 10ms 50ms 512 kb/s 2 8 40 1 Mb/s 4 16 79 10 Mb/s 32 157 781 100 Mb/s 313 1561 7802

48 Implication of the Small Size
10 ms cache size on a 10 Gb/s link assuming 10 % of cacheable traffic: ~1.28 MB for the CS storage space (fits SRAM memory) ~1280 entries in the CMU table What about a 100 Mb/s LAN? ~13 KB for CS ~13 entries in the CMU table? We can easily afford that.

49 Limited Cache Size (1) Assuming 10 ms caching time A slow source is able to send only to few destinations within this time. If the caching time is exceeded the source must resend the payload. This affects the CacheCast efficiency.

50 Limited Cache Size (2) Remark:
1. The more receivers the better efficiency – this has to do with the Internet transit-stub topology. 2. The red line is a base line, because the 100Mbps source can transmit more than 1000 packets within 10ms – no additional payload transmission required. Conclusion: Slow sources can still multicast to large number of receivers, however the efficiency is decreased.

51 Server Support How expensive is CacheCast for the server?
Implementation in Linux OS (kernel ) New system calls to manage CacheCast enabled links and to send tight packet trains Adapt Paraslash streaming server to the new calls Click router implementation Testbed evaluation

52 msend (1) Streaming servers send data to clients via many unicast connections. We substitute many send calls with one msend call. Single entry point to kernel All send operations are batched. Tight packet trains can be created.

53 msend (2)

54 Performance Analysis (1)
The server on S streams an mp3 file (320 KBs) to a growing number of clients on nodes A and B. Bottleneck link with 20 MB/s Intel 2.4 GHz AMD duocore 2.5 GHz

55 Performance Analysis (2)
Connected users

56 Performance Analysis (3)
Bandwidth consumption

57 Performance Analysis (4)
CPU load

58 CacheCast Conclusions
CacheCast is a valid solution for single-source multiple-destinations transfers: Simple and reliable Fully distributed Incrementally deployable The server load is neglectable.


Download ppt "3. Advanced Routing Protocols and IPv6"

Similar presentations


Ads by Google