当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]Linux下IEEE1394组网技术研究及实现

IEEE 1394,又称火线(FireWire)接口,是一种高速度传送接口,适用于主板的标准工作速率为12.5、25或50 Mb/s,适用于外设的标准所支持的数据率为100、200和400 Mb/s。
    IEEE1394具备高速率宽带;实时性等时传输;采用细缆便于安装;采用总线结构;支持热插拔等特点。因此,基予IEEE1394的特点,这里提出一种Linux下IEEE1394组网技术的设计方案。

1 IEEE1394简介
   
对于多媒体数据传输的高要求催生了IEEE1394(以下简称1394)的发展。多媒体数据传输要具有实时性。单纯图形传输或网络应用一般对实时性要求并不高。例如在Internet上浏览主页,虽有延迟,但一般尚可接受。如果网络会议就要求具有实时性。其次是连接的方便性、通用性,并且成本较低,这样接口连接更简便,应用更广泛。
    1394可应用于家庭网、商业网以及Internet中的各种远程系统,具有相同功能的1394产品要比普通的微机配套设备便宜,具有更好的可扩展性。所有这些都使1394产品获得了强劲无比的竞争力。
    1394具有如下特点:
    1)高速率  IEEE1394-1995中规定速率为100~400 Mb/s。IEEE1394b的更高速度是800 Mb/s~3.2 Gb/s。其实400Mb/s就可以满足所有要求。现在通常可能达到的物理流LSI速度是200Mb/s。另外,实际传输的数据一般都要经过压缩处理,并不是直接传输原始视频数据。因此200Mb/s能够满足实际需要。但对多路数字视频信号传输来说,传输速率总是越高越好。
    2)实时性  1394的特点是利用等时性传输来保证实时性,因此,SSA,Fiber Channel及Ultra SCSI也都与IEEE1394具有同样的性能。
    3)采用细缆,便于安装  4根信号线与2根电源线构成的细缆使安装简单,而且价格便宜。但接点间距只有4.5 m。似乎略显不足。而采用延伸接点间距的方法,POF可以将接点间距延长至70m。
    4)总线结构  1394是总线,不是I/O。向各装置传送数据时,是按IEEE1212标准读写列入转换的空间。总之,从上一层看,1394是与PCI总线相同。
    1394总线和常见的USB总线的不同之处在于:1394是一个对等的总线。就是说。任何一个总线上的设备都可主动发出请求。而USB总线上的设备则是等待主机发送请求,然后做相应的动作。因而1394设备更智能化,因此1394就复杂一些,成本高一些。这个特性决定了1394可以是脱离以桌面主机为中心的束缚。
    1394总线的拓扑结构与USB相同,都是树形结构。但IEEE1394b提出了一个避免环状结构的方法,即使设备连接形成一个圆环时,也能保证正常工作。1394串行总线与PCI并行总线不一样,前者的两个设备之间如果必须经过第三个设备,那么数据必须从第三个设备穿过。而后者则可直接在两个设备间传输,不用经过第三个设备。
    1394总线上的设备之间也会选举一些设备成为总线管理,做些额外的工作,如:①根节点主要是在总线仲裁中做最终的裁判。②同步资源管理器:主要是在同步传输中,管理带宽,或者提供总线的拓扑结构和有限的电源管理。③总线管理器可以设置根节点,提供总线拓扑结构,优化网络的响应时间,和更高级的电源管理。
    5)热插拔  能带电插拔。增删新装置,不必关闭电源,操作非常简单。
    6)即插即用  增加新装置不必设定ID,可自动予以分配。1394的使用者不需要任何相关知识,操作非常简单,接上即用。实际上,当有新的设备接入某个1394端口时,整个总线将会进行一次总线复位(bus reset)。所有设备重新给自己起名字(节点标识,Node ID)。1394的起名字的机制很简单,从0开始往上,最多到62。一般叶子节点的ID小,树根的ID最大。1394的总线复位时间:短的只要1 μs,长的要160μs。

2 网络地址转换NAT原理
   
网络地址转换NAT(Network Address Translation)广泛应用于各种类型Internet接入方式和各种类型的网络中。NAT不仅完美地解决了lP地址不足的问题,而且还能够有效避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
    借助于NAT,私有(保留)地址的“内部”网络通过路由器发送数据包,私有地址被转换成合法的IP地址,一个局域网只需使用少量外部IP地址即可实现私有地址网络内所有计算机与Intemet的通信需求。NAT将自动修改IP报文头的源IP地址和目的IP地址,IP地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据都分别嵌入IP地址的应用程序就不能正常工作。
    NAT的实现方式有3种,即静态转换(Slatic NAT)、动态转换(Dynamic NAT)和端口多路复用(OverLoad)。静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问;动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,所有被授权访问Intemet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时,可以采用动态转换的方式;端口多路复用是指改变外出数据包的源端口并进行端口转换,即端口地址转换PAT(Port Address Translation),采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Intemet的访问。从而可最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自Internet的攻击。因此。目前网络中应用最多的就是端口多路复用方式。
    NAT依赖于本地网络上的一台机器来初始化和路由器另一边的主机的任何连接,它可以阻止外部网络上的主机的恶意活动,这样就可以阻止网络蠕虫病毒,提高本地系统的可靠性;阻挡恶意浏览,提高本地系统的私密性。同时,它也为UDP的跨局域网传输提供了方便。

