网络编码

✍ dations ◷ 2025-07-06 08:03:30 #图论,编码理论,电脑网络,信息论,有限域

网络编码是一种通过中继节点对接收到的信息进行编码来达到提高多播网络容量的技术。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),向下游节点发送出去。

相关

  • 早发性射精早发性射精(英文:Premature ejaculation)俗称早泄,是指进行性行为时男性射精过早,医学上指是阴茎于插入阴道(阴道内射精延迟时间)或肛门一分半钟内射精。现在更多医生愿意从女性角
  • 金华街金华街,是台湾台北市大安区的一条街道,介于罗斯福路与新生南路之间。金华街在日治时代为福住町(北侧)与锦町(南侧)之界线,沿街于日治时代为日本公务员之官舍,现仍留存部分日式建筑。
  • 青年发展署教育部青年发展署(简称青年署)是中华民国政府有关青年事务的专责机构,其前身为1966年成立的“行政院青年辅导委员会”,2013年改制为教育部附属机关。任务由早期的辅导海外归国学
  • 中甲联赛中国足球甲级联赛,是由中国足球协会组织的,由国内职业足球俱乐部参加的全国次高水平的足球职业联赛仅次于中国足球超级联赛,开始于2004年,脱胎自原中国足球甲级B组联赛。第一届
  • 新晃新晃侗族自治县位于湖南西南边缘、怀化市西南部,为怀化市辖自治县。辖域面积1,511平方公里;国内生产总值99,248万元(2004年);总人口为258,165人(2004),其中非农业人口33833人;侗族占
  • 邓桥村山东省茌平县博平镇邓桥村 邓桥是明代以前的老户村,明洪武年间,刘德英迁居邓桥,清道光年间,《博平县志》图标注的邓桥处在徒骇河上,设有水闸,现在仍建有桥与节制闸,以控制老徙河
  • 台湾干拌面台湾干拌面(日语:台湾まぜそば/たいわんまぜそば )是日本名古屋料理(日语:名古屋めし)的一种,由“面屋花火”(日文原名:麺屋はなび)创办人新山直人发明。最初新山直人原本想要搭上当时
  • Move-to-front transformMTF(Move-To-Front)是一种数据编码方式,作为一个额外的步骤,用于提高数据压缩技术效果。MTF主要使用的是数据“空间局部性”,也就是最近出现过的字符很可能在接下来的文本附近再
  • 李宝臣 (唐朝)李宝臣(718年-781年),本名张忠志,字为辅,范阳(今北京、保定一带)人,唐朝藩镇,成德节度使。原名不详,为范阳内属的奚族人。他善骑射,范阳将张锁高收养,冒张姓,名忠志。曾为卢龙府果毅,又为安
  • 保良局庄启程小学保良局庄启程小学是一间位于沙田区马鞍山的津贴小学,创办于1988年。办学宗旨秉承保良局的局训“爱、敬、勤、诚”,以“认真学习、用心思考、快乐共处、爱己爱人”的信念来培育