首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Linux下IEEE1394组网技术研究及实现(1)

Linux下IEEE1394组网技术研究及实现(1)

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),就会被动态地载入内存。
返回列表