计算机网络(第8版,谢希仁)第三章习题解答

以下的习题解答均来自于图1,这里仅仅是为了加强对相关内容的理解,没有其它目的。
 
图1.

3-01 数据链路(即逻辑链路)与链路(即物理链路)有何区别?"链路接通了"与"数据链路接通了"的区别何在?

所谓链路就是从一个节点到相邻节点的一段物理线路,而中间没有任何其他的交换节点。在进行数据通信时,两个计算机之间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分。链路接通了,表示物理链路接通了。

数据链路则是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路,还必须有一些必要的通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用网络适配器(如拨号上网使用拨号适配器,以及通过以太网上网使用局域网适配器)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。

也有人采用另外的术语。这就是把链路分为物理链路和逻辑链路。物理链路就是上面所说的链路,而逻辑链路就是上面的数据链路,是物理链路加上必要的通信协议。

3-02 数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。

链路控制的主要功能有三个: 1) 封装成帧; 2) 透明传输; 3) 差错检测。

数据链路层做成可靠的链路层,就表示从源主机到目的主机的整个通信路径中的每一段链路的通信都是可靠的。这样做的优点是可以使网络中的某个节点及早发现传输中出了差错,因而可以通过数据链路层的重传来纠正这个差错。如果数据链路层不做成可靠的链路层,那么当网络中的某个节点发现收到的帧有差错时(不管数据链路层是否做成可靠的,这个检查差错的步骤总是要有的),就仅仅丢弃有差错的帧,而并不通知发送节点重传出现差错的帧。只有当目的主机的高层协议(例如,运输层协议 TCP) 发现了这个错误时,才通知源主机重传出现差错的数据。但这时已经较迟了,可能要重传较多的数据(包括没有出差错的数据),对网络资源有些浪费。

但是,有时高层协议使用的是不可靠的传输协议 UDP。UDP 并不要求重传有差错的数据。在这种情况下,如果数据链路层做成可靠的链路层,那么在某些情况下并不会带来更多的好处(例如,当高层传送实时音频或视频信号时)。换言之,增加了可靠性,牺牲了实时性,有时反而是不合适的。

3-03 网络适配器的作用是什么?网络适配器工作在哪一层?

适配器又称为网络接口卡或简称为"网卡"。在适配器上面装有处理器和存储器(包括RAM和ROM) 。适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的 I / O I/O I/O总线以并行传输方式进行的。因此,适配器的一个重要功能就是要进行数据串行传输和并行传输的转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储器。若在主板上插入适配器时,还必须把管理该适配器的设备驱动程序安装在计算机的操作系统中。这个驱动程序以后就会告诉适配器,应当从存储器的什么位置把多长的数据块发送到局域网,或者应当在存储器的什么位置把局域网传送过来的数据块存储下来。适配器还要能够实现以太网协议。

适配器接收和发送各种帧时不使用计算机的 CPU 。这时 CPU 可以处理其他任务。当适配器收到有差错的帧时,就把这个帧丢弃而不必通知计算机。当适配器收到正确的帧时,它就使用中断来通知该计算机并交付协议栈中的网络层。当计算机要发送 IP 数据报时,就由协议栈把IP 数据报向下交给适配器,组装成帧后发送到局域网。

3-04 数据链路层的三个基本问题(封装成帧、透明传输和差错检测)为什么都必须加以解决?

封装成帧就是在一段数据的前后分别添加首部和尾部(在首部和尾部里面有许多必要的控制信息),这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。

所谓"透明传输"就是上层交下来的数据,不管是什么形式的比特组合,都必须能够正确传送。由于帧的开始和结束标记使用专门指明的控制字符,因此,所传输的数据中的任何比特组合一定不允许和用作帧定界的控制字符的比特编码一样,否则就会出现帧定界的错误。数据链路层不应当对要传送的数据提出限制,即不应当规定某种形式的比特组合不能够传送。

如果数据链路层没有差错检测,那么当目的主机收到其他主机发送来的数据时,在交给高层后,如果应用程序要求收到的数据必须正确无误,那么目的主机的高层软件可以对收到的数据进行差错检测。如果发现数据中有差错,就可以请求源主机重传这些数据。这样做就可以达到正确接收数据的目的。但这种工作方式有一个很大的缺点,就是一些在传输过程中出现了错误的数据(请注意,这些已经是没有用处的数据)还会继续在网络中传送,这样就浪费了网络的资源。例如,源主机到目的主机的路径中共有 20 个节点。在传送数据时,第一个节点就检测出了差错。如果数据链路层有差错检测的功能,就可以把这个有差错的帧丢弃,以后就不再传送了。否则这个没有用处的帧还要在网络上继续传送,还要陆续通过后面的 19 个节点,这就造成了网络资源的浪费。
3-05 如果在数据链路层不进行封装成帧,会发生什么问题?

如果在数据链路层不进行封装成帧,那么数据链路层在收到一些数据时,就无法知道对方传送的数据中哪些是数据,哪些是控制信息,甚至数据中有没有差错也不清楚(因为无法进行差错检测)。数据链路层也无法知道数据传送结束了没有,因此不知道应当在什么时候把收到的数据交给上一层。

3-06 PPP 协议的主要特点是什么?为什么 PPP 不使用帧的编号? PPP 适用于什么情况?为什么 PPP 协议不能使数据链路层实现可靠传输?

PPP 协议具有以下特点。

  1. 简单: PPP 协议很简单。接收方每收到一个帧,就进行 CRC 检验。如 CRC 检验正确,就收下这个帧;反之,就丢弃这个帧,其他什么也不做。
  2. 封装成帧: PPP 协议规定了特殊的字符作为帧定界符,以便使接收端能从收到的比特流中准确地找出帧的开始和结束位置。
  3. 透明性: PPP 协议能够保证数据传输的透明性。如果数据中碰巧出现了和帧定界符一样的比特组合, PPP 规定了一些措施来解决这个问题
  4. 支持多种网络层协议: PPP 协议支持多种网络层协议(如 IP和IPX 等)在同一条物理链路上的运行。当点对点链路所连接的是局域网或路由器时, PPP 协议必须同时支持在链路连接的局域网或路由器上运行的各种网络层协议。
  5. 支持多种类型链路: PPP 能够在多种类型的链路上运行。例如,串行的(一次只发送一个比特)或并行的(一次并行地发送多个比特),同步的或异步的,低速的或高速的,电的或光的,交换的(动态的)或非交换的(静态的)点对点链路。
    PPP 不使用帧的编号,因为帧的编号是为了出错时可以有效地重传,而 PPP 并不需要实现可靠传输。
    PPP 适用于线路质量不太差的情况。如果通信线路质量太差,传输就会频频出错。但 PPP又没有编号和确认机制,这样就必须靠上层的协议(有编号和重传机制)才能保证数据传输正确无误。这样就会使数据的传输效率降低。

3-07 3-08 可以参考CRC原理

采用 CRC 检验后,数据链路层的传输并非变成了可靠的传输。当接收方进行 CRC 检验时,如果发现有差错,就简单地丢弃这个帧。数据链路层并不能保证接收方接收到的和发送方发送的完全一样。

3-09 一个 PPP 帧的数据部分(用十六进制写出)是 7 D 5 E F E 27 7 D 5 D 7 D 5 D 65 7 D 5 E 7D\quad 5E\quad FE\quad 27\quad 7D\quad 5D\quad 7D\quad 5D\quad 65\quad 7D\quad 5E 7D5EFE277D5D7D5D657D5E

试问真正的数据是什么(用十六进制写出) ?

