计算机网络-数据链路层

数据链路层

习题自测

问题

1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?
2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。
3.网络适配器的作用是什么?网络适配器工作在哪一层?
4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?
5.如果在数据链路层不进行帧定界,会发生什么问题?
6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?
7.要发送的数据为1101011011。采用CRC的生成多项式是P(X)= X 4 X^4 X4​​​+X+1。试求应添加在数据后面的余数。数据在传输过程中最后一个1变成了0,问接收端能否发现?若数据在传输过程中最后两个1都变成了0,问接收端能否发现?采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?
8.要发送的数据为101110。采用CRCD生成多项式是P(X)=X3+1。试求应添加在数据后面的余数。
9.一个PPP帧的数据部分(用十六进制写出)是7D5EFE277D5D7D5D657D5E。试问真正的数据是什么(用十六进制写出)?
10.PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串?
11.试分别讨论一下各种情况在什么条件下是透明传输,在什么条件下不是透明传输。(提示:请弄清什么是“透明传输”,然后考虑能否满足其条件。)
(1)普通的电话通信。
(2)互联网提供的电子邮件服务。
12.PPP协议的工作状态有哪几种?当用户要使用PPP协议和ISP建立连接进行通信需要建立哪几种连接?每一种连接解决什么问题?
13.局域网的主要特点是什么?为什么局域网采用广播通信方式而广域网不采用呢?
14.常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以太网选择总线拓扑结构而不是星形拓扑结构,但现在却改为使用星形拓扑结构?
15.什么叫做传统以太网?以太网有哪两个主要标准?
16.数据率为10Mb/s的以太网在物理媒体上的码元传输速率是多少码元/秒?
17.为什么LLC子层的标准已制定出来了但现在却很少使用?
18.试说明10BASE-T中的“10”、“BASE”和“T”所代表的意思。
19.以太网使用的CSMA/CD协议是以争用方式接入到共享信道。这与传统的时分复用TDM相比优缺点如何?
20.假定1km长的CSMA/CD网络的数据率为1Gb/s。设信号在网络上的传播速率为200000km/s。求能够使用此协议的最短帧长。
21.什么叫做比特时间?使用这种时间单位有什么好处?100比特时间是多少微秒?
22.假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100。试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb/s的以太网呢?
23.信道极限利用率公式表明,以太网的极限信道利用率与连接在以太网上的站点数无关。能否由此推论出:以太网的利用率也与连接在以太网的站点数无关?请说明你的理由。
S max ⁡ = T 0 T 0 + τ = 1 1 + a \Large {S_{\max }}=\frac{T_{0}}{T_{0}+\tau}=\frac{1}{1+a} Smax=T0+τT0=1+a1
24.假定站点A和B在同一个10Mb/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到和B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞?(提示:在计算时应当考虑到每一个以太网帧在发送到信道上时,在MAC帧前面还要增加若干字节的前同步码和帧定界符)

计算机网络-数据链路层_第1张图片

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

计算机网络-数据链路层_第2张图片

26.以太网上只有两个站,它们同时发送数据,产生了碰撞。于是按截断二进制指数退避算法进行重传。重传次数记为i,i=1,2,3,……。试计算第1次重传失败的概率、第2次重传的概率、第3次重传失败的概率,以及一个站成功发送数据之前的平均重传次数I。
27.假定一个以太网上的通信量中的80%是在本局域网上进行的,而其余的20%的通信量是在本局域网和因特网之间进行的。另一个以太网的情况则反过来。这两个以太网一个使用以太网集线器,而另一个使用以太网交换机。你认为以太网交换机应当用在哪一个网络?
28.有10个站连接到以太网上。试计算一下三种情况下每一个站所能得到的带宽。
(1)10个站都连接到一个10Mb/s以太网集线器;
(2)10个站都连接到一个100Mb/s以太网集线器;
(3)10个站都连接到一个10Mb/s以太网交换机。
29.10Mb/s以太网升级到100Mb/s、1Gb/S和10Gb/s时,都需要解决哪些技术问题?为什么以太网能够在发展的过程中淘汰掉自己的竞争对手,并使自己的应用范围从局域网一直扩展到城域网和广域网?
30.以太网交换机有何特点?用它怎样组成虚拟局域网?
31.某学院的以太网交换机有三个接口分别和学院三个系的以太网相连,另外三个接口分别和电子邮件服务器、万维网服务器以及一个连接互联网的路由器相连。图中的A,B和C都是100Mbit/s以太网交换机。假定所有链路的速率都是100Mbit/s,并且图中的9台主机中的任何一个都可以和任何一个服务器或主机通信。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?

计算机网络-数据链路层_第3张图片

32.假定上一题的所有链路的速率仍然为100Mbit/s,但三个系的以太网交换机都换成为100Mbit/s的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?
33.假定上上一题中的所有链路的速率仍然为100Mbit/s,但所有的以太网交换机都换成为100Mbit/s​的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?
34.以太网交换机有6个接口,分别接到5台主机和一个路由器。在下面表中的“动作”一栏中,表示先后发送了4个帧。假定在开始时,以太网交换机的交换表是空的。试把该表中其他的栏目都填写完。
 动作   交换表的状态   向哪些接口转发帧   说明  A  发送帧给  D D  发送帧给  A E  发送帧给  A A  发送帧给  E \begin{array}{|l|l|l|l|} \hline \text { 动作 } & \text { 交换表的状态 } & \text { 向哪些接口转发帧 } & \text { 说明 } \\ \hline \mathrm{A} \text { 发送帧给 } \mathrm{D} & & & \\ \hline \mathrm{D} \text { 发送帧给 } \mathrm{A} & & & \\ \hline \mathrm{E} \text { 发送帧给 } \mathrm{A} & & & \\ \hline \mathrm{A} \text { 发送帧给 } \mathrm{E} & & & \\ \hline \end{array}  动作 A 发送帧给 DD 发送帧给 AE 发送帧给 AA 发送帧给 E 交换表的状态  向哪些接口转发帧  说明 
