购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 计算机网络

2.2.1 网络概述

网络对于每个人来说都不陌生,我们每天都在和网络打交道,或者说在利用网络。我们每天用的电是通过供电网络输送到各家各户的,我们打电话要使用电话网络,我们每天出行要利用交通网络。

通俗地说,网络就是用某种“连接线”将相关的“东西”连接在一起而构成的一个整体。交通网络就是典型的网络,其中,道路是“连接线”,建筑、景点、特定的地理标志等都是相关的“东西”。这些“东西”在网络上称为网络节点(简称节点),而那些起到连接作用的“线”就是网线。可以说,网络是由网线和节点构成的。

构建网络的目的是共享资源,将节点上的某些物品交换出去。所以“通”是网络的根本诉求。另外,要在网络上进行“交换”“共享”,就必须有相应的规则来保证。

我们以交通网络为例来讨论网络的基本要素。地球上的任何一个点都可以用经度和纬度表示出来,有需要时,还可以标出相应的高度。这些经纬度也可以称为地址。在一个城市中,可以将我们的家、单位用经纬度表示出来,这就是我们的家或者单位的地址,需要牢牢记住。仅记住这两个地址不算困难,但是,我们每天可能要和许多单位进行交换和共享,可能要到许多地方去,把这些地方的经纬度都记住显然是不可能的。于是,人们就想出了易于记忆的办法:给路或者街道起个名字,给其中的建筑或处所加上相应的门牌号,这样就好记多了。我们甚至可以直接记某个单位的名称,也能找到相应的地点。

前面说过,经纬度可以称为物理地址,而街道加上门牌号就构成了逻辑地址。有了地址,我们就可以方便地寻找相应的地点,这个过程就是寻址。我们到一个陌生的地方去时,首先要有地址,然后查看地图或者询问其他人,按照一定的路径就可以找到这个地方。当然,现在有了手机导航系统,直接输入地点名称(或单位名称)或者输入街道和门牌号,手机就会帮我们导航。

要到达这个地址,必然要从出发地沿着一定的路径走,在这个过程中可能要搭乘一些交通工具。我们为什么要选这条路径?为什么要搭乘这种交通工具呢?这是由“交换任务”所决定的。选择路径时要遵循一定的原则:路径最短、所用的时间最少、是最便捷的路径,对于一些特定的任务还要考虑安全性。选择交通工具时,也要考虑快捷性、舒适性、方便性、安全性等因素。比如,由贵阳到北京,可以选择飞机、高铁、汽车、自行车,甚至是徒步,具体选择哪种方式,也是由“交换任务”所决定的。同时,交通工具的选择对路径的选择也有相应的影响。我们乘坐的交通工具沿着什么样的路径行驶,要遵守道路相关的规定。我们要交换的“东西”也会对采用哪种交通工具产生影响。

还要说明的是,我们使用的交通工具可能是公共交通工具,因此“东西”必须符合公共交通工具的要求。如搭乘飞机时随身携带的拉杆箱的体积必须小于行李舱的空间规格。

从这个例子可以看出,我们要把一个“东西”交换出去,必须涉及的要素有地址(包括发货地址和收货地址)、道路、交通工具和“东西”。

对应到计算机网络中,要实现计算机之间的通信,必然涉及以下四个方面的要素。

●计算机的网络地址;

●传输的线路及路由;

●传输工具;

●数据。

数据就是我们要传输的“东西”。要实现数据的传输,需要以下要素:第一,它要搭载某种传输工具才能在网线上进行传输,途中可能还要“路过”一些中转站;第二,网线及其他设备;第三,数据出发地的地址和接收数据的地址。

在交通网络中,为了更好、更科学地出行,人们做出了许多规定,这些规定是我们的老祖先制定的,如秦始皇规定了车的两轮之间的距离,即“车同轨”。在现代,这个规定更加国际化。针对不同的车型,平行的两轮子之间的间距有明确的规定。在道路上,也划出了相应的行车道,并规定右侧(或左侧)通行、不得逆行、双黄线处不得掉头等。对于公共交通工具,会规定货物的大小、不得超过的限制、特殊物品必须贴上标志等,通过公共交通工具运送的货物,需要在包装上写明货物的发货地址、收货地址和联系人等。这些人为的规定都是为了更准确、方便地进行交换。

在计算机网络上,也有此类的规定。这个规定就是网络协议,我们会在2.2.3节中进一步说明。