把由转义符 7 D 7D 7D 开始的2字节序列用下画线标出:
7 D 5 E ‾ \underline{7D5E} 7D5E F E 27 FE27 FE27 7 D 5 D ‾ \underline{7D5D} 7D5D 7 D 5 D ‾ \underline{7D5D} 7D5D 65 65 65 7 D 5 E ‾ \underline{7D5E} 7D5E
7 D 5 E ‾ \underline{7D5E} 7D5E 应当还原成为 7 E 7E 7E
7 D 5 D ‾ \underline{7D5D} 7D5D 应当还原成为 7 D 7D 7D

因此,真正的数据部分是: 7 E F E 27 7 D 7 D 65 7 E 7E\quad FE\quad 27\quad 7D\quad 7D\quad 65\quad 7E 7EFE277D7D657E

3-10 PPP 协议使用同步传输技术传送比特串 0110111111111100 。试问经过零比特填充后变成怎样的比特串?若接收端收到的 PPP 帧的数据部分是 0001110111110111110110,试问删除发送端加入的零比特后会变成怎样的比特串?

第一个比特串 0110111111111100:零比特填充就是在一连 5个1之后必须插入一个0。经过零比特填充后变成 011011111 0 ‾ \underline{0} 0 11111 0 ‾ \underline{0} 0 00 (加下画线的0是填充的)。另一个比特串0001110111110111110110:删除发送端加入的零比特,就是把一连5个1后面的0删除。因此,删除发送端加入的零比特后就得出: 000111011111-11111-110 (连字符表示删除了 0)。

3-11 试分别讨论以下各种情况在什么条件下是透明传输,在什么条件下不是透明传输。(提示:请弄清什么是"透明传输",然后考虑能否满足其条件。)

  1. 普通的电话通信。
  2. 互联网提供的电子邮件服务。

两种情况分析如下。

  1. 由于电话系统的带宽有限,而且还有失真,因此电话机两端的输入声波和输出声波是有差异的。从"传送声波"这个意义上讲,普通的电话通信并不是透明传输。但从"听懂说话的意思"来讲,则基本上是透明传输。但有时个别语音也会听错,如单个数字 在电话中区别甚小。如果通话的一方说 "1 ",而另一方听成是 "7 ",那么这就不能算是透明传输。

  2. 一般说来,电子邮件是透明传输。但有时不是。因为国外有些邮件服务器为了防止垃圾邮件,将来自某些域名(如.cn) 的邮件一律阻拦掉。这就不是透明传输。有些邮件的附件在收件人的电脑上打不开。这也不是透明传输。

3-12 PPP 协议的工作状态有哪几种?当用户要使用 PPP 协议和 ISP 建立连接进行通信时,需要建立哪几种连接?每一种连接解决什么问题?

PPP 协议的工作状态有六种,这几个状态图之间的关系如图2所示。
 
图2.

当用户要使用 PPP 协议和 ISP 建立连接进行通信时,需要建立两种连接。

第一种连接是物理层连接,见图2 中从"链路静止"到"链路建立"的这一过程。我们知道,只有建立了物理层连接(即物理层链路),上面的数据链路层连接才能建立。

第二种连接是数据链路层连接,即建立 LCP 链路。这时,用户 PC 向ISP 发送一系列的LCP 分组(封装成多个 PPP 帧),以便建立 LCP 连接。这时 LCP 开始协商一些配置选项, LCP配置选项包括链路上的最大帧长、所使用的鉴别协议的规约(如果有的话),以及不使用 PPP帧中的地址和控制字段(因为这两个字段的值是固定的,没有任何信息量,可以在 PPP 帧的首部中省略)。协商结束后双方就建立了 LCP 链路,接着就进入"鉴别"状态,发起通信的一方发送身份标识符和口令(系统可允许用户重试若干次)。若鉴别成功,则进入"网络层协议"状态。在"网络层协议"状态, PPP 链路两端的网络控制协议 NCP 根据网络层的不同协议互相交换网络层特定的网络控制分组。 PPP 协议两端的网络层可以运行不同的网络层协议,但仍然可使用同一个 PPP 协议进行通信。如果在 PPP 链路上运行的是 IP 协议,则对 PPP 链路的每一端配置 IP 协议模块(如分配 IP 地址)时,就要使用 NCP 中支持 IP 的协议一IP 控制协议IPCP。IPCP 分组也封装成 PPP 帧,在 PPP 链路上传送。在低速链路上运行时,双方还可以协商使用压缩的 TCP和IP 首部,以减少在链路上发送的比特数。当网络层配置完毕后,链路就进入可进行数据通信的"链路打开"状态。链路的两个 PPP端点可以彼此向对方发送分组。

3-13 局域网的主要特点是什么?为什么局域网采用广播通信方式而广域网不采用呢?

局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。局域网刚刚出现时,比广域网具有更高的数据率、更低的时延和更小的误码率。但随着光纤技术在广域网中的普遍使用,现在广域网也具有很高的数据率和很低的误码率。局域网的地理范围较小,且为一个单位所拥有,采用广播通信方式十分简单方便。但广域网的地理范围很大,如果采用广播通信方式势必造成通信资源的极大浪费,因此广域网不采用广播通信方式。

3-14 常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以太网选择总线拓扑结构而不使用星形拓扑结构,但现在却改为使用星形拓扑结构呢?

最初局域网的网络拓扑有星形网、环形网(最典型的就是令牌环形网)和总线网。但现在最流行的是星形网,其他两种已很少见了。在局域网发展的早期,人们都认为有源器件比较容易出故障,因而无源的总线结构一定会更加可靠。星形拓扑结构的中心使用了有源器件,人们就认为这比较容易出故障,而要使这个有源器件少出故障,必须使用非常昂贵的有源器件。然而实践证明,连接有大量站点的总线型以太网,由于接插件的接口较多,反而很容易出现故障。现在使用专用的 ASIC 芯片可以把星形结构的集线器做得非常可靠,因此现在的以太网一般都使用星形结构的拓扑。

3-15 什么叫作传统以太网?以太网有哪两个主要标准?

传统以太网就是最早流行的 10 Mbit/s 速率的以太网。以太网有两个标准,即 DIX Ethernet V2 标准和 IEEE 802.3 标准。1980 年9月, DEC 公司、英特尔(Intel) 公司和施乐公司 (Xerox)联合提出了 10 Mbit/s 以太网规约的第一个版本 D I X V 1 DIX\quad V1 DIXV1(DIX 是这三个公司名称的缩写)。 1982 年又修改为第二版规约(实际上也就是最后的版本),即 DIX Ethernet V2, 它成为世界上第一个局域网产品的规约。符合这个标准的局域网称为以太网。

在此基础上, IEEE 802 委员会的 802.3 工作组于 1983 年制定了第一个 IEEE 的局域网标准IEEE 802.3 (这个标准更准确的名字是 I E E E 802.3 C S M / C D IEEE\quad 802.3\quad CSM/CD IEEE802.3CSM/CD) ,数据率为 10 Mbit/s。802.3局域网对以太网标准中的帧格式做了很小的一点改动,但允许基于这两种标准的硬件在同一个局域网上互操作。符合这个标准的局域网称为 802.3 局域网。

DIX Ethernet V2 标准与 IEEE 802.3 标准只有很小的差别,因此很多人也常把 802.3 局域网称为"以太网"或"基于 DIX Ethernet 技术的类以太网(Ethernet like) 的系统"。

3-16 数据率为 10 Mbit/s 的以太网在物理媒体上的码元传输速率(即码元/秒)是多少?

