Ad Hoc Networks TOPIC FIVE
outline
有线网络的多播
Source-based multicast
Core-based multicast
移动网络的多播
分类
- ODMRP(On-Demand Multicast Routing Protocol)
三个阶段
Multicast Request Phase
Multicast Refresh Phase
Multicast Expiration Phase
缺点- Location-Based Multicast(LBM)Routing
Multicast Region
Forwarding Region
LBM的缺点(page24)- ABAM(Associativity-Based Ad-hoc Multicast)
Long-Lived MC Tree Establishment
三个步骤- tree discovery
- tree selection
- tree setup
RSA
TSA
MC Tree Reconfiguration
场景一:接收方迁移
场景二:Tree Node迁移
场景三:SRC迁移
场景四:Concurrent Node迁移
MC Tree Deletion
Dynamics of Multicast Group Membership所有节点都可以是源,但只有组里的节点才是能是目标
正文:
单播Unicast:
只有⼀个源点⽹络和⼀个终点⽹络。源点⽹络和终点⽹络的关系是⼀对⼀的。
在单播通信中,路由器仅从它的⼀个接⼝转发收到的这个分组。
多播Multicast:
在多播通信中,有⼀个源点和⼀组终点,这是⼀对多的关系。源地址是⼀个单播地址,⽽⽬的地址则是⼀个组地址,在这个组中包含了⼀个或多个⽬的⽹络。
在多播通信中,路由器可以通过它的多个接⼝转发收到的分组。
广播Broadcast:
在广播通信中,源点和终点的关系是⼀对所有,源点只有⼀个,但其他所有的主机都是终点。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SY5ai2IP-1639587174998)(D:\photo\photolibrary\image-20211118171232645.png)]
有线网络的多播
- 每个路由器为每个组构建最短路径树
多播组:class D(IP address 224.0.0.0 to 239.255.255.255)
224.0.0.0 ----->(11100000.00000000.00000000.00000000)
239.255.255.255------->(11101111.11111111.11111111.11111111)
- 所有节点都可以是源,但只有组里的节点才是能是目标
-
source-based tree
:所有节点(路由器)拥有组的最短路径树
——Source-based multicast: MOSPF Multicast OSPF -
group-shared tree
:只有核心节点拥有组的最短路径树,负责分发多播包裹。其他节点必须先将多播包裹发送给核心节点
——Core-based multicast: CBT Core-based Tree
Source-based multicast
每个节点都要维护最短路径树
- Not Scalable.(不可扩展)
- Not efficient.
- Control overhead and too slow(control开销高昂)
Core-based multicast
- 每个核心节点维护最短路径树
- 不一定是最短路径
- 核心节点可以通过双向链路互联
- 为每个组播组分配单个组播共享路由树,为组中的所有发送者分配流量。
移动网络的多播
分类
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hoNtVrzc-1639587174999)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center.png)]
1. ODMRP(On-Demand Multicast Routing Protocol)
- 有包裹传输需求时才激活
- 上传小组(forwarding group):被选为发送包裹到某一特定多播组的一组节点
- 数据在小组的mesh topology中泛洪
- 上传小组通过周期性的泛洪control message维持
三个阶段
Multicast Request Phase
- SRC发送**JoinReq以请求建立多播拓扑**(JoinReq在整个网络中周期泛洪)
中间节点IN接收JoinReq后
-
存储source ID, multicast group ID, sequence number and upstream node ID[上游节点](判断是否首次收到[以保证当前路径最快]以及建立反向路径)
-
重新广播(首次收到且TTL[Time To Live]>0)
-
目标收到**JoinReq后,发现自己属于多播组**,然后通过反向路径返回**JoinReply**
-
中间节点IN收到JoinReply后
-
源收到JoinReply后,开始发送包裹
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dVqFnZ6G-1639587175001)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center-16372277422902.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LKoxLQUt-1639587175003)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center-16372277474364.png)]
Forwarding Group
有Forwarding Table
确定下一条的node
Multicast Refresh Phase
This phase is used to adapt to changing topology due to node mobility.
- SRC周期泛洪JoinReq(表明持续的传输需求、更新路径)
If not a memeber of receivers, just rebroadcast it to make sure JoinReq reach to all possible receivers(go through the whole network)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MnUo4ffb-1639587175004)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center-16372278740436.png)]
图中已经出现更新的点
Multicast Expiration Phase
• Old route entries are deleted upon timeout.
• It is time based process.
Source keeps sending JoinReq periodically, all forwarding nodes receive that, they reset the timer when the src no longer set JoinReq.
缺点
-
Excessive data forwarding
- Too many nodes become forwarding nodes
• excessive number of retransmissions of data packets.
- Too many nodes become forwarding nodes
-
High control overhead
-
Each source periodically floods JoinReq packets
-
mesh recontructed periodically
-
heavy control overhead.
-
Location-Based Multicast(LBM)Routing
Multicast Region
– Multicast group is defined by “multicast region”
假设每个节点都知道自己的地理位置
每个节点通过将其地理位置与多播区域进行比较来检查是否是DEST
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zR7Yp9ow-1639587175005)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center-16372384494548.png)]
Forwarding Region
SRC不一定在多播区域中
如果不在,上传区域的节点将辅助发送包裹到多播区域
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BgCbiIiT-1639587175006)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center-163723846567810.png)]
Applications
• Sending emergency messages to people within some area.
• Paging someone in particular small area
LBM的缺点(page24)
- 需要精确地址
- 需要精确的区域界限
- 组播区域中的节点不能在连通性方面被划分
- 当节点数量增加时,开销很大
- 没考虑信号质量和连接性
ABAM(Associativity-Based Ad-hoc Multicast)
基于关系稳定性建立多播树
Long-Lived MC Tree Establishment
– (When SRC want to initiate a MC session)
三个步骤
1. tree discovery
- 发送方广播BQ-M(BroadcastQuery-Multicast)包含邻居ID和对应的ticks
- 邻居收到BQ-M检查是否**首次收到,检查是否有自己的ID和ticks**,如果是,移除上游节点的其他邻居信息,加入自己的邻居信息,重新广播。如果是第二次收到当前BQ-M(列表中有自己的ID),忽视它。
- 接收方收到BQ-M后启动timer,等待更多BQ-M,timer到时后进入下一阶段tree selection
2. tree selection
-
所有接收方运行RSA(Route Selection Algorithm)选择最佳路径
-
接收方发送BQ-REPLY(BroadcastQuery-REPLY)通过逆向路径到发送方,然后进入下一阶段
3. tree setup
- 发送方运行TSA(Tree Selection Algorithm)建立多播树
RSA
- Receiver knows the possible routes to SRC, when it receives the tree search packet
- Receivers discard routes with exceeding Route Relaying Load or other predefined metrics
- Receivers discard routes with no stability characteristics
- If multiple routes have high acceptable association stability, select path based on other criteria, such as minimum hop count (Shortest path).
TSA
- Find a stable TREE and reduce total links used
- Maximum link sharing, i.e. min total tree cost.
- Minimum delay from source to each receivers.
SRC生成MC Setup Packet,告知节点它被选为tree node(和ABR的差异)
Branching Node:有多个下一跳的节点,分割MC Setup Packet成多段
CRC:end of tree
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BstLbuU3-1639587175007)(D:\photo\photolibrary\image-20211118204052920.png)]
MC Tree Reconfiguration
场景一:接收方迁移
解决方法1:RRC
接收方的上游节点生成Localized partial route 阶段,开始LQ-M[1](距离为1跳的目的节点寻找),未找到就发送RN[0](SRC方向的信息回传)到其上游,令其开始LQ-M[2]直到向上到达分支节点(分支节点失败后不再发送到上游,等待接收方自己修复[解决方法2],而不是ABR里总跳数的一半)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xAc6KlOQ-1639587175009)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center-163724037359114.png)]
解决方法2:Receiver-initiated move-join
发送local join等待local reply
Migrated receiver可以join或直接创建一个branch到已经存在的multicast tree上。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YyNOkbbU-1639587175010)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center-163724041562516.png)]
场景二:Tree Node迁移
场景三:SRC迁移
同ABR
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rBW6Z4EU-1639587175011)(D:\photo\photolibrary\image-20211118210712161.png)]
场景四:Concurrent Node迁移
后者删除前者
最后的RRC才会成功
MC Tree Deletion
– (When the MC session is no longer needed)
接收方要离开,会发送信息到**分支节点**,分支节点删除相应信息(所有接收方离开后,整棵树被删除)
发送方离开,会发送信息到所有节点,所有节点清除相关信息和角色
Dynamics of Multicast Group Membership
– (Mobile Hosts can join and leave the group at any time)
节点加入
加入节点广播Local_Join request,IN发送JOIN-REPLY
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QjWZtJp8-1639587175012)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center-16372409249512.png)]
接收者离开
向上游发送L_LEAVE message,上游节点删除该接收者的信息,如果该上游节点没有其他接收者,它向其上游继续发送prune信息,其上游会将下游节点的信息删除,该过程直到branching node为止。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6GknhMwJ-1639587175013)(D:\photo\photolibrary\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlcm1pX2hidw==,size_16,color_FFFFFF,t_70#pic_center-16372409441364.png)]
优点和缺点
Advantages:
– Path source => receiver is more stable vs. other multicast protocols
路径源 => 接收器比其他多播协议更稳定
– Achieves higher packet delivery
– 实现更高的数据包交付
– Control overhead is less due to a fewer number of link failures
– 由于较少的链路故障,控制开销较小
Disadvantages:
– Congestion in most stable path.
最稳定路径的拥塞。
– Result in increased delay and reduction in packet delivery
导致延迟增加和数据包交付减少
– Not scalable
不可扩展