2.2.2 计算机网络设备与网络结构

1.媒体和互联设备

这里的媒体不是指新闻媒体,而是指用来传输信息的媒介。这些媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互联设备包括数据终端设备,如各类计算机或者专用的数据通信终端机等(被称为DTE),还包括另一类被称为DCE的设备,DCE是数据通信设备或电路连接设备,如调制解调器等。数据传输通常经过DTE—DCE,再经过DCE—DTE的路径。而互联设备是指将DTE、DCE连接起来的装置,如各种插头、插座。在本地网中的各种粗/细同轴电缆、T型接头/插头、接收器、发送器、中继器等都属于物理层的媒体和连接器。

接口插件的定义是最基础的电路要求。在我们的日常生活中,墙壁上的插座都是有明确规定的,对于一个三插孔的单相电来说,左边孔是零线,右边孔是相线,上面的孔是保护地线。这只是三条线,并且在日常生活中,电源只是由供电端流向用电器,大多数用电器都并联在主干的线路上,因此,这个网络相对简单。但是,在计算机网络中,线路的连接就比较复杂了。常用的五类线、六类线里面都是多股的,并且用不同的颜色进行区分,每条线的作用都不一样。为了让全世界的计算机都能联到网络中,必须要有明确的规定。这些网线还要连接到计算机上,插头中的每一个针都要和计算机中对应的插座正确地连接,这些都要在物理层的协议中进行规定。

下面介绍几种应用较为普遍的网络设备。

(1)网线

网线是连接各类设备进行信号传输的通道,原则上任何一条金属线都能作为传输线。在导线里,传输的信号是电流。电流在导线中传输时,在它的周围会产生磁场,磁场会在相邻的导线中产生电动势,电动势会干扰这条导线中传输的信号。我们知道,电流是电荷的运动,无论是静止的电荷还是运动的电荷,都会在其周围产生电场。这些电场会影响其周边的其他导线中的电荷,这也是干扰。同时,这些电场和磁场本身会消耗能量,导致线路末端的信号减弱。

为了尽可能减少这类干扰和能量的损耗,一般不会直接用平行导线来做长距离传输的网线。网线一般有以下几种。

双绞线 :就是把几条线像拧麻花一样拧在一起,这样做的目的是使电磁场的方向发生改变,以减小相互之间的影响。这样的导线可以同时传送几路信号,进行并行传输。

同轴电缆 :图2-1为同轴电缆的示意图。

图2-1 同轴电缆

这种电缆的能量损失是比较小的,因为电磁场被封闭在电缆外层的金属层之内。但是,这种电缆只能同时传送一种信号。

光纤 :利用光传输的介质,由于采用的是非金属材料,因此不容易被干扰,并且传送的容量非常大。光纤可以利用时分多址传送多路信号。

无线电波 :无线电波虽然不是网线,但是利用它可以传播各类信号,其作用与网线是一样的。

(2)集线器

集线器(HUB)的作用是把各个设备连接起来,其结构非常简单。它使用一种被称RJ45的接口,把对应的线连接在一起。当需要连接设备时,把相应的RJ45的接头插入对应的接口即可。这和我们日常使用的插线排插座的原理是一样的,不过插线排插座是两条线(当然有保护地线的是三条线),而RJ45中的线更多。下面给出常用的线的含义:

●标准568A:绿白-1,绿-2,橙白-3,蓝-4,蓝白-5,橙-6,棕白-7,棕-8。

●标准568B:橙白-1,橙-2,绿白-3,蓝-4,蓝白-5,绿-6,棕白-7,棕-8。

这里不详细介绍A和B的含义,如果读者想学习双绞线接口,可以通过网络查找相关的学习资料,并且有现成的工具可供使用。

(3)路由器

大家对路由器都不陌生,大多数的家庭都会使用路由器来上网。许多办公环境也需要通过路由器来实现集中连接和共享上网两项任务。

路由器的作用是连接Internet中各局域网、广域网,根据信道的情况自动选择和设定路由,以最佳路径按前后顺序发送信号。

(4)交换机

交换机也是用于连接各个主机和其他网络设备的设备,它与集线器的不同之处在于:集线器用于将所有设备连接到同一个线路上,如同我们家里的供电系统,它有两条骨干电源线,我们可以把多种用电设备并联到这两条线路上。用电设备只需要从电路上获取能源,相互之间并不需要通信。但是网络上的主机和设备之间是需要进行通信的。