以太网发送的数据都使用曼彻斯特编码的信号(如图 3所示)。从图 3可以看出,数据率为 10 Mbit/s 的以太网就表明,在以太网适配器中,在进行曼彻斯特编码之前,基带信号每秒发送 10 × 1 0 6 10\times 10^6 10×106个码元。但是经过曼彻斯特编码之后,原来的信号源的每一个码元都变成了两个码元。因此,最后经过网络适配器发送到线路上的码元速率是每秒 20 × 1 0 6 20\times 10^6 20×106个码元,即速率是每秒 20 兆码元。请注意,也有的曼彻斯特编码出现电平转换的规定正好与图 3 所示的相反,也就是说, 1对应于曼彻斯特编码的负跳变,而0对应千曼彻斯特编码的正跳变。
 
图3.

3-17 为什么 LLC 子层的标准己制定出来了但现在却很少使用?

当IEEE在1983 年制定 802.3 标准时,已经流行了几种不同的局域网。因此 802委员会决定把局域网的数据链路层协议再划分为两个子层,一个是媒体接入控制 MAC 子层,另一个是与具体的媒体无关的逻辑链路控制 LLC 子层。然而到现在,过去曾流行过的令牌环形网、令牌总线局域网以及光纤分布式数据接口 FDDI 局域网,都已经在市场上消失了。因此,在现在只剩下一种局域网(以太网)的情况下, LLC 子层显然没有存在的价值了。现在 IP据报都是直接放入到以太网中作为以太网的数据部分的。

3-18 试说明 10 B A S E − T 10BASE-T 10BASE−T中的 "10" "BASE"和 "T" 所代表的意思。

"10" 代表这种以太网具有 10 Mbit/s 的数据率, BASE 表示连接线上的信号是基带信号, 代表双绞线(Twisted-pair)。

3-19 以太网使用的 CSMA/CD 协议是以争用方式接入到共享信道的,这与传统的时分复用 TDM 相比有何优缺点?

应当说, CSMA/CD 协议与传统的时分复用 TDM 各有优缺点。网络上的负荷较轻时, CSMA/CD 协议很灵活,哪个站想发送就可以发送,而且发生碰撞的概率很小。如使用时分复用 TDM, 效率就比较低。当很多站没有信息要发送时,分配到的时隙也浪费了。但网络负荷很重时, CSMA/CD 协议引起的碰撞很多,重传经常发生,因而效率大大降低。这时, TDM 的效率就很高。这好比在一个城市中的交叉路口的红绿灯系统。当车辆很少时,红绿灯可能会产生一些不必要的红灯等待。但车辆的流量很大时,使用红绿灯系统就是非常必要的,可以使车辆的通行有条不紊。

3-20 假定 1km 长的 CSMA/CD 网络的数据率为1 Gbit/s 。设信号在网络上的传播速率为200000 km/s。求能够使用此协议的最短帧长。

1km 长的 CSMA/CD 网络的端到端传播时延 τ = ( 1 k m ) / ( 200000 k m / s ) = 5 µ s , 2 τ = 10 µ s , \tau= (1 km)/ (200000 km/s) = 5 µs,2\tau=10 µs, τ=(1km)/(200000km/s)=5µs,2τ=10µs,,在此时间内要发送 1 G b i t / s × 10 µ s = 10000 b i t 1 Gbit/s \times 10 µs= 10000 bit 1Gbit/s×10µs=10000bit ,只有经过这样一段时间后,发送端才能收到碰撞的信息(如果发生碰撞的话),也才能检测到碰撞的发生。因此,最短帧长为 10000 bit, 1250 字节。

3-21 什么叫作比特时间?使用这种时间单位有什么好处? 100 比特时间是多少微秒?

比特时间就是发送 1比特所需的时间,而不管数据率是多少。需要注意的是,发送比特的时间长短显然与数据率密切相关。采用比特时间的好处是方便。如果不采用比特时间,那么当我们讨论某个站发送数据时,若所发送的数据共有 6400 比特,那么发送这 6400 比特所需的时间就是 6400 除以发送速率。

例如,若发送速率是 10 Mbit/s, 则发送这 6400 比特所需的时间是:

  • 6400 / 10000000 × 1 0 6 u s = 640 u s 6400/10000000\times 10^6 us = 640 us 6400/10000000×106us=640us

但如果以"比特时间"为单位,那么不管发送速率是多少,发送 6400 比特所需的时间一定是 6400 比特时间。这显然要方便得多。要把"比特时间"换算成"秒"或"微秒",就必须先知道数据率是多少。因此,要回答100 比特时间是多少微秒?这样的问题,不给出数据率是无法回答的。

3-22 假定在使用 CSMA/CD 协议的 10 Mbit/s 以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数 = 100 。试问这个站需要等待多长时间后才能再次发送数据?如果是 100 Mbit/s 的以太网呢?

对于 10 Mbit/s 的以太网,争用期是 512 比特时间。现在 r= 100, 因此退避时间是51200 比特时间。这个站需要等待的时间是 51200 / 10 = 5120 µs = 5.12 ms。对于 100 Mbit/s 的以太网,争用期仍然是 512 比特时间,退避时间是 51200 比特时间。因此,这个站需要等待的时间是 51200 I 100 = 512 µs。

3-23 教材上的公式(3-3) 表示,以太网的极限信道利用率与连接在以太网上的站点数无关。能否由此推论出:以太网的利用率也与连接在以太网上的站点数无关?请说明你的理由。

以太网的利用率应当与连接在以太网上的站点数有关。我们知道,以太网各站发送数据的时刻应当是随机的。但公式(3-3) 表述的以太网的极限信道利用率基于这样的假定:这个以太网使用了特殊的调度方法,一个站发送完数据后,另一个站就接着发送。结果是各站点的发送都不会发生碰撞。这样就使以太网的利用率达到最大值。但我们注意到,这已经不再是采CSMA/CD 协议的以太网了。

3-24 假定站点A和B在同一个10 Mbit/s 以太网网段上。这两个站点之间的传播时延为225 比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到和 B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞? (提示:在计算时应当考虑到每一个以太网帧在发送到信道上时,在 MAC 帧前面还要增加若干字节的前同步码和帧定界符。)

设在t =0时A 开始发送。 A发送的最短帧长是 64 字节= 512 bit 。实际上在信道上传送的还有8字节(= 64 bit) 的前同步码和帧开始定界符,因此,如果不发生碰撞,那么t= 512 + 64 = 576 比特时间时,A应当发送完毕。

B越晚发送就越容易和A发送的帧发生碰撞。在 t=225 比特时间后,B就收到了A发送的比特。因此,现在假定B在 t=224 比特时间时发送了数据,看是否发送碰撞。在t=225 比特时间时,B 检测出碰撞(如图4所示)。因此,在 t=225 比特时间以后,B 就终止发送数据了。接着,B 发送 48 bit 的干扰信号。B在t= 224 比特时间时发送的第一个比特将在 t= 224 + 225 = 449 比特时间时到达 A,因此,在t = 224 + 225 = 449 比特时间时,A检测到碰撞,终止发送数据,并发送 48 bit 的干扰信号。

A在检测到和B发送的数据发生碰撞之前显然还没有发送完毕(因为 449 小于上面算出的576) 。因此,A在检测到和B发生碰撞之前,A不能把自己的数据发送完毕。但如果A在发送完毕之前(即在 = 512 + 64 = 576 比特时间之前)没有检测到碰撞,那么就能表明:这个以太网上没有其他站点在发送数据,当然A所发送的帧不会和其他站点以后再发送的数据发生碰撞。
 
图4.

3-25 上题中的站点A和B在t =0 时同时发送了数据帧。当 t= 225 比特时间时,A和B同时检测到发生了碰撞,并且在 t

