传统互联网架构的问题
TCP/IP体系结构通过分层协作系统地交换数据。目前来看,虽然TCP/IP这一体系结构给出了网络通信的常规通用标准,但其中信息在主机之间传只能通过IP寻址,使得基于“端口对端口”的通信方式的已逐渐暴露出其诸多缺点:如经典的TCP/IP体系结构。TCP/IP互联网只提供通信管道,只负责维护管道,不关心传输内容,也不是提供资源共享的好方法。
存在的问题:
- 效率低:管道型网络是单源单路径的,很容易造成拥塞,比如每一个视频都,要从单个服务器来发送无数次。
- 可扩展性很差:IP地址开始不够用了,从IPV4到IPV6,目前的网络架构不断打补丁,导致网络的设计管理也越来越复杂。
- 安全性较弱:虽然重视管道保护,但不能保证数据本身的可靠性。例如建立一个信任连接之后,对方发的就算是恶意代码也会照收无误。
因此,当前网络的功能,即建立管道,与其目的获取数据完全不匹配。于是在2010年,为从根本上解决上述问题,专家学者提出应开发全新的网络架构,取代现在的TCP/IP网络协议。IP网络的核心问题是它是基于位置的。一切都有一个 IP 地址,用于定义位置的“位置”。然而,我们生活在一个以信息为中心的世界。因此,与其使用 IP 地址,也就是“哪里”,为什么不使用描述内容的东西呢?
使用命名数据网络(Named Data Network, NDN),应用程序数据层的命名模式成为网络层的名称。因此,不再需要IP地址或升级到IPv6。我们仍然有开放系统互连模型(OSI)模型和协议栈,但我们只是去掉了IP部分[1]。
NDN是一个完全不同于TCP/IP的体系结构,其将当前网络结构的优势和局限性反映在设计上,目前NDN已经成为国内外的研究热点。
传统架构中,数据传输是基于主机之间的点对点通信模型,其中数据被标识为源和目的地址(例如IP地址),并通过这些地址进行路由和交换;NDN架构中,数据被标识为唯一的名称,而不是源和目的地址。数据请求者可以通过这些名称来请求数据,网络将根据名称进行数据路由和交换。
NDN相对TCP/IP的改进
基于NDN协议的网络旨在用数据内容取代管道的核心地位。通过调研TCP/IP并考虑其优势、局限性和使用经验后,本文所使用的NDN架构也保持了传统的TCP/IP网络沙漏模型和分层思想,但是中间层的细节得到了极大的决定性改变。
使用NDN不是使用 IP 和域名系统 (DNS),而是将名称嵌入到路由中。今天所有的命名都是通过 DNS 完成的。DNS 将名称转换为 IP 地址,路由是基于 IP 地址完成的。它使用自己的路由协议,该协议具有与 OSPF 链路状态协议类似的属性。
一种路由协议被称为链路状态路由,是一个开源代码,通过它仍然可以通过NDN获得IP。你可以在中间有IP,NDN可以在IP之上运行。因此,如果你有一个IP网络并且你运行NDN作为覆盖层,它可以在Kubernetes容器或开源Linux堆栈上运行,但不能在专有的Cisco或Juniper设备上运行。
与将用户一路传送到主机或容器的TLS不同,NDN将我们带到了一个新的层次,并保护从用户到实际数据的数据。TLS只加密通道,不加密从用户通过应用程序到数据。当我们在对数据级别加密时,一切都在一个可以在任何地方运行的软件堆栈中完成。
NDN有两个角色:消费者和生产者。同时,有两种类型的数据包:兴趣包和数据包。 内容由名称标识。当消费者想要请求特定内容时,它会生成一个具有相应名称的兴趣包,并通过网络转发它,直到它到达存储内容的节点。当一个节点收到一个兴趣包时,它沿着兴趣包的反向路径返回一个具有相应名称的数据包。
与传统IP网络不同,NDN 的中间节点或路由器支持缓存。每个节点维护三个模块:ContentStore(CS)、PendingInterestTable(PIT)和ForwardingInformation Base(FIB)。
图1-2 Interest包和Data包的结构
相较于传统网络架构,NDN模式主要改进总结如下:
- 以内容为中心的去中心化架构:NDN采用以内容为中心的架构,通过Interest包和Data包的结构,所有动作都以内容的名称为中心。不再需要建立端到端连接。并且不再需要像传统IP网络中的集中式架构。
- 以数据为中心的安全性:为了在包的层次上确保数据的安全性,NDN网络的每个Data包都有签名。应用程序可以控制其他节点对内容的访问权限,只需通过加密和分发密钥。
- 支持网内存储和Interest包聚合:当中间节点能够满足Interest包的请求时,无需进一步转发,可以直接返回相应的Data包。不然,NDN路由器的内容存储(Content Store, CS)能够存储内容。Interest包聚合机制使中间节点在特定情况下无需重复转发相同的内容。此举降低了网内流量,减轻了内容生产者的负担,并增强了网络性能。
- 支持新的路由协议:NDN支持自适应转发面。新的路由协议可以实现更好的效果并减少开销。例如,通过多路径转发和快速故障恢复;通过传递初始拓扑、策略信息和长期变化;计算路由表,从而可以采用双曲路由等新的路由协议。
无线自组织网络介绍
无线自组织网络结构
在需要部署诸如无人机网络或者环境监测、农业、工业自动化等领域中的传感器网络时,我们不得不使用无中心路由的自组织网络,其流动的拓扑结构、经常消失的节点和繁琐的链接都超越普通的网状网络的设计可能性。这些特性使路由协议不能是主动或被动方案的简单实现,当某节点发生故障时,节点间主干必须反复重组。在某些情况下,网络可能会被分区。此外还面临的挑战是在优化所选度量的同时将数据包从源路由到目的地。而且与许多其他无线网络不同,如果我们假设节点的行为是随机的,我们就必须面对可伸缩性问题,网络的拓扑结构随着节点和链路数量的变化以及节点的相对位置的变化而不稳定。
无线自组织网络(以下简称ad hoc)是一种动态网络,网络节点可以随时移动、随时通电或断电,从而不断改变网络的拓扑结构。这些特点使得ad hoc在系统结构、网络配置、协议设计等方面都与传统的蜂窝移动和固网有很大区别。
在自组织网络中,节点具有转发能力,节点之间的通信可能需要通过多个中间节点(多跳)进行转发。这是自组织网络与其他移动网络之间的根本区别。节点之间通过分层网络协议和分布式算法相互协调,实现网络的自动配置和运行。因此,ad hoc也称为多跳无线网络、自组织网络或无基础设施网络。当节点需要与其覆盖范围外的节点通信时,中间节点必须进行多跳转发。与固定网络中的多跳路由不同,ad hoc中的多跳路由由常规节点而不是专用路由设备(如路由器)执行。
在跨端到端路径涉及多个中继节点时,控制每个数据包传输的开销非常重要。不幸的是,目前基于无线局域网(WLAN)的多跳网络的介质访问控制(MAC)和物理层对小数据包的传输造成了较高的开销,这在声音网络协议(VoIP)中很常见。通过将几个小包合并成大包,可以大大减少每个包的传输开销。
在移动无线多跳网络中,特别是在移动自组织网络中,将数据从发送方路由到一个或多个目的地(路由)是一项具有挑战性的任务。移动ad hoc路由通常采用主动(proactive)、被动(reactive)或混合(hybrid)方式。主动协议评估到所有可达节点的路由,并尝试维护一致的最新路由信息。被动路由协议中,只在需要时搜索路由路径。在分层网络结构中,混合协议将主动路由和被动路由结合在一起。
可靠的网络数据传输由传输层协议提供和控制。目前,端到端数据传输的主要协议是TCP协议。最初的TCP提供全双工顺序的数据传输,并附带流量和拥塞控制机制。TCP发送方的发送速率使用滑动窗口算法进行控制,窗口大小根据TCP流和拥塞控制机制的变化而不断调整。
使用NDN部署无线自组织网络的优势
在本研究中,我们认为ad hoc可以通过NDN变得更加有效和高效。因为移动节点可以根据它们需要的数据进行通信,而不是计算到达特定节点的特定路径。由于以下原因,这可以极大地简化实现。首先,不再需要为每个节点分配IP地址;相反,节点可以直接使用应用程序数据名称在彼此之间转发兴趣和数据包其次,由于这种基于数据名称的设计没有路由环路,兴趣包可以沿着多条路径转发到潜在的数据位置;如果不止一个方向返回请求的数据,节点可以评估哪个路径提供最佳性能,并仅在该方向上发送相同数据源的未来兴趣。这种多路径方法在adhoc网络中特别有用,因为多路径的使用消除了对预先计算的单路径的关键依赖,因此放松了对路由更新的及时性和所有节点之间路由状态一致性的严格要求。
NDN可以促进新业务的灵活部署和管理,并有助于降低成本,提高网络的安全性和可用性。我们认为,NDN网络将通信语义从“where”变为“what”,这对于无线自组织网络尤其有利。一般来说,与TCP/IP网络中的动态拓扑连接相比,应用程序数据具有相对稳定的结构。当移动节点的当前位置发生变化时,其IP地址可能会发生变化,但是节点上携带的应用程序数据名称不一定会发生变化,NDN不依赖节点的逻辑标识,而是通过内容名称进行检索。在当前应用中,内容(即名称)比主机地址更为重要,这减少对持续连接的依赖,使接收者和生产者之间的关系一定程度上被解耦。
在无线自组网环境中研究NDN的MAC协议退避算法,旨在提高数据包传输的效率和可靠性。目前,针对无线网络环境中的NDN网络的研究还相对较少,并且目前最主流的NDN仿真平台ndnSIM也未包含NLSR的仿真。
本研究的课题也因此在NDN领域具有前沿性,具有宽泛的应用场景。在灾难发生或网络中断的情况下,小规模无线自组网NDN网络可以提供一种鲁棒的通信解决方案。节点可以通过本地缓存和共享数据来实现紧急通信和数据恢复,使得信息传递更加可靠和持久;在移动车辆自组网或移动设备之间的通信中,由于NDN网络以内容为中心,而不依赖固定的IP地址,因此可以实现跨移动节点的高效内容分发和数据共享;复杂物理场景中的传感器节点可以使用NDN网络进行数据收集、传输和共享,非常有用。
在无线环境中部署NDN带来以下好处:
- 适应性强:NDN的无连接和消费者驱动的通信模型使其能够有效处理无线环境中的间歇性连接和动态拓扑变化。NDN带来的好处包括动态自适应流和媒体负载平衡。
- 数据交付可靠:由于本地缓存和与位置无关的数据安全性,NDN能够提供可预期且令人满意的数据交付。NDN不依赖节点的逻辑标识,而是通过内容名称进行检索。在当前应用中,内容(即名称)比主机地址更为重要,这符合自然规律。此外,网络内缓存限制了海量数据对生产者的访问,同时减少对持续连接的依赖,解耦了接收者和生产者之间的关系。
- 主机多寻址:相较于IP网络,NDN具有主机多寻址的优势。在IP网络中,假设一个局域网络只能通过一个连接上行到互联网,而NDN则可以同时接入多个网络,无需将传输流与特定接口(如个人网络地址)绑定。NDN的请求/应答模式摆脱了传统的限制,应用程序无需知晓数据来自哪个接口,只需从网络堆栈中获取特定数据内容即可。
- 支持组播和广播:NDN通过兴趣聚合和数据缓存的机制支持组播和广播数据传输,这在物联网领域特别有用。网络内存储可以加快数据获取速度,减少网络内的流量。数据请求可以由距离消费者更近的中间节点满足。
- 信息中心模型:从基于IP的主机中心模型转变为信息中心模型。NDN将网络模型带来多种优势,其中包括更容易获取和共享数据、本地移动支持、网络内缓存和基于内容的安全。有效地满足新兴应用中的通信需求,如新闻、天气信息发布、道路交通和安全信息共享以及社交媒体等。
- 简化网络架构:使用命名数据而不是IP地址等位置标识符,以简化网络架构并优化视频传输。此外,通过在网络中转发和缓存内容,可以实现流量本地化,并通过多播节省带宽,减轻回程和核心网络的负担。由于NDN访问层是不可知的,它还支持不同访问方法(如5G、Wi-Fi)之间的高效切换,这种共存将持续发展。
在 Ad Hoc 网络中,由于多用户共享网络媒质资源,当多个用户需要同一时刻传输数据时,即同时尝试接入信道时,会产生数据帧的冲突问题,严重影响网络的通信服务质量。为解决这一问题,出现了MAC通信协议。
研究无线NDN中的Mac协议退避算法
无线链路是共享的,多个节点同时访问时会发生竞争。Mac协议中的退避算法可以根据当前的竞争状况,决定节点何时访问信道,以避免冲突和碰撞。研究退避算法可以帮助解决信道竞争问题,提高网络的可靠性和稳定性。
无线NDN应用于各种不同的网络环境,包括室内、室外、移动等。这些环境中的信道特性和网络拓扑可能不同,因此需要设计和优化适应不同环境的退避算法。研究退避算法可以根据具体的环境需求,提供更好的性能和适应性。且无线NDN中的应用通常对延迟、带宽、可靠性等有不同的服务质量(QoS)需求。
更重要的是,NDN采取拉取机制(Pull)获取数据。不同于TCP/IP网络,在NDN网络中,消费者用具有相应名称的兴趣包向网络请求;收到兴趣请求的节点如果检测到自己存储了响应内容,会沿兴趣包反向路径原路返回数据包;而兴趣包如果发送失败也会进行重传。由于网络转发层面的拉取机制,MAC层退避算法与转发机制共同影响网络性能,所以我们需要设计不同于传统网络的退避算法。