在集线器上连接的主机在通信时采取这样的规则:由发起通信的主机在网上进行广播,告诉集线器上连接的所有主机“我要和谁通信”,那么收信方接收到这个广播信号后,会打开接收通道,接收相应的数据,其他主机则不会有任何动作。

这就带来了两个问题:一是当这对主机通信时,其他主机之间就不能通信了,线路只能被当前通信的两个主机占用;二是如果此时非收信主机为恶意主机,故意伪装成收信主机应答,那么,发信主机就会将数据错误地传送给这个恶意主机。如果传送的是需要保密的信息,就会导致泄密。

交换机是使主机两两之间建立通信关系,同时又不影响其他主机之间通信的设备。图2-2是笔者画的一个示意图,可以帮助读者理解。

图2-2 交换机示意图

简单地说,在交换机里会将各个主机对应的接口构成纵横排列的两组线路,在相交的节点处设置开关,当一个用户与另一个用户进行通信时,相关节点的开关会闭合,从而构成一个通信的通道,并且不会影响其他主机。

实际上,网络交换机的原理更加复杂,这里只是给出一个示意图,帮助读者理解交换是怎样完成的。

2.网络结构

网络按照结构可以分为总线网、星形网、环形网等类型。

总线网是早期普遍使用的网络结构,也称为以太网。在这种结构中,所有的设备都连接到总线上。以太本来是一个物理学名词,是指一种弹性极大而密度又极低的物质,这种物质可以占据任何空间,而不管空间中是否已经有了其他物体。笔者猜想,当年之所以把这种网络称为以太网,可能是因为在总线上可以任意连接计算机主机和其他网络设备。

在星形网结构中,有一个核心设备,其他设备都连接到这个核心设备上。实际上,以太网从物理形态上看是总线网,但从逻辑关系上可能是星形网。只要这个网络里有核心设备,就可以认为这个网络是星形的。这样就形成了客户端-服务器结构(C-S结构)。服务器为各用户端提供应用的程序和核心的数据。由于TCP/IP的使用,网络出现了浏览器-服务器结构(B-S结构)。B-S结构并不是一种物理形态,其物理形态仍然可能是星形的结构,因此可以将B-S结构看成一种应用体系结构形态。

环形网,顾名思义,就是一个环形的物理形态的网络。环形网使用一个连续的环将设备连接在一起。它能够保证一台设备上发送的信号可以被环上其他的设备都看到。

3.网络分类

网络可以有多种分类方法,在这里,我们根据网络规模进行划分,可以将网络分为局域网、广域网和Internet。

●局域网:也称为LAN,一般为一个单位内部建立的网络,规模不会很大,客户端没有具体的数量界限,从几台到千余台的情况都有。

●广域网:也称为WAN,广域网可能会在一个城市中建设,也可能是跨城域的网络。广域网的网络规模比较大,可以分布在全国甚至全球范围内,多为某些行业的网络。

●Internet:是一种国际联网的网络。

2.2.3 网络协议

1.网络协议概述

网络协议就是为了实现网络通信而人为规定的一组规则。实际上,我们对协议并不陌生,前面说过,为了让大家能合理地使用公共的道路,我们要有一套协议(交通法规)。我们可以通过文字看到这些交通法规,它们也易懂、易掌握。而计算机网络中的协议一般人是看不到的,也不太容易理解和掌握。

再举个例子来帮助我们理解看不到的协议。比如,我们打电话时,如果听筒里没有任何声音,即便是不懂通信,也会知道线路中出现了问题;当拨号后,听到不紧不慢的断续回声时,就知道电话已经接通了,于是耐心等待对方接听;当听到急促的断续音时,就知道对方正在占线,于是就过一段时间再打。这就是在使用没有语音提示的电话进行通信时约定的特殊信号,也就是一种协议,不论在哪里打电话,这些信号代表的意义都是一样的。在电话通信中,这类协议还有很多,不过当时从电信的角度没有把它们叫作协议,而是叫作“信令”。

计算机的通信要比电话通信复杂得多,仅靠简单的信令无法解决所有的问题。我们必须从路径、地址、传输介质和数据四个层面做出相应的规定,全世界的计算机网络都执行这些规定。当然,如果开发了一个只属于自己的小规模系统,就可以设计一个只供这个系统内的各个设备执行的协议。