3 内核支持模块
   
Linux内核具有模块化设计。在引导时,只有少量的驻留内核被载入内存。这之后,无论何时用户要求使用驻留内核中没有的功能,相关的内核模块(kemel module),有时称驱动程序(driver),就会被动态地载入内存。
    内核模块不被编译在内核中,因而控制内核大小。然而模块一旦被插入内核,则与内核其他部分一样。
    内核模块的实现机制是:启动时,由函数voidinti_modules()初始化模块,因为大多时启动时很多时候没有模块。这个函数往往把内核自身当作一个虚模块。如有系统需要,则调用一系列以sys开头的函数,对模块进行操作,如:sys_creat_modules(),sys_inti_modules(),sys_deldte_modules()等。Linux从2.2开始支持1394,在内核中开始加入Linux Subsystem。

4 技术需求
   
为实现1394网络与千兆以太网的互联互通,需要组成1394网络及研制1394网关。为组成1394网络,需3台具有1394接口的设备,构成最小的1394网络;其中一台设备具有千兆以太网接口,作为网关,实现1394网络与千兆以太网的互联互通。1394网络组成框图如图1所示。


    1394网关与1394设备使用带有1394接口卡的计算机:X86处理器,操作系统为Windows或Linux。
[!--empirenews.page--]
5 1394组网实验
   
1394组网实验环境如下:
    1)硬件环境PC机2台,1394适配卡2块,1394连接线缆(4针),以太网(外网,可访问Internet)。
    2)软件环境操作系统为CentOS 5和Fedora 6。
    3)网络结构 2台PC用1394线缆连接,其中一台PC连接外网,可通过以太网访问Internet,另一台无其他连接。
    2台PC机通过1394实现通信,且其中一台PC可通过1394访问外网。
    实验总体原理:通过编译安装相关模块,实现“IP over1394”,之后通过一系列配置,实现通过1394连接访问外网。通信时,数据先被封装成以太网下的标准包,再被封装成符合1394标准的传输格式,传到目标节点后,再进行相反顺序的解包分析工作。
    图2说明了在Linux中IEEE1394的模块组成关系。其中,OHCI1394-IEEE1394-eth1394-TCP/IP这条分支实现了1394的网络功能,也就是IP over 1394。


    PC间通过1394连接实现网络通信的原理图如图3所示。2台PC的通信所使用的方式还是IP模式下的,只是物理连接变成了1394高速连接,而实现IP与1394之间联系的是一个转换模块。


    图4显示该转换模块所做的工作。通过转换包的结构,使包的格式在两种情况下转换,就可以实现用1394传输,用IP操作。

[!--empirenews.page--]
    为了在PC间建立通信,需要先使用ARP协议寻找目标机的物理地址,这就需要发出ARP请求并接受ARP响应。
    图5是1394的ARP包的格式。Hardware_type:硬件类型,针对于1394,这里就是0x0018;Protocol_type:协议类型,针对1394的ARP,该值是0x0800;Opeode:值1代表请求,值2代表响应;Sender_unique_ID:发送者的ID;Sender_IP_address:发送者的IP地址;Target_IP_a-ddress:目标IP地址。通过使用ARP协议获得目标物理地址后,就可建立通信连接。


    1394网关的配置可将1394网关看成是1394网络与以太网之间的路由器。在配置1394网关时,使用NAT技术,使该网关具有类似于以太网中内外网之间路由器的功能。
    PC可相互Ping通,且未与外网直接连接的PC可通过另一台作为1394网关的PC访问外网,且网速较快。通过1394访问新浪网站时,用抓包软件WireShark可以抓到链接到新浪网的HTTP包与TCP包。

6 结论
   
通过努力,现在所取得的成果主要有:1)实现1394的Linux下组网,1394内部网络互相访问;2)实现1394网络与以太网的融合。通过一系列的安装配置,可以使1394网络与以太网连成一体,用户可以像在以太网中一样,进行访问各类网站,建立Ftp连接等正常网络活动;3)对1394网络性能进行了多方面的测试实验,对1394网络性能的影响因素进行了初步的总结。后续应深化和完善1394整体性能,进一步提升通信速率。造成实验测试速率偏低的原因:PC性能限制,1394线缆质量等,以及内核版本较旧,缓冲区偏小等。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

双系统将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对双系统的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 双系统 Windows Linux

安装Linux操作系统并不复杂,下面是一个大致的步骤指南,以帮助您完成安装。1. 下载Linux发行版:首先,您需要从Linux发行版官方网站下载最新的ISO镜像文件。

关键字: Linux 操作系统 ISO镜像

计算机是由一堆硬件组成的,为了有限的控制这些硬件资源,于是就有了操作系统的产生,操作系统是软件子系统的一部分,是硬件基础上的第一层软件。

关键字: Linux 操作系统 计算机
关闭
关闭