= 225 + 48 = 273 比特时间时完成了干扰信号的传输。 A和B在CSMA/CD 算法中选择不同的 r值退避。假定A和B选择的随机数分别是 r A = 0 , r B = 1 r_A=0,r_B=1 rA=0,rB=1, 试问A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达 B?A 重传的数据会不会和B重传的数据再次发生碰撞? B会不会在预定的重传时间停止发送数据?

图5 给出了在几个主要时间所发生的事件。所有的时间单位都是"比特时间"。

  • t=0 时, A和B开始发送数据。
  • t= 225 比特时间时, A和B都检测到碰撞。
  • t= 273 比特时间时, A和B结束干扰信号的传输。 都马上执行退避算法。
  • 因为 r A = 0 , r B = 1 r_A=0,r_B=1 rA=0,rB=1,所以 A可以立即发送数据。但根据协议,发送前必须检测信道,遇到忙则必须等待,要等到信道空闲才能发送。而B 要推迟 512 比特时间后才检测信道。也就是说,A在 t= 273 比特时间时就开始检测信道,但B要等到 t= 785 比特时间时才检测信道。
  • 当t = 273 + 225 = 498 比特时间时,B 的干扰信号中的最后一个比特到达 A; A检测到信道空闲。但 A还不能马上发送数据,必须等待 96 比特时间后才能发送数据(我们应当注意到,以太网的帧间最小间隔就是 9.6 µs, 相当于 96 比特时间)。这样,当 t= 498 + 96 = 594 比特时间时,A开始发送数据。
  • 再看一下B什么时候可以发送数据。当 t= 273 + 512 = 785 比特时间 (B从273 比特时间算起,经过1个争用期 512 比特时间)时,再次检测信道。如空闲,则 B在96 比特时间后,即在 t= 785 + 96 = 881 比特时间时发送数据。请注意,只有从 785 比特时间一直到 881 比特时一直检测到信道是空闲的, B才能在 881 比特时间时发送数据。
  • 当t= 594 + 225 = 819 比特时间时, A在594 比特时间时发送的数据到达B。可见从 785 比特时间算起,才经过了 34 比特时间,B 就检测到信道忙,因此B在预定的881 比特时间时不能发送数据。


图5.

3-26 以太网上只有两个站,它们同时发送数据,产生了碰撞。于是按截断二进制指数退避算法进行重传。重传次数记为 i, i = 1, 2, 3, ...。试计算第1次重传失败的概率、第2次重传失败的概率、第3次重传失败的概率,以及一个站成功发送数

据之前的平均重传次数 I I I。

没有整明白,自己看看。

3-27 10 个站连接到以太网上。试计算以下三种情况下每一个站所能得到的带宽。

  1. 10 个站都连接到一个 10 Mbit/s 以太网集线器。
  2. 10 个站都连接到一个 100 Mbit/s 以太网集线器。
  3. 10 个站都连接到一个 10 Mbit/s 以太网交换机。
    每一个站所能得到的带宽如下:
  4. 假定以太网的利用率基本上达到 100% ,那么 10 个站共享 10 Mbit/s, 即平均每一个站可得到1 Mbit/s 的带宽。
  5. 假定以太网的利用率基本上达到 100% ,那么 10 个站共享 100 Mbit/s, 即平均每一个站可得到 10 Mbit/s 的带宽。
  6. 每一个站独占交换机的一个接口的带宽 10 Mbit/s 。这里我们假定这个交换机的总带宽不小于 100 Mbit/s。

3-28 10 Mbit/s 以太网升级到 100 Mbit/s, 1 Gbit/s 和10 Gbit/s 时,都需要解决哪些技术问题?为什么以太网能够在发展的过程中淘汰掉自己的竞争对手,并使自己的应用范围从局域网一直扩展到城域网和广域网?

IEEE 802.3u的10 Mbit/s 以太网标准未包括对同轴电缆的支持。这意味着想从 10 Mbit/s细缆以太网升级到 100 Mbit/s 快速以太网的用户必须重新布线。现在 10 Mbit/s 以太网和/100Mbit/s 以太网多使用无屏蔽双绞线布线。

在100 Mbit/s 以太网中,保持最短帧长不变,把 一个网段的最大电缆长度减小到 100m 。但

最短帧长仍为 64 字节,即 512 比特。因此 100 Mbit/s 以太网的争用期是 12 µs, 帧间最小间隔现在是 96 µs, 都是 10 Mbit/s 以太网的 1/10。

100 Mbit/s 以太网的新标准还规定了以下三种不同的物理层标准

  1. 100BASE-TX: 使用两对 UTP5类线或屏蔽双绞线 STP, 其中一对用于发送,另一对用于接收。
  2. 100BASE-FX: 使用两根光纤,其中1根用于发送,另一根用于接收。

在标准中把上述的 100BASE-TX和100BASE-FX 合在一起称为 100BASE-X

  1. 100BASE-T4: 使用 4对UTP3 类线或5类线,这是为已使用 UTP3 类线的大量用户而设计的。它使用3对线同时传送数据(每一对线以 33 1 3 33\frac{1}{3} 3331Mbit/s 的速率传送数据),用1对线作为碰撞检测的接收信道

吉比特以太网( 1 Gbit/s 的速率)的标准是 IEEE 802.3z, 它有以下几个特点:

  1. 允许在 1Gbit/s 以全双工和半双工两种方式工作
  2. 使用 IEEE 802.3 协议规定的帧格式
  3. 在半双工方式下使用 CSMA/CD 协议( 全双工方式不需要使用 CSMA/CD 协议)。
  4. 与10BASE-T和100BASE-T 技术向后兼容

吉比特以太网可用作现有网络的主干网,也可在高带宽(高速率)的应用场合中(如医疗图像或 CAD 的图形等)用来连接工作站和服务器。

吉比特以太网的物理层使用两种成熟的技术:一种来自现有的以太网,另一种则是 ANSI制定的光纤通道 FC(Fibre Channel) 。采用成熟技术能大大缩短吉比特以太网标准的开发时间。

吉比特以太网的物理层有以下两个标准:

  1. 1000 BASE-X (IEEE 802.3z 标准)。
  2. 1000BASE-T (802.3ab 标准)。

吉比特以太网工作在半双工方式时,必须进行碰撞检测。吉比特以太网仍然保持一个网段的最大长度为 100 m, 但采用了"载波延伸"的办法,使最短帧长仍为 64 字节(这样可以保持兼容性),同时将争用期增大为512字节。凡发送的 MAC 帧长不足 512 字节,就用一些特殊字符填充在帧的后面,使 MAC 帧的发送长度增加到 512 字节,这对有效载荷并无影响。接收端在收到以太网的 MAC 帧后,要把所填充的特殊字符删除后再向高层交付。当原来仅 64

字节长的短帧填充到 512 字节时,所填充的 448 字节就造成了很大的开销。

吉比特以太网还增加了分组突发的功能。当很多短帧要发送时,第1个短帧要采用上面所说的载波延伸的方法进行填充。但随后的一些短帧则可一个接一个地发送,它们之间只需留有必要的帧间最小间隔即可。这样就形成一串分组的突发,直到达到 1500 字节或稍多一些为止。当吉比特以太网工作在全双工方式时,不使用载波延伸和分组突发。

10 吉比特以太网简称为10GbE, 其正式标准是 IEEE 802.3ae, 它的帧格式不变。10GbE还保留了 802.3 标准规定的以太网最小和最大帧长 这就使用户在对其已有的以太网进行升级时,仍能和较低速率的以太网很方便地通信.

