当前所在位置:FreeBSD使用大全>>
FreeBSD连载(33):DOD参考模型(1)
 
作者:王波
 
第4章 网络配置与使用

  60年代末,美国国防部(DOD)对建立分组交换的广域网很感兴趣,其基本想法是通过连接多个地域的分散网络 ,那么局部地区的网络故障不影响其他部分网络的正常运行。主要是由于当时正处于冷战的形势下,他们要求建立能够在部分 地区被袭击的情况下,仍正常运行的军事网络。

  研究机构ARPA开始了这个称为ARPAnet的网络项目的研究,由于这个项目要求在不同的计算机之间进行通 信,而不同的计算机上会运行不同的操作系统,因此就存在不同系统之间如何按照同样的规则进行交流的问题。因此最重要的 问题就是开发所有的系统都遵守的标准协议,让它来实现应用程序对应用程序的通信,并独立于具体的计算机平台。因此,他 们开发了独立于特定计算机系统的标准协议,以实现各种计算机之间的通信。

  由于存在多种应用程序,因此协议也并非一个,而是一组协议。而TCP协议和IP协议就是他们开发的这些协议中 最重要的两个,因此通常就以TCP/IP来称呼整个协议族,称为TCP/IP协议,这正是当前流行的Internet 使用的协议标准。

  TCP/IP的成功与BSD Unix分不开的,由于TCP/IP是平台独立的,而当时大学的研究机构主要使 用BSD Unix,因而加州大学伯克利分校最先在BSD Unix中实现了TCP/IP。于是这一技术很快推广到使 用BSD Unix的大学中,TCP/IP得到迅速推广,越来越多的网络使用这个协议,越来越多的网络也通过这个协议 进行了互联,逐渐形成了今天的Internet。

  • DOD参考模型

  参考模型是关于计算机之间如何进行通信的一种形象化表示方式,它将进行通信所需要的每一步骤按照层次的概念组 织起来。如果一个步骤处理的事情是负责物理线路的具体传输,就认为属于模型中的低层,反过来,如果一个步骤是与具体的 应用程序打交道,就认为属于模型中的高层,在高层和低层之间按照逻辑关系,还有一些中间层次。

  将通信过程划分为不同层次的原因是因为通信过程是一个复杂的过程,对于用户来讲,能使用WWW浏览信息,能发 送电子邮件就能满足需要,他们只关心这些应用程序,而不关心具体的通信过程;另外一些软件驻留在后台处理通信过程中必 要的任务,如建立连接,发送数据等,而不关心数据是如何发送出去的;还有一些硬件专门用来负载信号的传递;这样不同的 软硬件有着层次分明的调用关系,自然就形成了层次的概念,而参考模型正是对这些层次进行区分和定义。

  在参考模型中,数据的物理传送是由应用程序──属于模型的最高层,向低层传送,直至具体传输数据的传输协议层 ,由这个层将数据通过物理介质──如电缆、光缆、微波等传送到目的计算机。当数据到达目的计算机时,它沿模型向上传递 ,最终到达目的计算机中的应用程序。这个过程就是传送数据的物理过程。

  可以使用一个简单例子来解释这个通信过程。例如朋友之间互相传递信函是另一种较容易理解的通信过程,这个过程 中有寄信者、收信者、邮递员、邮车等等。由寄信者将信交给邮递员,邮递员处理信件之后将信通过邮车发到对方的城市,对 方城市的邮递员再将信交给收信者。这样就可以将这个过程按层次划分,寄信者和收信者可以看作一个层次,他们使用邮政服 务,可以看成应用层;所有层次的邮政员工是一个层次,进行具体的处理通信工作,可以称为通信层;而邮车可以看成另一个 层次,处理具体发送邮件工作,称为传输层;这只是一个简单例子,具体网络通信过程则要复杂的多。

  从上图可以看出,虽然物理数据的传送是先从上到下,再从下到上回到另一台计算机的应用程序中,如果不考虑低层 是如何进行具体处理的,就可以将通信看成在每一层与另一个计算机中的相应层之间进行的。这样在每层与另一台计算机相应 层之间就存在逻辑上的连接通信和传递数据的能力。如果还使用前面的寄信的例子来说明的话,就是寄信者只考虑收信者,收 信者也只考虑寄信者,而不管邮递员是如何处理信件的,在逻辑上就是朋友之间的通信关系。

  这样用逻辑通信的方式将数据传送归结到各层中的协议上,每一个协议只定义了完成通信的一个任务,成功的完成整 个通信过程要求多个协议协同进行,这些协议将分属参考模型的不同层次,而且每个协议只与对方相应的协议通信,而不需考 虑整个通信过程,这样复杂的通信过程就得到了简化,从而能更容易实现。

  按照对网络的不同理解,可以有不同的参考模型,将通信分为不同的层次结构,其中影响最大的就是国际标准化组织 开发的OSI标准七层模型和TCP/IP中使用DOD四层模型。

  DOD模型的四层分别为:

    • 应用层(Application)
    • 主机到主机层(Host to Host)
    • 网络互连层(Internet)
    • 网络访问层(Network Access)

  • 网络访问层

  TCP/IP并没有定义任何网络访问层的协议,这个层的协议大部分是由其他通信组织定义的,这反而使TCP/IP 能适合几乎全部硬件平台。网络访问层和硬件相关,负责基本的通信,这一层最常见硬件的是以太网和使用普通电话线的 拨号连接。对于以太网,这一层定义了介质访问控制地址(MAC地址),用于标识不同的计算机。有了网络访问层,计算机 之间就有了物理连接,计算机之间就为相互交换数据提供了条件。

  在FreeBSD下,网络硬件是以网络界面(Interface)的形式存在的,如果计算机的网卡被正确探测 到的话,则就有一个相应的网络界面。例如第一个3C905网卡的网络界面是xl0,第一个Ne2000兼容网卡网络界 面是ed0,使用内核级PPP驱动的ppp网络界面为ppp0等。这些网络界面都对应于内核中的硬件驱动程序,只有在 硬件被检测到之后,这些网络界面才能被正常使用。除此之外,还有一个本地环路网络界面lo0,这使得即使没有任何网络 界面的硬件存在,也能使用FreeBSD运行网络程序为本机提供网络服务。

 
来源:http://freebsd.online.ha.cn/

声明:本站的文章和软件是本人从网上收集整理的(除本人的作品之外),所有版权属于作者,
如有侵犯您的权益,请指出,本站将立即改正,谢谢.

Copyright 2000 www.newok.com