国际标准化组织针对网络协议制定了一个模型,请注意,这只是个模型,并不是实际的协议,但学习这个模型对理解网络协议大有裨益。

2.ISO的OSI七层协议模型

开放系统互连(Open System Interconnect,OSI)参考模型是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

协议模型的示意图如图2-3所示。

图2-3 ISO的OSI七层协议模型

这个模型的第一层是物理层。如果把Internet看成一条公路,那么这一层就是路的基础设施部分。我们修公路时,要规定公路的路基强度、路面的宽度、路面的曲度、路面的分层构造等。在物理层我们也要做出相应的规定。

物理层虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的连接和数据通信提供传输媒体及互联设备,为数据传输提供可靠的环境。上面的数据链路层、网络层、传输层、会话层、表示层和应用层都有各自的功能,下面我们将分别介绍。

(1)物理层

物理层为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以由多个物理媒体连接而成。一次完整的数据传输包括激活物理连接、传送数据和终止物理连接。所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间建立连接,形成一条通路。就如同在特殊的情况下,为了保证路面交通的畅通,在选定的路线上,将所有信号灯都设置为绿灯,保证特定的交通工具顺畅地通过。不过,在数据通信中,不是每次在特定的情况下都要如此,要保证从甲方到乙方,无论有多少个连接点、转接点(相当于各种路口),都要将其激活,形成连接状态。

物理层要提供适合数据传输的环境,为数据传送服务。一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟能通过的比特数),以减少信道上的拥塞。这就如同在地面交通中,能够使用的路面宽度要略大于车辆的宽度,才能保证车辆顺利通过道路,不会发生阻塞。传输数据的方式还要满足点对点、一点对多点、串行或并行、半双工或全双工、同步或异步传输的需要。

点对点、一点对多点比较好理解。串行就如同一群人站成一路纵队,顺序地到达目的地;并行则如同这群人站成一排横队,或者是将这些人分成组,每组有特定的人数,每组人站成横队,一齐向目的地进发。显然,并行前进需要的路面宽度大于串行前进需要的路面宽度。

半双工是指在特定的时间段内,不能同时收发数据,只能收或者只能发;全双工则可以在特定的时间段内同时收发数据,就像打电话一样。

同步是指收发两端必须在同一时刻完成对特定位数据的传输。把收和发想象为两道门,这两道门按同一频率在同一时刻打开,又在下一个同步的时刻关上,这样,需要传送的物体从发送的门出来后,必须在接收的门关上之前进入门内才行。异步则不需要这样,可以把异步想象为在接收的门外安排一个暂存区域,发出的物体可以在这里暂存,在接收的门方便打开的时候,再将这些物体从暂存区域收入门内。

在物理层中还要有一个非常重要的规定,那就是电信号的格式。大家都知道,目前的计算机主要采用二进制进行运算。二进制有一个优点,我们可以用有电代表二进制中的1(或0),用没电代表二进制中的0(或1)。但是,在计算机中,每一秒都要处理上百万个二进制符号,所以就要规定有电和没电的时间长度,还要规定有电时的电压值。超过规定的阈值就认为有电,而没有达到这个阈值时,就认为没电。

我们把从有电到没电或者从没电到有电的过程称为一个脉冲。在物理层协议中就要规定好脉冲的幅度(电压值,准确地说是电动势的值)、宽度(时间的延长值)。这些规定都是非常重要的。用前面提到的同步传输数据的例子,就是发送方和接收方“开门”的时长必须和这些脉冲匹配,才能完整地进行信号传输。

从有电到没电再到有电,或者反过来,从没电到有电再到没电,这样的一个过程可以用1比特(bit,就是一位)来表示。比特是一个信息量的单位,现在大家知道这指的是“一个脉冲位”即可,我们不进行深入的讨论。一个脉冲位的脉冲值就代表一位二进制数的数值,可以是0或者1。

为了表达方便,在计算机和网络中,经常用到以下单位:

(bit):计算机中最小的数据单位。每一位的状态只能是0或1。

字节 (B):8位构成1字节,它是存储空间的基本计量单位。我们常说的硬盘有多少兆,就是说它可以存储多少字节。1字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2字节的存储空间。

:由若干字节构成,字的位数叫作字长。不同型号或类型的机器有不同的字长。例如,对于同时可以处理8位的计算机(也叫八位机,是早期的计算机),它的1个字就等于1字节,字长为8位。如果是一台16位机,那么它的1个字就由2字节构成,字长为16位。字是计算机进行数据处理和运算的单位。现在的计算机多为64位计算机。