由于数据率很高,10GbE 不再使用铜线而只使用光纤作为传输媒体。它使用长距离(超40km) 的光收发器与单模光纤接口,以便能够工作在广域网和城域网的范围。10GbE 也可使用较便宜的多模光纤,但传输距离为 65-300m

10GbE 只工作在全双工方式,因此不存在争用问题,也不使用 CSMA/CD 协议.这就使得10GE 的传输距离不再受进行碰撞检测的限制而大大提高了。

10GbE 的物理层则是新开发的。10GbE 有以下两种不同的物理层:

  1. 局域网物理层 LAN PHY 。局域网物理层的数据率是 10.000 Gbit/s (这表示是精确的10 Gbit/s) ,因此i一个10GbE 交换机正好可以支持 10 个吉比特以太网接口。
  2. 可选的广域网物理层 WAN PHY。为了使 10GbE 的帧能够插入到 OC-192/STM-64的有效载荷中,这种广域网物理层的数据率为 9.95328 Gbit/s

以太网能从 10 Mbit/s 演进到 10 Gbit/s, 是因为以太网具有以下的一些优点:

  1. 可扩展(从 10 Mbit/s 10 Gbit/s)
  2. 灵活(多种媒体、全/半双工、共享/交换)。
  3. 易千安装。
  4. 稳健性好

3-29 以太网交换机有何特点?用它怎样组成虚拟局域网?

以太网交换机实质上就是一个多接口的网桥,它与工作在物理层的转发器和集线器有很大的差别。此外,以太网交换机的每个接口都直接与一个主机或集线器相连,并且一般都工作在全双工方式。当主机需要通信时,交换机能同时连通许多对接口,使每一对相互通信的主机都能像独占传输媒体那样,无碰撞地传输数据。以太网交换机和透明网桥一样,也是一种即插即用设备,其内部的帧转发表也是通过自学习算法自动地逐渐建立起来的。当两个站通信完成后就断开连接。以太网交换机由千使用了专用的交换结构芯片,交换速率较高。

对于普通 10Mbit/s 的共享式以太网,若共有N个用户,则每个用户占有的平均带宽只有总带宽(10Mbit/s) 的N分之一。在使用以太网交换机时,虽然每个接口到主机的带宽还是 10Mbit/s, 但由于一个用户在通信时独占而不是和其他网络用户共享传输媒体的带宽,因此拥有对接口的交换机的总容量为 Nx 10 Mbit/s 。这正是交换机的最大优点。

以太网交换机一般都具有多种速率的接口,例如具有 10 Mbit/s, 100Mbit/s和1Gbit/s接口的各种组合,大大方便了各种不同情况的用户。

有一些交换机采用直通的交换方式,可以在接收数据帧的同时就立即按数据帧的目的MAC 地址决定该帧的转发接口,因而提高了帧的转发速度.

利用以太网交换机可以很方便地实现虚拟局域网 VLAN 。虚拟局域网其实只是局域网给用户提供的 一种服务,并不是一种新型局域网。

虚拟局域网 VLAN 是由一些局域网网段构成的、与物理位置无关的逻辑组,而这些网段有某些共同的需求。每一个虚拟局域网的帧都有一个明确的标识符,指明发送这个帧的工作站属于哪一个虚拟局域网 。1988年 IEEE 批准了 802.3ac 标准,这个标准定义了以太网的帧格式的扩展,以便支待虚拟局域网。虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为 VLAN 标记,用来指明发送该帧的工作站属于哪一个虚拟局域网。如果还使用原来的以太网帧格式,显然就无法划分虚拟局域网。

在一个用多个交换机连接起来的较大的局域网中,可以灵活地划分虚拟局域网,不受地理位置的限制。一个虚拟局域网的范围可以跨越不同的交换机。当然,所使用的交换机必须能够识别和处理虚拟局域网。在图6 中,在另外一层楼的交换机#2连接了5台计算机,并与交换机#1相连接。交换机#2中的两台计算机加入到 VLAN-10 ,而另外3台加入到 VLAN-20.这两个虚拟局域网虽然都跨越了两个交换机,但各自是一个广播域。

连接两个交换机端口之间的链路称为汇聚链路(trunk link) 或干线链路。现在假定A向B发送帧。由于交换机#1 能够根据帧首部的目的 MAC 地址,识别B属于本交换机管理的 VLAN-10, 因此就像在普通以太网中那样直接进行帧的转发,不需要使用VLAN 标签。这是最简单的情况。

现在假定A向E发送帧。交换机#1查到E并没有连接到本交换机,因此必须从汇聚链路把帧转发到交换机#2, 但在转发之前,要插入 VLAN 标签。不插入 VLAN 标签,交换机#2就不知道应把帧转发给哪一个 VLAN 。因此,在汇聚链路传送的帧是 802.1Q 帧。交换机#2在向E转发帧之前,要拿走已插入的 VLAN 标签,因此E收到的帧就是A发送的标准以太网帧,而不是 802.1Q 帧。
 
图6.

3-30 在图7 中,某学院的以太网交换机有三个接口分别和学院三个系的以太网相连,另外三个接口分别和电子邮件服务器、万维网服务器以及一个连接互联网的路由器相连。图中的 A,B 都是 100 Mbit/s 以太网交换机。假定所有链路的速率都是 100 Mbit/s, 并且图中的9台主机中的任何一台都可以和任何一台服务器或主机通信。试计算这9台主机和两台服务器产生的总的吞吐量的最大值。

这里的9台主机和两台服务器都工作时的总吞吐量是 900 + 200 = 1100 Mbit/s 。三个系各有一台主机分别访问两台服务器和通过路由器上网。其他主机在系内通信。
 
图7.

3-31 假定在图7中的所有链路的速率仍然为 100 Mbit/s ,但三个系的以太网交换机都换成 100 Mbit/s 的集线器。试计算这9台主机和两台服务器产生的总的吞吐量的最大值。

这里的每个系是一个碰撞域其最大吞吐量为 100 Mbit/s 。加上每台服务器 100Mbit/s

的吞吐量,得出总的最大吞吐量为 500 Mbit/s

3-32 假定在图7中的所有链路的速率仍然为 100 Mbit/s, 但所有的以太网交换机都换成 100 Mbit/s 的集线器。试计算这 9台主机和两台服务器产生的总的吞吐的最大值。

现在整个系统是一个碰撞域,因此最大吞吐量为 100 Mbit/s。

3-33 在图8中,以太网交换机有6个接口,分别接到5台主机和一个路由器。在下面表中的"动作"一栏中,表示先后发送了4个帧。假定在开始时,以太网交换机的交换表是空的。试把该表中其他的栏目都填写完。

动作 交换表的状态 向那些接口转发帧 说明
A发送帧给D 写入(A,1) 所有接口 开始时交换表是空的,交换机不知道应该向何接口转发帧
D发送帧给A 写入(D,4) A 交换机已经知道A连接在接口1
E发送帧给A 写入(E,5) A 交换机已经知道A连接在接口1
A发送帧给E 更新(A,1)的有效时间 E 交换机已经知道E连接在接口5


图8.

/********************************************************************************************/

下面接下来是习题解答里面额外的习题。
3-1 旧版《计算机网络》认为:数据链路层的任务是在两个相邻节点间的线路上无差错地传送以帧(frame)为单位的数据。数据链路层可以把一条有可能出差错的实际链路转变成让网络层向下看起来好像是一条不出差错的链路。但新版《计算机网络》(第 4版到第 8版)中对数据链路层的提法改变了:数据链路层的传输不能让网络层向下看起来好像是一条不出差错的链路。到底哪一种说法是正确的?

