第四章介质(媒体)访问控制子层这是广播网的数据链路层上特有的一个子层,用于解决共享信道的分配问题.
广播信道有时也称为多重访问信道(multiaccesschannel)或随机访问信道(randomaccesschannel),信道也称为介质或媒体(medium),使用信道发送数据称为介质(媒体)访问,所以决定信道分配的协议就称为介质(媒体)访问控制协议.
由于大多数的局域网都使用多重访问信道作为通信的基础,而广域网大多采用点-点线路(卫星网络除外),因此本章还将讨论局域网的相关技术.
信道分配策略静态分配:如FDM和同步TDM,这是一种固定分配信道的方式,适用于用户数少且数量固定、每个用户通信量较大的情况.
由于每个节点被分配了固定的资源(频带,时隙),因而不会有冲突发生.
动态分配:如异步TDM,这是一种按需分配信道的方式,适用于用户数多且数量可变、突发通信的情况.
竞争方式:各个用户竞争使用信道,不需要取得发送权就可以发送数据,这种方式会产生冲突.
无冲突方式:每个用户必须先获得发送权,然后才能发送数据,这种方式不会产生冲突,如预约或轮转方式.
有限竞争方式:以上两种方式的折衷.
多重访问协议(1)ALOHA纯ALOHA任何用户有数据发送就可以发送,每个用户通过监听信道来判断是否发生了冲突,一旦发现有冲突则随机等待一段时间,然后再重新发送.
假设:所有帧的长度都相同,且每个帧一产生出来后就立即发送.
帧时(frametime):发送一个标准长度的帧所需的时间;N:每帧时内系统中产生的新帧数目,一般应有0
184.
时分ALOHA将时间分成离散的时间片(slot),每个时间片用来传输一个帧,每个用户只能在一个时间片的开始传送帧,其它与纯ALOHA系统同.
该系统要求全局时钟同步.
与纯ALOHA系统相比,由于每个帧的易损时间区缩小了,冲突的概率减小了,所以系统吞吐量也相应提高了.
S=Ge-G,当G=1时,S达到最大值,为0.
368.
(2)载波侦听多重访问(CSMA)协议ALOHA系统吞吐量低的原因是,每个用户可以自由发送数据,而不管其他用户当前是否正在发送.
要求每个用户在发送数据前先监听信道,仅当信道空闲时才允许发送数据,这样可以减少冲突的概率,从而提高系统的吞吐量,这一类协议就是CSMA协议.
1-坚持CSMA站点在发送数据前先监听信道,若信道忙则坚持监听直至发现信道空闲,一旦信道空闲立即发送数据,发现冲突后随机等待一段时间,然后重新开始监听信道.
该协议虽然在发送数据前先监听信道,且在信道空闲后再发送数据,但仍有可能发生冲突.
发生冲突的原因是:信号传播延迟不可忽略,1-坚持的策略,因而该协议适合于规模较小和负载较轻的网络.
非坚持CSMA站点在发送数据前先监听信道,若信道忙则放弃监听,等待一个随机时间后再监听,若信道空闲则发送数据,出现冲突则随机等待一段时间,再重新监听信道.
非坚持CSMA的信道利用率高于1-坚持CSMA,但延迟特性要差一些.
p-坚持CSMA该协议适用于时分信道.
站点在发送数据前先监听信道,若信道忙则等到下一个时间片再监听,若信道空闲则以概率p发送数据,以概率1-p将发送推迟到下一个时间片.
如果下一个时间片信道仍然空闲,则仍以概率p发送,以概率1-p将发送推迟到下一个时间片.
此过程一直重复,直至发送成功或另一个用户开始发送(检测到信道忙).
若发生后一种情况,该站的动作与发生冲突时一样,即等待一个随机时间后重新开始.
p-坚持CSMA试图在1-坚持CSMA和非坚持CSMA间取得性能的折衷.
影响协议性能的关键在于p的选择,p过小会无谓地增加延迟,p过大则性能接近1-坚持CSMA.
带有冲突检测的CSMA(CSMA/CD)在以上CSMA协议中,如果站点在发送的过程中检测到冲突后立即停止冲突帧的发送,这就称为带有冲突检测的CSMA,即CSMA/CD,它可以节省时间和带宽.
CSMA/CD是以太网采用的介质访问控制方法.
CSMA/CD改进其它CSMA协议的地方是,当发送节点检测到冲突后立即停止发送,并进入冲突解决过程.
也就是说,仅当检测到冲突时仍未结束发送,才能节省时间和带宽.
节点从开始发送至检测到冲突,所需的最长时间等于信号在相距最远的两个节点之间的来回传输时间(2τ).
冲突的检测是通过将监听到的信号与发送出去的信号相比较而实现的,因此物理层上需要使用便于检测冲突的信号编码方案.
为使发送节点在未发完时就能检测到可能的冲突,帧的发送时间应足够长,而信号传播时间应较短.
换句话说,当信道很长(τ很大)而帧传输时间很短(如帧很短或数据速率很高)时,CSMA/CD协议的性能并不好.
(3)无冲突协议位图协议该协议的本质是要求站点在发送前先进行预约,然后在预约的时间里发送数据,该协议不会产生冲突.
二进制相加每个站发送数据前先发送其二进制地址(长度都相等),这些地址在信道中被线性相加,协议选择其中地址最高的站作为胜出者,允许其继续发送数据.
(4)有限竞争协议竞争协议在轻负载下可以获得良好的延迟特性,但重负载下由于冲突增加信道利用率不高;无冲突协议在重负载下可以获得很高的信道利用率(因为没有冲突),但轻负载下由于要等待发送权而延迟特性不好.
有限竞争协议试图结合以上两类协议的优点和克服各自的缺点,使得在轻负载时使用竞争方式减小延迟,而在重负载时使用无冲突方法提高信道利用率.
其基本思想是对用户进行动态分组,每个时隙内只允许一个组的用户竞争信道,通过减少在同一个时隙内竞争信道的用户数来提高竞争成功的概率.
组的大小随系统负载的变化而动态调整,负载越轻,组越大,极端情况是所有用户在一个组内,退化为竞争协议;反过来,负载越重,组越小,极端情况是每个组内只有一个用户,退化为无冲突协议.
最佳的分组情况是,每个组内平均只有一个用户竞争信道.
显然,这一类协议的关键就在于如何根据负载的情况自适应调整用户的分组.
自适应树搜索协议协议的基本思想是将所有站点组织在一棵二叉树中(站点在树叶上),从树根开始,首先将一个时隙分配给树根(即树根下的所有站点都可以在该时隙竞争信道);如果发生冲突,则按深度优先法,从左到右递归地搜索该节点的子节点(即将下一个时隙分配给搜索到的子节点);如果时隙空闲或者只有一个站点发送(发送成功),则停止搜索该节点;该过程不断重复,直至将整棵树搜索一遍;然后从树根开始新一轮的搜索.
图4-9.
该协议的改进算法:根据系统负载情况,动态地决定从哪一个节点开始往下搜索.
(5)波分多重访问协议在无源星型网络中(图2-31),来自每个站点的两根光纤被熔合在一起,形成一个玻璃柱,一根光纤向玻璃柱输入,另一根光纤从玻璃柱输出.
任何站点产生的输出都会照亮玻璃柱,从而其它所有的站点检测到.
为了能够允许多个站点同时发送,每个站点必须使用不同的波长,因而将光谱划分成不同的波长段(称信道).
在波分多重访问协议(WDMA)中,每个站点分配了2个信道,窄信道用作控制信道,宽信道作为数据信道.
控制信道由其它站用来向本站发出通知,而数据信道由本站用来向其它站输出数据.
为了与多个站点通信,每个信道都采用时分多路复用的方法划分成时隙,一定数量的时隙组成时隙组.
控制信道和数据信道的时隙组可以包含不同的时隙数,如控制信道的时隙数为m,数据信道的时隙数为n+1,其中n个时隙用于传数据,最后一个时隙用来报告站点的状态,主要是报告在两条信道中哪些时隙是空闲的.
在两条信道中,时隙序列不断循环,时隙0有特殊的标记可以被识别出来.
所有信道使用一个全局时钟进行同步.
每个站监听本站的控制信道,同时在本站的数据信道上向其它站发送数据.
显然,当一个站要向其它站发送控制消息时,必须将发送波长调整到目的站的控制信道上,而要从其它站接收数据消息时,必须将接收波长调整到源站的数据信道上.
因此,每个站点有2个发送端和2个接收端,它们分别如下:一个波长固定不变的接收端,用来监听本站的控制信道;一个波长可调的发送端,用于向其它站点的控制信道发送消息;一个波长固定不变的发送端,用于在本站的数据信道上输出数据帧;一个波长可调的接收端,用于从选定站点的数据信道上接收数据.
WDMA支持3种类型的通信:恒定速率的面向连接通信,可变速率的面向连接通信,数据报通信(不可靠无连接).
数据报通信:当A想向B发送数据时,A首先监听B的数据信道,等待B的状态时隙到来;从B的状态时隙可以获知B的控制信道中哪些时隙是空闲的,A从中选择一个空闲的时隙向B发送一个通知,告诉B在A的数据信道的哪个时隙中有给B的数据;若B在指定的时隙里空闲,则在该时隙到来时将接收波长调整到A的数据信道,就可以收到A发给B的数据;如果A和C选择了同一个空闲时隙向B发送通知,则两者都会失败;若A和C选择了相同的时隙向B发送数据,则B只能从中选择一个站来接收,另一个站的数据丢失.
面向连接的通信:若A希望与B建立一个连接,A首先监听B的数据信道,等待B的状态时隙到来;A从B的空闲时隙中选择一个,将连接请求消息插入其中;若B同意建立连接,它将该时隙分配给A,并在控制信道的状态时隙中加以声明;当A看到该声明后,就知道一个单向连接建立起来了;若A希望建立一个双向连接,则B将对A重复同样的算法;若A和C选择了相同的空闲时隙向B发送连接请求,则两者都会失败,A和C通过监听B的状态时隙就可以知道这一点,他们会随机等待一个时间再试;当连接建立起来后,A就可以在分配给它的控制时隙中向B发送控制消息,告知给B的数据将在哪个数据时隙中发送;为了获得恒定的数据速率,A可以向B请求在一个固定的数据时隙发送数据,如果B同意就建立了一条保证带宽的连接,若该时隙不空,A还可以再请求另一个数据时隙.
(6)无线局域网协议为什么CSMA不适用于无线局域网因为CSMA只能告诉发送站,在发送站周围是否有站点在传输,而发送站真正想知道的却是,在接收站周围是否有站点在传输.
隐藏站点问题和暴露站点问题(图4-11).
带有冲突避免的多重访问(MACA)这是802.
11无线局域网采用的介质访问控制方法.
它的基本思想是让发送方激励接收方发送一个短帧,让接收站周围的站点都检测到这个帧,从而这些站在即将到来的一段时间里不向接收站发送.
过程如下(图4-12):若A想向B发送一个数据帧,A首先向B发送一个RTS帧,该帧给出了后继数据帧的长度;B收到后回复一个CTS帧,CTS帧中也给出数据帧的长度;A收到CTS帧后就可以发送;在此过程中,若A周围的站监听到了A的RTS帧,它们会在随后的一段时间内保持沉默,以便让A无冲突地收到CTS帧;而B周围的站监听到了B的CTS帧后,也会在随后的一段时间(由CTS帧中的数据长度决定)内保持沉默,从而让B能够无冲突地收到A发送的数据帧;若B和C同时向A发送RTS帧,则会产生冲突,这时不成功的发送方会随机等待一段时间后再重试.
以太网以太网布线通常有四种布线方法,见图4-13.
10Base5:又称粗缆以太网,使用直径10毫米的基带同轴电缆作为传输介质,每段电缆最长为500米,最多支持100个节点,数据速率为10Mbps,节点通过特殊的收发器连接到电缆上(图4-14(a)).
收发器主要完成载波监听和冲突检测的任务;收发器电缆连接收发器和网络接口卡,长度不超过50米,包含5对屏蔽双绞线,分别用作数据线、控制线和电源线;网络接口卡负责完成数据链路层协议.
10Base2:又称细缆以太网,使用直径5毫米的基带同轴电缆作为传输介质,每段电缆最长为185米,最多支持30个节点,数据速率为10Mbps,电缆连接处采用工业标准的BNC连接器组成T型连接.
由于BNCT型连接器是无源的,因此10Base2的收发器位于网络接口卡内.
以上两种布线方法的共同缺点是,当电缆断裂、接头损坏或松动时,会影响整个网络的运行,同时故障定位和隔离都比较困难,这导致了10Base-T布线方法的产生.
10Base-T:每个节点通过一条双绞线电缆(3类双绞线)连接到中央集线器(hub)的一个端口上,所有端口在内部通过电路连接到一起形成共享总线.
每根电缆内包括2对双绞线:一对用于发送信号,一对用于接收信号.
双绞线与计算机及hub的连接均采用RJ-45连接器,插拨很方便,而且任何一条电缆或接口出现故障只会影响到相关的节点,网络的其余部分照常运行,因此故障定位和隔离都相当容易.
10Base-T的缺点是从节点到hub的电缆长度不能超过100米,即使使用高质量的5类双绞线,也不能超过200米.
10Base-F:采用多模光纤作为介质,长度可以达到2000米,但由于价格较高,通常用于连接较远的hub.
由于光信号的传输是单向的,适合于端到端式的通信,因此10Base-F的网络结构呈星状或放射状,光纤的一端与光收发器(光hub)连接,另一端与网卡连接.
中继器:当单根电缆组成的网络规模太小时,可以用中继器连接多个电缆段以延长电缆的长度.
中继器是一个物理层上的设备,用于双向接收、放大并重发信号,使用中继器连接的多个电缆段本质上与单个电缆段是一样的.
中继器的使用是有限制的,一个系统中任意两个收发器之间的路径上不得跨越4个以上的中继器.
曼彻斯特编码物理层编码很少使用直接的二进制编码,因为它不利于接收方的时钟同步.
所有基于IEEE802.
3的基带系统在物理层上均使用曼彻斯特编码.
曼彻斯特编码:用高-低电平对表示"1",低-高电平对表示"0",编码中间的电平跳变可被接收方用来提取时钟信号.
这种编码的缺点是,它的带宽是直接二进制编码的2倍,即为达到10Mbps数据速率,它的信号速率(波特率)要达到20Mbaud.
差分曼彻斯特编码:有效编码仍然是高-低电平对和低-高电平对两种,但一个编码并不固定表示"1"或"0",而是由每个编码开始时线路上有无电平跳变来决定,有电平变化表示"0",无电平变化表示"1".
这种方法比曼彻斯特编码的抗干扰性强,但设备复杂.
以太网使用曼彻斯特编码.
以太网帧结构DIX以太帧结构,图4-17(a).
前导码:8个字节,0与1的交替序列,用于接收方进行时钟同步.
地址:通常使用6字节地址,用于标识以太帧的接收者与发送者.
类型:指出数据域中携带的数据应交给哪个协议实体处理.
数据:0-1500字节.
填充:0-46字节,当帧长太短时填充帧,使其达到64字节的最小长度.
由于采用CSMA/CD协议的节点只在发送的过程中检测冲突,当发送结束时仍未检测到冲突就认为发送成功;但是从发送开始到检测到冲突最多需要2τ时间,为保证发送站总是能够检测到冲突,要求帧的发送时间至少应达到2τ,所以有最小帧长的限制.
对于最大长度为2500米、具有4个中继器的10Mbps以太网,2τ≈50μs,于是最小帧长应为10Mbps*50μs=500bits,为保险起见取为512比特,即64字节.
校验和:CRC编码.
当接收端检测出错误时将帧丢弃;但无论接收正确与否,接收端均不给出确认.
所以,以太网提供的是一种不可靠的服务.
802.
3帧格式(图4-17(b))与DIX以太帧格式的不同:将前导码减少为7个字节,并将第8个字节(10101011)作为帧起始标志,这是为了与802.
4和802.
5相兼容;长度域替代了类型域:长度域指明了数据域的长度.
数据域中携带了LLC帧,使用LLC帧头中的字段可以确定将帧交给哪个协议实体来处理.
目前,这两种帧格式均可以使用,当类型/长度域中的值大于1500时该域解释为类型,当小于或等于1500时该域解释为长度.
当在物理介质上传输以太帧时,前导码和CRC码均由物理层接口硬件产生和处理.
发送端接口硬件首先发送一串前导码,然后发送以太帧(从目的地址开始到数据部分),在发送的过程中同时将帧输入到一个硬件除法器中;当帧发送完时除法器中也得到了该帧的CRC码,于是紧跟在帧后面发送CRC码;接收端接口硬件将前导码和CRC码(校验过后)去掉.
因此,前导码和CRC码对于链路层实体来说是透明的.
以太帧在物理介质上的传输顺序是从高位字节到低位字节,即先发送目的地址的最高字节.
但每个字节中比特的传输顺序是从低位比特到高位比特,即紧跟在前导码后发送的第一个比特是目的地址最高字节的最低比特.
(4)MAC地址每一块网络适配器(网卡)都有一个地址,通常被固化在ROM中,这个地址称为MAC地址.
因其和适配器绑定在一起也称为物理地址,以和高层的逻辑地址(如IP地址)相区分.
MAC地址的长度为6个字节,通常用由冒号分隔的6个十六进制数表示.
比如,MAC地址000010000000000000101011111001001011000100000010表示为8:0:2b:e4:b1:2.
MAC地址有局部地址和全局地址之分,这由地址的次高比特(目的地址在线路上传输时的第二个比特)来标识.
次高比特为1的地址是局部地址,由网络管理员分配且只在本网内有效;次高比特为0的地址是全局地址,由IEEE统一分配以确保没有两个适配器具有相同的全局地址.
为了保证每个适配器的地址是唯一的,IEEE给每个适配器制造商分配一个不同的前缀,这个前缀必须加到他们制造的每一个适配器地址上,而制造商必须保证每个后缀是唯一的.
源地址通常是单播地址,就是源主机适配器的MAC地址.
目的地址则有单播地址、多播地址和广播地址三种,由地址的最高比特(目的地址在线路上传输时的第一个比特)来区分.
最高比特为0的是单播地址(目的主机适配器的MAC地址),最高比特为1且其余比特不全为1的是多播地址,48比特全为1的是广播地址.
多播和广播的区别是,多播是将帧发送给属于同一个组(即具有相同的多播地址)的所有节点,而广播是将帧发送给网上的所有节点.
以太网是一个广播网,事实上网络中传输的每一个帧可被每一个适配器接收到.
为了减轻主机的工作负担,适配器只将发给本节点的帧交给主机,而将其余帧丢掉.
具体来说,当一个帧到达一个节点的适配器时,该适配器检查帧的目的地址,若:1)目的地址是单播地址且与自己的MAC地址相符,2)广播地址,3)多播地址且该地址在要监听的多播地址集合中,则适配器将该帧接收下来并交给主机,否则丢弃该帧.
有些特殊的设备需要接收网上传输的所有帧,比如网桥、网络协议分析器等,这时只要将这些设备的适配器配置为混杂模式(Promiscuousmode),就可以接收所有的帧.
(5)介质访问控制以太网采用CSMA/CD作为其介质访问控制协议.
当适配器有帧要发送时,首先侦听信道;若检测到信道忙(侦听到信号能量),则坚持侦听直到发现信道空闲;一旦信道空闲,立即发送帧;在发送的过程中继续侦听信道,如果检测到冲突(发现异常的信号能量)就立即停止传送帧,并发送一个阻塞信号(jammingsignal);然后进入指数回退(exponentialbackoff)阶段,选择一个随机时间进行等待后,重新侦听信道.
令检测到冲突的节点发送一个阻塞信号,是为了加强冲突以确保网上的所有节点都检测到这个冲突.
例如,假设适配器A开始传输一帧,当A的信号将要到达适配器B时,B开始发送.
B立即检测到了冲突并停止发送,这时B仅发送了很少一些比特.
虽然这些比特会传播到A,但它们可能不足以形成足够的能量来使A检测到冲突,让B发送阻塞信号就是为了确保A能检测到这个冲突.
在检测到冲突后,为确定需要等待多长时间再侦听信道,适配器采用一种指数退避算法.
算法的基本思想是:冲突产生后,时间被分成长度为2τ(即51.
2μs)的时隙;第一次冲突后,发生冲突的站点从0、1中随机挑选一个时隙进行等待,然后重试;此后每发生一次冲突,站点可以选择等待的时隙数就增加一倍,即第i次冲突后,站点可从0到2i-1中随机挑选一个时隙进行等待,然后重试;当达到10次冲突后,随机等待的最大时隙数固定在1023;16次冲突后不再重发,向上层报告出错.
这种方法的基本思想是,根据发生冲突的站点数的多少动态调整随机等待的时隙数,从而可以在较合理的时间内解决冲突.
需要注意的是,发送时不产生冲突并不表明帧在传输过程中就不会出错,帧仍有可能由于线路上的噪声干扰而出错,所以计算帧的校验和及重发出错帧仍是必要的,但以太网标准没有提供这种操作,错误恢复是由上层来完成的.
由于冲突会使网络资源大量浪费,从而降低网络的通信能力,因此以太网适合在轻负载下工作.
在以太网上,通常超过30%的利用率就被认为是重负载了.
幸运的是,大部分以太网是在比标准允许方式更保守的方式下使用.
例如,大部分以太网上连接的主机数比200少,远小于规定的最大数量1024,这是因为一个C类局域网最多只能有254台主机.
其次,大部分以太网的距离远小于2500米,往返延迟接近5μs而不是51.
2μs.
最后,虽然以太网适配器没有实现链路层流量控制,但主机通常会提供一种端到端的流量控制机制,结果很少出现一台主机连续不断地把帧送到网上的情况.
4.
交换式以太网共享式以太网由于存在竞争,其吞吐量必然不会太高,交换式以太网采用避免竞争的办法来提高系统的吞吐量.
交换式以太网的核心是交换机,它包括一个高速背板和一些插槽,每个插槽可以插一块卡,每块卡上有许多端口,每个端口可以通过双绞线连接一台计算机,如图4-20.
当源节点和目的节点连接在同一块卡上时,数据帧直接从源端口拷贝到同一块卡上的目的端口;当不在同一块卡上时,数据帧通过背板拷贝到另一块卡上的输出端口.
卡有两种构造方法.
一种是卡上所有端口连接在一起形成一个冲突域,这时每块卡相当于一个共享以太网段,采用CSMA/CD及二进制指数退避算法解决竞争.
每块卡每次只能有一个端口发送,但不同卡上的端口可以同时发送.
另一种是采用缓存的方法,输入的帧首先缓存在卡的RAM中,然后再拷贝到目的端口所对应的RAM.
这时,每个端口是一个独立的冲突域,不同的端口互不干扰,因此冲突是不会发生的,所有端口可以同时发送和接收.
交换机的端口除了可以连接单独的计算机外,也可以连接一个网段.
当交换机上所有的端口都连接了一个网段,则交换机实际上变成了一个网桥.
5.
快速以太网其标准为802.
3u.
为了与802.
3兼容,它完全保留了802.
3的MAC层协议,但修改了物理层以便支持更高的速率和不同的物理介质.
由于完全保留了802.
3的MAC层,因此802.
3u的帧格式、接口、协议规程等均与802.
3相同,只是速率提高到了100Mbps.
在物理层上,802.
3u只使用hub和交换机进行组网,传输介质只使用双绞线和光纤.
802.
3u标准化了三种布线方案(图4-21),分别用于3类双绞线、5类双绞线和光纤布线.
100Base-T4:这是用于3类双绞线的布线方案.
按照10Base-T的规定,计算机到hub的最大距离应达到100米;若采用曼彻斯特编码,为获得100Mbps的速率,信号速率应达到200M波特.
对于3类双绞线来说,要在100米的距离上获得200M波特的速率是做不到的,但在100米的距离上达到20M波特甚至更高一些则是可能的(在10Base-T中,信号速率为20M波特).
该方案采用的方法是,使用一根电缆中全部的四对双绞线,一对总是作为输入,一对总是作为输出,还有两对根据当前的传输方向进行切换,即在当前传输方向上可以使用三对双绞线;每对双绞线使用25M波特的信号速率,使用3状态信号(即信号状态可为0、1或2),这样将三对双绞线看成一体的话共有27种状态的信号,即每种状态至少可以携带4比特数据信息;这样在当前传输方向上可以获得4*25M=100Mbps的数据速率,同时在另一方向上仍然保留33.
3Mbps和带宽(一对双绞线).
100Base-TX:这是用于5类双绞线的布线方案.
该方案只使用两对双绞线,一对用于输入,一对用于输出,每对运行在125M波特的信号速率上,使用4B/5B编码(即每4比特数据编码成5比特的信号),因此每对双绞线可以获得125M*4/5=100Mbps数据速率.
100Base-FX:这是用于光纤的布线方案.
该方案使用两条多模光纤,一条用于输入,一条用于输出,每条的数据速率均为100Mbps,计算机到组网设备的距离可以达到2000米.
100Base-T4和100Base-TX统称为100Base-T,它们可以使用两种类型的组网设备,hub和交换机.
在hub中,所有的端口在逻辑上连在一起形成一个冲突域,因此实际上构成了传统的共享式以太网,所有站点只能半双工地进行通信.
在交换机中,每个到达的帧被缓存在接线卡中,并在确定了目的端口的位置后,直接拷贝到相应的输出端口(若在同一个接线卡中),或通过高速背板拷贝到目的卡中(若不在同一个接线卡上).
由于每个端口是一个单独的冲突域,且都有缓存,因此各端口可以同时发送,因而每个站点都可以全双工地进行通信.
由于100Base-FX的最大距离超过了CSMA/CD适用的范围,因此只允许使用交换机进行连接,因此每个站点也都可以全双工地进行通信.
事实上,所有交换机既可以与10Mbps站点连接,也可以与100Mbps站点连接,标准提供了一种自动协商模式允许两个站点自动配置通信的最佳速率和通信方式(全双工或半双工),因此使用交换机与现有站点连接非常方便,而且站点升级也非常方便.
6.
千兆以太网千兆以太网的标准是802.
3z.
该标准在进一步提高数据速率的同时,仍然保持与所有现有的以太网标准相兼容,包括帧格式、最大帧长与最小帧长的限制等.
千兆以太网的所有配置全都是点到点的,它允许两台计算机直接相连,也允许用hub或交换机连接多台计算机,也可以连接其它的hub或交换机,如图4-22.
千兆以太网支持两种不同的操作模式:全双工模式和半双工模式.
正常模式是全双工模式,当使用交换机连接计算机或连接其它的交换机时使用这种模式.
由于所有的端口全都有缓存,因此每个站点都可以全双工地收发数据;由于网络中不存在冲突,也就不需要CSMA/CD,因此传输介质的长度只取决于信号的强度,而不用考虑冲突检测所需要的2τ时间限制.
交换机可以随意混合和匹配速率,也支持自动协商模式.
当使用hub连接计算机时,使用半双工模式.
由于hub不缓存输入帧,并且所有端口都处在同一个冲突域中,因此CSMA/CD是需要的.
那么最小帧长多少比较合适呢如果要保持64字节的最小帧长,那么网络规模不能超过25米,这是不能接受的.
如果要保持2500米的网络规模,最小帧长就要达到6400字节,这同样是不能接受的.
因此802.
3z进行了一个折衷,网络规模可以达到200米,而线路上传输的最小帧长为512字节.
为与现有协议相兼容并尽可能提高线路效率,802.
3z采取了两个新举措.
一个称为载波扩展(carrierextension),即由物理层硬件在发送时将帧填充至512字节长,并由接收硬件在接收时自动去掉,这种操作是不为链路层所知的,所以链路层软件不需要作任何修改,当然这时传输效率是不高的.
第二个称为帧突发(framebursting),当发送端有多个帧准备发送时,可以将这些帧放在一起传输,这样当总的突发数据块超过512字节时可以不用填充,而当不足512字节时仍由物理层进行填充,这样可以极大地提高线路的效率.
事实上,千兆以太网很少应用在半双工模式,这是非常不经济的,这种模式只是为了向后兼容的需要才制定的.
千兆以太网支持电缆和光缆布线,如图4-23.
在光纤布线方案中,使用激光作为光源(可以支持1Gbps的速率);可用的光波段有两个:0.
85μm和1.
3μm,其中前者只能用于多模光纤中;光纤有三种:10μm、50μm和62.
5μm,其中第一种是单模光纤,后两种是多模光纤.
可以达到的传输距离与所使用的光纤类型及光波段有关,当采用10μm的光纤和1.
3μm的光波时,可以达到5公里的最大距离,这个数字其实是很保守的,事实上可以达到10公里.
1000Base-CX使用2对屏蔽双绞线,由于距离太近(只有25米),实际上很少使用.
1000Base-T是使用5类双绞线的布线方案,距离可以达到100米.
802.
3z在光纤上使用8B/10B编码(8个数据比特编码为10个信号比特),这种编码比曼彻斯特编码节省带宽,通过仔细选择码字可使码字中0、1个数均衡(有利于消除直流电平)并可提供足够多的状态变化(便于提取时钟).
1000Base-T使用4对5类双绞线,每对双绞线运行在125M波特的信号速率上,使用5电平信号,其中四种电平用于编码数据,一种电平用于控制的目的,因此每个信号携带2比特数据,4对双绞线可以获得2*4*125M=1000Mbps数据速率.
由于使用了混合电路,每对双绞线上都可以进行双向传输,因此该方案可全双工地获得1000Mbps数据速率.
由于千兆以太网的速率非常高,数据发送与接收的处理稍有不同步就容易导致大量数据丢失,因此千兆以太网中引入了流量控制,接收端可以使用一个特殊的PAUSE帧要求发送端暂停发送一段指定的时间.
7.
无线局域网(802.
11)协议栈从OSI参考模型的角度来看,所有的局域网实际上都对应了OSI参考模型的物理层和数据链路层,其中数据链路层又分为逻辑链路控制子层(LLC)和介质访问控制子层(MAC)(图4-25).
LLC对于所有的802局域网都是一样的,因此,不同的802局域网的差异仅仅体现在物理层和MAC子层上.
另外,有些局域网还允许使用不同的传输介质和传输技术进行通信,由于物理层与传输介质和传输技术密切相关,因此同一种局域网还可能存在多个物理层标准.
到目前为止,802.
11标准化了一种MAC层协议,但在物理层上标准化了六种传输技术,其协议栈见图4-25,其中前三种是低速的(1Mbps或2Mbps),后三种是高速的(10Mbps以上).
物理层红外通信:使用0.
85μm或0.
95μm的光进行漫射传输,允许1Mbps和2Mbps两种速率,使用格雷码进行信号传输.
在1Mbps速率上,每4比特数据编码为一个16比特的格雷码(15个0和1个1);在2Mbps速率上,每2比特数据编码为一个4比特的格雷码(3个0和1个1).
采用红外通信的好处是各个房间的通信系统互不干扰,缺点是带宽太低.
跳频扩频(FHSS):工作在2.
4GHz的ISM频带上,共使用79个信道,每个带宽为1MHz.
发送站使用一个伪随机码生成器生成跳频的序列,数据传输就发生在相应的信道上,在每个信道上的传输时间可以用参数(停留时间)来指定.
如果接收站使用相同的种子数(seed)来生成伪随机码,并在信道上停留相同的时间,那么就会和发送站跳到相同的信道上,从而成功接收数据.
在这里,种子数和停留时间是两个非常重要的参数,不知道这两个参数是不可能接收到数据的.
跳频扩频提供了一种动态分配信道的方法,而且安全性好,抗干扰性强,常用于建筑物之间的通信,其缺点是带宽太低.
直序扩频(DSSS):其方法有些类似CDMA,但不完全相同.
每个比特用一个11位的Barker码序列传输,在1Mbaud的信号速率上使用相位调制,当工作于1Mbps速率时,每波特携带1比特,而当工作于2Mbps速率时,每波特携带2比特.
正交频分多路复用(OFDM):工作于5GHzISM频带,共使用52个信道,48个用于数据传输,4个用于同步,每216个数据比特被编码为一个288比特的符号,并被分到多个信道上同时传输.
这是802.
11a使用的传输技术,最高速率可以达到54Mbps.
将一个数据信号分到多个较窄的信道上传输,可有效抵御窄带干扰,并允许使用非连续的信道.
高速直序扩频(HR-DSSS):这是802.
11b使用的传输技术,工作于2.
4GHz频带,可以获得1,2,5.
5和11Mbps四种速率.
其中前两种速率及实现方法与DSSS兼容;当工作于1.
375Mbaud,每个波特分别携带4比特和8比特时获得后两种速率.
数据速率在通信过程中可以根据当前信道的负载及噪声条件动态调整到可能的最佳速率,事实上,802.
11b几乎总是运行在11Mbps速率上.
尽管其数据速率低于802.
11a,但通信范围是后者的7倍.
802.
11gOFDM:这是用于802.
11g的OFDM,它使用802.
11a中OFDM的调制方法,只是工作在2.
4GHz频带上,理论上它可以达到54Mbps,但实际上是否能达到还不清楚.
MAC子层由于无线局域网中的隐藏站点问题和暴露站点问题,再加上大多数的无线电收发装置是半双工的,即它们不能在发送的过程中进行监听,因此以太网中的CSMA/CD不能应用于无线局域网中.
802.
11支持DCF(不使用基站控制)和PCF(使用基站控制)两种操作模式,所有实现都必须支持DCF,但支持PCF是可选的.
在DCF模式中,802.
11使用CSMA/CA协议.
该协议支持两种操作,第一种操作类似于前面介绍过的CSMA,发送站在发送前监听信道,信道忙则推迟发送直至发现信道空闲,一旦信道空闲立即发送帧,但在发送的过程中并不检测冲突(因为可能无法检测),如果发生冲突,发送站使用二进制指数退避算法等待一段时间,然后再试.
第二种操作基于MACAW,发送站向接收站发送一个RTS帧请求发送,接收站发送一个CTS帧表示同意发送,然后发送站可以发送一个帧,并启动一个ACK计时器,接收站正确接收后必须返回一个ACK帧进行确认,若发送站的ACK计时器超时,则发送站重发.
收到RTS或CTS的站都用NAV信号通知自己的相关实体保持沉默,直至整个交换过程结束,保持沉默的时间可以根据RTS或CTS中给出的待发送帧或待接收帧的长度以及确认所需要的时间估算出来.
由于无线信道干扰比较大,使用长帧传输很容易出错,因此802.
11允许在发送前对帧进行分段,每个段携带自己的校验和,被单独编号和确认,并使用一种停-等协议来传输.
一旦发送站通过RTS和CTS获得信道后,他可以发送一系列的段,这一系列的段称为是一个段突发.
802.
11没有规定一个标准的段长度,但同一个cell中的所有站点必须使用相同的段长度,基站可以调整本cell中的段长度.
NAV机制只能确保发送站和接收站周围的站点保持沉默到第一个段被确认,要确保发送站连续发送一个帧突发需要使用其它的机制(帧间距机制).
在PCF模式中,基站用轮询法(polling)询问每个站有没有数据要发送,由于基站完全控制了各个站的发送顺序,因此不会有冲突产生.
标准规定了轮询的机制,但轮询的频度、次序及各站点是否获得平等的服务等均由实现来决定.
基站还要周期性地广播一个信标帧(beaconframe),帧中携带有诸如跳频序列、停留时间、时间同步等系统参数.
信标帧邀请新的站注册轮询服务,一旦一个站注册了一个恒定速率的轮询服务,则它就会获得所要求的带宽.
由于无线移动设备通常用电池供电,而电池寿命是人们非常关心的问题,因此基站还负责电源管理.
在空闲的时候,基站可令移动设备进入休眠状态,进入休眠状态的设备过后可被基站或用户唤醒,这也意味着基站必须缓存发往移动设备的帧.
DCF和PCF可以共存于一个cell中,这是通过帧间距机制来实现的.
在一次成功的帧传输后有一段空载时间(deadtime),不允许任何站发送数据.
802.
11规定了四种间隔时间(图4-29):SIFS:允许正处于会话中的站点优先发送,如允许收到RTS的站发送一个CTS,允许收到数据的站发送一个ACK,允许收到ACK的站继续发送后继的段而不用重新发送RTS;PIFS:在SIFS间隔后只有一个站点允许发送,如果这个站点没有发送,那么在PIFS后基站(PCF模式)可以发送一个信标帧或一个轮询帧;DIFS:如果基站没有发送,那么在DIFS后任何站都可以试图发送来竞争信道;EIFS:如果以上间隔都没有发送,那么在EIFS后收到坏帧或未知帧的站点可以发送一个帧报告错误.
尽管基于RTS和CTS的信道预约机制有助于降低冲突,但它也引入了时延和消耗了信道资源,因此该机制是可选的,仅用于为长数据帧预约信道.
在实践中,每个无线节点可以设置一个RTS门限值,仅当帧长超过门限值时,才使用RTS/CTS序列.
许多无线节点常将默认的RTS门限值设置得大于最大帧长,这样相当于未使用该机制.
若不使用RTS/CTS信道预约机制,CSMA/CA工作如下.
当一个节点有帧要发送时,首先侦听信道.
如果一开始就侦听到信道空闲,则在等待了DIFS时间后发送该帧(帧间间隔要求).
若信道忙,则选取一个随机的回退值,并在侦听到信道空闲时开始递减该值.
在此过程中若侦听到信道忙,则停止递减,并保持计数值不变.
当计数值减为0时(注意仅可能发生在侦听到信道为空闲时),该节点发送整个帧并等待确认.
若收到确认帧,表明帧发送成功;若还要发送下一个帧,从第2步开始CSMA/CA协议.
若未收到确认,节点重新进入第2步中的回退阶段,并从一个更大的范围内选取随机值.
我们可以看到CSMA/CA和CSMA/CD的差异.
在CSMA/CD中,当节点侦听到信道空闲时,立即就可以发送数据.
而在CSMA/CA中,当侦听到信道空闲时要推迟发送,尤其在第2步中要随机回退,这是为了减少冲突而采取的措施.
考虑这样一种情形,一个节点正在发送,而另外两个节点在侦听信道准备发送.
当信道上的发送一完成,两个等待的节点同时侦听到信道空闲.
如果它们都等待DIFS后立即发送,则肯定发生冲突.
由于CSMA/CA不检测冲突且发生冲突的代价很高,为了减少这种冲突的发生,令节点在侦听到信道忙后立即进入回退.
如果它们刚好选择了不同的回退值,则当信道空闲时会有一个节点先发送.
未发送的节点将冻结其计数值,并抑制发送直至前一个节点发送完成.
当然,如果两个节点选择了相同的回退值或者是相互隐藏的,则仍有可能发生冲突,这时可从一个更大的范围内选取回退值.
帧结构802.
11定义了三种类型的帧:数据帧、控制帧和管理帧,每种帧都有一个被MAC层使用的头,还有一些被物理层使用的头,下面只讨论MAC层使用的帧头.
数据帧格式如图4-30:帧控制:包括11个子域,版本号、帧类型、帧子类型、是否去往有线网络、是否来自有线网络、是否还有后继段、是否重发帧、功率控制(休眠/唤醒)、是否还有后继帧、是否加密、是否要按顺序处理;持续时间:本帧及其确认帧需要占用多长时间,可被其它站点用来估算NAV时间;地址:共有四个地址,包括源地址、目的地址、源cell地址和目的cell地址;序号:帧序号和段序号;数据校验和管理帧格式与数据帧格式类似,但只有一个cell地址(本cell的地址).
控制帧没有数据域和序号域,并且只有一或两个地址.
服务802.
11规定每个遵从该标准的无线局域网必须提供9种服务,这些服务分为两类,5种分发服务(distributionservice)和4种站服务.
分布服务管理cell成员关系,并与其它cell中的站点进行交互,站服务管理cell内的活动.
5种分布服务由基站提供,当移动站进入或离开cell时,这些服务将它们加入基站或从基站中分离.
建立联系(association):移动站使用该服务与基站建立联系.
当移动站进入一个新的cell后,立即通告它的身份与能力,能力包括支持的数据速率、需要PCF服务和功率管理要求等.
基站可以接受或拒绝移动站.
如果移动站被接受,它必须证明它的身份.
解除联系(disassociation):基站和站点都可以主动解除联系,从而中止它们之间的关系.
站点应当在关机或离开前使用该服务,基站也可以在进入维护前使用该服务.
重建联系(reassociation):站点可以使用该服务来改变它首选的基站.
当移动站从一个cell移动到另一个cell时,如果该服务使用得当,在切换过程中将不会丢失数据.
分发(distribution):该服务决定如何将发送到基站的帧发送出去.
如果目的站在同一个基站下,帧可被直接发送出去,否则必须通过有线网络转发.
集成(integration):如果一个帧需要通过一个非802.
11网络(具有不同的编址方法或帧格式)传输,该服务可将802.
11格式转换成目的网络要求的格式.
4种站服务在联系建立起来后使用,用于管理cell内的活动.
身份鉴别(authentication):由于无线通信很容易被未授权的站侵入,因此一个站必须在身份被验证后才允许发送数据.
当移动站与基站建立了联系后,基站会向移动站发送一个盘问帧(challengeframe),看它是否知道此前分配给它的密钥;移动站用自己所知的密钥加密盘问帧,然后发回给基站;如果基站检验正确,则该移动站就会被正式加入到cell中.
在最初的标准中,基站不需要向移动站证明自己的身份,现在正在考虑加入这一点.
解除鉴别(deauthentication):一个此前经过认证的站想要离开网络时,需要解除鉴别,一旦解除鉴别后它就不能再使用该网络了.
保密(privacy):为保证数据传输的机密性,数据必须被加密.
该服务处理加密和解密,规定的加密算法为RC4.
数据传递:数据收发服务.
由于802.
11仿造了以太网,而以太网上的传输是不可靠的,因此802.
11提供的数据传输服务也是不可靠的.
802.
11cell中的有些参数可以被检查和修改,如与加密、时间间隔长度、数据速率、信标频度等有关的参数.
8.
宽带无线(802.
16)(1)802.
16与802.
11的不同802.
16的全称是"固定宽带无线接入系统空中接口",但人们习惯上称之为无线城域网或无线本地回路.
虽然802.
11和802.
16都致力于宽带无线通信,但这两个系统有很大的区别.
802.
11主要是为个人移动用户提供Internet接入服务,而802.
16主要是为建筑物中的固定用户提供包括话音、视频、Internet接入在内的综合服务;802.
11是覆盖范围很小(通常在一个房间内)的专用网络,而802.
16是覆盖城区范围的公用通信网络,因此802.
16的安全保密要求要比802.
11高得多;在一个802.
11的cell中,用户数量不多,且每个用户要求的带宽也不太高,而一个802.
16的cell要支持上千户家庭,由于提供视频服务,每个用户的带宽要求可能很高,因此802.
16要提供比802.
11高得多的带宽,这使得802.
16必须工作在更高的频段上(10-66GHz);尽管802.
11支持实时通信,但并不是专门针对电话和视频服务设计的,而802.
16却不是这样,因此802.
16要求更好的服务质量.
简言之,802.
11的设计目标是使其成为一个移动的以太网,而802.
16的设计目标是使其成为一个无线然而是固定的有线电视系统,这之间的差别使得两者的设计非常不同.
802.
16与移动通信系统也不同,移动通信系统的目标是为个人移动用户提供电话与Internet接入服务,视频服务也不是重点.
(2)802.
16协议栈802.
16的协议栈很类似于ATM的风格,事实上它的设计目标、服务类型也都类似于ATM,因此其复杂性也类似于ATM.
物理媒体相关子层:这一层主要解决信号的传输.
传输会聚子层:这一层是向链路层屏蔽信号传输的细节.
安全子层:处理加密、解密和密钥管理,这一层只对传输的数据部分进行加密.
MAC子层公共部分:这是协议的主要部分,负责信道的管理.
在802.
16中,基站负责上、下行信道的调度.
与其它802MAC不同的是,802.
16的MAC层是面向连接的,目的是为了向电话业务和多媒体业务提供服务质量保证.
服务特定会聚子层:该子层代替了LLC子层,它的功能是提供与网络层的接口.
由于802.
16设计为可以与数据报协议(如IP、PPP、以太网)和ATM协议进行无缝衔接,但数据报协议是无连接的,而ATM是面向连接的,这意味着每一条ATM连接要映射到一条802.
16连接上,而IP分组也必须映射到一条802.
16连接上,该层主要处理这些内容.
(3)802.
16物理层10-66GHz波段的毫米波是直线传输的,信号能量随距离的增大而迅速衰减,因此802.
16使用了QAM-64、QAM-16和QPSK三种调制方式,分别用于距基站较近、中等距离和较远的用户站.
为了充分利用有限的物理带宽提供宽带传输,802.
16提供了灵活的信道分配方法.
802.
16可以使用频分双工FDD和时分双工TDD两种方案,频分双工是指为上下行通信指定不同的频带,同时双向传输;时分双工是指交替使用整个信道进行上下行通信.
图4-33是时分双工的例子,基站周期性地发出帧,每个帧包括上行和下行两部分,先是下行通信,然后有一段保护时间进行信道切换,最后是上行通信.
信道被分成一系列时隙,上下行通信各自占用的时隙数可以根据上下行通信所需要的带宽进行动态调整.
上下行通信中的时隙分配由MAC子层负责.
为了充分利用带宽资源,物理层还可以在一次物理传输中接连发送多个MAC帧,从而免去为每一个MAC帧进行物理层封装(前导码,物理帧头等)的开销.
802.
16的另一个特点是在物理层上使用了海明码进行前向纠错.
由于广域无线网络的误码率比较高,因此除了在高层使用检错码和自动反馈重传外,在物理层还使用了纠错码来改善信道的传输质量.
(4)802.
16MAC子层每个物理层帧由一些子帧组成,头两个子帧分别是下行传输和上行传输的映像,即指明哪些时隙是空闲的,以及哪些时隙携带了什么数据,其余子帧包含了MAC层帧.
下行传输映像中还包括各种系统参数,可以提供给新加入的站点.
下行信道的分配比较简单,因为只有基站在发送.
上行信道的分配则比较复杂,因为所有用户都会竞争发送,信道的分配与每个用户所要求的服务质量有关.
802.
16定义了四种服务,所有服务都是面向连接的,每个连接在建立时就要确定使用哪一种服务.
定比特率服务:用于传输未经恒压缩的语音,该服务要求在预定的时间内发送预定数量的数据,因此可通过给每个这样的连接指定专用时隙来实现.
实时可变比特率服务:用于传输经过压缩的多媒体信息或其它软实时应用,这些应用在每个时间段内要求传输的数据量可能不同,因此基站周期性地轮询这些用户,询问当前需要多少带宽.
非实时可变比特率服务:用于传输非实时的但流量比较大的数据,基站会经常轮询这些用户,但不是严格按周期来询问.
一个恒定比特率的用户也可以向基站请求轮询它,以便发送额外的数据.
如果一个用户站连续k次轮询没有响应的话,该站会被放入一个多播组,并且不再去单独询问它.
当多播组被轮询到时,该组中的任何站点都可以响应,竞争服务.
这样,流量小的站就不会浪费宝贵的轮询机会.
尽力服务:用于其它的数据传输.
使用这种服务的站点不会被轮询到,他们必须与使用该服务的其它站点竞争.
用户请求带宽时,必须在上行传输映像中标记为可用于竞争的时隙中发送带宽请求.
如果该请求被接受,在下行传输映像中会指示出来.
如果请求不成功,失败的站点使用二进制指数退避算法随机等待一段时间后再试.
站点定义了两种形式的带宽分配:每站分配和每连接分配.
在每站分配方式中,用户站综合所有用户的带宽需求进行集合申请,当被分配了带宽之后,再按一定的规则分配给各用户.
在每连接分配方式中,基站直接管理每个连接的带宽分配.
蓝牙蓝牙的最初目的是用短距离、低功率和廉价的无线收发器将计算设备与通信设备、外设等连接起来,后来又扩张它的目标涉足无线局域网领域,但它和802.
11系统是互相干扰的.
当IEEE在制定无线个人区域网标准(802.
15)时,采纳了蓝牙1.
0版本的规范,并作了一些修改.
值得注意的是,蓝牙是关于一个完整系统(从物理层到应用层)的规范,而802.
15只是标准化了物理层和数据链路层.
蓝牙体系结构蓝牙系统的基本单元是一个piconet,它由一个主节点和10米之内最多七个活跃的从节点组成,多个piconet可以共存于一个大的房间,并且可以通过一个桥节点连接起来,如图4-35.
互联在一起的一群piconet称为一个scatternet.
在一个piconet中,除了7个活跃的从节点外,还可以有多至255个停留节点,这些节点被主节点置于低功耗状态,以减少这些节点上的电源消耗.
当一个节点处于低功耗状态时,除了响应来自主节点的激活信号或信标信号以外,不能做任何其它事情.
还有两种处于中间的功耗状态分别是待机和嗅探,不在我们讨论的范围内.
采用主从设计的目的是降低蓝牙芯片的实现成本,其结果是从节点完全没有智能.
Piconet的核心是一个集中式的TDM系统,主节点控制时钟并且决定哪个从节点在什么时候可以通信.
所有通信都是发生在主节点和某个从节点之间,从节点之间的直接通信是不允许的.
(2)蓝牙服务大多数网络协议只是在通信实体之间提供信道,而由应用设计者决定使用这些信道来做什么.
但蓝牙1.
1规范定义了13种应用(称为profile),并且为每一种应用提供了一个不同的协议栈,从而使得蓝牙协议极其复杂.
这13种应用大致可分为四类,一类是为其它应用提供支撑服务的(1-4),第二类提供联网接入服务(5-7),第三类提供电话服务(8-10),第四类提供数据交换服务(11-13).
蓝牙协议栈蓝牙的分层模型与已有的任何一种模型都不同,IEEE正在对其修改以便能放进802模型中,基本的蓝牙协议栈模型如图4-37所示.
物理无线电层:处理无线电传输和调制,与OSI及802模型的物理层对应.
基带层:类似于MAC层,但也包含物理层的一些成份,主要涉及主节点如何控制时隙以及这些时隙如何组织成帧的问题.
这一层次主要负责逻辑链路的管理.
中间件层:这一层主要提供一些支撑服务和电话服务.
应用层:各种应用,每种应用有自己的协议子集.
蓝牙无线电层无线电层负责在主、从节点之间传输比特.
蓝牙是一种低功率的系统,辐射范围只有10米,工作在2.
4GHz频带上.
频带被分为79个带宽为1MHz的信道,每个信道采用频移键控的方法进行调制,数据速率为1Mbps.
为了公平地分配信道,采用跳频扩频的通信方式,跳频的频率为每秒1600次,停留时间为625微秒.
在一个piconet中,主节点规定跳频序列,所有节点同步地跳频.
由于802.
11和蓝牙工作在2.
4GHz频带的相同的79个信道上,这两个系统是互相干扰的.
如何解决这个问题,目前尚没有办法.
蓝牙基带层基带层和MAC层最相似,它将原始的比特流组织成帧,并定义一些重要的格式.
最简单地,主节点定义一系列宽度为625微秒的时隙,主节点允许从第偶数个时隙开始发送,从节点允许从第奇数个时隙开始发送,帧长可以是1、3或5个时隙长.
跳频时序允许每跳有250-260微秒的稳定时间,用于使无线电路稳定下来.
对于一个单时隙长的帧,在电路稳定后,在余下的366微秒时间内(即366比特),访问代码和帧头要占用126个比特,这样数据传输只能使用240比特.
如果5个时隙串在一起,则只需要一个稍短一些的稳定周期,在5个时隙内可用的比特数达到2781个.
因此,长帧比短帧效率要高.
每个帧是在主节点和一个从节点之间的逻辑链路(称为link)上传输的,有两种类型的链路:ACL和SCO.
ACL用于异步(非周期)地传输分组交换的数据,这些数据是在收发双方的L2CAP层之间传输的.
ACL流量以尽力方式传输,没有任何可靠性保证,帧可能会丢失.
一个从节点和它的主节点之间只能有一条ACL链路.
SCO用于实时数据传输(如电话连接),SCO链路在每个方向上被分配一个固定的时隙.
由于SCO链路的时间紧要特性,在SCO链路上传输的帧从不重发,而是使用前向纠错来提供高可靠性.
一个从节点和它的主节点之间最多能有三条SCO链路,每条SCO链路可传输一个64kbps的PCM话音信道.
SCO帧总是单时隙帧,即每个帧的数据部分都是240比特,其实际的载荷有80、160和240比特3种,蓝牙L2CAP层L2CAP层有三个主要的功能:数据包的分段与重组:发送端从上层接收最大长度为64KB的数据包,分段后组帧发送;接收端将各帧中的段取出后,重新组装成数据包交给上层.
数据包的复用与解复用:发送端将来自各个源的数据包放在同一条链路(ACL)上传输(复用),接收端将收到的数据包交给不同的上层实体去处理(解复用).
处理服务质量需求:如在链路建立时协商最大的载荷长度.
蓝牙帧结构典型的蓝牙数据帧结构见图4-38.
访问代码通常标识主节点;帧头包含了典型的MAC层域(地址、类型、流量控制比特、帧序号、确认序号、头校验),帧头有效部分只有18字节,重复三遍以提供前向纠错;数据域.
ACL帧的数据域有很多种格式,但SCO帧的数据域总是只有240比特,也就是说SCO帧总是单时隙帧.
这240比特中,有效载荷有80比特、160比特和240比特三种,其余比特用于纠错.
有效载荷为80比特的模式是最可靠的,因为80比特可以重复三次提供前向纠错.
由于从节点只能使用序号为奇数的时隙,因此从节点每秒可以使用800个时隙(1600跳/秒的一半),当采用有效载荷为80比特的模式时,从节点每秒可以传输64kbits数据,同样主节点也可以传输64kbits数据,刚好是一条全双工的PCM话路.
这意味着尽管一个piconet的原始带宽可以达到1Mbps,但是一条使用最可靠模式的、在每一个方向上均为64kbps的全双工话路会使整个piconet饱和.
当采用最不可靠模式时(有效载荷为240比特),可以同时支持三条全双工话路,因此每个从节点最多允许三条SCO链路.
10.
逻辑链路控制802.
2所有的802局域网标准都不提供对数据帧的确认,因此都不保证数据的可靠传输,这对有些业务(如IP)来说已经是足够了.
但是仍有某些系统要求链路层能够提供更好的服务,因此IEEE定义了一个可运行于所有802局域网上的逻辑链路控制协议LLC(802.
2),该协议向网络层隐藏了各种802局域网的差别,并提供了一个统一的接口.
LLC构成了数据链路层协议的上半部,而MAC构成了数据链路层协议的下半部,如图4-33.
802.
2的帧格式、接口及协议都非常类似于HDLC.
LLC帧包括目的访问点、源访问点、控制和信息四个域,其中源和目的访问点分别表示发送与接收该帧的协议实体,因此目的访问点实际上起到了DIX帧中类型域的作用,控制字段与HDLC的控制字段非常类似,但从实际使用的角度出发作了一些改变,其中的序号及确认仅在要求可靠传输的情况下使用.
LLC提供三种服务:不可靠的数据报服务,可靠的数据报服务及可靠的面向连接的服务,Internet只使用不可靠的数据报服务.
11.
数据链路层交换多个局域网可以通过网桥在数据链路层上互联起来,网桥检查帧头中的地址并决定如何转发.
局域网也可以通过路由器在网络层上互联起来,路由器检查数据包头中的网络层地址并决定如何转发.
由于链路层转发不检查帧的载荷部分,因此网桥可以转发任何一种网络层数据包.
但是网桥不能阻断广播帧的传播,因此通过网桥连接的所有局域网都属于同一个广播域,会造成广播帧在全网泛滥.
本章只讨论网桥.
使用网桥的几种典型情况:将各部门原有的局域网互联起来,实现更大范围的资源共享;将地理位置上相距较远的几个局域网互联起来;将逻辑上一个较大的局域网分成多个网段,降低每个网段上的负载,如图4-39;将地理位置上相距很远的站点各自组成局域网,然后用网桥互联;将一个大的网络用网桥隔成较小的几个网络,可提高全网的可靠性;将重要的网段用网桥与其它网段隔离,可提高被保护网段的安全性.
理想情况下网桥应该是透明的,即不需要人工干预而能够自动适应网络拓扑的变化,并且可以将不同类型的局域网互联在一起.
这些目标有时是能够到达的,有时则不然.
连接802.
x和802.
y的网桥网桥的工作原理,解释图4-40.
用网桥连接不同局域网的困难:帧格式不同:需要重新组帧,这不仅要花费CPU时间,重新计算校验和,还可能会在拷贝帧时由于内存位出错引入不可检测的错误.
源网络与目的网络的速率不匹配:高速的源网络向低速的目的网络传输,或者多个源网络向同一个目的网络传输时,要求网桥能够缓存大量的帧,这可能导致网桥内存不够而丢失数据.
最大帧长度不同:这是最为严重的问题,由于没有一个数据链路层协议处理帧的分片与重组,因此超过目的网络所能支持的最大长度的帧只能被丢弃.
安全措施:802.
11和802.
16均支持数据链路层加密,但是以太网不支持,这使得无线网络上可用的加密服务在以太网上不能得到.
服务质量:802.
11和802.
16使用不同的机制提供服务质量,前者使用PCF模式,后者使用恒定比特率连接,而以太网根本就不提供服务质量,因此当数据流从无线网络进入以太网时就无法保证其服务质量了.
透明桥即使只是连接相同类型的局域网(如以太网),也有不少问题需要解决.
理想中的网桥是这样的,只要将各个局域网接到网桥上,不需要做任何硬件或软件上的修改,不需要设置地址开关,不需要下载路由表或参数,整个系统就能正常工作,而且局域网的所有操作不受网桥的影响,这种网桥就是透明桥.
透明桥的工作原理:透明桥工作于混杂模式,接收与之相连的所有局域网上的帧;当收到一个帧时,根据帧的目的地址查找内部的一张转发表(哈希表),转发表记录了网桥已知的各个目的地址以及这些地址所属的输出线路;若目的地址所属的输出线路与帧到来的输入线路相同就丢弃该帧,否则从所属的输出线路上将帧转发出去;当网桥刚刚接入系统时,转发表是空的;当网桥收到一个去往未知节点(即该节点的地址不在转发表中)的帧时,就用扩散法转发出去;扩散法是将帧从除输入线路以外的所有线路上发送出去;网桥通过逆向学习法获知各个目的地址所属的输出线路,并更新转发表;逆向学习法就是通过检查收到的帧的源地址及输入线路来推知该地址所属的输出线路;为适应网络拓扑的变化(开机、关机、移动),转发表中的每一个入口都有一个时间项,记录最近来自于该地址的帧到达网桥的时间;网桥周期性地扫描转发表,将那些超过几分钟的入口清除掉.
综上所述,当网桥收到一个帧后,要进行以下处理:根据帧的源地址、输入线路及到达时间更新转发表;用帧的目的地址查找转发表:若输入线路与输出线路相同,丢弃该帧;若输入线路与输出线路不同,从输出线路上转发该帧;若目的地址未知,用扩散法转发该帧.
生成树(spanningtree)桥为了提高可靠性,人们往往在局域网间设置两个或多个并行的网桥,如图4-43,但这种配置在网络拓扑结构中形成了回路.
解决这个问题的办法是让各个网桥相互通信,并用一棵连接所有局域网的生成树覆盖实际的拓扑结构,如在图4-44(b)中去掉虚线所示的边就形成了一棵生成树.
为构成这样一棵生成树,各个网桥广播自己的序列号(这个序列号由厂家设置并且是全球唯一的),具有最小序列号的网桥被选举为生成树的根,接着按根到各个网桥的最短路径构造生成树.
如果某个网桥或局域网失败,则重新计算.
生成树算法在系统中一直运行,并根据网络拓扑的变化自动更新生成树.
远程桥网桥的一个较常见的用途是连接两个或多个相距较远的局域网,使它们像是在同一个局域网中一样.
实现方法可以是在每个局域网中设置一个网桥,然后用点到点线路(如租用的专线)将它们两两连接起来,如图4-45.
点到点线路上可以使用多种协议,较常见的是使用某种标准的点到点数据链路层协议,如PPP.
在两个局域网之间交换的帧在点到点线路上有两种传输方式:若源网络和目的网络类型相同(如都是以太网),这时可以将完整的MAC帧放在点到点线路的数据链路层帧的载荷中传输.
这种方式处理起来最简单,它避免了帧格式转换的麻烦,这种方式称为隧道.
若源网络和目的网络类型不同,则源网桥必须将MAC帧中的载荷部分(如LLC帧)取出,装入点到点线路的数据链路层帧的载荷中传输,接收端网桥再取出组装成目的网络上的MAC帧.
这种方式需要较多的处理开销,而且会由于网桥存储器中某个内存位的损坏引入不可检测的错误.
中继器、集线器、网桥、交换机、路由器和网关这些设备都是从一个端口接收数据,然后从另一个端口发送出去,那么这些设备之间有什么异同吗这些设备工作的层次见图4-46,其中中继器和集线器工作在物理层,网桥和交换机工作在数据链路层,路由器工作在网络层,网关工作在传输层及以上.
中继器和集线器:这两个设备都工作在物理层上,它们都不检查帧头.
中继器的作用是放大电信号,起延长电缆的作用.
集线器的作用相当于一条共享电缆,所有节点处于同一个冲突域中,并且必须以相同的速率发送和接收,集线器通常不放大电信号.
网桥和交换机:网桥和交换机都工作在数据链路层上,它们都要检查帧头中的目的地址来决定如何转发,它们内部都有多个线路卡,每个卡上都有多个端口,每个端口是一个单独的冲突域.
网桥用于连接多个局域网,网桥中的线路卡可以是不同类型的;而交换机通常用于连接多台计算机,它的线路卡必须是同一种类型的,且每块卡上的端口要比网桥多得多.
交换机通常工作于存储-转发模式,但为了加快转发的速度,也可以工作在cut-through模式,即交换机不用等到一个帧完全到达,在收到帧的目的地址,确定了输出端口后,就可以立即向输出端口转发.
但网桥只能工作在存储-转发模式,因为如果网桥连接的两个局域网不同的话,网桥还需要进行帧格式转换等工作.
路由器:路由器工作在网络层上,它根据分组头中的网络地址(如IP地址)来决定如何转发分组,路由器是看不到帧头信息的.
网关:网关工作在传输层及以上层次,传输网关和应用网关分别在传输层和应用层上进行协议转换.
虚拟局域网在一个大型的局域网里面,网络管理员通常倾向于按照机构组织而不是用户所在的物理位置来管理用户,也就是说物理位置邻近而属于不同机构的用户应当被连接到不同的局域网上.
集线器和交换机的出现使得这种网络配置成为可能.
为什么要将用户组织到不同的局域网上而不是放在同一个网中安全的需要.
由于每一个节点均可以被设置为工作在混杂模式,从而可以接收到网上传输的所有数据,因此将所有用户放在同一个网上是不安全的.
将属于同一个机构的用户放在一个网上,并且禁止网上传输的任何数据进入其它网络,就可以有效地防止信息泄露.
不同部门的网络在运行时互不干扰.
比如,使用带宽较多的部门不会挤占其它部门的资源.
阻断广播风暴.
许多高层协议使用了局域网的广播功能,如果所有用户都在一个网中,就会产生大量的广播包,从而消耗大量的网络资源,因此有必要限制广播域的大小.
用交换机或网桥将一个大网分隔成多个小网是一个办法,但为了保证传输的透明性,网桥必须能够转发广播帧(如透明桥需要广播去往未知节点的帧).
为方便用户管理,将网络的逻辑拓扑与物理拓扑分离是很必要的.
比如,当用户在单位内部更换工作岗位或者更换办公地点时,常常需要改变他所连接的网络.
如果每一次都需要网络管理员去把该用户对应的连接器从一个设备的端口拔下再插到另一个设备的端口上,这是非常麻烦的事情,而在一个大单位中这种改变是很频繁的.
为此,设备制造商们提供了用软件来重新配置网络的方法,这导致了虚拟局域网(VLAN)概念的产生.
一个虚拟局域网是位于物理局域网上的一个逻辑子网,它由所有配置为该VLAN成员的节点组成.
子网的概念将在第5章讨论,简单来说,子网是由所有IP地址前缀相同的节点组成的.
除非进行设置,各个逻辑子网之间是分离的,就像在同一个网络上构造出若干个独立的网络,因此称为虚拟网.
属于不同VLAN的节点是不能相互访问的,它们之间的通信一般要依赖于路由.
物理子网和逻辑子网的区别是,物理子网由连接到物理介质的所有节点组成,而逻辑子网由配置为该VLAN成员的节点组成,这些节点可能位于相同或不同的物理网络上.
但是它们在网络特性上是一样的,比如都需要一台路由器在各个子网之间通信.
VLAN技术能把一个物理局域网划分成多个虚拟局域网,多个虚拟局域网共享物理局域网的交换设备和链路,但在逻辑上像一个独立的局域网.
每个VLAN是一个单独的广播域,一个VLAN中的所有帧流量都被限制在该VLAN中,因而通过划分VLAN可以达到缩小广播域、对网络进行分段的目的.
其次,由于一个VLAN中的帧不会被其它VLAN中的主机接收到,因而通过划分VLAN网络的安全性也增加了.
最后,由于VLAN将数据流限制在一个指定的广播域中,所以不同VLAN内的节点如果不通过中间节点的话是不能进行相互通信的.
VLAN划分:目前主要有三种划分VLAN的方法:基于交换机端口进行划分,基于MAC地址进行划分,基于IP地址进行划分.
基于交换机端口进行划分是最常用的方法,网络管理员将某些交换机端口直接、强制性地分配给某个VLAN,几乎所有的交换机都支持这种划分方式.
采用这种方法划分的VLAN也称静态VLAN.
由于可以跨越交换机设置VLAN,这为按照用户工作范围或所属部门划分VLAN提供了方便,尽管这些用户可能位于不同的建筑物内或连接到不同的交换机上.
对于一些需要共享的公用设备,如服务器和打印机,可以将它们所连接的端口设置为公共端口,让它们属于所有的VLAN.
这样各个VLAN之间既相互隔离,保证各自的数据安全,又能共享设备,提高了设备的利用率.
基于端口的VLAN容易配置,实现简单,但自动化程度低,灵活性不好.
基于MAC地址进行划分是指根据用户节点的MAC地址来划分VLAN,是一种基于用户的网络划分手段.
管理员事先对所有的用户进行配置,即规定哪个MAC地址属于哪个VLAN,并将配置表保存在交换机的存储区中.
交换机端口根据帧的源MAC地址来确定其所属的VLAN,然后将端口动态地划分到相应的VLAN中.
这种方法的优点是当终端在不同的交换机端口间移动时,不需要重新配置VLAN,交换机能够自动识别和定义.
缺点是初始配置的工作量较大,且这种方式受到交换机端口所支持的MAC地址数量的限制(交换机端口用于存储MAC地址的容量是有限的),另外由于每个端口可能存在多个VLAN的成员,也无法有效地抑制广播帧.
基于MAC地址的VLAN也称为动态VLAN.
基于IP地址进行划分是指根据IP子网地址来划分VLAN.
我们将在第5章看到,每个IP单播地址包括子网标识(也称地址前缀)和主机标识两部分.
该方法利用了IP地址的层次结构,把属于同一个IP子网的节点(即具有相同IP地址前缀的节点)划分到同一个VLAN中,交换机通过检查数据包的源IP地址来确定端口属于哪一个VLAN.
虽然这种类型的VLAN建立在网络层地址的基础上,但交换机本身并不参与网络层的路由工作,因为交换机只是一个链路层设备.
交换机通过检查数据包的IP地址来确定所属的VLAN,然后利用生成树算法将包转发给下一个交换机.
这种方法的优点是当终端改变其IP地址或者在网络内部移动时,交换机能够自动识别和重新定义VLAN,不需要管理员的干预.
缺点是效率低下,因为检查每个数据包的网络层地址很费时,并且由于每个端口可能存在多个VLAN成员,也无法有效抑制广播帧.
另外,由于IP地址可以人为设置,使用该方法划分VLAN也会带来安全上的隐患.
IEEE802.
1Q为了正确地在各个VLAN之间转发帧,每个交换机都需要建立转发表,记录每个VLAN对应的端口(即通过这些端口可以到达VLAN的成员).
当一个帧到达时,交换机判断该帧属于哪个VLAN,查找转发表得到该VLAN对应的端口,然后在所有这些端口(到达端口除外)上转发帧.
如何知道一个帧属于哪个VLAN呢当然可以通过检查帧的到达端口、帧的MAC地址或数据域中的IP地址等信息(由VLAN的划分方法确定),然后查找VLAN的配置表来获悉,但每次转发都要检查这些内容是非常耗时的.
一种简单的方法是为每个VLAN分配一个标识,该标识在整个交换网内必须是唯一的,每个帧的头部都携带其所属的VLAN标识,这样交换机只要检查帧头的VLAN标识就可以知道这个帧所属的VLAN.
IEEE颁布了802.
1Q标准,规定了新的以太帧头格式,其中包含一个VLAN标签.
这产生了新的问题:我们需要抛弃已有的以太网卡吗如果不是,那么谁来产生这些新的域如果帧已经达到了最大长度,怎么办解决问题的关键在于我们要意识到,VLAN域实际上只由网桥或交换机来使用,用户计算机是不会使用的,因此只需要网桥或交换机支持VLAN和802.
1Q就可以了,当然我们也就不需要抛弃以太网卡了.
但是,我们希望新的以太网卡(如千兆网卡)能够支持802.
1Q并正确地填写VLAN域,这样当用户系统全都升级到千兆时,802.
1Q也就成了自然而然的事情了.
如果帧的生成者不产生VLAN域,那么谁来产生答案是由第一个接收到帧且支持VLAN的网桥或交换机添加上去,而由路径上最后一个这样的网桥或交换机去掉,它们可以通过前述的三种方法之一来为每个帧分配一个VLAN.
至于帧长度超过1518字节怎么办,802.
1Q的解决办法是将帧的最大长度提高到1522字节.
802.
1Q以太帧格式见图4-51,与传统的以太帧格式相比,增加了两个域(每个域2个字节):VLAN协议号和标签,标签中的VLAN标识表明该帧属于哪个VLAN.
在过渡时期,已有以太网与802.
1Q以太网共存,如图4-50.
支持VLAN的以太网卡直接生成带标签的帧;已有以太网卡生成的以太帧到达一个支持VLAN的交换机或网桥时,交换机或网桥根据自己对发送方VLAN的知识(端口,MAC地址或IP地址)构建一个新的带标签的帧;网桥或交换机查找一张以VLAN为索引的表以决定转发的端口,该表给出了去往各个VLAN的输出端口,以及这些端口是否支持VLAN;和透明桥类似,这张表也是由网桥或交换机自动生成和维护的;如果输出端口不支持VLAN,则网桥或交换机要将帧中新增的域去掉.
当交换机根据VLANID转发帧时需要一个转发表,这个转发表也是利用和透明桥一样的逆向学习法获得的.
每个交换机通过观察帧的VLANID和输入端口来获知网络中有哪些VLAN以及从哪些端口可以到达它们.
802.
1Q描述了动态建立转发表的方法.
RepriseHosting是成立于2012年的国外主机商,提供独立服务器租用和VPS主机等产品,数据中心在美国西雅图和拉斯维加斯机房。商家提供的独立服务器以较低的价格为主,目前针对西雅图机房部分独立服务器提供的优惠仍然有效,除了价格折扣外,还免费升级内存和带宽,商家支持使用支付宝或者PayPal、信用卡等付款方式。配置一 $27.97/月CPU:Intel Xeon L5640内存:16GB(原...
博鳌云是一家以海外互联网基础业务为主的高新技术企业,运营全球高品质数据中心业务。自2008年开始为用户提供服务,距今11年,在国人商家中来说非常老牌。致力于为中国用户提供域名注册(国外接口)、免费虚拟主机、香港虚拟主机、VPS云主机和香港、台湾、马来西亚等地服务器租用服务,各类网络应用解決方案等领域的专业网络数据服务。商家支持支付宝、微信、银行转账等付款方式。目前香港有一款特价独立服务器正在促销,...
这次RackNerd商家提供的美国大硬盘独立服务器,数据中心位于洛杉矶multacom,可选Windows、Linux镜像系统,默认内存是64GB,也可升级至128GB内存,而且硬盘采用的是256G SSD系统盘+10个16TSAS数据盘,端口提供的是1Gbps带宽,每月提供200TB,且包含5个IPv4,如果有需要更多IP,也可以升级增加。CPU核心内存硬盘流量带宽价格选择2XE5-2640V2...