KB :在一般的计量单位中,k表示1000。例如,1000m经常被写为1km,1000g可以写为1kg。K在二进制中也有类似的含义,只是这时K表示1024,也就是2的10次方。1KB表示1024字节。

MB :计量单位中的M(兆)是10的6次方,也就是在某个数值的后边补上六个0,即扩大一百万倍。在二进制中,MB也表示百万这个数量级,但1MB不等于1 000 000字节,而是等于1 048 576字节,即1MB=2 20 字节=1 048 576字节。

除了MB之外,还有GB、TB等计量单位,这几种单位的换算关系如下:

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

(2)数据链路层

链路是网络中链接两个节点的信道,包括通信线路和相关的网络设备。可以将数据链路简单地理解为数据通道。数据链路层的功能是在相邻两个节点间无差错地传送数据帧,为网络层提供服务。

物理层要为终端设备间的数据通信提供传输媒介及其连接。媒介的连接是长期的,而数据的链接是有生存期的。就如同有线电话,电话线是长期连通的,但是,只有在打电话时,才能与对方建立连接。

在链接生存期内,收发两端可以进行一次或多次数据通信。每次通信都要经过建立通信链路和拆除通信链路的过程。这种建立起数据收发关系的通路就叫作数据链路。在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错。因此,建立和拆除数据链路,对数据进行检错、纠错,是数据链路层的基本任务。

在网络通信中,包括两类链路:点对点链路,这是在成对设备之间建立的;点对多点链路,这是在一个节点和几个节点之间进行通信。

接下来,我们介绍数据链路层的主要工作。

1)链路建立。链路连接涉及建立、拆除和分离。在物理层中,我们说要激活链路上的所有设备,那么这个链路应该怎么建立、应该由哪些设备来组成,这是数据链路层要考虑的。比如,为了进行某项活动,我们要规划路线,路线规划就相当于链路层的工作;规划好路线以后,实际执行时要由交警对路线进行管控,这就是物理层中激活的工作。

2)帧定界和帧同步。帧是一个与时间相关的概念,它也是一个时间段,只不过这个时间段比脉冲要长得多,一个帧可以容纳多个脉冲。帧的概念来自电影,我们看到的视频影像实际上并不是真正连续的动态画面,而是由一个个独立的静态画面构成的,也就是由一个个帧构成的。

帧的作用就如同在公路上画线,规定车辆行驶的规范。有了帧,就可以保证通信两端的“同步”。我们在传输一段信号时,信号是由一个个脉冲构成的,如果不知道信号的头和尾,就无法将传输过来的信号还原。帧则有一些结构上的规定(比如连续多少个正负均匀的脉冲就代表帧的头),通过这些规定就可以知道帧头和帧尾,也就能顺利还原信号了。

数据链路层的数据传输单元是帧,协议不同,帧的长短和界也有差别,但必须对帧进行定界。

3)对帧的收发顺序进行控制。Internet中频繁进行的工作是传输完整的报文。所谓报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含将要发送的完整的数据信息,其长短很不一致,长度不限且可变。

虽然报文长度是不固定的,但是无论哪个网络协议都会规定帧的长度。一个帧长并不能保证将所有的报文都发送出去,这样就需要有多个帧。就像一个学校要组织学生活动,需要使用交通工具将同学们送到活动场地,但是每个交通工具容纳的人数有限,学生要分乘多辆交通工具。如果这些学生在出发时确定了顺序,到目的地时仍然要保持这样的顺序,那么就设置标记和规则。这些交通工具在出发时可能是有序的,但是在行驶过程中,顺序可能被打乱,造成学生们的顺序错误。只要有标记和规则,那么到目的地后就可以恢复顺序。同样的道理,在网络通信中,发送节点时只要给帧标注顺序和设置标记,那么在接收节点时,就可以按这样的顺序重新组成相应的报文了。

4)差错检测和恢复。差错检测包括两个方面,一是前向纠错,二是反馈和重传。前向纠错就是利用大量冗余信息,通过这些冗余来纠正相应的错误。在现实生活中,也常常使用这样的方法来纠正我们与他人交流时可能出现的错误。我们在听对方讲话时,并没有将每个字都听清楚,而是由于我们熟悉语言,大脑中有大量冗余信息,因此只要听到某些关键字,通过“联想”就明白对方的意思了。那为什么我们在学习母语以外的语言时,听力就没有那么好呢?就是因为在我们大脑中还没有足够的冗余信息,不能产生关联,只能一个单词一个单词地都听清楚,再对其进行组合,才能明白一句话的含义。

