这是我根据王道考研计算机网络B站视频做的学习笔记,欢迎大家学习交流!


3.1 数据链路层功能概述

3.1.1 数据链路层的研究思想

当我们专门研究数据链路层时,很多情况下我们只关心在协议栈中水平方向的各个数据链路层。

3.1.2 数据链路层基本概念

结点:主机、路由器

链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。

数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。

帧:链路层的协议数据单元,封装网络层数据报。

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。(就是将网络层交给它的数据报安全地、无差错地传给相邻节点,就像一个搬运工把货物安全地搬运到相邻的位置。)

3.1.3 数据链路层功能概述

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

  • 功能一:为网络层提供服务。无确认无连接服务(通常用于实时通信,原主机发送数据帧前不需要与目的主机建立链路连接,而且目的主机收到数据帧后也不需要确认,如果帧丢失,数据链路层也不负责重发,直接交给上一层处理。这种服务是为了实时通信更快。如以太网。),有确认无连接服务(事前不需要建立连接,但是目的主机在收到数据时必须发回一个确认,原主机在规定时间内没有收到目的主机的确认,原主机就会重新传输一次。适合无线通信),有确认面向连接服务(最安全可靠,事先要建立连接,同时目的机接收到一个确认帧就要返回一个确认帧 )。
  • 功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
  • 功能三:组帧。
  • 功能四:流量控制。(告诉发送方:你慢点发!接收方没有能力接收啦!控制一下发送方的速度。)
  • 功能五:差错控制(帧错/位错)。

3.2 封装成帧和透明传输

3.2.1 封装成帧

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

首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。

帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。

组帧的四种方法: 1.字符计数法,2.字符(节)填充法,3.零比特填充法,4.违规编码法。

3.2.2 透明传输

透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。(就是在链路层中你好像看不见,无论什么样的比特组合都能通过)

当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。(如果出现了某种现象达不到透明传输,我们应该采取一种手段来实现透明传输)

小秘看不见自己要传送的文件内容是什么,直接把文件安全地送到对面就可以了。大Boss看到文件安全地、完整地送到对面后感到很欣慰。就是因为小秘实现了透明传输。

3.2.3 透明传输在组帧上的应用

1 字符计数法

帧首部使用一个计数字段(比如使用数据的第一个字节为计算字段)来标明帧内字符数。

  • 例如51234的第一个字节是5,那么就以5个字节为一帧;87890123的第一个字节是8,那么就以8个字节为一帧。
  • 痛点:鸡蛋装在一个篮子里了。假如第一个字节的5发生错误变成了4,那么后面全会出错。字符计数法容易出错,我们不常用。

2 字符填充的首尾定界符法

1.当传送的帧是由文本文件组成时( 文本文件的字符都是从键盘上输入的,都是ASCII码,不会与SOH和EOT的八位比特不会有重复) 。不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。

2.当传送的帧是由非ASCII码的文本文件组成时(二进制代码的程序或图像等)。
就要采用字符填充方法实现透明传输。(通过一种方法使得接收端在看到与EOT一样组合时也当做数据正常接收直到遇到真的帧结束符)

  • 当数据部分出现了与EOT一样的比特组合,就会错误找到帧的边界。

字符填充法理解:在原始数据基础上进行字符填充,字符填充的过程就是在控制信息的字符(SOH、EOT)前面加上转义字符ESC,转义字符也是一个字节八位的比特组合。目的是告诉接收端不用管我转义字符后面的内容是什么,直到遇到真正的帧结束字符。如果数据中有需要传输的转义字符,那也在前面加上转义字符就行啦。

3 比特填充的首尾标志法

它使用一个特定的比特模式,即01111110(6个1)来标志一帧的开始和结束。如果在传输数据时,也出现了和收尾一样的比特组合,只要遇到连续5个“1”,就填入1个“0”,归纳起来就是5 “1” 1 “0”

优点:比特填充很容易由硬件来实现,性能优于字符填充方法。

4 违规编码法

我们知道曼彻斯特编码中每一个码元或者说每一个比特它所对应的电平要么是高-低、要么是低-高。不会出现高高、低低这两种编码方式。因此这两种编码方式就是违规的编码方法。可以用“高高”,“低低”来定界帧的起始和终止。

由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法


3.3 差错控制

3.3.1 检错编码

1 差错从何而来?(随机差错、突发差错)

概括来说,传输中的差错都是由于噪声引起的。

全局性:由 于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。引起的差错是随机差错

  • 解决办法:提高信噪比来减少或避免干扰。(比如对传感器下手)

局部性:外界特定的短暂原因所造成的冲击噪声,引起的差错是突发差错,是产生差错的主要原因。

  • 解决办法:通常利用编码技术来解决。

差错分类:

如果在链路层传输时发生了差错并且需要改正,改正错误的任务就需要交给上层协议,对于通信质量比较差的无线传输链路,链路层协议就会采用确认和重传机制,数据链路层就要向上提供一个可靠传输的服务(也就是有确认无连接服务,有确认面向连接服务)。

2 数据链路层的差错控制

假如一个帧数据在上面这条链路上发生了位错,因为路由器在链路层上,所以帧数据在经过路由器的时候就可以检测出来。

差错控制分类(比特错):检错编码(奇偶校验码、循环冗余码CRC);纠错编码(海明码)

数据链路层编码VS物理层编码

  • 数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。

冗余编码

  • 在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
  • 冗余编码就相当于盒子上写的“6本”的附加信息。
  • 冗余码和校验码一个意思。

3 检错编码--奇偶校验码

  • x为1位的校验元(奇校验码就是校验元加0或1后使校验码1的各位变为奇数,偶校验码就是使校验码1的个数变成偶数),后面为n-1位信息元(也就是添加校验元之前的数据)。在原数据的基础上添加了校验元就变成了奇偶校验码。

例题:

  • 分析:采用奇校验,所以在1100101前面加个校验元:1,使得ASCII码变成11100101,这样就有5个1为奇数个1。接收方收到D时,也是5个1为奇数个1,奇校验就无法判断1100101是否发生错误。而ABC都是4个1为偶数个1,可以判断1100101一定发生错误。因此这道题选D。

奇偶校验码特点:

  • 只能检查出奇数比特错误,检错能力为50%。(比如对于1100101,采用奇校验后,变成11100101有5个1为奇数。如果发生1位差错:1变成0,那么变成4个1为偶数;或者0变成1,那么变成6个1也为偶数。而发生两位错误:最后的01变成10,那么还是5个1为奇数,无法判断是否出错。所以只能检查出奇数个比特发生的错误。)

4 检错编码--CRC循环冗余码(又称多项式码,不可靠传输)

CRC循环冗余码核心思想:又称为多项式码(CRC循环冗余码=要发送的数据+FCS),任何一个由二进制数位串(10011)组成的代码都可以和一个只含有0和1两个系数的多项式建立一一对应关系。

CRC循环冗余码检错过程图示:

CRC循环冗余码检错过程:

  1. 计算冗余码:(1)被除数(原始数据)加0:多项式的阶为r,则加r个0。 (2)模2除法:原始数据加0后除以多项式,余数为冗余码/FCS(Frame Check Sequence:帧校验序列)/CRC检验码的比特序列
  2. 计算最终发送的数据:原始数据+冗余码/FCS
  3. 接收端检错过程:把收到的最终数据除以多项式,余数为0则没出错;余数不为0则出错,丢弃。

不可靠传输:链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输(因为出错的帧被丢弃了)。

  • 在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。
  • 可靠传输:数据链路层发送端发送什么,接收端就收到什么。

3.3.2 纠错编码

1 海明码(有记忆内容)

海明码(原始数据与校验码结合):发现双比特错,纠正单比特错。海明码纠错d位,需要码距为2d+1的编码方案,检错d位,则只需码距为d+1。(记住即可,这里不展开讲)

