网络编码

✍ dations ◷ 2025-11-09 00:36:17 #图论,编码理论,电脑网络,信息论,有限域

网络编码是一种通过中继节点对接收到的信息进行编码来达到提高多播网络容量的技术。Rudolf Ahlswede, Ning Cai, Shuo-Yen Robert Li, Raymond W. Yeung在2000年首次提出网络编码的概念。

在右图的网络拓扑中,s节点试图向 t 1 , t 2 {\displaystyle t_{1},t_{2}} 组播两条消息x,y。设每条消息占用的带宽为1,每个节点之间的网络带宽也为1,那么每个节点之间只能同时传输一条消息。线路cd上会需要同时传输x,y,这在一般的传输方案中是行不通的,所以需要网络编码在c处将x,y异或,合成一条消息然后发送。

假设网络是有向的,执行线性网络编码时每个节点收到所有连入线路的数据后,再执行编码,然后把数据从连出线路发出。新的数据包括执行线性编码所用的系数以及合成后的数据。

例如组播源发送三条封包, p 1 = 1 {\displaystyle p_{1}=1} p 2 = 2 {\displaystyle p_{2}=2} p 3 = 3 {\displaystyle p_{3}=3} 。封包经过一系列的中间节点,目标节点收到的封包是 ( ( 5 , 8 , 1 ) , 24 ) , ( ( 2 , 3 , 7 ) , 29 ) , ( ( 9 , 6 , 5 ) , 36 ) {\displaystyle ((5,8,1),24),((2,3,7),29),((9,6,5),36)} 。目标节点对下列矩阵求解,可得 p 1 , p 2 , p 3 {\displaystyle p_{1},p_{2},p_{3}} 的值。

= { 24 = 5 p 1 + 8 p 2 + p 3 29 = 2 p 1 + 3 p 2 + 7 p 3 36 = 9 p 1 + 6 p 2 + 5 p 3 {\displaystyle {\begin{bmatrix}24\\29\\36\end{bmatrix}}={\begin{bmatrix}5&8&1\\2&3&7\\9&6&5\end{bmatrix}}{\begin{bmatrix}p_{1}\\p_{2}\\p_{3}\end{bmatrix}}\Rightarrow {\begin{cases}24=5p_{1}+8p_{2}+p_{3}&\\29=2p_{1}+3p_{2}+7p_{3}&\\36=9p_{1}+6p_{2}+5p_{3}&\end{cases}}} = 1 {\displaystyle {\begin{bmatrix}p_{1}\\p_{2}\\p_{3}\end{bmatrix}}={\begin{bmatrix}5&8&1\\2&3&7\\9&6&5\end{bmatrix}}^{-1}{\begin{bmatrix}24\\29\\36\end{bmatrix}}}

随机线性网络编码可以取得更好的组播传输速率,较为实用。在实际网络中,节点会将来自连入线路的封包缓存起来,当节点需要发送封包时再将缓存的封包执行网络编码,然后发出。

例如节点A有2个上游节点X,Y,X向A发送了封包 ( ( 2 , 2 , 1 ) , 2 x 1 + 2 x 2 + x 3 ) {\displaystyle ((2,2,1),2x_{1}+2x_{2}+x_{3})} ( 2 x 1 + 2 x 2 + x 3 {\displaystyle 2x_{1}+2x_{2}+x_{3}} 是数据体,(2,2,1)是对数据体执行线性编码时所用的系数),Y向A发送了封包 ( ( 1 , 5 , 4 ) , x 1 + 5 x 2 + 4 x 3 ) {\displaystyle ((1,5,4),x_{1}+5x_{2}+4x_{3})} 。当A需要发送数据时,便把缓存的这两个封包取出来,随机选择2个系数(如2和1),获得新的数据体 ( 2 x 1 + 2 x 2 + x 3 ) × 2 + ( x 1 + 5 x 2 + 4 x 3 ) × 1 = 5 x 1 + 9 x 2 + 6 x 3 {\displaystyle (2x_{1}+2x_{2}+x_{3})\times 2+(x_{1}+5x_{2}+4x_{3})\times 1=5x_{1}+9x_{2}+6x_{3}} 和新的合成系数 ( 2 , 2 , 1 ) × 2 + ( 1 , 5 , 4 ) × 1 = ( 5 , 9 , 6 ) {\displaystyle (2,2,1)\times 2+(1,5,4)\times 1=(5,9,6)} 。所以A就把合成后的数据体 5 x 1 + 9 x 2 + 6 x 3 {\displaystyle 5x_{1}+9x_{2}+6x_{3}} 连同合成系数(5,9,6),向下游节点发送出去。

相关

  • 鲸类鲸下目 (学名:Cetacea)旧称鲸目,是偶蹄目的演化支之一,包含了大约八十多种大型的有胎盘海洋哺乳动物,即鲸鱼﹑海豚和鼠海豚。鲸下目的现存物种可分为两个小目:齿鲸(Odontoceti)及须鲸(My
  • δ逆转录病毒属δ-逆转录病毒属 (Deltaretrovirus)是一个逆转录病毒科的属。它外源几组在哺乳动物身上发现。例子有牛白血病病毒和人类T型淋巴细胞白血病病毒。牛白血病病毒 人类T型淋巴细
  • 中士中士是军人的职衔,士官的一种,在大多数国家的军衔制度中,中士之下的阶级为下士,中士之上的阶级为上士。军队编制上多以士官长、上士担任副排长,中士担任班长,下士担任副班长,下辖三
  • b2000年代/b2000年代是二十一世纪的年代,从2000年1月1日开始,于2009年12月31日结束。2000年也是第2千年。2000年代是自1850年有现代测量数据以来最热的10年,其间全球经历了诸多气候极端事
  • 捷克历史捷克历史是位于欧洲中部的内陆国家捷克的历史。旧石器时代中、晚期,捷克地域已有人类定居,也曾产生过新石器时代文化和青铜时代文化。从公元前5世纪左右开始,由凯尔特人定居,其
  • 动物星球频道动物星球频道(Animal Planet)简称:AP,创立于1996年,为一家由探索通信(探索频道、TLC、探索健康频道及旅游生活频道的母公司)出资百分之八十及BBC Worldwide出资百分之二十所创立的
  • 红龙号太空船红龙号太空船(Red Dragon)是太空探索科技公司研发中的低成本火星探测器,将使用猎鹰系列运载火箭发射升空。红龙号太空船将是以后火星探测及殖民任务的运输工具,太空探索科技公司
  • 马克·哈珀马克·詹姆斯·哈珀(英语:Mark James Harper;1970年2月26日-),是英国保守党的党员与英国国会迪恩森林选区下议院议员,曾任下议院执政党党鞭(英语:Chief Whip)。
  • disowndisown是bash shell的一个壳层内置指令,用来从作业列表中移除作业。这样当作业的父shell接收到SIGHUP信号后(例如用户退出时),不会向作业发送SIGHUP信号,以便指定的作业仍能继续
  • 体育晨报《体育晨报》是中国中央电视台体育频道(CCTV-5)的一档体育新闻类栏目,通常在每天7:00直播。2005年9月5日,《体育晨报》开播,当时安排在每天7:00-7:25直播,8:00-8:25重播。2007年1