反馈重传更容易理解,我们常会和对方说:“再说一遍,我没听清楚。”这就是反馈,对方会把话重复一次,这就是重传。

5)链路标识和流量控制。链路标识的作用体现在两个方面:一是表明这时线路和相关设备的占用/空闲状态;二是表明此链路属于哪条通信线路。流量控制比较好理解,打个比方,我们发现了一个拥堵的路线,就应该控制相应的车辆,避免更多车辆在此路段集中。网络通信中也会出现这类情况,所以要对流量进行控制。

(3)网络层

第三层是网络层,这一层的主要作用是确定的网络上各个设备(节点)的地址。这个地址和交通网中的地址非常像,也是由物理地址和逻辑地址来表示的。

网络层的产生也是网络发展的结果。在计算机刚开始联网的时期,网络层协议并没有太大的意义。当时最著名的是以太网,所有数据终端设备并联到一组总线上。通信的建立过程是:通过通信的发起方发送广播信息,告诉全体终端我要和某台计算机通信,然后相关的接收方会自动打开连接,使通信得到建立。数据的传输也是以广播方式实现的,只是相关终端打开接收,而其他终端弃之不理。可是,当数据终端增多时,它们之间有中继设备相连,这时就产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由或者寻址的问题。

网络层提供的服务有11种,在这里我们仅介绍4种重要的服务。

1) 网络地址 。网络通信是指由通信的发起方将需要传输的数据传送给接收方,那么就需要知道,要将数据发给谁、他在哪里。接收方也要知道数据是谁发的,是从哪里发出来的。这就需要给每个通信的终端规定一个地址。

网络层通过网络地址感知传送数据的实体,而网络地址由网络层提供,可以使用网络地址来唯一地识别传送实体。网络地址是必需的。这如同在现实生活中,我们都要用相关的地址来标识一样。

在每台联网计算机中都有一块网卡(学名叫网络适配器)。网卡在从生产厂家出厂时,就有一个明确的物理地址。国际标准化组织会给每个生产网卡的厂商一个地址段,所以每个网卡在出厂时,就已经有了固定的地址,而且这个地址是唯一的。但是,网卡厂商并不知道这块网卡插到了哪台计算机上,还有这样一种可能,一台计算机原来的网卡坏了,新换了一块新的网卡,于是网卡地址就变了,所以,没有办法直接用这个地址来规定这台计算机的网络地址。于是,在计算机网络中出现了另一种代表网络节点的逻辑地址。逻辑地址与物理地址之间要建立一对一的关系,不同的协议规定逻辑地址的方法也不一样。我们现在用得最多的是TCP/IP,逻辑地址就是IP地址。对于不同版本号的协议,地址的分配也不一样,我们原来用的或者说目前正在使用的Internet的网络协议是TCP/IP的第4版,简称IPv4,相应的逻辑地址也是按照IPv4的规定进行分配的。我们在这里不详细介绍IP地址的构成方法,有兴趣的读者可以阅读相关资料。

2) 网络连接 。链路层解决的是相邻节点间的通信问题,这个相邻节点有可能就是直接通信的双方,但是在大多数情况下,它们有可能仅仅是整个网络通信中的某个环节。整个网络通信的规划并不是在链路层完成的。建立一个完整的网络通信信道需要在网络层中完成。这一点很好理解,我们打一个电话,常常要跨很多个电话局,长途电话不但要跨本地区的电话局,还要跨不同地区的电话局。

一个连接需要许多相邻的节点,网络层就提供网络连接的建立、维持、释放的方法。

3) 网络连接端点标识符 。此标识符用于标注通信的发起方与接收方的终端,通过与其有关的网络地址唯一地识别网络连接的端点。

4) 网络服务数据块的传递 。在网络的数据传输中,网络无法一次性地把一个完整的数据传送给对方,而是要先把这个数据按一定的规则进行“切块”。而这些切好的数据块是要有编号的,便于使其传送到对方时,仍然按照这样的序列重新组合。如一个Word文件可能比较长,也可能比较短。对于一个很短的文件,可能就是一个切块,而对于较长的文件,一个切块就不行了,而需要有更多的切块。如果没有很好地排序,传送到对方后,就无法进行重组,也就是数据的完整性被破坏了。这些数据块有不同的起始和终止形式,其内容的完整性由网络层保证。