工作原理:动一发而牵全身

  • 假如要发送一个四位信息,按照前面学的,我们会加上校验码或者冗余码 。而这几个校验码很厉害,不光可以校验自身比特位,还可以校验其他比特位。所以有的数据会同时被几个校验码校验。假如在接收端,被同时校验的比特位发生了差错(比如0变成了1),就会对其他校验码产生影响。 (一个数据发生错误,很多校验码都会察觉出来,这些校验码会互相通气,究竟是哪个数据发生了错误。)

第一步--确定校验码位数r

  • r为添加的校验码或者冗余码(冗余码和校验码一个意思)的位数,k就是原始信息的位数

要发送的数据: D=101101

  • 数据的位数k=6,
  • 满足不等式的最小r为4,
  • 也就是D=101101的海明码应该有6+4=10位,
  • 其中原数据6位,效验码4位。

第二步--确定校验码和数据的位置

D=101101

  • 假设这4位校验码分别为P1、P2、P3、P4(校验码只能放在2的几次方的位置,比如2^0=1、2^1=2、2^2=4、2^3=8...);数据从左到右为D1、D2、.....、D6(按序把空填满)。

第三步--求出校验码的值

求校验码实际值的过程:

求p1时,使p1和二进制的第一位为1的数据或异=0;因为p1的二进制的第一位为1。

求p2时,使p2和二进制的第二位为1的数据或异=0;因为p2的二进制的第二位为1。

求p3时,使p3和二进制的第三位为1的数据或异=0;...

求p4时,使p4和二进制的第四位为1的数据或异=0;...

求出校验码的实际值后,就可以得到要发送的海明码。

第四步:检错并纠错

接收端接收到数据后,分别求出各校验码的或异运算后,按照p4 p3 p2 p1的顺序写为新的二进制序列:0101,其对应的十进制值就是出错的数据位。

2 脑图时刻


3.4 流量控制与可靠传输机制(数据链路层不实现可靠传输)

3.4.1 流量控制、可靠传输与滑动窗口机制

1 数据链路层的流量控制

较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。

数据链路层与传输层流量控制的区别:

  • 数据链路层的流量控制是点对点的(相邻节点之间),而传输层的流量控制是端到端的(主机之间)。
  • 数据链路层流量控制手段:接收方收不下就不回复确认。传输层流量控制手段:接收端给发送端一一个窗口公告。

2 流量控制的方法

停止等待协议:效率比较低,需要等待对方确认。

  • 发送窗口大小=1,接收窗口大小=1;

滑动窗口协议:收到确认后才移动窗口,但一次可以发送多个帧。

  • 后退N帧协议(GBN ): 发送窗口大小>1,接收窗口大小=1;
  • 选择重传协议(SR):    发送窗口大小>1,接收窗口大小>1。

3 三者之间的关系

可靠传输:就是采用一系列技术来保障信息在发送方和接收方准确、精确的传输。

  • 可靠传输是传输技术,通过使用一些可靠传输的协议如停止等待协议来实现。
  • 透明传输的重点是比特组合(因为有时候比特组合里面会有与控制信息相同的组合,会被误判)。可靠传输重点是数据的准确传输,比如发送方没收到确实,就会重传。
  • 要注意的是数据链路层不实现可靠传输。

流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。

滑动窗口解决:

  • 流量控制(收不下就不给确认,想发也发不了)
  • 可靠传输(发送方自动重传):发送方到了时间还没收到确认,就会重传一次。

4 脑图时刻

3.4.2 停止-等待协议

1 停止-等待协议

1.为什么要有停止-等待协议?

  • 除了比特出差错,底层信道还会出现丢包问题。为了实现流量控制。
  • 丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。

2.研究停等协议的前提?

  • 虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
  • 因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
  • “停止等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。

3.停等协议有几种应用情况?

  • 无差错情况&有差错情况

2 停等协议——无差错情况

1.数据帧丢失或检测到帧出错

2.ACK(acknowledgement frame 确认帧)丢失

3.ACK(确认帧)迟到

3 停等协议性能分析

优点:简单!;缺点:信道利用率太低!

确认帧只包含控制信息,不包含数据,所以它的宽度窄。

TD(Data frame time):发送方发送一个数据帧的发送时延;RTT(round trip time):往返时延;TA(Acknowledgement frame time):确认帧的发送时延

4 信道利用率

channel n.通道,信道 ;utilization n. 利用,使用

信道利用率:U = ( L / C ) / T

  • T:发送周期(TD+RTT+TA); L:T内发送的比特数, C:发送方数据传输率,L/C=TD(发送时延)。

信道吞吐率 = 信道利用率 * 发送方的发送速率

5 脑图时刻

3.4.3 后退N帧协议(GBN)

1 停等协议的弊端

1.必须增加序号范围:传送当中的数据帧必须有一个唯一的序号,三组数据帧当中,三组的序号都是不同的,这样接收方才可以返回每组对应的帧。

2.发送方需要缓存多个分组:传输过程中非常容易出现帧丢失的情况,比如0、1、2号帧传输,1和2号帧都发送了丢失。所以发送方需要增加缓存空间,以保证发送的帧都可以在缓存空间里面有备份。

针对这两种弊端,有后退N帧协议和选择重传协议两种方案解决。

2 后退N帧协议中的滑动窗口

GBN协议中接收窗口只有一个。

GBN协议发送窗口有多个,当收到确认帧时就向前移动一个格子。举例:0号帧发送时,1—5号帧可以发送也可以不发送。当0号窗口收到ACK0时,就可以向前移动一个格子。

3 GBN发送方必须响应的三件事

1.上层的调用
网络层要给数据链路层发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中, 发送方可以缓存这些数据,窗口不满时再发送帧)。

2.收到了一个ACK
GBN协议中,对n号帧的确认采用累积确认(收到了n号帧以及n号帧前面的所有帧。这个只和接收方发送的确认帧有关,而发送方接收确认帧和这个没关系,因为确认帧可能会迟到)的方式,标明接收方已经收到n号帧和它之前的全部帧。

3.超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。(未确认的帧是指最大确认帧以外的帧)

4 GBN接收方要做的事

如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层(第一章讲到的解封装的过程,把数据部分交给网络层)。

5 运行中的GBN

运行过程:接收方在收到1帧后会留一个心眼,下一个应该收到的是2帧。如果2帧没有收到,结果等来的是3帧,接收方就不收(丢弃),并继续发送ACK1,一直期待着2帧的到来。类似吃汉堡的时候,要一层一层的吃。

6 滑动窗口长度

  • 帧的序号是可以重复的。假设现在滑动窗口是4个,如果四个窗口的帧全部丢失,全部超时后,超时器就会把这四个帧:0、1、2、3号帧再次重传。这个时候接收方就分不清这四个帧是新的0、1、2、3号帧还是旧的帧。
  • n个比特位可以编号2^n个帧,比如2个比特位可以编号4个帧。(帧的序号是由比特位编号的,可以重复)

7 GBN协议重点总结

1.累积确认(偶尔捎带确认)
2.接收方只按顺序接收帧,不按序无情丢弃
3.确认序列号最大的、按序到达的帧
4.发送窗口最大为2^n-1,接收窗口大小为1

8 习题

没有收到1号帧的确认是因为确认帧可能迟到。看最大确认帧即可。

9 GBN协议性能分析

优点:因连续发送数据帧而提高了信道利用率
缺点:在重传时必须把原来已经正确传送的数据帧重传,使得传送效率降低。为了解决这个问题,有选择重传协议。

10 脑图时刻

3.4.4 选择重传协议(SR)

1 GBN协议的弊端

弊端:累积确认导致一出现问题就需要批量重传(超时才能发现问题)。

解决方法:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。

2 选择重传协议中的滑动窗口

3 SR发送方必须响应的三件事

1.上层的调用
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。

