网络编码

✍ dations ◷ 2025-08-16 05:19:42 #图论,编码理论,电脑网络,信息论,有限域

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

相关

  • 巨细胞病毒巨细胞病毒(拉丁语:Cytomegalovirus,简称CMV)是一种疱疹病毒。感染人类的品种称 human CMV (HCMV) 或Human herpesvirus-5 (HHV-5),是巨细胞病毒中研究最深入的在人类和哺乳动物
  • 美罗培南美罗培南(英语:Meropenem),或译美洛培南,是一种有非常广泛抗菌性及可供注射的抗生素,用于治疗多种不同的感染,包括脑膜炎及肺炎。它是一种β内酰胺类抗生素,属于碳青霉烯的分类下。
  • National Center for Biotechnology Information国家生物技术信息中心(National Center for Biotechnology Information,简称NCBI)是美国国家医学图书馆(NLM)的一部分(该图书馆是美国国家卫生研究所的一部分)。NCBI位于美国马里兰
  • 丙酮酸激酶丙酮酸激酶(英语:Pyruvate kinase,EC 2.7.1.40)是糖酵解过程中的一类酶,催化磷酸基团从磷酸烯醇式丙酮酸(PEP)转移到ADP的反应,生成一分子丙酮酸和一分子ATP.丙酮酸激酶所催化的反应
  • 美国城市列表 (按人口排列)本列表列出美国人口最多的建制区。根据美国人口调查局的定义,建制区可以有多种形式,包括市、镇、村和自治市镇。这些名称及其用法各州皆有很大区别。美国最大的建制区多数是在
  • 高雄市中央公园坐标:22°37′30″N 120°17′57″E / 22.624981°N 120.299275°E / 22.624981; 120.299275中央公园位于中华民国台湾高雄市前金区,属于五福商圈的一部分。公园南侧有城市光
  • 国际义人纳粹集中营转移营比利时:布伦东克堡垒 · 梅赫伦转移营法国:居尔集中营 · 德朗西集中营意大利:波尔查诺转移营荷兰:阿默斯福特集中营 · 韦斯特博克转移营挪威:法斯塔德集中营部
  • 关林关林位于洛阳市南郊7公里,相传为埋葬汉末三国蜀汉名将关羽首级的地方,是中国和海内外三大关庙之一。但田福生考证认为关庄村关羽墓才是埋葬关羽头颅之处,关林是明万历年间建的
  • 瓦拉·古塔瓦拉·古塔(泰卢固语:గుత్తా జ్వాలా,1983年9月7日-),出生于印度马哈拉施特拉邦沃尔塔,印度华裔女子羽毛球运动员,专长双打项目,现已退役。瓦拉·古塔的父亲是印度泰卢固
  • 裘仕濂裘仕濂(?-?),字子宪,浙江绍兴府嵊县人,民籍,明朝政治人物。应天府乡试第七十九名举人。嘉靖二十三年(1544年)中式甲辰科会试第十四名,登第三甲第一百九十五名进士。历官给事中。曾祖裘准