在下三层协议中,我们的任务相当于修路,并且要给路连接的各个地方编制好相应的地址。我们把路修好之后,还要把路连接的各个节点的地址分配好。

(4)传输层

传输层协议规定的是运输货物的交通工具。

传输层是两台计算机经过网络进行数据通信时第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它会提高服务质量,以满足高层的要求;当网络层服务质量较好时,它只需要做很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。传输层也称为运输层。

我们平时打电话时,希望电话从接通直到通话结束,都不会出现通话间断、等待等异常现象。但是,由于我们打电话时,中间要经过若干环节,这些环节一旦有一个出现问题,就会导致上述现象发生。传输层就是要解决这类问题。

传输层还要具备差错恢复、流量控制等功能。传输层面对的数据对象已不是网络地址和主机地址,而是和上一层会话层的界面端口。上述功能的最终目的是为会话提供可靠、无误的数据传输。

传输层的服务一般要经历传输连接建立、数据传送、传输连接释放三个阶段,这样才算完成一个完整的服务过程。数据传送阶段又分为一般数据传送和加速数据传送两种情况。

在通信中,一般有两种基本的方式:一种类似于广播,我把信息发出去,我的任务就完成了,而对方是否在听,我并不关心;另一种则像电话通信那样,我一定要确认通信的是本人,并且对方确实在听,我才能将信息传递给他。对于类似广播的方式,在网络中我们称之为面向非连接的通信;对于类似打电话的方式,我们称之为面向连接的通信。这些都需要在传输层的协议中进行规定。

(5)会话层

如果说从物理层到网络层相当于修路,那么传输层就是在路上跑的车,可是有路、有车不等于就可以完成运输任务。运输任务是要经过发货端到收货端的端到端的服务。

会话层就是要建立这样的端到端的服务连接。在发货端,要在货物包装上写清楚收件人的地址;而在收货端,要在相应的回单上签收,以证明货物已经收到。这就是会话。

“会话”一词来源于通信。打电话、发电报都是早期的通信方式。在打电话时,打电话的发起方肯定要拨对方的电话号码,过程如下:拿起听筒,听到拨号音后,拨对方的电话号码,如果听到了忙音,就放下电话,下一次再拨;如果听到的是回铃音,就知道电话拨通了,对方接起电话,然后就可以进行正常的通话了。正常的通话内容就是我们要传输的数据,而拨号建立通信的过程和通话结束后的拆线过程就是会话。

会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层、表示层、应用层构成开放系统的上三层,面对应用进程提供分布式处理、对话管理、信息表示、恢复最后的差错等功能。

(6)表示层

表示层的作用之一是为异构机器之间的通信提供一种公共语言,以便它们进行互操作。之所以需要这种类型的服务,是因为不同的计算机体系结构使用的数据表示法不同。就如同打电话的双方一个是中国人,使用汉语,另一个是西班牙人,使用西班牙语,双方都听不懂对方的语言。但是,他们都会说英语。那么,他们就得把各自要表达的意思用共同能听懂的语言——英语表达出来。

我们要向另一个人传达相关的信息,就要选择一种合适的表达方式。例如,交警可以用手势来示意让对面的车靠边停下;医生可以用语言与病人进行交流;站台上的人可以用信号灯给火车司机发信号;海面上的船相遇时,可以用旗语相互交流;等等。无论选择何种方式,一是要对方能理解,二是这种表达方式要方便将信息表达给对方。在一些特殊的情况下,还要考虑安全的因素。如果让交警在岗位上向开车的司机喊话,肯定不如打手势方便。

表示层就是要在计算机之间的通信中解决类似的问题,实际上就是为了传输特定的数据而选择一种合适的编码格式,这种编码格式可以是事先规定好的,也可以在特定的环境下,用另外的方式通知对方如何解码。

(7)应用层

应用层向应用程序提供服务,这些服务可以按特性分成组,并称为服务元素。有些服务可为多种应用程序所共同使用,有些则只能为较少的应用程序所使用。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。

OSI七层模型是一个理论模型,实际应用时千变万化,因此主要把它作为分析、评判各种网络技术的依据。对大多数应用来说,只将它的协议族(即协议堆栈)与七层模型做大致的对应,看看实际用到的特定协议是属于七层中某个子层,还是包括上下多层的功能。