2.收到了一个ACK
如果收到ACK的帧序号在滑动窗口内,则SR发送方将被确认的帧序号标记为已接收。如果该帧序号是窗口的下界(此时窗口最左边第一个帧序号),则窗口向右移动到具有最小序号的未确认帧处。

3.超时事件
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧(后面结合例子讲解)

4 SR接收方要做的事

来者不拒( 窗口内的帧)
SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧[接收谁就确认谁],直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。

举例:5号帧还没收到,6号7号已经收到了,那么先把67号缓存起来。等5号帧收到收到后,567号帧就一起交付给网络层了,窗口就向前移动。

1、5号帧还没收到

2、5号帧收到了

3、5号帧(窗口下届帧)收到后窗口才可以向前移动

4、如果收到了窗口序号外的帧(比如窗口移动后还收到了5号帧),就再返回给发送方一个ACK5。因为接收方前面发送的ACK5可能丢失了,发送方没收到ACK5于是重传一次5号帧。可以看到,接收方是收到帧以后窗口就向前移动,不需要等发送方收到ACK再移动。

5 运行中的SR

6 滑动窗口长度

接收窗口加发送窗口不超过2^n:W_R+W_t <= 2^n

接收窗口的尺寸不应超过序号范围的一半:W_R <= 2^(n-1)

发送窗口最好等于接收窗口=2^(n-1)

例如:比特位为3时,可以给帧序号编号8个,窗口的长度就是4。

7 SR协议重点总结

1、对数据帧逐一确认,收一个确认一个。

2、只重传出错帧。

3、接收方有缓存

4、滑动窗口长度:发送窗口最好等于接收窗口=2^(n-1)

8 习题

9 脑图时刻


3.5 介质访问控制(MAC)

3.5.1 信道划分介质访问控制(通信时信道固定分配)

1 传输数据使用的两种链路

点对点链路:

  • 两个相邻节点通过一个链路相连,没有第三者。
  • 应用: PPP协议,常用于广域网。

广播式链路:

  • 所有主机共享通信介质。
  • 应用:早期的总线以太网(使用以太网技术的电气标准)、无线局域网,常用于局域网(类似村子里广播,大家都听得到)。
  • 典型拓扑结构:总线型、星型(逻辑上是总线型)
  • 总线型:主机都在一条线上,A主机发送的信息,会到达B、C等所有主机。各主机会查看信息的目的地址是否是自己的,如果是自己的就接收,不是自己的就丢弃。缺点是:假如A和B之间链路出现问题,那么后面都无法传输。

  • 星型:中间就是集线器 ,A发送信息还是会传输到集线器的所有端口(所以说是逻辑总线型)。各主机会查看信息的目的地址是否是自己的,如果是自己的就接收,不是自己的就丢弃。优点是:其中一条链路断了没关系,其他链路照样可以正常工作。

  • A对讲机在讲话的同时,B对讲机可能也会讲话,这样就会发生相互干扰,如何解决这个问题呢?可以用介质访问控制。

2 介质访问控制(MAC)

Media access control

介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。

  • 静态划分信道:信道在用户通信时固定分配,如果双方不说话就浪费了。
  • 动态划分信道:信道并非在用户通信时固定分配,说话就分配资源,不说话就不占用资源。

3 多路复用技术概述

信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。

每两对主机之间传输信息:

多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。

  • 采用复用器,把信息从三个信道放在一个信道上传输。
  • 把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道。(多个信息虽然是在一条信道上传输,类似广播信道。但是每个信息又是互不干扰的,这就是点对点信道。)

4 频分多路复用FDM

frequency:频率 division:分配 multiplexing:多路复用

用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。所以互不影响!

优点:充分利用传输介质带宽,系统效率较高;由于技术比较成熟,实现也比较容易

适合传输模拟信号。

5 时分多路复用TDM

Time division multiplexing

将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。

频分复用类似操作系统的“并行”;时分复用类似操作系统的“并发”。

假如A、B、C主机都休息了,只有D主机在发送信息,那么ABC的时隙就浪费了。于是有了改进的时分复用。

适合传输数字信号。

6 改进的时分复用——统计时分复用STDM

Statistical:统计的  time division multiplexing

每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。

7 波分多路复用WDM

Wavelet:微波 division multiplexing

波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率) 的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。

8 码分多路复用CDM

码分多路复用CDM :

Code division multiplexing

为什么使用CDM:假设A站要向C站运输黄豆,B站要向C站运输绿豆,A与C、B与C之间有一条公共的道路,可以类比为广播信道。
        在频分复用方式下,公共道路被划分为两个车道,分别提供给A到C的车和B到C的车行走,两类车可以同时行走,但只分到了公共车道的一半,因此频分复用(波分复用也一样)共享时间而不共享空间。
        在时分复用方式下,先让A到C的车走一趟,再让B到C的车走-一趟,两类车交替地占用公共车道。公共车道没有划分,因此两车共享了空间,但不共享时间。
        码分复用与另外两种信道划分方式大为不同,在码分复用情况下,黄豆与绿豆放在同一辆车
上运送,到达C后,由C站负责把车上的黄豆和绿豆分开。因此,黄豆和绿豆的运送,在码分复用的情况下,既共享了空间,也共享了时间。

码分多址(CDMA):

Code division multiple access       multiple:多样的;access:访问,入口

码分多址(CDMA)是码分复用的一种方式,其原理是每比特时间被分成m个更短的时间槽,称为芯片(chip) ,通常情况下每比特有64或128个芯片。每一个站点被指定一个唯一的m位的芯片序列。发送1时站点就发送芯片序列,发送0时就发送芯片序列反码(通常把0写成-1)。

  • 假如A站点要发送的数据是10,1比特对应芯片序列+1 -1 -1 +1 +1 +1 +1 -1(为了方便这里只写8位)。那么0比特对应芯片序列反码-1 +1 +1 -1 -1 -1 -1 +1。比如可以用一个向量S来表示A的码片向量。

如何不打架(同时发送):多个站点同时发送数据的时候,要求各个站点芯片序列相互正交。即A的第一个比特位的芯片序列与B的第一个比特位的芯片序列正交结果为0,就可以同时发送。

如何合并:各路数据在信道中被线性相加。A的第一个比特位的芯片序列与B的第一个比特位的芯片序列相加的向量。

如何分离:合并的数据和源站规格化内积。如果用A的序列与合并的数据规格化内积结果是1,那么说明A的第一个比特就是1;结果是-1,那么说明A的第一个比特就是0。

9 CD还是CS?

3.5.2 随机访问介质访问控制-ALOHA协议(非重点)

注意:半双工通信模式下才会出现冲突,故本章均是在半双工通信前提下进行研究。

1 纯ALOHA协议

Aloha协议或称Aloha技术、Aloha网,是世界上最早的无线电计算机通信网。它是1968年美国夏威夷大学的一项研究计划的名字。由该校Norman Amramson等人为他们的地面无线分组网设计的。70年代初研制成功一种使用无线广播技术的分组交换计算机网络,也是最早最基本的无线数据通信协议。

取名Aloha,夏威夷语你好的意思

纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发

冲突如何检测?
如果发生冲突,接收方在接收到数据时会检测出差错,然后不予确认,发送方在一定时间内收不到确认帧就判断发生冲突。

冲突如何解决?
超时后等一随机时间再重传。

2 时隙ALOHA协议

时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再送。控制想发就发的随意性

理解:类似每个人都需要整点出发,不允许在其他时间出发。这样只可能在整点出现冲突。

3 关于ALOHA要知道的事

1.纯ALOHA比时隙ALOHA吞吐量更低,效率更低。

2.纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。

3.5.3 随机访问介质访问控制-CSMA协议

ALOHA协议:不听别人说就自己想说就说;CSMA协议:先听别人说再自己说(先检测再发送)。
注意:半双工通信模式下才会出现冲突,故本章均是在半双工通信前提下进行研究。

1 CSMA协议内容(先检测再发送)

