概述
计算机网络(考研知识梳理)
数据链路层(二)
1.数据链路层的功能
2.组帧
3.差错控制
4.流量控制与可靠传输机制
5.介质访问控制(MAC)
6.局域网
7.广域网
8.数据链路层设备
一. 数据链路层的功能
数据链路层在物理层提供的服务的基础上向网络层提供服务,即将原始的、有差错的物理线路改进成逻辑上无差错的数据链路,从而向网络层提供高质量的服务。它一般包括3种基本服务:
1.无确认的无连接服务
2.有确认的无连接服务
3.有确认的有连接服务
(注意:有连接就一定要有确认,因为对方主机必须确认才可建立连接,即不存在无确认有连接服务)。至于以上三种服务的详细讲解可参考网上信息,这里不作赘述。
具体来说,数据链路层的主要功能如下:
**1)链路管理:**负责数据链路的建立、维持(如当在数据通信过程中,出现差错时,需要重新初始化,重新建立连接)、释放,主要用于面向连接的服务。
**2)帧同步:**在数据链路层,数据以帧为单位进行传送。物理层的比特流按照数据链路层协议的规定被封装在数据帧中传送。为此,接收方应该能够从物理层上传送过来的 无结构的比特流 中,准确地区分出一帧的开始与结束,将这一功能称为帧同步。
【补充】帧定界
当两个主机互相传送信息时,必须将网络层的分组封装称帧,以帧的格式进行传送。将一段数据的前后分别添加首部和尾部,就构成了帧。首部和尾部中含有很多控制信息,它们一个重要的作用时确定帧的界限,即帧定界。
例如,在HDLC协议中的帧格式使用标识符F(01111110)来标识帧的开始和结束,如图所示(有关HDLC协议在 《七.广域网》一节中进行详细讲解)。
图1.
标志 地址 控制 信息 帧校验序列 标志
| F | A | C | Info | FCS | F |
|01111110| 8位 | 8位 | N位(可变)| 16位 | 01111110 |
| 透明传输区间 (两标识符F之间) |
上图为HDLC协议中的标准帧格式
**3)帧的封装与拆装:**在传输数据过程中,当发送方发现报文过长时,需要将过长的报文分成若干份分别进行传送,每一份配上一些数据链路层的控制信息换为一帧。数据传输时,以帧为单位的优点时当出现差错时,可以只重新发送出差错的帧,而不需要将全部数据都重新发送。
源主机在发送数据时,要将从网络层传下来的分组附上目的地址等数据链路层控制信息构成帧,这个过程称为帧的封装。而到达目的主机时,将接受的数据信息传送网络层之前,要将发送方附上数据链路控制信息去掉,将分组信息传送置网络层,这个过程称为帧的拆装。
**4)流量控制:**在数据信息发送过程中,通信双方的数据处理速度不同,为解决这一问题,双方分别建立了缓冲区。但当接收端缓存能力不足时,仍然会造成数据的丢失。
为了避免数据的丢失,源主机发送数据的速率必须使目的地主机能够来得及接受和处理。当目的地主机来不及接收时,就必须及时地控制发送端发送数据的速率。
另外,在传输过程中,由于出现差错和数据丢失等原因,目的地主机收到帧的顺序可能与源主机发送的顺序不同,在数据链路层实体将收到的信息上传至网络层之前,还需要调整接收到的帧的顺序。
**5)透明传输:**假设在图1中的透明传输区间出现了01111110比特组合,也就是与帧定界符相同,会不会被误认为已经结束,而丢弃后面的数据?显然,这样的情况时不允许的,于是就发明了透明传输来解决此问题。其实,透明传输就是不管数据是什么样的比特组合,都应当能在链路上传送。此知识点会在后面进行讲解。
**6)差错控制:**在源主机向目的地主机发送数据时,要求极低的误码率。因此,必须采用差错控制技术。差错控制技术要使目的地主机能够发现传送错误,并能纠正传输错误。
误码率使指发生错误的码元数,接收到的总码元数据的比率。因此,需要提供检测和纠正错误的功能,对于一些不可靠的系统,能够在数据链路层上及时发现和纠正错误,将提供系统的传输效率。
在数据链路层中广泛采用编码技术来实现差错的控制。编码技术有两大类:
1.前向纠错方式,即当目的地主机收到有关差错的数据帧时,目的地主机能够自动根据冗余码将差错纠正过来,但这种方法开销较大,不适合计算机通信。
2.检错重发方式,即目的地主机可以根据冗余码检测出收到的帧中是否有差错,但并不知道错在哪里,而是让发送端重复发送这一帧直到正确接收为止,当重传的次数也是有限的,当重传多次仍然失败,便于工作作为不可恢复的故障向上层报告,这种方法时通信过程中最常用的。
**7)寻址:**计算机网络结构错综复杂,在多点连接的情况下,要保证每一帧都能传送到正确的目的结点。接收方也应当指导发送方是哪一个结点。
二. 组帧
为什么组帧的时候既要加首部,又要加尾部?而报文切割成分组只需加首部?
因为在网络中是以帧为最小单位传输数据的,所以接收端要正确地收到帧,必须要清楚该帧在一串比特流中是从哪里开始到哪里结束的(因为接收端收到的是一串比特流,没有首部和尾部是不能正确区分帧的)。而分组(也称为IP数据报)仅仅是包含在帧的数据部分(后面详细讲解),所以不需要加尾部来定界。
为什么要组帧?组帧的优点是,如果比特流传输错误,只需发送出错的帧,相对于增加了帧同步、帧定界、透明传输问题是值得的。组帧也不能随意组合,要让接收方看得懂才行,所以就需要根据一定的规则将网络层递交下来的分组组装成帧。通常情况下,只需掌握以下4种组帧方法(其中第3、第4种方法不重要,了解即可)。
1.字符计数法
字符计数法是用一个特殊的字符来表示一帧的开始,然后用一个计数字段来表明该帧包含的字节数。当目的主机接收到该帧时,根据此字段提供的字节数,便可指导该帧的结束位和下一帧的开始位。如图:
注意:计数字段提供的字节数包含自身所占的一个字节。
字符计数法存在的问题:如果计数字段在传输中出现差错,接收方就无法判断所传输帧的结束位,当然也无法知道下一帧的开始位,这样就无法帧同步了。由于此原因,字符计数法很少被使用。
2.字节填充的首尾界符法
其实可以将其拆开理解,首先讨论首尾界符法。
由C语言的知识可以知道ASCII码时7位编码,可以组成128个不同的ASCII码,但是可以打印(就是可以从键盘输入的字符)的只有95个字符,那么当传送的帧时文本文件(都是从键盘输入的)时,就可以在剩下的33个控制字符中选定2个字符(教材中选用了SOH与EOT分别作为帧开始和帧结束符)作为每一帧的开始和结束,这样接收端只需要判断两个控制字符出现的位置就能准确地分割成帧,如图所示:
————————————————————————————————————————————
| SOH | 数据部分 | EOT |
————————————————————————————————————————————
注意:字符SOH代表Start of Header(首部开始),EOT代表End of Transmission(传输结束)。SOH和EOT都是ASCII码中的控制字符。SOH的十六进制编码时01,而EOT的十六进制编码是04。不能认为它们是分开的三个字符。
此方式对于文本文件是绝对没有问题的,但当传送的帧不是文本文件,即帧数据部分可能包含控制字符,就不能仅仅使用控制字符去界定了,否则会导致把部分帧收下,其余的丢弃。若如此,帧数据并没有被完全正确得传输,所以此时透明传输问题仍未被解决,首尾界符法是不严谨的,于是出现了字节填充的首尾界符法。
字节填充的首尾界符法设法将数据中可能出现的控制字符 " SOH " 和 " EOT "在接收端不解释为控制字符,而是将其转换为另一个字符,转换规则:
数据中的普通字符:SOH——ESC和x两个字符,
数据中的普通字符:EOT——ESC和y两个字符,
数据中的的控制字符:ESC——ESC和z两个字符。
( ESC是转义符,它的十六进制编码是1B。)
接收端在接收时,只需按照转换规则进行相反的转换,就能还原原来的数据(如:遇到 " ESC " 和 " z " 就还原为 " ESC " ).
其实解决透明传输的方法有很多种,只要合情合理就行,即与接收方约定一种方式,不必一味追求权威。
3.比特填充的首尾标志法
比特填充的首尾标志法时使用01111110作为帧的开始和结束标志,似乎帧定界解决了。但如果帧数据部分出现了01111110 ,这时透明传输仍然是问题,解决如下:
01111110中有6个连续的1,只要数据帧检测到5个连续的1,则马上在其后加一个0,而接收方做该过程的反向操作,以恢复原信息。因此,此方法又称零比特填充法。具体如下:
模拟过程:
1)原始数据:0110101111110010111111011(数据中出现两次01111110)
2)零比特填充后的数据:011010111110100101111101011(加粗的为填充的0)
3)接收方收到收据,一旦遇到5个连续的1,就将后面的0去掉,即可得到原始数据。
4.物理编码违例法
物理编码违例法利用物理介质上编码的违法标志来区分帧的开始和结束。例如,在曼彻斯特编码中,码元1编码成高——低电平,码元0编码成低——高电平,而高——高和低——低电平的编码方式时无效的,可以分别用来作为帧的起始标志和结束标志。
注意:
1.在使用字节填充的首尾界符法时,并不是所有形式的帧搜需要开始符和结束符。如MAC帧就不需要帧结束符。因为以太网传输帧时,各帧之间还必须有一定的间隙。所以,接收端只要找到帧开始定界符,其后面的连续到达的比特流就都属于同一个MAC帧,可见以太网不需要使用帧结束定界符,也不需要使用字节插入来保证透明传输。
2.PPP协议用来进行帧定界的字段为Ox7E。很多人在做习题时会发现没有出现1B,1B时谢希仁教材中对于普通帧透明传输的处理,即转义字符:ESC的十六进制编码。
三. 差错控制
1.检错编码
检错编码:通过一定的编码和解码,能够在接受端解码时检查出传输的错误,但不能纠正错误。常见的检错编码有奇偶校验码和循环冗余码(CRC)。
注:这两种时数据链路层检验比特差错的校验方法,所谓比特差错就是指在传输过程中,1变为0 ,0变成1 ,的错误。
(1)奇偶校验码
奇偶校验码就是在信息码后面加一位校验码,分奇校验和偶校验。
奇校验:添加一位校验码后,使得整个码字里面 1 的个数时奇数。接收端收到数据后就校验一下数据里 1 的个数,如果正好为奇数,则认为传输没有出错;如果检测到偶数个 1 ,则说明传输过程中,数据发生了改变,要求重发。
偶校验:添加一位校验码后,使得整个码字里面 1 的个数是偶数。接收端收到数据后就校验一下数据里 1 的个数,如果正好为偶数,则认为传输没有错误;如果检测到奇数个 1 ,则说明传输过程中,数据发生了改变,要求重发。
可见,当数据中有一位数据发生了改变时,通过奇偶校验码能够检测出来,但并不知道是哪个位出错了;如果数据中同时有两位数发生了改变,此时奇偶校验是检测不到数据出错的,所以它的查错能力有限。例如,信息数据是1100010,经过奇校验码编码后,就变成了11000100,如果收到数据变成了01100100,因为 1 的个数不为奇数,所以检测出数据出错了,但如果收到的数据是01100100,则无法检测出该数据是错误的。
【补充】
奇偶校验码实际使用时又分为垂直奇偶校验、水平奇偶校验与水平垂直奇偶校验,上面讲的属于水平奇偶校验,垂直奇偶校验和水平垂直奇偶校验不需要掌握,知道有即可。感兴趣的可自行上网查询了解。
(2)循环冗余码
奇偶校验码的检错率太低,不实用。目前,在计算机网络和数据通信中,用得最广泛的时检错率极高、开销小、易实现的循环冗余码(CRC)。
【循环冗余码(Cyclic Redundancy Code,CRC)】又称为多项式码,任何一个由二进制数位串组成的代码都可以和一个只含有 0 和 1 两个系数的多项式建立一一对应关系。一个k位帧可以看成是从X的k-1次方到X的0次方的k次多项式的系数序列,这个多项式的阶数为k-1,高位时X的k-1项的系数,下一位是X的k-2次方的系数,以此类推(在这里很多人可能看不明白,没关系原理不难,举个栗子就知道了)
例如:1110011有7位,表示成多项式是
X的6次方+X的5次方+X的4次方+X+1
再如,多项式
X的5次方+X的4次方+X的2次方+X
对应的位串是110110
具体的算法可在网上百度。
【注意】
循环冗余码(CRC)是具有纠错功能的,可能在计算机网络这门学科中一般不使用CRC的纠错,如果出错,直接重传。因此,默认CRC为检错编码,而不是纠错码。尽管在《计算机组成原理》中会提到CRC纠错,但是CRC纠错绝不是重点,纠错码的重点应放在海明码上(下面会讲)。
2.纠错编码
纠错编码:就是在接收端不但能检查错误,而且能纠正检查出来的错误。常见的纠错编码是海明码。
海明码
海明码又称为汉明码,它是在信息字段中插入若干数据,用于监督码字里的哪一位数据发生了变化,具有一位纠错能力。
【由于自己水平有限,看了一些书感觉对海明码的理解还是不透彻,看到一个博主的文章写的关于海明码的解释比较清晰,这里推荐给大家https://blog.csdn.net/Yonggie/article/details/83186280】
四. 流量控制与可靠传输机制
申明:流量控制与可靠传输机制其实是属于传输层的功能,但是作为知识点的讲解放在哪里都无所谓,因为该知识点不以后续章节的知识点为基础,所以就直接按照大纲知识点的内容来讲解了。
1.流量控制、可靠传输与滑动窗口机制
(1)流量控制
流量控制就是要控制发送方发送数据的速率,使接收方来得及接收。一个基本的方法是由接收方控制发送方的数据流。常见的两种方式:停止——等待流量控制和滑动窗口流量控制。
【 停止——等待流量控制:】
它是流量控制中最简单的形式。
工作原理:发送方发出一帧,然后等待应答信号到达再发送下一帧;接收方每收到一帧后,返回一个应答信号,表示可以接收下一帧,如果接收方不返回应答,则发送防必须一直等待。
【滑动窗口流量控制:】
停止——等待流量控制中每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,传输效率很低。而滑动窗口流量控制允许一次发送多个帧。
滑动窗口协议的工作原理就是在任意时刻,发送方都维持了一组连续的允许发送的帧的信号,称为发送窗口。同时,接受方也维持了一组连续的允许接收的帧的序号,称为接收窗口。
发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。发送方窗口内的序列号代表了那些已经被发送,但还没有被确认的帧,或者是那些可以被发送的帧。发送端每收到一个帧的确认,发送窗口就向前滑动一个帧的位置。
当发送窗口尺寸到达最大尺寸时,发送方会强行关闭网络层,直到有一个空闲缓冲区出来。在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下,并将窗口前移一个位置。若接收到的数据帧落在接收窗口之外(就是说收到的帧号在接收窗口中找不到相应的该帧号),则一律将其丢弃。
(2)可靠传输
所谓可靠传输就是:数据链路层的发送端发送什么,接收端就接收什么。
【此处可靠传输牵扯到与无差错区别的知识,这里不做细讲,在后续文章中专门提出讲解,这里了解大概即可】
(3)滑动窗口机制
- 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。
- 可靠传输机制包含停止——等待协议、后退N帧协议和选择重传协议。从滑动窗口的层次上看,该 3 种协议只是在发送窗口和接收窗口大小上有所差别。
停止——等待协议:发送窗口大小=1,接收窗口大小=1;
后退N帧协议: 发送窗口大小>1,接收窗口大小=1;
选择重传协议: 发送窗口大小>1,接收窗口大小>1。
2.停止——等待协议
【讲解之前,先讨论一下怎么实现 可靠传输。】
可靠传输就是发送方发送什么,接收方就收到什么,一般来说使用 确认(发送确认帧)和 超时重传 两种机制来共同完成。确认帧是一个没有数据部分的控制帧,只是用来告诉发送方,发的某帧已经接收到了。有时,为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认。(捎带确认和累计确认的区别可自行查询,这里不作赘述)
超时重传是指发送防在发送一个数据帧时,设置一个超时计时器,如果在规定时限内没有收到该帧的确认,就重新发送该数据帧。导致发送方没有收到确认的原因有以下两种:
- 当接收方检测到出错帧时,接收方直接丢弃该帧,而不返回确认。
- 该帧在传输过程中丢失。
注意:确认和超时重传两种机制实现可靠传输的策略又称为自动请求重发(ARQ)
【下面讲解停止——等待协议:】
从名称上看,也可以看出停止——等待协议是基于停止——等待流量控制技术的。从滑动窗口的角度理解,就是其发送窗口大小为 1 ,接收窗口大小也为 1 。
停止——等待协议的基本思想:
发送方传输一个帧后,必须等待对方的确认才能发送下一帧。如果在规定的时间内没有收到确认,则发送超时,并重传原始帧。
- 注意:有人会疑惑为什么,停止——等待流量控制技术(这里是停止——等待流量控制技术而不是停止——等待协议)要一直等待,为什么不设定一个规定时间?
这里要明确协议是是什么。首先,协议是需要建立在一定技术之上(如停止——等待流量控制技术),然后此协议需要考虑一切可能突发的不利状况,设置规定时间重传就是为了解决这些不利因素。如果不设置时间进行重传,此时数据传输就会造成死锁,进而无法推进数据传输任务,这里可以联系到操作系统的死锁,如果没有外力参与去打破死锁,就会一直等待下去,而这里的外力就是重传计时器。
(协议=技术+考虑不利因素;同理,
停止——等待协议=停止——等待流量控制技术+不利因素)
3.后退N帧(GBN)协议(注意,r与t均为右下标大写字符)
后退N帧协议基于滑动窗口流量控制技术。若采用 n 个比特对帧进行编号,其发送窗口尺寸Wt必须满足
1<Wt<=(2的n次方)-1,
接收窗口尺寸为 1 。若发送窗口尺寸大于(2的n次方-1),会造成接收方无法分辨新、旧数据帧的问题。由于接收窗口尺寸为 1 ,所以接收方只能按序来接收数据帧。
【后退N帧的基本原理】
发送方发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果这时收到了接收方的确认帧,那么还可以接着发送数据帧。如果某个帧出错了,接收方只能简单地丢弃该帧及其所有的后续帧。发送方超时后需重发该出错帧及其后续所有的帧。
由于减少了等待时间,后退N帧协议使得整个通信的吞吐量得到提高。但接收方一发现错误帧,就不再接收后续的帧,造成了一定的浪费。
据此改进,得到了选择重传协议。
4.选择重传(SR)协议(注意,r与t均为右下标大写字符)
选择重传协议也是基于滑动窗口流量控制技术的。
它的接收窗口和发送窗口尺寸都大于 1 ,以便能一次性接收多个帧。若采用 n 个比特对帧进行编号,为避免接收端向前移动窗口后,新的窗口与旧的窗口重叠,发送窗口的最大尺寸应该不超过序列号的范围的一半: Wt<=2的(n次方-1)。
当发送窗口取最大值时,Wr=Wt=2的(n次方-1)【大部分情况都是发送窗口等于接收窗口的大小,且等于2的(n次方-1),因为这样可以达到最大效率,记住就好】
此时,若Wt取大于2的(n次方-1)的值,可能造成新、旧窗口重叠。
【选择重传协议的基本思想】
若一帧出错,其后续帧现存入接收方的缓存区中,同时要求发送防重传出错帧,一旦收到重传帧后,就和原先存在缓冲区的其余帧一起按正确的
顺序送给主机。选择重传协议避免了重复传输那些本来已经正确到达接收方的数据帧,进一步提高了信道利用率,但代价是增加了缓冲空间。
五. 介质访问控制
背景:在局域网中,如果某共用信道的使用产生竞争,怎样能够更好地分配信道的使用权,是一个非常重要的问题,而介质访问控制就是为了解决此问题而诞生的。
考研所要求的介质访问控制被分为以下三类:
1)信道划分介质访问控制
2)随机访问介质访问控制
3)轮询访问介质访问控制
其中,1)是静态分配信道的方法,2)3)是动态分配信道的方法。
1.信道划分介质访问控制(静态分配信道)
【下面介绍多路复用技术的基本概念】
当传输介质的带宽超过了传输单个信号所需的带宽时,人们就通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率,这就是所谓的多路复用,也是实现信道划分介质访问控制的途径。多路复用技术能够把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高信道的利用率。
信道划分介质访问控制分为以下 4 种。
(1)频分多路复用
将一条信道分割成多条不同频率的信道,就类似于一条马路,分割成多个车道,尽管同一时间,车辆都在这条马路上行驶,但是分别行驶在不同的车道上,所以就不会发生冲突。现在假设每个车道的宽度不能改变了,但是需要加车道,所以马路就必须变宽,类似于使用频分复用时,如果复用数增加,那么信道的带宽(此时的带宽使频率带宽,不是数据的发送速率),必须得增加。
注意:每个子信道分配的带宽可以不相同,但它们的总和一定不超过信道的总带宽(可联想人行道和机动车道使不一样宽的)。在实际应用中,为防止子信道之间的干扰,相邻信道之间要加入 " 保护频带 " (可联想人行道与机动车道、机动车道与机动车道之间栏杆的作用)。
注:MUX(multiplexer 多路复用器)
(2)时分多路复用
当使用时分多路复用时,复用数增加并不需要加大信道带宽,只需将每个人能分得的时间缩小即可。
这里简单提一下同步时分复用(普通的时分复用)和异步时分复用(也称统计时分复用,是一种动态的时间分配,时间周期是不固定的)
例如:假设某线路的传输速率为10Mbit/s,且有10个用户正在使用。使用同步时分复用和异步时分复用的最高速率分别是多少?
解析:同步时分复用不管此时信道是否为空闲,都要等时间分配给它,才可进行数据传输,所以最高速率为(10Mbit/s)/10=1Mbit/s;而使用异步时分复用,此时信道是没有空闲的。当只有一个用户传输数据时,其他9个用户都停止了,那么此时该用户的传输速率可以达到最大,即10Mbit/s。
(3)波分多路复用
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同频率(波长)的光信号,由于各个光的频率(波长)不同,所以各路光信号不互相干扰。最后,再用分波器将各路波长不一样的光分解出来。
(4)码分多路复用
码分多路复用又称为码分多址(CDMA),它即共享信道的频率,又共享时间,是一种真正的动态复用技术。这里讲解CDMA原理中的一个考点,其他的考研不会涉及,有兴趣的可自行查询了解。
【概念】
每个站点都维持着一个属于该站点的芯片序列,并且是固定的。假如站点 A 的芯片序列为00011011,则 A 站点发送00011011表示发送比特 1 ;而将00011011每位取反,即发送11100100表示发送比特 0 。习惯将芯片序列中的 0 写为 -1 ,1 写为 -1 ,所以 A 站点的芯片序列就是(-1-1-1+1+1-1+1+1),一般将该向量称为该站的码片向量。以下两个定理记住即可。
- 任意两个不同站的码片向量的规格化内积一定为0.
- 任意站点的码片向量与该码片向量自身的规格化内积一定为1;任何站点的码片向量和该码片的反码向量的规格化内积一定为-1.
【考点】
某个CDMA站接收到一个碎片序列,怎么去判断是哪站发来的数据,并怎么识别发送了什么信息?
例:
某个CDMA站接收方收到一条如下所示的碎片系列:
(-1+1-3+1-1-3+1+1)
假设各个站点的码片向量如下所示:
站点A:(-1-1-1+1+1-1+1+1)
站点B:(-1-1+1-1+1+1+1-1)
站点C:(-1+1-1+1+1+1-1-1)
站点D:(-1+1-1-1-1-1+1-1)
试问:哪些站点发送了数据?分别发送了什么数据?
解析:此题的解答步骤较为固定,只需将收到的碎片序列分别与站点 A 、B 、C 、D的码片向量进行规格化内积即可。内积为1表示发送比特1,内积为-1表示发送比特0,内积为0表示没有发送数据,计算如下(按向量的算法公式求结果):
站点A:(-1+1-3+1-1-3+1+1) · (-1-1-1+1+1-1+1+1)/8=1
站点B:(-1+1-3+1-1-3+1+1) · (-1-1+1-1+1+1+1-1) /8=-1
站点C:(-1+1-3+1-1-3+1+1) · (-1+1-1+1+1+1-1-1)/8=0
站点D:(-1+1-3+1-1-3+1+1) · (-1+1-1-1-1-1+1-1) /8=1
由结果知,站点A发和站点D发送了比特1,站点B发送了比特0,站点C没有发送数据。
【总结】
码分多路复用技术具有抗干扰能力强、保密性强、语音质量好等优点,还可以减少投资和降低运行成本,主要用于无线通信系统,特别是移动通信系统。CDMA手机就是使用此技术。
2.随机访问介质访问控制
当几台计算机都使用一条信道发送数据时,就需要去共享这条信道,而共享信道需着重考虑一个问题,就是如何让使众多用户能够合理而方便地共享,并且不发生冲突,于是出现两种划分信道的方法:
第一种是静态划分信道,比如上面讲到的频分多路复用、时分多路复用等方法,这种方法只要用户分配到了信道就不会与其他用户发生冲突。但这种划分信道的方法,代价是相当高的,在一个小的局域网里面使用这种静态划分信道的方法实在不合适。
第二种是动态地划分信道,而动态地划分信道又分为随机接入和受控接入。
随机接入的意思是所有用户都可以根据自己的意愿随即地发送信息,这样就会产生冲突,或者称为碰撞,从而导致所有冲突用户发送数据失败。为了解决随机接入发生的碰撞,CSMA/CD等协议被引入。
受控接入就是不能随机地发送数据,一定要得到某种东西才有权发数据,如后面讲到的令牌环网。
【随机接入在考研中需要掌握 4 种,即 ALOHA 协议、CSMA 协议、CSMA/CD 协议、CSMA/CA 协议】
以上4种协议的核心思想是通过争用,胜利者才可以获得信道,从而获得信息的发送权。正因为这种思想,随机访问介质访问控制也可称为:争用型协议。
1)【ALOHA协议】
最初的ALOHA协议称为纯ALOHA协议,基本思想比较简单:当网络中的任何一个结点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内没有收到确认,该结点就认为传输过程发生了冲突。发生冲突的结点需要等待一段随机时间后再发送数据,直至发送成功为止。
纯ALOHA协议虽然简单,但其性能,特别是信道利用率并不理想,于是,后来又有了时分ALOHA(slotted ALOHA)。在时分ALOHA中,所有结点的时间被划分为间隔相同的时隙(slot),并规定每个结点只有等到下一个时隙到来时才可发送数据。
2)【CSMA协议】
载波侦听多路访问(CSMA)协议是在ALOHA协议的基础上改进而来的一种多路访问控制协议。在CSMA中,每个结点发送数据之前都使用载波侦听技术来判定通信信道是狗空闲。常用的CSMA有以下3种策略:
- 1—坚持CSMA:当发送结点监听道信道空闲时,立即发送数据,否则继续监听。
- p—坚持CSMA:当发送结点监听到信道空闲时,以概率 p 发送数据,以概率(1—p)延迟一段时间并重新监听。
- 非坚持CSMA:当发送结点一旦监听到信道空闲时,立即发送数据,否则延迟一段随机的时间并重新监听。
3)【CSMA/CD协议】
CSMA/CD全称为带冲突检测的载波侦听多路访问协议,它是在局域网中被广泛应用的介质访问控制协议。
在CSMA机制中,由于可能存在多个结点侦听道信道空闲并同时开始传送数据,从而造成信道冲突,但是即使是冲突了,CSMA协议也要将已破坏的帧发完,使总线的利用率降低。一种CSMA的改进方案使在发送站点传输的过程中继续监听信道,以检测是否存在冲突。如果发生冲突,信道上可以检测道超时发送站点本身发送的载波信号的幅度,由此判断出冲突的存在,那么就立即停止发送(推迟一个随机的时间再发送),并向总线上发送一串阻塞信号,用以通知总线上其他有关的站点,各有关站点接收到该则=阻塞信号,就不再发送了。
综上所述,通道容量就不会因为白白传送已受损的帧而浪费了。可以提高总线的利用率。
这种方案称为载波监听多路访问/冲突检测协议,简写为CSMA/CD,这种协议已广泛应用于局域网中。下面详细讲解CSMA/CD协议。
【CSMA/CD工作流程】
每个站在发送数据之前要先检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不发送数据,以免发生冲突;如果没有,则发送。计算机在发送的同时,仍然检测信道上是否发生了冲突,如果有,则采用截断二进制指数类型退避算法来等待一段时间后再次重发。
总体概括:先听后发,边听边发,冲突停发,随机重发
【争用期】
指以太网到端的往返时延,又称为冲突窗口或者碰撞窗口。只有经过争用期这段时间还没有检测到冲突,才能肯定这次发送不会发生冲突。
4)【CSMA/CA协议】
CSMA/CA协议主要用在无线局域网中,由IEEE 802.11标准定义,它在CSMA的基础上增加了冲突避免功能。冲突避免要求每个结点在发送数据之前监听信道。如果信道空闲,则发送数据。发送结点在发送完一个帧后,必须等待一段称为帧间间隔的时间,检查接收方是否发挥帧的确认(说明CSMA/CA协议对正确接收的数据帧进行确认)。如果收到确认,则表明无冲突发生;如果在规定的时间内没有收到确认,表明出现冲突,重发该帧。
例:下列选项中,对正确接收到的数据帧进行确认的MAC协议是(A).
A.CSMA
B.CDMA
C.CSMA/CD
D.CSMA/CA
注意:CDMA称为多路复用,工作在物理层,不存在对数据帧进行确认。
3.轮询访问介质访问控制——令牌传递协议
轮询访问介质访问控制主要用在令牌环局域网中,目前使用得很少。
在轮询访问介质访问控制中,用户不能随机地发送信息,而是通过一个集中的监控站,经过轮询过程后再决定信道的分配。典型的轮询访问介质访问控制协议就是令牌传递协议。
令牌传递网络把多个设备安排成一个物理或逻辑连接环。为了确定哪个设备可以发送数据,让一个令牌(特殊格式的帧)沿着环形总线在计算机之间依次传递。当计算机都不需要发送数据时,令牌就在环形网上游荡,而需要发送数据的计算机只有拿到该令牌才能发送数据帧,所以不会发生冲突(因为令牌只有一个),这也就是所谓的受控接入。
有关令牌环网络的详解在下面局域网的知识点中。
六. 局域网
1.局域网的基本概念与体系结构
局域网(Local Area Network,LAN)是指一个较小范围(如一个公司或者一个学校)内的众多台计算机或者其他通信设备,通过双绞线、同轴电缆等连接介质互联起来,以达到资源和信息共享目的的互联网络。
(1)局域网最主要的特点
- 局域网为一个单位所拥有(如学校的一个系使用一个局域网)。’
- 地理范围和站点数目有限(双绞线的最大传输距离为100m,如果要加大传输距离,则在两端双绞线之间安装中继器,最多可安装 4 个中继器。例如,安装 4 个中继器连接 5 个网段,则最大传输距离可达500m,所以地理范围有限。局域网一般可以容纳几台至几千台计算机,所以站点数目有限)。
- 与以前非光纤的广域网相比,局域网具有较高的数据率、较低的时延和较小的误码率(现在局域网的数据率可以达到万兆;传输距离较短所以时延小;距离短了失真就小,误码率自然低)。
(2)局域网的主要优点
- 具有广播功能(具体下面说明),从一个站点可以很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
【说明】局域网的广播功能
要清楚局域网的广播功能并不是该局域网的每个站点都要接收该数据,每个帧的首部都会有接收站点的物理地址(MAC地址),而当该帧到达每个站点的时候,该站点就会用网卡中的地址和首部的物理地址进行比较,如果一样就接受该帧,否则丢弃该帧。但是一定要注意,关于广域网不能用广播通信(会造成网络阻塞),而应该用点对点通信,使用交换机来转发,后续会将。
- 便于系统的扩展和演变,各设备的位置可灵活地调整和改变。
- 提高了系统的可靠性、可用性。
(3)局域网的主要技术要素
局域网的主要技术要素包括网络拓扑结构、传输介质与介质访问控制方法。其中,介质访问控制方法是最为重要的技术特性,决定着局域网的技术特性。
(4)局域网的主要拓扑结构
局域网的主要拓扑结构包括星形网、环形网、总线型网和树形网。
(5)局域网的主要传输介质
局域网的主要传输介质包括双绞线、铜线和光纤等,其中双绞线为主流传输介质。
(6)局域网的主要介质访问控制方法
局域网的主要介质访问控制方法包括CSMA/CD、令牌总线和令牌环。前两种作用于总线型网,令牌环作用于环形网。IEEE 的802标准定义的局域网参考模型只对应用于OSI参考模型的数据链路层和物理层,并且将数据链路层拆分为两个子层;逻辑链路控制(LLC)子层和媒体接入控制(MAC)子层。与接入到传输媒体有关的内容都放在MAC子层,而LL从子层与传输媒体无关。
由于以太网在局域网市场中取得的垄断地位,DIX Ethernet V2 标准被广泛使用,而802 委员会制定的LLC子层作用已经不大,现在很多网卡上仅装有MAC协议而没有LLC协议,所以局域网的考点重心应围绕在以太网。
2.以太网与IEEE 802.3
背景:IEEE 802.3标准是一种基带总线型的局域网标准。在不太严格区分的时候,IEEE 802.3可以等同于以太网标准,因为它是基于原来的以太网标准诞生的一个总线型局域网标准,所以下面重点讲解以太网。
以太网是迄今为止世界上最为成功的局域网产品。以太网最初由Xerox公司研制出,它的最初规约是DIX Ethernet V2标准。IEEE 802.3标准和DIX Ethernet V2标准差别很小,所以一般也称802.3局域网为以太网。特别是随着快速以太网、千兆以太网和万兆以太网相继进入市场,以太网现在几乎成了局域网的同义词。
(1)以太网的工作原理
以太网采用总线拓扑结构,所有计算机都共享一条总线,信息以广播方式发送。为了保证数据通信的方便性和可靠性,以太网使用了CSMA/CD技术对总线进行访问控制。考虑到局域网信道质量好,以太网采用了以下两项重要的措施以使通信更加简便。
- 采用无连接的工作方式
- 不对发送的数据帧进行编号,也不要求对发送方发送确认。
因此以太网提供的服务是不可靠服务,即尽最大努力交付,差错的纠正由传输层的TCP协议完成。
(2)以太网的MAC帧
局域网中的每台计算机都有一个唯一的号码,称为MAC地址或物理地址、硬件地址。每块网卡出厂即被赋予一个全球唯一的MAC地址,它被固化在网卡的ROM中,共48bit(6B)。
例如,01-3e-01-23-4e-3c十六进制表示,如01其实是0000 0001。高24bit为厂商代码,低24bit为厂商自行分配的网卡序列号。
由于总线上使用的是广播通信,所以网卡从网络上每收到一个MAC帧,先要用硬件检查MAC帧中的MAC地址。如果是发往本站的帧就收下,否则丢弃。
MAC帧的格式有两种:IEEE 802.2标准和DIX Ethernet V2标准。考研一般考查的是最常用的DIX Ethernet V2 标准格式,如下图:
MAC帧组成部分的详细分析如下:
【前导码】
在帧的前面插入 8B ,使接收端与发送端进行时钟同步。这 8B 又可以分为前同步码(7B)和帧开始定界符(1B)两部分。
注意:前面已经提到MAC帧不需要帧结束符,因为以太网在传送帧时,各帧间必须有一定的间隙。因此,接收端只要找到帧开始定界符,其后面连续到达的比特流就都属于同一个MAC帧,所以上图中只有帧开始定界符。
【目的地址、源地址】
均使用48bit(6B)的MAC地址。
注意:地址字段包括目的地址和源地址两部分。处于前面的地址字段是目的地址,后面的地址字段是源地址。
IEEE 802.3标准规定,源地址字段中前8位的最后一位恒为 0 ,这一点从目的地址格式中可以看出。目的地址字段有较多的规定,原因是一个帧可能发送给某一个工作站,也可能发送给一组工作站,或者发送给所有的工作站。因此,将后两种情况分别称为组播帧和广播帧。
当目的地址前8位的最后一位为 0 时,表示帧要发送给某一个工作站(这就是为什么源地址字段中前 8 位恒位 0 的原因),即所谓单站地址。当目的地址前 8 位的最后一位为 1 ,其余不全为 1 时,表示帧发送给一组工作站,即所谓的组播地址。当目的地址前 8 位 的最后一位为 1 ,其余也为 1 时,表示帧发送给所有的工作站,即所谓的广播地址。看到这里可能会有疑惑,每个主机很明显认识单播帧(与自己的MAC地址一样)和广播帧(全 1 ),但是组播帧怎么识别?组播帧的识别由适配器通过使用编程的方法实现,不在考试范围内。
综上分析,只有目的地址才能使用多播地址和广播地址。
【类型】
占 2B。指出数据域中携带的数据应该交给哪个协议实体处理。
例如,若类型字段值为 0x0800,就表示上层使用的是IP数据报等。
【数据】
占 46—1500B。
首先由CSMA/CD算法可知,以太网帧的 46最短帧长为 64B,而MAC帧的首部和尾部的长度为 18B,所以数据最短为 64B-18B=46B。其次,最大的1500B是规定的。
【填充】
由于CSMA/CD算法的限制,最短帧长为 64B,所以除去MAC帧首部和尾部的长度 18B,剩下 46B 为数据字段填充。如果数据字段长度小于 46B,那么需要填充,使得帧长不小于 64B。当数据字段长度大于或等于 46B,则无需填充。因此填充数据长度范围为 0—46B.
【校验码(FCS)】
占 4B。采用循环冗余码,不但需要校验MAC帧的数据部分,还要校验目的地址、源地址和类型字段。但是不校验前导码。
(3)以太网的传输介质
传统以太网可使用的传输介质有 4 种,即粗缆、细缆、双绞线和光纤。对应的,MAC层下图给出了这四种传输介质的物理层,即
10BASE5(粗缆)
10BASE2(细缆)
10BASE-T(双绞线)
10BASE-F(光纤)。
其中,BASE指电缆上的信号为基带信号,采用曼彻斯特编码;BASE前面的10表示数据传输速率为10Mbit/s;BASE后面的5或2表示每一段电缆最长为500m或200m(实为185m);T表示双绞线,F表示光纤。常见以太网线缆如下:
标准 电缆 每段最大长度/m 每段最大节点数
10BASE5 | 粗电缆 | 500 | 100
10BASE2 | 细电缆 | 185 | 30
10BASE-T | 双绞线 | 100 | 1024
10BASE-F | 光纤 | 2000 | 1024
(4)高速以太网
一般,数据传输率达到或超过100Mbit/s的以太网称为高速以太网。
【100BASE-T以太网】
100BASE-T以太网是在双绞线上传输100Mbit/s基带信号的星形拓扑结构以太网,使用CSMA/CD协议。100BASE-T以太网又称为快速以太网。
100BASE-T以太网可在全双工方式下工作而无冲突发生,此时无需使用CSMA/CD协议,如果是在半双工方式下工作时,仍需使用CSMA/CD协议。
为了提高数据传输率,100BASE-T以太网保持最短帧长不变,但将一个网段最大电缆长度减小到100m,帧间时间间隔从原来的9.6ms,改为现在的0.96ms。
注意:全双工(Full Duplex)是通讯传输的一个术语。通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工指可以同时(瞬时)进行信号的双向传输(A→B且B→A),指A→B的同时B→A,是瞬时同步的。而单工就是在只允许甲方向乙方传送信息,而乙方不能向甲方传送 (比喻汽车的单行道。目前的网卡一般都支持全双工)。
注意: 半双工方式是指数据既可以从A传向B,也可以从B向A传输。因此,A、B既可作为发送器,又可作为接收器,通常称为收发器,即在同一时刻,只能进行一个方向传送,不能双向同时传输。因此才将其称之为 “半双工方式”。在这种工作方式下,要么A发送,B接收;要么B发送,A接收。当不工作时,令A、B均处于接收方式,以便随时响应对方的呼叫。
【吉比特以太网】
吉比特以太网又称为千兆以太网,具有以下特点:
- 允许在1Gbit/s下全双工和半双工两种方式工作。
- 在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD协议)
当吉比特以太网工作在半双工方式下时,必须使用CSMA/CD协议进行冲突检测。如果要提高数据传输率,只有减小最大电缆长度或增加帧的最小长度,这样才能使得信道利用率比较高。吉比特以太网保持了网段最大电缆长度,仍为100m,但采用了 " 载波延伸 " 的方法。这样使得最短帧长仍为 64B,同时将争用期增大为 512B,凡发送的MAC帧长不足 512B时,就用一些特殊字符填充在帧后面,使得MAC帧长达到 512B,但这样又会出现问题,加入每次都是发送 30B,则每次都需填充 482B,这样会造成太大的浪费,所以吉比特以太网就增加了一种功能:即分组突发(非考点,有兴趣可自查)。
【10吉比特以太网】
特点:
- 保留了802.3标准规定的以太网帧格式、最小和最大帧长,便于升级。
- 不再使用铜线而只使用光纤作为传输介质。
- 只工作在全双工方式下,因此没有争用问题,也不使用CSMA/CD协议。
【总结】
以太网从10Mbit/s到10Gbit/s的演变证明了以太网是:
- 可扩展的(从10Mbit/s到10Gbit/s)
- 灵活的(多种传输媒体、全/半双工、共享/交换)
- 易于安装
- 稳健性好
例:以太网的MAC协议提供的的是(A)
A. 无连接不可靠服务
B. 无连接可靠服务
C. 有连接不可靠服务
D. 有连接可靠服务
- 有连接与无连接的判断:很明显MAC帧首部格式种只有目的MAC地址、源MAC地址和类型字段,并没有建立连接的字段,所以以太网MAC协议提供的是无连接的服务。
- 可靠与不可靠的判断:以太网是一种无编号的帧,当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做,差错的纠正由高层来决定,所以以太网的MAC协议是不可靠的。
注意:前面说到数据链路层是不提供重传机制的,为什么以太网会有重传机制?
解析:以太网是不可靠的,这意味着它并不知道对方有没有收到自己发出的数据报,但如果由它发出的数据报发生错误,且知道发生错误了,它就会重传。在之前讲到数据链路层时,发送方根本不知道自己发送的数据报有错(因为接收方不会发确认,有错都是直接丢弃数据帧的),但现在不一样,发送方知道碰撞了(数据没发完之前),明知道错了,是一定要重传的,因为以太网的重传时微秒级的,而传输层的重传(如TCP的重传)为毫秒级,应用层的重传达到秒级,可以看出越底层的重传,速度越快,所以对于以太网错误,以太网必须要具有重传机制,不然高层重传就会花费更多的时间。但是另一种情况即使知道碰撞了,也不需要重传,就是发送方已经传完了所有的数据,若此时才收到碰撞信号,那就不需要重传了,因为发送方已经发完了,不能肯定这个碰撞是不是因为自己发送数据时产生的,所以不需要重传了。
3.IEEE 802.11(了解)
IEEE 802.11是无线局域网的协议标准,包括802.22a和802.11b等。
(1)无线局域网的组成
无线局域网可分为两大类:有固定基础设施和无固定基础设施
【有固定基础设施的无线局域网的组成】
对于有固定基础设施的无线局域网,802.11标准规定其最小构件为基本服务集(BSS)。一个基本服务集包括一个基站和若干个移动站,所有站在本BSS内可直接通信,但在和本BSS以外的站通信时,必须通过本BSS的基站。因此,BSS中的基站称为接入点(AP)。
一个基本服务集可以是孤立的,也可通过接入点连接到一个主干分配系统(Distribution System,DS),然后再接入另一个基本服务集,构成扩展的服务集(Extended Service Set,ESS)。
ESS还可通过门桥(portal)设备为无线用户提供到非802.11无线局域网(如到有限连接的因特网)的接入。门桥的作用相当于一个网桥。
再加一图以便理解:
【无固定基础设施的无线局域网的组成】
无固定基础设施的无线局域网又称为自主网络,自主网络没有上述基本服务集中的接入点,而是由一些处于平等状态的移动站之间相互通信组成的临时网络。这些移动站都具有路由器的功能。
路由器:路由器(Router)是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。
(2)802.11标准中的物理层
02.11标准中的物理层具有以下 3 种实现方法:
- 跳频扩频(FHSS)
- 直接序列扩频(DSS)
- 红外线(IR)
(3)802.11标准中的MAC层
802.11标准中的MAC层在物理层上面。它包括两个子层,从下网上依次为分布协调功能(DCF)子层和点协调功能(PCF)子层。
由于用CSMA/CD协议对无线局域网进行冲突检测花费过大并且冲突检测到信道空闲后,仍然可能发生冲突,所以在无线局域网的MAC层中,使用的是带有碰撞避免功能的CSMA/CA协议,同时还增加了确认机制。
4.令牌环网的基本原理
最有影响的令牌环网是IBM公司的Token Ring,IEEE 802.5标准就是在IBM公司的Token Ring协议(现在这种协议比较少见)的基础上发展和形成的。如图:
在Token Ring中,结点通过环接口连接成物理环形。令牌是一种特殊的MAC控制帧,帧中有一位标志令牌 忙/闲。令牌总时沿着物理环单向逐站传送,传送顺序与结点在环中排列顺序相同。
令牌环网中令牌和数据的传递过程如下所述:
- 当网络空闲时,环路中只有令牌在网络中循环传递。
- 令牌传递到有数据要发送的结点处,该结点就修改令牌中的一个标志位,然后在令牌中附加自己需要传输的数据,这样就将令牌换成了一个数据帧,源结点将这个数据帧发送出去。
- 数据帧沿着环路传递,接收到的结点一边转发数据,一边查看帧的目的地址。如果目的地址和自己的地址相同,接收节点就复制该数据帧以便进行下一步处理。
- 数据帧沿着环路传输,直到到达该帧的源结点,源结点接收自己发出去的数据帧便不再转发。同时,该源结点可以通过校验返回的数据帧,以查看数据传输过程中是否有错,若有错,则重传该帧。
- 源结点传送完数据后,重新产生和一个令牌,并将令牌传递给下一个站点,以交出数据帧和权限。
七. 广域网
1.广域网的基本概念
广域网通常是指覆盖范围很广(远远超出一个城市的范围)的长距离网络。广域网由一些结点交换机以及连接这些交换机的链路组成。结点交换机将完成分组存储转发功能。互联网虽然覆盖范围也很广,但一般不称它为广域网。因为在这种网络中,它们之间通常采用路由器来连接。而广域网只是一个单一的网络,它使用结点交换机连接个主机而不是用路由器连接各网络。虽然结点交换机和路由器都是用来转发分组的,它们的工作原理也类似,但区别时结点交换机在单个网络中转发分组,而路由器在多个网络构成的互联网中转发分组。广域网和局域网的区别和联系如下:
【覆盖范围】
广域网:
很广,通常跨区域
局域网:
较小,通常在一个区域里
【连接方式】
广域网:
点对点通信方式
局域网:
广播通信方式
【OSI层次】
广域网:
三层:物理层、数据链路层、网络层
局域网:
两层:物理层、数据链路层
【联系】
- 广域网和局域网都是互联网的重要组成构件,从互联网的角度上看,二者平等,没有包含关系。
- 连接在广域网或局域网上的主机在该网内进行通信时,只需要使用其网络的物理地址即可。
【着重点】
广域网:
强调资源共享
局域网:
强调数据传输
注意:
- 从层次上看,广域网和局域网的区别很大,因为局域网使用的协议主要在数据链路层(包含少量物理层的内容),而广域网使用的协议主要在网络层。
- 广域网中存在一个最重要的问题,即路由选择和分组转发。路由选择协议负责搜索分组从某个结点到目的结点的最佳传输路由,以便构造路由表。从路由表再构造出转发分组的转发表,分组时通过转发表进行转发的。
补充:
【局域网、广域网和因特网之间的关系】
解析:为了方便理解可以将广域网看成一个大的局域网,专业来讲就是通过交换机连接多个局域网,组成更大的局域网,即广域网。因此,广域网仍然是一个网络。而因特网是多个网络之间互连,即因特网由大局域网(广域网)和小局域网共同通过路由器相连。因此,局域网就可通过因特网与另一个相隔很远的局域网进行通信。
2.PPP
背景:SLIP协议(PPP和SLIP协议都是数据链路层上的协议)主要完成数据报的传送,但没有寻址、数据检验、分组类型识别和数据压缩等功能,只能传送IP分组。此协议实现起来较为简单,但如果上层不是IP协议就无法传输,并且此协议对一些高层应用也不支持。为了改进SLIP的缺点,于是制定了点对点协议,即PPP。PPP主要由以下 3 个部分组成。
- 一个将IP数据报封装到串行链路的方法。
- 一个链路控制协议(LCP):用于建立、配置和测试数据链路连接,并在它们不需要时,将它们释放。
- 一套网络控制协议(NCP):其中每个协议支持不同的网络层协议,用来建立和配置不同的网络层协议。
(1)PPP的帧格式
如图所示:
【标志字段(F)】
首部和尾部各占 1 个字节,规定为Ox7E。
(这里不再赘述PPP帧的透明传输,可自行上网查询)
另外,到目前为止,所接触到的帧只有MAC帧是有帧间隙的,所以无需加入尾标志。而PPP帧和HDLC帧都是没有间隙的,所以前后都得加标志字段。
【地址字段(A)】
占 1 个字节。规定为OxFF。
【控制字段(C)】
占 1 个字节。规定为Ox03。
【协议字段】
占 2 个字节。
例如,当协议字段为0x0021 时,PPP帧的信息字段就是IP数据报;若为0xC021,则信息字段是PPP链路控制数据;若为0x8021,则表示这是网络控制数据。
【信息部分】
占0—1500个字节。为什么不是46—1500个字节,因为PPP协议是点对点的,并不是总线型,所以无需采用CSMA/CD协议,自然就没有最短帧。另外,当数据部分出现和标志位一样的比特组合时,就需要采用一些措施来实现透明传输(即PPP透明传输)。
【帧检验序列(FCS)】
占 2 个字节,即循环冗余码检验中的冗余码。检验区间包括地址字段、控制字段、协议字段和信息字段。
注意:每个PPP帧首部和尾部都有标志字段F,为什么教材上说两个连续的PPP帧之间只需一个标志字段。
解析:当连续传输两个帧时,前一个帧的结束标志字段F可以同时作为后一个真的起始标志字段。
(2)PPP的工作状态
当用户接入ISP(因特网服务提供商)时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。这时,个人计算机网络向路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及其相应选择了将要使用的一些PPP参数。接着就进行网络层配置,网络控制协议(NCP)给新接入的个人计算机分配一个临时的IP地址。这样,个人计算机就成为因特网上的一个主机了。
当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接,最后释放物理层连接。
【总结】
- PPP协议是一个面向字节的协议
- PPP协议不需要的功能:纠错(PPP协议只负责检错)、流量控制(由TCP负责)、**序号(**PPP协议是不可靠传输协议,所以不需要对帧进行编号)、多点线路(PPP是点对点的通信方式)、半双工或单工(PPP只支持全双工链路)。
3.HDLC协议
在通信质量较差的年代,在数据链路层使用可靠传输协议曾经是一种好的办法。因此,能实现可靠传输的高级数据链路控制(HDLC)就成为当时比较流行的数据链路层协议。下面介绍HDLC协议。
(1)HDLC协议的基本特点
高级数据链路控制(HDLC)协议是ISO指定的面向比特(PPP协议是面向字节的,这个记住)的数据链控制协议。它可适用于链路的两种基本配置:非平衡配置和平衡配置。
- 非平衡配置的特点是由一个主站控制整个链路的工作
- 平衡配置的特点是链路两端的两个站都是复合站,每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的允许。
(2)HDLC协议的帧格式
当采用HDLC的协议时,从网络层交下来的分组,变成了HDLC协议帧的数据部分,数据链路层在信息字段的头尾各加上24位控制信息,这样就构成了一个完整的HDLC协议帧,如图所示:
【标志字段(F)】
占 8 位。为0111110,首尾各有一个 0 作为帧的边界。为防止在两个标志字段F之间出现01111110,HDLC使用比特填充的首尾标志法。当一串比特流未加上控制信息时,扫描整个帧,只要发现有5个连续的1,就立即填入一个0.
【地址字段(A)】
占 8 位。若使用非平衡方式传送数据,为此站的地址;若使用平衡方式传送数据,为确认站的地址。全1为广播方式,全0为无效地址。
【控制字段(C)】
占 8 位。最复杂的字段,HDLC的许多重要功能都靠控制字段实现。根据其最前面两位的数值,可将HDLC帧划分为三类:信息帧(I帧)、监督帧(S帧)、无编号帧(U帧)。
信息帧:用来传输数据信息,或使用捎带技术对数据进行确认和应带;
监督帧:用于流量控制和差错控制,执行对信息帧的确认,请求重发和请求暂停发送等功能;
无编号帧:用于提供对链路的建立、控制字段和信息字段。
【信息字段】
长度任意,存放来自网络层的协议数据单元。
【帧检验序列(FCS)】
占 16 位。即循环冗余码检验中的冗余码。检验区间包括地址字段、控制字段和信息字段
补充:PPP协议的帧格式和HDLC协议的帧格式的区别。
-
PPP协议是面向字节的,而HDLC协议是面向比特的。PPP协议应该用字节填充,HDLC协议应该用比特填充。
-
PPP协议帧比HDLC协议帧多一个2字节协议字段。当协议字段值为Ox0021 时,表示信息字段时IP数据报。
-
PPP协议不使用序号和确认机制,只保证无差错接收(通过硬件进行循环冗余码校验),而端到端差错检测由高层协议完成。HDLC协议的信息帧使用了编号和确认机制。(因为前者是不可靠传输,而后者是可靠传输)
注意:有人会疑问,在一些教材中会提到,当使用同步传输时,PPP协议使用比特填充,这个知识点可忽略。其实更专业地解释为什么PPP协议一定要面向字节。首先,PPP协议被明确地设计为以软件的形式实现,而不像HDLC协议那样几乎总是以硬件形式实现。对于软件的实现,完全用字节操作比用比特操作更为简单。此外,PPP协议被设计成跟解调器一起使用,而解调器时以一个字节为单元,而不是以一个比特为单元接收和发送数据的。
八. 数据链路层设备
1.网桥的概念和基本原理
随着局域网的普及和发展,往往需要将多个局域网用一些中间设备连接起来,实现局域网中间的通信,这就是局域网的扩展。这里主要是在物理层和数据链路层对局域网进行扩展。
在物理层扩展局域网使用的是中继器和集线器。其缺点如下:
- 扩大了冲突域且总的吞吐量未提高
- 不能互连使用不同以太网技术的局域网
在数据链路层扩展局域网是使用网桥。
网桥工作在数据链路层,特点是具有过滤帧的功能。网桥至少有两个端口,每个端口与一个网段相连。网桥每从一个端口接收到一个帧,就先暂存到缓存中。若该帧未出现差错,且欲发往的目的站MAC地址属于另一个网段(同一个网段无需转发,应该丢弃),则通过查找转发表,将该帧从对应的端口发出。因此,仅在同一个网段中通信的帧,不会被网桥转发到另一个网段,因为不会加重整个网络的负担。网桥的内部结构如下:
(1)网桥优点
- 过滤通信量
- 扩大了物理范围
- 提高了可靠性
- 可互连不同物理层、不同MAC子层和不同速率(如10Mbit/s和100Mbit/s以太网)
(2)网桥缺点
- 存储转发增加了时延
- 在MAC子层并没有流量控制功能
- 具有不同MAC子层的网段桥接在一起时时延更大
- 网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因为传播过多的广播信息而产生网络拥塞,即广播风暴。
(3)网桥分类
【透明网桥(选择的不是最佳路由)】———————————————
透明网桥是目前使用最多的网桥。" 透明 "是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。透明网桥是一种即插即用设备,意思是只要把网桥接入局域网,不用人工配置转发表,网桥就可以开始一段工作。
既然网桥可以不用人工配置转发表,那么网桥是怎么进行自学习的呢?步骤归纳如下:
- 网桥收到一帧后,先进性自学习。查找转发表中与收到帧的源地址有无相匹配的项目。如果没有,就在转发表中增加一个项目(源地址、进入的接口和时间)。如果有,则把原有的项目进行更新。
- 转发帧。查找转发表中与收到帧的目的地址有无相匹配的项目。如果没有,则通过所有其他接口(但进入网桥的接口除外)进行转发。如果有,则按转发表中给出的接口进行转发。
若转发表中给出的接口是该帧进入网桥的接口,则应该丢弃该帧(因为这时不需要经过网桥进行转发)。
【1.为什么网桥需要登记该帧进入网桥的时间】
解析:原因有两种
- 以太网的拓扑可能经常会发生变化,站点也可能会更换适配器(这就改变了站点的地址)。另外,以太网上的工作站并非总是接通电源的。
- 把每个帧到达网桥的时间登记下来,就可以在转发表中只保留网络拓扑的最新状态信息。这样就使得网桥中的转发表能反映当前网络的最新拓扑状态。
【2.假定连接在透明网桥上的一台计算机把一个数据帧发给网络上不存在的一个设备,网桥将如何处理这个帧?】
解析:网桥并不知道网络上是否存在该设备,它只知道在其转发表中没有这个设备的MAC地址。因此,当网桥收到这个目的地址未知帧时,它将通过所有其他接口(但进入网桥的接口除外)进行转发。
注意:以上并未讨论一个特殊情况,也就是帧在网络中不断地转圈,导致网络资源被白白浪费,如图:
设站A发送一个帧F,他经过网桥1,2。假定帧F的目的地址都不在网桥1,2的转发表中,一i那次网桥1,2都转发帧F,把经过网桥1,2转发的帧F到达局域网2 后,分别记为F1和F2。接着F1 传到网桥2,而F2传到网桥1 。网桥1,2 分别收到了F2和F1,又将其转发到局域网 1。结果引起一个帧在网络中不停地转圈,从而使得网络资源被浪费。
为了避免转发的帧在网络中不断地转圈,透明网桥使用了一种生成树算法。生成树使得整个扩展局域网在逻辑上形成了树形结构,所以工作起来逻辑上没有环路,但生成树一般不是最佳路由,具体算法不做要求。
【源选径网桥(选择的是最佳路由,了解即可)】——————————————————————
在源选径网桥中,路由选择由发送数据帧的源站负责,网桥只根据数据帧的路由信息对帧进行接收和转发。
为了发现合适的路由,源站先以广播方式向欲通信目的站发送一个帧。发送帧将在整个局域网中沿着所有可能的路由传送,并记录所经过的路由。当发送帧到达目的站时,就沿着原来的路径返回源站。源站在得知这些路由后,再从所有可能的路由中选择一个最佳路由。(发送帧不仅可以用来确定最佳路由,话可以用来确定整个网络中可以通过的帧的最大长度。
【路由:路由(英语:Routing)是通过互联的网络把信息从源地址传输到目的地址的活动。
路由发生在OSI网络参考模型中的第三层(即网络层),引导分组转送,经过一些中间的节点后,到它们最后的目的地。路由通常根据路由表(一个存储到各个目的地的最佳路径的表)来引导分组转送。】
注意:透明网桥和源选径网桥中提到的最佳路由并不是经过路由器最少的路由,也可以是发送帧往返时间最短的路由,这样才能真正地进行负载平衡。因为往返时间长,说明中间某个路由可能超载了,所以不走这条路,换个往返时间短的路走。
2.局域网交换机及其工作原理
(1)局域网交换机的基本概念
局域网交换机实质上是多端口网桥,它工作在数据链路层。局域网交换机的每个端口都直接与主机或集线器相连,并且一般都工作在全双工方式。当主机需要通信时,交换机能同时连通许多对端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突的传输数据,通信完成后断开连接。
【补充】
以太网交换机独占传输媒体的带宽。对于普通的10Mbit/s的共享式以太网,若有N个用户,则每个用户占有的平均带宽只有总带宽的 1/N。在使用以太网交换机时,虽然在每个端口到主机的带宽还是10Mbit/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,且交换机工作在全双工状态,所以对于拥有N个端口的交换机的总容量为2N10Mbit/s(如果是半双工方式,则总容量为N*10Mbit/s,谢希仁教材第五版上默认是半双工方式),这正是交换机的最大优点。
【注意】
这里不是N对,就是N个。在这里记住即可,不做深究。
【交换机总容量计算方式】————————————————
端口数*每个端口带宽(半双工);
端口数每个端口带宽2(全双工)。
(N对的书法很多教材都是不赞同的)
【例1】
以太网交换机惊醒转发决策时使用得PDU地址是(A)。
A.目的物理地址
B.目的IP地址
C.源物理地址
D.源IP地址
解析:首先,交换机是工作在数据链路层的设备,所以进行转发决策时,是不可能使用IP地址的,排除BD选项;其次,在进行转发过程中,都是使用目的地址,不可能用源地址进行转发。
【协议数据单元PDU(Protocol Data Unit)是指对等层次之间传递的数据单位。 协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是报文(message)。】
另一种思路:以太网交换机其实就是多端口网桥,网桥是根据目的物理地址转发帧的,所以以太网交换机也是根据目的物理地址转发帧的。
【例2】
某以太网交换机具有24个100Mbit/s的全双工端口与2个1000Mbit/s的全双工端口,其总带宽最大可达到(D).
A.0.44Gbit/s
B.4.4Gbit/s
C.0.88Gbit/s
D.8.8Gbit/s
解析:因为是全双工,根据上面公式可得
总带宽=24*100Mbit/s*2+2*1000Mbit/s*2=8800Mbit/s=8.8Gbit/s。
注意:题目中若不说明通讯传输的方式,则默认为半双工,若此题改为半双工,则应选B。
交换机最大的优点是不仅其每个端口结点所占用的带宽不会因为端口结点数的增加而减少,而且整个交换机的总带宽会随着端口结点的增加而增加。
【交换机的两种交换模式】————————————————
-
直通式交换
只检查帧的目的地址,这使得帧在接收后能马上被转发出去。这种方式速度很快,但缺乏安全性,也无法支持具有不同速率的端口的交换。 -
存储转发式交换
先将接收到的帧存储在高速缓存中,并检查数据是否正确,确认数据无误后,查找转发表,并将该帧从查询到的端口转发出去。如果发现该帧有错误,就将其丢弃。存储转发式交换的优点是,可靠性高,并能支持不同速率端口间的转换,缺点是延迟较大。
注意:很多习题上提到一种 无碎片转发 ,意思是交换机在得到数据报的前64个字节后就抓发,对于小于64个字节的数据报认为是碎片,不进行转发,这种方式既避免了存储转发速度慢的问题,有避免了直通转发中有碎片的问题。
(2)局域网交换机的工作原理
与网桥类似,检测从某端口进入交换机的帧的源MAC地址和目的地址,然后与系统内部的动态查找表进行比较,若数据报的MAC地址不在查找表中,则将该地址加入查找表中,并将数据报发送给相应的目的端口。
【补充】虚拟局域网(了解即可,不重要)
虚拟局域网的出现主要是为了解决交换机在机型局域网互连时无法限制广播的问题。普通的交换机即使是连接了多个局域网,仍然属于一个网络,也就是说仍然是一个广播域,这样就容易产生广播风暴,但是将一个局域网划分成多个局域网之后(交换机就类似于路由器的功能)就等于将一个大的广播域划分成多个小的广播域,这样就会降低发生广播风暴的可能性。也许看到这里很多人会产生疑问,交换机能连接不同的网络吗?普通交换机是不能的,但是这里的交换机不是普通的交换机,而是具有第三层特性的第二层交换机(其意义不做深究,此知识点不在考研范围内,有兴趣可自行查询)。
【虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样。
虚拟局域网优点是网络设备的移动、添加和修改的管理开销减少,可以控制广播活动,可提高网络的安全性。】
3.各层设备的广播域、冲突域总结
要清楚什么是冲突域(碰撞域)和广播域。当一块网卡发送信息时,只要有可能和另一个网卡冲突,则这些可能冲突的网卡就构成冲突域。一块网卡发出一个广播,能收到这个广播的所有的网卡的集合称为一个广播域。一般来说,一个网段就是一个冲突域,一个局域网就是一个广播域。
下面几种复习中继器、集线器、网桥、交换机、 路由器的基本概念。
在此基础上讨论冲突与和广播域会理解得更深。
(1)物理层设备
中继器
在接触到的网络中,最简单得就是两台计算机通过两块网卡构成的双机互连,两块网卡之间通常是由非屏蔽双绞线来充当信号线的。由于双绞线在传输信号时信号功率会逐渐减弱,当信号减弱到一定程度时将造成信号失真,所以在保证信号质量的前提下,双绞线的最大传输距离为100m。当两台计算机之间安装一个中继器,它的作用就是将已经衰减得不完整的信号经过整理,重新产生出完整的信号再继续传送。放大器和中继器都是起放大信号的作用,只不过放大器放大的模拟信号,而中继器放大的时数字信号。
集线器
中继器就是普通集线器的前身,集线器实际上就是一种多端口的中继器。集线器一般有4,8,16,24,32等数量的RJ45接口,通过这些接口,集线器能为相应数量的计算机完成 " 中继 "功能。
由于集线器在网络中处于一种 " 中心 "位置,所以集线器也叫做Hub。集线器的工作原理很简单,假设有一个8个接口的集线器,共连接了8台计算机。集线器处于网络的中心,通过集线器对信号进行转发,8台计算机之间可以互联互通。具体通信过程可自行查询,由于篇幅原因,这里不做赘述,仅做大概梳理。(集线器所有端口都属于一个冲突域,集线器不能分割冲突域)
集线器在一个时钟周期中只能传输一组信息,如果一台集线器连接的机器数量较多,并且多台机器经常需要同时通信时,将导致集线器的工作效率很差,如发生信息堵塞、碰撞等。
集线器每个端口的真实速度除了与集线器的带宽有关外,与同时工作的设备数量也有关,比如,一个带宽为10Mbit/s 的集线器上连接了8台计算机,当这8台计算机同时工作时,每台计算机真正拥有的带宽是10Mbit/s/8=1.25Mbit/s。
(2)数据链路层设备
网桥:参考下面的交换机,因为交换机就是多端口网桥。
交换机:交换机也称交换式集线器,它通过对信息进行重新生成,并经过内部处理后,将每一数据报独立地从源端口送至目的端口,避免了和其他端口发生碰撞。简而言之,就是交换机某端口连接的主机想和另一个端口连接的主机通信,交换机就会通过转发表发送到那个端口,不可能去其他端口,不存在发错端口(即打错电话),所以交换机的每一个端口都是一个冲突域,也就是说交换机可以隔离冲突域。
【交换机的工作原理】
在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。
集线器是采用共享工作模式的代表,如果把集线器比作一个邮递员,那么这个邮递员不认识字,如果他要送信,他不知道直接根据信件上的地址送给收件人,只会拿着信分发给所有人,然后让接收到信的人根据地址信息来判断是不是自己的,而交换机则是一个聪明的邮递员——**交换机拥有一条高带宽的背部总线和内部交换矩阵。**交换机的所有端口都挂在这条背部总线上,当控制电路收到数据报后,处理端口会查找内存中的地址对照表以确定目的MAC地址应该从哪个端口出发,通过内部交换矩阵迅速将数据报传送到目的端口。如果目的MAC地址不存在,交换机才广播所有的端口,接收端口回应后,交换机会学习新的地址,并把它添加到内部地址表中。
可见,交换机在收到某个网卡发过来的 " 信件 " (数据帧)时,会根据上面的地址信息以及自己已经掌握的 " 户口簿 "(内部地址表) 迅速将信件送到收件人手中。万一收信人地址不在户口簿上,交换机才会立刻将这个人的信息登记到户口簿上,这样方便以后再次为该客户服务。
由于交换机能够智能地根据地址信息将数据快速送到目的地,所以它不会像集线器那样在传输数据时,打扰非收件人。这样交换机在同一时刻可进行多个端口组之间的数据传输,并且每个端口组都可视为独立的网段,相互通信的双方独自享有全部的带宽,无需同其他设备竞争使用。
【补充】
尽管交换机也称为多端口网桥,但交换机和网桥由不同之处,如下:
- 以太网交换机实质上是一个硬件实现的多端口网桥,以太网交换机通常有十几个端口,而网桥一般只有两个端口,常用软件实现。它们都工作在数据链路层。
- 网桥的端口一般连接到局域网的网段,而以太网交换机的每个端口一般都直接与主机相连,也可连接到Hub。
- 交换机允许多对计算机之间同时通信,而网桥最多允许每个网段上的一台同时通信。
- 网桥采用存储转发方式进行转发,而以太网交换机还可以采用直通方式转发。以太网交换机采用了专用的交换机构硬件芯片,转发速度比网桥快。
(3)网络层设备
路由器:简单地说就是,路由器把数据从一个网络发送到另一个网络,具体的过程在网络层中讲,后续再写。这里先了解大概即可。
前面提到了中继器和集线器不能隔离冲突域,交换机可以隔离冲突域,自然路由器也可隔离冲突域(因为也有一张转发表可以转发)。下面来讨论广播域。
广播其实可看成是一个单独的网络,如果一个主机要发送一个广播数据,这样就应该在整个网络都可以听到,但是集线器和交换机分别工作在物理层和数据链路层,不能连接两个不同的网络,所以,不管是集线器还是交换机,遇到广播数据都要每个端口发一遍(因为每个端口连接的网络仍然属于一个网络)。这样又存在打错电话的情况,所以集线器和交换机不能隔离广播域。但是路由器可以连接不同的网络,且路由器在默认情况下是不转发广播报文的(因为每个端口连接的是不同的网络),路由器的每一个端口都是一个广播域,所以路由器可以隔离广播域。
各层设备的广播域、冲突域总结如下表:
好啦,计网的数据链路层就总结到这里了,若有错误,欢迎各路大佬指正。
最后
以上就是瘦瘦皮皮虾为你收集整理的计算机网络(考研知识梳理)计算机网络(考研知识梳理)的全部内容,希望文章能够帮你解决计算机网络(考研知识梳理)计算机网络(考研知识梳理)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复