旧版《计算机网络》对数据链路层的阐述是基于 OSI 体系结构的。 OSI 体系结构的数据链路层采用的是面向连接的 HDLC 协议,它提供可靠传输的服务。因此,旧版《计算机网络》的提法是与 OSI 体系结构一致的。新版《计算机网络》更加突出了 TCP/IP 体系结构。现在互联网的数据链路层协议使用得最多的就是 PPP 协议和 CSMA/CD 协议(这种情况就是使用拨号入网或使用以太网入网)。这两种协议都不使用序号和确认机制,因此也就不能"让网络层向下看起来好像是一条不出差错的链路"。 所以,新版《计算机网络》的提法符合当前计算机网络的现状。当接收端通过差错检测发现帧在传输中出了差错时,或者默默丢弃(silently discard) 而不进行任何其他处理(当使PPP 协议或 CSMA/CD 协议时),这是现在的大多数情况;或者使用重传机制要求发送方重传(当使用 HDLC 协议时),但这种情况现在很少使用。如果需要可靠传输,那么就由高层的 TCP 协议负责重传,但数据链路层并不知道这是重传的帧。

然而现在情况又出现了重大的变化。这就是由于移动通信的迅速发展,无线信道现在使用得非常多,但无线信道的可靠性又远远不如有线信道,因此在无线信道的链路层,必须使用确认机制。这样,无线信道使用的链路层的传输就变成可靠传输了。教材中第3章的数据链路层仅局限于有线信道。

3-2 当数据链路层使用 PPP 协议或 CSMA/CD 协议时,既然不保证可靠传输,那么为什么要对所传输的帧进行差错检验呢?

当数据链路层使用 PPP 协议或 CSMA/CD 协议时,在数据链路层的接收端对所传输的帧进行差错检验是为了不将已经发现的有差错的帧(不管是什么原因造成的)收下来。如果在接收端不进行差错检测,那么接收端上交给主机的帧就可能包括传输中出了差错的帧,而这样的帧对接收端主机是没有用处的。

换言之,接收端进行差错检测的目的是:"上交主机的帧都是没有传输差错的,有差错的都已经丢弃了 "或者更加严格地说,应当是:"我们以很接近于· 的概率认为,凡是上交主机的帧,都是没有传输差错的。"

3-3 为什么旧版教材在"数据链路层"一章中讲授可靠传输,但新版教材取消了可靠传输的内容?

保证可靠传输的停止等待协议是计算机网络协议的基础内容之一。新版教材只是挪动了可靠传输这部分内容的位置,而不是取消这部分内容。把这部分放在前面的"数据链路层"一章中讲的优点是,可以更早些建立可靠传输的概念

(因为我们是自下而上,先讲数据链路层,后讲运输层),但缺点是实际上的数据链路层现在基本上并不使用可靠传输,因此放在数据链路层中讲可靠传输有些不符合实际。况且,以后到运输层用到可靠传输时,学生可能又遗忘了。把这部分内容放在运输层中讨论的好处是比较符合实际情况,讲完简单的可靠传输的概念后,接着就介绍比较复杂的滑动窗口概念,可以取得更好的效果。这也是作者试图改变一下整个教材结构的一种尝试。在前面的问题 3-1 中已经谈到了目前情况的变化。把可靠传输协议改在第1章中讲授也是一种可行的方法。不过在第8版的教材中,可靠传输协议仍然放在第4章中介绍。

3-4 通过普通的电话用户线拨号上网时(使用调制解调器),试问一对用户线可容许多少个用户同时上网?

这并没有限制。但用户数目越多,每一个用户的上网速率就越低。多个用户共同使用一对电话线拨号上网有时是很有用的。例如,一个办公室内只有一对电话用户线可供拨号上互联网,但办公室内有多人在办公,他们都有自己的 PC, 而且都想同时使用拨号上网。这时可将所有用户的 PC 都用以太网连接起来(当然每一台 PC 都必须安装一个以太网卡)。只有一台PC 要特殊些,即需要同时安装以太网卡和拨号上网卡(或使用外置的调制解调器)。这台特殊的 PC 通常叫作代理服务器,它通过调制解调器用拨号方式与本地ISP 相连。代理服务器必须安装专门的软件(如 Wingate 2.0) ,同时还要完成一些必要的配置,这样就能使连接在以太网上的各 PC 用共享一个调制解调器的方式同时上网了。 ISP 并不知道有多少人共享一个调制解调器。 ISP 只知道现在是这台代理服务器在使用拨号上网。 ISP只需分配一个临时的 IP 地址给此代理服务器暂时使用。

3-5 除了差错检测,面向字符的数据链路层协议还必须解决哪些特殊的问题?

最主要的就是要解决帧定界和透明传输的问题。帧定界就是要使接收端知道每一帧在什么地方开始和结束。面向字符的数据传输就是所传输的数据全都是一个个的字符,例如 ASCII 字符。因此,在每一帧开始和结束的地方,必须有一个特殊的字符来作为标志,如图9所示。
 
图9.

字符 S O H SOH SOH 代表 Start Of Header(首部开始),而 E O T EOT EOT 代表 End Of Transmission (传输结束)。请注意, S O H SOH SOH和 E O T EOT EOT 都是 A S C I I ASCII ASCII 码中的控制字符。 S O H SOH SOH的十六进制编码是 01 ,而 E O T EOT EOT的十六进制编码是 04 。不要误认为 S O H SOH SOH是 "S" "O" "H" 三个字符,也不要误认为 E O T EOT EOT是 "E""O" "T" 三个字符。

解决了帧定界问题后,在接收端就可以确定一个帧的开始和结束位置了,剩下的问题就是透明传输了。透明传输实际上就是随便什么字符都可以传输。但设想一下,我们在帧中传送的字符中出现了一个控制字符 "EOT", 那么接收端收到这样的数据后,就会将原来的 S O H SOH SOH 和数据中的"EOT" 错误地解释为一个帧,这样一来对后面剩下的字符根本就无法解释了(如图10所示)。像这样的传输显然就不是"透明传输",因为当遇到数据中的字符 "EOT" 时就传不过去了,它被接收端解释为控制字符。实际上,此处的字符 "EOT" 并非控制字符而是一般数据。为了解决透明传输问题,就必须设法将数据中可能出现的 "SOH" "EOT" 在接收端不解释为控制字符。方法是:当数据中出现字符 "SOH" 或"EOT" 时,就将其转换为另一个字符,而这个字符是不会被错误解释的。但所有字符都有可能在数据中出现。于是就想出了这样的办法:将数据中出现的字符 "SOH" 转换为 "ESC" "x" 这样两个字符,将数据中出现的字"EOT" 转换为 "ESC" "y" 这样两个字符。而当数据中出现了控制字符 "ESC" 时,就将

其转换为 "ESC" "z" 这样两个字符。这种转换方法能够使接收端将收到的数据正确地还原为

原来的数据。"ESC" 是转义符,它的十六进制编码是 1B。
 
图10.
 
图11.

图10表示在数据中出现了四个控制字符 "ESC""EOT""ESC""SOH"。按以上规则转换后的数据如图11所示。读者可以很容易地看出,在接收端只要按照以上转换规则进行相反的转换,就能够还原出原来的数据(例如遇到 "ESC" "z" 就还原为 "ESC")以上就是实现透明传输的原理。

3-6 为什么计算机进行通信时总是需要发送缓存和接收缓存?

当计算机的两个进程(在同一台机器中或在两个不同的机器中)进行通信时,如果发送进程将数据直接发送给接收进程,那么这两个动作( 一个是发送,另一个是接收)是非常难以协调好的。这是因为计算机的动作很快,如果在某一时刻接收进程开始执行接收的动作,但发送进程的发送动作稍微早了一点或稍微晚了一点(在收发双方事先未进行同步的情况下,发送时刻不可能恰好和接收时刻精确地重合),都会使接收失败。因此,在计算机进程之间的通信过程中,广泛使用缓存。

缓存就是在计算机的存储器中设置的一个临时存放数据的空间。发送进程将欲发送的数据先写入缓存,然后接收进程在合适的时机读出这些数据。缓存有点像邮局在街上设立的邮筒 我们可以在方便时将欲发送的信件丢到邮筒中。邮局的邮递员按照他的计划在适当时候打开邮筒,将大家投入的信件取走,交到邮局,进行下一步处理。

缓存可以很好地解决发送速率和接收速率不一致的矛盾,还可以很方便地进行串并转换,即比特流串行写入并行读出,或并行写入串行读出。缓存也可称为"缓冲"或"缓冲区"。 英文就是 buffer。

3-7 以太网使用载波监听多点接入碰撞检测协议 CSMA/CD 。频分复用 FDM 使用载波。以太网有没有使用频分复用?

在通信领域,在大多数情况下, Carrier 的标准译名是"载波"。但对于以太网,总线上根本没有采用频分复用 FDM。因此也没有什么"载波"。其实英语 Carrier 有多种意思,如"承运器""传导管"或"运载工具"等。因此在以太网中,把 Carrier 译为"载体"或"媒体"可能更加准确些。也就是说, Carrier Sense 更加准确的译名应当是"载体检测 或"媒体检测"。但考虑到"载波"这个译名已经在我国广泛流行了好几十年,本书也就继续使用这个不太准确的译名。

3-8 在以太网中,不同的传输媒体会产生不同的传播时延吗?

是的。在以太网中,不同的传输媒体会产生不同的传播时延 .下表是典型的测量结果。其中c 是光在真空中的传播速度,即 3.0 × 1 0 5 k m / s 3.0\times 10^5km/s 3.0×105km/s

传输媒体 电磁波在该媒体中的传播速度
粗缆( 同轴电缆) 0.77c( 2.33 × 1 0 5 k m / s 2.33\times 10^5km/s 2.33×105km/s)
细缆( 同轴电缆) 0.65c( 1.95 × 1 0 5 k m / s 1.95\times 10^5km/s 1.95×105km/s)
双绞线 0.59c( 1.77 × 1 0 5 k m / s 1.77\times 10^5km/s 1.77×105km/s)
光纤 0.66c( 1.98 × 1 0 5 k m / s 1.98\times 10^5km/s 1.98×105km/s)
AUI电缆 0.65c( 1.95 × 1 0 5 k m / s 1.95\times 10^5km/s 1.95×105km/s)

3-9 在以太网中发生碰撞是否说明这时出现了某种故障?

还不能这样看。以太网中发生碰撞是很正常的现象。发生碰撞只是表明在以太网上同时有两个或更多的站在发送数据。碰撞的结果是这些站所发送的数据都没有用了,都必须进行重传。以太网上发生碰撞的机会是多还是少,与以太网上的通信量强度有很大的关系。这并没有一个绝对的定量的准则,很难说具有多大的碰撞次数就属于坏的以太网。

3-10 从什么地方可以查阅到以太网帧格式中的"类型" 段?它是怎样分配的?

可到下面的 URL 查阅:http://www.iana.org/assignments/ethemet-numbers (这个网址可能已经过期了)。

3-11 是什么原因使以太网有一个最小帧长和最大帧长?

我们知道,在以太网上发送一个帧时,并非全网都能瞬时地检测出这个帧的发送。这是因为电磁波在以太网上的传播速度是有限的。当某个站刚刚发送数据后不久就检测到发生冲突时,就必须丢弃这个受到损伤的帧。这种帧就是因发生碰撞而异常中止的短帧。如果一个站只有非常少的数据要发送,帧就会很短。如果让这种帧在以太网上传送,那么就无法和因发生碰撞而异常中止的短帧相区分。前者是有用的帧,而后者是无用的帧。

设置最小帧长就是为了区分开这两种情况。对于有用的非常短的帧,以太网标准规定要在数据部分进行填充,使其长度达到以太网标准规定的最小帧长的长度。因发生碰撞而异常中止的短帧的长度肯定都小于最小帧长的长度。

如果以太网上偶尔出现噪声,也会形成很短的帧,其长度也小于以太网标准规定的最小帧长的长度。规定了最小帧长就可以把由噪声产生的短帧丢弃。设置最大帧长是为了保证各个站都能公平竞争接入到以太网。因为如果某个站发送特长的数据帧,则其他的站就必须等待很长的时间才能发送数据。

3-12 在双绞线以太网中,其连接导线只需要两对线:一对线用于发送,另一对线用于接收。但现在的标准使用 RJ-45 连接器。这种连接器有8根针脚,一共可连接4对线,这是否有些浪费?是否可以不使用 RJ-45 而使用 RJ-11?

对于10BASE-T 以太网,的确只使用两对线。这样在 RJ-45 连接器中就空出来4根针脚。对千 100BASE-T4 快速以太网,则要用到4对线,即8根针脚都要用到。

顺便指出,采用 RJ-45 而不采用电话线的 RJ-11 也是为了避免将以太网的连接线插头错误地插进电话线的插孔内。另外, RJ-11 只有6根针脚,而 RJ-45有8根针脚。这两种连接器在形状上的区别如图 12所示。可以看出,插头 RJ-45 要比插头 RJ-11 略大一些。
 
图12.

3-13 ,3-143-15 可以参考RJ45

3-16 不用集线器或以太网交换机,能否将两台计算机用带有 RJ-45 插头的5类线电缆直接连接起来?

可以。但应当注意的是,在这种情况下,电缆线两个 RJ-45 插头中的一个与导线的连接方法要改变一下,使得从一台计算机发送出来的信号能够直接进入到另一台计算机的接收针脚。也就是这里RJ45讲到的 c r o s s o v e r crossover crossover线缆。

3-17 使用屏蔽双绞线电缆 STP 安装以太网,是否可获得更好的效果?

是的。但屏蔽双绞线电缆比无屏蔽双绞线电缆贵,在施工安装上难度较大,而且需要提供屏蔽接地,因此使用的插头与 RJ-45 不同,安装也要复杂些。

3-18 如果将已有的 10Mbit/s 以太网升级到 100Mbit/s ,试问原来使用的连接导线是否还能继续使用?

只要原来 10 Mbit/s 以太网使用的是5类线,就可以继续用在 100Mbit/s 中。但一定要注意 RJ-45 连接线的线序必须是符合标准规定的。如果不按照标准线序制作网线,那么在某些情况下(例如网线很短的 10 Mbit/s 以太网),也许还勉强可以工作;但在这种情况下将 10 Mbit/s 以太网升级为 100 Mbit/s 以太网,就很可能无法正常工作。

3-19 使用5类线的10BASE-T 以太网的最大传输距离是 100m 。但听到有人说,他使用10BASE-T 以太网传送数据的距离达到 180m 。这可能吗?

可能。这是因为有许多因素决定以太网的最大传输距离。当一些具体条件(如导线的电阻、实际的信噪比等)发生变化时,以太网的最大传输距离就会变化。

3-20 粗缆以太网有一个单独的收发器。细缆以太网和双绞线以太网有没有收发器?如果有,都在什么地方?

细缆以太网和双绞线以太网都把收发器做在网卡上。

3-21 什么叫作"星形总线(star-shaped bus)" 或"盒中总线(bus-in-a-box)" ?