载波监听多路访问协议CSMA (carrier sense multiple access):

CS:载波侦听/监听(carrier:载体;sense:感觉、检测;carrier sense:载波监听),每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。

  • 如何检测总线上是否有其他站在发送数据:当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大( 发送的数据的电压互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。

MA:多点接入(multiple:多样的;access:n访问、入口,v接近),表示许多计算机以多点接入的方式连接在一根总线 上。

协议思想:发送帧之前,监听信道。

2 1-坚持CSMA

坚持指的是对于监听信道忙之后的坚持。

1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。

  • 空闲则直接传输,不必等待。
  • 忙则一直监听,直到空闲马上传输。
  • 如果传输后有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。

优点:只要媒体空闲,站点就马上发送,避免了媒体利用率(信道的利用程度)的损失。

缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。

3 非坚持CSMA

非坚持指的是对于监听信道忙之后就不继续监听。

非坚持CSMA思想:

  • 如果一个主机要发送消息,那么它先监听信道。
  • 空闲则直接传输,不必等待。
  • 忙则等待一个随机的时间之后再进行监听。

优点:采用随机的重发延迟时间可以减少冲突发生的可能性。

缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。

4 p-坚持CSMA

p-坚持指的是对于监听信道空闲的处理。

p-坚持CSMA思想:

  • 如果一个主机要发送消息,那么它先监听信道。
  • 空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
  • 忙则等待一个随机的时间之后再进行监听。

优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。

缺点:发生冲突后还是要坚持把数据帧发送完,造成了浪费。有没有什么办法可
以减少资源浪费,冲突就能发现呢?有——CSMA/CD协议!

5 三种CSMA对比总结

举例喝奶茶:

  • 1-坚持的人:超想喝!到我了就买,没到我就排队等!
  • 非坚持的人:不急喝。到我了就买,没到我就一会再来。
  • p-坚持的人:随性喝。到我了按概率买(可能买也可能不买),没到就一会再来。

3.5.4 随机访问介质访问控制-CSMA/CD协议

注意:半双工通信模式下才会出现冲突,故本章均是在半双工通信前提下进行研究。

1 CSMA/CD协议内容(边发送边监听,2τ)

载波监听多路访问/碰撞检测CSMA/CD (carrier sense multiple access with collision detection)

CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。

MA:多路访问,表示许多计算机以多点接入的方式连接在一根总线上。 所以该协议适用于总线型网络类型

CD:碰撞检测(collision:冲突;detection:检测),“ 边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。类似半双工网络通信方式(对讲机)

先检测后发送为什么还会冲突?

  • 因为电磁波在总线上总是以有限的速率传播的(有传播时延)。A给B发送数据的时电磁波还没到B,B就开始给A发送数据,他们的电磁波就会在路上发送冲突。

2 传播时延对载波监听的影响

过程分析:A和B发送的数据发送冲突后,都是以浑浊的电磁波(叠加在一起了)继续传播。B根据收到的数据帧检测是否出错,发现错误,判断发生了冲突。B认为是自己的问题没有检测到信道上有数据在传输,所以赶紧停止发送数据。A同理,也停发了。

A最迟多久才能知道自己发送的数据没和别人碰撞?

  • 以最坏的情况分析:B发送的数据刚出门就与A发送的数据发生了碰撞,碰撞前A发送到B的时间为1τ,碰撞后B发送到A也为1τ。所以A最迟2τ才能知道自己发送的数据是否和别人发生碰撞。
  • 总线的端到端往返传播时延2τ,也称为争用期、冲突窗口、碰撞窗口。非常重要的参数!

知道自己发送的数据是否别人碰撞的时间区间:(0,2τ),0表示自己刚出门就发生碰撞。

3 如何确定碰撞后的重传时机?截断二进制指数规避算法

例:在以太网的二进制回退算法中,在11次碰撞之后,站点会在0~ (? )之间选择一个随机数。

  • k=min[11,10]=10; 2^10-1=1023; 故站点会在0~1023之间选择一个随机数。

4 最小帧长问题(以太网最小帧长64B)

问题分析:

  • 个人理解:CSMA/CD协议本身就是为了及时阻止发生碰撞的帧继续发送,你现在直接发完了,岂不是让我很尴尬?所以我们希望在发生碰撞的时候,帧的发送还没结束。

最小帧长:

所以帧的传输时延至少要两倍于信号在总线中的传播时延τ。(因为A站最长2τ后才知道自己是否发生碰撞,如果A站已经把帧发送完毕还不知道自己是否发生碰撞,那就没意义了。)

以太网最短帧长:以太网规定最短帧长为64B(字节),凡是长度小于64B的都是由于冲突而异常终止的无效帧。

5脑图时刻

3.5.5 随机访问介质访问控制-CSMA/CA协议(非重点)

1 CSMA/CA协议内容

载波监听多点接入/碰撞避免CSMA/CA (carrier sense multiple access with collision avoidance)

为什么要有CSMA/CA?——>无线局域网。而CSMA/CD只能应用于总线型以太网。

无线局域网不能使用CSMA/CD的原因:1、无法做到360°全面检测碰撞;2、隐蔽站:当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突。(当A向B发送数据时,C不知道,于是C也向B发送数据,此时C就叫做隐蔽站)

CSMA/CA非常有礼貌:不光是先听后发,而且发送每一个数据之前都先等一会儿,如果没人抢话再说话。

2 CSMA/CA协议工作原理

3 CSMA/CD与CSMA/CA

相同点:

  • CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。

不同点:

  1. 传输介质不同: CSMA/CD 用于总线式以太网[有线],而CSMA/CA用于无线局域网[无线]。
  2. 载波检测方式不同:因传输介质不同,CSMA/CD 与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS) 和能量载波混合检测三种检测信道空闲的方式。
  3. CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。

3.5.6 轮询访问介质访问控制

1 介质访问控制回顾

信道划分介质访问控制( MAC Media Access Control )协议:

  • 基于多路复用技术划分资源,信道固定划分。
  • 网络负载重:共享信道效率高,且公平
  • 网络负载轻:共享信道效率低(双方不说话,信道就浪费了,所以效率低)

随机访问MAC协议:冲突

  • 用户根据意愿随机发送信息,发送信息时可独占信道带宽。信道并非固定划分。
  • 网络负载重:产生冲突开销
  • 网络负载轻:共享信道效率高,单个结点可利用信道全部带宽(说话时再分配资源,不说话就不分配资源,不会造成资源浪费,所以效率高)

轮询访问MAC协议/轮流协议/轮转访问MAC协议:

  • 既要不产生冲突,又要发送时占全部带宽。
  • 轮询协议、令牌传递协议

2 轮询访问介质访问控制——轮询协议(非重点)

主结点轮流“邀请”从属结点发送数据。

  • 主结点主机轮流询问从属结点主机要不要发送数据,所有结点主机问完一遍以后再重复询问...
  • 询问的过程其实就是发送一个数据帧,用来实现询问的作用。

问题:

  • 1.轮询开销 (从属结点多的话开销多)
  • 2.等待延迟(如果前三个主机都不发送数据,第四台发送数据。还是要等询问完前三个才询问第四个。)
  • 3.单点故障(如果主结点主机宕机,其他从属结点主机也发不了数据了。解决方法:备用主机)

3 轮询访问介质访问控制——令牌传递协议

TCU:传递数据帧时的一个转发接口,它可以传递所有经过的帧,为接入站发送和接收数据提供接口。

令牌:

  • 一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。
  • 令牌环网无碰撞
  • 每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。

问题:

  • 1.令牌开销
  • 2.等待延迟
  • 3.单点故障(有一个发生宕机就无法通信,如果发生宕机,用替代机解决)

应用于令牌环网局域网(物理上是星型拓扑,逻辑上是环形拓扑)。

采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。

4 MAC协议总结


3.6 局域网(工作在数据链路层)

