利用分层的体系结构,我们可以讨论一个定义良好的、大而复杂的系统的特定部分。这种简化本身由于提供模块化而具有很高价值,这使得由层所提供的服务的实现易于改变。只要该层对其上面的层提供相同的服务,并且使用来自下面层次的相同服务,当某层的实现变化时,该系统的其余部分就可以保持不变。
为了给网络协议的设计提供一个结构,网络设计者以分层的方式组织协议以及实现这些协议的网络硬件和软件。每个协议属于一层,而每一个协议层都能够用硬件、软件或两者的结合来实现。
网络分层模型协议分层具有概念化和结构化的优点。各层的所有协议被称为协议栈(protocal stack)。因特网的协议栈由5个层次组成:应用层、传输层、网络层、链路层和物理层。
应用层是网络应用程序及其应用层协议存留的地方。因特网的应用层包括许多协议,如HTTP、SMTP和FTP等。应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。这种位于应用层的信息分组称为报文(message)。
传输层提供了在应用程序端点之间传送应用层报文的服务。在因特网中,有两个传输层协议,即TCP和UDP。利用其中任何一个都能传输应用层报文,传输层的信息分组称为报文段(segment)。
TCP向它的应用程序提供了面向连接的服务,这种服务包括了应用层报文向目的地的确保传递和流量控制(即发送方/接收方速率匹配)。TCP也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。UDP协议向它的应用程序提供无连接服务。这是一种不提供不必要服务的服务,不提供可靠性,没有流量控制,也没有拥塞机制。
网络层负责将称为数据报(datagram)的信息分组从一台主机传送到另一台主机。源主机中的因特网传输层协议向网络层递交传输层报文段和目的地址,网络层负责传送。因特网的网络层包含著名的IP协议,该协议定义了数据报中的各个字段以及端系统和路由器如何作用于这些字段。所有具有网络层的因特网组件都必须运行IP协议。
链路层提供的服务取决于应用于该链路的特定链路层协议,如以太网、Wi-Fi和点对点协议(PPP)。为了将网络层的信息分组从一个节点移动到路径上的下一个节点,网络层必须依靠链路层的服务。在每个节点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个节点,然后在下个节点,链路层将数据报上传给网络层。因为数据报从源到目的地传送通常需要经过几条链路,所以它可能被沿途不同链路上的不同链路层协议处理。网络层将接收来自不同的链路层协议的不同服务,链路层的信息分组称为帧(frame)。
物理层的任务是将链路层的帧中的一个一个比特从一个节点移动到下一个节点。该层中的协议仍然是链路相关的,并且进一步与链路的实际传输媒介相关,如双绞铜线、单模光纤等。每种媒介在跨越链路时移动一个比特的方式是不同的。
分层传输信息国际标准化组织(ISO)提供计算机网络应组织为大约七层,称为开发系统互联(OSI)模型。OSI参考模型的七层是:应用层、表示层、会话层、传输层、网络层、链路层和物理层。表示层的作用是使通信的应用程序能够解释交换数据的含义,它所提供的服务包括数据压缩、数据加密以及数据描述。会话层提供了数据交换的定界和同步功能,包括建立检查点和恢复方案的方法。
事实上,初始发明者在创建OSI模型时,并没有考虑到互联网。而因特网协议栈也没有考虑OSI协议中的表示层和会话层,而是将这两层留给开发者自己根据的需要来选择是否进行处理,从而决定是否在应用层构建该功能。
网友评论