这都是指使用集线器的双绞线以太网,因为这种以太网在逻辑上和总线以太网一样,都使用 CSMA/CD 协议,而总线是看不见的,因为集线器中的逻辑电路(好像装在一个盒子中)实现了总线的功能。

3-22 以太网的覆盖范围受限的一个原因是:如果站点之间的距离太大,那么由于信号传输时会衰减得很多因而无法对信号进行可靠的接收。试问:如果我们设法提高发送信号的功率,是否就可以增大以太网的通信距离?

不行。能否正确接收信号并非取决于信号的绝对功率大小,而是取决于信噪比。以太网信道中的噪声主要是其他双绞线中的信号通过电磁感应所造成的。如果所有的站都提高信号的发送功率,那么这种噪声功率也随之增大,结果信噪比并未提高,因而并没有降低误码率,所以增大信号的发送功率是不能增大以太网的通信距离的。

3-23 一个大学能否只使用一个很大的局域网,而不使用许多相互连接的较小的局域网?

一般不会使用一个很大的局域网。这是因为使用一个很大的局域网有许多问题:

  1. 一个局域网可能无法覆盖整个大学的地理范围。
  2. 一个大学需要联网的计算机数量可能超过一个局域网所容许接入的计算机的最大数量。
  3. 很大的局域网不便于管理。
  4. 过大的局域网常常会产生"广播风暴",影响局域网的正常工作。

因此,一个大学的校园网通常并不是一个单个的大局域网而是一个互连网,这个互连网是由许多较小的局域网通过一些路由器互连而成的。

3-24 一个 10 Mbit/s 以太网若工作在全双工状态,那么其数据率是发送和接收各5Mbit/s 还是发送和接收各为 10 Mbit/s?

各为 10 Mbit/s。

3-25 1个单个的以太网上所使用的网桥数目有没有上限?

网桥仍然使用 CSMA/CD 协议,因此,从原理上讲,以太网似乎不应当对网桥的数目有什么限制。但是要知道,每一个网桥会引入一帧的时延。因此,以太网上的网桥太多就会影响到以太网的性能。

3-26 当我们在 PC 上插上以太网适配器(网卡)后,是否还必须编制以太网所需的MAC 协议的程序?

不需要。以太网所需的 MAC 协议的程序都已经固化在适配器(网卡)上的 ROM中,而且也无法更改。不过现在所有的 PC (包括笔记本电脑在内)都已经在主板上包含了以太网适配器,因此不用从外部插入以太网适配器(网卡)了。

3-27 使用网络分析软件可以分析出所捕获到的每一个帧的首部中各个字段的值,但是有时却无法找出 LLC 帧首部的各字段的值。这是什么原因?

MAC 帧的长度/类型字段的值大于 Ox0600 (相当于十进制的 1536) 时,长度/类型字段表示类型,而这样的帧就不使用 LLC 帧,当然也就无法得出 LLC 帧首部的各字段的值。例如,在互联网中的 IP 数据报从 TCP/IP 体系中的网络层传送到下面的以太网时,往往直接将 IP 数据报封装到 MAC 帧中,而不使用 LLC 子层。

3-28 整个 IEEE 802 委员会现在一共有多少个工作组?

整个 IEEE 802 委员会下属的工作组(Working Group, WG)先后共有二十来个,但大部分均已过时,即不再活动了。截至 2020年7 月,仍在活动的工作组只剩下以下5个:

  • 802.1: 高层局域网协议工作组(Higher Layer LAN Protocols Working Group);
  • 802.3: 以太网工作组(Ethernet Working Group);
  • 802.11: 无线局域网工作组(Wireless LAN Working Group);
  • 802.15: 无线个人区域网工作组(Wireless Personal Area Network (WPAN) Working Group);
  • 802.19: 无线共存工作组(Wireless Coexistence Working Group)

3-29 在一些文献和教材中,可以见到关于以太网的"前同步码 "(preamble) 有两种不同的说法。一种说法是:前同步码共8个字节。另一种说法是:前同步码共7个字节,而在前同步码后面还有一个字节的"帧开始定界符 SFD (Start-of-Frame Delimiter) 那么哪一种说法是正确的呢?

都正确。前一种说法出自最初的以太网标准(即 DIX 标准),在这个标准中定义了以太网的前同步

码的8个字节。但以后的 IEEE 802.3 标准将原来8个字节的前同步码拆为两个字段。前一个字段仍叫作前同步码,共7个字节,它就是原来8个字节的前同步码中的前7个字节。后一个字段叫作帧开始定界符 SFD, 只有一个字节长,它就是原来8节的前同步码中的最后一个字节。这两种定义只是字段的名字不同,而8个字节的值都是完全一样的。

3-30 802.3 标准共包含多少种协议?

802.3 标准太多了,网上很容易查到。例如,下面的链接就可查到 802.3 有哪些工作组,以及有哪些协议,等等。http:/ /www.ieee802.org/3/。

3-31 在 802.3 标准中有没有对人为干扰信号(jamming signal) 制定出标准呢?

没有。但很多厂家采用 32 位或 48 位长的1和0 交替的比特块作为人为干扰信号( 1010.... 1010.... 1010....或 0101.... 0101.... 0101.... )

3-32 在以太网中,有没有可能在发送了 512 bit (64 B) 以后才发生碰撞?

有可能。但这是一种不正常的情况(发生一般的碰撞,属于网络正常工作的情况)叫作"迟到的碰撞 "(late collision)。产生迟到的碰撞是因为网络覆盖的地理范围太大了,以致人为干扰信号在网络上传播的时间太长,使得有的站在发送 512bit (64B) 以后才知道在以太网上发生了碰撞。这时该站就立即停止发送数据,但已经发送出去的数据长度却超过了以太网规定的最短长度(64 B)。 这种大于64 字节的 MAC 帧属于合法的帧,接收端必须将它收下来。当然,在进行差错检测后就可发现这是个有差错的帧,最后还是会将它丢弃。这时,要由高层来进行重传,结果浪费了时间。如果能够及时发现碰撞,则 MAC 层协议会自动对该帧进行重传,这显然要节省一些时间。

3-33 在有的文献中会见到 Runt和Jabber 这两个名词,它们是什么意思?

Runt 一词的意思是:发育不全的矮小的植物(或动物)。在以太网中就是指长度小于64 字节的无效帧(因为及时检测到碰撞而终止继续发送数据)。

Jabber 一词的意思是:急促不清的话,闲聊。在以太网中就是指长度超过 1518 字节的无效帧(其 CRC 检验也是有差错的)。这种帧的出现一般是由于网卡有硬件故障导致的。

3-34 当局域网刚刚问世时,总线型以太网被认为可靠性比星形结构的网络好。但现在以太网又回到了星形结构,使用集线器作为交换节点。那么以前的看法是否有些不正确?

不是这样的。最初大家认为星形结构的网络的可靠性较差。但那是 20 世纪 70 年代中期的看法。那时大规模集成电路刚刚起步,集成度还不高,因此若要制作出非常可靠的星形结构的网络交换机,则其费用将是很高的。这就是说,在当时的历史条件下,还很难用廉价的方法实现高可靠性的网络交换机。所以,在 20 世纪 70 年代中期采用无源总线结构的以太网确实是比较经济实用的。因此,总线型以太网一问世就受到广大用户的欢迎,并获得了很快的发展。然而,随着以太网上站点数目的增多,由接头数目增多而造成的可靠性下降的问题逐渐暴露出来了。与此同时,大规模集成电路以及专用芯片的发展使得星形结构的集中式网络可以做得既便宜又可靠。在这种情况下,星形结构的集中式网络终于又成为以太网的首选拓扑。现在

已很少有人使用老式的总线型以太网了。

相关推荐
BingoGo1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