计算机网络
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在这两合计算机之间必须有一条传送数据的通路。但这还远远不够,至少还需要完成以下动作:
(1)发起通信的计算机必须将数据通信的通路进行激活(activate)。所谓“激活”就是要发出一些信今,保证要传送的计算机数据能在这条通路上正确的发送和接收。
(2)要告诉网络如何识别将要接收数据的计算机。
(3)发起通信的计算机必须查明对方计算机是否已经准备好接收数据。
(4)发起通信的计算机必须弄清楚,在对方计算机中的文件管理程序是否已做好了文件接收和存储文件的准备工作。
(5)若计算机的文件格式不兼容,则至少其中的一台计算机应完成格式转换功能。
(6)对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个结点交换机出故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件。
由此可见,相互通信的两台计算机的系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,早在最初的ARPANET设计时就提出了分层的方法,“分层”可将庞大而复杂的问题转化为若干较小的局部问题,这些较小的局部问题就比较易于研究和处理了。
2.2 协议与划分层次
在计算机网络中要做到有条不紊地交换数据,就必须遵守—些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件(如发送一个应答信息),因而同步含有时序的意思。这些为进行网络中的数据交换而建立的规则、标准或约定即称为网络协议。更进一步讲,—个网络协议主要由以下三个要素组成:
(1)语法,即数据与控制信息的结构或格式;
(2)语义,即需要发出何种控制信息,完成何种动作,以及做出何种响应。
(3)同步,即事件实现顺序的详细说明。
由此可见,网络协议是计算机网络的不可缺少的组成部分。
分层可以带来如下好处:
(1)各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现—种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就下降了。
(2)灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。甚至当某层提供的服务不再需要时,还可以将这层取消而不会影响其他的层。
(3)结构上可分割开,各层都可以采用最合适的技术来实现。
(4)易于实现利维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统己被分解为若干个相对独立的子系统。
(5)能促进标准化工作,因为每一层的功能及其所提供的服务都已有了精确的说明。
分层时应注意使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂。但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。通常每一层所要实现的一般功能往往是下面的一种功能或多种功能。
1. 差错控制使得和网络对端的相应层次的通信更加可靠;
2. 流量控制使得发送端的发送速率不要太快,要使接收端来得及接收;
3. 分段和重装发送端将要发送的数据块划分为更小的单位,在接收端将其还
原;
4. 复用和分用发送端几个高层会话复用一条低层的连接,在接收端再进行分
用;
连接建立和释放在交换数据之前,先交换一些控制信息,以建立一条逻辑连接;当数据传送结束时,将连接释放。
分层当然也有一些缺点,例如,有些功能会在不向的层次中重复出现,因而产生了额外开销。
OSI的七层协议体系结构既复杂又不实用,但其概念清楚,体系价格低廉,理论较完整。TCP/IP的协议现在得到了全世界的承认,但它实际上并没有一个完整的体系结构。TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层。但从实质上讲,TCP/IP只有三层,即应用层、运输层和网际层,因为最下面的网络接口层并没有什么具体内容。因此在学习计算机网络的原理时往往采取折衷的办法,也就是综合OSI和TCP/IP的优点,采用一种原理体系结构,它只有五层(如图2-2所示),这样既简洁又能将概念阐述清楚。
1.应用层(application layer)
应用层是原理体系结构中的最高层。应用层确定进程之间通信的性质以满足用户的需要(这反映在用户所产生的服务请求)。这里的进程就是指正在运行的程序。应用层不仅要提供应用进程所需要的信息交换和远地操作,而且还要作为互相作用的应用进程的用户代理(user Agent),来完成一些为进行语义上有意义的信息交换所必须的功能,应用层直接为用户的应用进程提供服务。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议等等。
2.运输层(transport layer)
运输层的任务就是负责主机中两个进程之间的通信,其数据传输的单位是报文(segment)。运输层具有复用(multiplexing)和分用(demultiplexing)的功能。运输层中的多个进程可复用下面网络层的传输功能,到了目的主机的网络层后,再使用分用功能,将数据交付给相应的进程。
因特网的运输层可使用两种不同协议。即面向连接的传输控制协议
TCP(Transmission Control Protocol),和无连接的用户数据报协议UDP(User Datagram Protocol)。面向连接的服务能够提供可靠的交付,但无连接服务则不
能提供可靠的交付,它只是“尽最大努力交付(best-effort delivery)”。这两种服务方式都很有用,各有其优缺点。
在分组交换网内的各个交换结点机都没有运输层。运输层只能存在于分组交换网外面的主机之中。运输层以上的各层就不再关心信息传输的问题了。正因为如此,运输层就成为计算机网络体系结构中非常重要的一层。
3.网络层负责为分组交换网上的不同主机提供通信。在网络层,数据的传送单位是分组或包。在TCP/IP体系中,分组也叫做IP数据报,或简称为数据报:因此不要将运输层的用户数据报和网络层的IP数据报弄混。网络层的任务就是要选样合适的路由,使发送站的运输层所传下来的分组能够按照地址找到目的主机。
这里要强调指出,网络层中的“网络”二字,已不是我们通常谈到的具体的网络,而是在计算机网络体系结构模型中的专用名词。对于由广播信道构成的分组交换网,路由选择的问题很简单,因此这种网络的网络层非常简单,甚至可以没有。
因特网是一个很大的互联网,它的大量的异构(heterogeneous)网络通过路由器(router)相互连接起来。因特网主要的网络层协议是无连接的网际协议
IP(Internet Protocol)和许多种路由选择协议,因此因特网的网络层也叫做网际层或IP层。在本书中,网络层、网际层和IP层都是同义语。
4.数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息。在传送数据时,若接收结点检测到所收到的数据中有差错,就要通知发方重发这一帧,直到这一帧正确无误地到达接收结点为止。在每一帧所包括的控制信息中,有同步信息、地址信息、差错控制以及流量控制信息等。数据链路层有时也常简称为链路层。
这样,数据链路层就把一条有可能出差错的实际链路,转变成为让网络层向下看去好去是一条不出差错的链路。
5.物理层(physical layer)
物理层的任务就是透明地传送比特流。在物理层上所传数据的单位是比特。传递信息所利用的一些物理媒体.如双绞线、同轴电缆、光缆等,并不在物理层之