route-over VS mesh-under
近期在网上看到一篇专门介绍route-over和Mesh-under的论文,介绍的比較具体:
基于IP的物联网架构、技术与应用
Interconnecting Smart Objects with IP:TheNext Internet
Adam Dunkels(亚当·丹克尔)Jean-Philippe Vasseur
本书中提到了route-over和mesh-under的问题,尽管仅仅用了三页纸,也没有涉及过多的技术细节。但从最根本的源头解释了两种路由。之前看到的内容尽管涉及细节,但却easy让人一头雾水,搞不清楚两者个关系。
二层路由VS三层路由
关于LLN网络中的路由是应该在第二层(适配层)或是第三层(网络层)上执行的讨论已经成为一个很敏感的问题。
严格的说,路由意味着协议和机制要在多跳网络的第三层(IP)上计算路径。在多跳网络第二层上使用MAC地址运行路径计算也是可能的,这通常被称为“mesh-under”。与此相反的是“route-over”(路由,因此在第三层)。
大多数人觉得IEEE 802.15.4将是唯一可用的低功耗链路(总是一个有风险的如果)。当使用单一的链路层时,路径计算既能够在链路层(第二层)进行,也能够在IP层进行。
但新的低功耗第二层技术的出现。强烈要求使用分层架构。
这保证了层的独立性。并且特别是第二层”不可知论“。
记住,使用多种链路层的能力是TCP/IP架构设计的基础组建之中的一个。
路由协议非常明显变得不可缺少,这就导致了Roll工作的成立和RPL的设计。(事实上。ip本来就是为了屏蔽下层的异构链路和机制)
新问题随后出现了。即是否须要採用一个多层路由架构。一些链路层计算的路径表现为第三层的IP链路。在IP链路间运行路由操作。
多层路由架构在图5.5中描写叙述。在IP层。节点运行IP路由功能,看不见链路层节点。
在链路层,节点使用MAC地址进行”非链接“”路由”,在链路层计算路径。本例中,仅仅有N1、N2、N4处于链路层。
首先,这种多层方法被觉得是能够设计并部署的。6LoWPAN工作组甚至为其6LoWPAN适配层定义了一个网状编址报头,因为工作在链路层之上,通过使用802.15.4地址对每一跳编码来支持“mesh-under”方法。眼下还没有设计出此类链路层路由协议。
分层的方法。这样的路由架构的后果是非常值得考虑的,书中举了两个方面的后果:
一:可见性的缺失。由于第三层把第二层计算的路径觉得是IP链路。那么IP路由协议对链路层路径是不可见的。不可避免的导致次优路由。其实,链路层路由是依据自身的权值和约束计算路径。并且所产生的路径属性并没有通知给IP层。
这种链路有着与IP层相独立或不一致的静态权值。具体參见课本
二、网络重路由问题。路由协议的主要属性就是在网络组件故障(链路或节点)期间。在网络中寻找一条替代路径。这就涉及二层和三层同一时候重路由的问题。详见课本
结论:随着多种低功耗链路层技术的出现,比如IEEE802.15.4、Wi-Fi和PLC,网络层路由非常明显是必须的。虽然链路层路由可能在一些链路层上是可行的,但考虑到急剧添加的网络复杂性和缺乏效率。在LLN网络中尝试採用多层路由架构显然不是一个可行的选择。
关于mesh拓扑,如今认识到的几点:
能够參考译文:RFC 6606 question statement and requirement for6lowpan routing
1、mesh为二层,IP为三层。因为链路层地址。即MAC地址。在每次转发后都会发生变化(上一跳的物理地址和下一跳的物理地址)。所以就把真正的目的地址和源地址放在mesh报头中进行传输。
2、mesh-under和route-over也就是有差别的了,前者就是二层,确切来说就是低于ip层;后者就是ip层。
3、mesh当然是为了进行多跳,那么在wpan网内是不是不用ip,仅仅用mesh就能够完毕传送?(这个问题应该已经被3.1攻克了。若採用mesh,则仅仅有边界路由器为IPv6路由器)
4、当时用了mesh报头后,会带来一些优点。因为mesh包头中存储了接口标识符,所以这样就能够压缩IPv6报头中的信息,另外,路由表中也不必存储128为的IPv6地址。而是64位的接口标识了,缩小了路由表的大小。
Here, "Routing" is not equivalentto IP routing, but includes the functionalities of path computation andforwarding under the IP layer.
The term "Routing" is used in thefigure in order to illustrate which layer handles path computation and packetforwarding in mesh-under as compared to route-over.
Figure 1: Mesh-Under Routing (Left) andRoute-Over Routing (Right)
route-over VS mesh-under的更多相关文章
- 深入解读Service Mesh的数据面Envoy
在前面的一篇文章中,详细解读了Service Mesh中的技术细节,深入解读Service Mesh背后的技术细节. 但是对于数据面的关键组件Envoy没有详细解读,这篇文章补上. 一.Envoy的工 ...
- Dubbo Mesh 在闲鱼生产环境中的落地实践
本文作者至简曾在 2018 QCon 上海站以<Service Mesh 的本质.价值和应用探索>为题做了一次分享,其中谈到了 Dubbo Mesh 的整体发展思路是“借力开源.反哺开源” ...
- 深入解读Service Mesh背后的技术细节
在Kubernetes称为容器编排的标准之后,Service Mesh开始火了起来,但是很多文章讲概念的多,讲技术细节的少,所以专门写一篇文章,来解析Service Mesh背后的技术细节. 一.Se ...
- Istio入门实战与架构原理——使用Docker Compose搭建Service Mesh
本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于Kubernetes的教程仿佛不是亲儿子,写得非常随便,不仅缺 ...
- docker swarm mode routing mesh 使用
Docker Engine swarm mode makes it easy to publish ports for services to make them available to resou ...
- OpenShift 4.2 Service Mesh
1.和社区版Istio的区别 OpenShift 4.2的Service Mesh和upstream的Istio项目的增强,除了产品化之外,借用官方文档,区别在于: Red Hat OpenShift ...
- 使用Docker Compose搭建Service Mesh
使用Docker Compose搭建Service Mesh 本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于 ...
- 服务治理演进剖析 & Service Mesh、 xDS核心原理梳理
基于XDS协议实现控制面板与数据面板通信分享 基于这段时间在同程艺龙基础架构部的蹲坑,聊一聊微服务治理的核心难点.历史演进.最新动态, 以上内容属自我思考,不代表同程艺龙技术水准.如理解有偏差.理解不 ...
- 详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代
Linkerd 提供了许多功能,如:自动 mTLS.自动代理注入.分布式追踪.故障注入.高可用性.HTTP/2 和 gRPC 代理.负载均衡.多集群通信.重试和超时.遥测和监控.流量拆分(金丝雀.蓝/ ...
- 揭开服务网格~Istio Service Mesh神秘的面纱
目录 一.写在前面 二.微服务与K8S 三.服务网格与K8S 四.常见的产品 五.Istio架构 六.Istio的核心资源介绍 6.1.VirtualService 6.2.Destination R ...
随机推荐
- WebApi个人理解概要
WebApi概要 Global文件的作用: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class MvcApplication : System.We ...
- UITextView 限制输入字数
尊重原创 http://blog.csdn.net/fengsh998/article/details/45421107 对于限制UITextView输入的字符数.相信大家在网上见得最多的是实现UI ...
- Android应用开发提高篇(3)-----传感器(Sensor)编程
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/02/29/2373420.html 一.概述 Android支持的传感器种类越来越多了,这确实是一件可 ...
- BZOJ 1189: [HNOI2007]紧急疏散evacuate( BFS + 二分答案 + 匈牙利 )
我们可以BFS出每个出口到每个人的最短距离, 然后二分答案, 假设当前答案为m, 把一个出口拆成m个表示m个时间, 点u到出口v的距离为d, 那么u->v的[d, m]所有点连边, 然后跑匈牙利 ...
- [C#编程参考]把图像转换为数组的两种实现
当一个程序和一个图片放在一起,无非有两种操作: 第一种,就是传输这个图片,在传输图片之前要首先把这个图片变成byte类型的数组.所以这时候我们用到的是图片的存储的数据,也就是图片属性中的大小.我们并不 ...
- CDOJ 1259 昊昊爱运动 II bitset+线段树
题目链接 昊昊喜欢运动 他N天内会参加M种运动(每种运动用一个[1,m]的整数表示) 现在有Q个操作,操作描述如下 昊昊把第l天到第r天的运动全部换成了x(x∈[1,m]) 问昊昊第l天到第r天参加了 ...
- Cyclomatic complexity
Cyclomatic Code Complexity was first introduced by Thomas McCabe in 1976. In 1976, Thomas McCabe pub ...
- 几款Http小服务器
六款小巧的HTTP Server[C语言] http://blog.linuxphp.org/?action=show&id=60 转载:
- MSSQL 如何删除字段的所有约束和索引
原文MSSQL 如何删除字段的所有约束和索引 代码如下: ---------------------------------------------------------- -- mp_DropC ...
- Dubbo原理解析-监控
Dubbo发布代码中,自带了一个简易的监控中心实现.对于一般的小业务这个监控中心应该能够满足需求,对于那些大业务量的大公司一般都会有自己的监控中心,更加丰富的功能如常用的报警短信通知等等.这章讲解分析 ...