35.有两台主机 A \mathrm{A} A B \mathrm{B} B接在800m长的电缆线的两端,并在 t = 0 t=0 t=0时各自向对方发送一个帧,长度为1500bit(包括首部和前同步码)。假定在 A \mathrm{A} A B \mathrm{B} B之间有4个转发器,在转发帧时会产生20比特的时延。设传输速率为100Mbit/s,而CSMA/CD的退避时间是随机数 r r r倍的争用期,争用期为512bit,在发生第一次碰撞后,在退避时 A \mathrm{A} A选择 r = 0 r=0 r=0 B \mathrm{B} B选择 r = 1 r=1 r=1。忽略发生碰撞后的人为干扰信号和帧间最小间隔。
(1)设信号的传播速率是 2 × 1 0 8   m / s 2\times10^{8}\mathrm{~m}/\mathrm{s} 2×108 m/s。试计算从 A \mathrm{A} A B \mathrm{B} B(包括4个转发器)的传播时延。
(2)在什么时间(以秒为单位)B完全收到了 A \mathrm{A} A发送的帧?
(3)现在假定只有 A \mathrm{A} A发送帧,帧长仍为 1500 b i t 1500\mathrm{bit} 1500bit,但4个转发器都用交换机来代替。交换机在进行存储转发时还要产生额外的 20 b i t 20\mathrm{bit} 20bit​的处理时延。在什么时间(以秒为单位)B完全收到了A发送的帧?
36.假定一个以太网上的通信量中的80%是在本局域网上进行的,而其余的20%的通信量是在本局域网和互联网之间进行的。另一个以太网的情况则反过来。这两个以太网一个使用以太网集线器,而另一个使用以太网交换机。你认为以太网交换机应当用在哪一个网络上?(本题的目的是要学生能够清楚地知道以太网集线器和以太网交换机的区别。本题并没有一个标准答案。
37.网桥的工作原理和特点是什么?网桥与转发器以及以太网交换机有何异同?
38.有五个站分别连接在三个局域网上,并且用网桥 B 1 \mathrm{B}_{1} B1 B 2 \mathrm{B}_{2} B2​​连接起来。每一个网桥都有两个接口(1和2)。在一开始,两个网桥中的转发表都是空的。以后有以下帠站向其他的站按先后顺序发送了数据帧:发A送给E,C发送给B,D发送给C,B发送给A。填写下表。

计算机网络-数据链路层_第4张图片

 发送的帧   B1地址   B1接口   B2地址   B2接口   B1(转发? 丢弃? 登记?)   B2(转发? 丢弃? 登记?)  A → E C → B D → C B → A \begin{array}{|c|l|l|l|l|l|l|} \hline \text { 发送的帧 } & \text { B1地址 } & \text { B1接口 } & \text { B2地址 } & \text { B2接口 } & \text { B1(转发? 丢弃? 登记?) } & \text { B2(转发? 丢弃? 登记?) } \\ \hline \mathrm{A} \rightarrow \mathrm{E} & & & & & & \\ \hline \mathrm{C} \rightarrow \mathrm{B} & & & & & & \\ \hline \mathrm{D} \rightarrow \mathrm{C} & & & & & & \\ \hline \mathrm{B} \rightarrow \mathrm{A} & & & & & & \\ \hline \end{array}  发送的帧 AECBDCBA B1地址  B1接口  B2地址  B2接口  B1(转发丢弃登记?)  B2(转发丢弃登记?) 

答案

1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?

解答:所谓链路就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。在进行数据通信时,两个计算机之间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分。
数据链路则是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用网络适配器(如拨号上网使用拨号适配器,以及通过以太网上网使用局域网适配器)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。
也有人采用另外的术语。这就是把链路分为物理链路和逻辑链路。物理链路就是上面所说的链路,而逻辑链路就是上面的数据链路,是物理链路加上必要的通信协议。

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

解答:链路控制的主要功能有三:(1)封装成帧;(2)透明传输;(3)差错检㳄
数据链路层做成可靠的链路层,就表示从源主机到目的主机的整个通信路径中的每一段链路的通信都是可靠的。这样做的优点是可以使网络中的某个结点及早发现传输中出了差错,因而可以通过数据链路层的重传来纠正这个差错。如果数据链路层不是做成可靠的链路层,那么当网络中的某个结点发现收到的帧有差错时(不管数据链路层是否做成是可靠的,这个检查差错的步骤总是要有的),就仅仅丢弃有差错的帧,而并不通知发送结点重传出现差错的帧。只有当目的主机的高层协议(例如,运输层协议TCP)发现了这个错误时,才通知源主机重传出现差错的数据。但这时已经较迟了,可能要重传较多的数据(包括没有出差错的数据),对网络资源有些浪费。
但是,有时高层协议使用的是不可靠的传输协议UDP。UDP并不要求重传有差错的数据。在这种情况下,如果数据链路层做成是可靠的链路层,那么在某些情况下这并不会带来更多的好处(例如,当高层传送实时音频或视频信号时)。换言之,增加了可靠性,牺牲了实时性,有时反而是不合适的。

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

解答:适配器又称为网络接口卡或简称为“网卡”。在适配器上面装有处理器和存储器(包括RAM和ROM)。适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行的。因此,适配器的一个重要功能就是要进行数据串行传输和并行传输的转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储芯片。若在主板上揷入适配器时,还必须把管理该适配器的设备驱动程序安装在计算机的操作系统中。这个驱动程序以后就会告诉适配器,应当从存储器的什么位置上把多长的数据块发送到局域网,或者应当在存储器的什么位置上把局域网传送过来的数据块存储下来。适配器还要能够实现以太网协议
适配器接收和发送各种帧时不使用计算机的CPU。这时 C P U \mathrm{CPU} CPU​​​可以处理其他任务。当适配器收到有差错的帧时,就把这个帧丢弃而不必通知计算机。当适配器收到正确的帧时,它就使用中断来通知该计算机并交付协议栈中的网络层。当计算机要发送IP数据报时,就由协议栈把IP数据报向下交给适配器,组装成帧后发送到局域网。

4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?

解答:封装成帧就是在一段数据的前后分别添加首部和尾部(在首部和尾部里面有许多必要的控制信息),这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束
所谓“透明传输”就是上层交下来的数据,不管是什么形式的比特组合,都必须能够正确传送。由于帧的开始和结束的标记是使用专门指明的控制字符,因此,所传输的数据中的任何比特组合一定不允许和用作帧定界的控制字符的比特编码一样,否则就会出现帧定界的错误。数据链路层不应当对要传送的数据提出限制,即不应当规定某种形式的比特组合不能够传送
如果数据链路层没有差错检测,那么当目的主机收到其他主机发送来的数据时,在交给高层后,如果应用程序要求收到的数据必须正确无误,那么目的主机的高层软件可以对收到的数据进行差错检测。如果发现数据中有差错,就可以请求源主机重传这些数据。这样做就可以达到正确接收数据的目的。但这种工作方式有一个很大的缺点,就是一些在传输过程中出现了错误的数据(请注意,这些已经是没有用处的数据)还会继续在网络中传送,这样就浪费了网络的资源。例如,源主机到目的主机的路径中共有20个结点。在传送数据时,第一个结点就检测出了差错。如果数据链路层有差错检测的功能,就可以把这个有差错的帧丢弃,以后就不再传送了。否则这个没有用处的帧还要在网络上继续传送,还要陆续通过后面的19个结点,这就造成了网络资源的浪费。

5.如果在数据链路层不进行帧定界,会发生什么问题?

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

6.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又没有编号和确认机制,这样就必须靠上层的协议(有编号和重传机制)才能保证数据传输的正确无误。这样就使数据的传输效率降低。

7.要发送的数据为1101011011。采用CRC的生成多项式是P(X)= X 4 X^4 X4​+X+1。试求应添加在数据后面的余数。
数据在传输过程中最后一个1变成了0,问接收端能否发现?
若数据在传输过程中最后两个1都变成了0,问接收端能否发现?
采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?

解答:采用 C R C \mathrm{CRC} CRC的生成多项式是 P ( X ) = X 4 + X + 1 P(X)=X^{4}+X+1 P(X)=X4+X+1,用二进制表示就是 P = 10011 P=10011 P=10011​。现在除数是5位,因此在数据后面添加4个0就得出被除数。

计算机网络-数据链路层_第5张图片

除法运算得出的余数 R R R​就是应当添加在数据后面的检验序列:1110。
现在数据在传输过程中最后一个1变成了0,即1101011010。然后把检验序列1110接在数据1101011010的后面。下一步就是进行CRC检验。

计算机网络-数据链路层_第6张图片

余数R不为零,因此判定所接收的数据有差错。可见这里的CRC检验可以发现这个差错。

若数据在传输过程中最后两个1都变成了0,即1101011000。把检验序列1110接在数据1101011000的后面,下一步就是进行CRC检验。

计算机网络-数据链路层_第7张图片

现在余数R不为零,因此判定所接收的数据有差错。可见这里的 C R C \mathrm{CRC} CRC检验可以发现这个差错。
采用CRC检验后,数据链路层的传输并非变成了可靠的传输。当接收方进行CRC检验时,如果发现有差错,就简单地丢弃这个帧。数据链路层并不能保证接收方接收到的和发送方发送的完全一样。

8.要发送的数据为101110。采用CRCD生成多项式是P(X)= X 3 X^3 X3​+1。试求应添加在数据后面的余数。

解答:CRC的生成多项式是 P ( X ) = X 3 + 1 P(X)=X^{3}+1 P(X)=X3+1,因此用二进制表示的除数P=1001。除数是4位。在数据后面要添加3个0。进行CRC运算后,得出余数。

计算机网络-数据链路层_第8张图片

9.一个PPP帧的数据部分(用十六进制写出)是7D5EFE277D5D7D5D657D5E。试问真正的数据是什么(用十六进制写出)?

解答:把由转义符 7 D {7}\mathrm{D} 7D​​​开始的-字节序列加粗标出:
7D-5E-FE-27-7D-5D-7D-5D-65-7D-5E
7D-5E应当还原成为7E。7D-5D应当还原成为7D
因此,-真正的数据部分是:7E-FE-27-7D-7D-65-7E

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

解答:第一个比特串0110111111111100:
零比特填充就是在一连5个1之后必须揷入一个0。经过零比特填充后变成011011111011111000(加下划线的0是填充的)另一个比特串0001110111110111110110:
删除发送端加入的零比特,就是把一连5个1后面的0删除。因此,删除发送端加入的零比特后就得出: 000111011111 − 11111 − 110 000111011111-11111-110 00011101111111111110(连字符表示删除了0)。

11.试分别讨论一下各种情况在什么条件下是透明传输,在什么条件下不是透明传输。(提示:请弄清什么是“透明传输”,然后考虑能否满足其条件。)
(1)普通的电话通信。
(2)互联网提供的电子邮件服务。

(1)由于电话系统的带宽有限,而且还有失真,因此电话机两端的输入声波和输出声波是有差异的。从“传送声波”这个意义上讲,普通的电话通信并不是透明传输。但从“听懂说话的意思”来讲,则基本上是透明传输。但也有时个别语音会听错,如单个数字1和7在电话中区别甚小。如果通话的一方说“I",而另一方听成是“7",那么这就不能算是透明传输。
(2)一般说来,电子邮件是透明传输。但有时不是。因为国外有些邮件服务器为了防止垃圾邮件,将来自某些域名(如.cn)的邮件一律阻拦掉。这就不是透明传输。有些邮件的附件在收件人的电脑上打不开。这也不是透明传输。

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

解答:PPP协议的工作状态共有六种

计算机网络-数据链路层_第9张图片

当用户要使用PPP协议和ISP建立连接进行通信时,需要建立两种连接。
第一种连接是物理层连接,见图T-3-12中从“链路静止”到“链路建立”的这一过程。我们知道,只有建立了物理层连接(即物理层链路),上面的数据链路层连接才能建立。
第二种连接是数据链路层连接,即建立LCP链路。这时,用户 P C \mathrm{PC} 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端点可以彼此向对方发送分组。

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

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

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

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

15.什么叫做传统以太网?以太网有哪两个主要标准?

解答:传统以太网就是最早流行的10Mbit/s速率的以太网。以太网有两个标准,即DIXEthernetV2标准和IEEE 802.3 802.3 802.3标准。1980年9月,DEC公司、英特尔(Intel)公司和施乐公司(Xerox)联合提出了10Mbit/s以太网规约的第一个版本DIXV1(DIX是这三个公司名称的缩写)。1982年又修改为第二版规约(实际上也就是最后的版本),即DIXEthernetV2成为世界上第一个局域网产品的规约。符合这个标准的局域网称为以太网。
在此基础上,IEEE802委员会的 802.3 802.3 802.3工作组于1983年制定了第一个IEEE的局域网标准IEEE 802.3 802.3 802.3(这个标准更准确的名字是IEEE802.3CSMA/\CD),数据率为10Mbit/s。802.3局域网对以太网标准中的帧格式作了很小的一点改动,但允许基于这两种标准的硬件在同个局域网上互操作。符合这个标准的局域网称为802.3局域网。
DIXEthernetV2标准与IEEE 802.3 802.3 802.3标准只有很小的差别,因此很多人也常把 802.3 802.3 802.3局域网简称为“以太网",或“基于DIXEthernet技术的像以太网(Ethernetlike)的系统”。

16.数据率为10Mb/s的以太网在物理媒体上的码元传输速率是多少码元/秒?

解答:以太网发送的数据都使用曼彻斯特编码的信号。
10Mbit/s的以太网就表明,在以太网适配器中,在进行曼彻斯特编码之前,基带信号是每秒发送 10 × 1 0 6 10\times10^{6} 10×106个码元。但是经过曼彻斯特编码器之后,原来的信号源的每一个码元都变成了两个码元。因此,最后经过网络适配器发送到线路上的码元速率是每秒 20 × 1 0 6 20\times10^{6} 20×106​个码元,即速率是每秒20兆码元。

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

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

18.试说明10BASE-T中的“10”、“BASE”和“T”所代表的意思。

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

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

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

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

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

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

解答:比特时间就是发送1比特所需的时间,而不管数据率是多少。需要注意的是,发送1比特的时间长短显然与数据率密切相关。采用比特时间的好处是方便。如果不采用比特时间,那么当我们讨论某个站发送数据时,若所发送的数据共有6400比特,那么发送这6400比特所需的时间就是6400除以发送速率。例如,若发送速率是 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s,则发送这6400比特所需的时间是:
6400 / 10000000 = 640 × 1 0 − 6  秒  = 640  微秒  6400 / 10000000=640 \times 10^{-6} \text { 秒 }=640 \text { 微秒 } 6400/10000000=640×106  =640 微秒 
但如果是以“比特时间”为单位,那么不管卯送速率是多少,发送6400比特所需的时间定是6400比特时间。这显然要方便得多。要把“比特时间”换算成“秒"或“微秒”,就必须先知道数据率是多少。因此,要回答"100比特时间是多少微秒?"这样的问题,不给出数据率是无法回答的。

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

解答:对于 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s的以太网,争用期是512比特时间。现在 r = 100 r=100 r=100,因此退避时间是51200比特时间。
这个站需要等待的时间是 51200 / 10 = 5120 μ s = 5.12   m s 51200/10=5120\mu\mathrm{s}=5.12\mathrm{~ms} 51200/10=5120μs=5.12 ms
对于100Mbit/s的以太网,争用期仍然是512比特时间,退避时间是51200比特时间。因此,这个站需要等待的时间是 51200 / 100 = 512 μ s 51200/100=512\mu\mathrm{s} 51200/100=512μs

23.公式(3-3)表示,以太网的极限信道利用率与连接在以太网上的站点数无关。能否由此推论出:以太网的利用率也与连接在以太网的站点数无关?请说明你的理由。
S max ⁡ = T 0 T 0 + τ = 1 1 + a \Large{S_{\max }}=\frac{T_{0}}{T_{0}+\tau}=\frac{1}{1+a} Smax=T0+τT0=1+a1
解答:以太网的利用率应当与连接在以太网上的站点数有关。我们知道,以太网各站发送数据的时刻应当是随机的。公式表述的以太网的极限信道利用率是基于这样的假定:这个以太网使用了特殊的调度方法,一个站发送完数据后,另一个站就接着发送。结果是各站点的发送都不会发生碰撞。这样就使以太网的利用率达到最大值。但这已经不再是采用CSMA/CD协议的以太网了。

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

解答:设在t=0时A开始发送。A发送的最短帧长是64字节=512bit。实际上在信道上传送的还有8字节=64bit的前同步码和帧开始定界符,因此在t=512+64=576比特时间,A应当发送完毕。经过传播时间后,即t=225比特时间,B检测出A的信号。

计算机网络-数据链路层_第10张图片

因此,在t=225比特时间以后B就不会发送数据了。反之,如果B在t=224比特时间或这以前发送数据就一定会和A发送的数据发生碰撞。因此,题目说:“在A发送结束之前B也发送一帧”,等于隐含地说:“受CSMA\CD协议的约束,B在t=224比特时间以前发送了数据。
B在t=224$比特时间发送的第一个比特将在t=224+225=449比特时间到达A,因此,A在检测到和B发送的数据发生碰撞之前显然还没有发送完毕(因为449小于上面算出的576)。当A检测到发生碰撞时,就要停止发送,并执行退避算法。
换言之,如果A在发送完毕之前(即在t=512+64=576比特时间之前)没有检测到碰撞,那么就能表明:A所发送的帧不会和B发送的帧发生碰撞(当然也不会和其他站点发生碰撞)。

25.在上题中的站点A和B在t=0时同时发送了数据帧。当t=255比特时间,A和B同时检测到发生了碰撞,并且在t=255+48=273比特时间完成了干扰信号的传输。A和B在CSMA/CD算法中选择不同的r值退避。假定A和B选择的随机数分别是 r A {r}_{A} rA​​和 r B {r}_{B} rB​​。试问A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达B?A重传的数据会不会和B重传的数据再次发生碰撞?B会不会在预定的重传时间停止发送数据?

解答:几个主要时间所发生的事件。所有的时间单位都是“比特时间”。
t = 0 t=0 t=0时,A和 B \mathrm{B} B开始发送数据。
t = 225 t=225 t=225比特时间, A \mathrm{A} A B \mathrm{B} B都检测到碰撞。
t = 273 t=273 t=273比特时间, A \mathrm{A} A B \mathrm{B} B结束干扰信号的传输。A和 B \mathrm{B} B都马上执行退避算法。
因为 r A = 0 \mathrm{r}_{\mathrm{A}}=0 rA=0 r B = 1 \mathrm{r}_{\mathrm{B}}=1 rB=1,所以 A \mathrm{A} A立即检测信道,而 B \mathrm{B} B要推迟512比特时间后才检测信道。
也就是说,A在 t = 273 \mathrm{t}=273 t=273比特时间就开始检测信道,但 B \mathrm{B} B要等到 t = 785 \mathrm{t}=785 t=785​​比特时间才检测信道。

计算机网络-数据链路层_第11张图片

t = 273 + 225 = 498 t=273+225=498 t=273+225=498比特时间, B \mathrm{B} B的干扰信号中的最后一个比特到达 A ; A \mathrm{A};\mathrm{A} A;A检测到信道空闲。但 A \mathrm{A} A还不能马上发送数据,必须等待96比特时间后才能发送数据(我们应当注意到,以太网的帧间最小间隔就是 9.6 μ s 9.6\mu\mathrm{s} 9.6μs,相当于96比特时间)。
这样,当 t = 498 + 96 = 594 t=498+96=594 t=498+96=594比特时间, A \mathrm{A} A开始发送数据。
再看一下 B \mathrm{B} B什么时候可以发送数据。当 t = 273 + 512 = 785 t=273+512=785 t=273+512=785比特时间(B从273比特时间算起,经过1个争用期512比特时间),再次检测信道。如空闲,则 B \mathrm{B} B在96比特时间后,即将在 t = 785 + 96 = 881 t=785+96=881 t=785+96=881比特时间发送数据。请注意,只有从785比特时间一直到881比特时间 B \mathrm{B} B一直检测到信道是空闲的, B \mathrm{B} B才在881比特时间发送数据。
t = 594 + 225 = 819 t=594+225=819 t=594+225=819比特时间, A \mathrm{A} A在594比特时间发送的数据到达 B \mathrm{B} B
可见从785比特时间算起,才经过了34比特时间,B就检测到信道忙,因此 B \mathrm{B} B​在预定的881比特时间不发送数据。

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

解答:将第 i i i次重传失败的概率记为 P i \mathrm{P}_{i} Pi,显然
P i = ( 0.5 ) k , k = min ⁡ [ i , 10 ] \mathrm{P}_{i}=(0.5)^{k}, \quad k=\min [i, 10] Pi=(0.5)k,k=min[i,10]
故第1次重传失败的概率 P 1 = 0.5 \mathrm{P}_{1}=0.5 P1=0.5​,

第2次重传失败的概率 P 2 = 0. 5 2 = 0.25 \mathrm{P}_{2}=0.5^{2}=0.25 P2=0.52=0.25​,

第3次重传失败的概率 P 3 = 0. 5 3 = 0.125 \mathrm{P}_{3}=0.5^{3}=0.125 P3=0.53=0.125​。

P [ \mathrm{P}[ P[​传送 i i i​次才成功 ] = P [ ]=\mathrm{P}[ ]=P[​第1次传送失败 ] ⋅ P [ ]\cdot\mathrm{P}[ ]P[​第2次传送失败 ] ⋯ ⋅ P [ ]\cdots\cdot\mathrm{P}[ ]P[​第 i − 1 i-1 i1​次传送失败 ] ] ]​・ P [ \mathrm{P}[ P[​第 i i i​次传送成功 ] ] ]​​

P [ \mathrm{P}[ P[​传送1次成功 ] = 0.5 ]=0.5 ]=0.5

P [ \mathrm{P}[ P[​传送2次才成功 ] = P [ ]=\mathrm{P}[ ]=P[​第1次传送失败 ] ⋅ P [ ]\cdot\mathrm{P}[ ]P[​第2次传送成功] = P [ =\mathrm{P}[ =P[​第1次传送失败 ] ( 1 − P [ ](1-\mathrm{P}[ ](1P[​第2次传送失败 ] ) = 0.5 ( 0.75 ) = 0.375 ])=0.5(0.75)=0.375 ])=0.5(0.75)=0.375

P [ \mathrm{P}[ P[​​传送3次才成功 ] = P [ ]=\mathrm{P}[ ]=P[​​第1次传送失败 ] ⋅ P [ ]\cdot\mathrm{P}[ ]P[​​第2次传送失败 ] ⋅ P [ ]\cdot\mathrm{P}[ ]P[​​第3次传送成功] = P [ =\mathrm{P}[ =P[​​第1次传送失败 ] ⋅ P [ ]\cdot\mathrm{P}[ ]P[​​第2次传送失败 ] ( 1 − P [ ](1-\mathrm{P}[ ](1P[​​第3次传送失败 ] ) ]) ]) = 0.5 ( 0.25 ) ( 1 − 0.125 ) = 0.5 ( 0.25 ) ( 0.875 ) = 0.1094 =0.5(0.25)(1-0.125)=0.5(0.25)(0.875)=0.1094 =0.5(0.25)(10.125)=0.5(0.25)(0.875)=0.1094​​

P [ \mathrm{P}[ P[​​传送4次才成功 ] = 0.5 ( 0.25 ) ( 0.125 ) ( 1 − 0.0625 ) = 0.5 ( 0.25 ) ( 0.125 ) ( 0.9375 ) = 0.0146 ]=0.5(0.25)(0.125)(1-0.0625)=0.5(0.25)(0.125)(0.9375)=0.0146 ]=0.5(0.25)(0.125)(10.0625)=0.5(0.25)(0.125)(0.9375)=0.0146​​
{ P [ \{\mathrm{P}[ {P[​​传送 i i i​​次才成功] } \} }​​的统计平均值,得出

平均重传次数 = 1 ( 0.5 ) + 2 ( 0.375 ) + 3 ( 0.1094 ) + 4 ( 0.0146 ) + … =1(0.5)+2(0.375)+3(0.1094)+4(0.0146)+\ldots =1(0.5)+2(0.375)+3(0.1094)+4(0.0146)+​​
= 0.5 + 0.75 + 0.3282 + 0.0586 + … ≈ 1.64 =0.5+0.75+0.3282+0.0586+\ldots \approx 1.64 =0.5+0.75+0.3282+0.0586+1.64
27.假定一个以太网上的通信量中的80%是在本局域网上进行的,而其余的20%的通信量是在本局域网和因特网之间进行的。另一个以太网的情况则反过来。这两个以太网一个使用以太网集线器,而另一个使用以太网交换机。你认为以太网交换机应当用在哪一个网络?

答:集线器为物理层设备,模拟了总线这一共享媒介共争用,成为局域网通信容量的瓶颈。交换机则为链路层设备,可实现透明交换局域网通过路由器与因特网相连当本局域网和因特网之间的通信量占主要成份时,形成集中面向路由器的数据流,使用集线器冲突较大,采用交换机能得到改善。当本局域网内通信量占主要成份时,采用交换机改善对外流量不明显。

28.有10个站连接到以太网上。试计算一下三种情况下每一个站所能得到的带宽。
(1)10个站都连接到一个10Mb/s以太网集线器;
(2)10个站都连接到一个100Mb/s以太网集线器;
(3)10个站都连接到一个10Mb/s以太网交换机。

解答:每一个站所能得到的带宽如下:
(1)假定以太网的利用率基本上达到 100 % 100\% 100%,那么10个站共享 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s,即平均每一个站可得到 1 M b i t / s 1\mathrm{Mbit}/\mathrm{s} 1Mbit/s的带宽。
(2)假定以太网的利用率基本上达到 100 % 100\% 100%,那么10个站共享100Mbit/s,即平均每一个站可得到 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s的带宽。
(3)每一个站独占交换机的一个接口的带宽 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s。这里我们假定这个交换机的总带宽不小于100Mbit/s。

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

解答:IEEE802.3u的 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s以太网标准未包括对同轴电缆的支持。这意味着想从10Mbit/s细缆以太网升级到100Mbit/s快速以太网的用户必须重新布线。现在 10 / 100 M b i t / s 10/100\mathrm{Mbit}/\mathrm{s} 10/100Mbit/s以太网多使用无屏蔽双绞线布线。在100Mbit/s的以太网中,保持最短帧长不变,把一个网段的最大电缆长度减小到 100   m 100\mathrm{~m} 100 m。但最短帧长仍为64字节,即512比特。因此100Mbit/s以太网的争用期是 5.12 μ s 5.12\mu\mathrm{s} 5.12μs,帧间最小间隔现在是 0.96 μ s 0.96\mu\mathrm{s} 0.96μs,都是 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s以太网的 1 / 10 1/10 1/10。100Mbit/s以太网的新标准还规定了以下三种不同的物理层标准:
(1)100BASE-TX:使用两对UTP5类线或屏蔽双绞线STP,其中一对用于发送,另一对用于接收。
(2)100BASE-FX:使用两根光纤,其什一根用于发送,另一根用于接收。在标准中把上述的100BASE-TX和100BASE-FX合在-起称为 100 B A S E − X 100\mathrm{BASE}-\mathrm{X} 100BASEX
(3) 100 B A S E − T 4 100\mathrm{BASE}-\mathrm{T}4 100BASET4:使用4对UTP3类线或5类线,这是为已使用UTP3类线的大量用户而设计的。它使用3对线同时传送数据(每一对线以 33 1 3 M b i t / s 33\frac{1}{3}\mathrm{Mbit}/\mathrm{s} 3331Mbit/s​的速率传送数据),用1对线作为碰撞检测的接收信道。
吉比特以太网( 1 G b i t / s 1\mathrm{Gbit}/\mathrm{s} 1Gbit/s的速率)的标准是IEEE 802.3 z 802.3\mathrm{z} 802.3z,它有以下几个特点:
(1)允许在 1 G b i t / s 1\mathrm{Gbit}/\mathrm{s} 1Gbit/s下全双工和半双工两种方式工作。
(2)使用IEEE 802.3 802.3 802.3协议规定的帧格式。
(3)在半双工方式下使用CSMA/CD协议(全双工方式不需要使用 C S M A / C D \mathrm{CSMA/CD} CSMA/CD协议)。
(4)与10BASE-T和100BASE-T技术向后兼容。
吉比特以太网可用作现有网络的主干网,也可在高带宽(高速率)的应用场合中(如医疗图像或CAD的图形等)用来连接工作站和服务器。
吉比特以太网的物理层使用两种成熟的技术:一种来自现有的以太网,另一种则是 A N S I \mathrm{ANSI} ANSI​制定的光纤通道FC(FibreChannel)。采用成熟技术就能大大缩短吉比特以太网标准的开发时间。
吉比特以太网的物理层有以下两个标准:
(1)1000BASE-X(IEEE802.3z标准)。
(2)1000BASE-T(802.3ab标准)。
吉比特以太网工作在半双工方式时,就必须进行碰撞检测。吉比特以太网仍然保持一个网段的最大长度为 100   m 100\mathrm{~m} 100 m​,但采用了“载波延伸”的办法,使最短帧长仍为64字节(这样可以保持兼容性),同时将争用期增大为512字节。凡发送的MAC帧长不足512字节时,就用一些特殊字符填充在帧的后面,使MAC帧的发送长度增大到512字节,这对有效载荷并无影响。接收端在收到以太网的MAC帧后,要把所填充的特殊字符删除后才向高层交付。当原来仅64字节长的短帧填充到512字节时,所填充的448字节就造成了很大的开销。
吉比特以太网还增加了分组突发的功能。当很多短帧要发送时,第一个短帧要采用上面所说的载波延伸的方法进行填充。但随后的一些短帧则可一个接一个地发送,它们之间只需留有必要的帧间最小间隔即可。这样就形成一串分组的突发,直到达到1500字节或稍多一些为止。当吉比特以太网工作在全双工方式时,不使用载波延伸和分组突发。
10吉比特以太网简称为 10 G E 10\mathrm{GE} 10GE,其正式标准是IEEE802.3ae,它的帧格式不变。10GE还保留了 802.3 802.3 802.3​​​标准规定的以太网最小和最大帧长。这就使用户在将其已有的以太网进行升级时,仍能和较低速率的以太网很方便地通信。
10GE的物理层则是新开发的。10GE有以下两种不同的物理层:
(1)局域网物理层LANPHY。局域网物理层的数据率是 10.000 G b i t / s 10.000\mathrm{Gbit}/\mathrm{s} 10.000Gbit/s(这表示是精确的 10 G b i t / s 10\mathrm{Gbit}/\mathrm{s} 10Gbit/s,因此一个 10 G E 10\mathrm{GE} 10GE交换机可以支持正好10个吉比特以太网接口。
(2)可选的广域网物理层WANPHY。为了使 10 G E 10\mathrm{GE} 10GE的帧能够揷入到OC-192/STM-64帧的有效载荷中,这种广域网物理层的数据率为 9.95328 G b i t / s 9.95328\mathrm{Gbit}/\mathrm{s} 9.95328Gbit/s
以太网从 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s 10 G b i t / s 10\mathrm{Gbit}/\mathrm{s} 10Gbit/s的演进,是因为以太网具有以下的一些优点:
(1)可扩展(从 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s 10 G b i t / s 10\mathrm{Gbit}/\mathrm{s} 10Gbit/s)。
(2)灵活(多种媒体、全/半双工、共享/交换)。
(3)易于安装。
(4)稳健性好。

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

解答:以太网交换机实质上就是一个多接口的网桥,它与工作在物理层的转发器和集线器有很大的差别。此外,以太网交换机的每个接口都直接与一个单个主机或另一个集线器相连,并且一般都工作在全双工方式。当主机需要通信时,交换机能同时连通许多对接口,使每一对相互通信的主机都能像独占传输媒体那样,无碰撞地传输数据。以太网交换机和透明网桥一样,也是一种即揷即用设备,其内部的帧转发表也是通过自学习算法自动地逐渐建立起来的。当两个站通信完成后就断开连接。以太网交换机由于使用了专用的交换结构芯片,其交换速率就较高。
对于普通 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s的共享式以太网,若共有 N N N个用户,则每个用户占有的平均带宽只有总带宽(10Mbit/s)的 N N N分之一。在使用以太网交换机时,虽然在每个接口到主机的带宽还是 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,因此对于拥有 N N N对接口的交换机的总容量为 N × 10 M b i t / s N\times10\mathrm{Mbit}/\mathrm{s} N×10Mbit/s。这正是交换机的最大优点。
以太网交换机一般都具有多种速率的接口,例如,具有 10 M b i t / s , 100 M b i t / s 10\mathrm{Mbit}/\mathrm{s},100\mathrm{Mbit}/\mathrm{s} 10Mbit/s,100Mbit/s 1 G b i t / s 1\mathrm{Gbit}/\mathrm{s} 1Gbit/s
的接口的各种组合,这就大大方便了各种不同情况的用户。
有一些交换机采用直通的交换方式,可以在接收数据帧的同时就立即按数据帧的目的MAC地址决定该帧的转发接口,因而提高了帧的转发速度。
利用以太网交换机可以很方便地实现虛拟局域网VLAN。虛拟局域网其实只是局域网给用户提供的一种服务,并不是一种新型局域网。
虛拟局域网VLAN是由一些局域网网段构成的、与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站属于哪一个VLAN。1988年IEEE批准了 802.3 a c 802.3\mathrm{ac} 802.3ac​标准,这个标准定义了以太网的帧格式的扩
展,以便支持虛拟局域网。虛拟局域网协议允许在以太网的帧格式中揷入一个4字节的标识符,称为VLAN标记,用来指明发送该帧的工作站属于哪一个虛拟局域网。如果还使用原来的以太网帧格式,显然就无法划分虛拟局域网。
这里假定有10个工作站分配在三个楼层中,已经构成了三个局域网,即:
L A N 1 : ( A 1 ,   A 2 ,   B 1 , C 1 ) , L A N 2 : ( A 3 ,   B 2 , C 2 ) , L A N 3 : ( A 4 ,   B 3 , C 3 ) \mathrm{LAN}_{1}:\left(\mathrm{A}_{1},\mathrm{~A}_{2},\mathrm{~B}_{1},\mathrm{C}_{1}\right),\quad\mathrm{LAN}_{2}:\left(\mathrm{A}_{3},\mathrm{~B}_{2},\mathrm{C}_{2}\right),\quad\mathrm{LAN}_{3}:\left(\mathrm{A}_{4},\mathrm{~B}_{3},\mathrm{C}_{3}\right) LAN1:(A1, A2, B1,C1),LAN2:(A3, B2,C2),LAN3:(A4, B3,C3)
假定现在需要划分为三个虛拟局域网VLAN。即:
V L A N 1 : ( A 1 ,   A 2 ,   A 3 ,   A 4 ) , V L A N 2 : ( B 1 ,   B 2 ,   B 3 ) , V L A N 3 : ( C 1 , C 2 , C 3 ) \mathrm{VLAN}_{1}:\left(\mathrm{A}_{1},\mathrm{~A}_{2},\mathrm{~A}_{3},\mathrm{~A}_{4}\right),\quad\mathrm{VLAN}_{2}:\left(\mathrm{B}_{1},\mathrm{~B}_{2},\mathrm{~B}_{3}\right),\quad\mathrm{VLAN}_{3}:\left(\mathrm{C}_{1},\mathrm{C}_{2},\mathrm{C}_{3}\right) VLAN1:(A1, A2, A3, A4),VLAN2:(B1, B2, B3),VLAN3:(C1,C2,C3)

计算机网络-数据链路层_第12张图片

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

计算机网络-数据链路层_第13张图片

解答:这里的9台主机和两个服务器都工作时的总吞吐量是 900 + 200 = 1100 M b i t / s 900+200=1100\mathrm{Mbit}/\mathrm{s} 900+200=1100Mbit/s。三个系各有一台主机分别访问两个服务器和通过路由器上网。其他主机在系内通信。

32.假定上一题的所有链路的速率仍然为100Mbit/s,但三个系的以太网交换机都换成为100Mbit/s​的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?

解答:这里的每个系是一个碰撞域,其最大吞吐量为100Mbit/s。加上每个服务器100Mbit/s的吞吐量,得出总的最大吞吐量为 500 M b i t / s 500\mathrm{Mbit}/\mathrm{s} 500Mbit/s

33.假定上上一题中的所有链路的速率仍然为100Mbit/s,但所有的以太网交换机都换成为100Mbit/s​​​​的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?

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

34.以太网交换机有6个接口,分别接到5台主机和一个路由器。在下面表中的“动作”一栏中,表示先后发送了4个帧。假定在开始时,以太网交换机的交换表是空的。试把该表中其他的栏目都填写完。
 动作   交换表的状态   向哪些接口转发帧   说明  A  发送帧给  D D  发送帧给  A E  发送帧给  A A  发送帧给  E \begin{array}{|l|l|l|l|} \hline \text { 动作 } & \text { 交换表的状态 } & \text { 向哪些接口转发帧 } & \text { 说明 } \\ \hline \mathrm{A} \text { 发送帧给 } \mathrm{D} & & & \\ \hline \mathrm{D} \text { 发送帧给 } \mathrm{A} & & & \\ \hline \mathrm{E} \text { 发送帧给 } \mathrm{A} & & & \\ \hline \mathrm{A} \text { 发送帧给 } \mathrm{E} & & & \\ \hline \end{array}  动作 A 发送帧给 DD 发送帧给 AE 发送帧给 AA 发送帧给 E 交换表的状态  向哪些接口转发帧  说明 

 动作   交换表的状态   向哪些接口转发帧   说明  A  发送帧给  D  写入  ( A , 1 )  所有的接口   开始时交换表是空的, 交换机不知道应向何接口转发帧  D  发送帧给  A  写入  ( D , 4 ) A  交换机已知道  A  连接在接ロ  1 E  发送帧给  A  写入  ( E , 5 ) A  交换机己知道  A  连接在接口  1 A  发送帧给  E  不变  E  交换机己知道  E  连接在接口  5 \begin{array}{|l|l|l|l|} \hline \text { 动作 } & \text { 交换表的状态 } & \text { 向哪些接口转发帧 } & \text { 说明 } \\ \hline \mathrm{A} \text { 发送帧给 } \mathrm{D} & \text { 写入 }(\mathrm{A}, 1) & \text { 所有的接口 } & \text { 开始时交换表是空的, 交换机不知道应向何接口转发帧 } \\ \hline \mathrm{D} \text { 发送帧给 } \mathrm{A} & \text { 写入 }(\mathrm{D}, 4) & \mathrm{A} & \text { 交换机已知道 } \mathrm{A} \text { 连接在接ロ } 1 \\ \hline \mathrm{E} \text { 发送帧给 } \mathrm{A} & \text { 写入 }(\mathrm{E}, 5) & \mathrm{A} & \text { 交换机己知道 } \mathrm{A} \text { 连接在接口 } 1 \\ \hline \mathrm{A} \text { 发送帧给 } \mathrm{E} & \text { 不变 } & \mathrm{E} & \text { 交换机己知道 } \mathrm{E} \text { 连接在接口 } 5 \\ \hline \end{array}  动作 A 发送帧给 DD 发送帧给 AE 发送帧给 AA 发送帧给 E 交换表的状态  写入 (A,1) 写入 (D,4) 写入 (E,5) 不变  向哪些接口转发帧  所有的接口 AAE 说明  开始时交换表是空的交换机不知道应向何接口转发帧  交换机已知道 A 连接在接ロ 1 交换机己知道 A 连接在接口 1 交换机己知道 E 连接在接口 5

35.有两台主机 A \mathrm{A} A​和 B \mathrm{B} B​接在800m长的电缆线的两端,并在 t = 0 t=0 t=0​时各自向对方发送一个帧,长度为1500bit(包括首部和前同步码)。假定在 A \mathrm{A} A​和 B \mathrm{B} B​之间有4个转发器,在转发帧时会产生20比特的时延。设传输速率为100Mbit/s,而CSMA/CD的退避时间是随机数 r r r​倍的争用期,争用期为512bit,在发生第一次碰撞后,在退避时 A \mathrm{A} A​选择 r = 0 r=0 r=0​而 B \mathrm{B} B​选择 r = 1 r=1 r=1​。忽略发生碰撞后的人为干扰信号和帧间最小间隔。
(1)设信号的传播速率是 2 × 1 0 8   m / s 2×10^{8}\mathrm{~m}/\mathrm{s} 2×108 m/s​。试计算从 A \mathrm{A} A​到 B \mathrm{B} B​(包括4个转发器)的传播时延。
(2)在什么时间(以秒为单位)B完全收到了 A \mathrm{A} A​发送的帧?
(3)现在假定只有 A \mathrm{A} A​​发送帧,帧长仍为 1500 b i t 1500\mathrm{bit} 1500bit​,但4个转发器都用交换机来代替。交换机在进行存储转发时还要产生额外的 20 b i t 20\mathrm{bit} 20bit​​​的处理时延。在什么时间(以秒为单位)B完全收到了A发送的帧?

解答:
(1)从A到B(包括4个转发器)的传播时延
= 800   m 2 × 1 0 8   m / s + 4 × 20 b i t 100 × 1 0 6 b i t / s = ( 4 × 1 0 − 6 + 0.8 × 1 0 − 6 ) = 4.8 μ s \begin{aligned} &=\frac{800 \mathrm{~m}}{2 \times 10^{8} \mathrm{~m} / \mathrm{s}}+4 \times \frac{20 \mathrm{bit}}{100 \times 10^{6} \mathrm{bit} / \mathrm{s}} \\ &=\left(4 \times 10^{-6}+0.8 \times 10^{-6}\right)=4.8 \mu \mathrm{s} \end{aligned} =2×108 m/s800 m+4×100×106bit/s20bit=(4×106+0.8×106)=4.8μs
(2)发送1帧需要的时间是 1500 / ( 100 M b i t / s ) = 15 μ s 1500/(100\mathrm{Mbit}/\mathrm{s})=15\mu\mathrm{s} 1500/(100Mbit/s)=15μs​​,比从 A \mathrm{A} A​​到 B \mathrm{B} B​​传播一个比特所需的
时间还要多。
t = 0 t=0 t=0​​时, A \mathrm{A} A​​和 B \mathrm{B} B​​同时发送帧。在 t = 4.8 μ s t=4.8\mu\mathrm{s} t=4.8μs​​时, A \mathrm{A} A​​和 B \mathrm{B} B​​都检测出碰撞。
t = 9.6 μ s t=9.6\mu\mathrm{s} t=9.6μs​​时,B终止发送的帧的最后一个比特到达 A 。   A \mathrm{A}。\mathrm{~A} A A​​立即重传。
在14.4μs时, A \mathrm{A} A重传帧的第一个比特到达 B \mathrm{B} B A \mathrm{A} A发送 1500 b i t 1500\mathrm{bit} 1500bit需要的时间是 1500 / 1 0 8 = 15 μ s 1500/10^{8}=15\mu\mathrm{s} 1500/108=15μs
t = 29.4 μ s t=29.4\mu\mathrm{s} t=29.4μs时, A \mathrm{A} A重传帧的最后一个比特到达 B \mathrm{B} B
(3)整个传输链路被4个交换机分成5个网段。在主机和交换机之间或两个交换机之间的传播时延是:每一段电缆长度 160   m 160\mathrm{~m} 160 m​​除以电磁波的传播速率 2 × 1 0 8   m / s 2\times10^{8}\mathrm{~m}/\mathrm{s} 2×108 m/s,算出为 0.8 μ s 0.8\mu\mathrm{s} 0.8μs。因此总的传播时延是 5 × 0.8 = 4 μ s 5\times0.8=4\mu\mathrm{s} 5×0.8=4μs
主机A和4个交换机的发送时延一共是 5 × 15 = 75 μ s 5\times15=75\mu\mathrm{s} 5×15=75μs
4个交换机的处理时延是 4 × 0.2 = 0.8 μ s 4\times0.2=0.8\mu\mathrm{s} 4×0.2=0.8μs
因此,B收完 A \mathrm{A} A所发送的帧总共经历的时延 = 4 + 75 + 0.8 = 79.8   μ S =4+75+0.8=79.8~\mu\mathrm{S} =4+75+0.8=79.8 μS​​​​。

36.假定一个以太网上的通信量中的80%是在本局域网上进行的,而其余的20%的通信量是在本局域网和互联网之间进行的。另一个以太网的情况则反过来。这两个以太网一个使用以太网集线器,而另一个使用以太网交换机。你认为以太网交换机应当用在哪一个网络上?(本题的目的是要学生能够清楚地知道以太网集线器和以太网交换机的区别。本题并没有一个标准答案)。

分析:使用集线器的以太网最主要的特点是:这种局域网在逻辑上仍是一个总线网,局域网上的各主机共享逻辑上的总线,使用的还是CSMA/CD协议(更具体些说,是各主机中的适配器执行CSMA/CD协议)。网络中的各主机必须竞争对传输媒体的控制,同一时刻至多只允许一个主机发送数据。
使用交换机的以太网最主要的特点是:交换机的每个接口都直接与一个单个主机或另一个集线器相连,并且一般都工作在全双工方式。当主机需要通信时,交换机能同时连通许多对接口,使每一对相互通信的主机都能像独占通信媒体那样,无碰撞地传输数据。
设以太网 E 1 \mathrm{E}_{1} E1​上的通信量中的 80 % 80\% 80%​是在本局域网上进行的,而其余的 20 % 20\% 20%​的通信量是在本局域网和互联网之间进行的。设以太网 E 2 \mathrm{E}_{2} E2​上的通信量中的 20 % 20\% 20%​是在本局域网上进行的,而其余的 80 % 80\% 80%​的通信量是在本局域网和互联网之间进行的。
交换机的性能显然优于集线器性能。那么,哪个以太网(E 1 _{1} 1​或 E 2 \mathrm{E}_{2} E2​)应当使用交换机呢?
如果以太网的管理者认为,确保局域网上的主机相互通信是最为重要的,那么就应当把交换机安装在以太网 E 1 \mathrm{E}_{1} E1上。这样可以保证能够有多对局域网上的主机同时进行通信。反之,如果把集线器安装在以太网 E 1 \mathrm{E}_{1} E1上,那么在同一时间,在局域网上就只能有一对主机进行通信。
如果以太网的管理者认为,确保局域网上的主机能够上互联网是最为重要的,那么就应当把交换机安装在以太网 E 2 \mathrm{E}_{2} E2上。但要注意,局域网上的主机要上互联网,首先必须经过本局域网上的路由器。如果以太网 E 2 E_{2} E2上只有一个路由器,那么在同一时间还是只有一个主机能㿟通过这个路由器上网。当某个主机通过这个路由器连接到互联网时,这个局域网上的其他主机就无法再和这个路由器相连。除非这个局域网上有好几个路由器,而通过这些路由器都能够连接到互联网。那么在这种情况下,在这个局域网中使用交换机就可以使多个主机同时接入到互联网。请注意,在使用集线器的以太网中,不管这个局域网上有多少个路由器,在同一时间,只能有一个主机与某一个路由器相连。

37.网桥的工作原理和特点是什么?网桥与转发器以及以太网交换机有何异同?

解答:网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发和过滤。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤),网桥依靠转发表来转发帧。转发表也叫做转发数据库或路由目录。使用网桥可以带来以下好处:
(1)过滤通信量,增大吞吐量。
(2)扩大了物理范围,因而也增加了整个以太网上工作站的最大数目。
(3)提高了可靠性。当网络出现故障时,一般只影响个别网段。
(4)可互连不同物理层、不同MAC子层和不同速率(如 10 M b i t / s 10\mathrm{Mbit}/\mathrm{s} 10Mbit/s和100Mbit/s以太网 ) ) )的以太网。

当然,网桥也有一些缺点,例如:
(1)由于网桥对接收的帧要先存储和查找转发表,然后才转发,而转发之前,还必须执行CSMA/CD算法(发生碰撞时要退避 ) ) ),这就增加了时延。
(2)在MAC子层并没有流量控制功能。当网络上的负荷很重时,网桥中的缓存空间可能不够而发生溢出,以致产生帧丢失的现象。
(3)网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。
网桥与转发器最大的区别就是工作的层次不同。网桥工作在数据链路层,它根据 M A C \mathrm{MAC} MAC帧的目的地址对收到的帧进行转发和过滤。而转发器工作在物理层,用来连接以太网的不同网段,以便扩展以太网的覆盖范围。转发器的特点是收到一个比特就转发一个比特,而不进行碰撞检测,也不管整个的帧是有效帧还是无效帧。转发器在过去广泛用于粗缆或细缆以太网,但随着双绞线以太网成为以太网的主流类型,目前已很少使用了。
以太网交换机实质上就是一个多接口的网桥,它的每个接口都直接与一个单个主机或另个集线器相连(注意:普通网桥的接口往往是连接到以太网的一个网段),并且一般都工作在全双工方式。

38.有五个站分别连接在三个局域网上,并且用网桥 B 1 \mathrm{B}_{1} B1 B 2 \mathrm{B}_{2} B2​​连接起来。每一个网桥都有两个接口(1和2)。在一开始,两个网桥中的转发表都是空的。以后有以下各站向其他的站按先后顺序发送了数据帧:发A送给E,C发送给B,D发送给C,B发送给A。填写下表。

计算机网络-数据链路层_第14张图片

 发送的帧   B1地址   B1接口   B2地址   B2接口   B1(转发? 丢弃? 登记?)   B2(转发? 丢弃? 登记?)  A → E C → B D → C B → A \begin{array}{|c|l|l|l|l|l|l|} \hline \text { 发送的帧 } & \text { B1地址 } & \text { B1接口 } & \text { B2地址 } & \text { B2接口 } & \text { B1(转发? 丢弃? 登记?) } & \text { B2(转发? 丢弃? 登记?) } \\ \hline \mathrm{A} \rightarrow \mathrm{E} & & & & & & \\ \hline \mathrm{C} \rightarrow \mathrm{B} & & & & & & \\ \hline \mathrm{D} \rightarrow \mathrm{C} & & & & & & \\ \hline \mathrm{B} \rightarrow \mathrm{A} & & & & & & \\ \hline \end{array}  发送的帧 AECBDCBA B1地址  B1接口  B2地址  B2接口  B1(转发丢弃登记?)  B2(转发丢弃登记?) 

 发送的帧   B1地址   B1接口   B2地址   B2接口   B1(转发? 丢弃? 登记?)   B2(转发? 丢弃? 登记?)  A → E  A   1   A   1  转发,写入转发表   转发,写入转发表  C → B  C   2   C   1   转发,写入转发表   转发,写入转发表  D → C  D   2   D   2   写入转发表,丢弃不转发   转发,写入转发表  B → A  B   1   写入转发表,丢弃不转发   接收不到这个帧  \begin{array}{|c|l|l|l|l|l|l|} \hline \text { 发送的帧 } & \text { B1地址 } & \text { B1接口 } & \text { B2地址 } & \text { B2接口 } & \text { B1(转发? 丢弃? 登记?) } & \text { B2(转发? 丢弃? 登记?) } \\ \hline \mathrm{A} \rightarrow \mathrm{E} &\text { A } &\text { 1 } &\text { A } &\text { 1} &\text { 转发,写入转发表 } &\text { 转发,写入转发表 } \\ \hline \mathrm{C} \rightarrow \mathrm{B} &\text { C } &\text { 2 } & \text { C }&\text { 1 } &\text { 转发,写入转发表 } &\text { 转发,写入转发表 } \\ \hline \mathrm{D} \rightarrow \mathrm{C} & \text { D }&\text { 2 } &\text { D } & \text { 2 }&\text { 写入转发表,丢弃不转发 } &\text { 转发,写入转发表 } \\ \hline \mathrm{B} \rightarrow \mathrm{A} & \text { B }&\text { 1 } & & &\text { 写入转发表,丢弃不转发 } &\text { 接收不到这个帧 } \\ \hline \end{array}  发送的帧 AECBDCBA B1地址  A  C  D  B  B1接口  1  2  2  1  B2地址  A  C  D  B2接口  1 1  2  B1(转发丢弃登记?)  转发,写入转发表  转发,写入转发表  写入转发表,丢弃不转发  写入转发表,丢弃不转发  B2(转发丢弃登记?)  转发,写入转发表  转发,写入转发表  转发,写入转发表  接收不到这个帧 

A→E:
B 1 \mathrm{B}_{1} B1收到此帧时转发表是空的,因此加上收到的帧的源地址 A \mathrm{A} A和这个帧到达的接口1,即 ( A , 1 ) (\mathrm{A},1) (A,1)。收到的帧的目的地址在转发表中没有,因此该帧从接口2转发出去,发送到 L A N 2 \mathrm{LAN}_{2} LAN2。当 B 2 \mathrm{B}_{2} B2收到此帧时,按同样步骤处理。LA N 3 \mathrm{N}_{3} N3上面的 E \mathrm{E} E站收到此帧。

C → B \mathrm{C}\rightarrow\mathrm{B} CB:
B 1 \mathrm{B}_{1} B1 B 2 \mathrm{B}_{2} B2都收到此帧,因为它们和 C \mathrm{C} C连接在同一个局域网上。 B 1 \mathrm{B}_{1} B1的转发表没有 C \mathrm{C} C,因此将(C,2)加上,并从接口1转发到 L A N 1 \mathrm{LAN}_{1} LAN1 L A N 1 \mathrm{LAN}_{1} LAN1上面的 B \mathrm{B} B站收到此帧。 B 2 \mathrm{B}_{2} B2的转发表也没有C,因此将(C,1)加上,并从接口2转发到 L A N 3 \mathrm{LAN}_{3} LAN3。这个局域网上各站都将丢弃这个帧。

D → C \mathrm{D}\rightarrow\mathrm{C} DC:
B 2 \mathrm{B}_{2} B2收到此帧时,转发表上没有D,因此将(D,2)加上。再查 B 2 \mathrm{B}_{2} B2的转发表,收到此帧的目的地址 C \mathrm{C} C在转发表上有这一项,其接口是1,因此从相应的接口1转发出去。C收到此帧。 B 1 \mathrm{B}_{1} B1收到此帧后,将(D,2)加上。再找目的地址 C \mathrm{C} C。因为与 C \mathrm{C} C对应的转发接口2与此帧到达的接口2一样,因此 B 1 \mathrm{B}_{1} B1​​将不再转发此帧,而是丢弃它。

B → A \mathrm{B}\rightarrow\mathrm{A} BA:
B 1 \mathrm{B}_{1} B1收到此帧时将 B \mathrm{B} B和接口1写入转发表,即 ( B , 1 ) (\mathrm{B},1) (B,1)。再查找 B 1 \mathrm{B}_{1} B1转发表,收到此帧的目的地址 A \mathrm{A} A在转发表中有这一项,其接口是1,与此帧的到达接口一样,不再需要转发,故丢弃此帧。 B 2 \mathrm{B}_{2} B2收不到此帧,无法在转发表中写入 B \mathrm{B} B的转发信息。可以看出, B → A \mathrm{B}\rightarrow\mathrm{A} BA的通信不涉及 L A N 2 \mathrm{LAN}_{2} LAN2 L A N 3 \mathrm{LAN}_{3} LAN3​。

计算机网络-数据链路层_第15张图片

数据链路层属于计算机网络的低层。数据链路层使用的信道主要有以下两种类型:
(1)点对点信道。这种信道使用一对一的点对点通信方式。
(2)广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

计算机网络-数据链路层_第16张图片

本章中我们研究的是在同一个局域网中,分组怎样从一台主机传送到另一台主机,但并不经过路由器转发。从整个互联网来看,局域网仍属于数据链路层的范围。

计算机网络-数据链路层_第17张图片

本章最重要的内容是:
(1)数据链路层的点对点信道和广播信道的特点,以及这两种信道所使用的协议(PPP协议以及CSMA/CD协议)的特点。
(2)数据链路层的三个基本问题:封装成帧、透明传输和差错检测。
(3)以太网MAC层的硬件地址。
(4)适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合。

使用点对点信道的数据链路层

数据链路和帧

**链路(link)**是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。

  • 一条链路只是一条通路的一个组成部分。

数据链路(datalink)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

  • 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。
  • 一般的适配器都包括了数据链路层和物理层这两层的功能。

也有人采用另外的术语。这就是把链路分为物理链路和逻辑链路。
物理链路就是上面所说的链路。
逻辑链路就是上面的数据链路,是物理链路加上必要的通信协议。
早期的数据通信协议曾叫做通信规程(procedure)。因此在数据链路层,规程和协议是同义语。

计算机网络-数据链路层_第18张图片

常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。
数据链路层不必考虑物理层如何实现比特传输的细节。甚至还可以更简单地设想好像是沿着两个数据链路层之间的水平方向把帧直接发送到对方。

点对点信道的数据链路层在进行通信时的主要步骤如下:
(1)结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。
(2)结点A把封装好的帧发送给结点B的数据链路层。
(3)若结点B​的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧。

在这里插入图片描述

三个基本问题(帧、透明、差错)

数据链路层协议有许多种,但有三个基本问题则是共同的。这三个基本问题是:封装成帧、透明传输、差错控制

封装成帧

封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
首部和尾部的一个重要作用就是进行帧定界

为了提高帧的传输效率,应当使帧的数据部分长度尽可能地大于首部和尾部的长度。但是,每一种链路层协议都规定了所能传送的帧的数据部分长度上限一一最大传送单元MTU(MaximumTransferUnit)

计算机网络-数据链路层_第19张图片

当数据是由可打印的ASCII码组成的文本文件时,帧定界可以使用特殊的帧定界符
**控制字符SOH(StartOfHeader)放在一帧的最前面,表示帧的首部开始。另一个控制字符EOT(EndOfTransmission)**表示帧的结束,16进制编码分别是01(二进制是00000001)和04(二进制是00000100)。

ASCII码是7位编码,一共可组合成128个不同的ASCII码,其中可打印的有95个,而不可打印的控制字符有33个。
计算机网络-数据链路层_第20张图片

透明传输

如果数据中的某个字节的二进制代码恰好和SOH或EOT一样,数据链路层就会错误地“找到帧的边界”。

当传送的帧是用文本文件组成的帧时(文本文件中的字符都是从键盘上输入的),其数据部分显然不会出现像SOH或EOT这样的帧定界控制字符。可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。

但当数据部分是非ASCII码的文本文件时(如二进制代码的计算机程序或图像等),情况就不同了。如果数据中的某个字节的二进制代码恰好和 S O H \mathrm{SOH} SOH或EOT这种控制字符一样,数据链路层就会错误地“找到帧的边界”,把部分帧收下(误认为是个完整的帧),而把剩下的那部分数据丢弃(这部分找不到帧定界控制字符SOH)。

计算机网络-数据链路层_第21张图片

解决方法:字节填充(bytestuffing)或字符填充(characterstuffing)
发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。
接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

“在数据链路层透明传送数据”表示无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层。

计算机网络-数据链路层_第22张图片

差错检测

在传输过程中可能会产生比特差错:1可能会变成0,而0也可能变成1。

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(BitErrorRate)
误码率与信噪比有很大的关系。
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
在数据链路层传送的帧中,广泛使用了循环冗余检验CRC(CyclicRedundancyCheck)的检错技术

在发送端,先把数据划分为组。假定每组k个比特。
在每组M后面再添加供差错检测用的n位冗余码,然后一起发送出去。

计算机网络-数据链路层_第23张图片

冗余码的计算如下

用二进制的模2运算进行2n乘M的运算,这相当于在M后面添加n个0。
得到的(k+n)位的数除以事先选定好的长度为(n+1)位的除数P,得出商是Q而余数是R,余数R比除数P少1位,即R是n位。
将余数R作为冗余码拼接在数据M后面,一起发送出去。

补充

模2加法,异或,相同0,不同1

1+1=0+0=0

1+0=0+1=1

模2减法运算定义为:

0-0=01-1=0

0-1=11-0=1

模2乘法,对中间结果的处理方式采用的是模2加法

0×0=00×1=01×0=01×1=1

按照模2除法运算法则,不进位,余数首位是1就商1,是0就商0

0÷1=01÷1=1

计算机网络-数据链路层_第24张图片

接收端对收到的每一帧进行CRC检验

(1)若得出的余数R=0,则判定这个帧没有差错,就接受(accept)。
(2)若余数R≠0,则判定这个帧有差错,就丢弃。
但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。
只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。

举个例子

现在k=6,M=101001。
设n=3,除数P=1101,
被除数是2nM=101001000。
模2运算的结果是:商Q=110101,余数R=001。
把余数R作为冗余码添加在数据M的后面发送出去。发送的数据是:2nM+R,即:101001001,共(k+n)位。

计算机网络-数据链路层_第25张图片

原始数据M=101001
除数P=1101

得到:
发送数据=101001001

一种较方便的方法是用多项式来表示循环冗余检验过程。在上面的例子中,用多项式 P ( X ) = X 3 + X 2 + 1 P(X)=X^{3}+X^{2}+1 P(X)=X3+X2+1表示上面的除数 P = 1101 P=1101 P=1101(最高位对应于 X 3 X^{3} X3,最低位对应于 X 0 ) \left.X^{0}\right) X0)。多项式 P ( X ) P(X) P(X)称为生成多项式。现在广泛使用的生成多项式 P ( X ) P(X) P(X)有以下几种:
C R C − 16 = X 16 + X 15 + X 2 + 1 \mathrm{CRC}-16=X^{16}+X^{15}+X^{2}+1 CRC16=X16+X15+X2+1
C R C − C C I T T = X 16 + X 12 + X 5 + 1 \mathrm{CRC}-\mathrm{CCITT}=X^{16}+X^{12}+X^{5}+1 CRCCCITT=X16+X12+X5+1
C R C − 32 = X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1 \mathrm{CRC}-32=X^{32}+X^{26}+X^{23}+X^{22}+X^{16}+X^{12}+X^{11}+X^{10}+X^{8}+X^{7}+X^{5}+X^{4}+X^{2}+X+1 CRC32=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1

在数据后面添加上的冗余码称为帧检验序列FCS(FrameCheckSequence)
循环冗余检验CRC和帧检验序列FCS并不等同。

  • CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。
  • FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。

注意事项

  • 仅用循环冗余检验CRC差错检测技术只能做到无差错接受(accept)

  • “无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。
    也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。

  • 单纯使用CRC差错检测技术不能实现“无差错传输”或“可靠传输”

    例如接到的帧并没有出现比特差错,但却出现了帧丢失、帧重复或帧失序。例如,发送方连续传送三个帧:[#1]-[#2]-[#3]。假定接收端收到的每一个帧都没有比特差错,但却出现下面的几种情况:
    帧丢失:收到[#1]-[#3](圭失[#2])。
    帧重复:收到[#1]-[#2]-[#2]-[#3](收到两个[#2])。
    帧失序:收到[#1]-[#3]-[#2](后发帧反先到达了接收端,与一般数据链路层的传输概念不一样)。
    以上三种情况都属于“出现传输差错”,但都不是这些帧里有“比特差错”。帧丢失很

  • 应当明确,“无比特差错”与“无传输差错”是不同的概念。

  • 在数据链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。

  • 要做到“无差错传输”(即发送什么就收到什么)就必须再加上确认和重传机制

  • 本章介绍的数据链路层协议都不是可靠传输的协议。

对于通信质量良好的有线传输链路,数据链路层协议不使用确认和重传机制,即不求数据链路层向上提供可靠传输的服务。如果在数据链路层传输数据时出现了差错并且需要进行改正,那么改正差错的任务就由上层协议(例如,运输层的TCP协议)来完成。
对于通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制,数据链路层向上提供可靠传输的服务(见第9章)。实践证明,这样做可以提高通信效率。

CRC多项式的对应关系
N K  码距  d G ( x )  多项式  G ( x ) 7 4 3 x 2 + x + 1 1011 7 4 3 x 2 + x 2 + 1 1101 7 3 4 x 4 + x 2 + x 2 + 1 11101 7 3 4 x 4 + x 2 + x + 1 10111 15 11 3 x 4 + x + 1 10011 15 7 5 x 8 + x 7 + x 6 + x 4 + 1 111010001 31 26 3 x 5 + x 2 + 1 100101 31 21 5 x 10 + x 9 + x 8 + x 6 + x 5 + x 2 + 1 11101101001 63 57 3 x 6 + x + 1 1000011 \begin{array}{|l|l|l|l|l|} \hline \mathrm{N} & \mathrm{K} & \text { 码距 } \mathrm{d} & \mathrm{G}(\mathrm{x}) \text { 多项式 } & \mathrm{G}(\mathrm{x}) \\ \hline 7 & 4 & 3 & \mathrm{x}^{2}+\mathrm{x}+1 & 1011 \\ \hline 7 & 4 & 3 & \mathrm{x}^{2}+\mathrm{x}^{2}+1 & 1101 \\ \hline 7 & 3 & 4 & x^{4}+x^{2}+x^{2}+1 & 11101 \\ \hline 7 & 3 & 4 & x^{4}+x^{2}+x+1 & 10111 \\ \hline 15 & 11 & 3 & x^{4}+x+1 & 10011 \\ \hline 15 & 7 & 5 & x^{8}+x^{7}+x^{6}+x^{4}+1 & 111010001 \\ \hline 31 & 26 & 3 & x^{5}+x^{2}+1 & 100101 \\ \hline 31 & 21 & 5 & x^{10}+x^{9}+x^{8}+x^{6}+x^{5}+x^{2}+1 & 11101101001 \\ \hline 63 & 57 & 3 & x^{6}+x+1 & 1000011 \\ \hline \end{array} N77771515313163K4433117262157 码距 d334435353G(x) 多项式 x2+x+1x2+x2+1x4+x2+x2+1x4+x2+x+1x4+x+1x8+x7+x6+x4+1x5+x2+1x10+x9+x8+x6+x5+x2+1x6+x+1G(x)10111101111011011110011111010001100101111011010011000011

PPP协议

在通信线路质量较差的年代,在数据链路层使用可靠传输协议曾经是一种好办法。因此,能实现可靠传输的高级数据链路控制HDLC(High-levelDataLinkControl)就成为当时比较流行的数据链路层协议。但现在HDLC已很少使用了。对于点对点的链路,简单得多的点对点协议PPP(Point-to-PointProtocol)则是目前使用得最广泛的数据链路层协议。

协议特点

对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议PPP(Point-to-PointProtocol)。
PPP协议在1994年就已成为互联网的正式标准。[RFC1661]

协议要求

总结:简单:这是首要的要求;封装成帧:必须规定特殊的字符作为帧定界符;透明性:必须保证数据传输的透明性;多种网络层协议:能够在同一条物理链路上同时支持多种网络层协议;多种类型链路:能够在多种类型的链路上运行;差错检测:能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。

(1)简单:IETF在设计互联网体系结构时把其中最复杂的部分放在TCP协议中,而网际协议IP则相对比较简单,它提供的是不可靠的数据报服务。在这种情况下,数据链路层没有必要提供比IP协议更多的功能。因此,对数据链路层的帧,不需要纠错,不需要序号,也不需要流量控制。IETF把**“简单”作为首要的需求**。
简单的设计还可使协议在实现时不容易出错,从而使不同厂商在协议的不同实现上的互操作性提高了。我们知道,协议标准化的一个主要目的就是提高协议的互操作性。
总之,这种数据链路层的协议非常简单:接收方每收到一个帧,就进行CRC检验。如CRC检验正确,就收下这个帧;反之,就丢弃这个帧,其他什么也不做
(2)封装成帧:协议必须规定特殊的字符作为帧定界符(即标志一个帧的开始和结束的字符),以便使接收端从收到的比特流中能准确地找出帧的开始和结束位置。
(3)透明性:PPP协议必须保证数据传输的透明性。这就是说,如果数据中碰巧出现了和帧定界符一样的比特组合时,就要采取有效的措施来解决这个问题(之后说明)。
(4)多种网络层协议:PPP协议必须能够在在同一条物理链路上同时支持多种网络层协议(如IP和IPX等)的运行。当点对点链路所连接的是局域网或路由器时,协议PPP必须同时支持在链路所连接的局域网或路由器上运行的各种网络层协议。
(5)多种类型链路:除了要支持多种网络层的协议外,PPP还必须能够在多种类型的链路上运行。例如,串行的(一次只发送一个比特)或并行的(一次并行地发送多个比特),同步的或异步的,低速的或高速的,电的或光的,交换的(动态的)或非交换的(静态的)点对点链路。
这里特别要提到的是在1999年公布的在以太网上运行的PPP,即PPPoverEthernet,简称为PPPoE[RFC2516],这是PPP协议能够适应多种类型链路的一个典型例子。PPPoE是为宽带上网的主机使用的链路层协议。这个协议把PPP帧再封装在以太网帧中(当然还要增加一些能够识别各用户的功能)。宽带上网时由于数据传输速率较高,因此可以让多个连接在以太网上的用户共享一条到ISP的宽带链路。现在,即使是只有一个用户利用ADSL进行宽带上网(并不和其他人共享到ISP的宽带链路),也是使用PPPoE协议。
(6)差错检测(errordetection):PPP协议必须能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。若在数据链路层不进行差错检测,那么已出现差错的无用帧就还要在网络中继续向前转发,因而会白白浪费许多的网络资源。
(7)检测连接状态:PPP协议必须具有一种机制能够及时(不超过几分钟)自动检测出链路是否处于正常工作状态。当出现故障的链路隔了一段时间后又重新恢复正常工作时,就特别需要有这种及时检测功能。
(8)最大传送单元:PPP协议必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值。这样做是为了促进各种实现之间的互操作性。如果高层协议发送的分组过长并超过的数MTU值(MTU的默认值是1500字节。在RFC1661中,MTU叫做最大接收单元MRU(MaximumReceiveUnit),就要PPP丢弃这样的帧,并返回差错。需要强调的是,MTU是数据链路层的帧可以载荷的数据部分的最大长度,而不是帧的总长度。
(9)网络层地址协商:PPP协议必须提供一种机制使通信的两个网络层(例如,两个IP层)的实体能够通过协商知道或能够配置彼此的网络层地址。协商的算法应尽可能简单,并且能够在所有的情况下得出协商结果。这对拨号连接的链路特别重要,因为如果仅仅在链路层建立了连接而不知道对方网络层地址,则还不能够保证网络层可以传送分组。
(10)数据压缩协商:PPP协议必须提供一种方法来协商使用数据压缩算法。但PPP协议并不要求将数据压缩算法进行标准化。在TCP/IP协议族中,可靠传输由运输层的TCP协议负责,因此数据链路层的PPP协议不需要进行纠错,不需要设置序号,也不需要进行流量控制。PPP协议不支持多点线路(即一个主站轮流和链路上的多个从站进行通信),而只支持点对点的链路通信。此外,PPP协议只支持全双工链路。

不需要考虑的问题

纠错
流量控制
序号
多点线路
半双工或单工链路

协议组成部分

PPP协议有三个组成部分:

(1)一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶检验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP​帧中就是其信息部分。这个信息部分的长度受最大传送单元MTU的限制。
(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP(LinkControlProtocol)。通信的双方可协商一些选项。在RFC1661中定义了11种类型的LCP分组。
(3)一套**网络控制协议NCP(NetworkControlProtocol)**​​,其中的每一个协议支持不同的网络层协议,如IP、OSI的网络层、DECnet,以及AppleTalk等。

PPP协议的帧格式
基本格式

计算机网络-数据链路层_第26张图片

PPP帧的首部和尾部分别为4个字段和2个字段。
标志字段F=0x7E(符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是01111110)。
地址字段A只置为0xFF。地址字段实际上并不起作用。
控制字段C通常置为0x03
PPP是面向字节的,所有的PPP帧的长度都是整数字节。

PPP有一个2个字节的协议字段。其值

  • 若为0x0021,则信息字段就是IP数据报。
  • 若为0x8021,则信息字段是网络控制数据。
  • 若为0xC021,则信息字段是PPP链路控制数据。
  • 若为0xC023,则信息字段是鉴别数据。

尾部中的第一个字段(2字节)是使用CRC的帧检验序列FCS。

透明传输的问题

当PPP用在异步传输时,就使用一种特殊的字符填充法。
当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充(和HDLC的做法一样)。

字符填充

当信息字段中出现和标志字段一样的比特(0x7E)组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。

当PPP使用异步传输时,它把转义符定义为0x7D(即01111101),并使用字节填充,RFC1662规定了如下所述的填充方法:

将信息字段中出现的每一个0x7E字节(01111110)转变成为2字节序列(0x7D,0x5E)。(111101,1011110)
若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列(0x7D,0x5D)。
若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。

在这里插入图片描述

零比特传输

PPP协议用在SONET(SynchronousOpticalNetwork光纤同步网)/SDH链路时,使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。
在发送端,只要发现有5个连续1,则立即填入一个0
接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除。

计算机网络-数据链路层_第27张图片

不提供使用序号和确认的可靠传输

PPP协议之所以不使用序号和确认机制是出于以下的考虑:

  • 数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。
  • 在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
  • 帧检验序列FCS字段可保证无差错接受

PPP协议的工作状态

当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。
这些分组及其响应选择一些PPP参数,并进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机。
通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。
可见,PPP协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

计算机网络-数据链路层_第28张图片

PPP链路的起始和终止状态永远是**“链路静止”(LinkDead)状态**,这时在用户个人电脑和ISP的路由器之间并不存在物理层的连接。

当用户个人电脑通过调制解调器呼叫路由器时(通常是在屏幕上用鼠标点击一个连接按钮),路由器就能够检测到调制解调器发出的载波信号。在双方建立了物理层连接后,PPP就进入**“链路建立”(LinkEstablish)状态**,其目的是建立链路层的LCP连接。

这时LCP开始协商一些配置选项,即发送LCP的配置请求帧(Configure-Request)。这是个PPP帧,其协议字段置为{LCP对应的代码,而信息字段包含特定的配置请求。链路的另一端可以发送以下几种响应中的一种:

  • (1)配置确认帧(Configure-Ack):所有选项都接受。
  • (2)配置否认帧(Configure-Nak):所有选项都理解但不能接受。
  • (3)配置拒绝帧(Configure-Reject):选项有的无法识别或不能接受,需要协商。

LCP配置选项包括链路上的最大帧长、所使用的**鉴别协议(Authentication-Protocol)**的规约(如果有的话),以及不使用PPP帧中的地址和控制字段(因为这两个字段的值是固定的,没有任何信息量,可以在PPP帧的首部中省略这两个字节)。

协商结束后双方就建立了LCP链路,接着就进入“鉴别”(Authenticate)状态。在这状态,只允许传送LCP协议的分组、鉴别协议的分组以及监测链路质量的分组。若使用口令鉴别协议PAP(Password-Authentication-Protocol),则需要发起通信的一方发送身份标识符和口令。系统可允许用户重试若干次。如果需要有更好的安全性,则可使用更加复杂的口令握手鉴别协议CHAP(Challenge-HandshakeAuthenticationProtocol)。若鉴别身份失败,则转到**“链路终止”(Link-Terminate)**状态。若鉴别成功,则进入“网络层协议”(Network-Layer-Protocol)状态。

“网络层协议”状态,PPP链路的两端的网络控制协议NCP根据网络层的不同协议互相交换网络层特定的网络控制分组。这个步骤是很重要的,因为现在的路由器都能够同时支持多种网络层协议。总之,PPP协议两端的网络层可以运行不同的网络层协议,但仍然可使用同一个PPP协议进行通信。

如果在PPP链路上运行的是IP协议,则对PPP链路的每一端配置IP协议模块(如分配IP地址)时就要使用NCP中支持IP的协议,IP控制协议IPCP(IPControlProtocol)。IPCP分组也封装成PPP帧(其中的协议字段为0X8021)在PPP链路上传送。在低速链路上运行时,双方还可以协商使用压缩的TCP和IP首部,以减少在链路上发送的比特数。

当网络层配置完毕后,链路就进入可进行数据通信的“链路打开”(LinkOpen)状态。链路的两个PPP端点可以彼此向对方发送分组。两个PPP端点还可发送回送请求LCP分组(Echo-Request)和回送回答LCP分组(Echo-Reply),以检查链路的状态。

数据传输结束后,可以由链路的一端发出终止请求LCP分组(Terminate-Request)请求终止链路连接,在收到对方发来的终止确认LCP分组(Terminate-Ack)后,转到“链路终止”状态。如果链路出现故障,也会从“链路打开”状态转到“链路终止”状态。当调制解调器的载波停止后,则回到“链路静止”状态。

图右给出了对PPP协议的几个状态的说明。从设备之间无链路开始,到先建立物理链路,再建立链路控制协议LCP链路。经过鉴别后再建立网络控制协议NCP链路,然后才能交换数据。由此可见,PPP协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

使用广播信道的数据链路层

播信道可以进行一对多的通信。下面要讨论的局域网使用的就是广播信道。局域网是在20世纪70年代末发展起来的。局域网技术在计算机网络中占有非常重要的地位。

局域网的数据链路层

局域网最主要的特点是:

  • 网络为一个单位所拥有;
  • 地理范围和站点数目均有限。

局域网具有如下主要优点:

  • 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
  • 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
  • 提高了系统的可靠性、可用性和残存性。

计算机网络-数据链路层_第29张图片
计算机网络-数据链路层_第30张图片
计算机网络-数据链路层_第31张图片

局域网可按网络拓扑进行分类。星形网:由于集线器(hub)的出现和双绞线大量用于局域网中,星形以太网以及多级星形结构的以太网获得了非常广泛的应用。环形网,总线网,各站直接连在总线上。总线两端的匹配电阻吸收在总线上传播的电磁波信号的能量,避免在总线上产生有害的电磁波反射。总线网以传统以太网最为著名。局域网经过了四十年的发展,尤其是在快速以太网100Mbit/s和吉比特以太网(1Gbit/s)、10吉比特以太网(10Gbit/s)相继进入市场后,以太网已经在局域网市场中占据了绝对优势。现在以太网几乎成为了局域网的同义词,因此本章从本节开始都是讨论以太网技术。

局域网可使用多种传输媒体。双绞线最便宜,原来只用于低速(12Mbit/s)基带局域网。现在从10Mbit/s至10Gbit/s的局域网都可使用双绞线。双绞线已成为局域网中的主流传输媒体。当数据率很高时,往往需要使用光纤作为传输媒体。

必须指出,局域网工作的层次跨越了数据链路层和物理层。由于局域网技术中有关数据链路层的内容比较丰富,因此我们就把局域网的内容放在数据链路层这一章中讨论。但这开不表示局域网仅仅和数据链路层有关。

共享信道要解决的问题

使用一对多的广播通信方式。
问题:若多个设备在共享的广播信道上同时发送数据,则会造成彼此干扰,导致发送失败。
计算机网络-数据链路层_第32张图片

媒体共享技术

静态划分信道

  • 频分复用
  • 时分复用
  • 波分复用
  • 码分复用

用户只要分配到了信道就不会和其他用户发生冲突。但这种划分信道的方法代价较高,不适合于局域网使用。

动态媒体接入控制(多点接入)

又称为多点接入(multipleaccess),其特点是信道并非在用通信时固定分配给用户,分为以下两类:

  • 随机接入
  • 受控接入,如多点线路探询(polling),或轮询。

随机接入的特点是所有的用户可随机地发送信息。但如果恰巧有两个或更多的用户在同一时刻发送信息,那么在共享媒体上就要产生碰撞(即发生了冲突),使得这些用户的发送都失败。因此,必须有解决碰撞的网络协议。

受控接入的特点是用户不能随机地发送信息而必须服从一定的控制。这类的典型代表有分散控制的令牌环局域网和集中控制的多点线路探询(polling),或称为轮询。属于随机接入的以太网将被重点讨论。受控接入则由于目前在局域网中使用得较少,本书不再讨论。由于以太网的数据率已演进到每秒吉比特或甚至高达100吉比特,因此通常就用“传统以太网”来表示最早流行的10Mbit/s速率的以太网。为了讨论原理,下面我们就从传统以太网开始。

以太网的两个标准

DIXEthernetV2是世界上第一个局域网产品(以太网)的规约。
IEEE802.3是第一个IEEE的以太网标准。
DIXEthernetV2标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为“以太网”。
严格说来,“以太网”应当是指符合DIXEthernetV2标准的局域网。

数据链路层的两个子层

为了使数据链路层能更好地适应多种局域网标准,IEEE802委员会就将局域网的数据链路层拆成两个子层:

  • 逻辑链路控制LLC(LogicalLinkControl)子层;
  • 媒体接入控制MAC(MediumAccessControl)子层。

与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关。
不管采用何种协议的局域网,对LLC子层来说都是透明的。

计算机网络-数据链路层_第33张图片

由于TCP/IP体系经常使用的局域网是DIXEthernetV2而不是802.3标准中的几种局域网,因此现在802委员会制定的逻辑链路控制子层LLC(即802.2标准)的作用已经不大了。
很多厂商生产的适配器上就仅装有MAC协议而没有LLC协议。

适配器的作用

网络接口板又称为通信适配器(adapter)或网络接口卡NIC(NetworkInterfaceCard),或“网卡”。
适配器的重要功能:

  • 进行串行/并行转换。(网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储芯片)
  • 对数据进行缓存。(装有处理器和存储器(RAM和ROM))
  • 在计算机的操作系统安装设备驱动程序。
  • 实现以太网协议。

计算机网络-数据链路层_第34张图片

适配器包含了数据链路层及物理层这两个层次的功能。现在的芯片的集成度都很高,以致很难把个适配器的功能严格按照层次的关系精确划分开。

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

CSMA/CD协议

最初的以太网是将许多计算机都连接到一根总线上。易于实现广播通信。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。

计算机网络-数据链路层_第35张图片

为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中。仅当数据帧中的目的地址与适配器的硬件地址一致时,才能接收这个数据帧。

计算机网络-数据链路层_第36张图片

总线也有缺点。若多台计算机或多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败。

计算机网络-数据链路层_第37张图片

以太网的措施

为了通信的简便,以太网采取了两种重要的措施:
(1)采用较为灵活的无连接的工作方式

  • 不必先建立连接就可以直接发送数据。
  • 对发送的数据帧不进行编号,也不要求对方发回确认。
  • 这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。

以太网服务的特点:

以太网提供的服务是不可靠的交付,即尽最大努力的交付。
当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。
如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。

计算机网络-数据链路层_第38张图片

(2)以太网发送的数据都使用曼彻斯特(Manchester)编码

曼彻斯特编码缺点是:它所占的频带宽度比原始的基带信号增加了一倍。

计算机网络-数据链路层_第39张图片

以太网提供的服务

CSMA/CD含义:载波监听多点接入/碰撞检测(CarrierSenseMultipleAccesswithCollisionDetection)。
**“多点接入”**表示许多计算机以多点接入的方式连接在一根总线上。
“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
总线上并没有什么“载波”。因此,“载波监听”就是用电子技术
检测总线上有没有其他计算机发送的数据信号

**“碰撞检测”**就是计算机边发送数据边检测信道上的信号电压大小。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。

发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

计算机网络-数据链路层_第40张图片

为什么要进行碰撞检测?因为信号传播时延对载波监听产生了影响
计算机网络-数据链路层_第41张图片

A需要单程传播时延的2倍的时间,才能检测到与B的发送产生了冲突

争用期

最先发送数据帧的站,在发送数据帧后至多经过时间2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
以太网的端到端往返时延2τ称为争用期,或碰撞窗口。
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

二进制指数类型退避算法(truncatedbinaryexponentialtype)

发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。

  • 基本退避时间取为争用期2τ。
  • 从整数集合[0,1,…,(2k-1)]中随机地取出一个数,记为r。重传所需的时延就是r倍的基本退避时间。
  • 参数k按下面的公式计算:k=Min[重传次数,10]
  • 当k≤10时,参数k等于重传次数。
  • 当重传达16次仍不能成功时即丢弃该帧,并向高层报告。

例如:
第1次冲突重传时:
k=1,r为{0,1}集合中的任何一个数。
第2次冲突重传时:
k=2,r为{0,1,2,3}集合中的任何一个数。
第3次冲突重传时:
k=3,r为{0,1,2,3,4,5,6,7}集合中的任何一个数。

10Mbit/s以太网取51.2μs为争用期的长度。
对于10Mbit/s以太网,在争用期内可发送512bit,即64字节

这意味着:
以太网在发送数据时,若前64字节没有发生冲突,则后续的数据就不会发生冲突。

如果发生冲突,就一定是在发送的前64字节之内。
由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于64字节。
以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧。

覆盖范围

在10Mbit/s以太网51.2μs的争用期内,信号能传输多远的距离?
以太网上最大的端到端单程时延必须小于争用期的一半(即25.6μs),这相当于以太网的最大端到端长度约为5km

计算机网络-数据链路层_第42张图片

注意:B也能够检测到冲突,并立即停止发送数据帧,接着就发送干扰信号。
这里为了简单起见,只画出A发送干扰信号的情况。

CSMA/CD协议的重要特性

使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。

计算机网络-数据链路层_第43张图片

使用集线器的星形拓扑

传统以太网最初是使用粗同轴电缆,总线拓扑结构。后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。
采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)
计算机网络-数据链路层_第44张图片

使用集线器的双绞线以太网

计算机网络-数据链路层_第45张图片

星形以太网10BASE-T

计算机网络-数据链路层_第46张图片

使用无屏蔽双绞线,采用星形拓扑。
每个站需要用两对双绞线,分别用于发送和接收。
双绞线的两端使用RJ-45插头(就是一般的网线接口,8针)。
集线器使用了大规模集成电路芯片,因此集线器的可靠性提高。
10BASE-T的通信距离稍短,每个站到集线器的距离不超过100m。

这种10Mbit/s速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性。具有很高的性价比。
10BASE-T双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。
从此以太网的拓扑就从总线形变为更加方便的星形网络,而以太网也就在局域网中占据了统治地位。

集线器的一些特点

集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。
使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
集线器很像一个多接口的转发器,工作在物理层
集线器采用了专门的芯片,进行自适应串音回波抵消,减少了近端串音。

计算机网络-数据链路层_第47张图片

以太网的信道利用率

多个站在以太网上同时工作就可能会发生碰撞。
当发生碰撞时,信道资源实际上是被浪费了。因此,当扣除碰撞所造成的信道损失后,以太网总的信道利用率并不能达到100%
假设τ是以太网单程端到端传播时延。则争用期长度为2τ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。
设帧长为L(bit),数据发送速率为C(bit/s),则帧的发送时间为T0=L/C(s)。

一个站在发送帧时出现了碰撞。经过一个争用期2τ后,可能又出现了碰撞。这样经过若干个争用期后,一个站发送成功了。假定发送帧需要的时间是T0

计算机网络-数据链路层_第48张图片

要提高以太网的信道利用率,就必须减小τ与T0之比。
在以太网中定义了参数a,它是以太网单程端到端时延τ与帧的发送时间T0之比:
a = τ T 0 a=\frac{τ}{T_0} a=T0τ
a→0,表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。
a越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。

为提高利用率,以太网的参数a的值应当尽可能小些。
对以太网参数a的要求是:

  • 当数据率一定时,以太网的连线的长度受到限制,否则τ的数值会太大。
  • 以太网的帧长不能太短,否则T0的值会太小,使a值太大。

在理想化的情况下,以太网上的各站发送数据都不会产生碰撞(这显然已经不是CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。
发送一帧占用线路的时间是T0+τ,而帧本身的发送时间是T0。于是,我们可计算出理想情况下的极限信道利用率Smax为:
S max ⁡ = T 0 T 0 + τ = 1 1 + a S_{\max }=\frac{T_{0}}{T_{0}+\tau}=\frac{1}{1+a} Smax=T0+τT0=1+a1
只有当参数a远小于1才能得到尽可能高的极限信道利用率。
据统计,当以太网的利用率达到30%时就已经处于重载的情况。很多的网络容量被网上的碰撞消耗掉了。

以太网的MAC层

硬件格式

在局域网中,硬件地址又称为物理地址,或MAC地址。
802标准所说的“地址”严格地讲应当是每一个站的“名字”或标识符。
但鉴于大家都早已习惯了将这种48位的“名字”称为“地址”,所以本书也采用这种习惯用法,尽管这种说法并不太严格。

请注意,如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。更准确些说,这种48位“地址”应当是某个接口的标识符

IEEE802标准规定MAC地址字段可采用6字节(48位)或2字节(16位)这两种中的一种。
IEEE的注册管理机构RA负责向厂家分配地址字段6个字节中的前三个字节(即高位24位),称为组织唯一标识符。
地址字段6个字节中的后三个字节(即低位24位)由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。

在这里插入图片描述

一个地址块可以生成 2 24 2^{24} 224​​​个不同的地址。这种48位地址称为MAC-48,它的通用名称是EUI-48
生产适配器时,6字节的MAC地址已被固化在适配器的ROM,因此,MAC地址也叫做硬件地址(hardwareaddress)或物理地址
“MAC地址”实际上就是适配器地址或适配器标识符EUI-48。

IEEE规定地址字段的第一字节的最低位为I/G位。I/G表示Individual/Group。
当I/G位=0时,地址字段表示一个单站地址
当I/G位=1时,表示组地址,用来进行多播(以前曾译为组播)。此时,IEEE只分配地址字段前三个字节中的23位。
当I/G位分别为0和1时,一个地址块可分别生成 2 24 2^{24} 224​​​个单个站地址和223个组地址。
所有48位都为1时,为广播地址。只能作为目的地址使用。

IEEE把地址字段第一字节的最低第2位规定为G/L位,表示Global/Local。
当G/L位=0时,是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的OUI都属于全球管理。
当G/L位=1时,是本地管理,这时用户可任意分配网络上的地址。

适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址

  • 如果是发往本站的帧则收下,然后再进行其他的处理。
  • 否则就将此帧丢弃,不再进行其他的处理。

“发往本站的帧”包括以下三种帧:

  • 单播(unicast)帧(一对一)
  • 广播(broadcast)帧(一对全体)
  • 多播(multicast)帧(一对多)

所有的适配器都至少能够识别前两种帧,即能够识别单播地址和广播地址。
有的适配器可用编程方法识别多播地址。
只有目的地址才能使用广播地址和多播地址。
以混杂方式(promiscuousmode)工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来。

帧地址

常用的以太网MAC帧格式有两种标准:

  • DIXEthernetV2标准
  • IEEE的802.3标准

最常用的MAC帧是以太网V2的格式。

计算机网络-数据链路层_第49张图片

类型字段用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。

数据字段的正式名称是MAC客户数据字段。最小长度64字节-18字节的首部和尾部=数据字段的最小长度(46字节)

当传输媒体的误媧率为 1 × 1 0 − 8 1\times10^{-8} 1×108时,MAC子层可使末检测到的差错小于 1 × 1 0 − 14 1\times10^{-14} 1×1014

当数据字段的长度小于46字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。

在帧的前面插入(硬件生成)的8字节中,第一个字段共7个字节,是前同步码,用来迅速实现MAC帧的比特同步。第二个字段1个字节是帧开始定界符,表示后面的信息就是MAC帧。为了达到比特同步,在传输媒体上实际传送的要比MAC帧还多8个字节。

无效的帧有以下几种

  • 数据字段的长度与长度字段的值不一致;
  • 帧的长度不是整数个字节;
  • 用收到的帧检验序列FCS查出有差错;
  • 数据字段的长度不在46~1500字节之间。
  • 有效的MAC帧长度为64~1518字节之间。

对于检查出的无效MAC帧就简单地丢弃。以太网不负责重传丢弃的帧。

IEEE802.3与以太网V2MAC帧格式相似,区别在于:
IEEE802.3规定的MAC帧的第三个字段是**“长度/类型”**。

  • 当这个字段值大于0x0600时(相当于十进制的1536),就表示“类型”。这样的帧和以太网V2MAC帧完全一样。
  • 当这个字段值小于0x0600时才表示“长度”。

当“长度/类型”字段值小于0x0600时,数据字段必须装入上面的逻辑链路控制LLC子层的LLC帧。

现在市场上流行的都是以太网V2的MAC帧,但大家也常常把它称为IEEE802.3标准的MAC帧。

帧间最小间隔为9.6μs,相当于96bit的发送时间。
一个站在检测到总线开始空闲后,还要等待9.6s才能再次发送数据。
这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

扩展的以太网

在物理层扩展以太网

使用光纤扩展

计算机网络-数据链路层_第50张图片

  • 主机使用光纤(通常是一对光纤)和一对光纤调制解调器连接到集线器。
  • 很容易使主机和几公里以外的集线器相连接。

集线器扩展以太网

计算机网络-数据链路层_第51张图片

优点

  • 使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信。
  • 扩大了以太网覆盖的地理范围。

缺点

  • 碰撞域增大了,但总的吞吐量并未提高。
  • 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。

碰撞域(collisiondomain)又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络。
碰撞域越大,发生碰撞的概率越高。

计算机网络-数据链路层_第52张图片

在数据链路层扩展以太网

扩展以太网更常用的方法是在数据链路层进行。
早期使用网桥,现在使用以太网交换机。

在这里插入图片描述

网桥工作在数据链路层。
它根据MAC帧的目的地址对收到的帧进行转发和过滤。
当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或把它丢弃。

1990年问世的交换式集线器(switchinghub)可明显地提高以太网的性能。
交换式集线器常称为以太网
交换机
(switch)或第二层交换机(L2switch),强调这种交换机工作在数据链路层。

交换机的特点

以太网交换机实质上就是一个多接口的网桥

  • 通常都有十几个或更多的接口。

每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
以太网交换机具有并行性。

  • 能同时连通多对接口,使多对主机能同时通信。

相互通信的主机都是独占传输媒体,无碰撞地传输数据。

计算机网络-数据链路层_第53张图片

以太网交换机的接口有存储器,能在输出端口繁忙时把到来的帧进行缓存。
以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。
以太网交换机使用了专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多。
以太网交换机的性能远远超过普通的集线器,而且价格并不贵。

以太网交换机的优点

用户独享带宽,增加了总容量。

计算机网络-数据链路层_第54张图片

从共享总线以太网转到交换式以太网时,所有接入设备的软件和硬件、适配器等都不需要做任何改动。
以太网交换机一般都具有多种速率的接口,方便了各种不同情况的用户。

以太网交换机的交换方式

存储转发方式

  • 把整个数据帧先缓存后再进行处理。

直通(cut-through)方式

  • 接收数据帧的同时就立即按数据帧的目的MAC地址决定该帧的转发接口,因而提高了帧的转发速度。
  • 缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。

在某些情况下,仍需要采用基于软件的存储转发方式进行交换,例如,当需要进行线路速率匹配、协议转换或差错检测时。

以太网交换机的自学习功能

以太网交换机运行自学习算法自动维护交换表。

计算机网络-数据链路层_第55张图片

A先向B发送一帧。该帧从接口1进入到交换机。
交换机收到帧后,先查找交换表。没有查到应从哪个接口转发这个帧给B。
交换机把这个帧的源地址A和接口1写入交换表中。
交换机向除接口1以外的所有的接口广播这个帧。
由于与该帧的目的地址不相符,C和D将丢弃该帧。

计算机网络-数据链路层_第56张图片

计算机网络-数据链路层_第57张图片

B向A发送一帧。该帧从接口3进入到交换机。
交换机收到帧后,先查找交换表。发现交换表中的MAC地址有A,表明要发送给A的帧应从接口1转发出去。于是就把这个帧传送到接口1转发给A。
交换机把这个帧的源地址B和接口3写入交换表中。
计算机网络-数据链路层_第58张图片
计算机网络-数据链路层_第59张图片

考虑到可能有时要在交换机的接口更换主机,或者主机要更换其网络适配器,这就需要更改交换表中的项目。为此,在交换表中每个项目都设有一定的有效时间。过期的项目就自动被删除。

以太网交换机的这种自学习方法使得以太网交换机能够即插即用,不必人工进行配置,因此非常方便。

计算机网络-数据链路层_第60张图片

自学习功能可能产生回路,因此使用了生成树协议。

IEEE802.1D标准制定了一个生成树协议STP(SpanningTreeProtocol)。
其要点是:不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。

计算机网络-数据链路层_第61张图片

从总线以太网到星形以太网

早期,以太网采用无源的总线结构。
现在,采用以太网交换机的星形结构成为以太网的首选拓扑。
总线以太网使用CSMA/CD协议,以半双工方式工作。
以太网交换机不使用共享总线,没有碰撞问题,因此不使用CSMA/CD协议,以全双工方式工作。但仍然采用以太网的帧结构

计算机网络-数据链路层_第62张图片

局域网存在的以下几个方面的问题:扩展性,安全性,可管理性等

总线以太网和10Base_T星形以太网

所有计算机都处于同一个碰撞域(或冲突域)中和同一个广播域中。

计算机网络-数据链路层_第63张图片
计算机网络-数据链路层_第64张图片

广播域(broadcastdomain):指这样一部分网络,其中任何一台设备发出的广播通信都能被该部分网络中的所有其他设备所接收。

采用以太网交换机的星形以太网,每个接口都处于一个独立的碰撞域(或冲突域)中,但所有计算机都处于同一个广播域中。

计算机网络-数据链路层_第65张图片

虚拟以太网

利用以太网交换机可以很方便地实现虚拟局域网VLAN(VirtualLAN)
IEEE802.1Q对虚拟局域网VLAN的定义:虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个VLAN。

虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
由于虚拟局域网是用户和网络资源的逻辑组合,因此可按照需要将有关设备和资源非常方便地重新组合,使用户从不同的服务器或数据库中存取所需的资源。

计算机网络-数据链路层_第66张图片

10台计算机划分为三个虚拟局域网:VLAN1,VLAN2和VLAN3

每个虚拟局域网是一个广播域。VLAN1,VLAN2和VLAN3是三个不同的广播域。

当B1向VLAN2工作组内成员发送数据时,工作站B2和B3将会收到其广播的信息。VLAN1和VLAN3中的工作站A1,A2和C1等都不会收到B1发出的广播信息。

虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即“广播风暴”)而引起性能恶化。

虚拟局域网(VLAN)技术具有以下主要优点:

  • 改善了性能
  • 简化了管理
  • 降低了成本
  • 改善了安全性

划分虚拟局域网的方法

  • 基于交换机端口
  • 基于计算机网卡的MAC地址
  • 基于协议类型
  • 基于IP子网地址
  • 基于高层应用或服务

计算机网络-数据链路层_第67张图片

交换机端口,最简单、也是最常用的方法。
属于在第一层划分虚拟局域网的方法。
缺点:不允许用户移动。

计算机网络-数据链路层_第68张图片

MAC地址,根据用户计算机的MAC地址划分虚拟局域网。
属于在第二层划分虚拟局域网的方法。
允许用户移动。
缺点:需要输入和管理大量的MAC地址。如果用户的MAC地址改变了,则需要管理员重新配置VLAN。

计算机网络-数据链路层_第69张图片

协议类型,根据以太网帧的第三个字段“类型”字段确定该类型的协议属于哪一个虚拟局域网。
属于在第二层划分虚拟局域网的方法。

计算机网络-数据链路层_第70张图片

根据以太网帧的第三个字段“类型”字段和IP分组首部中的源IP地址字段确定该IP分组属于哪一个虚拟局域网。
属于在第三层划分虚拟局域网的方法。

计算机网络-数据链路层_第71张图片

根据高层应用或服务、或者它们的组合划分虚拟局域网。
更加灵活,但更加复杂。

帧格式

IEEE批准了802.3ac标准,该标准定义了以太网的帧格式的扩展,以支持虚拟局域网。
虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记(tag),用来指明该帧属于哪一个虚拟局域网。
插入VLAN标记得出的帧称为802.1Q帧或带标记的以太网帧。

计算机网络-数据链路层_第72张图片

高速以太网

100BASE-T

速率达到或超过100Mbit/s的以太网称为高速以太网
100BASE-T在双绞线上传送100Mbit/s基带信号的星形拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。
100BASE-T以太网又称为快速以太网(FastEthernet)。
1995年IEEE已把100BASE-T的快速以太网定为正式标准,其代号为IEEE802.3u。

可在全双工方式下工作而无冲突发生。在全双工方式下工作时,不使用CSMA/CD协议。
MAC帧格式仍然是802.3标准规定的。
保持最短帧长不变,但将一个网段的最大电缆长度减小到100米。
帧间时间间隔从原来的9.6μs改为现在的0.96μs。

100BASE-TX

  • 使用2对UTP5类线或屏蔽双绞线STP。
  • 网段最大程度:100米。

100BASE-T4

  • 使用4对UTP3类线或5类线。
  • 网段最大程度:100米。

100BASE-FX

  • 使用2对光纤。
  • 网段最大程度:2000米。

吉比特以太网

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

吉比特以太网可用作现有网络的主干网,也可在高带宽(高速率)的应用场合中。

物理层使用两种成熟的技术:一种来自现有的以太网,另一种则是美国国家标准协会ANSI制定的光纤通道FC(FiberChannel)。

计算机网络-数据链路层_第73张图片

吉比特以太网工作在半双工方式时,就必须进行碰撞检测。
为保持64字节最小帧长度,以及100米的网段的最大长度,吉比特以太网增加了两个功能:

  • 载波延伸(carrierextension)
  • 分组突发(packetbursting)
半双工

使最短帧长仍为64字节(这样可以保持兼容性),同时将争用时间增大为512字节
凡发送的MAC帧长不足512字节时,就用一些特殊字符填充在帧的后面,使MAC帧的发送长度增大到512字节。接收端在收到以太网的MAC帧
后,要将所填充的特殊字符删除后才向高层交付。

计算机网络-数据链路层_第74张图片

当很多短帧要发送时,第一个短帧要采用载波延伸方法进行填充,随后的一些短帧则可一个接一个地发送,只需留有必要的帧间最小间隔即可。这样就形成可一串分组的突发,直到达到1500字节或稍多一些为止。

计算机网络-数据链路层_第75张图片

全双工

当吉比特以太网工作在全双工方式时(即通信双方可同时进行发送和接收数据),不使用载波延伸和分组突发。

10吉比特以太网和更快的以太网

10吉比特以太网(10GE)并非把吉比特以太网的速率简单地提高到10倍,其主要特点有:

  • 与10Mbit/s、100Mbit/s和1Gbit/s以太网的帧格式完全相同。
  • 保留了802.3标准规定的以太网最小和最大帧长,便于升级。
  • 不再使用铜线而只使用光纤作为传输媒体。
  • 只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD协议。

10GE物理层标准

计算机网络-数据链路层_第76张图片

40GE/100GE物理层标准

计算机网络-数据链路层_第77张图片

以太网的工作范围已经从局域网(校园网、企业网)扩大到城域网和广域网,从而实现了端到端的以太网传输。
这种工作方式的好处有:

  • 技术成熟;
  • 互操作性很好;
  • 在广域网中使用以太网时价格便宜;
  • 采用统一的以太网帧格式,简化了操作和管理。
以太网宽带接入

IEEE在2001年初成立了802.3EFM工作组,专门研究高速以太网的宽带接入技术问题。
以太网宽带接入具有以下特点:

  • 可以提供双向的宽带通信。
  • 可以根据用户对带宽的需求灵活地进行带宽升级。
  • 可以实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率且降低了传输的成本。
  • 但是不支持用户身份鉴别。

PPPoE(PPPoverEthernet)的意思是“在以太网上运行PPP”,它把PPP协议与以太网协议结合起来——将PPP帧再封装到以太网中来传输。
现在的光纤宽带接入FTTx都要使用PPPoE的方式进行接入。在PPPoE弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了。
利用ADSL进行宽带上网时,从用户个人电脑到家中的ADSL调制解调器之间,也是使用RJ-45和5类线(即以太网使用的网线)进行连接
的,并且也是使用PPPoE弹出的窗口进行拨号连接的。

你可能感兴趣的:(计算机网络)