3.6.1 局域网基本概念和体系结构

1 局域网内容

局域网( Local Area Network) :简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播式网络传输技术,共享公共通信信道。

  • 特点1:覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
  • 特点2:使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高( 10Mb/s ~ 10Gb/s)。
  • 特点3:通信延迟时间短,误码率低,可靠性较高。
  • 特点4:各站为平等关系,共享传输信道。
  • 特点5:多采用分布式控制和广播式通信,能进行广播和组播。

决定局域网的主要要素为:网络拓扑结构,传输介质与介质访问控制方法。

2 局域网拓扑结构

总线型拓扑结构比较好,以太网就是逻辑上的总线型拓扑结构,物理上星型拓扑结构。

3 局域网传输介质

有线局域网  常用介质:双绞线、同轴电缆、光纤

无线局域网 常用介质:电磁波

4 局域网介质访问控制方法

1.CSMA/CD协议

  • 常用于总线型局域网,例如以太网,也用于树型网络。

2.令牌总线(令牌传递协议)

  • 常用于总线型局域网,也用于树型网络
  • 它是把总线型或树型网络中的各个工作站按一定顺序如按接口地址大小排列形成一个逻辑环。只有令牌持有者才能控制总线,才有发送信息的权力。

3.令牌环(令牌传递协议)

  • 常用于环形局域网,例如令牌环网(逻辑上是环型,物理上是星型。物理和逻辑不一定一样)

5 局域网的分类

1.以太网

  • 以太网是应用最为广泛的局域网,包括标准以太网(10Mbps) 、快速以太网( 100Mbps)、千兆以太网( 1000 Mbps)和10G以太网,它们都符合IEEE802.3系列标准规范。逻辑拓扑为总线型,物理拓扑是星型或拓展星型(物理星型:中间就是集线器 ,A发送信息还是会传输到集线器的所有端口,所以说是逻辑总线型)。使用CSMA/CD介质访问控制协议。

2.令牌环网

  • 物理上采用了星形拓扑结构,逻辑上是环形拓扑结构。已是“明日黄花”。因为有一个节点发生宕机,整个环就无法通信,所以造价比较高。使用令牌环介质访问控制协议。

3.FDDI网(Fiber Distributed Data Interface )(了解即可)

  • 物理上采用了双环拓扑结构,逻辑上是环形拓扑结构。

4.ATM网(Asynchronous Transfer Mode)(了解即可)

  • 较新型的单元交换技术,使用53字节固定长度的单元进行交换。

5.无线局域网(Wireless Local Area Network; WLAN)

  • 采用ІЕЕЕ802.11标准。使用CSMA/CA介质访问控制协议。

6 IEEE802标准(只对应OSI参考模型的数据链路层与物理层)

IEEE802系列标准是IEEE802LAN/MAN标准委员会制定的局域网、城域网技术标准(1980年2月成立)。其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列标准中的每一个 子标准都由委员会中的一个专门工作组负责。

IEEE802现有标准(列举目前需要知道的)

  • IEEE 802.3:以太网介质访问控制协议(CSMA/CD) 及物理层技术规范。

  • IEEE 802.5:令牌环网(Token-Ring)的介质访问控制协议(令牌环令牌传递协议)及物理层技术规范。(令牌环有单点故障,呜呜呜555)

  • IEEE 802.8:光纤技术咨询组,提供有关光纤联网的技术咨询。(记:光纤贵,有钱:发发发888)

  • IEEE 802.11:无线局域网(WLAN)的介质访问控制协议(CSMA/CA)及物理层技术规范。

7 MAC子层和LLC子层

IEEE 802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层(所以局域网工作在数据链路层),其中它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。MAC子层是与物理层相关的,LLC子层是与网络层相关的。

  • LLC子层(Logical link control:逻辑链路控制)建立和释放数据链路层的逻辑连接、提供与网络层的接口、差错控制、给帧加序号。LLC报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理。为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传送。
  • MAC子层(Media access contro:介质访问控制; Media:媒体、媒介)的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性。

8 脑图时刻

3.6.2 以太网(第一个局域网)

1 以太网概述

以太网概述:以太网(Ethernet)指的是由Xerox公司创建并由XerOX、Intel和DEC公司联合开发的基带总线(总线型拓扑)局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网使用CSMA/CD介质访问控制协议。

  • 只要是使用CSMA/CD介质访问控制协议的局域网就是以太网。

以太网特点:以太网在局域网各种技术中占统治性地位

  • 1.造价低廉(以太网网卡不到100块) ;
  • 2.是应用最广泛的局域网技术;
  • 3.比令牌环网、ATM网便宜,简单;
  • 4.满足网络速率要求: 10Mb/s~10Gb/s.

以太网两个标准:

  • 以太网V2(DIX Ethernet V2):第一个局域网产品(以太网)规约。最常用的MAC帧是以太网V2的格式。
  • IEEE 802.3: IEEE 802委员会802.3工作组制定的第一个IEEE的以太网标准。( 帧格式有一丢丢改动)(也可以说802.3局域网等价于以太网)

2 以太网提供无连接、不可靠的服务

无连接:发送方和接收方之间无“握手过程”。

不可靠:不对发送方的数据帧进行编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层(传输层)负责。

总结以太网:以太网只实现无差错接收(负责物理层和链路层之间),没有差错控制,不实现可靠传输。

3 以太网传输介质与拓扑结构的发展

4 以太网传输介质

以太网常用的传输介质有4种:粗缆、细缆、双绞线和光纤。各种传输介质的适用情况见下表。

 10BASE-T重点:是传送基带信号的双绞线以太网,T表示采用双绞线,非屏蔽双绞线(UTP:unshielded twisted pair)

unshielded:adj. 未加掩盖的;[电子] 无屏蔽的;无防御的

twist: n. 转动,旋转,拧;  twisted: adj. 扭曲的

pair: n. 一对,一双,一副

  • 传输速率是10Mb/s。
  • 拓扑结构:物理上采用星型拓扑,逻辑上总线型(物理星型:中间就是集线器 ;逻辑总线型:A发送信息还是会传输到集线器的所有端口,所以说是逻辑总线型,属于一个冲突域)。
  • 介质访问控制协议:采用CSMA/CD介质访问控制协议。(只有当以太网工作于半双工方式下时,才需要CSMA/CD协议来应对冲突问题,速率小于等于1Gb/s 的以太网可以工作于半双
    工或全双工方式,而速率大于等于10Gb/s的以太网只能工作于全双工方式下,因此没有争用问题,不使用CSMA/CD协议。)

5 适配器(网卡)与MAC地址(网卡唯一标识)

计算机与外界局域网的连接是通过网络适配器(Adapter)的。

网络适配器又称为网络接口板、网络接口卡NIC (network interface card)(我们常说的网卡)。

  • NOW,不再使用单独网卡。(现在的计算机主板上都已经嵌入了适配器,不会再单独使用网卡了)

适配器上装有处理器和存储器(包括RAM:随机存储器和ROM:只读存储器)。

Random access memory:随机存储器。access:(对计算机存储器的)访问 memory:n. 记忆,记忆力;内存,[计] 存储器

Read only memory:只读存储器

ROM上有计算机硬件地址:MAC地址。(数据链路层上标识每一个设备的标识符)

  • 在局域网中,硬件地址又称为物理地址,或MAC地址。[ 实际上是标识符]
  • MAC地址:每个适配器有一个全球唯一的48位二进制地址(6B),前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用12个十六进制数表示,如02-60-8c-e4-b1-21。2^48=16^12

MAC地址英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址  。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。

6 以太网MAC帧(MAC子层)

MAC帧的格式:以太网有两个标准为以太网V2和IEEE 802.3,最常用的MAC帧是以太网V2的格式。

以太网MAC帧:

在链路层对IP数据报进行封装:封装的过程就是加头加尾(头:目的地址,源地址,类型;尾:FCS,Frame Check Sequence(帧校验序列),俗称帧尾)。

为了使接收端可以迅速实现位的同步(发送方和接收方能够保持发送和接收的同步),则需要从MAC层传到物理层的MAC帧前面插入8B的前导码。前导码前面比特位1010...类似齐步走的1212,使得发送方和接收方能够进行同步,帧开始定界符最后的两个比特位11就是发送方告诉接收方可以开始接收我的MAC帧了。

MAC帧组成 

  • 目的地址(6B):1、单播地址(专有的MAC地址);2、广播地址(比特位全1,发送给全部主机);3、多播地址(了解即可)
  • 源地址(6B):设备本身的MAC地址。
  • 类型:指明网络层使用的协议,以便把收到的MAC帧的数据上交给上一层的协议。
  • 数据:长度46B~1500B,46B:CSMA/CD协议中提过最小帧长,以太网最小帧长是64B,64-6-6-2-4=46;1500B:链路层的最大数据传输单元MTU。
  • FCS:CRC循环冗余检验中的冗余码/FCS帧校验序列。

注意:为什么目的地址和源地址的大小为6B(包括局域网MAC帧的地址),因为MAC地址:每个适配器有一个全球唯一的48位二进制地址,48bit就是6B。

物理层:物理层中为什么头部插入8B前导码中有一个帧开始定界符,而后面却没有帧结束定界符呢?因为以太网使用的编码形式是曼彻斯特编码,曼彻斯特编码的一个特点就是在每一个比特内都会有两个码元,所以只要发送数据就能感受电压的变化,不发数据的时候电压就不会变化,这样我们就能知道以太网MAC帧结束的位置,在结束位置再向前推四个字节(以太网MAC帧的后四个字节是FCS)就能知道数据结束的位置。

与IEEE 802.3格式的区别:

  • 1.第三个字段是长度/类型
  • 2.当长度/类型字段值小于0x0600时,数据字段必须装入LLC子层。

7 高速以太网(全双工方式下工作无冲突)

速率>=2100Mb/s的以太网称为高速以太网。

1.100BASE-T以太网(交换机)

  • 在双绞线(T)上传送100Mb/s(100B)基带信号的星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。因为在100BASE-T中还是会发送冲突。
  • 支持全双工和半双工,可在全双工方式下工作而无冲突。(星型拓扑结构的中心节点变成了交换机,每一台主机都可以发送,发送的同时可以接收。因为交换机后面会讲到可以隔离冲突域,所以每一个交换机的端口都是一个冲突域,因此一个主机在一个冲突域中不会发生冲突,所以在全双工下无冲突也就不需要使用CSMA/CD协议。)

2.吉比特以太网

  • 在光纤或双绞线上传送1Gb/s信号。
  • 支持全双工和半双工,可在全双工方式下工作而无冲突。

3.10吉比特

  • 10吉比特以太网在光纤.上传送10Gb/s信号。
  • 只支持全双工,无争用问题。

8 脑图时刻

3.6.3 无线局域网

1 IEEE 802.11(无线局域网通用的标准)

IEEE 802.11是无线局域网通用的标准,它是由IEEE所定义的无线网络通信的标准。

无线局域网(几千米)覆盖的范围要比WIFI(一间屋子)大得多,满足b和g定义的标准就是WIFI。

2 802.11(无线局域网)的MAC帧头格式

802.11MAC帧头WDS功能的组成:

先引入基站的概念:A手机和B手机进行通信,A手机附近有一个基站APa(AP:AccessPoint的简称,通常翻译为“无线接入点”或“桥接点”。),B手机附近有一个基站APb。

  • 目的地址(DA):B的MAC地址;
  • 源地址(SA):A的MAC地址;
  • 接收端(RA):理解为B手机附近的基站APb的MAC地址
  • 发送端(TA):理解为A手机附近的基站APa的MAC地址

无线AP与无线路由器的区别

功能不同

无线AP:AP全称是Access Point,其功能是把有线网络转换为无线网络。形像点说,无线AP是无线网和有线网之间沟通的桥梁。其信号范围为球形,搭建的时候最好放到比较高的地方,可以增加覆盖范围,无线AP也就是一个无线交换机,接入在有线交换机或是路由器上,接入的无线终端和原来的网络是属于同一个子网。

无线路由器

无线路由器:无线路由器就是一个带路由功能的无线AP,接入在ADSL宽带线路上,通过路由器功能实现自动拨号接入网络,并通过无线功能,建立一个独立的无线家庭组网。

802.11MAC帧头格式有四类:

例如To AP :发往基站,那么地址1接收端就是BSSID(基站的MAC地址,BSS指基站的基本服务集),因为你要发送给基站,那么接收端就是该基站的地址。地址2发送端就是SA(源地址,即发送主机的MAC地址)。

3 无线局域网的分类

1.有固定基础设施无线局域网

每个基站可以实现该范围内各主机的通信,也可以实现漫游(该基站范围内主机与其他基站范围内主机进行通信)。基站与范围内主机构成基本服务集BSS(Basic Service Set)。

如果基站与D主机之间有一堵墙,会造成D主机信号弱。那么隔得很远的A主机与B主机如何通信呢?——分配系统DS(Distribution system)

  • 分配系统DS相当于把无线和有线结合在一起,隔得很远的A与B通信时,主机A先把数据发送给它范围内的基站AP1。基站都会接入到有线线缆上(接入分配系统中),进行有线通信,将数据传输到AP2基站。AP2再把数据转发给主机B。

扩展服务集ESS(Extending the service set):几个基本服务集组成了扩展服务集

基站在生活中很常见,比如连WIFI的时候,每一个WIFI都是一个基本服务集(基站、无线接入点),WIFI名就是服务集标识符。

2.无固定基础设施无线局域网的自组织网络

无固定基础设施:没有任何的转发器、集线器、路由器、基站。只有一些主机,他们自己组成了一个网络,每一台主机都可以充当路由器的功能,也就是既可以发送数据,也可以帮忙转发数据。

  • 例如开会的时候,就不需要基础设施,主机就可以组成一个自组织网络。

方法:把所有主机安排在一个网段就可以了。

3.7 广域网PPP协议和HDLC协议

3.7.1 广域网

广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。

交换技术:广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,广域网通过节点交换机将分布在不同地区的局域网(广域网与局域网通过路由器连接)或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网

广域网与局域网区别:广域网覆盖物理层、链路层到网络层,局域网只覆盖物理层和链路层。局域网采用的是逻辑上总线型的多点接入技术(广播式网络),而广域网采用的是点对点网络。广域网强调数据共享,局域网强调数据传输。

广域网与互联网:互联网可以连接不同类型的网络(既可以连接局域网,又可以连接广域网),通常使用路由器来连接。广域网是单一的网络,通常使用结点交换机连接各台主机(或路由器,路由器另一头是局域网),其中结点交换机在单个网络(广域网)中转发分组。而路由器在多个网络构成的互联网(局域网和广域网)中转发分组。

3.7.2 链路层PPP协议

