⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multicast.tex

📁 柯老师网站上找到的
💻 TEX
字号:
\chapter{Multicast Routing}\label{chap:multicast}This section describes the usage and the internals of multicastrouting implementation in ns.We first describe the user interface to enable multicast routing,specify the multicast routing protocol to be used and thevarious methods and configuration parameters specific to theprotocols currently supported in ns.Then we describe in detail the internals and the architecture of themulticast routing implementation in ns.\section{Multicast API}\label{sec:mcast-api}Multicast routing is enabled in the simulation by setting the \code{EnableMcast_} Simulator variable to 1before any node, link or agent objects are created.This is so that the subsequently created node, link and agent objects are appropriatelybe configured during creation to support multicast routing.For example the link objects are created with interface labels thatare required by some multicast routing protocols, node objects are created with the appropriate multicast classifier objectsand agent objects are made to point to the appropriate classifier at that node[need to point to descriptions of interfaces, multicast-enabled nodeand multicast classifiers].A multicast routing strategy is the mechanism by whichthe multicast distribution treeis computed in the simulation.The multicast routing strategy or protocolto be used is specified through the mrtproto command.A handle is returned to an object that has methods and configuration parameters specific to aparticular multicast routing strategy or protocol.A null string is returned otherwise.There are currently 4 multicast routing strategies in ns: CentralizedMulticast, static Dense Mode, dynamic Dense Mode (i.e., adapts tonetwork changes), Protocol Independent Multicast - Dense Mode.Currently only Centralized Multicast returns an object that hasmethods and configuration parameters.Need to describe how an agent joins and leaves multicast groups.Also need to talk about multicast addresses.An example configuration would be:\begin{program}	set ns [new Simulator]	Simulator set EnableMcast_ 1 \; enable multicast routing;        set node0 [$ns node]\end{program}\subsection{Protocol Specific configuration}\paragraph{Centralized Multicast}A Rendezvous Point (RP) rooted shared tree is builtfor a multicast group.The actual sendingof prune, join messages etc.to set up state at the nodes is not simulated.A centralized computation agent is usedto compute the fowarding trees and set up multicast forwarding state, (*,G) at the relevant nodesas new receivers join a group.Data packets from the senders to a groupare unicast to the RP.Note that data packetsfrom the senders are unicast to the RPeven if there are no receivers for the group.Description of available methods:	shared tree		setting nodes to be candidate RPs                getting RP for group	switching to source-specific treesDescription of behavior under network dynamics	mention causality violationsShould give example configuration\paragraph{Static Dense Mode}The Static Dense Mode protocol is based on DVMRP with the exceptionthat it does not adapt to network dynamics.It uses parent-child lists as in DVMRPto reduce the number of links over which thedata packets are broadcast.Prune messages for a particular groupare sent upstream by nodes in case they do not leadto any group members.These prune messages instantiate prune statein the appropriate upstream nodes to prevent multicastpackets from being forwarded down linksthat do not lead to any group members.The prune state at the nodes times outafter a prune timeout value that is 0.5s by default.The prune timeout is a class variable in Agent/DM.Should give example configuration.\paragraph{Dynamic dense mode}DVMRP-like dense mode protocol thatadapts to network changes is simulated.'Poison-reverse' information(i.e. the information that a particular neighbouring nodeuses me to reach a particular network)is read from the routing tables of neighbouring nodesin order to adapt to network dynamics(DVMRP runs its own unicast routing protocolthat exchanges this information).Prune Timeout value etc.Should give example configuration.\paragraph{PIM dense mode}\section{Internals of multicast routing}\label{sec:mcast-internals}We first describe the main classes that areused to implement multicast routing andthen describe how each multicast routing strategyor protocol is implemented.\subsection{The classes}The main classes in the implementation arethe McastProtoArbiter class and the McastProtocol class that is the base class for thevarious multicast routing strategy and protocol objects.In addition some methods and configuration parametershave been defined in the Simulator, Node, Agent and Classifier objects for multicast routing.\paragraph{McastProtoArbiter class}\paragraph{McastProtocol class}\paragraph{Simulator class}\paragraph{Node class}\paragraph{Agent class}\paragraph{Classifier class}\subsection{Protocol Internals}\label{sec:mcastproto-internals}We describe the implementation of themulticast routing protocol agents in this section.\paragraph{Centralized Multicast}\paragraph{Static Dense Mode}\paragraph{Dynamic Dense Mode}\paragraph{PIM Dense Mode}\endinput

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -