基于IP over TS系统网段内地址扩展技术的研究
扫描二维码
随时随地手机看文章
1 引言
数字视频广播DVB(Digital Video Broadcasting)提供面向电视和机顶盒的无线广播数字电视服务,定义了一套基于动态影像压缩标准MEPG-2(Moving pictures Experts Group)传输流的数据包内封装数据的方法,根据卫星、有线和地面等不同传输媒介,DVB标准相应的分为DVB-S、DVB-C和DVB-T等。
IP over TS技术是通过数字地面电视网络传输IP数据业务的关键技术,它采用已有的基于DVB-T的发射和接收装置提供无线IP访问业务。IP over TS可为用户提供高速移动(<200 krn/h)状态下的远程(<50 km)网络访问接口。以相对低廉的成本解决非固定以太网访问的接入问题。
IP over TS系统必须提供IP数据包和TS数据包的封装能力和地址解析能力。同网段内地址扩展技术主要为要求互联的双方在同一网段内的特殊设备提供地址解析方案。它是IP over TS系统同网段内应用的关键技术。
2 问题的引入
图1为使用IP overTS系统的网络构架。其中,A端接入以太网,为B端提供访问接口;同时A端和B端接入A1和B1,A1和B1分别为要求接入同一网段内相互通讯的网络设备。同网段内的地址扩展技术则提供A,B网络的无缝连接。
3 链路扩展法
对于上述模型,在以太网中通常采用链路扩展法解决A端和B端网络的连接问题。常用的设备有集线器和交换机。在无线系统中可提供对底层链路的支持来实现以太网连接。因此,链路扩展法同样适用于无线信道。
3.1 链路扩展法原理
链路扩展法的原理是通过在MAC层截取数据包并转发以太网底层所有数据包。通过对底层链路的支持实现同一网段内地址的扩展。
3.2 链路扩展法的实现
访问数据链路层通常有3种方法:基于BSD的分组过滤器(BPF)、基于SVR4的数据链路接口(DLPI)和基于Linux的SOCKET_PACKET接口。由于该系统采用嵌入式Linux操作系统,所以采用SOCKET_PACKET接口访问数据链路层。实现过程为通过创建数据链路层socket进行数据链路层的访问。所有数据链路层的数据进行TS封装并通过TS无线信道传输至对端,对接收到的信号进行解调、解封装,将数据通过SOCKET PACKET接口发送到交换机,再由交换机转发。其程序主要语句为:
[!--empirenews.page--]
3.3 链路扩展法的测试
测试上述方法:IP over TS系统采用2 Mb/s的无线信道,其中A端接入教育网内任意交换机并设定其IP地址为同网段内可用IP地址,无线B端通过IP over TS系统接入远程交换机且IP地址和A端网络处于同一网段,交换机端连接测试主机B1。A端主机A1每秒发送300 KBUDP数据至主机B1,B1主机同时每秒发送300 KB UDP数据至主机A1。在B端IP over TS系统处统计接收到的有效数据总量(UDP协议发送的数据)和信道传输数据总量。测试结果如图2所示。
3.4 链路扩展法测试分析
从图2的测试结果看出,链路扩展法的主要问题:无线信道的有效数据占有率不稳且在部分时段明显下降,导致码率接近信道容量的实时图像传输出现卡图或马赛克。假如所采用的IP over TS系统的无线带宽为2 Mb/s,在链路层进行数据包获取和转发通常会遇到ARP数据包、各种的广播以及其他非载荷数据。对于2 Mb/s的无线通信链路,这些额外数据会占用部分传输带宽而导致系统有效数据传输速率下降。
4 邻接表法
4.1 邻接表法原理
邻接表法基于链路扩展法并对其进行改进,邻接表法过滤了链路层的 ARP数据包和其他广播数据,从而提升了无线信道的传输效率。ARP南IP层复用,可解析局域网内任意合法第三层协议和第二层硬件地址之间的映射关系。当 A端设备访问B端设备时,由于过滤ARP数据包,使得A端设备认为B端设备未在线或通过网关转发,导致通讯不能正常进行。如果将A端IP over TS系统设定为默认网关,会导致A端的其他设备不能访问上层以太网。可采用伪造ARP协议进行同网段内地址扩展解决此问题。由于ARP协议是建立在友好通信、充分信任基础上的协议,因此很容易通过欺骗的手段获取发送到其他主机的IP数据包。欺骗的整个流程为:(1)统计IP over TS系统两端分别连接设备的IP地址,分别记录到对方的邻接表中;(2)将邻接表映射到Hash表中,Hash表记录是否主机在线;(3)当无线的任意一端请求数据发送时发送ARP协议,查找Hash表,如果此IP地址存在于邻接表中,回复ARP协议进行数据发送欺骗。由于整个网络被无线链路隔开,所以欺骗一定成功;(4)获取发送到对端的IP数据,进行数据的TS封装和转发;(5)丢弃接收到的其他广播数据。
4.2 邻接表法实现
读取NextHost.txt邻接表,Hash每个IP地址。while(1)
if(截获以太网数据)
if(是ARP协议同时请求IP地址对应的Hash数据为真)
以本机Mac地址回复ARP协议
else if(非广播数据)
将数据截取到IP层发送到TS封装队列
endwhile
4.3 邻接表法的测试和分析
邻接表法的测试方法和链路扩展法的测试方法相同,测试结果如图3所示。
邻接表法提升了系统有效数据载荷,信道有效数据的稳定性和占有率得到提高。但由于需统计和编制地址邻接表,每次IP地址变动都要修改邻接表,导致IP over TS系统应用的灵活性不足。同时,IP over TS系统基于嵌入式系统开发,修改邻接表的操作较麻烦,因此对于自动分配IP地址和频繁变动布局的网络应变能力不够。[!--empirenews.page--]
5 自适应邻接表法
5.1 自适应邻接表原理
自适应邻接表法基于邻接表法。但它解决了邻接表法中缺乏灵活性的问题。自适应邻接表法不再需要手动统计IP地址和编辑邻接表。它自动获取各自网段中的邻接表并发送到对端进行交换,特别适合对移动设备和临时设备提供无线网络接入。同时自适应邻接表法也避免了发送过多的地址信息数据而占用有效数据带宽。自适应邻接表法如下:(1)系统开机,IP over TS设备向全网段内发送ARP数据包,在一定的时间内(10 s)将收到ARP回复的主机IP地址记录入存根;(2)IP over TS两端交换存根,并将交换后的存根进行Hash映射;(3)如果有主机上线,主机将发送一个ARP消息确保IP地址不冲突。IP over TS系统查找对端IP地址列表。如果此IP地址可用,则将该IP地址加入地址列表存根并准备发送修改消息至对端。如果此IP地址不可用(对端存在该IP地址);则IP over TS系统回复该ARP消息表明此IP不可用(IP地址存在冲突);(4)IP over TS系统每隔10 min向网络中的每台主机广播ARP数据包用来轮询下线的主机同时修改存根,将修改操作发至对端网络。
通过上述4个步骤,IP over TS系统就可知任意时刻网络两端的地址信息并确认是否为欺骗,转发数据包。
5.2 存根交换帧
TS的标准格式由MPEG2标准组制定。其中PID规定传输流中的数据类型。PID是在TS帧头中预留的13比特数据。对于第1次存根交换和IP数据交换,采用指定PID标识。如果要添加或删除一台主机信息,PID的生成规则如下:
PID 0b00000 0000 0000
添加:0b00001 XXXX xxxx;其中XXXX XXXX表明主机地址。
删除:0b00010 XXXX xxxx;其中XXXX XXXX表明主机地址。
在该PID出现的情况下,TS中的数据只有2种类型:一种是带有IP数据的载荷数据包和单纯发送修改消息的数据包。这两种包可通过IP封装算法进行区分。同时考虑到A类和B类地址的问题,通过子网掩码的运算来确定多少个TS修改帧决定一台主机地址。A类地址需3个TS帧修改一个主机地址,B类地址需2个 TS帧,C类地址需1个。
自适应邻接表法需2个原始socket协同工作。ARPsocket用来处理ARP相关的所有消息。IP socket用来捕获发往该MAC地址的所有数据包。同时,和邻接表法一样。自适应邻接表法由于在无线信道传输的过程中剔除了MAC层帧头信息,这样在无线信道中每传送1个IP数据包就可省14个字节的流量,进一步提高了系统信道的有效利用率。
5.3 自适应邻接表实现
5.3.1 数据捕获线程
5.4 自适应邻接表法的测试及结果分析
自适应邻接表的测试方法和链路扩展法的测试方法相同,测试结果如图4所示。可看出,采用自适应邻接表法后。信道有效数据的稳定性和占有率都与邻接表法保持一致,优点是增加了系统配置的灵活性。
6 结论
链路扩展法可解决IP over TS系统在同网段内地址扩展问题,但对于无线信道该方法存在着有效数据占有率不稳定且不足的问题。针对这些问题,将链路扩展法改进为邻接表法,同时针对邻接表法缺失灵活性的问题将其改进为自适应邻接表法。通过航天某返回舱数传链路项目的测试表明,自适应邻接表法可有效解决IP over TS系统在同网段内地址扩展问题,能够使无线信道的有效数据占用率趋于稳定并有所提高。将该方法应用在无线信道的实时图像传输系统,图像质量得到了明显改善。