点对点协议PPP ( Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。(PPP可用于拨号连接,因此支持动态分配IP地址。)

  • 只支持全双工链路。
  • PPP是在SLIP的基础上发展而来的,SLIP主要完成数据报的传送,只能传送IP分组。

1 PPP协议应满足的要求

简单:对于链路层的帧,无需纠错,无需序号,无需流量控制。

  • 设计因特网体系结构的时候,把复杂的部分都放在了TCP协议当中,IP协议也稍微复杂点,IP协议层主要提供不可靠的数据报服务,因此链路层没有必要抢在IP协议层前把可靠传输实现。

封装成帧:帧定界符

透明传输:与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充(和HDLC协议一样的0比特插入法)。

多种网络层协议:封装的IP数据报可以采用多种协议。

多种类型链路:串行/并行, 同步/异步,电/光....

差错检测:错就丢弃。

检测连接状态:链路是否正常工作。

最大传送单元:数据部分最大长度MTU。

网络层地址协商:知道通信双方的网络层地址。

数据压缩协商:发送数据的时候对数据进行压缩。

2 PPP协议无需满足的要求

  • 纠错
  • 流量控制
  • 序号
  • 不支持多点线路:只需要满足点对点之间的连接过程。

为什么不需要满足以上要求:为了使PPP协议更加简单,不需要实现可靠传输。

3 PPP协议的三个组成部分

1.一个将IP数据报封装到串行链路( 同步串行/异步串行)的方法

2.链路控制协议LCP:用于建立并维护数据链路连接,在建立状态阶段协商数据链路协议的选项。身份验证。

3.网络控制协议NCP: PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。

  • 建立数据链路连接后,接下来可以实现上网的功能,这个时候需要把网络层的数据报进行一个处理封装给链路层,这个过程就是由网络控制协议NCP负责。
  • LCP协议与NCP协议的关系:相当于LCP协议是在建立一种物理连接,而NCP协议是要在物理层之上再建立一层逻辑连接。

4 PPP协议的状态图

5 PPP协议的帧格式

F(标志字段/帧定界符):16进制表示为7E,二进制表示为01111110。(为什么PPP协议又需要在尾部添加帧定界符呢?因为PPP协议没说编码方式为曼彻斯特编码,无法根据电压的变化来判断是否结束)

信息部分:可能存在1个字节与帧定界符是一样的,为了实现透明传输使用字符填充的首尾定界符法插入一个转义字符7D(十六进制)。到了接收端后把转义字符去掉就行了。

  • 字符填充的首尾定界符法:在控制信息的字符(SOH、EOT)前面加上转义字符ESC,字符填充对应着PPP协议面向字节。

A(地址字段)和C(控制字段):设计的时候没有赋予意义,所以实际上没有携带PPP协议的有用信息。

协议:标识信息部分是什么:1.IP数据报 2.LCP(链路控制协议)的数据 3.网络层控制数据

FCS:为了实现差错检测,插入2个字节的帧检验序列(由3.3.1可知如何得到)。

PPP协议是面向字节的,因为PPP的帧格式是以字节为单位的。

3.7.3 链路层HDLC协议

高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的。

  • 不属于TCP/IP协议族。
  • 数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现。0比特插入法对应着HDLC协议面向比特。
  • 采用全双工通信(和PPP协议一样)
  • 所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。

1 HDLC的站

主站:起控制作用的站,从站:被控制的站,复合站:既可以当主站又可以当从站的站。

  1. 主站的主要功能是发送命令( 包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。
  2. 从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。
  3. 复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。

三种数据操作方式:

  1. 正常响应方式:如果从站要发送消息,先经过主站的同意,主站命令它可以发送了,从站才可以发送数据。
  2. 异步平衡方式:每一个复合站都可以进行对别的站的数据传输,每个站都很平等。
  3. 异步响应方式:从站胆肥了,不经过主站的同意就可以进行数据传输。

2 HDLC的帧格式

透明传输区间:如果透明传输区间内有与标志字段相同的比特流组合,我们可以采用零比特传输方法。HDLC协议是面向比特的,因为HDLC的帧格式是以比特为单位。

地址:取决于三种数据操作方式,正常响应方式和异步响应方式地址是从站的地址,异步平衡方式地址是对方的地址。

控制字段(只看前两位,记作无奸细):

  • 1)信息帧(I)第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认;
  • 2)监督帧(S) 10,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能。
  • 3)无编号帧(U) 11,用于提供对链路的建立、拆除等多种控制功能。

3.7.4 PPP协议&HDLC协议

1 相同点

  • HDLC、PPP只支持全双工链路。
  • 都可以实现透明传输。(PPP协议既可以实现0比特填充的比特填充方法,也可以实现字符填充;HDLC协议只能实现0比特填充法)
  • 都可以实现差错检测,但不纠正差错。

2 不同点

HDLC有确认机制,所以是可靠传输。

  • 为什么HDLC协议实现可靠传输我们还不怎么用它呢?因为太浪费了,在实际应用中,我们主要靠传输层的TCP协议来实现差错控制、流量控制等功能。网络层和链路层实现地都是不可靠的传输,原因在于我们对网络的速率要求比较高,如果在链路层和网络层还要进行差错的检测和纠正,这样花费的时间就更高了,延迟太大。所以在网络层和链路层不实现可靠传输,可靠传输交给传输层。

2 脑图时刻

广域网中有很多结点交换机,可以实现分组转发的功能,和路由器很类似。但是要注意,结点交换机是在一个网络内,而路由器是在几个网络之间的。


3.8 链路层设备

3.8.1 物理层扩展以太网

主机和集线器的双绞线长度不能超高100米(详见10BASE-T以太网小节),为了与距离比较远的主机进行通信,我们就要在物理层上把以太网拓展一下。

第一种方法:采用光纤传输(长度长,第二章讲过光纤信号的损耗很小),使用光纤解调器(光猫)。

第二种方法:主干集线器。第一个好处是可以实现夸冲突域的通信,第二个可以扩大以太网覆盖的范围。缺点是效率变低,原来一个冲突域内是4台主机,现在一个冲突域12台主机(以太网是半双工通信方式,会发送冲突),发生冲突的概率更高。如何解决这个问题?——>在链路层扩展以太网

3.8.2 链路层扩展以太网

1 网桥

网桥:网桥是交换机的前身,现在实际应用中通常采用交换机。交换机就是更多接口的网桥。而且现在的局域网物理层中每台主机都是通过交换机相连,集线器已经被淘汰了。网桥就是把几个以太网连接起来,因此构成了一个更大的以太网。之前的每一个以太网就是一个冲突域,也称为网段。

网桥与集线器的区别:网桥根据MAC帧(因为是以太网,所以有MAC帧)的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。而集线器是转发到所有接口(逻辑总线型,共用信道)。

网段:一般指一个计算机网络中使用同一物理层设备(传输介质, 中继器,集线器等)能够直接通讯的那一器寺部分。

网桥优点:

1.过滤通信量,增大吞吐量。

  • 不同网段(冲突域)内可以单独通信。假如A和B通信时,C和D也可以同时通信。不像物理层设备连着六台主机是不可以同时通信的。A和C也可以通信,因为网桥把以太网进行了扩展。假如每一个网段的数据传输速率带宽是10MB/S,这三个网段合起来最大的吞吐量就是30MB/S,而在物理层设备中最大吞吐量还是10MB/S。

2.扩大了物理范围。

3.提高了可靠性。

  • 网络出现故障时,只有一个网段内部会受到影响,不会影响其他网段。

4.可互连不同物理层、不同MAC子层和不同速率的以太网。

2 网桥——透明网桥

透明网桥:“ 透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备——自学习。

  • A给B发送帧的过程:网桥1按帧的源地址(A的MAC地址)查找自己的转发表,发现转发表中没有A的地址,于是把A的地址和收到这个帧的接口写入转发表中。这样以后其他主机要给A主机发信息,网桥1就会知道要从网桥1的1号接口传输过去。然后根据帧的目的地址(B的MAC地址)来查找转发表,发现转发表中没有B的地址,于是通过除了1接口之外的接口转发出去,其他主机发现不是给自己的,直接丢弃。这就是自学习的过程。
  • B给A发送帧:A直接收到了,同时还会传给网桥1,网桥1就会查询自己的转发表,发现没有B的源地址,那么写入。再看目的地址(A的地址),发现有,是接口1,那么网桥知道A在接口1左边,不用再转发这个帧,丢弃。

3 网桥——源路由网桥

源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。

方法:源站以广播方式向欲通信的目的站发送一个发现帧。 目的站收到后,会将发现帧原路返回,这样源站就知道有多少种路由选择的方案。这么多方案肯定有路由最短或时间最短,选择哪一个取决于实际需求,然后把最近路由信息放在帧的首部。

