计算机网络和因特网
1.5协议层次和它们的服务类型
1.5.1分层的体系结构
为了给网络协议的设计提供一个结构,网络设计者以分层(layer)的方式组织协议以及实现这些协议的网络硬件和软件。协议分层具有概念化和结构化的优点,分层提供了一种结构化方式来讨论系统组件,模块化使得更新系统组件更为容易。然而,某些研究人员和网络工程师反对分层。分层的一个潜在缺点是某层可能重复其较低层的功能。例如,许多协议栈(protocolstack)都基于链路和端到端这两种情况提供了差错恢复。第二种潜在的缺点是某层的功能可能需要仅在其它某层才出现的信息(如时间戳值),这违反了层次分离的目标。
时间戳(timestamp),通常是一个字符序列,唯一的标识某一刻的时间。
各层的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、链路层、网络层、传输层和应用层。
应用层是网络应用程序及其应用层协议存留的地方。因特网的应用层包括许多协议,例如HTTP、SMTP、FTP。应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。我们将这种位于应用层的信息分组称为报文。
运输层提供了在应用程序端点之间传送应用层报文的服务。在因特网中,有两个重要运输层协议,即TCP和UDP,TCP向它的应用程序提供了面向连接的服务。这种服务包括了应用层报文向目的地的确保传递和流量控制(即发送方/接收方速率匹配)。TCP也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。UDP协议向它的应用程序提供无连接服务。这是一种不提供不必要服务的服务,不提供可靠性,没有流量控制,也没有拥塞控制。在此,我们将运输层分组称为报文段(segment)。
因特网的网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机。源主机中的因特网运输层协议向网络层递交运输层报文段和目的地址。网络层著名的IP协议定义了数据报中的各个字段以及端系统和路由器如何作用于这些字段。
因特网的网络层通过一系列路由器在源和目的地之间发送分组,为了将分组从一个节点(主机或路由器)移动到路径上的下一个节点,网络层必须依靠链路层的服务。因为数据报从源到目的地传送通常需要经过几条链路,所以它可能被沿途不同链路上的不同链路层处理。例如,某个数据报可能被一条链路上的以太网和下一条链路上的WiFi所处理。在此,我们将链路层分组称为帧(frame)。
物理层的任务时将整个帧从一个网络元素移动到临近的网络元素,而物理层的任务时将该帧中的一个一个比特从一个节点移动到下一个节点。该层中的协议仍然是链路相关的,并且进一步与链路(如双绞铜线、单模光纤)的实际传输媒体相关。例如,以太网具有许多物理层协议:关于双绞铜线的,关于同轴电缆的,关于光纤的。在每种情况下,跨越这些链路移动一个比特的方式不同。
因特网协议栈不是唯一的协议栈。在20世纪70年代后期,国际化标准组织提出计算机网络应分为7层,称为开放系统互连模型。这7层是应用层、表示层、会话层、运输层、网络层、链路层和物理层。其中与因特网协议栈的5层名字相同的层,其功能也基本对应相同。表示层的作用是使通信的应用程序能够解释交换数据的含义,它所提供的服务包括数据压缩、数据加密以及数据描述。会话层提供了数据交换的定界和同步功能,包括建立检查点和恢复方案的方法。
1.5.2报文、报文段、数据报和帧
图1-20显示了这样一条物理路径:数据从发送端系统的协议栈向下,上下中间的链路层交换机和路由器的协议栈,进而向上到达接收端系统的协议栈。与端系统类似,路由器和链路层交换机以层的方式组织它们的网络硬件和软件。而路由器和链路层交换机并不实现协议栈中的所有层次。链路层交换机实现了第一层和第二层;路由器实现了第一层到第三层。
图1-20也举例说明了封装(encapsulation)这一重要概念。在发送主机,应用层报文(application-layermessage)M被传送给运输层,运输层收取报文并附上首部信息Ht,该首部信息将被接收端的运输层使用。应用层报文和运输层首部信息共同构成了运输层报文段(transport-layersegment)。运输层报文因此封装了应用层报文,附加的信息可能包括:允许接收端运输层向上向适当的应用程序交付报文的信息;差错检测比特信息(利用该信息接收方能够判断报文中的比特是否在途中已被改变)。运输层则向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息Hn,形成了网络层数据报(network-layerdatagram)。该数据报接下来被传递给链路层,链路层当然也增加它自己的链路层首部信息并创建了链路层帧(link-layerframe)。于是,我们看到在每一层,分组具有两种类型的字段:首部字段和有效载荷字段(payloadfield)。有效载荷通常来自上一层分组。
|
|