2.2.4 TCP/IP

TCP/IP是在Internet上使用的网络协议,目前使用的版本号是第4版,称为IPv4。从2017年12月开始,我国大力推广第6版的协议,称为IPv6。

1.概述

TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通信协议。它是Internet最基本的协议,也是Internet国际联网的基础,由网络层的IP和传输层的TCP组成。TCP/IP定义了电子设备如何连入Internet,以及数据如何在设备之间传输的标准。TCP/IP采用4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地;而IP负责给Internet的每一台联网设备规定一个地址。

2.IP地址

Internet的网络地址是指连入Internet的计算机的地址编号。所以,在Internet中,网络地址唯一地标识一台计算机。

我们已经知道,Internet是由几千万台计算机互相连接而成的。我们要确认网络上的每一台计算机,靠的就是能唯一标识该计算机的网络地址,这个地址就叫作IP(Internet Protocol)地址,即用Internet协议语言表示的地址。

在Internet中,IP(v4)地址是一个32位的二进制地址。为了便于记忆,将它们分为4组,每组8位,由小数点分开,用4字节来表示。而且,用点分开的每个字节的数值范围是0~255,如202.116.0.1,这种书写方法称为点数表示法。

3.端口号

IP地址如同现实社会中的某个建筑的地址,这个建筑里还会有很多房间,如果是一个单位的话,每个房间都会有不同的职能部门,而不同的部门的职能也是不同的,每个房间也都需要一个进出的门。可以认为,这个门牌号对应的是一种职能。

我们还可以举一个例子来理解端口号。老北京是有城墙的,为了让大家进出方便,就开了九个城门,而这些门都有特定用途,如拉煤的车要走阜成门,运粮的车走朝阳门,崇文门是运酒和收税的,宣武门是走囚车的,拉水的车走西直门,东直门则运输杂货,出兵打仗要走德胜门,班师回朝走安定门。不同的门有不同的用途,当然这些用途与当时的地理及人文都有关系。

在网络中,对应到一个IP地址的计算机上也会有不同的应用,而这些应用在网络上对应的则是端口号。对于通用的应用来说,端口号的规定也是要在网络中共同遵守的,如网站的Web服务使用的是80端口,而邮件对应的端口则是23、24端口。通用的应用必须遵守协议中的规定,否则没有办法与大家共享相应的资源。反过来说,如果不想和更多人共享某些应用,则可以自己定义端口号。

对应一个IP地址的端口可以有65 536(即2^16)个。端口是通过端口号来标记的,端口号只能是整数,范围为0~65 535。

通用的端口号是少数的,而多数端口号,特别是数字比较大的端口都可以自行定义。

4.与七层协议模型的对应关系

TCP/IP是四层而不是七层的,如图2-4所示。其应用层包括七层协议模型中的上三层;传输层对应于七层协议模型中的传输层;网络层也对应于七层协议模型中的网络层;而网络访问层则对应于七层协议模型中的下两层。

图2-4 TCP/IP与OSI模型的对应关系

5.IPv6

IPv6是Internet Protocol version 6的缩写,是用于替代现行版本IP协议(IPv4)的下一代IP协议。

与IPv4相比,IPv6具有以下几个优势:

●IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,即有2^32-1(符号^表示升幂)个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。

●IPv6使用更小的路由表。IPv6的地址分配一开始就遵循聚类(aggregation)的原则,这使得路由器能在路由表中用一条记录(entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。

●IPv6增加了增强的组播(multicast)支持以及对流的控制(flow control),这给网络上的多媒体应用带来了长足发展的机会,为控制服务质量(Quality of Service,QoS)提供了良好的网络平台。

●IPv6加入了对自动配置(auto configuration)的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。

●IPv6具有更高的安全性。在使用IPv6的网络中,用户可以对网络层的数据进行加密并对IP报文进行校验,极大增强了网络的安全性。

在最后,有一点要说明:我们还没有介绍移动网络。移动智能终端是把计算机的功能、通信的功能集于一身的移动通信设备,其功能已不限于语音通话。移动网络不仅要遵循一般性的网络协议,还要遵循相关的通信协议。由于篇幅所限,我们对移动网络及相关设备不做详细介绍。 gcFurJ+LfnU6TFJlQrnxTUAXP2JUSP494cJ8f2myeRcAatEfAWF2T/lZLbwJVSAy

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开