4 以太网交换机(多接口网桥,N对端口)

以太网交换机:以太网交换机对工作站是透明的,因此管理开销低廉,简化了网络结点的增加、移动和网络变化的操作。利用以太网交换机还可以方便地实现虚拟局域网(Virtual LAN, VLAN),VLAN不仅可以隔离冲突域,而且可以隔离广播域。

原理:交换机和网桥原理一样,它检测从以太端口来的数据帧的源和目的地的MAC(介质访问层)地址,然后与系统内部的动态查找表进行比较,若数据帧的MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。

特点:

  1. 以太网交换机的每个端口都直接与单台主机相连(普通网桥的端口往往连接到以太网的一个网段),并且一般都工作在全双工方式。
  2. 以太网交换机能同时连通许多端口,使每对相互通信的主机都能像独占通信媒体那样,无碰撞地传输数据。
  3. 以太网交换机也是一种即插即用设备(和透明网桥一样),其内部的帧的转发表也是通过自学习算法自动地逐渐建立起来的。
  4. 以太网交换机由于使用了专用的交换结构芯片,因此交换速率较高。
  5. 以太网交换机独占传输媒体的带宽。

独占传输媒体带宽理解:当前信道的带宽是10Mb/s,交换机任意一对端口的带宽也是10Mb/s,因此对于拥有N对端口(不是N个!!!)的交换机的总容量为N*10Mb/s。  而每个冲突域里面的主机是2.5Mb/s。

5 以太网交换机的两种交换方式

直通式交换机:

  • 查完目的地址(6B) 就立刻转发。
  • 延迟小,可靠性低,无法支持具有不同速率的端口的交换。

存储转发式交换机:

  • 将帧放入高速缓存, 并检查否正确,正确则转发,错误则丢弃。
  • 延迟大,可靠性高,可以支持具有不同速率的端口的交换。
  • 实际应用中通常使用存储转发式交换机。

6 总结一下冲突域和广播域

冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。
广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域。

路由器具体怎么隔离广播域将在网络层讲到。

集线器构成一个冲突域,以太网交换机每一个端口都是一个冲突域。一个路由器的两端分别构成广播域,如果没有路由器那么一起构成一个广播域,因为只有路由器可以隔离广播域。

7 脑图时刻


3.9 第三章总结

王道考研计算机网络第三章--数据链路层相关推荐

  1. 计算机网络笔记(王道考研) 第三章:数据链路层

    内容基于中国大学MOOC的2023考研计算机网络课程所做的笔记. 感谢LY,他帮我做了一部分笔记.其中第四章网络层各小节的顺序稍微做了下调整,和上课老师讲的先后顺序稍有不同,但内容是完整的. 课程内容 ...

  2. 王道考研 计算机网络笔记 第二章:物理层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 后续章节将陆续更新- 第二章 一.物 ...

  3. 计算机网络第三章数据链路层习题答案

    计算机网络第三章数据链路层习题答案 3-02数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点. 答:链路管理 帧定界 流量控制 差错控制 将数据和控制信息区分开 透 ...

  4. 计算机网络第三章——数据链路层(仅记录我所认为重要的知识点)

    计算机网络第三章--数据链路层 数据链路层使用的信道类型 点对点信道 广播信道 数据链路层位置 数据链路层的3个基本问题 数据链路和帧 链路 数据链路 数据链路层传输的是帧 封装成帧 透明传输问题 差 ...

  5. 计算机网络第三章 数据链路层重点复习(点对点)

    目录 前言 系列文章目录 3.1 使用点对点通信的数据链路层 3.1.1 点对点通信的主要步骤 3.1.2 三个基本问题 3.2 点对点协议PPP 3.2.1 PPP协议的特点 3.2.2 PPP协议 ...

  6. 【计算机网络】南航计算机网络第三章 数据链路层

    文章目录 计算机网络第三章 数据链路层 3.1 使用点对点信道的数据链路层 帧--数据链路层的协议数据单元 基本问题 封装成帧 透明传输 差错检测 3.2 点对点协议PPP(Point-to-Poin ...

  7. 王道考研 计算机网络笔记 第一章:概述计算机网络体系结构

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 后续章节将陆续更新- 目录 一.概念.功能.组成.分类 1. 计算机网络的概念 2. 计算机网络功能 3. 计算 ...

  8. 计算机网络——第三章 数据链路层(详细附图)

    第三章 数据链路层 3.1 数据链路层概述 3.1.1 本章问题 封装成帧 差错检测 可靠传输 广播信道的数据链路层 网桥和交换机的工作原理 3.2 封装成帧 封装成帧 透明传输 面向字节的物理链路 ...

  9. 王道计算机网络课代表 - 考研计算机 第三章 数据链路层 究极精华总结笔记

    本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 计算机网络 知识点的理解的总结.希望对新一届的计算机考研人提供帮助!!!   关于对 数据链路层 章节知识点总结的十分全面,涵括了< ...

  10. 计算机网络 第三章 数据链路层

    有一说一,王道的计算机网络个人感觉不尽如意,数据链路层的内容安排实在是有些乱,里面并不是按照课本来的,而是穿插了很多其它章节的知识. 3.1 数据链路层的功能 数据链路层在物理层提供服务的基础上,向网 ...

最新文章

  1. Asp.net控件开发学习笔记(三)-控件开发基础
  2. 空缺十年,百度再任命CTO!加盟十年,王海峰现集AI大权为一身
  3. python进阶:JSON与枚举
  4. SQL2008错误:当 MUST_CHANGE 为 ON (开)时,不能将 CHECK_POLICY 和 CHECK_EXPIRATION 选项设为 OFF (关)。...
  5. ext时间控件Ext.ux.form.DateTimeField和Ext.form.DateField的用法比较
  6. javax.servlet.http.httpServletRequest接口
  7. Java黑皮书课后题第8章:*8.2(求矩阵对角线元素的和)使用下面的方法头编写一个方法,求n*n的double类型矩阵中主对角线上所有数字的和。编写一个程序,读取一个4*4的矩阵,显示主对角线和
  8. 了解有关JDK9紧凑弦乐的信息(视频回顾Charlie Hunt)
  9. re 模块, 正则表达式 \w+\d+ 的重复问题引发的题目解析
  10. 6.打包和部署应用 6.1创建可执行的JAR的Spring Boot
  11. DevExpress 小结
  12. 附26页PPT下载|借助用户画像解决电商问题
  13. 设计系统测试用例时应考虑的类型
  14. pcb板制作流程图解
  15. macos复制粘贴快捷键 快速_苹果电脑复制粘贴快捷键是什么 如何操作【图文】...
  16. matlab取商,MATLAB-MTSP 遗传算法解决5种多旅行商问题(mtsp)的matlab程序 联合开发网 - pudn.com...
  17. 【IDE】IAR for ARM官网下载链接(超级全,什么版本都有——找不到来打我)
  18. ubuntu基础命令总结
  19. 国外服务器 ping值不稳定,为什么美国服务器网络Ping值高
  20. MacOS 开发 — App多开

热门文章

  1. php yaf twig,GitHub - cheerego/happy_yaf: 搭建一个可用的Yaf,包括Laravel的Eloquent ORM、Twig、脚手架、Whoops和使用用例...
  2. 30天自制操作系统-2
  3. ggplot绘图之基本语法
  4. m3u8加密文件原理及下载脚本
  5. Java:Stream三部曲(三):Stream流处理器
  6. 如何使用OpenCV-Python-dlib实现有关闭眼的检测、眨眼次数的计算?(附源码,绝对可用)
  7. 性能测试指标TPS(Transaction per Second)总结
  8. 生活美学 | 8种咖啡冲煮器具分别有什么特点
  9. 七年之后再次地说:大家好。。。
  10. no-cache和no-store的区别