Linux下IEEE1394组网技术研究及实现
1394网关与1394设备使用带有1394接口卡的计算机:X86处理器,操作系统为Windows或Linux。 PC间通过1394连接实现网络通信的原理图如图3所示。2台PC的通信所使用的方式还是IP模式下的,只是物理连接变成了1394高速连接,而实现IP与1394之间联系的是一个转换模块。 图4显示该转换模块所做的工作。通过转换包的结构,使包的格式在两种情况下转换,就可以实现用1394传输,用IP操作。 1394网关的配置可将1394网关看成是1394网络与以太网之间的路由器。在配置1394网关时,使用NAT技术,使该网关具有类似于以太网中内外网之间路由器的功能。
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间建立通信,需要先使用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协议获得目标物理地址后,就可建立通信连接。
PC可相互Ping通,且未与外网直接连接的PC可通过另一台作为1394网关的PC访问外网,且网速较快。通过1394访问新浪网站时,用抓包软件WireShark可以抓到链接到新浪网的HTTP包与TCP包。
6 结论
通过努力,现在所取得的成果主要有:1)实现1394的Linux下组网,1394内部网络互相访问;2)实现1394网络与以太网的融合。通过一系列的安装配置,可以使1394网络与以太网连成一体,用户可以像在以太网中一样,进行访问各类网站,建立Ftp连接等正常网络活动;3)对1394网络性能进行了多方面的测试实验,对1394网络性能的影响因素进行了初步的总结。后续应深化和完善1394整体性能,进一步提升通信速率。造成实验测试速率偏低的原因:PC性能限制,1394线缆质量等,以及内核版本较旧,缓冲区偏小等。
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)