计算机网络是个非常复杂的系统,假设两个连接在网络上的计算机传输文件,作为发送数据的计算机必须完成下列工作。
必须先和对方计算机建立联系,使对方有所准备,协商细节。
要使网络能够识别接收数据的计算机,不会把数据发送到错误的地方去。
需要确认对方是否已经准备好接收数据。
需要确认对方计算机文件系统是否准备好接收文件。
需要确认双方数据的格式是否相同,如果不同的话如何转换。
需要准备好处理意外事故,比如数据传输错误、重复或者丢失,网络中某个节点出现故障等,采取某种措施保证对方能正确可靠地收到文件。
计算机网络体系结构是指为不同的计算机之间互连和互操作提供的规范和标准,通常采用层次划分的方式,同一层中的协议根据该层所要实现的功能来确定,各对等层之间的协议功能由相应的底层提供服务完成。典型的计算机网络体系结构是OSI参考模型。
1.ISO/OSI参考模型
国际标准化组织ISO制定了开放系统互连基本模型(OSI)。只要符合OSI标准(或称为协议),一个系统就可以和世界上任何地方的、遵循此标准的其他任何系统进行通信。在这个模型里面,网络的实现被分成了七层,也就是建立了七层协议的体系结构。每层各尽所职,其结构的框架如图6-2所示,其各层的功能及职责如下。
图6-2 OSI模型的分层结构和工作原理
(1)物理层。物理层只处理0和1信号,0和1被编码成为电信号、光信号等。物理层必须处理电气和机械的特性、信号的编码和电压、物理连接器的规范等。例如,必须对使用电缆的长度、阻抗做出明确的规定,对电缆如何传输信号,使用哪一种编码进行明确的规定等。
(2)数据链路层。数据链路层将0和1的信号组织成块(称为数据块、数据单元或数据帧)进行传输和接收。数据链路层需要确定双方的物理地址,并对数据帧进行校验。
在数据传输前,发送方的设备需要运行一个校验算法,计算出校验值,将其和对方的物理地址一起附加在数据帧中发送出去。对方接收以后,也运行同样的算法,计算出校验值,比较无误则说明传输正确,否则数据链路层就将该数据帧丢弃。
(3)网络层。网络层在发送数据时,首先根据逻辑地址判断接收方是否位于本地网络,如果在本地,就直接把数据单元交给数据链路层作为数据处理;如果在远程网络上,就发送给路由器,路由器连接了多个网络,路由器寻找最合理的路径,把数据一站一站地发送到远程网络上去。当然,计算机到本地路由器上的数据发送,也是使用数据链路层将网络层数据包作为数据发送的。
网络层需要进行拥塞控制,网络各节点的网络层彼此协商以防止和缓解拥塞现象。
(4)传输层。网络层和数据链路层的数据传输是不保证的,一般使用无连接的服务。传输层则提供了面向连接的数据传输,能够确保数据正确地到达了目的地。当然,传输层的该功能是通过网络层实现的,双方需要不停协商,发现错误、丢失数据包以后就重发,直到数据正确并按照顺序到达目的地。(www.daowen.com)
传输层也提供了无连接的数据传送服务,用于对性能要求较高而对可靠性要求不高的场合。比如视频、声音信号的网络传送,对速度的稳定性要求较高,而对传输过程中偶尔发生的传输失败或错误能够容忍,这样的应用使用无连接的服务就非常合适。
传输层的数据单元最后作为数据交给网络层发送出去。
(5)会话层。会话层负责管理和建立会话,也处理系统之间不同服务的请求同步,对系统间请求的响应进行管理。组织和同步进程之间的会话就是允许双向同时进行或任何时刻只有一方可以发送,即双工或单工传输。在单工的情况下,由会话层管理和协调双方哪一方发送数据。
(6)表示层。表示层处理数据的表示问题。例如,不同的计算机使用不同的编码方法和标准,例如ASCII码和Unicode码等,为了让不同编码标准的计算机之间能够进行通信,必须对这些编码进行转换。此外,考虑到具体的安全需要,表示层还可能需要对数据进行加密和解密。
(7)应用层。应用层不是指Word、Excel等应用软件,而是指一些直接为这些使用网络服务的软件提供网络服务的接口和方法。例如使用FTP服务进行文件传输的具体方法,IE浏览器解释和显示网页的方法和细节等。它直接与用户进程相接,完成与用户进程之间的信息交换。
网络分层可以将复杂的技术问题简化为一些比较简单的问题去处理,从而使网络的结构具有较大的灵活性。同时网络分层还使得网络互联变得规范和容易。因为网络的互联在很多情况下是异种网络的互联,如局域网的互联、局域网与广域网的互联等。这些不同的网络执行的是不同的协议,其操作方式和接口也不同,所涉及的协调很复杂。
2.TCP/IP基本模型
TCP/IP协议是在ARPANET建设实践中发展起来的,是Internet的基础协议。它原来没有模型,人们根据TCP/IP协议的内容,将其分为应用层、传输层、网络层、网络接口层进行分析。
我们可以看到TCP/IP的四个层次同OSI的七个层次有相对应的地方,如图6-3所示。
图6-3 TCP/IP层次与OSI层次的对应关系
网络接口层实际上不属于TCP/IP,而是由其他网络协议提供的,例如局域网或广域网,相当于OSI模型中的物理层和数据链路层。
互联网层也就是IP层,是TCP/IP协议的核心和关键,它采用分组交换的无连接网络模式,相当于OSI模型中的网络层。主要任务是把IP报文送到指定的地方。
TCP/IP中的传输层提供两种服务,TCP提供可靠的、面向连接的网络服务,UDP提供不可靠的、无连接的网络服务。提供UDP的原因是有些服务的效率比可靠性更重要,而且UDP可以实现广播。
TCP/IP的应用层包含各种高层协议,例如DNS、TELNET、FTP、WWW等。
相比较而言,OSI模型分层详细,各层分工合理,是一个很好的网络通信模型;而TCP/IP模型是根据TCP/IP协议总结出来的模型,比较粗糙。然而,TCP/IP协议出现的比较早,又经历了ARPANET的工程实验及其改造,非常成熟、实用。TCP/IP的经验表明,OSI模型制定得有点复杂,会话层和表示层过于单薄,几乎可以省略。最关键的是,OSI模型制定发布的时候,TCP/IP协议基本上已经成为工业标准,OSI模型没有机会成为实用的OSI协议。一般来说,人们在工程中应用TCP/IP协议,在研究和比较不同的网络的时候,使用OSI模型。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。